2012-03-13 28 views
0

我有一個Constants.h它具有所有的字符串,我的應用程序全面使用。如何將語言支持添加到Constants.h文件?

#define kGuideTitle @"Guide" 
#define kSeatingTitle @"Seating" 
#define kNotesTitle @"Notes" 
#define kQuestionsTitle @"Questionnaire" 
#define kTimelineTitle @"Timeline" 
#define kMessagesTitle @"Messages" 

現在我迫切需要將該文件本地化以支持多種語言(5種語言)。

我得到了我需要支持的每種語言的翻譯。

因此,我添加了lanugage支持Constants.h文件從檢查員。 XCode爲每種語言創建了Constants.h文件的版本。

之後我編輯了語言特定文件的內容,就像這樣。

Constants.h(Dutch) 

#define kGuideTitle @"Leitfaden" 
#define kSeatingTitle @"Sitzplan" 
#define kNotesTitle @"Notizen" 
#define kQuestionsTitle @"Fragebogen" 
#define kTimelineTitle @"Zeitlinie" 
#define kMessagesTitle @"Nachrichten" 

但是,當我在模擬器中運行的代碼(仿真語言設置爲荷蘭語),我只看到文字遍佈應用程序的英文版本。爲什麼這樣?

是否可以對任何文件進行本地化或只能對localizable.strings文件進行本地化?

(我不想重寫將所有內容轉移到localizable.strings文件)。

任何人都可以請幫忙嗎?

非常感謝。

+1

那是荷蘭人嗎?看起來更像deutsch(德國) – 2012-03-13 11:23:49

回答

2

你不能這樣做。在您的代碼碰撞編譯器之前,在預處理器階段將更換#define。即只有一組您的語言會被「編入」。您將需要使用本地化的字符串。

+0

那麼,有沒有辦法避免大量的返工? – Selvin 2012-03-13 11:28:42

+0

不可以。如果你想本地化,你可以推出你自己的整個本地化技術(注意:你不能在預處理器階段完成它,它必須在運行時完成),或者你可以使用蘋果給你的技術。 – mattjgalloway 2012-03-13 11:30:41

+0

好的..非常感謝... – Selvin 2012-03-13 11:31:42

0

這是已編譯的代碼,使用.h文件這種方式將不允許您在運行時更改語言。

相關問題