classilla / tenfourfox

Mozilla for Power Macintosh.
http://www.tenfourfox.com/
Other
277 stars 43 forks source link

Locale installer #61

Closed GoogleCodeExporter closed 6 years ago

GoogleCodeExporter commented 9 years ago
This should be a (probably iHook-based?) executable that finds a locale and 
installs it. It should do the chrome.manifest changes itself so that multiple 
locales can be installed simultaneously, and copy the jars and dictionaries to 
the right places.

Original issue reported on code.google.com by classi...@floodgap.com on 3 May 2011 at 10:12

GoogleCodeExporter commented 9 years ago

Original comment by classi...@floodgap.com on 3 May 2011 at 10:14

GoogleCodeExporter commented 9 years ago
I think we'll just go with a .zip package.

Original comment by classi...@floodgap.com on 3 May 2011 at 10:14

GoogleCodeExporter commented 9 years ago
I've created a locale installer. It is based upon the Open(Libre)Office 
langpack installer. It use apple script and bash to process.

It locate an installation of TenFourFox, say if multiple copies are installed 
et verify that the selected app it the good one.

Then it uncompress the tarball.tar.bz2 is the archive with a relative path (for 
exemple /Contents/MacOS/dictionaries/fr.dic)

At the moment I did find the way to modify the about:config variable.

More info http://wiki.services.openoffice.org/wiki/Mac_OS_X_languagepacks

Original comment by narcoti...@gmail.com on 13 May 2011 at 10:46

GoogleCodeExporter commented 9 years ago
Some bugfix

Original comment by narcoti...@gmail.com on 13 May 2011 at 2:15

GoogleCodeExporter commented 9 years ago
Does this run on 10.4? I haven't checked it out yet.

Also, send me an E-mail to classilla at you know where so that I can add you to 
the project and give you credit.

Original comment by classi...@floodgap.com on 14 May 2011 at 5:42

GoogleCodeExporter commented 9 years ago
narcoti...@gmail.com: Great! I'm going to test this with different 
configurations, and if classic approves it, I would like to make a German 
version. Probably the easiest way is translating your french strings in the 
osascript directly, if you don't object. 

Two issues here: 

- I'm completely unexperienced with creating archives via the command line, so 
I may need help creating a .tar/bz2 archive (if .zip can't be used). Or can you 
recommend a GUI archiver app?

- What does the update.locale file do?

Generally, would't it be easier to prepare TFF for different languages and let 
people download the complete versions like on the FF download site?

Original comment by chtru...@web.de on 14 May 2011 at 5:57

GoogleCodeExporter commented 9 years ago
French langpack installer works fine in 10.4. Does what it should do. Couldn't 
find any bugs except: Shouldn't the button read "Anuler" oder "Quitter" instead 
of "Installer" when an invalid application is selected?

Original comment by chtru...@web.de on 14 May 2011 at 3:18

Attachments:

GoogleCodeExporter commented 9 years ago
Thanks chtru...@web.de, I correted the abort button.

- For the tar.bz2 archive you can make it with the GuiTar utility. Compress 
your "Contents" folder in tar, then compress your Contents.tar archive in bz2. 
Rename it "tarball.tar.bz2".

- Update.local is used for the official update process. I don't know if it is 
useful but just in case I chose to translate it.

For a quicker translation you can use LibreOffice langpack german's strings.

Original comment by narcoti...@gmail.com on 14 May 2011 at 5:20

GoogleCodeExporter commented 9 years ago
Here's the German version. Thanks, narcoti...@gmail.com for your help. 

What I did in addition: 
- Changed info.plist strings to TTF-relevant information. 
- Made clear in the application name and the installer script that TFF 4.0.1 is 
needed. (Alternatively, can't we just check for TFF 4.0.x and make a new 
langpack for TFF 5.0 if nothing has changed?)

Original comment by chtru...@web.de on 15 May 2011 at 9:32

GoogleCodeExporter commented 9 years ago
Cleaned-up version.

Original comment by chtru...@web.de on 15 May 2011 at 10:18

GoogleCodeExporter commented 9 years ago
Updated for TenFourFox 4.0.2x (works on all pre/beta/final versions).

Original comment by chtru...@web.de on 19 May 2011 at 11:20

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Here is th V.1 beta of french localization for TFF 4.0.1. Now capable to update 
your profile and set the correct general.useragent.locale.

Change log :

- force TFF to quit before installation and profil updating
- Update all firefox profiles with general.useragent.locale "fr" string
- New dialogs in the installation process
- some bugfix
- Info.plist update (thanks chtru...@web.de)

Original comment by narcoti...@gmail.com on 21 May 2011 at 5:24

GoogleCodeExporter commented 9 years ago
Works nicely. 

Is there a technical reason why you include an uncompressed "contents" folder 
(in addition to the tar/bz2 archive) plus an uncompressed locale folder (in 
addition to the jar) in the application? Have I overlooked something?

Original comment by chtru...@web.de on 21 May 2011 at 6:25

GoogleCodeExporter commented 9 years ago
BTW, what happens if the user does not have a "Firefox" folder in Application 
Support? For example, if they installed a new Mac OS XC system/User, downloaded 
TFF from Safari and wanted to switch it to their language before opening TFF 
for the first time.

Original comment by chtru...@web.de on 21 May 2011 at 6:33

GoogleCodeExporter commented 9 years ago
Here is the beta 2.

Change log :
- added the line : pref("general.useragent.locale", "fr"); in 
MacOS/defaults/perfs/firefox-l10n.js for a default french localization if TFF 
was never lunch
- added try/end try for ignore profile updating if no profile was created (TFF 
never launched)
- remove the useless contents folder in the installer's package (was there for 
testing)

