在iOS应用中的运行时设置和创建本地化字符串 [英] Set and create localization strings at runtime in ios app

查看:125
本文介绍了在iOS应用中的运行时设置和创建本地化字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道是否可以定义一个键/值对的字典,以便在运行ios应用程序时用作我的语言本地化字符串.当前更改语言本地化设置的方法取决于在最初构建应用程序时在捆绑软件中定义的适当的字符串文件.

I was wondering if I could define a dictionary of key/value pairs to use as my language localization strings at run time in an ios app. The current method of changing language localization setting depends on an appropriate strings file being defined in the bundle when the app is initially built.

所以不要说类似的话

NSLocalizedStringFromTableInBundle(@"Greeting", nil, localeBundle, nil);

说类似

NSDictionary *myDictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Hello", @"Greeting"];
NSLocalizedStringFromTableInBundle(@"Greeting", nil, myDictionary, nil);

推荐答案

Haeder

#define MyLocalizedString(key, dict) \
  [LocalizationUtils localizedStringWithKey:(key) fromDict:(dict)]

@interface LocalizationUtils : NSObject

+ (NSString *) localizedStringWithKey:(NSString *)key fromDict:(NSDictionary *)dict;

@end

实施

+ (NSString *) localizedStringWithKey:(NSString *)key fromDict:(NSDictionary *)dict
{
   NSString *localizedString;
   if (!dict) {
       // use NSLocalizedString or sth as a fallback.
       // ...
   }

   // get your string from dict

   return localizedString;
}

这篇关于在iOS应用中的运行时设置和创建本地化字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