Перекласти

Перекласти String Catalogs Xcode (.xcstrings)

String Catalog містить усі мови в одному JSON-файлі, який вручну повинен редагувати лише Xcode. KAERIS додає нові мови до цього ж файлу і залишає все інше в ньому без змін.

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

Як створюється String Catalog

Один файл, strings, потім ключ, потім localizations, потім мова. Кожна мова містить stringUnit або variations для множин. Файл також містить comment, extractionState та shouldTranslate. Ключ без запису для вихідної мови є його власним вихідним текстом.

Файл джерелаLocalizable.xcstrings
{
  "sourceLanguage" : "en",
  "strings" : {
    "Welcome back, %@!" : {
      "comment" : "Greeting on the home screen",
      "extractionState" : "manual",
      "localizations" : {
        "en" : { "stringUnit" : { "state" : "translated", "value" : "Welcome back, %@!" } }
      }
    },
    "%lld items" : {
      "localizations" : {
        "en" : {
          "variations" : {
            "plural" : {
              "one" : { "stringUnit" : { "state" : "translated", "value" : "%lld item" } },
              "other" : { "stringUnit" : { "state" : "translated", "value" : "%lld items" } }
            }
          }
        }
      }
    },
    "Cancel" : { }
  },
  "version" : "1.0"
}

На що звернути увагу при перекладі .xcstrings

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

Реальний запуск, 27 жовтня 2026 року, нічого не редагувалося вручну: kaeris translate Localizable.xcstrings --langs de з kaeris 0.2.35, 2.4 секунди, модель openai/gpt-4.1-mini (резервна модель сервісу відповіла на це завдання). Нижче — німецький файл, який він написав, і що про нього говорить kaeris check.

Результат німецькоюLocalizable.xcstrings
{
  "sourceLanguage": "en",
  "strings": {
    "Welcome back, %@!": {
      "comment": "Greeting on the home screen",
      "extractionState": "manual",
      "localizations": {
        "en": {
          "stringUnit": {
            "state": "translated",
            "value": "Welcome back, %@!"
          }
        },
        "de": {
          "stringUnit": {
            "state": "translated",
            "value": "Willkommen zurück, %@!"
          }
        }
      }
    },
    "%lld items": {
      "localizations": {
        "en": {
          "variations": {
            "plural": {
              "one": {
                "stringUnit": {
                  "state": "translated",
                  "value": "%lld item"
                }
              },
              "other": {
                "stringUnit": {
                  "state": "translated",
                  "value": "%lld items"
                }
              }
            }
          }
        },
        "de": {
          "variations": {
            "plural": {
              "one": {
                "stringUnit": {
                  "state": "translated",
                  "value": "%lld Artikel"
                }
              },
              "other": {
                "stringUnit": {
                  "state": "translated",
                  "value": "%lld Artikel"
                }
              }
            }
          }
        }
      }
    },
    "Cancel": {
      "localizations": {
        "de": {
          "stringUnit": {
            "state": "translated",
            "value": "Abbrechen"
          }
        }
      }
    }
  },
  "version": "1.0"
}
kaeris checkexit code 0
$ kaeris check --source Localizable.xcstrings --langs de
✓ de: complete & placeholder-safe
✓ all locales complete & placeholder-safe

Що KAERIS робить з цим

Запустіть у три кроки

  1. Встановіть CLI

    Виконайте pip install kaeris.

  2. Перекласти каталог

    Запустіть kaeris translate Localizable.xcstrings --langs de,fr,ja. Каталог оновлюється на місці.

  3. Перевірити результат

    Завантажте каталог на безкоштовну сторінку перевірки; вона читає вихідний текст і переклади з одного файлу.

pip install kaeris
kaeris translate Localizable.xcstrings --langs de,fr,ja --verify

Запитання

Чи перезапише він мої існуючі переклади?

Мови, які вже є у файлі, коментарі та стани вилучення передаються без змін, як зазначено в README CLI.

Як обробляються множини?

Варіації множин розгортаються до категорій, які потрібні кожній мові: англійські one/other перетворюються на one/few/many/other у російській та шість форм в арабській.

Це безкоштовно?

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

Чи можу я запускати його з терміналу або в CI?

Так. pip install kaeris, потім kaeris translate Localizable.xcstrings --langs de,ja. Див. також iOS. GitHub Action виконує той самий переклад у pull request. Документація CLI · GitHub Action

Продовжуйте

Довідник CLI · Довідник перевірки · Переклад у браузері · Безкоштовна перевірка · Конвертація форматів · Псевдолокалізація

Інші формати: JSON · YAML · .po · ARB · XLIFF · .strings · .properties · .resx · CSV · Markdown · Fluent · Android XML