Перевод файлов Java .properties
Файл .properties представляет собой набор строк key=value, где значения содержат аргументы {0} для MessageFormat. KAERIS переводит значения, сохраняет ваши комментарии и порядок ключей, а также записывает файл в чистом ASCII, чтобы Java читала его везде.
Эту страницу перевёл KAERIS и проверил каждую строку обратным переводом. Носитель языка ещё не проверял. Оригинал на английском
Как устроен файл .properties
key=value, key: value или key value, комментарии с # или !, продолжение строки с обратной косой чертой в конце. Более старые версии Java читали пакеты как ISO-8859-1, поэтому нелатинские символы записываются как \uXXXX, которые читают все версии.
# Login form login.title=Sign in to {0} login.attempts=You have {0} attempts left cart.total=Total: {0,number,currency} about.url=https\://example.com/about help.text=Need help?\nWrite to [email protected]
На что обратить внимание при переводе .properties
Аргументы MessageFormat
{0},{1}и типизированные, такие как{0,number,currency}, должны возвращаться целиком. В реальном запуске ниже{0,number,currency}вернулся типизированным; измененный или потерянный аргумент был бы сообщен.Кодировка
Вывод в ASCII: немецкая «ö» или японский символ записываются как escape-последовательность
\u, которую читает каждая версия Java.Кавычки в MessageFormat
В MessageFormat Java одинарная кавычка начинает экранированную секцию, поэтому шаблон, использующий аргументы, требует
''для апострофа. Проверьте строки с апострофами в приложении после перевода.Экранирование и URL
\nв значении остается переносом строки.\:в URL записывается обратно как обычное двоеточие, что также является допустимым.
Реальный запуск: переведено на немецкий и проверено
Реальный запуск, 27 октября 2026 г., без ручного редактирования: kaeris translate messages.properties --langs de с kaeris 0.2.35, 3,3 секунды, модель openai/gpt-4.1-mini (резервная модель сервиса ответила на эту задачу). Ниже приведен немецкий файл, который он написал, и что говорит kaeris check.
# Generated by KAERIS i18n Tool - de # Login form login.title=Anmelden bei {0} login.attempts=Sie haben noch {0} Versuche cart.total=Gesamt: {0,number,currency} about.url=https://example.com/about help.text=Brauchen Sie Hilfe?\nSchreiben Sie an [email protected]
$ kaeris check --source messages.properties --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
Что KAERIS делает с этим
Комментарии и порядок сохранены
Строки комментариев, пустые строки и порядок ключей повторно выводятся вокруг переведенных значений, и добавляется однострочный заголовок с указанием языка.
Подсчитаны аргументы
Потерянный
{0}или измененный тип обнаруживается без модели.Бесплатная проверка для этого формата
Бесплатная проверка на /check считывает этот формат и работает без ключа или учетной записи. Команда терминала
kaeris checkтакже считывает его: она обрабатывает все 13 форматов начиная с kaeris 0.2.35, с теми же правилами и без отправки данных куда-либо.
Выполните в три шага
Установите CLI
Выполните
pip install kaeris.Перевести пакет
Запустите
kaeris translate messages.properties --langs de,ja.Проверить результат
Загрузите исходный и переведенный пакет на бесплатной странице проверки.
pip install kaeris kaeris translate src/main/resources/messages.properties --langs de,ja --verify
Вопросы
Он записывает в UTF-8 или с \u-экранированием?
Экранирование. Выходной файл в ASCII, не-ASCII символы записываются как \uXXXX.
Сохраняются ли мои комментарии?
Да. Комментарии и пустые строки исходника возвращаются на место, добавляется заголовок с названием языка.
Это бесплатно?
Да, без учетной записи: 10 000 символов на файл и до 8 языков за запуск. Бесплатный API-ключ увеличивает лимит файлов до 50 000 символов. Пожизненная лицензия стоит $79 один раз, при использовании вашего собственного ключа OpenRouter; ежемесячные планы начинаются от $19. Цены
Могу ли я запускать его из терминала или в CI?
Да. pip install kaeris, затем kaeris translate messages.properties --langs de,ja. GitHub Action выполняет тот же перевод в pull request. Документация CLI · GitHub Action
Продолжайте
Справочник по CLI · Справочник по проверке · Перевести в браузере · Бесплатная проверка · Конвертировать форматы · Псевдолокализация
Другие форматы: JSON · YAML · .po · ARB · XLIFF · .strings · .xcstrings · .resx · CSV · Markdown · Fluent · Android XML