如何将UILabel文本的英语改为西班牙语

时间:2014-05-20 07:49:50

标签: ios iphone objective-c ios7 localization

在我的应用程序中,我想在点击UILabel时将UIButton文本英语更改为西班牙语语言。我参考以下链接:

http://code.tutsplus.com/tutorials/ios-sdk-localization-with-nslocalizedstring--mobile-11603

http://www.raywenderlich.com/64401/internationalization-tutorial-for-ios-2014

我按照上述链接中的步骤操作。当我在设置应用程序中更改语言时,它正在工作。我不想要这个。单击按钮时,我需要将标签文本 english 更改为 spanish

这可能吗?如果可以,请帮助我。这是在节省我的时间。

1 个答案:

答案 0 :(得分:1)

就我的例子而言,您需要KEY_LANGUAGE才能知道当前使用的语言

NSString* NSCustomLocalizedString( NSString *key , NSString *comment)
{
NSString *rs = nil;
if( [[NSUserDefaults standardUserDefaults] integerForKey:KEY_LANGUAGE ] == e_language_japanese)
{
    rs = NSLocalizedStringFromTable(key,@"Localizable.strings-ja",nil);
}
else
{
    rs = NSLocalizedStringFromTable(key,@"Localizable.strings-en",nil);
}
return rs;
}

修改

  • KEY_LANGUAGE:0:日语; 1:英语
  • 我有两个选择:当用户选择英语时,我将此键设置为1,反之亦然
  • 首次启动应用,我使用日语作为默认设置,我将设置:[[NSUserDefaults standardUserDefaults] setInteger: e_language_japanese forKey:KEY_LANGUAGE]

    typedef enum{
     e_language_japanese,
     e_language_english
    }ENUM_LANGUAGE;