Mysql
 sql >> база данни >  >> RDS >> Mysql

Gettext или превод на база данни

Локализацията е трудна. Наистина е трудно. Това не е просто "pairs of words" => "Wortpaare" , това е много по-сложно от това. Това, което повечето хора забравят, когато гледат gettext и казват „Уф, грозно“ е, че процесът на локализация е много по-важно от техническите детайли на изпълнението. Това е така, защото действителните преводачи обикновено не са програмисти и вероятно дори не са вътрешни. Това причинява много повече главоболия, отколкото си мислите. gettext е наистина стар, тестван е в битка и има огромна верига от инструменти зад себе си, която е настроена да поддържа този процес. Ако искате да направите i18n и l10n правилно, имате нужда от мощна система. gettext е това и има поддръжка от широк набор от инструменти. Вашата Homebrewed Translation System™ не го прави.

На първо място, имате нужда от здрава система за извличане преводими низове. Без да можете автоматично и възпроизводимо да извличате преводими низове от изходния код, имате планина от работа за всеки нов низ, който искате да преведете. В gettext, xgettext прави това.

След това имате нужда от инструмент за синхронизиране на извлечените низове с вече съществуващи преводи по начин, по който не се губят преводи и че само леко променените преводи се запазват, ако е възможно. В gettext, msgmerge прави това.

След това искате начин да добавите допълнителна информация към низовете. Искате да можете да ги групирате по категория, "домейн" и контекст, може да искате да добавите коментари за преводача към изходния код и може да искате преводачите да могат да добавят коментари към преводите. gettext поддържа всичко това.

След това искате файлов формат, който има добра поддръжка от различни инструменти, тъй като може да изпращате файловете си в Китай, за да ги преведете там. Причината, поради която може да ги изпращате на външни преводачи, е и причината, поради която имате нужда от добър инструмент за синхронизиране, за да обедините промените, тъй като това може да бъде много асинхронен процес. PO файловете се поддържат много добре, защото gettext е толкова стар. Има много инструменти с отворен код и търговски инструменти, които поддържат процеса на локализация на много нива, в зависимост от вашите специфични нужди.

Не подценявайте задачата за локализация, изберете инструмент, който е много подходящ за процеса и го научете. gettext е страхотен инструмент, ако трябва да се признае, че не е най-подходящ за начинаещи.

За какво си струва, ето моето разширение gettext за Twig , което прави gettext за PHP още по-добър.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Прилагане на разрешения за колона за таблица върху задействане

  2. Sequel Pro с Mysql в Docker

  3. Neo4j - Изтриване на връзка с помощта на Cypher

  4. MySQL избира записи за дубликати, използвайки множество колони

  5. Зареждане на данни от CSV в mySQL база данни Java+hibernate+spring