Re: Maemo localization to officially non-supported languages

2007-10-29 Thread Mohammed Hassan
> 
> With our current approach, seeing a logical id in the UI means that
> this UI string has no translation in the current language.  This might
> be a violation of B, or of D.  Bis covered above and for D it is also
> easier and more reliable to mechanically compare the .po files to find
> missing translations.

A logical ID in the interface can be:
* The code uses a logical ID not defined in the spec.
* The coder uses a logical ID from another domain but not depending on
it thus not pulling it into the build
* The coder is not passing the string to gettext
* The l10n packages were not updated for a reason or another.

I've seen cases where the translations are there yet the code was
showing a logical ID (For a reason or another) so manual testing and
spotting is needed.


> [ As a reminder:
> 
>   D) there should be translations of all UI strings in all supported
>  languages (so that gettext has something to return in all cases it
>  is used)
> ]
> 
> >> Some potential actions:
> >> 
> >> - Extend the script that extracts .mpo/.po/.pot/whatever information
> >>   from the UI specs so that it can optionally produce msgids of the
> >>   form "logical_id|Engineering English" (or whatever is appropriate
> >>   for pgettext).
> >
> > Can you do this if needed ? ;-)
> 
> Sure.  Can you?

No. I can't. It's not that I don't want to. It's that I don't know that
programming/scripting language).


> >> - Make a script that replaces "logical_id" with
> >>   "logical_id|Engineering English" (or whatever is appropriate for
> >>   pgettext) in source code.
> >> 
> >> - Tell developers and UI speccers that they can use this approach and
> >>   that then the logical_ids don't need to be unique anymore and don't
> >>   need to include the Engineering English as a hint.
> >
> > They need to be unique.
> 
> No, they don't.  The combination of logical_id plus Engineering
> English needs to be unique.

new logical ID = old logical ID + engineering English

> >> [1] For example, we have a generic information note dialog that can be
> >> parameterized with the text to display and with the label for its
> >> single button.  Each use of that information note specifies both
> >> the text and the button label as new UI strings.  Instead, we
> >> could specify a specific UI string as the default label of the
> >> button (and allow uses to overwrite it.)
> >
> > Put it in a library then so all the applications can use it.
> 
> Why did you just say that?  I can only assume that you didn't really
> try to understand what I am writing.

So I still don't. I guess I'm getting a bit lost.


> >> [2] For example, I am right now coding a new statusbar plugin, the UI
> >> spec is done, but I have no translations yet.  Do I use logical
> >> IDs in the code?  Of course not, because they are ugly in the UI
> >> and they mess up the layout too badly.  (And they might not have
> >> the right formatting codes.)  So I have to go back later and fix
> >> that, but my motivation is low because I shouldn't have had to
> >> make this mess in the first place.
> >
> > 'logical_is|Engineering English' will also mess up the layout.
> 
> No, because the "logical_id|" part will not be displayed.

So you want to use gettext contexts ? That's a different issue now.


> > If you are having this problem then you can generate your own PO
> > files from the UI spec. We can work out something.
> 
> Why would I go to this extra effort if we could fix the process so
> that the problem disappears?

Because the process will not be fixed _now_ and because you are coding
that plugin _now_


> Also, I am not primarily interested in my own components here.  There
> are things that each individual component owner should do for
> him/herself, like including the right formatting codes in the logical
> ids (if we stick with them), and reducing excessive context if that
> would improve things.
> 
> But we are talking here about "maemo localization to officially
> non-supported languages".  We need to make that happen for all the
> code we have.

Yes and we are discussing the logical IDs problem as if it's a blocker
while in fact it's not.


> A good way is to use gettext and its tools so that Engineering English
> appears in the msgid, maybe with excessive context in the form of our
> current logical ids.
> 
> We could use Engineering English in the msgid only when interacting
> with 

Re: Maemo localization to officially non-supported languages

2007-10-26 Thread Eero Tamminen
Hi,

Mohammed Hassan wrote:
> On Fri, 2007-10-26 at 17:11 +0300, Eero Tamminen wrote:
>> ext Mohammed Hassan wrote:
>>> Which still doesn't help.
>>> Currently if the string is not translated then we mark it in the PO
>>> files so we and the developers can tell that it's not yet translated
>>>
>>> In case a developer is using an incorrect logical ID or a logical it not
>>> in the specs, we can still tell that something is wrong.
>>>
>>> Now if we start using engineering English, we won;;t be able to tell if
>>> it's been translated or not or is the developer using the correct
>>> logical ID or not.
>> Engineering English strings can have some prefix that:
>> - marks it as non-translated (e.g. "EE")
>> - is unique (e.g. running number like in "EE-01234 ")
> 
> This is also a nice idea. I'd say we should get all the involved parties
> to discuss this.

Btw. As there's also the Engineering English string at the end of msgid,
it's only necessary that the running number is unique between msgids
having the same English string. -> less need for number-range management


- Eero
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-26 Thread Mohammed Hassan
On Fri, 2007-10-26 at 17:11 +0300, Eero Tamminen wrote:
> Hi,
> 
> ext Mohammed Hassan wrote:
> > Which still doesn't help.
> > Currently if the string is not translated then we mark it in the PO
> > files so we and the developers can tell that it's not yet translated
> > 
> > In case a developer is using an incorrect logical ID or a logical it not
> > in the specs, we can still tell that something is wrong.
> > 
> > Now if we start using engineering English, we won;;t be able to tell if
> > it's been translated or not or is the developer using the correct
> > logical ID or not.
> 
> Engineering English strings can have some prefix that:
> - marks it as non-translated (e.g. "EE")
> - is unique (e.g. running number like in "EE-01234 ")

This is also a nice idea. I'd say we should get all the involved parties
to discuss this.

-- 
Localization Engineer
OSSO - Nokia Multimedia

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-26 Thread Mohammed Hassan
On Fri, 2007-10-26 at 16:06 +0300, Marius Vollmer wrote:
> Mohammed Hassan <[EMAIL PROTECTED]> writes:
> 
> > On Wed, 2007-10-24 at 12:12 +0300, Marius Vollmer wrote:
> >> > The problem is the logical IDs are needed to maintain the smooth
> >> > process.  It's not easy to simply drop them. I did not say it's
> >> > impossible. I didn't say it'll be done or it'll not. I'm just saying
> >> > that they are needed ;-)
> >> 
> >> This might be so, but I honestly doubt it.  Can you elaborate?
> >
> > They are used by l10n testing to easily check for untranslated strings
> > (By me as well), to easily determine the originating UI spec, to design
> > test cases and I'm sure they have more uses.
> 
> Let's get some precision here:
> 
>  A) a UI string is a abstract entity that is used in the UI of a program
> 
>  B) code is supposed to use the right UI string for the right purpose,
> as defined by the UI spec
> 
>  C) code is supposed to get the final string to display by passing the
> UI strings to gettext
> 
>  D) there should be translations of all UI strings in all supported
> languages (so that gettext has something to return in all cases it
> is used)

E) I guess it should also be visually distinguishable.


> Right now, a UI string is identified by a symbolic identifier (the
> 'logical ids').  Right now, things are specified so that there is a
> separate UI string for (almost) each single mention of a certain UI
> element in the spec.[1]
> 
> When talking about getting rid of logical IDs, we mean that we will
> identify UI strings not by a (ultimately meaningless) symbolic
> identifier, but by some other form of identifier that already includes
> the translation of the UI string for one specific language
> (Engineering English).  For example, instead of using
> 
> ai_bd_confirm_ok
> ai_bd_confirm_cancel
> 
> we could identify these twoparticular UI strings with
> 
> ai_bd_confirm_ok|OK
> ai_bd_confirm_cancel|Cancel
> 
> [ The '|' is my way of notating context for pgettext. ]
> 
> This gets rid of some of the problems of logical IDs.  We can now
> tolerate violations of requirement D, for example.  This is important
> (IMHO) since D is violated frequently during the development of code,
> and trying to avoid that is nigh impossible.[2] Also, we can now use
> the gettext suit of tools directly without having to somehow splice
> the Engineering English back into it so that translators know what is
> going on even they don't have the UI spec.  Also also, developers can
> know what is going on directkly without having to consult the UI spec.
> 
> Thus, we could get the benefits of using Engineering English in the
> code, and keep the benefits of specifying a 'logical' context for each
> separate UI string.
> 
> The problem is that the amount of context specification seems
> excessive.  As a second step (or at the same time as step one), I
> think we should try to reduce the context specifications to a level
> where it is not excessive but still useful.[3] This requires work and
> the benefits can be debated.  I hope that making the context
> specification more meaningful will help improve quality since you have
> less noise to deal with.  Luckily, it doesn't need to be done
> globally; each UI spec / program combo could do it to their own level
> and on their own schedule.  Library specs can be changed in a
> compatible way.
> 
> We could use
> 
> confirm|OK
> confirm|Cancel
> 
> for the two UI strings from the example.
> 
> This has the same level of context as the original (together with the
> textdomain), but it is already much nicer to have in your code.
> 
> In other words, we should reduce the context specifications by
> reducing the number of individual UI strings in the UI specifications.
> 
> Thus, even when using Engineering English in the code (plus the
> occasional (or maybe frequent) context specification), each UI string
> can be reliably identified.
> 
> We do not have the option anymore of changing the Engineering English
> without changing the identifier of a UI string.  I.e., if we decide to
> use "Edit" instead of "Details" for a certain button, we can't do that
> without actually changing all occurances of this identifier.  This
> might be considered serious by some.
> 
> I'd say it is not a bad thing.  We need to be able to push changes
> (not only changes to UI strings) to all the relevant places anyway,
> and being able to get away without reviewing the impact of a change at
> the other end is not essential.[4] Gettext tools can help with this in
> any case.

I can only speak for myself. I think the above approach is not bad but
it has a few drawbacks (embedded reply).

You (us) might like to also speak to all the parties involved ;-)


> [ Now we get to the reply to your message.  You will see a pattern
>   emerge... :-]
> 
> > [context specifications] are used by l10n testing to easily check
> > for untranslated strings
> 
> This might refer to eith

