一些用于支持多个目标的多语言支持技巧
只是
pod 'ABLocalize'
将ABLocalizeTag
分配为从编译设置
-> 预处理器宏
之一的值,如下所示:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
#ifdef APP1
ABLocalizeTag = @"APP1";
#elif defined(APP2)
ABLocalizeTag = @"APP2";
#elif defined(APP3)
ABLocalizeTag = @"APP3";
#else
#error One of macros APP1, APP2, APP3 should be defined!
#endif
// …
}
然后您可以标记所有希望依赖目标的多语言字符串
"LOGIN_INVITATION#APP1" = "Welcome to Foo App";
"LOGIN_INVITATION#APP2" = "Welcome to Bar App";
"LOGIN_INVITATION#APP3" = "Welcome to Lol App";
甚至是de.lproj/Main.strings
中的Main.storyboard
本地化
"I3Z-Vv-9QS.text" = "Herzlich Willkommen";
"I3Z-Vv-9QS.text#APP3" = "¯\_(ツ)_/¯";
应用将尝试获取标记的版本,如果不存在,则获取通用版本。
请随意讨论,发送pull request或tweet