Перевести

Перевод файлов ресурсов .NET .resx

Файл .resx смешивает текст с иконками и другими типизированными ресурсами в одном XML. KAERIS переводит только строки, оставляет остальное без изменений и проверяет элементы формата {0}.

Эту страницу перевёл KAERIS и проверил каждую строку обратным переводом. Носитель языка ещё не проверял. Оригинал на английском

Как устроен файл .resx

XML <root> с записями <data name="…"><value>…</value></data>. Запись с атрибутом type или mimetype (иконка, изображение) не является текстом. Имена типа SaveButton.Text — свойства элементов управления WinForms.

Исходный файлStrings.resx
<?xml version="1.0" encoding="utf-8"?>
<root>
  <resheader name="resmimetype"><value>text/microsoft-resx</value></resheader>
  <data name="WelcomeMessage" xml:space="preserve">
    <value>Welcome back, {0}!</value>
    <comment>{0} is the user's first name</comment>
  </data>
  <data name="ItemsInCart" xml:space="preserve">
    <value>You have {0} items in your cart.</value>
  </data>
  <data name="SaveButton.Text" xml:space="preserve">
    <value>Save and close</value>
  </data>
  <data name="AppIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\app.ico;System.Drawing.Icon, System.Drawing</value>
  </data>
</root>

Особенности перевода .resx

Реальный запуск: переведено на немецкий и проверено

Реальный запуск, 27 октября 2026, без ручных правок: kaeris translate Strings.resx --langs de с kaeris 0.2.35, 2.6 секунды, модель openai/gpt-4.1-mini (резервная модель сервиса). Ниже — немецкий файл и результаты kaeris check.

Результат на немецкомde/Strings.resx
<?xml version="1.0" encoding="utf-8"?>
<root>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <data name="WelcomeMessage" xml:space="preserve">
    <value>Willkommen zurück, {0}!</value>
  </data>
  <data name="ItemsInCart" xml:space="preserve">
    <value>Sie haben {0} Artikel in Ihrem Warenkorb.</value>
  </data>
  <data name="SaveButton.Text" xml:space="preserve">
    <value>Speichern und schließen</value>
  </data>
  <data name="AppIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\app.ico;System.Drawing.Icon, System.Drawing</value>
  </data>
</root>
kaeris checkexit code 0
$ kaeris check --source Strings.resx --langs de
✓ de: complete & placeholder-safe
✓ all locales complete & placeholder-safe

Что KAERIS делает с этим

Выполните в три шага

  1. Установите CLI

    Выполните pip install kaeris.

  2. Перевод файла ресурсов

    Запустите kaeris translate Resources/Strings.resx --langs de,ja.

  3. Проверка результата

    Загрузите исходник и переведённый .resx на бесплатную страницу проверки.

pip install kaeris
kaeris translate Resources/Strings.resx --langs de,ja --verify

Вопросы

Касаются ли иконки и другие типизированные ресурсы?

Нет. Записи с атрибутом type или mimetype сохраняются без изменений.

Сохраняются ли элементы ?

Нет: переведённый файл пишется без них. Ваш исходный файл сохраняет их.

Это бесплатно?

Да, без учетной записи: 10 000 символов на файл и до 8 языков за запуск. Бесплатный API-ключ увеличивает лимит файлов до 50 000 символов. Пожизненная лицензия стоит $79 один раз, при использовании вашего собственного ключа OpenRouter; ежемесячные планы начинаются от $19. Цены

Могу ли я запускать его из терминала или в CI?

Да. pip install kaeris, затем kaeris translate Resources/Strings.resx --langs de,ja. GitHub Action выполняет тот же перевод в pull request. Документация CLI · GitHub Action

Продолжайте

Справочник по CLI · Справочник по проверке · Перевести в браузере · Бесплатная проверка · Конвертировать форматы · Псевдолокализация

Другие форматы: JSON · YAML · .po · ARB · XLIFF · .strings · .xcstrings · .properties · CSV · Markdown · Fluent · Android XML