2015-02-07 77 views
0

我有一個自定義單元格的tableview。 每個都由幾個對象組成:按鈕和文本。 我有一些問題本地化按鈕的內容。 我有我的.strings與定義鍵和翻譯文本文件,例如在自定義tableview單元格中定位按鈕和標籤[swift]

START="Start"; 

調用

cell.startButton.setTitle(NSLocalizedString("START", comment: ""), forState: .Normal) 

因此而不是「開始」文本按鈕的我「START」,爲什麼呢?當然,由於我總是閱讀「開始」,因此文本並未本地化。

編輯: 我準備了一個測試應用程序,顯示相同的行爲。 下載鏈接是HERE 有人可以幫忙嗎?

EDIT2: 我發現錯誤的字符串文件必須叫:「Localizable.strings」我不知道......

回答

3

字符串文件正確的語法是:

"id" = "localized message"; 

你的情況,你必須寫:

"START" = "Start"; 

,而你忽略標識符中的雙引號:

START = "Start"; // This is wrong 

附註:如果你做了很多本地化的,我建議將這個字符串擴展:

extension String { 
    var localized: String { 
     return NSLocalizedString(self, comment: "") 
    } 
} 

那麼你可以讓定位更加簡單:

cell.startButton.setTitle("START".localized, forState: .Normal) 
+0

對不起,這是隻是一個複製和粘貼錯誤,因爲我檢查了是否同一個問題是在日誌中,它是。不幸的是,沒有任何變化感謝您的擴展提示,我將使用它,如果我的本地化工作.... – Nicholas 2015-02-07 11:13:55

+0

字符串文件是否包含在項目中? – Antonio 2015-02-07 11:14:37

+0

@Nicholas看到更新的答案 - 也許我發現了錯誤 – Antonio 2015-02-07 11:16:40

相關問題