Re: Maemo localization to officially non-supported languages

2007-10-26 Thread Eero Tamminen
Hi,

ext Mohammed Hassan wrote:
> Which still doesn't help.
> Currently if the string is not translated then we mark it in the PO
> files so we and the developers can tell that it's not yet translated
> 
> In case a developer is using an incorrect logical ID or a logical it not
> in the specs, we can still tell that something is wrong.
> 
> Now if we start using engineering English, we won;;t be able to tell if
> it's been translated or not or is the developer using the correct
> logical ID or not.

Engineering English strings can have some prefix that:
- marks it as non-translated (e.g. "EE")
- is unique (e.g. running number like in "EE-01234 ")

- Eero
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-26 Thread Mohammed Hassan
On Fri, 2007-10-26 at 09:45 +0200, ext Tollef Fog Heen wrote:
> * Mohammed Hassan 
> 
> (Please follow mail-followup-to, I read the list)
> 
> | > If the main problem is identifying untranslated strings in the UI, you
> | > could have a bogus locale where you translate all the translatable
> | > strings into their logical IDs.  (Which could be added as comments in
> | > the .c file or whatever.) and use that locale as fallback by setting
> | > LANGUAGE.
> | 
> | No it doesn't help. You will see an English sentence. How can you tell
> | if it's translated or not ?
> 
> No, you won't.
> 
> As an example, you are translating the fish applet from old
> gnome-utils into nb_NO.UTF8.  The msgid is «I am a goldfish».  The
> nb_NO.UTF8 msgstr will be «Jeg er en gullfisk».  The nokia_LOGICAL
> msgstr is «gnome-utils_ui_123».  LANGUAGE is set to
> nb_NO.UTF8:nokia_LOGICAL
> 
> Now, if an nb_NO.UTF8 translation exists, it will be used and you'll
> se the Norwegian translation.  If it doesn't exist, but the
> nokia_LOGICAL one does, that one will be used.  If neither exists, it
> will fall back to the msgid.

Which still doesn't help.
Currently if the string is not translated then we mark it in the PO
files so we and the developers can tell that it's not yet translated

In case a developer is using an incorrect logical ID or a logical it not
in the specs, we can still tell that something is wrong.

Now if we start using engineering English, we won;;t be able to tell if
it's been translated or not or is the developer using the correct
logical ID or not.

Even if we use the pseudo locale, you still can't easily tell.

> (Another workaround you could trivially do is to log each time gettext
> has to fall back to the msgid.)
That's a nice idea.

-- 
Localization Engineer
OSSO - Nokia Multimedia

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-26 Thread Tollef Fog Heen
* Mohammed Hassan 

(Please follow mail-followup-to, I read the list)

| > If the main problem is identifying untranslated strings in the UI, you
| > could have a bogus locale where you translate all the translatable
| > strings into their logical IDs.  (Which could be added as comments in
| > the .c file or whatever.) and use that locale as fallback by setting
| > LANGUAGE.
| 
| No it doesn't help. You will see an English sentence. How can you tell
| if it's translated or not ?

No, you won't.

As an example, you are translating the fish applet from old
gnome-utils into nb_NO.UTF8.  The msgid is «I am a goldfish».  The
nb_NO.UTF8 msgstr will be «Jeg er en gullfisk».  The nokia_LOGICAL
msgstr is «gnome-utils_ui_123».  LANGUAGE is set to
nb_NO.UTF8:nokia_LOGICAL

Now, if an nb_NO.UTF8 translation exists, it will be used and you'll
se the Norwegian translation.  If it doesn't exist, but the
nokia_LOGICAL one does, that one will be used.  If neither exists, it
will fall back to the msgid.

(Another workaround you could trivially do is to log each time gettext
has to fall back to the msgid.)

-- 
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-25 Thread Mohammed Hassan
On Thu, 2007-10-25 at 08:56 +0300, ext Quim Gil wrote:
> - Logical IDs vs internal processes. I'm still digesting the thread but
> it looks that it could be done. Won't be easy but it doesn't need to be
> done all in once (am I right?). Cases like browser or email client could
> be isolated. Hildon requires anyway its own attention. Etc.

This is not a showstopper. l10n can still be done. We can still
workaround them. It's just that people started arguing about logical IDs
only.

Yes no one likes them but they are another issue.

> - License of English content and translations. I guess what is really
> relevant is what translators can do with the English content and the
> works they derive from it.

That's mainly the license for the POT files I guess. I'm trying to
handle it.


> - Adding new languages. Technically possible but how to end up offering
> new/community language variants to end users. The objective would be
> that user goes to i.e. "Esperanto language pack" one-click install and
> after downloading dependencies can activate this language just like they
> can do now with the supported languages.

I'd say this has to be an effort between l10n and i18n. I'm welling to
put effort.

> - Translators, how we help them getting organized.

I'd like to discuss that farther rather than the logical IDs problem.


-- 
Localization Engineer
OSSO - Nokia Multimedia

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-25 Thread Mohammed Hassan
On Wed, 2007-10-24 at 16:46 +0200, ext Tollef Fog Heen wrote: 
> * Mohammed Hassan 
> 
> | > msgfmt will happily provide you with statistics about untranslated
> | > strings and fuzzy translations, with the added bonus that it can be
> | > automated.
> | 
> | Yes but it will not help differentiation _visually_ between an en_US or
> | en_GB string and an Engineering English one.
> | 
> | It will not help quickly identifying the originating UI spec.
> | 
> | I got myself into this thread to see what can be done to ease the
> | community involvement. I know that logical IDs are one of the problems
> | but I'd say it's mainly a problem for developers more than it being a
> | problem for localzsers.
> | 
> | Dropping the logical IDs (If it will happen. I simply do not know) will
> | not happen today or tomorrow.
> 
> If the main problem is identifying untranslated strings in the UI, you
> could have a bogus locale where you translate all the translatable
> strings into their logical IDs.  (Which could be added as comments in
> the .c file or whatever.) and use that locale as fallback by setting
> LANGUAGE.

No it doesn't help. You will see an English sentence. How can you tell
if it's translated or not ?
 
-- 
Localization Engineer
OSSO - Nokia Multimedia

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Quim Gil

On Wed, 2007-10-24 at 18:22 +0300, ext Eero Tamminen wrote:
> [1] A former collegue of mine had implemented the Finnish language
> morphological model in Z-code, but it needed over 64Kb i.e. more
> than the old adventure games written in Z-code... :-)

Which is a mathematical proof that learning Finnish is harder than
succeed in old adventure games.  ;)

Anyway, let me summarize:

- Logical IDs vs internal processes. I'm still digesting the thread but
it looks that it could be done. Won't be easy but it doesn't need to be
done all in once (am I right?). Cases like browser or email client could
be isolated. Hildon requires anyway its own attention. Etc.

- License of English content and translations. I guess what is really
relevant is what translators can do with the English content and the
works they derive from it.

- Adding new languages. Technically possible but how to end up offering
new/community language variants to end users. The objective would be
that user goes to i.e. "Esperanto language pack" one-click install and
after downloading dependencies can activate this language just like they
can do now with the supported languages.

- Fonts (Unicode support), input method (virtual keyboard, handwriting
recognition) and other i18n issues.

- Translators, how we help them getting organized.

-- 
Quim Gil - http://maemo.org

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Eero Tamminen
Hi,

Marius Vollmer wrote:
> Eero Tamminen <[EMAIL PROTECTED]> writes:
>>> In general, we should try to reduce the need for context and
>>> complicated translations.  The classical example might:
>>>
>>>Searched in %d files and %d directories.
>>>
>>> You will never be able to translate this nicely for all languages
>>> because of the wierd way they handle plurals, etc, and because of the
>>> combinatorial explosion.
>> Translator can change the order of the arguments with "$".
>> See "man fprintf" and the Single Unix Specification.
> 
> Yep, I know.  Will it be enough?  I found this interesting:
> 
> 
> http://search.cpan.org/dist/Locale-Maketext/lib/Locale/Maketext/TPJ13.pod#A_Localization_Horror_Story:_It_Could_Happen_To_You

Thanks, I didn't know that about numbers in Arabic and Russian...

Names in Finnish are as bad.  E.g. Gramps Genealogy application has
~3000 translatable strings of which a couple of hundred are of a form:
   %(male)s's %(mother)s living in %(place)s had %(children)d
   children."
Where you replace the string format parameters with names.

...And in Finnish instead of having prepositions, you put them at
the end of the words and depending on what they are and how the name
ends, some of the letters in between change differently.

food -> ruoka
in food -> ruuassa

house -> talo
in house -> talossa

ruler -> viivoitin
in ruler -> viivoittimessa

Basically gettext would need to have language specific parsers[1]
to produce good localizations.


- Eero

[1] A former collegue of mine had implemented the Finnish language
morphological model in Z-code, but it needed over 64Kb i.e. more
than the old adventure games written in Z-code... :-)
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread David Weinehall

On ons, 2007-10-24 at 17:53 +0300, ext Marius Vollmer wrote:
> Eero Tamminen <[EMAIL PROTECTED]> writes:
> 
> >> In general, we should try to reduce the need for context and
> >> complicated translations.  The classical example might:
> >>
> >>Searched in %d files and %d directories.
> >>
> >> You will never be able to translate this nicely for all languages
> >> because of the wierd way they handle plurals, etc, and because of the
> >> combinatorial explosion.
> >
> > Translator can change the order of the arguments with "$".
> > See "man fprintf" and the Single Unix Specification.
> 
> Yep, I know.  Will it be enough?  I found this interesting:
> 
> 
> http://search.cpan.org/dist/Locale-Maketext/lib/Locale/Maketext/TPJ13.pod#A_Localization_Horror_Story:_It_Could_Happen_To_You

Well, that example assumes that the programmer hasn't read the manual of
gettext, and thus does not know about ngettext.

A clueless programmer can always mess up.  News at eleven.


