1

アプリにフランス語のローカリゼーションを追加しました。XCode 4では、Localizable.stringsを選択し、ファイルインスペクターで新しい(フランス語の)ローカリゼーションを追加しただけです。次に、フランス語の翻訳(Wordから-unicode 16)を、生成された新しいLocalizable.strings(フランス語)ファイルにコピーして貼り付けました。

電話の言語(デバイスとシミュレーターの両方)をフランス語に変更し、現在インストールされているアプリを削除し、クリーンアップしてビルドしました。

ちょっとプレスト-すべてがフランス語です。英語のまま残っている行がちらほらあることを除いて。これらの行に共通する要素はないようです-アクセント、フォーマット、引数のいずれかです。例:

title = [NSString stringWithFormat:NSLocalizedString(@"You've just met %@", @"New friend message title"), self.friend.name];

/* New friend message title */  
"You've just met %@" = "Vous venez de rencontrer %@";

フランス語ではなく、「あなたはちょうど会った...」と表示されます。他のすべてが翻訳されているのに、なぜこれらの数行が翻訳されていないのか理解できないようです。どんな助けでも大歓迎です!

ありがとう、マイケル。

4

2 に答える 2

1

Microsoft Wordはプレーンテキストエディタではありません。特定の句読点(アポストロフィ、引用符、ダッシュ)を、見た目は少し良くなりますが、ランダムなユニコードコードポイントを持つ「スマート」バージョンに置き換えることでテキストを変更します。

「You'vejustmet」のアポストロフィが、文字列ファイルの文字とコードソースファイルの文字とまったく同じであることを確認することをお勧めします。たぶん、「You've just met」を文字列ファイルからコードのNSLocalizedStringステートメントに直接コピーして、それが役立つかどうかを確認してください。

また、多くの頭痛の種が必要な場合を除いて、MicrosoftWordを使用して機械可読文字列を生成しないことをお勧めします。

于 2012-01-13T12:22:55.663 に答える
1

NSLocalizedString関数で拡張ASCII文字を使用することはできません。
これを修正するには、キー文字列を変更するだけです。

title = [NSString stringWithFormat:NSLocalizedString(@"YouveJustMetStr", @"New friend message title"), self.friend.name];

"YouveJustMetStr" = "Vous venez de rencontrer %@";
于 2012-01-13T11:34:54.373 に答える