2015-03-03 63 views
0

我們的應用程序支持多個地區和語言。當我開發今天的擴展部件並閱讀App Extension Programming Guide時,我仍然找不到本地化解決方案。即使我創建的文件Localize.strings像一個正常的Xcode項目,定義Localize.strings文件,如:如何本地化今天的擴展部件?

"scene_people_liked"="%d people like"; 

使用:

#define NSLocalizedString(key, comment) \ 
      [[NSBundle bundleWithPath:moLocalizedPath] localizedStringForKey:(key) value:@"" table:@"Localizable"] 

,並稱之爲:

NSLocalizedString(@"scene_people_liked", nil) 

,它仍然沒有工作。任何人都有關於這個問題的想法?

+0

字符串文件是否包含在擴展束中,或僅僅是應用程序? – 2015-03-04 17:45:15

+0

只是留下應用程序,需要包括到今天的部件? – 2015-03-05 03:45:13

+0

@TomHarrington包含在擴展中 – 2015-05-06 03:02:38

回答

1

需要一段時間我已經解決了這個問題。 如果你想本地化你的今天的擴展部件,實際上它沒有任何不同的步驟,在正常的項目中做。

但它有關於「Localize.strings」文件名的亂七八糟的問題,您必須在正常的項目中使用「Localize」命名爲「Localize.strings」文件.localize應該是可以工作的,但是如果您使用它的名字相同作爲主要應用程序或使用一些「InforPlist.String」關鍵字,即使在調試項目時測試一切正常,但在打包並安裝設備時,您會發現本地化無法獲取值,所以你必須在不 「Localize.strings」 或一些關鍵字定義客戶的名字。

:)

0

檢查THA t您的TodayWidget目標在目標成員中具有Localizable.strings文件。