Hi Grant thanks for the feedback. Please see comments in line.

Grant Baillie wrote:

Hi, Brian

I had a look at the 0.6 i18n spec: Overall, it's a very nice carving of a set of tasks out of a big chunky rock of a problem :). Comments are below; quotes are from the doc and the text in [] is an attempt to identify which part of the doc I'm talking about.

[Overview][Goals and Objectives]

The goal of this development cycle is to move Chandler from the 8- bit english only space to the world of internationalization and unicode.


When you say "8-bit english", do you really mean "ascii" (a.k.a. "7- bit")?

Yes and no. I am referring to the Python string type which is 8-bit so saying ascii would technically not be correct. But really yes I am talking about ASCII.


Nit-picky naming question: Should it be i18nManager or I18Manager? I guess it's hard to distinguish "I" and "1" in sans-serif fonts.

Ok sure I18NManager it is. Also FYI, the ResourceLoader is being renamed the I18NLoader since it is going to be used going forward for more than just loading of media resources.

[0.6 Strategy]
Should maybe have a section about making our wx dialogs localizable. Would this be done by having localizable .xrc files, and if so, are there ways of making sure UI elements don't get "lost in translation"?

I think this is an important point but I an not sure this needs to be addressed in .6. Off the top of my head I would guess it is going require a custom .xrc file for each locale that requires layout alterations. This is gonna be a major pain not to mention the enforcement issues.


[The 0.6 Strategy][CPIA]:

3. Ensure that WxWidgets correctly converts keyboard input commands to displayable glyphs in the correct language and perform character set conversion when incoming textual data is not unicode 4. Ensure that all displayable blocks render multi-byte unicode correctly.


It might be worth adding to 4: wxWidgets needs to be able to display general multi-byte unicode correctly (not just multibyte unicode entered via an input manager). It would be interesting to see how, say, email messages with mixed R2L and L2R text will display on all platforms.


+1
R2L what is that? Ha hah

My guess is Chandler would barf but R2L is not a priority for 1.0 anyways. Would be great to have though.


<<<On reading further, this seems to end up being one of John Anderson's tasks:

wxWdigets that display text are wrapping native Operating System widgets


Is this realistic? e.g. aren't our table & grid controls non-native (I'm no wx expert, so I could easily be off base here)?>>>

Good point I will follow up with the CPIA team and see what the best option is here.



From [Tasks for Katie]:

Target languages of review could include Chinese, German, and Hebrew.


Hebrew (or Arabic for that matter) is a good one, since it will unearth a large can o worms... Our UI layout is pretty much hard- coded to be L2R: (e.g. positioning of (sidebar, summary, detail) views, position of icons in sidebar, alignment of text in sidebar, position of labels in detail view, alignment of text in detail view).

It would be good to call out whether this kind of layout configurability is or is not

a goal for 0.6 (my guess is not).


Complex layout is not a goal for .6 so I will make it more clear in the spec.

Hebrew is merely for the design team to review. The point is to get people thinking about these larger issues now even though they will not be tackled in the 1.0 timeframe. R2L also will not be tackled but German or Chinese might.





[General]

Somewhere, we probably need to point out that there is a lot of QA work involved in verifying that Chandler works well with input managers for different languages (especially given that these vary by platform, too). Maybe this would be an area where outside volunteers could help out.

Agreed. I was waiting for feedback on the i18n proposal before pointing out specific QA tasks to make sure there were not going to be any major proposal changes.

QA will have a very important job in Internationalization. Both manual and automated tasks will need to be performed on each target platform and for each target language. It is not a trivial task by any means. Volunteers are certainly needed.





<<<I wrote this before seeing Andrea's page, which is a much more comprehensive outline of QA issues here>>>

[Some questions about the bigger proposal doc]

Are we going to output # c-format (or something similar) in .pot files? In projects I've worked on in the past, inconsistent translated format strings have caused a lot of grief (unexpected raises, or crashes in C), and it would be good to be able to avoid this.


Since we are using the Python gettext api the #c-format should not come in to play. Python gettext does not put any #c-format comments in .pot files. I can not think of a need for theses macro's at this time. Do you?


Lastly, because I'm a gettext newbie: Many translations require some context (e.g. in the case of formatted strings, what the arguments are). Is the gettext approach that translators figure that out from the source file? (Ours was more that you'd add a comment in the equivalent of the .pot file).


We are going to be using the PyICU MessageFormat syntax and MessageFormat class for translations. As such the syntax is pretty explicit on the types for each argument.

MessageFormat.formatMessage( _("At {1,time} on {1,date}, there was {2} on planet{0,number,integer}."), args)

So the .po would contain:
msgid "At {1,time} on {1,date}, there was {2} on planet{0,number,integer}"


The gettext api does not provide any mechanism to put comments inline via code. But it would be nice to have additional comments.


#Argument zero is the number of planets as a integer
#Argument one is a PyICU Date.
#Argument two is a unicode string
msgid "At {1,time} on {1,date}, there was {2} on planet{0,number,integer}"

This would have to be custom code. It is certainly worth exploring at a later date post .6.


Have a good weekend,
Brian

--Grant

Grant Baillie
Open Source Applications Foundation
http://www.osafoundation.org





--
Brian Kirsch - Email Framework Engineer
Open Source Applications Foundation
543 Howard St. 5th Floor
San Francisco, CA 94105
(415) 946-3056
http://www.osafoundation.org

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev

Reply via email to