Regards: David
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Marius Vollmer
Eero Tamminen <[EMAIL PROTECTED]> writes:

>> In general, we should try to reduce the need for context and
>> complicated translations.  The classical example might:
>>
>>Searched in %d files and %d directories.
>>
>> You will never be able to translate this nicely for all languages
>> because of the wierd way they handle plurals, etc, and because of the
>> combinatorial explosion.
>
> Translator can change the order of the arguments with "$".
> See "man fprintf" and the Single Unix Specification.

Yep, I know.  Will it be enough?  I found this interesting:


http://search.cpan.org/dist/Locale-Maketext/lib/Locale/Maketext/TPJ13.pod#A_Localization_Horror_Story:_It_Could_Happen_To_You
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Tollef Fog Heen
* Mohammed Hassan 

| > msgfmt will happily provide you with statistics about untranslated
| > strings and fuzzy translations, with the added bonus that it can be
| > automated.
| 
| Yes but it will not help differentiation _visually_ between an en_US or
| en_GB string and an Engineering English one.
| 
| It will not help quickly identifying the originating UI spec.
| 
| I got myself into this thread to see what can be done to ease the
| community involvement. I know that logical IDs are one of the problems
| but I'd say it's mainly a problem for developers more than it being a
| problem for localzsers.
| 
| Dropping the logical IDs (If it will happen. I simply do not know) will
| not happen today or tomorrow.

If the main problem is identifying untranslated strings in the UI, you
could have a bogus locale where you translate all the translatable
strings into their logical IDs.  (Which could be added as comments in
the .c file or whatever.) and use that locale as fallback by setting
LANGUAGE.

-- 
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Mohammed Hassan
On Wed, 2007-10-24 at 15:33 +0300, ext Igor Stoppa wrote:
> Hi,
> On Wed, 2007-10-24 at 15:14 +0300, ext Kimmo Hämäläinen wrote:
> > On Wed, 2007-10-24 at 14:56 +0300, Marius Vollmer wrote:
> > > Kimmo Hämäläinen <[EMAIL PROTECTED]> writes:
> > > 
> > > > Wrong.  It would depend on the context and language.
> > > 
> > > Yes, it COULD, fer-crying-out-loudly. :) We have the data now to
> > > figure out whether it actually DOES for the set of our supported
> > > languages.
> > 
> > 'For the set of our supported languages' -- quoting you -- 'that way
> > lies madness'. You would need to do this verification every time you add
> > a new language, or change the context a bit.
> > 
> > > > And what happens when you add a new, more 'context-sensitive'
> > > > language?
> > > 
> > > We change the code.  Simple.  Providing unneeded context is bad in my
> > > opinion, and the way we do it with the logical ids is excessivly ugly.
> > 
> > You also need to retranslate and test all the supported languages for
> > the new strings (some of that you could maybe automate). Changing the
> > code is the easy part. Why not make the engineering English unique, and
> > use it instead of the logical ids ("OK 1", "OK 2" ;)), hey, we do it
> > with variable names in code already...
> 
> FWIW, here's my 2cents:
> I don't use localised images simply because i find revolting what is the
> commonly understood "right way" of translating english terms to italian
> and therefore i wouldn't really be of any help.
> 
> Hence my contribution in that direction is nil.
> 
> Then enters the logical_ids: I get 8cm long strings on a button that is
> designed to accept 6-8 characters (btw, that also would be affected by
> certain localizations, but let's ignore it for the moment).
> 
> So even where i _could_ be of some help in providing feedback, I cannot
> because i have no clue of what the logical id means.
> 
> And i am not going to read the UI specs just for that.
> 
> I suppose this applies to many others, here. So logical IDs semm to be a
> nice way to hide away logical errors.

You are not supposed to provide feedback (It's greatly appreciated if
you do for sure). All the above problems can be solved. POT files (With
logical IDs as msgids and engineering english as msgstrs) can be
generated from the UI specs easily. I can provide them too. All your
problems can be solved ;-)


-- 
Localization Engineer
Open Source Software Operations 

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Mohammed Hassan
On Wed, 2007-10-24 at 16:03 +0300, Eero Tamminen wrote:
> Hi,
> 
> Mohammed Hassan wrote:
> > On Wed, 2007-10-24 at 14:15 +0300, Eero Tamminen wrote:
> >> And if you want to check the translation for common errors,
> >> something like this can be used:
> >> https://gramps.svn.sourceforge.net/svnroot/gramps/branches/gramps22/po/check_po
> >>
> >> (which of course doesn't work with our "unique ID" because the msgids
> >> are lacking all the required details.)
> > 
> > Interesting. What are the checks performed by this tool ? The code is
> > not documented enough and running it against a normal PO produced
> > meaningless results to me ?
> 
> Features:
> - Like GCC, it checks that the order and type of the format parameters
>match (I don't think it understands "$" though)

I use check_msgid_msgstr_format() to compare every translation with the
corresponding engineering English string to ensure the format parameters
are identical.


> - It can do same also for Python keywords (Gramps is PyGtk program)
Do we need this internally ? Applications developed outside will not be
using logical IDs so it's not a big issue.

> - It also notices if:
>- msgid has unmatched quotes
logical IDs don't contain them.

>- translation includes the context part
>- there are unescaped XML special characters
>  (which would mess up e.g. glade files)

We don't use any of the above currently.


>- translation includes shortcut key but msgid doesn't
We don;t specify these in the translations.

>- the last punctuation characters differ
I think this worth me implementing it in my tools.

> - It counts how many translations are done/fuzzy/missing.
msgfmt --statistics can identify that ? ;-)


-- 
Localization Engineer
Open Source Software Operations 

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Marius Gedminas
On Wed, Oct 24, 2007 at 03:08:13PM +0300, Mohammed Hassan wrote:
> On Wed, 2007-10-24 at 14:56 +0300, Marius Vollmer wrote:
> > In general, we should try to reduce the need for context and
> > complicated translations.  The classical example might:
> > 
> >Searched in %d files and %d directories.
> > 
> > You will never be able to translate this nicely for all languages
> > because of the wierd way they handle plurals, etc, and because of the
> > combinatorial explosion.  A better way is:
> 
> Or "Searched %d files and directories" ;-)

Provided that you use ngettext(3) instead of gettext(3).

Marius Gedminas
-- 
11. Are you at least tracking the number of users of retchmail?

As far as I know, retchmail has exactly three users. 
-- http://open.nit.ca/wiki/index.php?page=RetchMail


signature.asc
Description: Digital signature
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Eero Tamminen
Hi,

Mohammed Hassan wrote:
> On Wed, 2007-10-24 at 14:15 +0300, Eero Tamminen wrote:
>> And if you want to check the translation for common errors,
>> something like this can be used:
>> https://gramps.svn.sourceforge.net/svnroot/gramps/branches/gramps22/po/check_po
>>
>> (which of course doesn't work with our "unique ID" because the msgids
>> are lacking all the required details.)
> 
> Interesting. What are the checks performed by this tool ? The code is
> not documented enough and running it against a normal PO produced
> meaningless results to me ?

Features:
- Like GCC, it checks that the order and type of the format parameters
   match (I don't think it understands "$" though)
- It can do same also for Python keywords (Gramps is PyGtk program)
- It also notices if:
   - msgid has unmatched quotes
   - translation includes the context part
   - there are unescaped XML special characters
 (which would mess up e.g. glade files)
   - translation includes shortcut key but msgid doesn't
   - the last punctuation characters differ
- It counts how many translations are done/fuzzy/missing.

In verbose mode it lists these strings along with the message number
so that you can locate them easier in something like KBabel or
gtranslate.


- Eero
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Mohammed Hassan
On Wed, 2007-10-24 at 15:26 +0300, David Weinehall wrote:
> On ons, 2007-10-24 at 14:41 +0300, Mohammed Hassan wrote:
> > On Wed, 2007-10-24 at 14:19 +0300, David Weinehall wrote:
> > > On ons, 2007-10-24 at 14:14 +0300, Mohammed Hassan wrote:
> > > > On Wed, 2007-10-24 at 13:54 +0300, David Weinehall wrote:
> > > > > On ons, 2007-10-24 at 12:47 +0300, ext Mohammed Hassan wrote:
> > > > > > On Wed, 2007-10-24 at 12:12 +0300, Marius Vollmer wrote:
> > > > > > > > The problem is the logical IDs are needed to maintain the smooth
> > > > > > > > process.  It's not easy to simply drop them. I did not say it's
> > > > > > > > impossible. I didn't say it'll be done or it'll not. I'm just 
> > > > > > > > saying
> > > > > > > > that they are needed ;-)
> > > > > > > 
> > > > > > > This might be so, but I honestly doubt it.  Can you elaborate?
> > > > > > 
> > > > > > They are used by l10n testing to easily check for untranslated 
> > > > > > strings
> > > > > > (By me as well), to easily determine the originating UI spec, to 
> > > > > > design
> > > > > > test cases and I'm sure they have more uses.
> > > > > 
> > > > > msgfmt will happily provide you with statistics about untranslated
> > > > > strings and fuzzy translations, with the added bonus that it can be
> > > > > automated.
> > > > 
> > > > Yes but it will not help differentiation _visually_ between an en_US or
> > > > en_GB string and an Engineering English one.
> > > > 
> > > > It will not help quickly identifying the originating UI spec.
> > > > 
> > > > I got myself into this thread to see what can be done to ease the
> > > > community involvement. I know that logical IDs are one of the problems
> > > > but I'd say it's mainly a problem for developers more than it being a
> > > > problem for localzsers.
> > > > 
> > > > Dropping the logical IDs (If it will happen. I simply do not know) will
> > > > not happen today or tomorrow.
> > > 
> > > Well, of course, the biggest problems currently is the fact that people
> > > are not allowed by the F:ed up license agreement to translate the
> > > software...  But logical strings ARE a big problems for people doing
> > > localisation, unless they're also provided with our localisation
> > > documentation that gives all the information about what the different
> > > logical IDs represent.  Then there's of course the string format issue,
> > > but that is indeed a problem mostly for programmers (but it can
> > > potentially be a big problem).
> > 
> > "Our localisation documentation" is the UI specs ?
> 
> Yes, the UI specs, unless we can have the relevant chapters that
> describe the strings extracted in an easy manner.  I know that it's
> simple to automate for documentation written in sane ways (.tex, for
> instance), but I dunno if Word and similar abominations support it in an
> easy manner.
> 
> > > So if you can manage to convince management that opening all the
> > > localisation documents (all lists of logical IDs and their explanations,
> > > that is), and Nokia legal that the EULA needs to be rephrased, then I
> > > bet most people will be satisfied,
> > 
> > I never checked/had a copy of the EULA. I need to know 1st what do you
> > mean by "localisation documents".
> 
> The relevant information was posted earlier in this thread.

