Укажите базовую локализацию для локализованных отформатированных строк APNS

Мои базовые локализации находятся в раскадровках, но также в такой структуре:

struct Strings {  

  struct Restaurant {
    static let makeCall = NSLocalizedString("Restaurant-makeCall", value: "Call %@", comment: "Restaurant-makeCall: title for button that allows you to call a place")
  }

  //...many more

}

Это работает довольно хорошо, потому что он хранит их в одном месте, определяет ключ, который отделен от базового значения перевода, и дает мне автозаполнение, когда я их использую: Strings.Restaurant.makeCall

Для ввода переводов я использую процесс импорта / экспорта xliff: editor > export for localization, Я обнаружил, что у генстрины были проблемы с произвольной формой NSLocalizedString,

Это все работает хорошо, пока я не получу Локализованные Сообщения APNS. Учитывая loc-key и необязательно loc-argsОни ищут соответствующий ключ локализации.

Для переводов это работает, потому что для каждого перевода создаются строки Localizable.strings, когда я импортирую переведенный файл xliff.

Для моего базового перевода нет файла Localizable.strings. Я пытался сделать один, но экспорт xliff не замечает эти поля, чтобы добавить к другим переводам, поэтому я думаю, что это не правильный способ сделать это.

Как добавить базовые переводы таким образом, чтобы они работали для APNS?

1 ответ

Решение

Один функциональный, но дублирующий подход заключается в определении их в обоих местах:

  • Определите ключи (и неиспользуемые значения) в Strings структура. Экспорт xliff замечает это, и это позволяет другим языкам предоставлять переводы
  • Определите ключи и значения в Localizable.strings файл, который вы создаете для базового перевода. Это позволяет APNS находить значения, когда вы находитесь на базовом языке, но экспорт xliff их не видит.

Это работает, но если кто-нибудь когда-нибудь изменит один файл, не обновляя другой файл, возникнут различия в переводе, которые будет трудно обнаружить, поэтому мне это не очень нравится.

Другие вопросы по тегам