Hello,
I am currently using l20n for my project. And I would like to set the current
locale depending on a query param of the URL. I read
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/L20n/L20n_Javascript_API
and here is how I managed that (probaly not the best way to go) :
* I declared the manifest through `<link rel="localization"
href="locales/manifest.json">` and this file contains :
```
{
"locales": [ "en", "fr"],
"default_locale": "en",
"resources": ["{{locale}}/myFile.l20n"]
}
```
* I import the l20n.js script through `<script type="text/javascript"
src="js/lib/l20n-1.0.2.js" charset="UTF-8"/>`
* Then I import some of my JS code, in order to set the locale :
```
var locale = localeQueryParam || navigator.language ||
navigator.browserLanguage // Assumes that 'localeQueryParam' is defined
var ctx = L20n.getContext();
var folder = locale.indexOf('fr') > -1 ? 'fr' : 'en'; // FIXME that could
be nice if I can let l20n do the locale fallback
ctx.linkResource('./locales/' + folder + '/myFile.l20n'); // FIXME the path
is also in 'manifest.json'
ctx.requestLocales();
```
This implementation is working, since we get the appropriate locale and the
labels are found. However I would like to improve it because :
* The path to the bundles is defined in both the manifest.json file and in my
JS code. This is not convenient for defining new bundle files. I first tried to
remove the link to the Manifest, but it leads to an error in the console, as
l20n seems to depend on this file. On the other side, if I remove my JS code,
the 'locale' query param is ignored.
* A (poor) locale fallback mechanism is used in my JS code. I would like to let
l20n cares about that.
Could you please give me an advice in order to fullfil my requirement (of
reading the 'locale' query param) without the drawbacks that are previously
mentioned ?
Perhaps there is some kind of `ctx.setCurrentLocale(locale)` method ?
Many thanks in advance,
Fabrice
_______________________________________________
tools-l10n mailing list
[email protected]
https://lists.mozilla.org/listinfo/tools-l10n