回答
想通了。我所要求的是不可能的。頭文件在構建期間被評估,但本地化在運行期間被設置。
您可以在您的.lproj本地化文件夾中放置一個PLIST文件(比如說「constants.plist」)(把PLIST文件放在Localizable.strings文件的一邊,位於en.lproj/fr.lproj/es.lproj/......)。
然後PLIST可能包含您需要根據用戶區域設置(例如您的字體大小)自定義的每個值的鍵/值對的NSDictionary。
然後你可以使用:
NSString* plistPath = [[NSBundle mainBundle] pathForResource:@"constants" ofType:@"plist"]; // will return the path of the plist in the right language-specific .lproj directory)
NSDictionary* constants = [NSDictionary dictionaryWithContentsOfFile:plistPath];
float fontSize = [[constants objectForKey:@"fontSize"] floatValue]; // or whatever key you use in your plist for this constant
然後,這是很容易爲你的應用的每個語言不同,constants.plist。
是的。這是解決方案:) – johan
偉大的:)(如果是這樣,你可以歸因於我的答案「解決」標記,而不是你的「這是不可能的」自己的答案...... P) – AliSoftware
這是解決方案。然而,問題是「是否可以在Xcode中使用宏本地化頭文件?」。我不認爲你的帖子會回答這個問題。 – johan
- 1. iOS - 本地化StoryBoard文件
- 2. 爲iOS創建本地化文件
- 3. Ios本地化字符串文件
- 4. 本地化文件 - iOS設備編程
- 5. iOS本地化如何使用本地化文件添加現有文件夾
- 6. 本地化UIAlertController(IOS)
- 7. HTML文件的本地化
- 8. iOS中的本地化
- 9. Xamarin Ios的本地化
- 10. StageWebView,iOS,本地文件
- 11. 爲什麼在本地化文件的開頭有「---」?
- 12. 本地化與變量和常量的定義在頭文件
- 13. iOS中文本地化字符串
- 14. IOS本地控制本地化
- 15. 如何本地化標準iOS控件?
- 16. Heroku ZipImportError:糟糕的本地文件頭
- 17. 如何本地化iOS的圖像文件夾?
- 18. iOS本地化的大型文件,如電影
- 19. 如何本地化IOS項目中的圖像文件
- 20. iOS:在更新中刪除本地化的字符串文件
- 21. iOS故事板本地化:手動編輯生成的文件
- 22. 的iOS本地化:創建字符串文件爲母語?
- 23. 變化項文件路徑和iOS的反應本地項目
- 24. 內存管理的iOS本地化與.strings文件
- 25. 查找本地化文件
- 26. 本地化原始文件
- 27. Java本地化文件名
- 28. 本地化文件丟失
- 29. Android本地化xml文件
- 30. PHP本地化文件
有趣的是,當我在NSDate上創建一個類別時,我遇到了這個問題,以便給我一個字符串,其中包含從日期開始的相對時間,例如:24分鐘前,我需要用西班牙語來表示本地化.m文件,但這些更改沒有生效,如果允許開發人員在Xcode中本地化這些文件(如果它不會真正在設備上執行此操作),似乎很奇怪,但考慮到運行時的反思,這似乎是合乎邏輯的。我會盡力做AliSoftware建議http://stackoverflow.com/a/7321305/662605 – Daniel