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

AppsDev
źródło

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

lensovet
źródło
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.

ahbou
źródło
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

Elwisz
źródło
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

AleyRobotics
źródło
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

clopex
źródło