2011-05-21 53 views

回答

2

在「資源」構建階段中,當字符串文件被引用兩次時,我已經看到了這種情況。發生這種情況時,Xcode不會發出警告,並且可能會導致奇怪或未定義的行爲。查看所有構建階段,並確保文件只在一個地方。

+0

我有我的localizable.strings文件中引用的只有一次,但另一個localizable.strings從sharekit框架,我在我的項目有一個localizable.strings文件以及文件。無法刪除它們 – Allisone 2011-09-16 06:56:56

+0

您可能會嘗試將其中一個Localizable.strings文件重命名爲其他內容。 – 2011-09-16 17:21:14

0

如果你有像我這樣的情況,你有兩個Localizable.strings文件(因爲你使用一些額外的框架(如ShareKit)使用Localizable.strings文件本身),那麼你也可以請執行以下操作:

  1. 將附加的Localizable.strings文件重命名爲某物。像RenamedFile.strings這樣到最後有< = 1 Localizable.strings文件。

  2. 搜索和替換所有出現 NSLocalizedString(key, description);
    相關RenamedFile.strings與
    NSLocalizedStringFromTable(key, @"RenamedFile", description);

例子:
比方說你有
(A)你自己的本地化。字符串文件
(B)和Localizable.strings文件導致您使用ShareKit whic h也有自己的本地化。

  1. 重命名ShareKit的Localizable.stringsShareKit.strings
    (使用Git和Xcode的4我遇到了一些問題,重命名文件,但它是可以解決的)。

  2. 尋找在ShareKit文件夾中的NSLocalizedString所有出現的(應爲3),並取代它們:

    • NSLocalizedString(key, key);
      - >NSLocalizedStringFromTable(key, @"ShareKit", key);
    • NSLocalizedString(@"Disconnect from Facebook", @"Accessibility label");
      - >NSLocalizedStringFromTable(@"Disconnect from Facebook", @"ShareKit", @"Accessibility label");
    • ​​
      - >NSLocalizedStringFromTable(@"Connect to Facebook", @"ShareKit", @"Accessibility label");