I joined the thread late. Just checked this:
http://lists.maemo.org/pipermail/maemo-developers/2007-October/012057.html

I'll see what can be done.


> > 
> > >  but as a programmer I cannot be happy
> > > until we get proper strings that have the same parameter format as the
> > > real strings, to allow for proper argument checking by the compiler.
> > 
> > This is not my call. Bug the UI spec designer. What I do is to ensure
> > that the format of the translations is the same as the format of
> > engineering English. I guarantee that.
> 
> Well, we're not using engineering English at the moment.

Yes but the translations will be valid if we compare them to a reference
"which is the engineering English"

-- 
Localization Engineer
Open Source Software Operations 

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Eero Tamminen
Hi,

ext Marius Vollmer wrote:
> Kimmo Hämäläinen <[EMAIL PROTECTED]> writes:
>> Wrong.  It would depend on the context and language.
> 
> Yes, it COULD, fer-crying-out-loudly. :) We have the data now to
> figure out whether it actually DOES for the set of our supported
> languages.
> 
>> And what happens when you add a new, more 'context-sensitive'
>> language?
> 
> We change the code.  Simple.  Providing unneeded context is bad in my
> opinion, and the way we do it with the logical ids is excessivly ugly.
> 
> Also, how do you know whether I use the correct context in my code?
> Maybe I am using "ai_bd_ok" for all my "OK" buttons?
> 
> 
> In general, we should try to reduce the need for context and
> complicated translations.  The classical example might:
> 
>Searched in %d files and %d directories.
> 
> You will never be able to translate this nicely for all languages
> because of the wierd way they handle plurals, etc, and because of the
> combinatorial explosion.

Translator can change the order of the arguments with "$".
See "man fprintf" and the Single Unix Specification.

(In Python its preferable to use keywords like "%(day)s %(month)s"
instead I think)


- Eero
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Igor Stoppa
Hi,
On Wed, 2007-10-24 at 15:14 +0300, ext Kimmo Hämäläinen wrote:
> On Wed, 2007-10-24 at 14:56 +0300, Marius Vollmer wrote:
> > Kimmo Hämäläinen <[EMAIL PROTECTED]> writes:
> > 
> > > Wrong.  It would depend on the context and language.
> > 
> > Yes, it COULD, fer-crying-out-loudly. :) We have the data now to
> > figure out whether it actually DOES for the set of our supported
> > languages.
> 
> 'For the set of our supported languages' -- quoting you -- 'that way
> lies madness'. You would need to do this verification every time you add
> a new language, or change the context a bit.
> 
> > > And what happens when you add a new, more 'context-sensitive'
> > > language?
> > 
> > We change the code.  Simple.  Providing unneeded context is bad in my
> > opinion, and the way we do it with the logical ids is excessivly ugly.
> 
> You also need to retranslate and test all the supported languages for
> the new strings (some of that you could maybe automate). Changing the
> code is the easy part. Why not make the engineering English unique, and
> use it instead of the logical ids ("OK 1", "OK 2" ;)), hey, we do it
> with variable names in code already...

FWIW, here's my 2cents:
I don't use localised images simply because i find revolting what is the
commonly understood "right way" of translating english terms to italian
and therefore i wouldn't really be of any help.

Hence my contribution in that direction is nil.

Then enters the logical_ids: I get 8cm long strings on a button that is
designed to accept 6-8 characters (btw, that also would be affected by
certain localizations, but let's ignore it for the moment).

So even where i _could_ be of some help in providing feedback, I cannot
because i have no clue of what the logical id means.

And i am not going to read the UI specs just for that.

I suppose this applies to many others, here. So logical IDs semm to be a
nice way to hide away logical errors.

-- 
Cheers, Igor

Igor Stoppa <[EMAIL PROTECTED]>
(Nokia Multimedia - CP - OSSO / Helsinki, Finland)
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread David Weinehall

On ons, 2007-10-24 at 14:41 +0300, Mohammed Hassan wrote:
> On Wed, 2007-10-24 at 14:19 +0300, David Weinehall wrote:
> > On ons, 2007-10-24 at 14:14 +0300, Mohammed Hassan wrote:
> > > On Wed, 2007-10-24 at 13:54 +0300, David Weinehall wrote:
> > > > On ons, 2007-10-24 at 12:47 +0300, ext Mohammed Hassan wrote:
> > > > > On Wed, 2007-10-24 at 12:12 +0300, Marius Vollmer wrote:
> > > > > > > The problem is the logical IDs are needed to maintain the smooth
> > > > > > > process.  It's not easy to simply drop them. I did not say it's
> > > > > > > impossible. I didn't say it'll be done or it'll not. I'm just 
> > > > > > > saying
> > > > > > > that they are needed ;-)
> > > > > > 
> > > > > > This might be so, but I honestly doubt it.  Can you elaborate?
> > > > > 
> > > > > They are used by l10n testing to easily check for untranslated strings
> > > > > (By me as well), to easily determine the originating UI spec, to 
> > > > > design
> > > > > test cases and I'm sure they have more uses.
> > > > 
> > > > msgfmt will happily provide you with statistics about untranslated
> > > > strings and fuzzy translations, with the added bonus that it can be
> > > > automated.
> > > 
> > > Yes but it will not help differentiation _visually_ between an en_US or
> > > en_GB string and an Engineering English one.
> > > 
> > > It will not help quickly identifying the originating UI spec.
> > > 
> > > I got myself into this thread to see what can be done to ease the
> > > community involvement. I know that logical IDs are one of the problems
> > > but I'd say it's mainly a problem for developers more than it being a
> > > problem for localzsers.
> > > 
> > > Dropping the logical IDs (If it will happen. I simply do not know) will
> > > not happen today or tomorrow.
> > 
> > Well, of course, the biggest problems currently is the fact that people
> > are not allowed by the F:ed up license agreement to translate the
> > software...  But logical strings ARE a big problems for people doing
> > localisation, unless they're also provided with our localisation
> > documentation that gives all the information about what the different
> > logical IDs represent.  Then there's of course the string format issue,
> > but that is indeed a problem mostly for programmers (but it can
> > potentially be a big problem).
> 
> "Our localisation documentation" is the UI specs ?

Yes, the UI specs, unless we can have the relevant chapters that
describe the strings extracted in an easy manner.  I know that it's
simple to automate for documentation written in sane ways (.tex, for
instance), but I dunno if Word and similar abominations support it in an
easy manner.

> > So if you can manage to convince management that opening all the
> > localisation documents (all lists of logical IDs and their explanations,
> > that is), and Nokia legal that the EULA needs to be rephrased, then I
> > bet most people will be satisfied,
> 
> I never checked/had a copy of the EULA. I need to know 1st what do you
> mean by "localisation documents".

The relevant information was posted earlier in this thread.

> 
> >  but as a programmer I cannot be happy
> > until we get proper strings that have the same parameter format as the
> > real strings, to allow for proper argument checking by the compiler.
> 
> This is not my call. Bug the UI spec designer. What I do is to ensure
> that the format of the translations is the same as the format of
> engineering English. I guarantee that.

Well, we're not using engineering English at the moment.


Regards: David
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Guillem Jover
On Wed, 2007-10-24 at 14:56:46 +0300, ext Marius Vollmer wrote:
> In general, we should try to reduce the need for context and
> complicated translations.  The classical example might:
> 
>Searched in %d files and %d directories.
> 
> You will never be able to translate this nicely for all languages
> because of the wierd way they handle plurals, etc, and because of the
> combinatorial explosion.  A better way is:
> 
>Number of files searched: %d
>Number of directories searched: %d

That's what ngettext is for...

regards,
guillem
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers



Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Kimmo Hämäläinen
On Wed, 2007-10-24 at 15:14 +0300, Marius Vollmer wrote:
> "ext Marius Vollmer" <[EMAIL PROTECTED]> writes:
> 
> > We change the code.  Simple.  Providing unneeded context is bad in my
> > opinion, and the way we do it with the logical ids is excessivly ugly.
> 
> Also, we provide excessive context, but not very relevant context.
> Take "ai_bd_new_repository_ok" as an example: What does it matter that
> this is the Application Manager asking you whether it is OK to add a
> new repository?  The relvant context is that it's a OK/Cancel dialog,
> and that could be encoded with just "confirm|OK", maemo-wide.  A
> dialog that just requires ackowledgement could use "acknowledge|OK".

As I already said, some languages _cannot_ use 'OK' for those, they have
to use the verb, e.g. 'Add'.  Maybe we could use some kind of logical
propositions to go around this: 'Is it true that you want to add a new
repository? True/False' ;)

> Doing cleanup work like this would actually increase the quality of
> translations, I would expect, because the UI speccer could choose a
> well-known, meaningful context in most cases, instead of just making
> every string unique.

Hmm, I cannot imagine how lack of alternatives would help to make better
translations. If the translator has to think how to make the translation
to fit our 10 different contexts, it cannot make her job easier, and the
result will probably be some kind of compromise that does not really fit
well any of the contexts.

> Ok I should shut up now...

I agree :)

