問題タブ [nslocalizedstring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
910 参照

iphone - iOS-すべてではありませんが一部の文字列がローカライズされて表示されます。

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

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

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

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

ありがとう、マイケル。

0 投票する
4 に答える
1891 参照

iphone - genstrings が NSLocalizedString のマクロで機能しない

「NSLocalizedString」を「_」に短縮したいので、マクロを使用してい _(x) NSLocalizedString(@x, @__FILE__) ます。

しかし今、ローカライズ用の文字列を生成したいとき、 find . -name \*.m | xargs genstrings それは何も生成しません。

何か助けはありますか?

0 投票する
3 に答える
1697 参照

ios - NSLocalizedString は、どこにも定義されていないテキストを返します

OK、私は公式にびっくりしています。しばらく前に IOS プロジェクトを開始し、最初はローカリゼーションに少し手こずりましたが、それを適切に行う方法がまだわからなかったので、少し混乱しました。

今、私はゼロからローカライズを行うことに決めたので、すべての .strings ファイルを破棄し、適切な多言語構造を作成しました。空の Localizable.strings ファイルから始め、アプリを実行して、すべてが適切にクリーンアップされたかどうかを確認しました。空の Localizable.string ファイルを使用すると、"NSLocalizedString" 呼び出しは単にキーをテキストとして返すと想定しました。彼らはしません。古い .strings ファイルにあった古いテキストがまだ返されます。

念のため、次のように、NSLocalizedString 呼び出しの 1 つの下に NSLog ステートメントを配置しました。

次に、返されたテキストをハードディスク全体で検索します。私のハードディスクには、NSLocalizedString が返す文字列を含むファイルはありません。また、キーとはまったく異なる文字列であるため、NSLocalizedString でも構築できません。

誰もがこれがどのように起こるか知っていますか? 古い情報は XCode によってどこかにキャッシュされていますか? 新しい Localizable.strings ファイルを使用するようにツールを説得するにはどうすればよいですか? 明らかに、私はすでにプロジェクト全体を「クリーン」にして再構築しました。

0 投票する
2 に答える
378 参照

iphone - cell.textLabel.text NSLocalizedString パラメータ

2番目のパラメーター to が何に使用されているのか疑問に思っていますNSLocalizedString

0 投票する
30 に答える
46495 参照

ios - NSLocalizedStringはキーのみを取得し、Localizable.strings(IOS)の値は取得しません。

「Localizable.strings」という名前の文字列ファイルを作成し、次のように2つの言語を追加しました。

また、ファイルをUnicode UTF-8に変換しました。ただし、次のようなUIAlertViewを作成すると、次のようになります。

アラートビューには、値ではなく、キーテキストのみが表示されます。たとえば、UITextviewsテキストをNSLocalizedString(@ "CONNECTIONERROR"、nil)に設定すると機能しますが、アラートビューにはキーのみが表示されます。誰が何が悪いのか知っていますか?

0 投票する
1 に答える
485 参照

localization - Xcode 4.2 でのローカリゼーション

iPhone アプリでローカライズができません。これが私がしたことです:

アプリケーションの情報で、フランス語を追加しました。ファイルLocalizable.strings(UTF-16) をfr.lprojフォルダーに移動しました。ファイルには次が含まれます。

iPhone Simulator の言語をフランス語に変更し、Product -> Clean を使用してプロジェクトを再度実行しましたが、効果がありません。「アップル」を取得しています。

問題は何ですか?Localizable.stringsファイルを間違って作成している可能性がありますか?

フランスのxibファイルを追加したときに同じ問題が発生したため、問題はシミュレーターにあると思いますが、何が問題なのかわかりません。

0 投票する
1 に答える
55 参照

variables - 変数が正しい値をとっていない

私はこのコードを手に入れました:

このコードブロックは、最初にクリックすると正常に機能しますが、2回目のクリックでは常にクラッシュします。驚くべきことに、lstrGroupTitleが奇妙な値を取得するため、クラッシュします。この簡単な関数で、どうして間違った値を取得できるのでしょうか。

注:lstrGroupNumberは正常に機能します。

0 投票する
3 に答える
1619 参照

iphone - NSLocalizedString-ビルドに失敗しました

ローカライズされた文字列をlocalizable.string (英語とノルウェー語)に追加しています

英語で

ノルウェー語で

アプリケーションをビルドすると、次のようになります。

/myPath/nb.lproj/Localizable.strings:0:エラー:検証に失敗しました:データが破損しているため、データを読み取ることができませんでした。

を別のpに変更すると、ビルドが成功した ため、 が原因でエラーが発生していることがわかります。

0 投票する
2 に答える
622 参照

ios - 英語以外の言語を使用する方法はありますが、英語で NSLocalizedString を使用するには?

同様の質問が見つからなかったので、ここに行きます:

最初のリリースはフランス語のみの iOS アプリに取り組んでいますが、将来的には英語版もリリースする予定です。この時点でNSLocalizedString、英語が必要になったときにアプリを準備できるように、すべてのテキストに使用することをお勧めします。ただし、コードのキー値として英語を使用したいと思います。

それ以外の

次に、genstrings を実行し、.strings ファイルをフランス語にローカライズします (そして翻訳者に渡します)。しかし、そのようにした場合、「元の」英語の .strings ファイルを削除するにはどうすればよいですか? 私はここで完全に間違っていますか?コードで今のところフランス語を使用する必要がありますか?

0 投票する
9 に答える
75180 参照

objective-c - NSLocalizedStringを使用したベストプラクティス

私は(他のすべての人と同じように)NSLocalizedString自分のアプリをローカライズするために使用しています。

残念ながら、次のようないくつかの「欠点」があります(必ずしもNSLocalizedString自体の障害ではありません)。

  • Xcodeの文字列の自動補完はありません。これにより、エラーが発生しやすくなるだけでなく、作業が面倒になります。
  • 同等の文字列がすでに存在することを知らなかったという理由だけで、文字列を再定義してしまう可能性があります(つまり、「パスワードを入力してください」と「最初にパスワードを入力してください」)。
  • オートコンプリートの問題と同様に、コメント文字列を「記憶」/コピーして貼り付ける必要があります。そうしないgenstringと、1つの文字列に対して複数のコメントが表示されます。
  • すでにいくつかの文字列をローカライズした後で使用する場合genstringは、古いローカリゼーションを失わないように注意する必要があります。
  • 同じ文字列がプロジェクト全体に散らばっています。たとえば、NSLocalizedString(@"Abort", @"Cancel action")どこでも使用した場合、コードレビューではNSLocalizedString(@"Cancel", @"Cancel action")、コードの一貫性を高めるために文字列の名前を変更するように求められます。

私がしていること(そしてSOを検索した後、多くの人がこれを行っていると思いました)は、すべてのローカライズコードを含む別のstrings.hファイルを作成することです。#define例えば

これは基本的に、コード補完、変数名を変更するための単一の場所(したがって、genstringはもう必要ありません)、および自動リファクタリングのための一意のキーワードを提供します。ただし、これには、#define本質的に構造化されていない(つまり、LocString.Common.Cancelなどの)ステートメントが大量に発生するという犠牲が伴います。

ですから、これはある程度うまく機能しますが、皆さんがプロジェクトでどのようにそれを行うのか疑問に思いました。NSLocalizedStringの使用を簡素化する他のアプローチはありますか?それをカプセル化するフレームワークさえあるのでしょうか?