Original comment by narcoti...@gmail.com on 27 May 2011 at 10:19

GoogleCodeExporter commented 9 years ago
Excellent solution. I tested it with any condition I could think of, and it 
works beautifully. Thank you! I'll make a German version later today.

Original comment by chtru...@web.de on 27 May 2011 at 10:59

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
First not enough tested version of the drag'n drop installer.

Original comment by narcoti...@gmail.com on 27 May 2011 at 11:25

GoogleCodeExporter commented 9 years ago
I think we should create a drag'n drop locale installer. It would me more user 
friendly. What do you think about it ?

Original comment by narcoti...@gmail.com on 27 May 2011 at 11:27

GoogleCodeExporter commented 9 years ago
To be honest, I'm more a fan of the installer application. For the droplet, 
users have to open a Finder window, locate their TFF application and drag it 
onto the droplet. If they don't understand what a droplet is, they'll try to 
lauch it (thinking it's an installer), it doesn't do anything -> they come here 
and complain. Most people don't read instructions, they just doubleclick what's 
on their desktop.

Original comment by chtru...@web.de on 27 May 2011 at 11:41

GoogleCodeExporter commented 9 years ago
Here is the German language pack installer application for TenFourFox 4.0.2x. 
(corresponds to TFF FR langpackV1.0Beta2)

——Documentation——

- Quits TFF if it's running
- Looks for TFF.app(s) and lets the user chose one if applicable
- Checks if TFF version is correct
- Adds /chrome/de.jar, de.manifest, /dictionaries/de-DE.aff, de-DE.dic
- Replaces /chrome.manifest (de), /defaults/pref/firefox-l10n.js 
(useragent.locale de)
- Looks for user profile(s) in ~/Application Support/Firefox and writes 
general.useragent.locale de in prefs.js

- de.jar contains German FF4/Intel files except 
/branding/brand.dtd, brand.properties: TFF
/de/mozapps/update/updates.dtd (manual update strings)
/browser/baseMenuOverlay.dtd (Check for updates… string)
/browser/aboutDialog.dtd (TFF's own dialog)

Original comment by chtru...@web.de on 27 May 2011 at 4:28

GoogleCodeExporter commented 9 years ago
Tested with TFF 4.0.2 final & shortened some wordy strings.

To me, the installer app now seems pretty much feature complete and stable, and 
should be tested and evaluated by a broader range of users.

Original comment by chtru...@web.de on 29 May 2011 at 6:54

GoogleCodeExporter commented 9 years ago
Works perfect with T4F 4.0.2, thanks. I made a try with T4F 5.0 beta 2, by 
tranferring the languagefiles manually. This is not working ? Are you planning 
a german installer for 5.0 ?

Original comment by alpha...@goldmail.de on 14 Jun 2011 at 8:41

GoogleCodeExporter commented 9 years ago
Yes, there will be a German Installer App once Firefox 5 and TFF 5 (final 
versions) are out. There are some changes in FF/TFF 5 compared to 4.0.x, making 
new language files necessary. Also, a handfull of other things must be changed 
in the browser app and the user profile when switching the language.

Original comment by chtru...@web.de on 14 Jun 2011 at 8:59

GoogleCodeExporter commented 9 years ago
French Locale Installer for TFF4
(needs to be tested)

====
Changelog

do shell script "grep '<string>TenFourFox 4.0.2'   " & quoted form of (choice 
as string) & "/Contents/Info.plist"
To ensure 4.0.2 compatibility.

Original comment by narcoti...@gmail.com on 15 Jun 2011 at 11:25

GoogleCodeExporter commented 9 years ago
German language pack installer app for TFF 5.0. Made from German FF-Intel 5.0RC 
("5.0b7", but this really seems to be the RC).

Changelog:
- all locale/.jar files are from German FF5.0
- translated new TFF 5.0 About Dialog (thanks for the credit)
- chrome.manifest (de) and defaults/pref/firefox-l10n.js (de) from TFF5.0

Original comment by chtru...@web.de on 17 Jun 2011 at 8:14

GoogleCodeExporter commented 9 years ago
Thanks for your "good job", just installed it without any problems on TFF 5.0 
RC. :-))

