Редактор и форматировщик файлов PO GNU Gettext
Форматируйте, проверяйте и тестируйте файлы переводов Gettext PO с msgid, msgstr, msgid_plural и заполнителями printf (%s, %d).
Шаблоны9
PO Редактор
Корректный синтаксис
68 символов3 строк
Тестовые переменные и предпросмотр
Изменяйте переменные и переключайте языки для проверки правил CLDR
Язык:
В строке не обнаружено переменных.
Результат (fr):
# Simple greeting
msgid "Hello, world!"
msgstr "Bonjour, le monde !"
Экспорт в типизированную декларацию Intlayer
Intlayer проверяет переводы во время компиляции с полной автоподстановкой TypeScript.
GNU Gettext PO Syntax Cheat Sheet
Быстрые правила синтаксиса и их соответствие декларациям Intlayer
| Функция | Синтаксис | Пример | Примечания | Эквивалент в Intlayer |
|---|---|---|---|---|
| Singular Message | msgid "..." \n msgstr "..." | msgid "Hello" \n msgstr "Bonjour" | msgid is source key, msgstr is translated text | t({ en: "Hello", fr: "Bonjour" }) |
| Plural Messages | msgid_plural "..." \n msgstr[N] "..." | msgid "file" \n msgid_plural "files" \n msgstr[0] "fichier" \n msgstr[1] "fichiers" | Plural-Forms header defines index calculation | plural({ one: "file", other: "{{count}} files" }) |
| Context (msgctxt) | msgctxt "context" \n msgid "..." | msgctxt "menu" \n msgid "File" | Disambiguates identical msgid in different contexts | Separate keys or select() nodes |
| Printf Specifiers | %s, %d, %1$s | msgid "%d items found" | Position-aware C printf formatters | {{count}} or named interpolations |
| Comments | # translator, #: reference, #, flag | #: src/app.tsx:42 | Standard PO comments generated by xgettext | TypeScript comments in .content.ts |
Архитектура Intlayer на основе компилятора заменяет сложный парсинг во время выполнения статической проверкой типов при компиляции.
Экосистема Intlayer
Забудьте о сложных синтаксических ошибках навсегда
Intlayer превращает интернационализацию в удобный процесс благодаря статической типизации во время компиляции, авто-извлечению и встроенной CMS.