Ios 引用公共共享字符串的多个可本地化字符串
在我的GUI中有几个地方使用了相同的字符串,但是为了让翻译人员和测试人员更容易参考,也为了允许将来字符串可能在不同的地方发生变化,我想在本地化文件中执行以下操作:Ios 引用公共共享字符串的多个可本地化字符串,ios,Ios,在我的GUI中有几个地方使用了相同的字符串,但是为了让翻译人员和测试人员更容易参考,也为了允许将来字符串可能在不同的地方发生变化,我想在本地化文件中执行以下操作: "SHARED_DIALOG_TEXT" = "Shared in several places"; "DIALOG_A" = "SHARED_DIALOG_TEXT"; "DIALOG_B" = "SHARED_DIALOG_TEXT"; "DIALOG_C" = "SHARED_DIALOG_TEXT"; 显然,这是行不通的,我
"SHARED_DIALOG_TEXT" = "Shared in several places";
"DIALOG_A" = "SHARED_DIALOG_TEXT";
"DIALOG_B" = "SHARED_DIALOG_TEXT";
"DIALOG_C" = "SHARED_DIALOG_TEXT";
显然,这是行不通的,我用它来说明我想做什么。
资源是否可能引用以前的资源?您可以这样做:
"SHARED_DIALOG_TEXT" = "Shared in several places";
"DIALOG_A" = "%@";
"DIALOG_B" = "%@";
"DIALOG_C" = "%@";
NSString *string = [NSString stringWithFormat:NSLocalizedString(@"DIALOG_C"), NSLocalizedString(@"SHARED_DIALOG_TEXT")];
有一种方法可以帮你做到这一点。它不是100%纯基于资源的,但它是最接近您想要做的事情 使用本地化宏
NSLocalizedStringFromTable()
。这需要三个参数:
NSLocalizedString()中一样
NSLocalizedStringFromTable(@“字符串”,“SharedStrings”,“comment”)然后将我的字符串放入一个SharedStrings.strings
文件,它将使用该文件
然后,如果您稍后重写翻译,只需在需要时为重写使用不同的“表”文件即可<代码>NSLocalizedStringFromTable(@“字符串”、“新覆盖”、“注释”)代码>
祝你的项目好运 谢谢,但如果对话框C文本要更改,这将意味着代码更改,而不仅仅是资源文件更改。是否有任何资源文件专用解决方案?