Original comment by alpha...@goldmail.de on 20 Jun 2011 at 11:20

GoogleCodeExporter commented 9 years ago
German language pack installer app for TFF 4.0.3.
For TFF 5.0 final, the installer from comment 27 can be used.

Original comment by chtru...@web.de on 21 Jun 2011 at 1:17

GoogleCodeExporter commented 9 years ago
need the french language pack installer for TFF 5.0 . 

Original comment by skander....@gmail.com on 24 Jun 2011 at 7:14

GoogleCodeExporter commented 9 years ago
I've modify the french language pack installer (TFF4.0.2FR LangpackV1.1b) for 
TFF 5.0
It works 

Original comment by hervetu...@gmail.com on 1 Jul 2011 at 10:21

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
hervetu...@gmail.com thanks it works but an error in the about dialog :

Original comment by skander....@gmail.com on 1 Jul 2011 at 8:46

GoogleCodeExporter commented 9 years ago
@all: Do *not* install the french langpack from comment 31.

@hervetu...@gmail.com: Please read this entire thread, and also issue 42, for 
hints how to make a correct jar file and a correct language pack installer. If 
you just take the installer app for 4.0.2 and remove the version checking 
routine (which is there for a reason), it won't work right.

Original comment by chtru...@web.de on 1 Jul 2011 at 9:58

GoogleCodeExporter commented 9 years ago
@chtru...@web.de i have installed and now removed the french langpack from 
comment 31 .

who can make it right and correct the about dialog this is the error  need TFF 
5.0 Urgent :

Erreur d'analyse XML : entité non définie
Emplacement : chrome://browser/content/aboutDialog.xul
Numéro de ligne 44, Colonne 11 :          ©right.blurb;
----------^

Original comment by skander....@gmail.com on 2 Jul 2011 at 9:46

GoogleCodeExporter commented 9 years ago
Please be patient. It's actually a lot of work to do this.

Original comment by chtru...@web.de on 2 Jul 2011 at 9:43

GoogleCodeExporter commented 9 years ago
German langpack installer for TFF 6.0.1. There will be no German version of 
6.0, so please update to 6.0.1 first.

Original comment by chtru...@web.de on 7 Sep 2011 at 5:37

GoogleCodeExporter commented 9 years ago
Cameron, TFF 7.x now has two executables inside (firefox-bin and firefox). 
Which of them is the right one to kill with the langpack installer script when 
we want to make sure the application isn't running while it (and the user 
profile) are being modified? For TFF 4.x - 6.x we do it this way:

try
    do shell script ("killall -kill firefox-bin")
end try

(The script asks the user to save their work and quit TFF first, just in case 
they ignore it the app is killed).

Original comment by chtru...@web.de on 23 Sep 2011 at 3:14

GoogleCodeExporter commented 9 years ago
If you're planning to have the installer still work for 4-6, then specify both, 
i.e.,

killall -kill firefox-bin firefox

If it's just 7, then kill firefox (firefox-bin is going away).

Assigning control to you, since I haven't heard from narcotix.

Original comment by classi...@floodgap.com on 23 Sep 2011 at 6:03

GoogleCodeExporter commented 9 years ago
Thanks! It's just 7 – the installer app is version specific. One could extend 
it to cover all previous versions with different tarballs (would be user 
friendlier), but I have no idea how to script that without Narcotix's help. For 
the time being, I'd rather not mess with it and keep the installer in the 
stable state it's in right now.

Original comment by chtru...@web.de on 23 Sep 2011 at 6:26

GoogleCodeExporter commented 9 years ago
It would be easy to do an "all version installer" I'll check that as soon as I 
find some time...

Original comment by victorie...@gmail.com on 26 Sep 2011 at 10:37

GoogleCodeExporter commented 9 years ago
New installer script.

