問題タブ [nslocale]

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 投票する
1 に答える
173 参照

method-call - クラスとインスタンスのメソッドObejctive-C呼び出し-NSLocaleメソッド

とにかく、私は非常に環境に配慮した初心者です。次のように、NSLocaleクラスを使用して現地通貨を取得する方法を説明するチュートリアルを実行しています。

したがって、「here」というNSLocaleクラスのインスタンスを作成していることを理解し、「here」オブジェクトにobjectForKeyを要求するメッセージを送信すると、結果が「currency」というNSStringに返されます。最後に、NSLogを使用して通貨の値を出力します。

さて、これが私の質問です。次に、NSLocaleクラスにある他のメソッドを確認し、「preferredLanguages」という名前のメソッドを見つけました。これは、優先言語の配列を返します。だから私はそのメソッドを呼び出して、それをログに印刷しますが、ただニヤリと学びやすくするためです。上記の例から離れて、私はそれをこのように呼ぶだろうと思いました。上記のコードから「here」というNSLocaleクラスのインスタンスがすでにあるという事実から始めて、次のものが必要だと思いました(ここで読みやすいように、上記の3行を繰り返しています)。

しかし、それは機能しませんでした。「「NSLocale」の表示された@interfaceがセレクター「preferredLanguages」を宣言していません」というエラーメッセージが表示されました。

私は代わりにこの方法でそれをしなければならないことを理解しました:

[ここではpreferredLanguages]ではなく[NSLocalepreferredLanguages]のようなメソッドを呼び出さなければならなかった理由がわかりません。'here'のインスタンスはすでに上に作成されています。誰か説明してもらえますか?

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

ios - – displayNameForKey:value: と – objectForKey: NSLocale クラスの違い

こんにちは、簡単な質問ですが、NSLocale クラスの displayNameForKey:value: と objectForKey: の違いは何ですか? オンラインで検索しましたが、わかりませんでした。ありがとうございました。

アップルドキュメント

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

objective-c - cocoa でシステム ロケールとシステム言語を取得する方法

システムのデフォルト言語とシステム ロケールを取得したいと考えています。

システムの現在のロケールを次のように取得するために、次のコードスニペットを試しました

しかし、システム ロケール識別子には何も表示されません。それが現在のロケールである場合、正しい結果が得られます。システム ロケールが値を与えない理由と、ユーザーが優先する言語ではなくシステムの既定の言語を取得する方法を教えてください。

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

objective-c - ロケールに関するNSDateの問題

私は、データベースと通信するために構築したプライベートPHPAPIと通信するiPadアプリに取り組んでいます。このAPIは、開始時刻、終了時刻、現在時刻の3つの日付を転送する必要があります。

現在の時刻が日付範囲の間にあるかどうかをテストしたいと思います。だから私は時間を取って(16:50:00のように)それらをNSDatesに変換します:

を使用して日付をログに記録してNSLog(@"\n%@\n%@\n%@", fromDate, nowDate, toDate);いると、ロケールが正しくないことがわかります。

NSDateFormatterはロケール設定を無視しているようです。また、正しい識別子であるcurrentLocales識別子(私の場合は「de_DE」)もログに記録しました。ロケールは+0000のままです。

この問題を解決するにはどうすればよいですか?よろしくお願いします、ジュリアン

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

ios - IOS: NSUserDefaults を変更せずにデバイスに依存しない App-Language

次のステートメントを使用して、(システム言語とは無関係に) アプリケーション言語を変更します。

別の状況では、システム言語を取得したいと考えています。私が使うとき

結果は常に"de" です。アプリが再起動され、2 番目のステートメントが最初に実行された場合でも。これは、上記のコード行で構成したものであるため、私には完全に理にかなっています。ただし、システム全体で構成された実際のシステム言語を取得したいと思います。

理由: アプリケーションには、英語、ドイツ語、システム言語の 3 つの言語設定が必要です。システムの残りの部分がドイツ語で実行されている間、ユーザーはアプリを英語で実行できる必要があります。または、標準のシステム言語設定を使用することもできます。

