Skip to main content
AI agent network visualization

Перевод файлов .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) для нелатинских символов повреждаются, переводятся или преобразуются неправильно

Исходный текст (английский)
messages_en.properties
# 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
Перевод (японский)
messages_ja.properties
# 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

Spring Boot / Spring MVC
Устаревшие приложения Java
Проекты Apache Ant / Maven
Java ResourceBundle

Как это работает

How i18n Agent works: Install, Translate, Done
1
2
3
terminal
$translate_filesrc/messages/en.json
 --target["de", "ja", "es"]
Done.3 languages, 142 keys translated.

Без ручного копирования, извлечения строк и лишних действий. Только переведённые файлы.

Попробовать i18n Agent

Перетащите сюда файл перевода

JSON, YAML, PO, XML, CSV, Markdown, Properties

или нажмите, чтобы выбрать

Целевые языки

Регистрация не требуетсяМгновенный расчёт

Часто задаваемые вопросы

Для разработчиков

Установите инструмент CLI и переведите первый файл за 2 минуты.

Установить инструмент CLI

Для корпоративных команд

Всё ещё связаны контрактом с TMS? Обсудим переход.