Can install multiple translation strings.

You have to make a specific tarball for each translation for exemple
tarball6.0.1.tar.bz2
tarball4.0.2.tar.bz2

and correct the list :
set TFFVersions to {"4.0.2", "6.0.1"} 

That needs to be tested.

Victorien

Original comment by victorie...@gmail.com on 26 Sep 2011 at 12:06

Attachments:

GoogleCodeExporter commented 9 years ago
Hm, it doesn't seem to be working quite right. Even if I feed it with the 
correct property list items

set VersionKey to value of property list item 7
set BundleName to value of property list item 3

it's still not happy with the version number. I.e. when I say 

set TFFVersions to {"4.0.3", "5.0", "6.0.1"}

none of these is accepted. The bundle name is accepted, though ("true").

Original comment by chtru...@web.de on 26 Sep 2011 at 2:27

GoogleCodeExporter commented 9 years ago
Just tested with 4.0.2 and 6.0.1. It works well. Are you sure you have a 
tarball4.0.2.tar.bz2 for 4.0.2 tarball6.0.1.tar.bz2 for 6.0.1 etc ?

Original comment by victorie...@gmail.com on 26 Sep 2011 at 2:39

GoogleCodeExporter commented 9 years ago
Yes, I'm sure. Can you upload your complete installer app so I can see what I'm 
missing?

Original comment by chtru...@web.de on 26 Sep 2011 at 3:26

GoogleCodeExporter commented 9 years ago
The installer app joined for test only.
It use french locale for 4.0.2
and your german locale for 6.0.2

Original comment by victorie...@gmail.com on 26 Sep 2011 at 3:45

GoogleCodeExporter commented 9 years ago
I'm sorry, it still doesn't work here. The installer script doesn't recognize 
TFF 4.0.2 as a valid installation. Also, there is no TFF 6.0.2 (yet).

Can someone else test this please and report if it works? Download 4.0.2 here
http://code.google.com/p/tenfourfox/downloads/list

I have no idea what's wrong here.

Original comment by chtru...@web.de on 26 Sep 2011 at 4:25

GoogleCodeExporter commented 9 years ago
Sorry I wrote 6.0.2, I should have wrote 6.0.1.

Could you just add in the script just after

tell application "System Events"
    tell property list file thePListPath
        tell contents
            set VersionKey to value of property list item 4 -- the version returned in 4.0.1 form
            set BundleName to value of property list item 6 -- the identifier string must be "com.floodgap.tenfourfox"

        end tell
    end tell
end tell

display dialog VersionKey

And tell me what it return ?

Thanks

Original comment by victorie...@gmail.com on 26 Sep 2011 at 5:00

GoogleCodeExporter commented 9 years ago
When I run the installer app itself with that command inserted, it doesn't 
return anything and just crashes. If I run it from the SCript Editor, it returs 
an Applescript error message:

Can’t make {{|CFBundleTypeIconFile|:"document.icns", |CFBundleTypeName|:"HTML 
Document", |CFBundleTypeOSTypes|:{"HTML"}, |CFBundleTypeExtensions|:{"html", 
"htm", "shtml", "xht", "xhtml"}, |CFBundleTypeRole|:"Viewer"}, 
{|CFBundleTypeIconFile|:"document.icns", |CFBundleTypeName|:"Text Document", 
|CFBundleTypeOSTypes|:{"TEXT", "utxt"}, |CFBundleTypeExtensions|:{"text", 
"txt", "js", "log", "css", "xul", "rdf"}, |CFBundleTypeRole|:"Viewer"}, 
{|CFBundleTypeIconFile|:"fileBookmark.icns", 
|CFBundleTypeName|:"document.icns", |CFBundleTypeOSTypes|:{"GIFf", "JPEG", 
"PNGf"}, |CFBundleTypeExtensions|:{"jpeg", "jpg", "png", "gif"}, 
|CFBundleTypeRole|:"Viewer"}} into type string.

Original comment by chtru...@web.de on 26 Sep 2011 at 5:35

GoogleCodeExporter commented 9 years ago
If I change (because right now the script really does call the wrong items from 
the info.plist)…

set VersionKey to value of property list item 7 -- the version returned in 
4.0.1 form
            set BundleName to value of property list item 3 -- the identifier string must be "com.floodgap.tenfourfox"

…I get returned 4.0.2 in the dialog. But it still isn't valid. 

Tested on 10.5.8/G4 7450 and 10.4.11/G3 with the appropriate TFF versions.

Original comment by chtru...@web.de on 26 Sep 2011 at 5:41