2013-05-01 3 views
3

I непонимание NSLocalizedString.NSLocalizedString действительно работает?

У меня есть проект с французским и английским .strings. В цель проекта - Локализация У меня есть 6 файлов на французском и английском языках.

В english.strings файл:

"hello" = "world"; 

В french.strings файл:

"hello" = "salut"; 

Когда я пишу простую строку кода, чтобы изменить текст метки:

exerciseDescription.text = NSLocalizedString(@"hello", @"no comment"); 

Выход: hello

Я изменил в IOS симулятор: настройки - общий - международный - язык - французский/английский - Готово

И выход снова: hello

Я подумал, что это должно быть world или salut ...

ответ

11

Вы используете его правильно, но не добавлены правильно,

Локализованное имя файла всегда должно быть названо Localizable.strings, и этот файл находится в пределах определенной языковой папки, для английского языка, en.lproj и для французского fr.lproj как мудрый.

+0

Локализованное имя файла по умолчанию 'Localizable.strings', однако его можно указать с помощью' NSLocalizedStringFromTable'. Полезно использовать несколько файлов .strings в одном проекте, если он превышает определенный размер. – GorillaPatch

2

Вы используете его правильно, но, как упоминалось в @Hemang, вы должны изменить свое имя на Localizable.strings, поскольку это значение по умолчанию.

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

+0

Вы правы. Мне нужна была полная очистка и удаление. Сейчас он работает очень хорошо. Hemang и GorillaPatch большое спасибо за потраченное время, чтобы помочь мне :) – 2013-05-01 16:30:47

Смежные вопросы