Size: 1793
Comment:
|
Size: 1906
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
* make output strings go through gettext | * make output strings go through gettext (./) |
Line 5: | Line 5: |
* create translations | |
Line 8: | Line 7: |
* create translations | |
Line 15: | Line 15: |
* wrap all messages for gettext | * wrap all messages for gettext (./) |
Line 18: | Line 18: |
* convert changelog data from a known locale to UTF8 for storage | * convert changelog data from a known locale to UTF8 for storage, see ChangelogEncodingPlan for details * handle locale braindamage on Windows (see ["Charset Encoding On Windows"]) |
Line 27: | Line 28: |
* finding the correct locale on Windows | |
Line 56: | Line 56: |
---- CategoryNewFeatures |
Things that need to be done
make output strings go through gettext
- detect appropriate locale for output
- store changelog and other relevant pieces in UTF8
- make hgweb translatable
- create translations
How to proceed
There are some unknowns here and some difficult pieces. They're getting in the way of forward progress. Thus, we should do the simple things that we know need doing incrementally and defer the hard parts.
Things we know how to do:
wrap all messages for gettext
- find locales on UNIX
- make gettext calls once we know the locale
convert changelog data from a known locale to UTF8 for storage, see ChangelogEncodingPlan for details
- handle locale braindamage on Windows (see ["Charset Encoding On Windows"])
Things that are a bit harder:
- make hgweb translatable
- actually doing a translation
Things we're not sure about:
- dealing with filesystem locales, especially on Windows
Things that are not our problem:
- any sort of translation of repository data aside from changelogs
Some simplifying assumptions
Let's assume for now that:
- all filenames are already UTF8
- all existing changelog messages are UTF8 as well
Thoughts on making hgweb templates translatable
This has a few parts:
- marking template strings as translatable
- scanning the templates to find the translatable strings
- doing translations in the template engine
The first step is to come up with a syntax for marking strings as translatable. Thus, we need a new markup format. Something like this ought to suffice:
<b>{{this is a translatable string}}</b>
So an initial approach is to teach hgweb about this syntax (and initially pass strings out unchanged), then go mark some strings as translatable so that the scanning piece can be done.