BR, Kimmo

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Kimmo Hämäläinen
On Wed, 2007-10-24 at 14:56 +0300, Marius Vollmer wrote:
> Kimmo Hämäläinen <[EMAIL PROTECTED]> writes:
> 
> > Wrong.  It would depend on the context and language.
> 
> Yes, it COULD, fer-crying-out-loudly. :) We have the data now to
> figure out whether it actually DOES for the set of our supported
> languages.

'For the set of our supported languages' -- quoting you -- 'that way
lies madness'. You would need to do this verification every time you add
a new language, or change the context a bit.

> > And what happens when you add a new, more 'context-sensitive'
> > language?
> 
> We change the code.  Simple.  Providing unneeded context is bad in my
> opinion, and the way we do it with the logical ids is excessivly ugly.

You also need to retranslate and test all the supported languages for
the new strings (some of that you could maybe automate). Changing the
code is the easy part. Why not make the engineering English unique, and
use it instead of the logical ids ("OK 1", "OK 2" ;)), hey, we do it
with variable names in code already...

> Also, how do you know whether I use the correct context in my code?
> Maybe I am using "ai_bd_ok" for all my "OK" buttons?

The localisation testers will notice that, sooner or later.

> In general, we should try to reduce the need for context and
> complicated translations.  The classical example might:
> 
>Searched in %d files and %d directories.

Yeah, but if you reduce the context too much, the language quality will
be comparable to a baby's babbling, and soon some man from Tibet will
come and kick your ass! ;)

> You will never be able to translate this nicely for all languages
> because of the wierd way they handle plurals, etc, and because of the
> combinatorial explosion.  A better way is:
> 
>Number of files searched: %d
>Number of directories searched: %d

Sure, there are some examples like that.

BR; Kimmo

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Marius Vollmer
"ext Marius Vollmer" <[EMAIL PROTECTED]> writes:

> We change the code.  Simple.  Providing unneeded context is bad in my
> opinion, and the way we do it with the logical ids is excessivly ugly.

Also, we provide excessive context, but not very relevant context.
Take "ai_bd_new_repository_ok" as an example: What does it matter that
this is the Application Manager asking you whether it is OK to add a
new repository?  The relvant context is that it's a OK/Cancel dialog,
and that could be encoded with just "confirm|OK", maemo-wide.  A
dialog that just requires ackowledgement could use "acknowledge|OK".

Doing cleanup work like this would actually increase the quality of
translations, I would expect, because the UI speccer could choose a
well-known, meaningful context in most cases, instead of just making
every string unique.

Ok I should shut up now...
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Karl Eichwalder
Marius Vollmer <[EMAIL PROTECTED]> writes:

> For example, I have 9 logical ids that map to "OK", and 9 that map to
> "Cancel" in the hildon-application-manager .po file:
>
> $ msgunfmt 
> /usr/share/locale/en_GB/LC_MESSAGES/hildon-application-manager.mo | grep -B 1 
> '"OK"'
> msgid "ai_bd_add_catalogue_ok"
> msgstr "OK"
> --
> msgid "ai_bd_confirm_ok"
> msgstr "OK"

gettext now also support a third keyword that holds the context info:

msgctxt "ai_bd_confirm"
msgid "ok"
msgstr "OK"

-- 
Karl Eichwalder

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Mohammed Hassan
On Wed, 2007-10-24 at 14:56 +0300, Marius Vollmer wrote:
> Also, how do you know whether I use the correct context in my code?
> Maybe I am using "ai_bd_ok" for all my "OK" buttons?

Testing will reveal it.

> In general, we should try to reduce the need for context and
> complicated translations.  The classical example might:
> 
>Searched in %d files and %d directories.
> 
> You will never be able to translate this nicely for all languages
> because of the wierd way they handle plurals, etc, and because of the
> combinatorial explosion.  A better way is:

Or "Searched %d files and directories" ;-)


-- 
Localization Engineer
Open Source Software Operations 

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Marius Vollmer
Kimmo Hämäläinen <[EMAIL PROTECTED]> writes:

> Wrong.  It would depend on the context and language.

Yes, it COULD, fer-crying-out-loudly. :) We have the data now to
figure out whether it actually DOES for the set of our supported
languages.

> And what happens when you add a new, more 'context-sensitive'
> language?

We change the code.  Simple.  Providing unneeded context is bad in my
opinion, and the way we do it with the logical ids is excessivly ugly.

Also, how do you know whether I use the correct context in my code?
Maybe I am using "ai_bd_ok" for all my "OK" buttons?


In general, we should try to reduce the need for context and
complicated translations.  The classical example might:

   Searched in %d files and %d directories.

You will never be able to translate this nicely for all languages
because of the wierd way they handle plurals, etc, and because of the
combinatorial explosion.  A better way is:

   Number of files searched: %d
   Number of directories searched: %d
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Kimmo Hämäläinen
On Wed, 2007-10-24 at 12:12 +0300, ext Marius Vollmer wrote:
...
> For example, I have 9 logical ids that map to "OK", and 9 that map to
> "Cancel" in the hildon-application-manager .po file:
> 
> $ msgunfmt 
> /usr/share/locale/en_GB/LC_MESSAGES/hildon-application-manager.mo | grep -B 1 
> '"OK"'
> msgid "ai_bd_add_catalogue_ok"
> msgstr "OK"
> --
> msgid "ai_bd_confirm_ok"
> msgstr "OK"
> --
> msgid "ai_bd_license_ok"
> msgstr "OK"
> --
> msgid "ai_bd_new_repository_ok"
> msgstr "OK"
> --
> msgid "ai_bd_notice_ok"
> msgstr "OK"
> --
> msgid "ai_bd_ok"
> msgstr "OK"
> --
> msgid "ai_bd_search_ok"
> msgstr "OK"
> --
> msgid "ai_bd_select_location_ok"
> msgstr "OK"
> --
> msgid "ai_bd_settings_ok"
> msgstr "OK"
> 
> What would we do about them?  In this case I'd say we don't need any
> context and just providing one translation for "OK" is OK.

Wrong.  It would depend on the context and language. Some languages
could use something comparable to 'Yes' (or 'OK'), others the verb
'Search', 'Confirm', etc.  And what happens when you add a new, more
'context-sensitive' language?

BR; Kimmo

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Mohammed Hassan
On Wed, 2007-10-24 at 14:19 +0300, David Weinehall wrote:
> On ons, 2007-10-24 at 14:14 +0300, Mohammed Hassan wrote:
> > On Wed, 2007-10-24 at 13:54 +0300, David Weinehall wrote:
> > > On ons, 2007-10-24 at 12:47 +0300, ext Mohammed Hassan wrote:
> > > > On Wed, 2007-10-24 at 12:12 +0300, Marius Vollmer wrote:
> > > > > > The problem is the logical IDs are needed to maintain the smooth
> > > > > > process.  It's not easy to simply drop them. I did not say it's
> > > > > > impossible. I didn't say it'll be done or it'll not. I'm just saying
> > > > > > that they are needed ;-)
> > > > > 
> > > > > This might be so, but I honestly doubt it.  Can you elaborate?
> > > > 
> > > > They are used by l10n testing to easily check for untranslated strings
> > > > (By me as well), to easily determine the originating UI spec, to design
> > > > test cases and I'm sure they have more uses.
> > > 
> > > msgfmt will happily provide you with statistics about untranslated
> > > strings and fuzzy translations, with the added bonus that it can be
> > > automated.
> > 
> > Yes but it will not help differentiation _visually_ between an en_US or
> > en_GB string and an Engineering English one.
> > 
> > It will not help quickly identifying the originating UI spec.
> > 
> > I got myself into this thread to see what can be done to ease the
> > community involvement. I know that logical IDs are one of the problems
> > but I'd say it's mainly a problem for developers more than it being a
> > problem for localzsers.
> > 
> > Dropping the logical IDs (If it will happen. I simply do not know) will
> > not happen today or tomorrow.
> 
> Well, of course, the biggest problems currently is the fact that people
> are not allowed by the F:ed up license agreement to translate the
> software...  But logical strings ARE a big problems for people doing
> localisation, unless they're also provided with our localisation
> documentation that gives all the information about what the different
> logical IDs represent.  Then there's of course the string format issue,
> but that is indeed a problem mostly for programmers (but it can
> potentially be a big problem).

"Our loxalisation documentation" is the UI specs ?


> So if you can manage to convince management that opening all the
> localisation documents (all lists of logical IDs and their explanations,
> that is), and Nokia legal that the EULA needs to be rephrased, then I
> bet most people will be satisfied,

I never checked/had a copy of the EULA. I need to know 1st what do you
mean by "localisation documents".


>  but as a programmer I cannot be happy
> until we get proper strings that have the same parameter format as the
> real strings, to allow for proper argument checking by the compiler.

This is not my call. Bug the UI spec designer. What I do is to ensure
that the format of the translations is the same as the format of
engineering English. I guarantee that.

-- 
Localization Engineer
Open Source Software Operations 

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Mohammed Hassan
On Wed, 2007-10-24 at 14:15 +0300, Eero Tamminen wrote:
> Hi,
> And if you want to check the translation for common errors,
> something like this can be used:
> https://gramps.svn.sourceforge.net/svnroot/gramps/branches/gramps22/po/check_po
> 
> (which of course doesn't work with our "unique ID" because the msgids
> are lacking all the required details.)
> 

Interesting. What are the checks performed by this tool ? The code is
not documented enough and running it against a normal PO produced
meaningless results to me ?

-- 
Localization Engineer
Open Source Software Operations 

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Marius Vollmer
David Weinehall <[EMAIL PROTECTED]> writes:

> [...] but as a programmer I cannot be happy until we get proper
> strings that have the same parameter format as the real strings, to
> allow for proper argument checking by the compiler.

Yes, but this is independent from whether we use logical ids or not.
The practise of using logical ids has made it possible to screw up in
this area like we did (because the software is not required to work in
its untranslated form), and getting rid of logical ids would mean that
we pretty much must get the formatting codes right in the untranslated
strings (because now the software can actually be used untranslated),
but we don't need to get rid of logical ids if we want to fix this.

