[OUTDATED]

The l10n of Pale Moon. Rawr.

Moderator: satrow

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 24200
Joined: 2011-08-28, 17:27
Location: 58°2'16"N 14°58'31"E
Contact:

[OUTDATED]

Unread post by Moonchild » 2013-02-14, 09:02

This is outdated information. DO NOT use it for reference. this thread is kept for historical purposes only.

Helping with localization:

Since Babelzilla pretty much exploded on me with an update for v19.0, I'm doing localization different from here on out. You can either use babelzilla by going to the WTS system of that site and do the translation there (may be easier or less involved for you):
Core strings: http://www.babelzilla.org/index.php?option=com_wts&Itemid=0&type=show&extension=5644
Status bar: http://www.babelzilla.org/index.php?option=com_wts&extension=5673&type=show
Note: you will have to create a translator account there if you don't have one yet.

or, if you want to help with the l10n of Pale Moon, without registering there or using the WTS, you have to:
  1. Sign up as a user of this forum
  2. Get the attached Pale Moon .dtd files
  3. Translate the strings in the .dtd and .properties files as applicable (see below)
  4. Save the file, making sure it is saved as UTF-8 (code page 65001), either with or without signature
    This is really important. I cannot use OEM/ANSI or custom code page files.
  5. Upload the resulting .dtd files as an attachment to a post in this localization board. To keep things organized, make one single thread for each language, and stated the language code in the subject, e.g. [ja] Pale Moon 19.0 language pack
  6. Preferably, have someone else look over the translation for review. Good quality translations always have a separate proofreader go over it.
Current status:

Core strings:

Languages have parts localized that have been done by the Mozilla Firefox team, but with some Pale Moon specific strings in English (which is what this localization effort is all about).

The current set of files is valid for v25.4 and later (for now).
Right-click and save:
en-US.zip
(6.6 KiB) Downloaded 106 times
Status bar:

Currently, an update is needed for this code, please check babelzilla to help with this project!


Translating the strings:

It is important that you only translate the text that is translateable, and do not touch the actual entity names. e.g. if the palemoon.dtd file has the following entry in it:

Code: Select all

<!ENTITY palemoon.smoothscroll.params.label          "Smooth scrolling parameters">
then you only touch the part between double quotes, and leave everything else intact. Into Spanish, for example:

Code: Select all

<!ENTITY palemoon.smoothscroll.params.label          "Parámetros de desplazamiento suave">
For properties files, you translate only the part after the equal sign, e.g.:

Code: Select all

PalemoonSmoothscrollParams=Parámetros de desplazamiento suave
Last edited by Moonchild on 2015-05-17, 09:08, edited 10 times in total.
City of Heroes public server: https://www.moonshard.org/ -- Vote for it on cohservers.com

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne
Image

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 24200
Joined: 2011-08-28, 17:27
Location: 58°2'16"N 14°58'31"E
Contact:

Re: Get your files for localization and instructions HERE

Unread post by Moonchild » 2014-09-19, 18:30

IMPORTANT UPDATE:
With Pale Moon diverging from Firefox and string differences becoming inherently larger, I'm looking at setting up a full localization system for Pale Moon independently from BabelZilla (removal from BabelZilla also by their request "if pale Moon is parting from Firefox").

This means that after the next release I will have to put some time in either finding or creating a framework of my own for translators to work in to help localize Pale Moon's language packs and status bar strings. If you have any hints or tips for such a system or framework that can be used independently of Mozilla and Mozilla infrastructure (that BabelZilla runs on these days) I would appreciate it if you could share it with me. I assume most volunteer translators don't have access to professional translation software like Trados, so it'll likely have to be something standalone or web-based.

I'll add more details when they become available.
City of Heroes public server: https://www.moonshard.org/ -- Vote for it on cohservers.com

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne
Image

User avatar
KNTRO
Astronaut
Astronaut
Posts: 636
Joined: 2013-01-01, 10:46
Location: ᴀᴍéʀɪᴄᴀ ʟᴀᴛɪɴᴀ
Contact:

Re: Get your files for localization and instructions HERE

Unread post by KNTRO » 2014-09-20, 02:42

Hi there,

I'm a localizer for some different projects so I have to deal with different translation systems. I'm gonna just name them so you can take a look at them if interested.