ここで助けていただければ幸いです:)よろしく、ジョナサン


私はついに簡単で堅牢な解決策を見つけました。当初の問題は、

以前に構成した値を返します。しかし、それは私が持ちたいものではありません。「グローバルに」構成された言語が必要です(アプリケーションとは無関係/メニューなどで使用されます)。これは、NSUserDefaults では達成できないようです。ただし、CFPreferences はトリックを行います。

appleLanguages には、ユーザー用に最初に定義された言語のリストが含まれるようになりました。そして、appleLanguages[0]はまさに私が欲しかったものです:)

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

ios - 地域向けの iPhone アプリのローカライズ

コンテンツを英語で表示する言語に関係なく、すべてのコンテンツを含むアプリがあります。アプリの製品セクションでは、plist に基づいて製品コンテンツが表示されます。購入可能な製品は場所に基づいており、すべての製品がすべての市場で入手できるわけではありません。

シミュレーターの設定で、言語を英語に設定し、地域形式をシンガポールに設定しました。

ローカライズされた plist をロードした後、最初にログを作成して、実際に SG (シンガポール) が自分の地域として表示されていることを確認します。

現在の結果は、私のログ ステートメント logging LOCALE: SG を示していますが、これは予想どおりですが、シンガポール固有のコンテンツが読み込まれていません。

プロジェクトのクリーニングとシミュレーターからのアプリの削除の両方を試みました。

これは、プロジェクト ナビゲーターでの plist ファイルの表示方法です。 Products.plist 画像

ローカライズされた plist が表示されない原因は何ですか?

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

iphone - NSLocale-CountryCodeを見つけて、これを使用してコードをデプロイする

以下のコメントのように、このコードが機能しない理由について私は困惑しています:

ロケールはen_USであるため、国コードはUSです。物事のその部分ですべてが正しいです。何が間違っているのですか。「CountryisUSA」を表示するにはどうすればよいですか。

ありがとうございました!

iOS 5.1および6.0でのテスト、同じ結果

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

ios - 現在のロケールがiOSで非アラビア数字を使用しているかどうかを判断しますか?

iOSでは、ユーザーがアラビア数字[NSLocale currentLocale]を使用していない場合(つまり、0123456789ではない場合)に特定の機能を実行したいと思います。この状態を確認するにはどうすればよいですか?

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

iphone - iPhoneでNSLocaleを更新するにはどうすればよいですか?

私は現在iPhoneアプリケーションで作業しており、NSLocaleを使用して現在の通貨記号を正常に機能させていますが、ホームボタンを押すと、アプリはバックグラウンドプロセスに移動し、通貨を変更します([設定]>>[国際]>>[地域形式]>>[米国のように]、インドなど...)このように、通貨記号が変更されていないバックグラウンドからそのアプリケーションを開きますが、別の画面に移動すると、通貨のみが変更された前の画面に移動しますが、バックグラウンドからアプリケーションを開いてから通貨が必要ですシンボルは自動的に変更されました。これを修正する方法は?あなたの助けが必要です

ありがとう

ここでコードを試しました:

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

iphone - iOS: NSLocale 言語をオーバーライドする

アプリのローカライズ バージョンが複数の言語にあるが、ユーザーがいずれの言語も使用していない場合、アプリはローカライズされています。
デフォルト言語を設定するには?または、この場合、既定の言語を定義するためのベスト プラクティスは何でしょうか?

私が取り組もうとしていたシナリオは次のとおりです。

  • アプリケーションは en/fr/es でローカライズされていますが、言語ロケールが en/fr/es でない場合、デフォルトをどのように定義しますか?

  • 言語ロケールがこの en/fr/es のいずれかであり、ユーザーが NSUserDefaults で定義された別の言語を使用したい場合。NSUserDefaults として英語を使用しているが、アプリケーションの fr ローカライズ版を使用したいとしましょう。NSUserDefaults で言語を上書きする方法はありますか?