Closed Bug 519696 Opened 10 years ago Closed 10 years ago

Determine locale list for maemo multi-locale builds

Categories

(Firefox for Android Graveyard :: General, defect, P1)

ARM
Maemo
defect

Tracking

(Not tracked)

VERIFIED FIXED
fennec1.0b5

People

(Reporter: Pike, Assigned: Pike)

References

Details

(Whiteboard: [fennec l10n])

Attachments

(1 obsolete file)

No idea if this is an educated guess on how to get a list of selectable locales from the device, but I did the following on my N810, and I think it matches what happens in the UI:

/usr/share/locale $ ls */LC_MESSAGES/hildon-common-strings.mo |awk -F / '{print $1;}'
da_DK
de_DE
en_GB
en_US
es_ES
es_MX
fi_FI
fr_CA
fr_FR
it_IT
nl_NL
no_NO
pt_BR
pt_PT
ru_RU
sv_SE

That would yield as base set for maemo-locales 

da
de
es-ES
fr
it
nl
pt-BR
ru

Non-optimal matches are left for
en_GB
es_MX
fi_FI
fr_CA
no_NO
pt_PT
sv_SE

It leaves "lengthy list of other locales" at non-optimal UE. That includes locales that are traditionally high in Firefox, Polish, Japanese, and a good list of locales with "pretty high" (tier 2), cs, es-AR, hu, ko, tr, zh-CN, zh-TW.

Does that list of device locales look right? And what it is on the n900?
Blocks: 519684
Whiteboard: [fennec l10n]
tracking-fennec: --- → ?
stectchz helped me with the info for N900.
cs_CZ
es_MX 
no_NO 
da_DK 
fi_FI 
pl_PL 
de_DE   
fr_CA   
pt_PT 
en_GB   
fr_FR   
ru_RU 
en_US   
it_IT 
sv_SE 
es_ES
nl_NL
so, the n900 does have Polish and Czech, but no pt-BR.

That said, I have no confirmation that the script stuff I do is actually returning the list of locales to be selected in the UI.

And, if you provide data like that, please give it sorted.
I landed a prelimenary version as maemo-locales in http://hg.mozilla.org/mobile-browser/rev/facd1c1dc5b2 just to get some data there to bootstrap the build stuff.
At this point, we are coin tossing to make this work.  In speaking with Axel (et al.), it seems that we have to nail something definite down rather than test against an unknown.  

