Lingo.dev + .xcstrings (Xcode)

Lingo.dev CLI переводит файлы .xcstrings Xcode, сохраняя правила множественного числа, вариации для устройств и метаданные, специфичные для iOS. CLI работает напрямую с процессом локализации Xcode, генерирует строковые константы, доступные в коде, автоматически обрабатывает сложные правила множественного числа для iOS, поддерживает вариации строк для платформ и бесшовно интегрируется с процессами сборки Xcode.

Быстрая настройка

Настройте для современного формата каталога строк Xcode:

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "xcode-xcstrings": {
      "include": ["Resources/Localizable.xcstrings"]
    }
  }
}

Перевод каталогов строк

npx lingo.dev@latest i18n

Автоматически обрабатывает множественное число, вариации для устройств и метаданные, специфичные для Xcode, сохраняя iOS-конвенции.

Возможности каталога строк

Базовая локализация

{
  "sourceLanguage": "en",
  "strings": {
    "welcome_message": {
      "localizations": {
        "en": {
          "stringUnit": {
            "state": "translated",
            "value": "Welcome to our app!"
          }
        }
      }
    }
  }
}

Вариации множественного числа

{
  "item_count": {
    "localizations": {
      "en": {
        "variations": {
          "plural": {
            "zero": {
              "stringUnit": {
                "state": "translated",
                "value": "No items"
              }
            },
            "one": {
              "stringUnit": {
                "state": "translated",
                "value": "%d item"
              }
            },
            "other": {
              "stringUnit": {
                "state": "translated",
                "value": "%d items"
              }
            }
          }
        }
      }
    }
  }
}

Вариации для устройств

Поддерживает строки, специфичные для устройств, таких как iPhone, iPad, Apple Watch и других платформ Apple.

Сохранение формата

  • Метаданные сохранены: Состояние, комментарии и состояние извлечения сохранены
  • Безопасность вариаций: Все вариации множественного числа и устройств сохранены
  • Сохранение структуры: Иерархия JSON и ключи, специфичные для Xcode, не изменены
  • Безопасность заполнителей: Форматные спецификаторы iOS, такие как %@, %d, сохранены

Расширенная настройка

Несколько каталогов

"xcode-xcstrings": {
  "include": [
    "Resources/Localizable.xcstrings",
    "Resources/InfoPlist.xcstrings"
  ]
}

Заблокировать системные ключи

"xcode-xcstrings": {
  "include": ["Resources/Localizable.xcstrings"],
  "lockedKeys": ["CFBundleName", "NSHumanReadableCopyright"]
}