You can simply tell you UI speccer to put the formatting codes into
the logical ids.  It would be good if they would do that on their own,
and I am sure we just need to make them aware and they will do it by
default.
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Eero Tamminen
Hi,

ext David Weinehall wrote:
> On ons, 2007-10-24 at 12:47 +0300, ext Mohammed Hassan wrote:
>> On Wed, 2007-10-24 at 12:12 +0300, Marius Vollmer wrote:
 The problem is the logical IDs are needed to maintain the smooth
 process.  It's not easy to simply drop them. I did not say it's
 impossible. I didn't say it'll be done or it'll not. I'm just saying
 that they are needed ;-)
>>> This might be so, but I honestly doubt it.  Can you elaborate?
>> They are used by l10n testing to easily check for untranslated strings
>> (By me as well), to easily determine the originating UI spec, to design
>> test cases and I'm sure they have more uses.
> 
> msgfmt will happily provide you with statistics about untranslated
> strings and fuzzy translations, with the added bonus that it can be
> automated.

And if you want to check the translation for common errors,
something like this can be used:
https://gramps.svn.sourceforge.net/svnroot/gramps/branches/gramps22/po/check_po

(which of course doesn't work with our "unique ID" because the msgids
are lacking all the required details.)


- Eero
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread David Weinehall

On ons, 2007-10-24 at 14:14 +0300, Mohammed Hassan wrote:
> On Wed, 2007-10-24 at 13:54 +0300, David Weinehall wrote:
> > On ons, 2007-10-24 at 12:47 +0300, ext Mohammed Hassan wrote:
> > > On Wed, 2007-10-24 at 12:12 +0300, Marius Vollmer wrote:
> > > > > The problem is the logical IDs are needed to maintain the smooth
> > > > > process.  It's not easy to simply drop them. I did not say it's
> > > > > impossible. I didn't say it'll be done or it'll not. I'm just saying
> > > > > that they are needed ;-)
> > > > 
> > > > This might be so, but I honestly doubt it.  Can you elaborate?
> > > 
> > > They are used by l10n testing to easily check for untranslated strings
> > > (By me as well), to easily determine the originating UI spec, to design
> > > test cases and I'm sure they have more uses.
> > 
> > msgfmt will happily provide you with statistics about untranslated
> > strings and fuzzy translations, with the added bonus that it can be
> > automated.
> 
> Yes but it will not help differentiation _visually_ between an en_US or
> en_GB string and an Engineering English one.
> 
> It will not help quickly identifying the originating UI spec.
> 
> I got myself into this thread to see what can be done to ease the
> community involvement. I know that logical IDs are one of the problems
> but I'd say it's mainly a problem for developers more than it being a
> problem for localzsers.
> 
> Dropping the logical IDs (If it will happen. I simply do not know) will
> not happen today or tomorrow.

Well, of course, the biggest problems currently is the fact that people
are not allowed by the F:ed up license agreement to translate the
software...  But logical strings ARE a big problems for people doing
localisation, unless they're also provided with our localisation
documentation that gives all the information about what the different
logical IDs represent.  Then there's of course the string format issue,
but that is indeed a problem mostly for programmers (but it can
potentially be a big problem).

So if you can manage to convince management that opening all the
localisation documents (all lists of logical IDs and their explanations,
that is), and Nokia legal that the EULA needs to be rephrased, then I
bet most people will be satisfied, but as a programmer I cannot be happy
until we get proper strings that have the same parameter format as the
real strings, to allow for proper argument checking by the compiler.


Regards: David
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Mohammed Hassan
On Wed, 2007-10-24 at 13:54 +0300, David Weinehall wrote:
> On ons, 2007-10-24 at 12:47 +0300, ext Mohammed Hassan wrote:
> > On Wed, 2007-10-24 at 12:12 +0300, Marius Vollmer wrote:
> > > > The problem is the logical IDs are needed to maintain the smooth
> > > > process.  It's not easy to simply drop them. I did not say it's
> > > > impossible. I didn't say it'll be done or it'll not. I'm just saying
> > > > that they are needed ;-)
> > > 
> > > This might be so, but I honestly doubt it.  Can you elaborate?
> > 
> > They are used by l10n testing to easily check for untranslated strings
> > (By me as well), to easily determine the originating UI spec, to design
> > test cases and I'm sure they have more uses.
> 
> msgfmt will happily provide you with statistics about untranslated
> strings and fuzzy translations, with the added bonus that it can be
> automated.

Yes but it will not help differentiation _visually_ between an en_US or
en_GB string and an Engineering English one.

It will not help quickly identifying the originating UI spec.

I got myself into this thread to see what can be done to ease the
community involvement. I know that logical IDs are one of the problems
but I'd say it's mainly a problem for developers more than it being a
problem for localzsers.

Dropping the logical IDs (If it will happen. I simply do not know) will
not happen today or tomorrow.

-- 
Localization Engineer
Open Source Software Operations 

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread David Weinehall

On ons, 2007-10-24 at 12:47 +0300, ext Mohammed Hassan wrote:
> On Wed, 2007-10-24 at 12:12 +0300, Marius Vollmer wrote:
> > > The problem is the logical IDs are needed to maintain the smooth
> > > process.  It's not easy to simply drop them. I did not say it's
> > > impossible. I didn't say it'll be done or it'll not. I'm just saying
> > > that they are needed ;-)
> > 
> > This might be so, but I honestly doubt it.  Can you elaborate?
> 
> They are used by l10n testing to easily check for untranslated strings
> (By me as well), to easily determine the originating UI spec, to design
> test cases and I'm sure they have more uses.

msgfmt will happily provide you with statistics about untranslated
strings and fuzzy translations, with the added bonus that it can be
automated.


Regards: David
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Mohammed Hassan
On Wed, 2007-10-24 at 12:12 +0300, Marius Vollmer wrote:
> > The problem is the logical IDs are needed to maintain the smooth
> > process.  It's not easy to simply drop them. I did not say it's
> > impossible. I didn't say it'll be done or it'll not. I'm just saying
> > that they are needed ;-)
> 
> This might be so, but I honestly doubt it.  Can you elaborate?

They are used by l10n testing to easily check for untranslated strings
(By me as well), to easily determine the originating UI spec, to design
test cases and I'm sure they have more uses.


-- 
Localization Engineer
Open Source Software Operations 

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Marius Vollmer
Mohammed Hassan <[EMAIL PROTECTED]> writes:

> On Tue, 2007-10-23 at 14:01 +0300, Marius Vollmer wrote:
>> "ext Mohammed Hassan" <[EMAIL PROTECTED]> writes:
>> 
>> > What I'd propose is we/I replace the logical IDs with Engineering
>> > English in the POT files you use to translate and convert them back
>> > upon packaging and building.
>> 
>> One immediate problem I see with this is that multiple logical ids can
>> map to the same Engineering English string, so you can't reliably
>> reverse the mapping.
>
> I think using msgid_comment can solve that.

Yes, I think so, too.

> The problem is the logical IDs are needed to maintain the smooth
> process.  It's not easy to simply drop them. I did not say it's
> impossible. I didn't say it'll be done or it'll not. I'm just saying
> that they are needed ;-)

This might be so, but I honestly doubt it.  Can you elaborate?

> I completely understand the FOSS way. I have my own Free Software
> projects.  It's just that the situation is different

Yeah, we all know that not all things are the same.  But that's a
useless argument.  Don't try to argue from authority.

>> It would be interesting to take our current translations and mine them
>> for the logical ids that map to the same Engineering English, but at
>> the same time have different translations in some language.  These are
>> the cases where we would need to use the "menu|Open" construct in the
>> code instead of the existing Engineering English string.  Identifying
>> and handling these cases is where I see a large part of the effort
>> needed to move away from logical ids, so it would be good to get an
>> overview.
>
> Multiple logical IDs with the same Engineering English string are needed
> because the translation might change according to the context.

Yes, of course.  Some logical ids map to the same Engineering English,
and some map to unique Engineering English strings.  I am saying that
it would be interesting to get a concrete list of the logical ids that
map to the same Engineering English, to get an idea about how much
work is needed when moving away from logical ids.

For example, I have 9 logical ids that map to "OK", and 9 that map to
"Cancel" in the hildon-application-manager .po file:

$ msgunfmt 
/usr/share/locale/en_GB/LC_MESSAGES/hildon-application-manager.mo | grep -B 1 
'"OK"'
msgid "ai_bd_add_catalogue_ok"
msgstr "OK"
--
msgid "ai_bd_confirm_ok"
msgstr "OK"
--
msgid "ai_bd_license_ok"
msgstr "OK"
--
msgid "ai_bd_new_repository_ok"
msgstr "OK"
--
msgid "ai_bd_notice_ok"
msgstr "OK"
--
msgid "ai_bd_ok"
msgstr "OK"
--
msgid "ai_bd_search_ok"
msgstr "OK"
--
msgid "ai_bd_select_location_ok"
msgstr "OK"
--
msgid "ai_bd_settings_ok"
msgstr "OK"

What would we do about them?  In this case I'd say we don't need any
context and just providing one translation for "OK" is OK.

There are other instances where we might need some context.  We have
enough real-world data in our translations now that we don't need to
talk about this in the abstract.

Maybe I am getting ahead of you guys here.
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-24 Thread Eero Tamminen
Hi,

ext Riku Voipio wrote:
> Mohammed Hassan wrote:
>>> It would be interesting to take our current translations and mine them
>>> for the logical ids that map to the same Engineering English, but at
>>> the same time have different translations in some language.  These are
>>> the cases where we would need to use the "menu|Open" construct in the
>>> code instead of the existing Engineering English string.  Identifying
>>> and handling these cases is where I see a large part of the effort
>>> needed to move away from logical ids, so it would be good to get an
>>> overview.
>>> 
>> Multiple logical IDs with the same Engineering English string are needed
>> because the translation might change according to the context.
>>
> Actually, gettext already has tools to handle same text in different context
> without using logical id:s
> 
> http://www.gnu.org/software/gettext/manual/gettext.html#Contexts

Unfortunately this doesn't solve the problem.
It still needs a code change.