For example, in our code that attempts to use matchOS (found here http://mxr.mozilla.org/mozilla-central/source/chrome/src/nsChromeRegistry.cpp), the chrome registry can return es-ES for browser and es-AR for toolkit and es-CL for security/manager. 

In this case, that may be fine if the selected locale is es-MX. But, for languages which have multiple variants on the device, and for which we have multiple variants (es-*, pt-* etc.), we either:

- have exact matches for all variants the device offers, or
- just ship a single variant of ours

Stuart:  did you ask the Nokia team about this when you were at Nokia world last week?  If their team is making a guess at how to match the device locale-code match to the user-facing OS, then that's a good data point.
Severity: normal → blocker
Priority: -- → P1
Target Milestone: --- → B5
Assignee: nobody → pavlov
tracking-fennec: ? → 1.0+
We're still in hand-waving state for this, but here's an update to the locales list for the multi-locale list.

It's not really what we want to ship, that would at least have Finnish and Danish in there, but those have too many missing strings for B5.

We'll need a new nightly after this lands to test 'cs', 'pl', 'pt-PT'.
Attachment #411162 - Flags: review?(mark.finkle)
Attachment #411162 - Flags: review?(mark.finkle) → review+
Comment on attachment 411162 [details] [diff] [review]
update maemo-locales on good locales

http://hg.mozilla.org/mobile-browser/rev/e50511b5e4a1, landed this part.
Attachment #411162 - Attachment description: update maemo-locales on good locales → update maemo-locales on good locales [checked in]
Comment on attachment 411162 [details] [diff] [review]
update maemo-locales on good locales

need to add back da, cs, pl, pt-PT, probably fi, too.
Attachment #411162 - Attachment description: update maemo-locales on good locales [checked in] → update maemo-locales on good locales
Attachment #411162 - Attachment is obsolete: true
No idea what to do about Norway. no_NO is not gonna match nn-NO nor nb-NO.
http://www.sil.org/iso639-3/documentation.asp?id=nor isn't clueful either.
Just butting in here with a question:

Will locales not in the Maemo list not be available in Fennec? Or to put it another way, will Maemo Fennec be shipping with locales not on the device?
Yes, some our locales might be in the multi-locale build even if not on the device. We're going to ship single-locale debs from mozilla sites in addition to the multi-locale build, too.
Havard, googling through the history of no_NO a bit, it seems that that's meant to be nb_NO? Is that right?
the list from comment #1 is correct.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Reopening.

This has nothing to do with getting the list of locales that maemo ships with, but with which we ship with in the multi-locale build. The maemo list is just background information on that.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(In reply to comment #14)
> Reopening.
> 
> This has nothing to do with getting the list of locales that maemo ships with,
> but with which we ship with in the multi-locale build. The maemo list is just
> background information on that.

Axel, I am having a hard time interpreting your comment.  :)  Can you take a crack at writing that again for my sake?  I am confused.  

If I am interpreting this correctly, is the bug I filed today about mapping locales we ship in the multi-locale build to the Nokia devices a dupe?  

Here is that bug that might be a dupe:

https://bugzilla.mozilla.org/show_bug.cgi?id=528227
Closed bug 528227.

We need to make a call on which locales we can put into a multi-locale build, which this bug is about.

Information influencing that decision are:

- which locales does the device offer
- where is the device shipped
- which locales do we have
- how big is the multi-locale deb allowed to grow

Based on those boundary conditions, we need to figure out the best user experience.

Challenges so far have been Spanish and Norwegian.

Spanish can be resolved by only shipping a single spanish version as long as we don't have exact matches for the es_* variants on the device (currently es-MX is missing on our side). es-ES seems like the right candidate there.

Norwegian is tougher, as the device sends the deprecated no_NO code, which the current platform code maps to no-NO. We have nb-NO (bookmal covers 90% of usage according to wikipedia) and nn-NO, which by the standardized algorithms for locale selection, doesn't match no-NO any better than en-US, so we're picking en-US. If we want to have Norwegian in the multi-locale builds, we need a seperate bug to tweak the platform intl code to fake something, or the chrome registry to fake something, or the build process to fake something. All of these are brittle in their own right, intl might be the easiest in that it's just not exposing the deprecated locale code. The right fix would be for maemo to not use that code, the second right fix is to incorporate no-NO into the exception rules to be defined and picked up in bug 525494.
This is going to sound like a broken record, but I am sure Stuart will reply that the locales the device offers are listed in comment #1.  Stuart, correct me if I am wrong. 

If that is the case, then the debate that is springing up from comment #13 and #14 needs resolution because I don't think Stuart is understanding Pike or vice versa.  (Or I am clueless. :) ) 

Stuart, I think Pike has listed his rationale, can you comment now?

(In reply to comment #16)
> Information influencing that decision are:
> 
> - which locales does the device offer

cs_CZ
es_MX 
no_NO 
da_DK 
fi_FI 
pl_PL 
de_DE   
fr_CA   
pt_PT 
en_GB   
fr_FR   
ru_RU 
en_US   
it_IT 
sv_SE 
es_ES
nl_NL

> - where is the device shipped

Russia 
AT AUSTRIA 
CH SWITZERLAND 
DE GERMANY 
DK DENMARK 
ES SPAIN 
FI FINLAND 
FR FRANCE 
GR - GREECE 
HU HUNGARY 
IE IRELAND 
IT ITALY 
NL NETHERLANDS 
NO NORWAY 
PL POLAND 
PT PORTUGAL 
SE SWEDEN 
Serbia 
SK SLOVAKIA 
UK 
Estonia 
Lithuania 
Latvia 
Slovenia 
Croatia 
Romania 
Czech Republic 
Saudi Arabia 
Kuwait 
Qatar 
Oman 
Bahrain 
UAE 
USA 
Belgium 
Luxemburg 
Iceland 
Bulgaria 
Bosnia Herzegovina 
Montenegro 

> - which locales do we have

I'd like to step in and take responsibility (with the l10n-drivers) for getting these locales green:

http://l10n.mozilla.org/dashboard/?tree=fennec10x

That's 39 locales.  Of the locales listed, I am guess we will not get all 39.  Danish is _very_ unlikely.

> - how big is the multi-locale deb allowed to grow

I cannot answer this question.
Hi ;-D

As stated in bug 521984 #5, I've now taken care of the localization for Firefox
Mobile (Fennec10x) so there is a localization ready, but I'm uncertain about
whether I will be the maintainer of /mobile here-on forward...

But if you want a Danish option for the 1.0 release, there's fresh bits ready to serve ;-D
(In reply to comment #18)

> But if you want a Danish option for the 1.0 release, there's fresh bits ready
> to serve ;-D

Thank you for doing the work! Much appreciated
Assignee: pavlov → l10n
Severity: blocker → normal
tracking-fennec: 1.0+ → ---
So, here's the two lists we have so far with 

- should be on the device
-- and not confuse matchOS
- spoken in a region where the device is sold
- and we have it

cs
da
de
es-ES
fi
fr
it
nb-NO
nl
pl
ru

with additions as we can afford

el
hu
ja
lt
sk
sl
sr
ro

We're not bound to ship these, those are the locales that should be part of the nightly. Shipping would be a combination of being in the nightly, and being actually shipped.

I'd like to get some feedback on this list from the mobile team.
Please note that with some help to correct a poorly constructed and landed patch, I suspect pt-PT can be added to the list above. But, we're going to have to get the localization team to fix and test.

The N900 device is also being shipped in many Arabic-speaking countries.  However, there are outstanding RTL issues and the device does not offer by default "ar".  If we fix some of the RTL issues, we can add ar to future versions down the line.  

http://l10n.mozilla.org/~stas/bugxhibit/?qs=ALL%20fennec%20rtl
http://hg.mozilla.org/mobile-browser/rev/52d3aeb30d93 is the new locale list, I guess this is gonna be good for 1.0.

The no_NO to nb-NO mapping is bug 533814.

Marking FIXED.
Status: REOPENED → RESOLVED
Closed: 10 years ago10 years ago
Resolution: --- → FIXED
verified (I see the locale names on the multi-locale nightly builds for 1.9.2) FIXED on builds:

Mozilla/5.0 (X11; U; Linux armv7l; Nokia N900; en-US; rv:1.9.2b5pre) Gecko/20091217 Firefox/3.6b5pre Fennec/1.0b6pre

and

Mozilla/5.0 (X11; U; Linux armv6l; Nokia N8xx; en-US; rv:1.9.3a1pre) Gecko/20091217 Firefox/3.7a1pre Fennec/1.0b5
Status: RESOLVED → VERIFIED
Component: Linux/Maemo → General
QA Contact: maemo-linux → general
You need to log in before you can comment on or make changes to this bug.