Soubory lokalizace jsou textové soubory, které lze otevřít a upravit v textovém editoru, jako je Notepad nebo TextEdit, nebo v jednom z mnoha vylepšených nástrojů pro úpravu textu používaných programátory. Tyto soubory obvykle dodržují princip klíč-hodnota. To znamená, že obsahují seznam textových úryvků (řetězců), které jsou spojeny s unikátními ID (klíči). Každý řetězec je tedy hodnota klíče (Tento jednoduchý příklad je formát souborů lokalizace používaný v programování v Javě.):
-
key1 = value1
-
key2 = value2
-
...
-
keyN = valueN
Vytvoření souborů lokalizace
Soubory lokalizace jsou soubory prostého textu s jednoduchou strukturou. Mohou být vytvořeny ručně, ale obvykle jsou automaticky generovány nástroji pro internacionalizaci nebo skripty, které jsou k dispozici pro různé vývojové prostředí. Automatické vytváření souborů lokalizace zajišťuje, že struktury souborů jsou platné.
Pro vytvoření souboru lokalizace jsou všechny kusy zobrazitelného textu nahrazeny unikátními ID v kódových souborech. Textové řetězce jsou poté přidány do souboru lokalizace se svými ID.
Použití souborů lokalizace
Místo skutečných textových řetězců nyní kód obsahuje pouze klíče. Když software generuje zobrazení pro uživatele, tyto klíče se používají k vyhledání souvisejících řetězců v souboru lokalizace.
Pokud je aplikace nastavena na používání angličtiny a španělštiny, veškerý anglický text může být uchován v souboru nazvaném English.txt a je to výchozí umístění textu. Pokud uživatel nevybere jazyk, veškerý text bude načten z tohoto souboru pro generování jakéhokoli zobrazení. Pokud uživatel vybere španělštinu, software je přesměrován na Spanish.txt. Mnoho jazyků může být použito se systémem jako je tento.
Výhodou je, že volba jazyka pro zobrazení neovlivňuje kód. Pokud software potřebuje zobrazit přihlašovací tlačítko, může vyžadovat řetězec spojený s klíčem login_button a potřebuje pouze vědět, v kterém souboru hledat, aby získal odpovídající řetězec pro daný jazyk.
Správa řetězců
Jako platforma pro překlad založená na klíčích, Phrase podporuje mnoho různých typů souborů s prostředky. Po nahrání souborů jsou extrahovány klíče a jejich přidružené hodnoty řetězců. Klíče a řetězce jsou poté prezentovány překladateli ve standardizovaném formátu. Překladatelé se soustředí na svůj úkol, aniž by se museli obávat přesného formátu lokalizačního souboru. Mohou zkontrolovat klíče, protože klíč sám může poskytnout zásadní kontext a nasměrovat je k správným volbám slov.
Když jsou všechny řetězce přeloženy, soubory jsou staženy. V procesu se vytvářejí potřebné formáty lokalizačních souborů, které odpovídají původnímu zdrojovému souboru.
Formáty souborů s prostředky file formats
Jsou podporovány čtyři široké typy prostředků, které jsou všechny v podstatě textové a mohou být otevřeny a prozkoumány v textovém editoru.
Tabulky
.XLSX a .CSV soubory jsou podporovány. Tyto formáty jsou ekvivalentní pro lokalizační účely a obsahují řádky párů klíč-hodnota. Klíče jsou v jednom řádku, zatímco odpovídající hodnoty jsou v sousedním řádku. Který přesný sloupec je použit pro který účel závisí na aplikaci a lokalizátor musí nakonfigurovat Phrase, aby správně interpretoval sloupce. ZenDesk .CSV soubory mají pevnou strukturu, takže tento typ souboru nevyžaduje další úpravy:
"Název","Výchozí jazyk","Výchozí text","Anglický text","Stav varianty" "simple_key","Němčina","Jednoduchý klíč.","Jednoduchý klíč.","Aktuální"
XML
XML je formát, který nabízí meta informace ve formě <tags>. Struktura tagů se používá k určení, kde se nacházejí klíče a jejich odpovídající hodnoty, jak je ukázáno zde z Android XML souboru:
<string name="simple_key">Jednoduchý klíč s hlášením.</string>
Dva standardní XML formáty pro překlad jsou .TMX a .XLIFF. Tyto neobsahují pouze klíče a hodnoty v jednom jazyce, ale také spojují páry hodnot ze zdrojového jazyka s odpovídajícími hodnotami z cílového jazyka. Takové soubory jsou typicky dvojjazyčné, jak ukazuje tato překladová jednotka v Symfony Xliff souboru:
<trans-unit id="simple_key" resname="simple_key"> <source xml:lang="de-DE">Nur ein einfacher Schlüssel mit einer einfachen Nachricht.</source <target xml:lang="en-GB">Just a simple key with a simple message.</target> </trans-unit>
QT programy používají soubory s prostředky se strukturou, která je velmi podobná těmto standardizovaným formátům, ale z historických důvodů mají jiný vzhled.
Jednoduché seznamy klíč-hodnota
Existují soubory s prostředky, které obsahují pouze jednoduché seznamy klíčů a hodnot, jak ukazuje tento úryvek z Ruby on Rails YAML:
simple_key: Jednoduchý klíč s jednoduchou zprávou.
Mnoho různých programovacích jazyků nebo platforem používá takové formáty s menšími rozdíly v rozložení.
Protože se jedná o monolingvní soubory, potřebuje lokalizační program udržovat paralelní verze takových souborů - jednu pro zdrojový jazyk a další pro cílové jazyky.
Gettext vytváří soubory klíč-hodnota obsahující další informace, jako jsou popisné komentáře nebo varianty množného čísla:
# Toto je úžasný popis pro tento klíč! msgid "key_with_description" msgid_plural "" Podívej se na to! Tento klíč má popis! (Alespoň v některých formátech)" Podívej se na to! Tento klíč má %s popisů! (Alespoň v některých formátech)"
Existují konkurenční formáty s podobnou funkcionalitou a rozvržením, které se liší v relativně méně závažných způsobech.
Asociativní pole
Zatímco jiné formáty vyžadují vlastní kód (parsers) pro jejich čtení, některé formáty jsou pro vývojáře a lokalizátory snazší. Formáty založené na .JSON (JavaScript) a .PHP polích lze číst a mapovat přímo do běžných kódových struktur (polí), které jsou snadno manipulovatelné. Pole mohou být složitá a různé aplikace generují vlastní struktury polí.
Například, go-i18n JSON odkazuje na klíče jako id:
{
"id": "simple_key",
"translation": "jednoduchý klíč, jednoduchá zpráva, tak jednoduché."
},
Angular používá samotné klíče jako klíče ve svých polích:
"simple_key": "Jsem jednoduchý klíč s jednoduchou zprávou."
Protože existují tyto méně závažné, ale zásadní rozdíly, jsou podporovány široce používané struktury .JSON a .PHP polí.