Подтвердить что ты не робот

Я удалил локализацию в Xcode, тогда я не могу добавить никаких локализаций назад

Я удалил локализацию проекта из информации о проекте по ошибке. И раскадровка, и родственный язык были удалены.

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

Как добавить локализации?

4b9b3361

Ответ 1

Добавление обратно локализации

Когда вы удаляете свои локализации, иногда вы можете получить ту ситуацию, когда вы не можете добавить какие-либо локализации в Xcode. Перейдите в командную строку и создайте папку двухбуквенную аббревиатуру ISO 639-1 с расширением lproj где-то в вашем проекте.

Создать пустую языковую папку

Например:

${SRCROOT}/Resources/Translations/nb.lproj

или

${SRCROOT}/Resources/Translations/en.lproj

Повторно добавить языковые файлы в проект

В папке создайте пустой файл с именем Localizable.strings и добавьте этот файл в свой проект. Не добавляйте папку .lproj, просто содержимое. Затем, когда вы вернетесь в файл проекта, вы увидите язык под локализациями. Теперь, когда вы добавили это, вы должны увидеть локализацию в своем проекте.

Нет флажка

Если добавленный файл, например раскадровка, не имеет флажка рядом с ним, что указывает на то, что это часть локализации языка, вам может потребоваться округлить их через другой язык. Для этого добавьте новый язык в проект. Он должен предложить вам скопировать существующие локализованные файлы на новый язык. Затем удалите разбитую локализацию и снова добавьте ее.

Мой пример

В качестве конкретного примера я добавил в проект nb.lproj раскадровку. Норвежский Bokmål появляется в проекте, но флажок для языка в инспекторе раскадровки не позволит мне добавить его. Я создал nb_NO в проекте, и мне было предложено скопировать файл раскадровки. Тогда в раскадровке был установлен флажок. Я удалил локализацию "nb" и снова добавил ее. Теперь все было так, как я этого хотел.

Ответ 2

Мне пришлось решить ту же проблему и нашел одно решение:

Вам нужно найти в finder файл *.xcodeproj и открыть его в качестве контейнера (ctrl + кликнуть по нему, и вы увидите его в контекстном меню)

Здесь вы можете увидеть файл project.pbxproj, откройте его в Xcode. Его большой (но все еще читаемый файл). (лучше будет сделать копию на месте сохранения, прежде чем вы начнете)

Теперь его задача добавить недостающий язык в этот файл и его сделать. (U можно попробовать в другом проекте с локализациями).

Есть абзац, который нужно добавить. Искать в этом файле для этого /* End PBXSourcesBuildPhase section */ (его абзац прямо перед абзацем локализации отсутствует) и добавить что-то вроде этого после:

/* Begin PBXVariantGroup section */
        27548D921611B0BE008EA1CD /* Localizable.strings */ = {
            isa = PBXVariantGroup;
            children = (
                27548D941611B0BE008EA1CD /* en */,
            );
            name = Localizable.strings;
            path = ../Code;
            sourceTree = "<group>";
        };
/* End PBXVariantGroup section */

Сначала вам нужно сделать некоторые изменения. Посмотрите на длинный номер 27548D921611B0BE008EA1CD, его идентификатор файла локализации (или некоторый файл xib или другой локализованный файл...), если у вас нет в программе, просто добавьте в проект файл Localizable.string, повторите (или обновите) этот project.pbxpro и найдите это Localizable.string, вы должны найти что-то вроде этого:

275490591611B0BE008EA1CD /* Localizable.strings in Resources */

и это то, что вам нужно заменить в параграфе локализации

также вам нужно сделать правильные настройки в параметрах пути и sourceTree. Эти два файла можно прочитать в файлеinspector в xcode.

Параметр "sourceTree" - это местоположение - в основном его относительная группа, поэтому sourceTree = "<group>";

Путь - путь относительно группы к файлу (если вы не знаете, попробуйте сделать некоторые файлы локализации в другом проекте и посмотрите на project.pbxpro, что все это работает)

После этого вы можете сохранить файл project.pbxpro, и вы должны увидеть в локации раздела "en" секцию xcode, и вы можете добавить больше локализаций и все другие материалы локализации.

Ответ 3

В xcode 6 выполните следующие действия:

  • В командной строке создайте следующую директорию/файловую структуру где-то вне вашей директории проекта:

    • /en.lproj/InfoPlist.strings

    • /en.lproj/Localizable.strings

  • В Xcode откройте проект и выберите "Файл" > "Добавить файлы в ProjectName", чтобы добавить недавно созданный каталог en.lproj.

  • После этого в списке "Локализации" вы увидите английский.

Ответ 4

Это старая тема, но после этой проблемы, а затем попробовав решение (и если оно не работает точно), я подумал, что дам подробные сведения о том, что работает DID.

Как и исходный плакат, я случайно удалил все мои локализации и не получил явного обращения в Xcode - в настройках проекта в разделе Info он просто сказал, что "этот проект не был локализован", и когда я нажал на плюс ниже, был представлен пустой список файлов ресурсов.

Я последовал за руководством @Cameron, но обнаружил, что языковые папки с файлами Localizable.strings уже присутствовали в Finder, но не были подтверждены Xcode. Я не мог решить, как продолжить, но мне довелось увидеть несвязанный комментарий о добавлении файлов в Xcode, поэтому я попытался добавить существующую папку en.lproj и файл Localizable.strings.

Это сработало, и список для английского языка как языка разработки появился также в разделе "Информация".

Надеюсь, это поможет любому, кто испытывает ту же проблему!

Ответ 5

Просто создайте папку "Base.lproj" в finder и вставьте Xib, который вы хотите локализовать внутри него, и добавьте эту папку в свой проект. Теперь вы можете добавлять другие языки без проблем.