Как изменить кодировку текста файла Localizable.strings в Xcode 4?

Я изучаю, как локализовать строки в моем проекте, и я использую Xcode 4.

Я создал базовый файл Localizable.strings, и я хочу импортировать этот файл, изменив его кодировку с utf-16 на Unicode utf-16, чтобы текст в файле читался в xCode. Если я буду импортировать этот файл, когда я выберу его в xcode, текст появится как тарабарщина.

В Xcode 3, когда вы перетаскиваете Localizable.strings в свой проект, появившееся диалоговое окно дает вам возможность изменить текстовое кодирование, но это не так в Xcode 4.

Кто-нибудь знает об этом?

Ответ 1

Возможно, это поможет вам Objective C/Xcode 4: проблема с кодировкой файлов Localizable.strings

Такие ошибки могут возникать, если вы копируете и вставляете контент в Xcode или из внешних файлов в файлы локализации. Следствием этого является то, что кодировка файла изменяется, например, на запад (Mac OS Roman). Файл Localizable.strings должен быть в UTF-16, хотя.

Решение

1. Как на картинке ниже, перейдите в Xcode к локализации Localizable.strings и откройте его, чтобы вы могли видеть все языки, которые вы поддерживаете.

Localizable.strings

  1. Щелкните левой кнопкой мыши по языковому файлу, чтобы вызвать ошибку сборки.

  2. Убедитесь, что в окне Xcode отображается значок "Утилиты". Активируйте кнопку на значке 1 на рисунке ниже.

XCode Utilities

  1. В окне "Утилиты" выберите "Инспектор файлов". (Маленький логотип, который выглядит как страница)

  2. В разделе "Параметры текста" измените кодировку на UTF-16 (помечено как 2 на рисунке выше). Выпадающее меню может быть недоступно, но вы можете щелкнуть по нему в любом случае. Нажмите "Конвертировать" в всплывающее окно.

То, что теперь ваш проект должен компилироваться снова.

Ответ 2

"Настройки текста" для моих файлов Localizable.strings не имеют возможности изменять кодировку, такую ​​как XCode 3. Однако я обнаружил, что если я просто перезапущу Xcode 4, он правильно интерпретирует ее (UTF-16).

Ответ 3

После изменения кодировки и повторного выполнения команды genstrings для восстановления строки локализации все должно работать.

Ответ 4

Иногда Xcode отображает предупреждение, даже если содержимое файла UTF-16, но файл каким-то образом интерпретируется как UTF-8. iconv обычно говорит, что он не может преобразовать файл в этом случае. Преобразование файла в Xcode в UTF-8, а затем преобразование его обратно в UTF-16, как предложил Эдмар, решает эту проблему. Предупреждения исчезли.

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

Ответ 5

Вид → Утилиты → Показать инспектор файлов
Измените кодировку текста в представлении утилиты инспектора файлов.