Some add-ons like Adblock Plus and Turn Off The Lights use Crowdin. Some websites like webcams.travel, Lookr and Netvibes are using Poedit [standalone client & web interface]. Then, Pidgin uses Transifex and AIMP has its own Localization Editor — in the later case, you should ask Artem Izmaylov [AIMP's creator] if you could use his localization tool with Pale Moon, if wanted.

I may forgetting some other. If I remember something more, I'll add it here.

Best!

UPDATED
Well, Netvibes' actually using Pootle from Translate House.
”kulupu li wile e sama mute e ken mute ala la, kulupu li jo e mute ala pi ijo tu.
kulupu li wile e ken mute e sama mute ala la, kulupu li jo e mute pi ijo tu.”
jan Miton Piman

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 24200
Joined: 2011-08-28, 17:27
Location: 58°2'16"N 14°58'31"E
Contact:

Re: Get your files for localization and instructions HERE

Unread post by Moonchild » 2014-09-20, 11:27

Thanks for the suggestions, KNTRO.
A quick look makes both Crowdin and Transifex a little expensive for use considering the size of the language pack. Pootle looks promising but their website has almost no information on it. How is a software dev supposed to get a handle on what they offer? ;)

AIMP is likely something very similar to what I would write myself, and likely specifically catered to the program it's for and its individual language file formats. So I wouldn't be able to use it.
City of Heroes public server: https://www.moonshard.org/ -- Vote for it on cohservers.com

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne
Image

riiis
Lunatic
Lunatic
Posts: 444
Joined: 2014-05-17, 15:51
Location: USA

Re: Get your files for localization and instructions HERE

Unread post by riiis » 2014-09-20, 20:43

Moonchild wrote:Thanks for the suggestions, KNTRO.
A quick look makes both Crowdin and Transifex a little expensive for use considering the size of the language pack. Pootle looks promising but their website has almost no information on it. How is a software dev supposed to get a handle on what they offer? ;)
Is there an insurmountable technical problem, such that all language packs must be reconstituted or reinvented for Pale Moon, separate from Mozilla Firefox's existing language packs? It seems it would be easier, quicker, and cheaper to use existing Firefox language packs, such as "version 28.0", unchanged out of the box. Then tack on the additional and separate language file(s) to handle Pale Moon exceptions.

It would be best if such separate Pale Moon language file(s) were searched first, by Pale Moon, for the translation. If the translation key was not found in the Pale Moon language file(s), then the translation should be found in the respective Firefox language pack files. When the Pale Moon version is changed, the Firefox language pack should remain the same version and not be changed (I would suggest the most compatible Firefox language pack version be selected as this base translation, from among version 24 to version 28). That is, only the separate Pale Moon language files should ever be updated and changed.

If a Firefox language pack exists for a particular locale/language, but the related Pale Moon translations do not exist or are incomplete-- then the separate Pale Moon language file(s) should be furnished wholly or partially in English (until a complete translation is available). The separate Pale Moon language file(s) should be in plain text, so even casual users can complete the translations (and perhaps upload or "mail it in" to Pale Moon). I don't know how many unique strings Pale Moon would have in its separate language files. But, it may be so few in number as to require minimal or no use of separate software.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 24200
Joined: 2011-08-28, 17:27
Location: 58°2'16"N 14°58'31"E
Contact:

Re: Get your files for localization and instructions HERE

Unread post by Moonchild » 2014-09-20, 20:58

riis: that is exactly what I've been doing so far, but with the divergence getting greater, this becomes a problem. The Firefox language packs can be used as a base, and have been as such, with a "patch" dtd for changed strings in the browser itself, but this is starting to get rather silly. I have to start including the patch dtd in more and more XUL files which is a maintenance nightmare as well as becoming a waste of resources.

This is why I want to move to Pale Moon specific l10n, with its own maintained language packs and localization, and no longer using Firefox as a base with a "patch" dtd. Of course a lot of the work has already been done and the Firefox l10n strings can and will be used in the Pale Moon language packs like before, with additional strings being put in their rightful dtd files instead of just heaped together with whatever other strings there are in the "patch" dtd to be included.

I want to reorganize l10n therefore, and set up something to do proper, independent localization on Pale Moon language packs as being Pale Moon language packs in their own right. For that, I need a framework for translators to work in, where they can submit translations. I'd prefer using Trados TagEditor or similar formats but I'm aware that volunteer translators likely won't have access to that kind of software, so I need to find something accessible and within Pale Moon's budget range ($100/month just for l10n that's likely only an issue for major releases is just not possible) to work with. That is why I'm looking for hints as to what is available for FOSS, since BabelZilla isn't exactly suited for anything but extensions.
City of Heroes public server: https://www.moonshard.org/ -- Vote for it on cohservers.com

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne
Image

User avatar
KNTRO
Astronaut
Astronaut
Posts: 636
Joined: 2013-01-01, 10:46
Location: ᴀᴍéʀɪᴄᴀ ʟᴀᴛɪɴᴀ
Contact:

Re: Get your files for localization and instructions HERE

Unread post by KNTRO » 2014-09-22, 15:08

Moonchild wrote:Thanks for the suggestions, KNTRO.
Pootle looks promising but their website has almost no information on it. How is a software dev supposed to get a handle on what they offer? ;)
Whaddcha mean? Haven't ya clicked on the Products link? They published some documentation for every product too. I can't tell if that documentation is either complete or even relevant though. :mrgreen:

