
Перевод файлов .properties без проблем с кодировкой
Кодировка обработана. Escape-последовательности сохранены. Комментарии целы. Escape-последовательности Unicode корректны. Ваши файлы properties переводятся без проблем ISO-8859-1.
Перевод .properties — кошмар с кодировками
За 30 лет существования у файлов Java .properties накопилось множество особенностей кодировки. По умолчанию используется ISO-8859-1, нелатинские символы должны записываться как escape-последовательности Unicode (\uXXXX), а правила экранирования обратных косых черт, переносов строк и специальных символов ставят в тупик любой универсальный инструмент перевода.
Несоответствие кодировок ISO-8859-1 и UTF-8 повреждает нелатинские символы: японский, китайский и корейский текст превращается в нечитаемый набор знаков
Escape-последовательности с обратной косой чертой (\n, \t, \\, \=) экранируются дважды, удаляются или воспринимаются как обычный текст
Строки комментариев (# и !) и встроенные комментарии удаляются, из-за чего теряются контекст для разработчиков и структура разделов
Escape-последовательности Unicode (\uXXXX) для нелатинских символов повреждаются, переводятся или преобразуются неправильно
# Application messages
# Generated by Spring Boot i18n
app.title=My Application
app.description=A powerful tool for your team
# Navigation
nav.home=Home
nav.settings=Settings
nav.logout=Log Out
# User messages
user.greeting=Hello, {0}!
user.welcome=Welcome back, {0}. You have {1} new notifications.
# Special characters and unicode
currency.format=${0,number,#,##0.00}
path.separator=C:\\Users\\Documents
special.chars=Line one\nLine two\nLine three
unicode.example=\u00E9\u00E8\u00EA# Application messages
# Generated by Spring Boot i18n
app.title=Meine Anwendung
app.description=Ein leistungsstarkes Werkzeug f\u00FCr Ihr Team
# Navigation
nav.home=Startseite
nav.settings=Einstellungen
nav.logout=Abmelden
# User messages
user.greeting=Hallo, {0}!
user.welcome=Willkommen zur\u00FCck, {0}. Sie haben {1} neue Benachrichtigungen.
# Special characters and unicode
currency.format=${0,number,#,##0.00}
path.separator=C:\\Users\\Dokumente
special.chars=Zeile eins\nZeile zwei\nZeile drei
unicode.example=\u00E9\u00E8\u00EAЧто сохраняет i18n Agent
Работа с кодировкой
Определяет кодировку ISO-8859-1 или UTF-8 и создаёт файл в правильном формате, при необходимости используя корректные escape-последовательности Unicode
Сохранение escape-последовательностей
Escape-последовательности с обратной косой чертой (\n, \t, \\, \=, \:) распознаются и сохраняются в точности, как они определены
Сохранение комментариев
Строки комментариев, заголовки разделов и встроенная документация остаются на своих местах, сохраняя структуру файла
Поддержка Unicode
Нелатинские переводы правильно кодируются как escape-последовательности \uXXXX в файлах ISO-8859-1 или как обычный текст UTF-8
Работает с Вашим стеком Java
Как это работает

Без ручного копирования, извлечения строк и лишних действий. Только переведённые файлы.
Попробовать i18n Agent
Перетащите сюда файл перевода
JSON, YAML, PO, XML, CSV, Markdown, Properties
или нажмите, чтобы выбрать
Целевые языки
Часто задаваемые вопросы
Можно также перевести:
Для разработчиков
Установите инструмент CLI и переведите первый файл за 2 минуты.
Установить инструмент CLIДля корпоративных команд
Всё ещё связаны контрактом с TMS? Обсудим переход.