2016-08-25 3 views
0

Я работаю над приложением, которое работает на двух языках English и Арабский. Таким образом, пользователь может выбрать желаемый язык, и приложение отобразится на этом языке.Как сохранить язык приложения в NSUserDefaults Swift?

Я использую localization для отображения статических текстов. Я создал файлы строки локализации на английском и арабском языках.

Итак, теперь я хочу сохранить язык, выбранный пользователем, в NSUserDefaults и использовать его для реализации localization. Как я могу это сделать?

ответ

1

сделать как

func isDeviceLanguageRTL() -> Bool { 
return (NSLocale.characterDirectionForLanguage(NSLocale.preferredLanguages()[0]) == .RightToLeft) 
} 

Первоначально проверки может быть ваш язык приложения является арабским или английским

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

if self.isDeviceLanguageRTL() 
{ 
// it is Arabic 

} 
} 

Secondary на кнопке действия экономии

набора тег для вашей кнопки например, rr = 0 и arabic = 1;

хорошо на этом предположении сделать как

func buttonTapped(sender: UIButton) 
{ 
    let userDefaults = NSUserDefaults.standardUserDefaults() 
    if sender.tag == 1 
{ 
    // english 
    userDefaults.setObject("En", forKey: "AppleLanguages") 
} else 
{ 
    //arbaic 
    userDefaults.setObject("AR", forKey: "AppleLanguages") 
} 
} 

получить

if let getlan = NSUserDefaults.standardUserDefaults().objectForKey("AppleLanguages") as? String { 
     if getlan == "En" { 
       //English 
     } 
     else { 
       //Arabic 
     } 
    } 
+0

На самом деле у меня есть две кнопки. Один для английского и еще один для арабского. Поэтому предположим, что пользователь выбирает английский, я хочу сохранить его в UserDefaults. Есть ли какой-либо конкретный ключ для языка при сохранении в UserDefaults? Я на самом деле новичок в Swift, поэтому у меня мало знаний об основах. Было бы здорово, если бы вы могли помочь мне – Jas

+0

@ Jas - ya мы можем просто подождать, я изменю свой ответ –

+0

@Jas - вы использовали одну кнопку или две кнопки для концепции yiour –

Смежные вопросы