Best.
”kulupu li wile e sama mute e ken mute ala la, kulupu li jo e mute ala pi ijo tu.
kulupu li wile e ken mute e sama mute ala la, kulupu li jo e mute pi ijo tu.”
jan Miton Piman

riiis
Lunatic
Lunatic
Posts: 444
Joined: 2014-05-17, 15:51
Location: USA

Re: Get your files for localization and instructions HERE

Unread post by riiis » 2014-09-22, 21:15

The Pale Moon language pack add-on at BabelZilla is not a "type 2" add-on (i.e. a normal extension, not a language pack or theme), and thus is somewhat incompatible with that website. So, I've written a "type 2" add-on that is compatible with BabelZilla, and perhaps with your needs. BabelZilla's translators could certainly use the add-on to build, modify and test their palemoon.dtd files.
Palemoon DTD.xpi
Extension for use at BabelZilla
(32.29 KiB) Downloaded 142 times
This add-on ("Pale Moon DTD 1.0") opens the palemoon.dtd locale/translation files, downloaded from BabelZilla, and compares these translated strings to the "en-US" locale. All locales, except "en-US", had missing strings, and thus wouldn't work unmodified. Accordingly, I added these missing strings (untranslated) to the bottom of each respective locale's palemoon.dtd file, and all downloaded BabelZilla locales now work.

Note that if your computer is already using English, the add-on will be comparing English-to-English. So, switch to another language, and/or install additional Pale Moon Language Pack(s), to observe full usefulness of this add-on. Note also, the add-on does not change files, or provide any output. However, users can copy and paste text from the text fields to their notes or notepad.

"Pale Moon DTD 1.0" runs on Pale Moon 24-25, or on any version of Firefox from FF24 to the current FF Nightly.

I also modified "Pale Moon DTD 1.0" to view palemoon.dtd files that are currently installed on the user's computer, using Pale Moon Language Pack(s). To operate, this add-on ("View Pale Moon Language Packs 1.0") requires either Pale Moon 24 or Pale Moon 25.
ViewPalemoonLP.xpi
Extension to view palemoon.dtd in installed Pale Moon Language Packs
(5.36 KiB) Downloaded 128 times

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 24200
Joined: 2011-08-28, 17:27
Location: 58°2'16"N 14°58'31"E
Contact:

Re: Get your files for localization and instructions HERE

Unread post by Moonchild » 2014-09-23, 08:39

