L20n/Examples: Difference between revisions

(show the examples.)
 
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
As L20n is in its very early stages, the current examples are pretty rudimentary and tailored to show the feasibility of particular aspects. They're not all working on the same fileformat either, merely because that makes them easier to implement. Examples will be listed in chronological order, the further you go down, the bigger will be the differences compared to what's supposed to be the end result.
As L20n is in its very early stages, the current examples are pretty rudimentary and tailored to show the feasibility of particular aspects. They're not all working on the same fileformat either, merely because that makes them easier to implement. Examples will be listed in chronological order, the further you go down, the bigger will be the differences compared to what's supposed to be the end result.
Right now, all demos are implemented in js, with varying use of the dojo toolkit, for no particular reason.
== Von allen Gedanken ==
This revision added macros and expressions, and is the first time we can do demos for plurals again, which happens to be the only new sample this cycle, too. All ''Meet Pete'' examples work without modification.
=== Plurals demo ===
This demo shows how to create a macro and how to call into it to create strings depending on unknown quantities.
[http://people.mozilla.com/~axel/l20n/js-l20n/sample-04.html Plurals demo]
=== Declension demo ===
This is a sample to demo the flexibility of l20n, going as far as to provide an extra value for one particular use. Mostly, because I don't know Finnish at all, so I couldn't really pick a better name.
Please note that the complexity in this example is only affecting the Finnish localization, the English version remains unaffected.
Thanks to Sini Ruohamaa for the request.
[http://people.mozilla.com/~axel/l20n/js-l20n/sample-05.html Declensions demo]
== Meet Pete ==
These demos are based on a pretty good grammar for the file formats, but don't support expressions yet, that's why there are no plural demos in this section. [http://sluggy.com/daily.php?date=070126 Meet Pete] is the code name for this version.


=== App-Toolkit demo ===
=== App-Toolkit demo ===
This demo shows how to compose strings from two separate files, and how to make the resulting string look good. A typical example of a string from toolkit using the application name.
This demo shows how to compose strings from two separate files, and how to make the resulting string look good. A typical example of a string from toolkit using the application name.


It's implemented in java, for no reason but that I thought that antlr was a good tool. It's limited in functionality because antlr has some weeknesses, in particular in generating trees for hierarchical grammars. Like, file has entries, entries have key-values, values could be strings, arrays or hashes, strings can have params. It stopped working at the params level, so that is hacked right now. I didn't go into the detail of implementing expressions to be used for macros/functions, so there's no implementation for plurals.
[http://people.mozilla.com/~axel/l20n/js-l20n/sample-01.html app-toolkit demo]
 
Tested on Firefox 2.


[http://people.mozilla.com/~axel/l20n/ app-toolkit demo]
=== Accesskeys demo ===
This sample shows how to keep things together that belong together. In this case, that happens to be the value and the accesskey attributes for a HTML button. (Sadly, the accesskey doesn't work in fx2, tips? [https://bugzilla.mozilla.org/show_bug.cgi?id=127411 Bug 127411])


Tested on Firefox 2 with a Java 5 Update 10.
[http://people.mozilla.com/~axel/l20n/js-l20n/sample-02.html accesskeys demo]


=== Plurals, DOM, Genders ===
=== Language fallback ===
This demo is a js-implemented dojo-based piece showing how plurals would work. In addition to that, it demos how one could map localized objects onto a DOM tree, which seems interesting to me.
This sample shows how to implement one locale falling back to another. Using en-GB and en-US with en-GB falling back to en-US is merely because I don't speak any interesting languages, but the fallback path is totally programmatic and can be any locale to any other.


It's using a hacked up fileformat much closer to json than what I intend to have in the end. The js-eval based approach didn't work for the app-toolkit composition demo, too. It does work for the plural forms nicely, though, that's why it's still there. And it does DOM.
[http://people.mozilla.com/~axel/l20n/js-l20n/sample-03.html fallback demo]


[http://people.mozilla.com/~axel/scratchpad/ DOM and plurals demo]
==Reference links==
* [http://blog.mozilla.org/l10n/2012/03/29/l20n-examples-for-localizers/ L20n examples for localizers]
* [http://informationisart.com/3/ L20n demo with examples]


Tested on Firefox 2. Uses <code>__proto__</code>, so don't expect this to work in IE.
<b>[https://wiki.mozilla.org/L20n Back to L20n home]</b>


[[category:L20n]]
[[category:L20n]]
Account confirmers, canmove, Confirmed users
2,357

edits