Správa překladů

Lokalizační soubory (Strings)

Obsah je strojově přeložen z angličtiny s použitím Phrase Language AI.

Lokalizační soubory jsou textové soubory, které lze otevřít a upravit v textovém editoru jako je Notepad nebo TextEdit nebo jeden z nesčetných Nástroje pro vylepšené úpravy textu, které používají programátoři. Tyto soubory se obecně řídí principem klíč-hodnota. To znamená, že obsahují seznam úryvků textu (Strings) přiřazených k jedinečným ID (klíčům). Každý řetězec je tedy hodnotou klíče (tímto jednoduchým příkladem je formát lokalizačních souborů používaných v programování v Javě).

  • key1 = hodnota1

  • key2 = hodnota2

  • ...

  • keyN = valueN

Vytváření lokalizačních souborů

Lokalizační soubory jsou prosté textové soubory s jednoduchou strukturou. Mohou být vytvořeny ručně, ale obvykle jsou automaticky generovány internacionalizačními nástroji nebo skripty, které jsou k dispozici pro různá vývojová prostředí. Automatické vytváření lokalizačních souborů zajišťuje platnost struktur souborů.

Chcete-li vytvořit lokalizační soubor, všechny části zobrazitelného textu jsou v souborech kódu nahrazeny jedinečnými ID. Textové Strings jsou pak přidány do lokalizačního souboru s jejich ID.

Použít lokalizační soubory

Namísto skutečných textových Strings nyní kód obsahuje pouze klíče. Když software vygeneruje zobrazení pro uživatele, tyto klíče se použijí k vyhledání přiřazených Strings v lokalizačním souboru.

Pokud se aplikace nastaví pro používání v angličtině a španělštině, může být veškerý anglický text uložen v souboru s názvem English.txt a je výchozím místem pro text. Pokud si uživatel nevybere jazyk, bude veškerý text stažen ze souboru, aby se vygenerovalo libovolné zobrazení. Pokud uživatel zvolí španělštinu, bude software přesměrován na soubor španělština.txt. S tímto systémem lze použít mnoho jazyků.

Výhodou je, že volba jazyka displeje neovlivní kód. Pokud software potřebuje zobrazit tlačítko pro přihlášení, může vyžadovat řetězec spojený s tlačítkem pro přihlášení klíče a potřebuje pouze vědět, ve kterém souboru se má hledat, aby načetl příslušný řetězec pro daný jazyk.

Řízení řetězců

Phrase jako překladatelská platforma založená na klíčích podporuje mnoho různých typů souborů zdrojů. Po se extrahují klíče a k nim přiřazené hodnoty řetězců. Klíče a Strings jsou pak předloženy překladateli ve standardizovaném formátu. Překladatelé se mohou soustředit na svůj úkol, aniž by se museli zabývat konkrétním formátem lokalizačního souboru. Můžou kontrolovat klíče, protože klíč sám o sobě může poskytnout klíčový kontext a vést je ke správné volbě slov.

Po překladu všech Strings se stáhnou soubory. Přitom se vytvoří potřebný formát lokalizačního souboru ve shodě s původním zdrojem.

Zdrojové formáty souborů

Podporovány jsou čtyři široké typy zdrojů, které jsou v zásadě založeny na textu a lze je otevřít a zkontrolovat v textovém editoru.

Tabulky

Podporovány jsou soubory .XLSX a .CSV. Tyto formáty jsou pro lokalizační účely rovnocenné a obsahují řádky dvojic klíčů a hodnot. Klíče jsou v jednom řádku, zatímco odpovídající hodnoty jsou v sousedním řádku. Který sloupec se použije pro jaký účel, závisí na aplikaci a lokalizátor musí Phrase nastavit tak, aby sloupce interpretoval správně. Soubory ZenDesk .CSV 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","German","Einfacher Schlüssel.","Simple key.","Current"

XML

XML je formát, který nabízí meta informace ve formě <tags>. Struktura tagů se používá k určení toho, kde jsou klíče a jejich odpovídající hodnoty, jak je uvedeno v souboru XML systému Android:

 <name řetězce="simple_key">Jen klíč se zprávou.</řetězec>

Dva standardní formáty překladu XML jsou .TMX a .XLIFF. Ty neobsahují pouze klíče a hodnoty v jednom jazyk, ale také přiřazují dvojice hodnot ze zdroj jazyk k odpovídajícím hodnotám z cíl jazyk. Takové soubory jsou obvykle dvojjazyčné, jak ukazuje překladová jednotka v souboru Symfony Xliff:

<trans-unit id="simple_key" resname="simple_key">
 <source xml:lang="de-DE">Nur ein einfacher Schlüssel mit einer einfachen Nachricht.</source
<cíl xml:lang="cs-CZ">Jen jednoduchý klíč s jednoduchou zprávou.</cíl>
</trans-unit>

Programy QT použijí zdrojové soubory se strukturou, která je velmi podobná těmto standardizovaným formátům, ale z historických důvodů má jiné rozložení.

Prostý seznam klíčů a hodnot

Existují soubory zdrojů, které obsahují jednoduchý seznam 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žije takové formáty s Méně závažnými rozdíly v rozložení.

Protože se jedná o jednojazyčné soubory, lokalizační program musí udržovat paralelní verze těchto souborů - jednu pro zdrojový jazyk a další pro jazyky cíle.

Gettext vytváří soubory s hodnotami klíčů obsahující další informace, jako jsou popisné komentáře nebo plurálové varianty:

# To je úžasný popis tohoto klíče!
msgid "key_with_description"
msgid_plural ""
msgstr[0] "Podívejte se na to! This key has a description! (At least in some formats)"
msgstr[1] "Podívejte se na to! Tento klíč má %s descriptions! (At least in some formats)"

Existují konkurenční formáty s podobnou funkčností a rozložením, které se liší poměrně Méně závažnými způsoby.

Asociativní pole

Zatímco jiné formáty vyžadují pro čtení přizpůsobený kód (parsery), některé formáty jsou pro vývojáře a lokalizátory snadnější. Formáty založené na polích .JSON (JavaScript) a .PHP lze číst a mapovat přímo do běžných struktur kódu (pole), se kterými lze snadno manipulovat. Pole mohou být složitá a různé aplikace generují vlastní struktury polí.

Například go-i18n JSON označuje klíče jako ID:

{
    "id": "simple_key",
    "translation": "simple key, simple message, so simple."
},

Angular používá klíče samotné jako klíče ve svých polích:

"simple_key": „Jsem jednoduchý klíč s jednoduchou zprávou.“

Méně závažné, ale zásadní rozdíly jsou proto podporovány široce používané struktury .JSON a .PHP Array.

Byl pro vás tento článek užitečný?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.