sql >> Databáze >  >> RDS >> Mysql

Gettext nebo překlad databáze

Lokalizace je obtížná. Je to opravdu těžké. Není to jen "pairs of words" => "Wortpaare" , je to mnohem složitější. Na co většina lidí zapomene, když se podívají na gettext a řeknou „Fuj, ošklivý“ je to lokalizační proces je mnohem důležitější než technické detaily implementace. Je to proto, že skuteční překladatelé obvykle nejsou programátoři a pravděpodobně ani nejsou vlastní. To způsobuje mnohem více bolesti hlavy, než si myslíte. gettext je opravdu starý, je otestován v bitvě a má za sebou obrovský toolchain, který je vyladěn na podporu tohoto procesu. Pokud chcete dělat i18n a l10n správně, potřebujete výkonný systém. gettext je takový a má podporu široké škály nástrojů. Váš Homebrewed Translation System™ ne.

Nejprve potřebujete robustní systém k extrahování přeložitelné řetězce. Aniž byste mohli automaticky a reprodukovatelně extrahovat přeložitelné řetězce ze zdrojového kódu, máte horu práce s každým novým řetězcem, který chcete přeložit. V gettext, xgettext dělá to.

Dále potřebujete nástroj pro synchronizaci extrahovaných řetězců s již existujícími překlady tak, aby se žádné překlady neztratily a aby se pokud možno zachovaly pouze mírně změněné překlady. V gettext msgmerge dělá to.

Dále chcete způsob, jak do řetězců přidat další informace. Chcete mít možnost seskupit je podle kategorie, „domény“ a kontextu, možná budete chtít přidat komentáře pro překladatele do zdrojového kódu a možná budete chtít, aby překladatelé mohli přidávat komentáře k překladům. gettext to vše podporuje.

Dále chcete formát souboru, který má dobrou podporu různých nástrojů, protože možná posíláte své soubory do Číny, abyste je tam přeložili. Důvod, proč je možná posíláte pryč externím překladatelům, je také důvodem, proč potřebujete dobrý synchronizační nástroj ke sloučení změn, protože to může být velmi asynchronní proces. Soubory PO jsou velmi dobře podporovány, protože gettext je tak starý. Existuje mnoho open source a komerčních nástrojů, které podporují proces lokalizace na mnoha úrovních v závislosti na vašich konkrétních potřebách.

Nepodceňujte úlohu lokalizace, vyberte si nástroj, který se pro daný proces hodí, a naučte se jej. gettext je skvělý nástroj, i když ne zrovna nejpřívětivější pro začátečníky.

Za to, co stojí za to, zde je moje rozšíření gettext pro Twig , což dělá gettext pro PHP ještě lepší.



  1. Jak najít interval mezi dvěma daty v PostgreSQL

  2. Jak přidat komentáře v SQL?

  3. Jak spustit úlohu SQL Server Agent pomocí T-SQL

  4. Nelze předat hodnotu řetězce 1,2 jako vstup do dotazu Oracle