In Gaia's Browser app, there's an about-browser string defined as follows in apps/browser/locales/browser:
about-browser=About {{browserBrandShortName}}
In many inflected languages (e.g. German, Finnish, Hungarian, all Slavic languages), the "about" preposition governs the grammatical case of the complement. It might be the accusative (German), ablative (Latin) or locative (Slavic languages). Let's take Slovenian as an example.
In Slovenian, the ideal string would inflect the noun, like so:
O Firefoxu
However, since we want the name of the browser to be stored in the browserBrandShortName entity, we can't modify it. The work-around is to inflect an auxiliary noun complement, e.g. "browser", to give "About the Firefox browser". Needless to say, this ends up being long and often unnaturally-sounding to the native speakers.
about-browser=O brskalniku {{browserBrandShortName}}
In L20n, this problem can be easily solved by defining multiple variants of the browserBrandShortName entity, to match different grammatical cases of the noun.
In shared/branding/official/branding, we can define browserBrandShortName as:
<browserBrandShortName {
naminative: "Firefox",
genitive: "Firefoxa",
dative: "Firefoxu",
accusative: "Firefox",
locative: "Firefoxu",
instrumental: "Firefoxom"
}>
And in shared/branding/unofficial/branding, we can define browserBrandShortName as follows, to mean "Web Browser":
<browserBrandShortName {
naminative: "Brskalnik",
genitive: "Brskalnika",
dative: "Brskalniku",
accusative: "Brskalnik",
locative: "Brskalniku",
instrumental: "Brskalnikom"
}>
Now, coming back to apps/browser/locales/browser, we can take advantage of the grammatical cases
<aboutBrowser "O {{ browserBrandShortName.locative }}">
For the official branding, we get:
O Firefoxu
And for the unoffical branding, we end up with:
O Brskalniku