Управление локализацией файлов свойств Java
У меня есть веб-приложение, написанное на Java, которое нацелено на несколько стран, все из которых говорят на разных языках (и чаще всего на нескольких языках - для вас в Европе).
У нас есть куча файлов .properties
, в которых хранятся локализованные строки, и наша текущая процедура заключается в отправке по электронной почте языковым файлам нашим партнерам для обновления перед выполнением основных обновлений.
Однако этот процесс скорее подвержен ошибкам, так как иногда люди забывают переводить новые строки, а иногда новые строки не добавляются к каждому языковому файлу, поэтому небольшие ошибки проходят очень легко.
Кто-нибудь знает о любом существующем программном обеспечении, которое могло бы помочь нам очистить этот беспорядок?
Как минимум, я думаю о чем-то, что позволит вам загрузить главный файл (например, на английском языке), локализованный файл, а затем выделит ключи, которые были добавлены или удалены из основного файла.
Ответы
Ответ 1
Я использовал Jinto для этой цели, а также EPFE (более старая версия, не пробовала самую новую).
Оба являются плагинами Eclipse, оба они довольно приличные, если вы можете обойти тот факт, что они будут изменять порядок ключей в ваших ресурсных пакетах. Тогда также Babel - я не пробовал это лично, поэтому я не знаю, насколько он хорош.
Ответ 2
мы используем https://webtranslateit.com/ в качестве размещенной службы.
Наш сервер непрерывной интеграции загружает наш (английский) файл свойств Java всякий раз, когда есть изменения. Пользователи для разных языков могут входить в систему и обновлять свои переводы.
Существует хороший API, который позволяет нам получать переводы "на лету" для нашего веб-приложения, но это внутреннее решение только на данный момент.
Когда есть релиз, мы загружаем файлы, связываем их с нашим приложением и развертываем.
В решении подчеркивается, что переведено, нетранслировано, требует проверки, предлагает переводную память и интеграцию, например, в Google Translate.
С уважением,
Александр.
Ответ 3
Netbeans имеет действительно отличный редактор свойств Java, который показывает вам каждую из локалей бок о бок. Вы можете легко увидеть, какие свойства отсутствуют для разных языков.
Ответ 4
Для импорта, управления и потенциально даже заказывающего перевода для языков, на которых у вас нет собственных переводчиков, myGengo String (http://mygengo.com/string/about) - это бесплатное решение для хостинга. Поддерживает импорт различных языковых файлов для различных платформ. (Полное раскрытие информации - я являюсь соучредителем myGengo)
Ответ 5
Даже если это неподходящее время для исходного плаката:
i18nBinder
представляет собой задачу Ant для преобразования файлов свойств в файл Excel XLS.
Локалы помещаются в столбцы для каждого ключа (строки).
Затем он записывает изменения в файл xls обратно в исходные файлы. Это очень удобно, и поскольку вы используете Excel для редактирования, все это знают.
С наилучшими пожеланиями
Ответ 6
Как насчет localizedproperties Плагин Eclipse? Он похож на Jinto, но поддерживает версию Eclipse выше 3.6.
Ответ 7
Eclipse ResourceBundle Editor, по-видимому, является самым новым (и более приятным, IMHO) выбором в отделе "Eclipse plugin".
![enter image description here]()
Ответ 8
иногда люди забывают переводить новые строки, а иногда новые строки не добавляются к каждому языковому файлу, поэтому небольшие ошибки проходят очень легко.
Я использую несколько иной подход в том, что я отправляю файлы .properties, содержащие существующие локализованные строки, объединенные с новыми нетранслируемыми строками в том порядке, в котором они мне нужны.
Новые строки отмечены символами "псевдо-перевода", поэтому нетранслируемые строки легко найти с помощью простого текстового поиска.
Переводчики очень редко теряют свойства или забывают переводить строки. Самая распространенная ошибка - забыть удалить псевдопереводные символы из недавно переведенных строк. Проверка разницы перед выполнением новых переводов обратно в систему контроля версий очень хороша в том, чтобы ловить эти ошибки.
Эта система работает очень хорошо, и теперь, когда она полуавтоматизирована, требуется около часа, чтобы выполнить каждое обновление локализации вместо 1 - 2 дней, которые он использовал, когда процесс был полностью ручным.
Я написал свой собственный инструмент для создания объединенных файлов и трехстороннего сравнения между новыми мастерами, старыми локализованными файлами и вновь сгенерированными сложенными файлами, но любой инструмент, который объединяет изменения таким же образом, будет работать с этим процесс.
Ответ 9
Я использовал JRC Editor для управления пакетами ресурсов. Он выделит клавиши, которые отсутствуют, как показано ниже
.
Он также позволяет работать с пакетами с использованием родного языка (отсюда и конечный пользовательский), и он преобразует символы в эквивалент "\ uxxx" за кулисами.
Ответ 10
Проект CAL10N предназначен для решения этой проблемы. Он основывается на пакетах ресурсов, добавляя примитивы проверки. Он также довольно прост в использовании.
Ответ 11
Ответ немного запоздалый, но для дальнейшего использования также есть Tongue-Tied. Это веб-приложение с открытым исходным кодом для управления статическими ресурсами и переводами. Переводы можно вводить через веб-интерфейс. Он поддерживает импорт/экспорт многих форматов, таких как файлы свойств java, файл excel, csv и т.д. Он также имеет небольшой рабочий процесс, если необходимо.
Отказ от ответственности. Я возглавляю проект.
Ответ 12
Я попробовал Everit - i18n Props XLS Converter и выполняет эту работу.
Вы можете указать расположение ваших .properties, содержащих переводы, и вы получите .xls, заполненный всеми содержащимися в них значениями.
На этом этапе вы можете отправить xls своим переводчикам, которые заполнят его правильными переводами, а затем преобразуют обратно в .properties для использования в вашем проекте java.
Проект размещен в github, и его необходимо создать с помощью maven и jdk8.
Ответ 13
Ничего себе, я удивлен, насколько сумасшедшим является то, что люди не исследовали очевидный импорт в Excel.
Перейдите в Excel → import → выберите файл свойств (выберите все файлы в открытом типе файла).
Он спросит вас, хотите ли вы, чтобы столбцы были разделены, проверьте эту опцию.
На следующем экране процесса импорта будет задан вопрос о том, какой именно разделитель вы хотите, выберите другой и поставьте "=" в поле (без кавычек)
Выберите следующий и вуаля. У вас есть лист excel со свойствами, готовыми к работе.