Fluent

Z L10N.cz Wiki
Přejít na: navigace, hledání

Fluent (dříve L20n) je celý lokalizační systém navržený Mozillou, který umožňuje překlady maximálně přizpůsobit podle cílového jazyka. Soubory používají příponu .ftl.

Syntaxe

Úplně nejzákladnější podoba .ftl souboru není nepodobná Properties (IDENTIFIKATOR = RETEZEC). Navíc ale umožňuje reference na další řetězce nebo dodatečné atributy.

menu-settings = Settings
help-menu-settings = Click { menu-settings } to save the file.
login-button =
    .label = Login
    .accesskey = L

Základní syntaxe IDENTIFIKATOR = RETEZEC je velmi jednoduchá, ale pro plné využití možností Fluentu se předpokládá použití nějakého editoru. Jelikož jde o poměrně nový formát, který se pomalu prosazuje v překladech Mozilly, nejdále je podpora zřejmě v jejím webovém editoru Pontoon.

emails = { $unreadEmails ->
        [one] You have one unread email.
        [42] You have { $unreadEmails } unread emails. So Long, and Thanks for All the Fish.
       *[other] You have { $unreadEmails } unread emails.
    }

Toto je příklad selektorů pro množná čísla. Fluent podporuje kromě standardních CLDR kategorií, také konkrétní čísla, takže je možné překlad libovolně vyladit pro konkrétní situaci. Hvězdička označuje výchozí variantu řetězce (v příkladu tedy jakékoliv číslo kromě jedničky a čtyřicet dvojky). Selektory je možné používat i v kombinaci s některými vestavěnými funkcemi.

Skloňování

Pokročilejší syntax Fluentu lze použít k podpoře skloňování podstatných jmen definovaných v samostatných entitách. Typicky jde o názvy produktů nebo služeb.

-vendor-short-name =
    { $case ->
       *[nom] Mozilla
        [gen] Mozilly
        [dat] Mozille
        [acc] Mozillu
        [voc] Mozillo
        [loc] Mozille
        [ins] Mozillou
    }

Tady vidíme překlad slova Mozilla v entitě s názvem -vendor-short-name. Hvězdička označuje výchozí pád, pokud by žádný nebyl explicitně vybraný. Všimněte si také speciálního typu entity začínající pomlčkou. Označuje se jako termín. Jejich použití se pak rovněž trochu liší (nepoužívá se znak dolaru).

learn-more-blog = Podrobnosti najdete na blogu { -vendor-short-name(case: "gen") }.

Výsledný text

Editory a nástroje

Knihovny

Fluent poskytuje knihovny pro internacionalizaci softwaru v jazycích Rust, JavaScript, Python a Mozilla ho používá i pro lokalizaci Firefoxu v C/C++ a výhledově i aplikací v Javě pro Android.

Externí odkazy