The problem with having just Engineering English is following:

1. There's a release with translations
2. Somebody does a translation for a new language and
notices that in different contexts different translation
needs to be used, but currently *such context is not provided*
- whether the context is given as a part of the string or
  extra parameter to gettext is irrelevant, the required
  context is missing
3. To change this, code needs to be updated
- If gettext context is used, translations don't need to be updated
- If context is in the msgid, also other translation need to be
  updated, but with proper tools that can be automated

Only solution for avoiding 3) is having _some_ unique identifier
in all strings and this of course doesn't deal with the problems
of strings coming from libraries but being shown in different
contexts (maybe in some language "OK" needs to differ according
to the text given in the dialog...).

Only thing our "unique identifiers" get right is being uniq
(they are not understood by translators without relevant UI specs
& they miss format parameters and thus give compiler warnings etc).


So, there are two solutions to the problem:
- Have a process that can deal with code and translation updates
   between releases, or
- Add some context ID to _all_ user visible strings in the code
   (and rest of the string should contain the correct format
parameters, be translator understandable etc)

We can use mixed approach depending on component.


- Eero

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-23 Thread Mohammed Hassan
On Tue, 2007-10-23 at 16:34 +0200, ext API wrote:
> > Pada hari Senin, tanggal 22/10/2007 pukul 22:43 +0200, ext Jordi Mas
> > menulis:
> > > - The possibility to register a new language in the system (the user can
> > > switch to it).
> > 
> > Let's start with this:
> > https://maemo.org/community/wiki/i18n/
> What's the idea of this page? Ask for a better way to do that or explain how 
> do
> you can do that?
> 
> As I say on a previous mail, if you want to add a new language in the system
> the fast and simply way is:
> 
>* Dowload the package posix-locales, modify debian/rules to add the locale
>you want to add, recompile the package and install it on the device.
> 
>* Modify the extra-languages gconf property in order to see the new 
> language
>on the osso-languageregional applet (to allow the user to select it):
>
> gconftool-2 -s "/apps/osso/applet/languageregional/available_languages" 
> -t list --list-type string "[gl_ES]"
> 
>   
> But this allow the user to select the language as "gl_ES", very 
> non-intuitive. It
> could be a good idea to document it, at least meanwhile we haven't a better
> way to do that. Anyway, IMHO, this process should be improved, for example,
> allow to configure languageregional in order to allow to add new endonyms.
> 
> Well, perhaps I'm wrong. There are a better way to register a new language
> in the system?

It's this page:
https://maemo.org/community/wiki/i18n-AddNewLanguages

Please check the 4th step:
4. That's it. If you see only xx_YY and not "Your Language (Your
Country)" in the applet, then you need to find and fill these fields in
the locale data file (then go back to step 1):

LC_ADDRESS

...

country_name "Your Country"

lang_name "Your Language"

...

END_LC_ADDRESS



-- 
Localization Engineer
Open Source Software Operations 

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-23 Thread API

> Pada hari Senin, tanggal 22/10/2007 pukul 22:43 +0200, ext Jordi Mas
> menulis:
> > - The possibility to register a new language in the system (the user can
> > switch to it).
> 
> Let's start with this:
> https://maemo.org/community/wiki/i18n/
What's the idea of this page? Ask for a better way to do that or explain how do
you can do that?

As I say on a previous mail, if you want to add a new language in the system
the fast and simply way is:

   * Dowload the package posix-locales, modify debian/rules to add the locale
   you want to add, recompile the package and install it on the device.

   * Modify the extra-languages gconf property in order to see the new language
   on the osso-languageregional applet (to allow the user to select it):
   
gconftool-2 -s "/apps/osso/applet/languageregional/available_languages" -t 
list --list-type string "[gl_ES]"

  
But this allow the user to select the language as "gl_ES", very non-intuitive. 
It
could be a good idea to document it, at least meanwhile we haven't a better
way to do that. Anyway, IMHO, this process should be improved, for example,
allow to configure languageregional in order to allow to add new endonyms.

Well, perhaps I'm wrong. There are a better way to register a new language
in the system?



===
API ([EMAIL PROTECTED])

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-23 Thread Mohammad Anwari
Pada hari Senin, tanggal 22/10/2007 pukul 22:43 +0200, ext Jordi Mas
menulis:
> - The possibility to register a new language in the system (the user can
> switch to it).

Let's start with this:
https://maemo.org/community/wiki/i18n/


___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-23 Thread Riku Voipio
Mohammed Hassan wrote:
>> It would be interesting to take our current translations and mine them
>> for the logical ids that map to the same Engineering English, but at
>> the same time have different translations in some language.  These are
>> the cases where we would need to use the "menu|Open" construct in the
>> code instead of the existing Engineering English string.  Identifying
>> and handling these cases is where I see a large part of the effort
>> needed to move away from logical ids, so it would be good to get an
>> overview.
>> 
>
> Multiple logical IDs with the same Engineering English string are needed
> because the translation might change according to the context.
>
>   

Actually, gettext already has tools to handle same text in different context
without using logical id:s

http://www.gnu.org/software/gettext/manual/gettext.html#Contexts


___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-23 Thread Mohammed Hassan
On Tue, 2007-10-23 at 14:01 +0300, Marius Vollmer wrote:
> "ext Mohammed Hassan" <[EMAIL PROTECTED]> writes:
> 
> > What I'd propose is we/I replace the logical IDs with Engineering
> > English in the POT files you use to translate and convert them back
> > upon packaging and building.
> 
> One immediate problem I see with this is that multiple logical ids can
> map to the same Engineering English string, so you can't reliably
> reverse the mapping.

I think using msgid_comment can solve that.

> (Also, the code itself should start using Engineering English itself,
> of course, to make it more useful to external developers that don't
> have the UI specs, and because that is how God intended it to be
> done. :-)

The problem is the logical IDs are needed to maintain the smooth process.
It's not easy to simply drop them. I did not say it's impossible. I didn't
say it'll be done or it'll not. I'm just saying that they are needed ;-)

I completely understand the FOSS way. I have my own Free Software projects.
It's just that the situation is different


> It would be interesting to take our current translations and mine them
> for the logical ids that map to the same Engineering English, but at
> the same time have different translations in some language.  These are
> the cases where we would need to use the "menu|Open" construct in the
> code instead of the existing Engineering English string.  Identifying
> and handling these cases is where I see a large part of the effort
> needed to move away from logical ids, so it would be good to get an
> overview.

Multiple logical IDs with the same Engineering English string are needed
because the translation might change according to the context.


> Once that has been dealt with, we could consider using your scheme, or
> we could consider Engineering English instead of logical ids
> everyhwere in our processes.
-- 
Localization Engineer
Open Source Software Operations 

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-23 Thread Marius Vollmer
"ext Mohammed Hassan" <[EMAIL PROTECTED]> writes:

> What I'd propose is we/I replace the logical IDs with Engineering
> English in the POT files you use to translate and convert them back
> upon packaging and building.

One immediate problem I see with this is that multiple logical ids can
map to the same Engineering English string, so you can't reliably
reverse the mapping.

(Also, the code itself should start using Engineering English itself,
of course, to make it more useful to external developers that don't
have the UI specs, and because that is how God intended it to be
done. :-)

It would be interesting to take our current translations and mine them
for the logical ids that map to the same Engineering English, but at
the same time have different translations in some language.  These are
the cases where we would need to use the "menu|Open" construct in the
code instead of the existing Engineering English string.  Identifying
and handling these cases is where I see a large part of the effort
needed to move away from logical ids, so it would be good to get an
overview.

Once that has been dealt with, we could consider using your scheme, or
we could consider Engineering English instead of logical ids
everyhwere in our processes.
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-23 Thread Mohammed Hassan
Hi Jordi,

On Mon, 2007-10-22 at 22:43 +0200, ext Jordi Mas wrote:
> Hello Quim,
> > The current system based on logical strings and not on standard open
> > source practices is open for change though, or at least not-closed to
> > changes. In fact I’m willing to push this feature to the maemo roadmap.
> > A problem here are the implications any change has on code, processes,
> > licensing and such. Nothing that couldn’t be done but since the basic
> > L10n is covered, other features tend to get higher priority and
> > attention.
> >   
> 
> As many other people has pointed out I think that this is a must have
> step for Maemo.

I have to admit it. It's not easy to get rid of them. This will affect
the current process we are following.

I completely understand that you need proper PO/T files to translate and
we need to provide you with them.
What I'd propose is we/I replace the logical IDs with Engineering
English in the POT files you use to translate and convert them back upon
packaging and building.

If this is fine then I can start to see what's needed to be done to
deliver this :-)


> At platform level I see these main needs:
> 
> - The use of standard PO files.

Would my suggestion above role this out ?


> - The possibility to register a new language in the system (the user can
> switch to it).
This is the I18N part. I'm sure they can tell better than me.


> - The possibility to package a deb packet with all the translations and
> install it.
That'd be a standard debian package I guess ? It can also be automated
if we will use a central place/repository to gather all the
translations.


>  From the community management perspective there are many ways of
> organsing it. From going to a system like Pootle or LaunchPad to more
> simple approaches. One easy to setup scenario is:
> 
> - A Wiki page to list the localization teams / efforts.
> - A Wiki page with the I18N requirements / needs are collected.
> - A mailing list to coordinate the community I18N/L10N efforts.
> - An automatic generated PO statistics files for every language, like
> GNOME's Damned Lies. (nice to have)
> - Access to a Subversion space to upload the translations.
> 
> May be makes sense to move all of this to a Wiki page (community
> localization?) and start collecting all this feedback there.
> 
> If such a system is put in place, I can help testing the whole process
> and tools help to translate (I hope with other folks) the system into
> Catalan.

Let's not go into details like the system we use to manage the
translations and stuff. I like the wiki idea so I'd vote for that :-)


___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-22 Thread Quim Gil
Thanks for this insightful email, let's not get it lost.

