3

ローカライズしたい iPhone アプリがあるので、中国語のローカライズを追加しました。そのために、アプリに Localizable.strings(chinese) を追加し、その中に文字列を追加しました。

しかし、コンパイルすると奇妙なことが起こります。文字列の半分またはそれ以下しか翻訳されません。私はできる限りのことを試しました:

  • 文字列ファイルを再作成し、
  • キーの変更、

機能している文字列とキーを機能していない文字列に入れても、何も機能していません。

私の要素はすべてUILabelsであり、それぞれの構成をすべてチェックしました。それらはすべて同じ構成です。プロジェクトの構成が原因である可能性がありますが、なぜ機能するのでしょうか? 他のいくつかの回答を確認し、解決策を試しました (キー、ファイル名などを確認します) が、何も機能していません。なぜそれが起こっているのかを理解するのを手伝ってください。

編集:文字列を印刷する方法は次のとおりです

//this one doesn't work
self.resolution.text = NSLocalizedString(@"RESOLUTION", nil);
//this one works
self.label1.text=NSLocalizedString(@"CAMERAS", nil);

そして、私のLocalizable.stringsファイルには私が持っています

"RESOLUTION"="Resolution";
"CAMERAS"="Cameras";
4

5 に答える 5

1

私の問題の解決策は、シミュレーターからアプリを削除して、holographixで説明されているようにクリーンに再構築することでした。ありがとうholographix:)

私がまだ理解していないのは、私が何度も手順を試したがうまくいかなかったので、ちょうどそのようにそれが働き始めることに決めたということです。私の問題は解決しましたが、それでも私には謎です。

于 2012-02-28T13:25:09.253 に答える
1

Xcode 7 で戻ってきます。もう 1 つのトリックがあります。

私は同じ問題を抱えていましたが、上記の解決策はどれも機能しませんでした (他の状況では機能しないと言っているわけではありません)。

解決策は、 double ;があることでした。1 つの定義の最後に (おそらくカット、コピー、ペースト操作による)。コンパイル エラーや警告はありませんでした。冗長を削除しただけです。そしてそれは再び働きました。

于 2016-06-30T06:47:38.557 に答える
1

要素の順序を逆にするなど、別のチェックを行います。翻訳されていない文字列の上に置いてみてください。次に、概念実証として、utf-8 以外の文字を使用して 3 番目のローカライズされたファイルを作成してみてください (飾り気のないプレーン テキストのように)。

于 2012-02-23T10:59:57.780 に答える
0

同様の問題がありました。私の場合は、Google 翻訳から翻訳をコピーした後の *.strings ファイルで、スピーチ マークが異なる文字コードだったことが原因でした。スピーチマークを再入力すると修正されました。

于 2016-08-15T08:07:50.753 に答える