Translate iOS XCStrings with AI

Babely translates your Localizable.xcstrings catalogs while preserving pluralization rules, string variations, and developer comments — Xcode's modern localization format, automated.

Why teams automate this

String catalogs grow with every feature

XCStrings catalogs accumulate keys across SwiftUI views and UIKit screens. Adding a language manually in Xcode does not scale for fast-moving teams.

Pluralization and variations are fragile

XCStrings supports plural rules and device variations. Generic translation tools break the JSON structure inside the catalog file.

No CI workflow for string catalogs

When English strings change, target locale entries in the catalog lag until someone updates them manually before App Store submission.

How it works

1

Configure Babely for XCStrings

Point Babely at your .xcstrings catalog file. Set source and target locales in babely.json.

{
  "locale": {
    "source": "en",
    "targets": ["de", "fr", "es"]
  },
  "files": {
    "xcode-xcstrings": {
      "include": ["MyApp/Localizable.xcstrings"]
    }
  }
}
2

Translate changed strings

Run translate after adding or editing keys in Xcode. Babely updates target locale entries in the catalog.

npx @babely/cli@latest translate
3

Review catalog diffs in Git

Check that pluralization rules, variations, and developer comments stayed intact in the XCStrings JSON structure.

4

Ship with CI

Run Babely in GitHub Actions before archiving your iOS build so every locale is current at App Store submission.

# See docs/ci for pipeline setup

Example babely.json

Copy this config into your project root and adjust targets to match your locale folders.

{
  "locale": {
    "source": "en",
    "targets": ["de", "fr"]
  },
  "files": {
    "xcode-xcstrings": {
      "include": ["Example/Localizable.xcstrings"]
    }
  }
}

Why Babely for iOS XCStrings

XCStrings-native workflow

Babely works directly on .xcstrings catalogs — no export to XLIFF or third-party TMS required.

Pluralization preserved

Plural rules and string variations in the catalog stay valid for each target language.

Developer comments kept

Context comments you add in Xcode remain intact to help reviewers understand each string.

Git-friendly diffs

Catalog changes are reviewable in pull requests alongside your Swift code changes.

Start translating your iOS XCStrings project

Set up Babely in minutes, automate translations in CI, and ship multilingual products without enterprise localization overhead.

Frequently Asked Questions

Does Babely work with Xcode 15+ string catalogs?

Yes. Babely supports the XCStrings format used by modern Xcode string catalogs for iOS and macOS apps.

Can I translate multiple .xcstrings files?

Yes. Add multiple include paths or a glob pattern in babely.json to cover all catalogs in your project.

Are pluralization rules handled per locale?

Yes. Babely preserves the catalog structure so each target locale gets valid plural forms for its language rules.

Does Babely replace Xcode localization?

No. Babely automates catalog translation in your repo. Xcode still manages exports, previews, and App Store localization settings.

다음 단계

모든 로케일을 같은 파이프라인에서 배포하세요.

GitHub 또는 Google로 로그인하고 워크스페이스를 연결한 뒤 CLI 또는 CI/CD로 번역을 동기화하세요. 릴리스 속도를 늦추지 않고 모든 언어로 업데이트를 배포할 수 있습니다.

자동화 시작

3-day free trial