問題タブ [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 投票する
3 に答える
423 参照

iphone - iPhoneアプリのローカリゼーション-ユーザーに言語を選択させる

アプリをローカライズする方法と、表示される言語がユーザーの携帯電話の設定で選択した言語/地域に基づいていることを理解しています。

私の質問は、設定で設定されているデフォルトではなく、アプリ自体で言語をユーザーに選択させたい場合はどうすればよいですか(たとえば、ユーザーが言語を選択する画面がある場合)。

このアプローチをとっても大丈夫ですか?そして、既存のローカリゼーションプロセス(つまり、文字列を含むplistを持ち、NSLocalized文字列を使用するプロセス)を何らかの方法で使用できますか?

ありがとう !

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

ios - nsattributedstring と nslocalizedstring の使用

私の古いコードは、NSLocalizedString を使用して次のように表示します。ここで、outputText は、単一の出力セッションにそのような行を多数含む NSMutableString でした。

さまざまな ipAddress 文字列の色を変更しようとしていますが、NSMutableAttributedString を使用するときに同様の方法が見つかりません。

私が直面している最大の問題は、この文字列全体がローカライズされるため、フォーマットされた出力の各部分を分割しないと NSRange を確実に設定できないことです。

この文字列の各部分を分析し、それを NSAttributedString に変換して、各部分を outputText に追加する必要がありますか??

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

iphone - ボタンを使用してアプリを再起動せずにiPhoneアプリの言語を変更する

アプリの言語を変更したい。現時点では以下の方法でやっています。NSUserDefaults の言語を変更する 2 つのボタンがあります。しかし、これが私のアプリに影響を与える前に、再起動する必要があります。

これが私のコードです。

これはうまくいきます。しかし、毎回アプリを再起動する必要はありません。誰でもその方法を教えてもらえますか?

敬具!

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

objective-c - NSLocalizedString の問題

eng、span、port、rus、arab、chin 用の Localizable.strings ファイルがあります。

非常に奇妙な問題が発生し始めました。値の代わりにキーが表示されます。奇妙なのは、これが原因で動作が停止したことです。

私が持っていた:

ViewControllerA では、うまくいきました。次に、コード行をコピーして ViewControllerB に貼り付けました。現在、.strings ファイルの値の代わりにキー「1OF5」が表示されています。

他のすべての NSLocalizedStrings は、アプリ全体 (100 以上) で正常に動作しますが、これを除きます >:|

私が試してみました:

  1. アプリの削除と再インストール
  2. デバイスを再起動しています
  3. プロジェクトのクリーニングと再インストール
  4. デバイスの再起動、プロジェクトのクリーニング、および再インストール
  5. .strings ファイルを削除して再度追加する

私はこれで髪を引っ張っています。どんな助けでも大歓迎です。

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

ios - iOS - NSLocalizedString はキー文字列のみを返します

NSLocalizedString実装のデバッグに問題があります。シンプルにする必要がありますが、何をしても、関数はKEY文字列のみを返します。

XCode 4.5 と iOS6 を使用しているので、次のようにします。

  1. という新しいファイルを追加しましたFile.strings
  2. 私のプロジェクト設定では、言語設定として英語とスペイン語を追加しました。
  3. ファイルインスペクターで「ローカライズする」をクリックし、英語とスペイン語の両方のオプションが選択されていること、およびターゲットへのターゲットメンバーシップが選択されていることを確認しました。
  4. "KEY" = "TestEnglish";私の英語に追加されましたFile.strings
  5. "KEY" = "TestSpanish";スペイン語に追加File.strings
  6. NSLog(@"Localization: %@\n", NSLocalizedString(@"KEY", nil));私の.mファイルに追加されました。

アプリを実行すると、値"KEY"は常に に出力されて表示されますNSLog

これにもう少し飛び込むために、私もこれを試しました:

それでも値"KEY" が出力されpathますが、有効なパスです。

これをデバッグする方法を知っている人はいますか? そこにあるすべてのSOの質問/回答を読んだような気がしますが、提案はどれも役に立ちません。

キーと一致しない場合に文字列をNSLocalizedString返すことはわかっKEYていますが、アプリがキーと一致しない理由をデバッグする方法がわかりません。

また、アプリを約12回削除/クリーニングしました。

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

iphone - iPhoneライブラリからアプリにサポートされているすべての言語を一覧表示する方法

サポートされているすべての言語をライブラリからテーブルビューに一覧表示する必要があるアプリケーションを作成しています。そのため、ユーザーが設定に移動して言語を変更する必要はありません。必要に応じて、アプリから直接変更できます。たくさん検索しましたが、可能かどうかわかりません。だから誰かがこれで私を助けることができますか?

前もって感謝します

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

ios - ローカライズされた文字列をiOSプロジェクトに保存するにはどうすればよいですか?

iOSアプリケーションを開発しています。私の仕事の1つはローカリゼーションです。このため、私はすべての文字列を取得してそれぞれをに入れましたが、すべてNSLocalizedString(key,comment)問題ありませんでした。

しかし、私の新しい解決策はString、プロジェクトで使用するすべてのものを格納するシングルトンクラスを作成することです。これには、小さな、しかしトリッキーな問題が1つあります。それは、名前付けです。ローカライズされた文字列を必要とするすべてのクラス(ビュー)に対していくつかの辞書を作成する必要がありますか?または、これにプレフィックスを使用する必要がありますか、または適切で理解しやすいプロパティ名を持つオブジェクトを返す関数を使用する必要がありますか?

PS:私は新しいホイールを発明したくありません。プロジェクトで使用するローカライズされた文字列のSTORAGEを作成したいと思います。だから、私の目標はシングルトンを作ることです:

[[[StringStorage sharedInstance] getStringsForClass:self] objectForKey:@"title"];

またはこのようなもの:

[StringStorage sharedInstance].stringTitleForMainView

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

objective-c - NSLocalizedString-宣言されていない識別子の問題の使用

私はNSLocalizedString特定のメッセージで使用しています。これは、2番目のパラメーターが変数として渡された場合は正常に機能しますが、失敗しUse of undeclared identifier 'NSLocalizedString'Too many arguments provided to function-like macro invocation2番目のパラメーターが変数が設定されたのとまったく同じように書き込まれた場合に機能します。私は変数を使用してコードを動作させていますが、これは問題ありません。他の状況でそれを回避する方法がわからない理由を理解したいだけです。

次の宣言で:

これはエラーなしで正常に機能します。

...しかし、これは私と同じように見えますが、上記のエラーで失敗します。

ここや他の場所を検索しても、説明が見つかりません。各エラーメッセージとさまざまな問題に関する多数のヒットを読みましたNSLocalizedStringが、それらを結び付けるものは何もありませんでした。2番目のエラーメッセージについて私が見つけたのは、clangとステートメント内のコンマの数に問題があることを意味し、NSMutableStringメッセージ内に余分なコンマが含まれていても、によって追加のパラメーターとして表示されていたことを示していますNSLocalizedString。それは意味がありますか?

質問にとって重要ではありませんが、このステートメントは、辞書から取得した英語バージョンに基づいてナビゲーションバータイトルのローカライズバージョンを設定することを目的としています。これは、ビューごとに異なります。このNSMutableString部分は、英語のタイトルに基づいてローカリゼーションのコメントを定義します。

編集:以下の受け入れられた答えに従ってこの問題を解決した後、私は別の関連する問題に気づきました。の宣言は、明らかに使用されていましたがlocalString、コンパイラの警告を生成していました。"Unused variable"これは、Cマクロ内にあるためでもあり、完全を期すために、警告の抑制に関する関連する投稿へのリンクをここに追加しています。Xcodeで「未使用の変数」警告を取り除くにはどうすればよいですか。

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

iphone - 動的 NSString のローカライズ

NSLocalizedString に関する多くの例を調べた結果、ローカライズしたい言語に合わせて Localized.string ファイル内のすべての文字列を事前に定義する必要があることがわかりました。しかし、動的文字列をローカライズすることは可能ですか。私の考えは、Web リクエストの後に取得する UILabel にいくつかのテキストを表示していることです。これは、文字列が本質的に動的であることを意味します。