6

Şu anda iki desteklenen dilim var: İngilizce ve İspanyolca. Böylece her dil için iki tane main.strings dosyam var. Biri en.lproj ve bir tanesi es.lproj.iPhone: yerelleştirme/uluslararasılaştırma varsayılan dizeleri dosyası

Şimdi istediğim, en veya es'dan başka bir yerel ayara sahip bir kullanıcı uygulamada, örneğin, ingilizce main.strings, ingilizce main.strings varsayılan dosyadır. de veya fr. ,

NSLocalizedStringWithDefaultValue(key, @"main",[NSBundle mainBundle], defaultString, comment); 

Ama orada tekrar giremez tercih (ve iki yerde de değiştirmek zorunda) olacaktır:

ben defaultString parametre ile kodunda her dize için manuel olarak ayarlayabilirsiniz biliyorum bunun yerine, başka bir "desteklenmeyen" yerel ayar için varsayılan olarak enmain.strings dosyasına sahip olmanız gerekir.

cevap

11

Şimdi ne istiyorum tr veya es dışında bir dil ile kullanıcı uygulaması geldiğinde ise İngilizce main.strings varsayılan dosya, örneğin olmasıdır de veya fr.

Bunu denediniz mi? Uygulamanın hiçbir şey yapmadan İngilizce yerel ayarına geri döneceğinden neredeyse eminim. Uygulamanız mevcut yerel ayarı açıkça desteklemediği sürece, sistem iletişim kutuları bile İngilizce olarak görüntülenir. Bu kadar uzun sözdizimi kaçınmak istiyorsanız

+1

Argh gönderdiniz. Tamamen haklısın. Tamamen test etmediğim için aptalım. Tamamen farklı bir dil kullanmak yerine, zaten bir boş dize dosyası oluşturduğum test için "es" kullanmıştım. – znq

+6

geri dönüşü, varsayılan ingilizce yerine [NSLocale preferredLanguages] dizisine bağlıdır. örneğin çince deutsch geçiş yaparsanız, ilk deutsch ve ikincisi çince, bu yüzden uygulama desteği çince, bu yüzden Çince – chings228

+0

yerine Çince görüntüler bu yukarıda kabul edilen cevap olmalıdır –