Зміна мови розробки в Xcode


81

Мені потрібно встановити іспанську мову як мову розробки для додатка iOS. Я вже використовую Xcode 6, і я змінив Localization native development regionзапис у додатку Info.plist( CFBundleDevelopmentRegion) з "en" на "es". Однак у меню Проект> Інформація> Локалізації англійська мова залишається встановленою як Мова розробки.

Як зазначено в Довідковому ключі до списку властивостей інформації , CFBundleDevelopmentRegionвизначає мову за замовчуванням. Мені потрібно встановити іспанську мову за замовчуванням. Що мені не вистачає?

Дякую

Відповіді:


91

Ось як це можна зробити:

  1. Спершу додайте мову, якою ви хочете бути базовою мовою. Зніміть прапорець усі файли, які Xcode пропонує вам локалізувати.
  2. В Info.plist, змінити регіон розвитку на мову , який ви хочете , щоб бути вашим базовим мовою. Зверніть увагу, що властивість дещо неправильно названо, оскільки його значення має бути мовним кодом (із необов’язковим кодом країни), а не регіональним кодом.
  3. Закрийте свій проект у Xcode. В іншому редакторі коду відкрийте projectname.xcodeproj/project.pbxprojта знайдіть developmentRegion. Ви повинні побачити рядок типу developmentRegion = English;. Змініть це на посилання на ту саму мову, яку ви ввели у своїйInfo.plist файл.
  4. Повторно відкрийте проект у Xcode. Перегляньте всі ваші файли, які можна локалізувати, і встановіть прапорці поруч із англійською мовою, щоб сформувати ресурси, які можна локалізувати. Зверніть увагу, що для розкадрувань та xibs Xcode може створити розкадрування замість файлу рядків. Якщо це трапиться, просто змініть тип файлу на рядок.

Ось приклад результату, який я використовую frяк базову мову:

Інформація про проект

Інформація про файл


3
Ви змінили рядок на developmentRegion = francais, чи developmentRegion = fr?
Флімм

2
fr - те, що ви хочете тут використати
lensovet

3
Зауважте, що вам також може знадобитися додати свій код мови до knownRegionsсписку (у файлі .pbxproj), щоб він відображав властивість у налаштуваннях проекту.
Patrick Pijnappel

1
Вам не потрібно це робити, якщо ви спочатку додаєте локалізацію, що є кроком 1 інструкцій у цій відповіді.
lensovet

2
Тільки для уточнення. developmentRegionмає бути встановлено на, frа не на francais. Причина: project.pbxproj's developmentRegion передається цільовій як, export DEVELOPMENT_LANGUAGE=frі це значення зазвичай використовується, як <key>CFBundleDevelopmentRegion</key<string>$(DEVELOPMENT_LANGUAGE)</string>у Info.plist і CFBundleDevelopmentRegionдокументація говорить, що воно повинно бути у форматі ISO 639-1 або ISO 639-2 developer.apple.com/documentation/bundleresources /… . Тож „fr“ - це правильно, а „francais“ - ні.
nacho4d

54

Для Xcode 9-11:

Закрийте Xcode.

  1. Відкрийте project.pbxproj у текстовому редакторі
  2. Шукайте DevelopmentRegion і встановлюйте його значення (es для іспанської, fr для французької, ...)
  3. Шукайте knownRegions і додайте нову мову до списку

Відкрийте Xcode: інформація про ваш проект тепер повинна відображати назву мови з мовою розвитку поруч.


3
Для того, щоб знайти ваш проект .pbxprojфайлу: stackoverflow.com/a/3054073/4084269 😉
Josselin

1
Не потрібно закривати Xcode, мабуть (принаймні в Xcode 11)
Snowy_1803

Як я можу додати пару мов як мову додатка в App Store? Наприклад, у моїй вже опублікованій мові додатка відображається лише англійська, але я хочу додати також німецьку як мову додатка
Девід

@David - це те, що ти можеш зробити на App Store connect
ahbou

Дякую за вашу відповідь @ahbou. Але я не міг знайти місця для цього. Можете, будь ласка, направити мене?
Девід

37

У файлі .xcodeproj вашого проекту знайдіть рядок developmentRegion. Мовляв, прямо зараз там написано "англійська". Якщо ви зміните його на "іспанський", Xcode 6 повинен визнати іспанську мову мовою локалізації вашого проекту за замовчуванням на вкладці "Інформація", якщо ви додасте "іспанська" до списку.

Ви можете прочитати більше про цю тему на веб-сайті http://eschatologist.net/blog/?p=224


1
Дякую. Я щойно зробив те, що ви пояснили, і тепер я встановив іспанську мову як ціль розвитку в Інформація> Локалізація. Однак, якщо я зміню мову пристрою на мову, яку я не визначив у Локалізаціях (скажімо, французькій, оскільки я визначив лише англійську та іспанську локалізації), я отримую програму, як і раніше, локалізовану англійською, а не іспанською, як я очікується ...
AppsDev

Пристрій, ймовірно, налаштований віддавати перевагу англійській мові перед іспанською щодо запасних мов. Ось деяке уявлення про те, як у наборі додатків здійснюється пошук локалізованого вмісту: developer.apple.com/library/ios/documentation/CoreFoundation/…
Elwisz,

1
Якщо ви хочете змінити мову за замовчуванням, і ваша програма вже є в магазині, не забудьте змінити її також у iTunes Connect.
Vive

@Arefly у налаштуваннях мови та регіону на пристрої, натисніть кнопку Редагувати у верхньому правому куті та змініть порядок списку мов так, щоб англійська була нижче іспанської у списку мов.
lensovet

5

відкрийте свою ціль -> інформація -> змініть "Локалізація рідного регіону розвитку" на вашу мову


17
одного цього недостатньо.
lensovet

0

У когось, кому потрібна допомога, як у мене, у мене є дві цілі, одна, якою я хочу бути базовою локалізацією EN, а друга, якою я повинен бути іншою мовою. Вищезазначений варіант: "змінити projectname.xcodeproj / project.pbxproj і шукати developmentRegion і змінити ..." для мене не працює через цілі.

Що мені вдалося, Xcode 11.5, так це те, що лише мені потрібно змінити мовний код у "Регіональній локальній розробці локалізації" для цієї конкретної цілі, і це працює, не потрібно нічого міняти в projectname.xcodeproj / project.pbxproj PS Тут " Локалізація місцевого регіону розвитку "повинна містити код країни, як fr_Fr або в моєму випадку hr для хорватської

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.