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

Как изменить язык разработки в Xcode до интернационализации моего приложения?

Я использую приложение, написанное полностью на французском языке. Строки жестко закодированы на французском языке в коде, и все сообщения в раскадровке находятся на французском языке. Но начальная область разработки в Info.plist была оставлена ​​на английском языке. Поэтому я изменил CFBundleDevelopmentRegion на fr, чтобы он соответствовал реальному языку, который использовался. Но XCode продолжает говорить мне, что мой язык разработки - английский:

XCode 6.3.2 project Info tab

Как я могу это исправить? Цель состоит в том, чтобы активировать базовую интернационализацию и использовать французский как базовый язык вместо английского.

4b9b3361

Ответ 1

Следующая процедура работала для меня, но она включает в себя редактирование вручную project.pbxproj file:

  • Выйти из XCode
  • Откройте файл project.pbxproj с помощью вашего любимого текстового редактора
  • Обновите следующий раздел (около developmentRegion):

OLD:

    developmentRegion = English;
    hasScannedForEncodings = 0;
    knownRegions = (
        en,
        Base,
    );

NEW:

developmentRegion = fr;
            hasScannedForEncodings = 0;
            knownRegions = (
                fr,
                Base,
            );

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

Project ScreenShot

Ответ 2

Я мог бы это понять.

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

Я отредактировал MyProject.xcodeproj/project.pbxproj вручную. Существует две строки:

91C8245918BDFA6100A9972F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };

и этот раздел:

developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
        en,
        Base,
);

Изменение всех "en" на "sv" следующим образом:

91C8245918BDFA6100A9972F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = "<group>"; };

и

developmentRegion = Swedish;
hasScannedForEncodings = 0;
knownRegions = (
        sv,
        Base,
);

и перемещение файла MyProject/en.lproj/InfoPlist.strings на MyProject/sv.lproj/InfoPlist.strings похоже, исправлено. Теперь "Язык разработки" появляется как шведский, и я могу добавить перевод на английский язык.

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

В раскадровке есть английский перевод. Yay.

Ответ 3

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

Я только что открыл файл *.pbxproj внутри папки *.xcodeproj и изменил следующую строку на:

developmentRegion = Base;

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

Ответ 5

Выберите файл Info.plist в группе Supporting Files в Навигаторе проектов (справа). Затем в редакторе в Localization native development region нажмите стрелки вверх и вниз справа от "English" и выберите France.

Open base-language selection

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

Ответ 6

Вот Ruby script, чтобы изменить область разработки в проекте Xcode, используя библиотеки cocoapods:

require 'fileutils'
require 'Xcodeproj'

filename = ARGV.first

raise "Argument '#{filename}' is not a valid .xcodeproject" unless filename && File.directory?(filename) && File.extname(filename).downcase == ".xcodeproj"

puts "Region to set: "
region = $stdin.gets.chomp

project = Xcodeproj::Project.open(filename)
project.root_object.development_region = region
project.save

puts "#{project.path}", "development_region = #{project.root_object.development_region}"

https://www.ralfebert.de/snippets/ios/xcode-change-development-language/