NSLocalizedString всегда возвращает заглавный текст - PullRequest
0 голосов
/ 18 сентября 2018

Я столкнулся с проблемой, когда NSLocalizedString всегда возвращает строки с заглавными буквами независимо от их ввода.локализация работала, и я предполагаю, что я сделал что-то, что вызвало это, но я не могу понять, что именно изменилось.

Вот мой код:

func localize(_ str: String) -> String {
    print("str in: \(str)")
    return NSLocalizedString(str, comment: "")
}

Я называю это так:

let txt = self.localize("Question")
print("txt = \(txt)")

Вывод:

str in: Question
txt = QUESTION

То, что я пробовал:

  1. Я grep'd все мои файлы .strings и подтвердил, что нет
    ВОПРОС 'там.

  2. Удалено приложение из симулятора и перезапущено приложение

  3. Изменена входящая строка на что-то, чего нет ни в одном файле, например 'randomxxyxxy'

Я довольно долго пытался найти решение этой проблемы и не смог найти ничего похожего на эту проблему.

Любая помощь приветствуется, спасибо

1 Ответ

0 голосов
/ 28 декабря 2018

Когда ваше приложение пытается локализовать строку, но не может найти переведенный для нее текст, оно будет отображаться заглавными буквами.Это сделано, чтобы показать вам, что заглавные буквы не локализованы.Вы можете отключить использование заглавных букв в этих случаях, отключив параметр: Показать нелокализованные строки

Вот как вы это делаете:

  1. Редактирование схемы
  2. Выберите действие «Выполнить» и перейдите на вкладку «Параметры»
  3. Снимите флажок «Показать нелокализованные строки»

enter image description here

В вашем случае, я думаю, что ваша локализация строк не работает, и поэтому ваши строки пишутся с большой буквы, потому что эта настройка активирована.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...