KNTRO wrote:Whaddcha mean? Haven't ya clicked on the Products link? They published some documentation for every product too. I can't tell if that documentation is either complete or even relevant though. :mrgreen:
Yeah, you click products and you get a single sentence description of the product... :P
And the documentation is mostly about setting up and administering your own server, not about the product itself, what you can do with it, how it works, etc. :eh:
In addition it seems that they control the translation memory server that every pootle instance uses (meaning I'd be relying on their server to be able to use pootle on my server) and they can possibly use the translations in it for other things (do I want that...?). And setting up your own TM server is not really supported or properly documented by them even if the TM software is offered for use...
City of Heroes public server: https://www.moonshard.org/ -- Vote for it on cohservers.com

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne
Image

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 24200
Joined: 2011-08-28, 17:27
Location: 58°2'16"N 14°58'31"E
Contact:

Re: Get your files for localization and instructions HERE

Unread post by Moonchild » 2014-09-23, 08:44

riiis wrote:The Pale Moon language pack add-on at BabelZilla is not a "type 2" add-on (i.e. a normal extension, not a language pack or theme), and thus is somewhat incompatible with that website. So, I've written a "type 2" add-on that is compatible with BabelZilla, and perhaps with your needs. BabelZilla's translators could certainly use the add-on to build, modify and test their palemoon.dtd files.
I really appreciate the effort and time put in to make this, but I think you misunderstood what I want to do: I want to stop using palemoon.dtd and merge the strings in it into their proper individual .dtd files in the future to stop having to include palemoon.dtd in more and more XUL files. so "palemoon.dtd" will be retired when that happens. An additional advantage is that it will allow me to improve or reword/rename the existing language pack strings without having to jump through hoops to make it happen. Currently, a string change in an existing location requires me to make a new string, give it a unique id and replace the id of the element in question in all locations in the UI where it occurs with the new id. Instead of simply being able to change the string. You see how that is a maintenance nightmare in the long run?
City of Heroes public server: https://www.moonshard.org/ -- Vote for it on cohservers.com

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne
Image

riiis
Lunatic
Lunatic
Posts: 444
Joined: 2014-05-17, 15:51
Location: USA

Re: Get your files for localization and instructions HERE

Unread post by riiis » 2014-09-23, 19:13

Sorry about my misunderstanding. The "Pale Moon Language Pack" update at BabelZilla was dated "2014-09-17", so I mistakenly thought this process was less than interim.

Just a few remaining observations, since I know we both have to move on:

1. Why just stop at merging palemoon.dtd into other "dtd" files? Instead, why not merge all other dtd files into one (except perhaps for such files as "brand.dtd")? Wouldn't that simplify xul-changes even further?

Doing so, I would just copy all strings (from their separate files) to a single dtd file, say "browser.dtd", while leaving the old dtd files in place. Reasons are, first, some add-ons may currently use these strings, and thus these add-ons will break if the old dtd file were deleted or moved. And, second, this would permit migration to a single dtd file to be gradual, perhaps when changes are being made to existing xul-files only for other reasons.

Also, if only the "browser.dtd" file were changed when locales were updated-- then only the respective "browser.dtd" file, not multiple other dtd files, would need to be changed in the respective "Pale Moon Language Pack" archive, as well.

2. With comments removed, dtd files are simple text file listings of string data. Why not put these text data into a simple relational database (preferably derived from a single consolidated dtd file), where this text data may then be more easily modified and managed? The database could easily be maintained on a desktop PC, using Microsoft Office, Libre Office, or Open Office. New "browser.dtd" or other locale files, could then be produced at ease, from this relational database. For example, the database could capture data as follows:
dtd database.jpg
Example of DTD Database
3. Pale Moon has a lot of locale strings, but not a lot of new strings different from their Firefox roots, or in need of changing from prior versions of Pale Moon. For example, Pale Moon 24 contains 481 strings in its "browser.dtd" file, none of which appear to require changing for Pale Moon 25. Even palemoon.dtd strings appear unchanged between versions (albeit one string in Pale Moon 25 appears to have been moved from where it was in Pale Moon 24). Translators should not have to go through a forest of strings, in order to determine the few strings that need changing. Nor should translators have to create new translations, for strings with perfectly good translations from prior versions of Pale Moon or available from Firefox.

Accordingly, I would recommend that string translations for the various locales-- that such translations continue to be on an exception basis, rather than in the aggregate. On an exception basis, with few new strings in need of translation, BabelZilla is a good choice. That's where the translators are, they do a good job, and are inexpensive.

Also consider uploading all existing locales to Babelzilla, when updating the "Pale Moon Language Pack". That way, translators could review prior translations, as appropriate, without redoing them. Finally, for entirely new strings, needed for Pale Moon 25 or subsequent, an entirely new add-on (preferably "type 2") should be uploaded to BabelZilla for these translations.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 24200
Joined: 2011-08-28, 17:27
Location: 58°2'16"N 14°58'31"E
Contact:

Re: Get your files for localization and instructions HERE

Unread post by Moonchild » 2014-09-23, 21:02

1. Merging all strings means that all strings for the entire product have to be loaded into every XUL file that uses strings. That's bad and a total waste of resources. String bundles should only be loaded in the files that need them.

2. That would be a likely back-end behind a custom translation tool that seems to be necessary. I would make it database-driven.

3. No. Not giving translators access to the already-translated strings means they can never be improved or catered to more Pale Moon specific wording. Translators should have full access to all strings to review and improve where necessary. Staying with that setup promotes stagnation (as you have already seen in the lack of change recently). Nobody has to slog through already-translated strings to get to untranslated ones, either.

As a general note: this is something I'm planning for the future. This is not a current or immediate concern, but will be worked towards. v25 will use the current setup. Near-future versions might as well.
City of Heroes public server: https://www.moonshard.org/ -- Vote for it on cohservers.com

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne
Image

HLFH42

Re: Get your files for localization and instructions HERE

Unread post by HLFH42 » 2015-05-17, 01:03

Should we not use Transifex? It was open source: https://github.com/transifex/transifex
And the SaaS solution is free for open source projects: https://www.transifex.com/signup/

Or there is Pootle: https://github.com/translate/pootle

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 24200
Joined: 2011-08-28, 17:27
Location: 58°2'16"N 14°58'31"E
Contact:

Re: Get your files for localization and instructions HERE

Unread post by Moonchild » 2015-05-17, 09:05

I'm working on setting up something with transifex, but it seems like I have to add everything by hand because their tools don't seem to work. Pootle is a disaster, I haven't been able to get it to work in 3 months.
City of Heroes public server: https://www.moonshard.org/ -- Vote for it on cohservers.com

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne
Image

User avatar
KNTRO
Astronaut
Astronaut
Posts: 636
Joined: 2013-01-01, 10:46
Location: ᴀᴍéʀɪᴄᴀ ʟᴀᴛɪɴᴀ
Contact:

Re: Get your files for localization and instructions HERE

Unread post by KNTRO » 2015-05-19, 08:34

Clean forgot to tell you this, but start.me uses WebTranslateIt. Don't know if this gonna be useful for Pale Moon's purposes.

Regards.
”kulupu li wile e sama mute e ken mute ala la, kulupu li jo e mute ala pi ijo tu.
kulupu li wile e ken mute e sama mute ala la, kulupu li jo e mute pi ijo tu.”
jan Miton Piman

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 24200
Joined: 2011-08-28, 17:27
Location: 58°2'16"N 14°58'31"E
Contact:

Re: Get your files for localization and instructions HERE

Unread post by Moonchild » 2015-05-19, 19:02

With some smart batch programming I think I have a working system for transifex now.

Combining all resources in the language packs into single files (to later split back out) makes it possible to just use their web management interface. Meaning I will be able to redirect any future translations to their web translation portal.
City of Heroes public server: https://www.moonshard.org/ -- Vote for it on cohservers.com

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne
Image

bittin

Re: Get your files for localization and instructions HERE

Unread post by bittin » 2015-06-29, 11:39

Hello i help localize the Swedish Firefox builds you need any help for Pale Moon builds and if so what tools etc do you use for translations ?

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 24200
Joined: 2011-08-28, 17:27
Location: 58°2'16"N 14°58'31"E
Contact:

Re: Get your files for localization and instructions HERE

Unread post by Moonchild » 2015-06-29, 17:00

Currently the core strings are still up on babelzilla.org. I'm still trying to get transifex to behave but also hoping I can get the standalone WTS running on our own server (as used by babelzilla).
City of Heroes public server: https://www.moonshard.org/ -- Vote for it on cohservers.com

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne
Image

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 24200
Joined: 2011-08-28, 17:27
Location: 58°2'16"N 14°58'31"E
Contact:

Re: Get your files for localization and instructions HERE

Unread post by Moonchild » 2015-06-30, 11:26

riiis wrote:The Pale Moon language pack add-on at BabelZilla is not a "type 2" add-on (i.e. a normal extension, not a language pack or theme), and thus is somewhat incompatible with that website. So, I've written a "type 2" add-on that is compatible with BabelZilla, and perhaps with your needs. BabelZilla's translators could certainly use the add-on to build, modify and test their palemoon.dtd files.
I've been looking more into this issue and I think if all Pale Moon language packs can be converted to a "type 2" extension, it would make it easier to have them update on a rolling release schedule without having the fear of everything breaking if a string is missing (as is currently the case).
Would some of you have time to look into this possibility that could cover both .properties and .dtd use?
City of Heroes public server: https://www.moonshard.org/ -- Vote for it on cohservers.com

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne
Image

jez9999
Moonbather
Moonbather
Posts: 62
Joined: 2015-05-30, 19:35
Location: UK

Re: Get your files for localization and instructions HERE

Unread post by jez9999 » 2015-09-14, 17:57

Moonchild wrote:
riiis wrote:The Pale Moon language pack add-on at BabelZilla is not a "type 2" add-on (i.e. a normal extension, not a language pack or theme), and thus is somewhat incompatible with that website. So, I've written a "type 2" add-on that is compatible with BabelZilla, and perhaps with your needs. BabelZilla's translators could certainly use the add-on to build, modify and test their palemoon.dtd files.
I've been looking more into this issue and I think if all Pale Moon language packs can be converted to a "type 2" extension, it would make it easier to have them update on a rolling release schedule without having the fear of everything breaking if a string is missing (as is currently the case).
Would some of you have time to look into this possibility that could cover both .properties and .dtd use?
Or you just have a system like Babelzilla that takes en-US as the base, and ensures that every string exists (non-translated ones fall back to en-US).

Locked