第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在iOS應用中手動選擇語言(iPhone和iPad)

在iOS應用中手動選擇語言(iPhone和iPad)

iOS
函數(shù)式編程 2019-10-14 14:59:20
我的問題:我的iPhone應用程序如何告訴iOS,用戶確實在應用程序首選項中選擇了一種語言,該語言與常規(guī)設置中設置的語言不同?相同問題的其他提法:我該如何告訴系統(tǒng),該系統(tǒng)NSLocalizedString (@"text", @"comment");不應訪問系統(tǒng)范圍內(nèi)選擇的語言,而應訪問應用程序內(nèi)選擇的語言?背景,例如:請以這種情況為例:一個德國移民的兒子住在法國東北部,毗鄰盧森堡和德國。他的母語是法語,因此他確實將iPhone的用戶界面語言設置為法語(設置->常規(guī)->國際->語言->法語)。但是由于他的文化背景,并且因為他居住的地區(qū)是雙語地區(qū),所以他的德語也很好。但是他不會說十個英語單詞。在iPhone(以及iPad)上,他沒有機會選擇第二種語言,因此電話只知道他會說法語。它不了解其他語言的用戶技能?,F(xiàn)在有了我的應用程序:我確實用英語和德語開發(fā)了它(德語是我的母語,英語是IT的標準語言)。我確實是根據(jù)適用于多個iOS應用程序的所有規(guī)則和最佳實踐開發(fā)它的。我的應用程序的“第一”語言(默認語言)是英語。這意味著:如果有人在“設置”中選擇了英語或德語,則應用程序用戶界面將自動使用所選的語言。用戶甚至不會注意到還有其他語言可用。但是,如果他在常規(guī)設置中選擇了任何其他語言(例如中文,波蘭語或法語),他將獲得應用程序的默認語言,在我的情況下為英語。但是對于我的法國德國朋友來說,這不是最佳選擇。他想使用現(xiàn)有的德語版本,但是似乎沒有辦法讓用戶選擇此版本。添加法文翻譯將為我們的法德朋友解決問題,但不會解決其他兩種語言(例如意大利語和德語)的問題,并且我無法使用此星球上所有語言支持我的應用程序。將默認語言設置為德語也不是最佳選擇,因為這對于說法語(母語)和英語(作為第二語言)的人們會產(chǎn)生相同的問題。因此,我認為我的應用程序必須可以手動選擇與預先選擇的語言不同的語言。向應用程序設置面板添加語言選擇不是問題。但是我如何告訴系統(tǒng),該系統(tǒng)NSLocalizedString (@"text", @"comment");不應該訪問系統(tǒng)范圍內(nèi)選擇的語言,而應訪問應用程序內(nèi)選擇的語言?
查看完整描述

3 回答

?
慕婉清6462132

TA貢獻1804條經(jīng)驗 獲得超2個贊

只需將以下內(nèi)容添加到屏幕上即可選擇語言:


    NSString *tempValue = //user chosen language. Can be picker view/button/segmented control/whatever. Just get the text out of it

    NSString *currentLanguage = @"";

    if ([tempValue rangeOfString:NSLocalizedString(@"English", nil)].location != NSNotFound) {

        currentLanguage = @"en";

    } else if ([tempValue rangeOfString:NSLocalizedString(@"German", nil)].location != NSNotFound) {

        currentLanguage = @"de";

    } else if ([tempValue rangeOfString:NSLocalizedString(@"Russian", nil)].location != NSNotFound) {

        currentLanguage = @"ru";

    }

    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:currentLanguage, nil] forKey:@"AppleLanguages"];

    [[NSUserDefaults standardUserDefaults]synchronize];

然后要求他們重新啟動應用程序,該應用程序?qū)⑹褂闷渌Z言。


希望能幫助到你


查看完整回答
反對 回復 2019-10-14
  • 3 回答
  • 0 關(guān)注
  • 690 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號