On Mon, 2007-10-22 at 22:43 +0200, ext Jordi Mas wrote:
> May be makes sense to move all of this to a Wiki page (community
> localization?) and start collecting all this feedback there.

Yes, please.

-- 
Quim Gil - http://maemo.org

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-22 Thread Jordi Mas
Hello Quim,
> The current system based on logical strings and not on standard open
> source practices is open for change though, or at least not-closed to
> changes. In fact I’m willing to push this feature to the maemo roadmap.
> A problem here are the implications any change has on code, processes,
> licensing and such. Nothing that couldn’t be done but since the basic
> L10n is covered, other features tend to get higher priority and
> attention.
>   

As many other people has pointed out I think that this is a must have
step for Maemo.

> a) What is the real interest for L10n in the maemo community? What
> unsupported languages (could) have translators putting pressure, what
> apps (could) be pushing already L10n forward, what projects like the CJK
> support (could) be expanding already L10n beyond Nokia’s list of
> supported languages? (see below)
>   

I suggest to separate between internationalization (I18N) needs and
localization (I10N). There are languages that you probably could already
translate Maemo to (like all the romance languages) but probably the
support for others may require asking/lobbing for new features to the
I18N team (read here RTL or any other feature).

> b) Since the feature is about community translation, should it be
> complemented by any kind of community tools for translation? How to
> reuse what is already translated and how to orchestrate the rest.
> Different open source projects have different ways of organizing
> translations (see for instance GNOME or Ubuntu). We should find the way
> suiting our needs best.
>
> So what do you want? What do you need? Getting into details is
> appreciated. All the better if it’s in a wiki page several people can
> edit, and that is linked from maemo’s roadmap wishlist.
>   

If we use regular PO files then you can leverage all the tools,
glossaries and translation memories from other projects.

At platform level I see these main needs:

- The use of standard PO files.
- The possibility to register a new language in the system (the user can
switch to it).
- The possibility to package a deb packet with all the translations and
install it.
- Establish a process for the community can ask/lobby for I18N features.

I'm not very familiar with the platform. May be some of this kinds are
already possible.

 From the community management perspective there are many ways of
organsing it. From going to a system like Pootle or LaunchPad to more
simple approaches. One easy to setup scenario is:

- A Wiki page to list the localization teams / efforts.
- A Wiki page with the I18N requirements / needs are collected.
- A mailing list to coordinate the community I18N/L10N efforts.
- An automatic generated PO statistics files for every language, like
GNOME's Damned Lies. (nice to have)
- Access to a Subversion space to upload the translations.

May be makes sense to move all of this to a Wiki page (community
localization?) and start collecting all this feedback there.

If such a system is put in place, I can help testing the whole process
and tools help to translate (I hope with other folks) the system into
Catalan.

Regards,

-- 

Jordi Mas i Hernàndez, HomePage http://www.softcatala.org/~jmas/
Bloc personal http://www.softcatala.org/~jmas/bloc/
Planeta Softcatalà: http://www.softcatala.org/planet/


___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-22 Thread API

> Hi Jordi,
> 
> On Thu, 2007-10-18 at 21:20 +0200, ext Jordi Mas wrote:
> > Is there any way to translate the UI into a language not supported
> > directly by Nokia?
> > 
> > If not, I would be possible from the community to localize the different
> > individual PO files, build a deb pack for this language and deploy it?
> 
> As other have pointed out, there are annoyances and obstacles. I'm happy
> to help trying to remove them, though.
> 
> http://flors.wordpress.com/2007/10/22/how-to-bring-community-l10n-to-the-maemo-platform/
>  but copied here for convenience:
Recently I was asked to take a look on how easy could be automatize the 
translation of one app in the n800 (in fact this week, so this is a good 
coincidence), in concrete to galician.

The main problem is translate the current plattform, foremost because
this "not on standard open source practices" you talk about.

Anyway there are some other technical problems too. Two details I found this 
week:
  * posix-locales: you don't have a dpkg-reconfigure like in a normal debian 
 distributions, and this package only includes the maemo plattform 
required. 
 I suppose that this is to save storage space. So if you want to include a 
 new language you need to edit the package to include a new language.

 Well, probably other solution could be install the package locales,
 although I don't test if this is possible, anyone know?

  * osso-applet-language-regional: I only found one way to include a new
 language in this applet: using gconf:
 gconftool-2 -s "/apps/osso/applet/languageregional/available_languages" -t 
list --list-type string "[gl_ES]"
 
 In this way, the combo shows this extra package (well, although only
 if the locale is available, on the locale -a list, so you need to
 modify posix-locales as I say).

 But in this way you see an ugly gl_ES on the combo. This applet has some
 configuration files to configure the language name, but are compiled in
 some way, so not configurable if you haven't got the code.

 Options:
* Reimplement a totally-free version of this applet.
* Ask *someone* (who?) a way to configure it.

===
API ([EMAIL PROTECTED])

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-22 Thread Quim Gil
Hi Jordi,

On Thu, 2007-10-18 at 21:20 +0200, ext Jordi Mas wrote:
> Is there any way to translate the UI into a language not supported
> directly by Nokia?
> 
> If not, I would be possible from the community to localize the different
> individual PO files, build a deb pack for this language and deploy it?

As other have pointed out, there are annoyances and obstacles. I'm happy
to help trying to remove them, though.

http://flors.wordpress.com/2007/10/22/how-to-bring-community-l10n-to-the-maemo-platform/
 but copied here for convenience:

The current system based on logical strings and not on standard open
source practices is open for change though, or at least not-closed to
changes. In fact I’m willing to push this feature to the maemo roadmap.
A problem here are the implications any change has on code, processes,
licensing and such. Nothing that couldn’t be done but since the basic
L10n is covered, other features tend to get higher priority and
attention.

Like in other major features, showing interest, lobbying and providing
winning arguments help the internal advocates increasing their priority
and relevance in our planning work.

Two questions that float around are:

a) What is the real interest for L10n in the maemo community? What
unsupported languages (could) have translators putting pressure, what
apps (could) be pushing already L10n forward, what projects like the CJK
support (could) be expanding already L10n beyond Nokia’s list of
supported languages? (see below)

b) Since the feature is about community translation, should it be
complemented by any kind of community tools for translation? How to
reuse what is already translated and how to orchestrate the rest.
Different open source projects have different ways of organizing
translations (see for instance GNOME or Ubuntu). We should find the way
suiting our needs best.

So what do you want? What do you need? Getting into details is
appreciated. All the better if it’s in a wiki page several people can
edit, and that is linked from maemo’s roadmap wishlist.

FYI the OS2008 supports Brazilian Portuguese, Danish, Dutch, English
American, English British, Finnish, French, French Canadian, German,
Italian, Norwegian, Portuguese, Russian, Spanish, Latin American Spanish
and Swedish. The Nokia N810 hardware keyboard has the following
variants: English, German, French, Italian, Russian, Spanish-Portuguese
and Scandinavian.

-- 
Quim Gil - http://maemo.org

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-19 Thread Guillem Jover
Hi Jordi,

On Thu, 2007-10-18 at 21:20:11 +0200, Jordi Mas wrote:
> It seems technically possible to localize the different components to
> other languages since all the infrastructure is based on intltool and
> seems very well internationalized.

Well, the source code is using logical strings, which I've pointed
out in the past being a bad idea (internally and on this list [0]).
But then I'm not officially involved with l10n at Nokia.

At the time, I wanted to start translating it to Catalan, but I decided
I didn't want to waste my spare time dealing with the logical strings.
Supposedly some packages might be switching or have switched to
"engineering english", which is an improvement, but still. Good luck
anyway ...

regards,
guillem

[0] http://lists.maemo.org/pipermail//maemo-developers/2006-February/002974.html
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: Maemo localization to officially non-supported languages

2007-10-18 Thread Marius Gedminas
On Thu, Oct 18, 2007 at 09:20:11PM +0200, Jordi Mas wrote:
> I would like to explore the possibility of localizing  Nokia N800 user
> interface to languages that are not currently localized by Nokia itself[1].

I also.

> It seems technically possible to localize the different components to
> other languages since all the infrastructure is based on intltool and
> seems very well internationalized.

However note the licence you have to click through when you download a
software image from http://tablets-dev.nokia.com/nokia_N800.php:

  (b) You may not use, modify, translate, reproduce, or transfer the right
   ^
  to use the Software or copy the Software except as expressly provided
  in this Agreement.

> Is there any way to translate the UI into a language not supported
> directly by Nokia?
> 
> If not, I would be possible from the community to localize the different
> individual PO files, build a deb pack for this language and deploy it?
> This is obviously from a localization point of view without exploring
> internationalization issues. I think that it would be cool to have a
> repository of community supported translations that can be installed
> using a single package that localizes the main components.

Marius Gedminas
-- 
I would suggest re-naming "rmbdd()". I _assume_ that "dd" stands for "data
dependent", but quite frankly, "rmbdd" looks like the standard IBM "we
lost every vowel ever invented" kind of assembly lanaguage to me.
-- Linus Torvalds


signature.asc
Description: Digital signature
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Maemo localization to officially non-supported languages

2007-10-18 Thread Jordi Mas
Hello folks,

I would like to explore the possibility of localizing  Nokia N800 user
interface to languages that are not currently localized by Nokia itself[1].

It seems technically possible to localize the different components to
other languages since all the infrastructure is based on intltool and
seems very well internationalized.

Is there any way to translate the UI into a language not supported
directly by Nokia?

If not, I would be possible from the community to localize the different
individual PO files, build a deb pack for this language and deploy it?
This is obviously from a localization point of view without exploring
internationalization issues. I think that it would be cool to have a
repository of community supported translations that can be installed
using a single package that localizes the main components.

Best Regards,

[1]
http://www.gossamer-threads.com/lists/maemo/developers/18308?search_string=catalan;#18308

-- 

Jordi Mas i Hernàndez, HomePage http://www.softcatala.org/~jmas/
Bloc personal http://www.softcatala.org/~jmas/bloc/
Planeta Softcatalà: http://www.softcatala.org/planet/


___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers