这个问题是关于应用内部的本地化。
有几个博客/教程真的有帮助,并展示了这样做的方法。 我提到的那些实现它如下:
http://learning-ios.blogspot.in/2011/04/advance-localization-in-ios-apps.html
我能够实现它(在这些博客的帮助下......感谢他们)。
但我正在尝试一件事,我对下面的内容有点怀疑
我正在尝试创建与NSLocalizedString相同的宏 [即NSString * NSLocalizedString(String * key,String * value)]
但使用不同的宏名称 就像是 [NSString * getLocalizedString(String * key,String * value)]在我的类中尝试用我自己的宏替换NSLocalizedString方法。
但我有一个严重的疑问/担忧,这种技术/方式是否得到了APPLE的认可?
我的意思是......可以/这会违反不使用私有API的苹果条款或者覆盖相同的那种吗?
因为我已尝试在各种博客中检查相同的内容..但无法找到相同的具体答案。
您能否确认这是否会违反APPLE的T& C或者我可以继续使用自定义宏方法吗?
如果可能,你还可以提供我能更好理解的链接/博客/教程吗?
提前多多感谢。
答案 0 :(得分:1)
我不知道这是如何使用任何类型的私有API。 -[NSBundle localizedStringForKey:]
是一个公共API。您可以编写所需的任何宏或函数来调用它。如果需要,你甚至可以#undef NSLocalizedString
并用你自己的定义替换它,它只是一个C宏。
答案 1 :(得分:1)
这不违反苹果条款。实际上,他们建议您这样做来测试您的应用并确保您翻译了所有字符串。他们在2012年WWDC视频,会议244国际化技巧和诀窍23:50的时候演示了如何做到这一点。