2012-03-23 106 views
0

此問題涉及從應用程序內部進行本地化。NSLocalizedString的自定義宏

有幾個博客/教程真的有幫助,並指出了這樣做的方式。 我提到實現它的是如下:

http://learning-ios.blogspot.in/2011/04/advance-localization-in-ios-apps.html

http://www.pastie.org/1976594

我能夠(感謝有這樣的博客的幫助..他們)來實現它。

但我想一兩件事,我不得不關於下同

我想創建一個相同的宏作爲NSLocalizedString [即有點疑問的NSString * NSLocalizedString(字符串*鍵,字符串*值)]

但在我的課不同的宏名 像 [的NSString * getLocalizedString(字符串*鍵,字符串*值),並嘗試只需更換NSLocalizedString方法與我自己的宏使用相同的。

但是,我有一個嚴重的疑問/關注是,這種技術/方式通過APPLE批准?

我的意思是..這可能違反蘋果條款的非私人API的使用或重寫相同的?

因爲我試過檢查相同的各種博客..但無法找到任何具體的答案相同。

您能否確認這是否可以違反APPLE的T & C,或者我可以繼續使用自定義宏的方法嗎?

如果可能的話,你還可以提供鏈接/博客/教程,從中我可以更好地理解它?

非常感謝。

回答

1

我不明白這是如何使用任何類型的私人API。 -[NSBundle localizedStringForKey:]是一個公共API。你可以編寫你想調用的任何宏或者函數。你甚至可以用#undef NSLocalizedString,如果你願意,可以用你自己的定義替換它,它只是一個C宏。

+0

非常感謝託尼您的輸入。 :) :)我現在明白這一點更好。我也能找到一些類似的解決方案(如你所提議的),如下所示:http://stackoverflow.com/questions/1669645/how-to-force-nslocalizedstring-to-use-a-specific-language stackoverflow .COM /問題/ 6593561 /定製nslocalizedstring。再次感謝:) – Learner 2012-03-24 07:45:49