are native English speakers?
vs.
Zbigniew Braniecki, @zbraniecki
Staś Małolepszy, @stas
dated approach
English-centric
key-value pairs
plurals if you're lucky
(if you're a developer)
(if you're a localizer)
(if you're a user)
client-side
isolated
grammar-agnostic
responsive
based on a social contract
<h2 l10n-id="hello"></h2>
<hello "Hello, World!">
<hello "Witaj świecie!">
document.l10n.get('hello');
<liked "{{ $user.name }} liked your photo.">
<liked[$user.gender] {
feminine: "{{ $user.name }} polubiła twoje zdjęcie.",
masculine: "{{ $user.name }} polubił twoje zdjęcie.",
}>
document.l10n.localize(['hello', 'new'], function(l10n) {
var node = document.querySelector('[l10n-id=hello]');
node.textConent = l10n.entities.hello;
node.classList.remove('hidden');
});
Developers provide important data as context data
L20n always returns strings
Retranslate pieces of UI when something changes
Released today
Try it at l20n.org
Fork it at github.com/l20n