Zmiana języka programowania w Xcode


81

Muszę ustawić hiszpański jako język programowania aplikacji na iOS. Używam już Xcode 6 i zmieniłem Localization native development regionwpis w app Info.plist( CFBundleDevelopmentRegion) z „en” na „es”. Jednak w opcji Projekt> Informacje> Lokalizacje język angielski pozostaje ustawiony jako język programowania.

Jak wspomniano w Odniesieniu do klucza listy właściwości informacji , CFBundleDevelopmentRegionokreśla język domyślny. Muszę ustawić hiszpański jako język domyślny, czego mi brakuje?

Dzięki

Odpowiedzi:


91

Oto jak możesz to zrobić:

  1. Najpierw dodaj język, który ma być językiem podstawowym. Odznacz wszystkie pliki, które Xcode oferuje do zlokalizowania dla Ciebie.
  2. W programie Info.plistzmień region programowania na język, który ma być językiem podstawowym. Zwróć uwagę, że nazwa właściwości jest nieco błędna, ponieważ jej wartością powinien być kod języka (z opcjonalnym kodem kraju), a nie kod regionu lub kraju.
  3. Zamknij projekt w Xcode. W innym edytorze kodu otwórz projectname.xcodeproj/project.pbxproji wyszukaj developmentRegion. Powinieneś zobaczyć taką linię developmentRegion = English;. Zmień to, aby odwoływać się do tego samego języka, który umieściłeś w Info.plistpliku.
  4. Otwórz ponownie projekt w Xcode. Przejrzyj wszystkie lokalizowalne pliki i zaznacz pola obok języka angielskiego, aby wygenerować lokalizowalne zasoby. Zwróć uwagę, że w przypadku scenorysów i xibs Xcode może utworzyć scenorys zamiast pliku ciągów. Jeśli tak się stanie, po prostu zmień typ pliku na plik ciągów.

Oto przykład wyniku dla mnie frużywanego jako języka podstawowego:

Informacje o projekcie

Informacja o pliku


3
Czy zmieniłeś linię na developmentRegion = francaisczy developmentRegion = fr?
Flimm

2
fr jest tym, czego chcesz tutaj użyć
lensovet

3
Zauważ, że może być również konieczne dodanie kodu języka do knownRegionslisty (w pliku .pbxproj), aby wyświetlić właściwość w ustawieniach projektu.
Patrick Pijnappel

1
Nie powinieneś tego robić, jeśli najpierw dodasz lokalizację, co jest krokiem 1 instrukcji w tej odpowiedzi.
lensovet

2
Żeby się upewnić. developmentRegionmusi być ustawiony na, fra nie na francais. Powód: project.pbxproj's developmentRegion jest przekazywana do celu jako export DEVELOPMENT_LANGUAGE=fri ta wartość jest zwykle używana tak, jak <key>CFBundleDevelopmentRegion</key<string>$(DEVELOPMENT_LANGUAGE)</string>w Info.plist, a CFBundleDevelopmentRegiondokumentacja mówi, że powinna być w formacie ISO 639-1 lub ISO 639-2 developer.apple.com/documentation/bundleresources /… . Zatem „fr” jest poprawne, a „francais” nie.
nacho4d

54

Dla Xcode od 9 do 11:

Zamknij Xcode.

  1. Otwórz swój project.pbxproj w edytorze tekstu
  2. Poszukaj DevelopmentRegion i ustaw jego wartość (es dla hiszpańskiego, fr dla francuskiego, ...)
  3. Wyszukaj znane regiony i dodaj nowy język do listy

Otwórz Xcode: Informacje o Twoim projekcie powinny teraz wyświetlać nazwę języka z językiem programowania obok niego.


3
Aby znaleźć .pbxprojplik projektu : stackoverflow.com/a/3054073/4084269 😉
Josselin

1
Najwyraźniej nie ma potrzeby zamykania Xcode (przynajmniej w Xcode 11)
Snowy_1803

Jak mogę dodać kilka języków jako język aplikacji w App Store? Na przykład mój już opublikowany język aplikacji pokazuje tylko angielski, ale chcę również dodać niemiecki jako język aplikacji
David

@David, to coś, co możesz zrobić w App Store connect
ahbou

Dzięki za odpowiedź @ahbou. Ale nie mogłem znaleźć miejsca, żeby to zrobić. Czy możesz mnie pokierować?
David

37

W pliku .xcodeproj swojego projektu wyszukaj ciąg developmentRegion . Podobno teraz jest na nim napis „angielski”. Jeśli zmienisz go na „hiszpański”, Xcode 6 powinien rozpoznać hiszpański jako domyślny język lokalizacji projektu w zakładce „Informacje”, o ile dodasz „hiszpański” do listy.

Więcej informacji na ten temat można znaleźć pod adresem http://eschatologist.net/blog/?p=224


1
Dzięki. Właśnie zrobiłem to, co wyjaśniłeś, i teraz ustawiłem język hiszpański jako cel rozwoju w menu Informacje> Lokalizacje. Jeśli jednak zmienię język urządzenia na język, którego nie zdefiniowałem w Lokalizacjach (powiedzmy francuski, ponieważ zdefiniowałem tylko angielskie i hiszpańskie lokalizacje), aplikacja nadal jest zlokalizowana w języku angielskim, a nie hiszpańskim, ponieważ ja oczekiwano ...
AppsDev

Urządzenie prawdopodobnie jest ustawione na preferowanie języka angielskiego od hiszpańskiego ze względu na rezerwowy język. Oto kilka informacji o tym, jak pakiet aplikacji jest przeszukiwany pod kątem zlokalizowanej zawartości: developer.apple.com/library/ios/documentation/CoreFoundation/ ...
Elwisz

1
Jeśli chcesz zmienić domyślny język i mieć swoją aplikację już w sklepie, nie zapomnij zmienić jej również w iTunes Connect.
Vive

@Arefly w ustawieniach języka i regionu na urządzeniu, stuknij przycisk Edytuj w prawym górnym rogu i zmień kolejność na liście języków, tak aby na liście języków angielski znalazł się poniżej hiszpańskiego.
lensovet

5

otwórz swój cel -> informacje -> zmień „Lokalizacja natywnego regionu rozwoju” na swój język


17
samo to nie wystarczy.
lensovet

0

Dla kogoś, kto potrzebuje pomocy, tak jak ja, mam dwa cele, jeden chcę być lokalizacją podstawową EN, a drugi musi być innym językiem. Wspomniana powyżej opcja: „zmień nazwę projektu.xcodeproj / projekt.pbxproj i wyszukaj DevelopmentRegion i zmień ...” nie działa dla mnie z powodu celów.

To, co zadziałało dla mnie, Xcode 11.5, to to, że tylko ja muszę zmienić kod języka w "natywnym regionie rozwoju lokalizacji" dla tego konkretnego celu i to działa, nie trzeba niczego zmieniać w nazwie projektu.xcodeproj / project.pbxproj PS Tutaj " Lokalizacja rodzimego regionu rozwoju ”musi mieć kod kraju taki jak fr_Fr lub w moim przypadku hr dla chorwackiego

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.