Я использую инструмент командной строки (ng-xi18n
), чтобы извлечь строки i18n из приложения angular 2, которое я написал. Результатом этой команды является файл messages.xlf
. Исходя из фона .po
и не знакомого с .xlf
, я предположил, что этот файл эквивалентен файлу .pot
(исправьте меня, если я ошибаюсь).
Затем я предположил, что если я хочу перевести свое приложение, мне пришлось cp messages.xlf messages.de.xlf
иметь копию (messages.de.xlf
) файла шаблона (messages.xlf
), где я могу перевести каждое сообщение на немецкий (следовательно, .de.xlf
).
После перевода некоторых фиктивных текстов и запуска приложения я увидел, что он работал так, как ожидалось, поэтому я прекратил перевод и продолжил разработку приложения. Через некоторое время я добавил несколько строк i18n и в конце концов подумал, что мне нужно обновить свой шаблон. И это то, где вещи едва ли можно обслуживать. Я обновил файл шаблона messages.xlf
и быстро задавался вопросом, как я могу обновлять новые строки в уже перенесенном файле messages.de.xlf
, не теряя своего прогресса.
Когда я разрабатывал файлы .po
, это не было проблемой благодаря хорошим инструментам, таким как poEdit, но я не нашел ничего сопоставимого для .xlf
. Попробовав некоторые инструменты, я подумал, что лучшим выбором будет Lokalize, но я не нашел возможности объединить файл шаблона с уже переведенными (но устаревшими) файлами.
До сих пор это был скорее эссе, чем вопрос, поэтому вот краткое резюме:
- Является ли процесс работы с файлами
.xlf
действительно сопоставимым с.po
, как я изначально думал (описано выше), или он совершенно другой? - Как я могу обновить мои уже переведенные файлы?
- Каковы наилучшие методы работы с файлами
.xlf
? - Что такое доказательство концептуальных инструментов для работы с
.xlf
?
Sidenotes:
- Руководство Lokalize вообще не помогло. Я вижу много функций, которые кажутся многообещающими, например:
- "Файл" > "Обновить файл из шаблона". Я не нашел ничего в руководстве, чтобы объяснить эту функцию. Если я нажму на это, ничего не произойдет.
- "Синхронизировать" > "Открыть файл для синхронизации/слияния". Кажется, это функция объединить два похожих файла (несколькими переводчиками), а не инструмент для обновления файла перевода из шаблона. Несмотря на наличие всплывающей подсказки на вкладке "Первичная синхронизация Lokalize", уведомляющая меня о "x unmatched entries", я просто не мог найти ничего, чтобы добавить эти несопоставимые записи в мой файл
.de.xlf
. - [Обновить] Оказывается, у меня были аналогичные проблемы, как в этом вопросе. После понижения моей версии Lokalize до предложенного, многие проблемы (в том числе упомянутые в вопросе) исчезли. Однако теперь опция "Обновить файл из шаблона" выделена серым цветом, и я не знаю почему.
- Я также пробовал OmegaT, который вообще не работает на моей платформе (Ubuntu 16.04).
- [Обновление] Virtaal отлично подходит для слияния новых строк из шаблона, но пользовательский интерфейс в целом плохо разработан...
- Googling не помог, так как каждый хит, похоже, связан с XCode или чем-то еще.
Спасибо за любую помощь заранее, я действительно ценю это