创建一个单独的字符串资源,说UKLocalization.strings
,并为每个支持语言的本地化。对于en
以外的所有本地化,此文件为空。对于en
,它只包含具有唯一en_GB拼写的字符串。
接下来,您将创建NSLocalizationString的替代将首先回落至标准的本地化表之前检查UKLocalization表。
例如:
static NSString* _locTable = nil;
void RTLocalizationInit()
{
_locTable = nil;
NSString* country = [[NSLocale currentLocale] objectForKey:NSLocaleCountryCode];
if ([country isEqual:@"GB"])
{
_locTable = @"UKLocalization";
}
}
NSString* RTLocalizedString(NSString* key, NSString* ignored)
{
NSString* value = nil;
value = [[NSBundle mainBundle] localizedStringForKey:key value:nil table: _locTable];
if (value == key)
{
value = NSLocalizedString(key, @"");
}
return value;
}
好的答案!但是,这提出了一个问题:区域设置格式有什么好处,如果不是用于本地化字符串? – 2011-07-22 21:07:20
区域设置用于格式化日期,货币,以选择将数字中的小数位分开的字符等。 – 2011-07-25 11:47:16