[Chandler-dev] Re: Chandler in French and in Finnish!

Brian Kirsch bkirsch at osafoundation.org
Wed Sep 13 15:40:21 PDT 2006



Markku Mielityinen wrote:
> Brian Kirsch wrote:
>> Hi Markku,
>> You have some good observations and feature enhancements.
>>
>> Can you condense these in to Bugzilla tasks so that they can be tracked.
>
> I have already agreed to do that. I will also CC you in all the newly 
> generated bugs.
>
>> See comments in line.
>>
>> Thanks,
>> Brian
>>
>> Markku Mielityinen wrote:
>>> Philippe Bossut wrote:
>>>> Markku Mielityinen wrote:
>>>>> I was also supposed to write a small tutorial about my work, see 
>>>>> bug 6657, but as Philippe already beat me to the punch (only by a 
>>>>> day), I think that I am going to improve the wiki page that 
>>>>> Philippe already started.
>>>>>
>>>> Please do! That's the idea (it's a Wiki after all). Plus you're 
>>>> doing the work on Windows while I'm doing it on Mac.
>>>>
>>>> So far though, I have to say that the process has been incredibly 
>>>> easy... :)
>>>
>>> Yup, I have finished my current translation work, which took one 
>>> working day. The development tools that Brian made for automatic 
>>> building of translation eggs really make that part very easy. Also 
>>> the XRC pipe that I and Robin worked on seems to work perfectly. 
>>> However, there are a couple of things that I want to raise here:
>>>
>>> 1) The generated pot file contains a lot of duplicate entries which 
>>> unnecessarily take time when translating and they also prevent the 
>>> use of GNU gettext tool package.
>> Yes, the Chandler code base needs to be gone through to reduce string 
>> duplication. I originally creates the osaf.messages module to prevent 
>> this by having common used strings stored in one place. However, in 
>> hind sight I not a big fan of of the osaf.messages concept and 
>> probably will deprecate it at some point.
>>
>> So the best approach is to generate a .pot, manually read through it 
>> looking for duplications, then fix the offending Python / XRC source 
>> code. Once this process is done once any further examination in the 
>> future should be minimal.
>
> There is nothing wrong in having multiple requests from the same 
> string. We just need the tools to make sure that only one instance is 
> shown in pot files. All the requests can -- and should -- use the same 
> resource.
>
Sure I was not referring to multiple instances in code. I was talking 
about "like" instances in the .pot file. Ie. "Account Settings" and 
"Account settings" are functionally equivalent even though they are not 
100% duplications cause of capitalization.


>> Can you detail why gettext is not working. Is it because of fuzzy 
>> duplication?
>
> Recall our discussion 
> http://wiki.osafoundation.org/script/getIrcTranscript.cgi?channel=chandler&date=20060908 
> starting from 13:46.
>
> $ msginit -i Chandler.pot -l fi_FI -o test.po
> Chandler.pot:2404: duplicate message definition
> Chandler.pot:6: ...this is the location of the first definition
> msginit: found 1 fatal error
>
> It is not like we need this but someone might want to use it.
Hum, what is the string that is duplicated? I think this can be resolved 
easily I just need a bit more info on what exactly is causing the error.


>
>>
>>>
>>> 2) There are some duplicate entries due to differences in letter 
>>> capitalization. At some point we might want to consider unifying 
>>> these entries.
>>>
>> +1
>>>
>>> 3) There are still strings in source code that should be translated, 
>>> i.e. wrapped inside _(). For example displayName and startTime in 
>>> the header and Test menu, which we on the other hand might not want 
>>> to translate for other reasons.
>> The header menus should certainly be translated. I have spent much 
>> time on the past going through the app using the "test" locale to 
>> find non-translated strings and fix then. However, it has been a 
>> little while since I have done it and it sounds like some new 
>> translation misses have appeared.
>
> The example cases of displayName and startTime might be currently used 
> for debugging purposes.
>
>> The test menu strings we do not localize since it is only used by 
>> developers. The test menu tab should not be available in the 1.0 
>> release build.
>
> Agreed.
>
>>>
>>> 4) There are strings that are currently wrapped inside _() when they 
>>> should not be. The correct way to enter non-translated  strings is 
>>> to use _T() wrapper. For example ":", ":." etc.
>> I have found this to be an issue in the past as well. Developers for 
>> examples wrapping log messages in _(). There is really no way that I 
>> can think of to prevent this except to manually monitor check ins and 
>> alert the developer to mistake. This is really a coding style / 
>> developer issue.
>
> Yup.
>
>> I disagree on the _T() suggestion. We have no examples of this 
>> currently in Chandler code. The _T() paradigm is a C++ concept and 
>> not something used in Python projects.
>
> Yup, I discussed about this with heikkit and it seems that u"" is the 
> correct way to go.
>
>> Again there is a measure of developer responsibility in determining 
>> what should and should not be localized.
>>
>>>
>>> 5) Accelerated keys are currently wrapped in _() blocks. Whereas the 
>>> accelerated keys are typically localized, it is currently hard for 
>>> the translator to localize these in a consistent manner. Hence, we 
>>> might want to reconsider if localizing then, at least at this point, 
>>> is a good idea.
>> Yeah, I am not sure that localizing accelerator keys is a good idea 
>> at this point.
>> Another option is to have an alternate .po file and Project name 
>> spaces "ChandlerAccelerators" for  accelerator key definitions.
>>
>>
>>
>>>
>>> 6) There is some inconsistency in the way Show/Hide vs Hide/Show is 
>>> used. Perhaps we should choose one, Show/Hide, and use this order in 
>>> all places.
>>>
>>> 7) There is still some polishing to do: fixing typos and improving 
>>> the structure of some sentences. But hey, who is counting at this 
>>> point...
>> Yup this area could use some improvement.
>>
>>>
>>> In addition Philippe noticed that:
>>>
>>> 8) Building "MyTasks", "My..." by catenation of "My" and "..." does 
>>> not work for many locales.
>>>
>> That is a bug. A localization can not be build with concatenation.
>
> Yup.
>
>>> These are the experiences from our first (tentative) translations. 
>>> To sum it all up, I would say that Chandler is now 90-95% localized, 
>>> excluding the extension parcels, and the remaining work to increase 
>>> this to 100% is not large. Please feel free to post any comments 
>>> that you see related to the topic.
>>>
>>> Cheers,
>>>    Markku
>>> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>>>
>>> Open Source Applications Foundation "chandler-dev" mailing list
>>> http://lists.osafoundation.org/mailman/listinfo/chandler-dev
>>
>

-- 
Brian Kirsch 
Internationalization Architect / Mail Service Engineer
Open Source Applications Foundation
543 Howard Street 5th Floor
San Francisco, CA 94105
http://www.osafoundation.org



More information about the chandler-dev mailing list