Formáty / Rails YAML

Rails YAML s kořenovým klíčem jazyka, který napíšeme za vás

Lokalizační soubor Rails vypadá jako obyčejný vnořený YAML. O tom, jestli se soubor, který dostanete zpátky, načte jako jazyk, který jste chtěli, rozhodují dva detaily.

.yml / .yaml

Kořenový klíč je jazyk a při exportu se musí změnit

Rails obalí celý lokalizační soubor jedním klíčem nejvyšší úrovně: en: v anglickém souboru, cs: v českém. Zkopírujte anglický soubor, přeložte všechny hodnoty, zapomeňte na kořen a Rails načte vaše české texty jako druhou kopii angličtiny.

Linguiqo čte kořenový klíč jako jazyk, ne jako součást každého klíče, takže cart.empty v en.yml a cart.empty v cs.yml pozná jako stejný text. Při exportu se kořen zapíše jako exportovaný jazyk, ve stejném zápisu, jaký používá váš soubor: pt-BR zůstane pt-BR.

Soubor, jehož jediný klíč nejvyšší úrovně není jazyk, třeba app: v katalogu Symfony, si ten klíč ponechá přesně tak, jak byl.

Z vnořených klíčů se stane jedna adresa pro každý text

Každá úroveň vnoření se změní na tečku, takže překladatel vidí checkout.cart.empty, stejný název, jaký váš kód předává do t(). Při exportu se z teček zase stane vnoření a seznam zůstane seznamem: errors: [First, Second] se vrátí jako seznam, ne jako hash s klíči 0 a 1.

Dlouhé hodnoty se nikdy nezalamují na víc řádků a znaky s diakritikou se zapisují jako takové, ne jako escape sekvence, takže soubor zůstane v diffu čitelný.

Interpolace se kontrolují, ne jen kopírují

Překlad, který vynechá %{count} nebo přejmenuje %{name} na %{nom}, zobrazí doslovný placeholder nebo za běhu vyhodí chybu. Linguiqo interpolaci Rails pozná jako placeholder a kontroly kvality označí překlad, jehož placeholdery nesedí se zdrojovým textem.

Otázky

Můžu importovat .yaml stejně jako .yml?

Ano. Pozná obě přípony a formát se při nahrání určí z názvu souboru.

Jak se pracuje s klíči pro množná čísla v Rails?

Hash pro množná čísla, třeba items: { one: ..., other: ... }, přijde jako samostatné texty items.one a items.other a odejde zpátky ve stejném vnoření. Linguiqo nepřidá další tvary, které potřebuje jazyk jako čeština nebo polština, takže pro tyto jazyky doplňte klíče few a many do zdrojového souboru.

Přežije klíč s kontextem?

YAML nemá pole pro kontext, takže každý klíč drží jeden text. Pokud má projekt pod jedním klíčem dva texty, export ještě před zápisem souboru řekne, který by vynechal.

Vyzkoušejte to na vlastním souboru Rails YAML

Ukázka načte váš skutečný soubor a ukáže, co z něj vzniklo. Bez registrace, po dvou hodinách se všechno smaže.

Otevřít ukázku

Co je Linguiqo