2012-10-21 122 views
3

我已經閱讀了幾篇教程,但每篇都說了一些不同的東西,而且我非常困惑。什麼是propiret方式來本地化我的應用程序?在我的應用程序中本地化的正確方法

有的說像這樣:

NSLocalizedString(@"Welcome to app", @"Welcome title label"); 

等說:

NSLocalizedString(@"AppWelcomeMessage", nil); 

而在Localizable.strings,我需要這樣設置:

"AppWelcomeMessage" = "Welcome to my application!"; 

的是在NSLocalizedString(key,comment)中的註釋只是對關鍵字的描述?或者它對翻譯本身有重要影響?什麼是正確的順序?

感謝您的幫助!

+1

退房http://stackoverflow.com/questions/1442822/what-is-the-second-parameter-of-nslocalizedstring,我認爲它應該解決你的問題。 – Travis

回答

1

NSLocalizedString中的評論用於genstrings。如果您自己完成所有本地化,則可以將其保留nil。否則,您應該努力添加一些有意義的信息,以幫助爲您進行本地化的人員。提高他們對翻譯所處環境的理解會直接影響您將獲得的翻譯質量。

+0

因此可以說我在localizable.strings中有這個:「MainViewControllerNavigationBarTitle」=「Main Menu」;將在NavigationBar上的標題將是「主菜單」,它應該像這樣用NSLocalizedString調用:NSLocalizedString(「MainViewControllerNavigationBarTitle」,nil)?這樣做是正確的嗎? –

+0

@YossiTsafar是的,確切地說,第一個參數是實際的鍵,第二個參數只是一個評論,但是你可以從我的答案中看到它。 – 2012-10-21 12:54:31

+0

@YossiTsafar如果你自己做翻譯,可以留下第二個參數'nil'。如果你有一個本地化器做翻譯,你應該像這樣調用它:'NSLocalizedString(@「MainViewControllerNavigationBarTitle」,@「Main Menu」)',這樣本地化器就可以看到鍵('MainViewControllerNavigationBarTitle')和英文意思'主Manu')由'genstrings'生成的文件中。 – dasblinkenlight

4

NSLocalizedString(key,comment)中的註釋只是對關鍵字的描述嗎?

是的。如果您不需要它,請隨時忽略它(傳入nil)。

事實上,在代碼中編寫大量可本地化的字符串時,它開始討厭每一次拼寫出NSLocalizedString(@"Some Key", @"Some Comment")。我通常做的是

#define L(k) NSLocalizedString(k, nil) 

它突然間是我的應用程序本地化的喜悅。

相關問題