問題タブ [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.
ios - NSDateFormatter:アプリがその言語にローカライズされている場合にのみ、ローカライズされた日付を表示します
私は現在、日付を多用するiPhone用のアプリを書いています。NSDateFormatter
日付を文字列に変換するために使用しています。便利なNSDateFormatter
ことに、リージョン形式に基づいてユーザーの言語で文字列を自動的に作成します。考えられるすべての言語と地域でアプリをローカライズすることはできないため、アプリは英語、ドイツ語、スペイン語、およびその他のいくつかの言語でのみローカライズされます。
たとえば、アプリがフランス語のユーザー向けに実行されている場合、アプリのデフォルトは英語になります。それは問題ありませんが、日付は引き続きフランス語を使用して変換されます。これにより、「Month:July」ではなく「Month:Juillet」のような文字列になります。
NSDateFormatter
アプリが実行されている言語を常に使用するようにするにはどうすればよいですか?NSLocalizedString()
識別子をローカライズするために使用できることは知っていますNSLocale
が、これではリージョン設定が正しくなくなります。
ユーザーが通常「en_GB」リージョンを使用していて、アプリが一般的に英語にローカライズされているNSDateFormatter
場合、「en」や「en_US」だけでなく「en_GB」を使用したいと思います。ユーザーがフランス語を実行するときは、ロケールを「en」にし、アプリを「de_DE」リージョンで実行する場合は、アプリがドイツ語をサポートしているため、日付形式も「de_DE」にする必要があります。
よろしく、ファビアン
objective-c - タイムゾーン サポート値 - Objective-c - cocoa-touch
しばらく探していて、かなりの量の調査と実験を行ってきましたが、iOS デバイスのタイム ゾーン サポートのユーザー設定に保存されている値を取得する方法が見つかりません。
NSTimeZone の便利なメソッド +systemTimeZone、+resetSystemTimeZone、+defaultTimeZone、+localTimeZone を調べました。それらの違いと、アプリケーションごとに独自のデフォルトのタイムゾーンを設定する方法、およびデフォルトへの最初の呼び出しがシステムの値を返す方法についても完全に理解しています。その後、システムはキャッシュされ、デバイスのタイム ゾーンが変更された場合はリセットする必要があります。
問題は、systemTimeZone が常にデバイスが実際に配置されている場所であり、[タイム ゾーン サポート] の下のデバイスの設定で設定された値ではないことです。
[[NSCalendar currentCalendar] timeZone] と [[NSCalendar autoupdatingCurrentCalendar] timeZone]] についても調査しました。
[[[NSLocale currentLocale] objectForKey:NSCurrentCalendar] timeZone] と [[[NSLocale autoupdatingCurrentLocale] objectForKey:NSCurrentCalendar] timeZone] も試しました
デバイスの Settings.app -> Mail, Contacts, Calendars -> Time Zone Support -> Time Zone の値を返すものはありません。
Settings.app -> Mail, Contacts, Calendars -> Time Zone Support -> Time Zone 設定の値を取得する方法を知っている人はいますか?
ありがとうと乾杯!
iphone - iPhoneで日付を中国語で表示
現在の日付を中国語で表示する方法。日付を英語で受け取りましたが、iphone で中国語で表示する必要があります。
objective-c - iOSで通貨の小数桁数を調べる
ローカライズされた方法で通貨をフォーマットするために NSNumberFormatter を使用していますが、正常に動作します。しかし、これをオーバーライドして、小数点以下の桁数をオーバーライドするオプションをユーザーに提供したいと考えています。
NSNumberFormatter が特定の通貨に使用する桁数を調べるにはどうすればよいですか? 私は NSLocale オブジェクトを調べましたが、これを教えてくれるキーはありません。
NSNumberFormatter が知っているように、通貨の正しい小数点以下の桁数を知るにはどうすればよいですか?
objective-c - NSLocale 通貨記号、金額値の前後に表示
StoreKit
アプリケーションにアプリ内購入ストアを実装するために使用しています。
私はカスタム デザインを持っています。これは、価格の値が白く大きく、通貨記号が小さく、暗く、価格値の上部に配置されることを意味します。
NSLocale
inSKproduct
のpriceLocale
プロパティと、プロパティ内の価格の値を使用して、問題なく通貨記号を取得できprice
ます。
私の問題は、いつ通貨記号を価格の前に置き、いつ価格の後に置くべきかを知ることです。
例:
- $5.99
- 0.79€</li>
を使用して簡単にNSNumberFormatter
これを「すぐに」解決できますが、私のレイアウトでは値と通貨記号に異なるスタイルが定義されているため、より手動の回避策が必要な状況に陥っています。
何かご意見は ?
ios - iOSの言語設定
ちょっと困ったことがあります。デバイスの一般設定で使用可能な言語のリストにない言語の Localizable.string ファイルを作成しました。
言語が英語に設定されていても、アプリに強制的に読み取らせる方法は? この国の地域形式は設定できますが、言語は設定できません。
ありがとう
マルコ
objective-c - NSLocale - 無効な識別子
特定のロケール識別子で NSLocale を初期化しようとしている場合、それが正当な識別子であるかどうかをどのように確認できますか? 私がどんな識別子を渡しても、それがゴミであっても、NSLocale は何かに初期化されます。
たとえば、「ar_NO」、言語がアラビア語、(無効な) 国コードが NO のロケールを渡すと、得られる NSLocale オブジェクトは正当に見えます。たとえば、-[NSCalendar firstWeekday]
そのロケールのカレンダーから呼び出すと、月曜日が返されます。私の質問は、それはどこから来ているのですか? 指定された識別子を使用できない場合、iOS は別のロケールにフォールバックしますか? ベースの「ar」にフォールバックすると思いますが、最初の「ar」は平日なので、そうではありません。
注: 識別子が ISO BCP 47 仕様で指定されていることは知っており、[NSLocale availableLocaleIdentifiers]
関数についても知っていますが、そのリストにない識別子を使用しても NSLocale が取得されるため、実際には役に立ちません。
誰にも考えはありますか?前もって感謝します
ios - iOS に現在のユーザー言語を照会できません
iOS でユーザー言語を特定しようとしています。StackOverflow には、このトピックに関するいくつかの回答があり、次のように私を大いに助けてくれました: iOS で現在のデバイス言語を取得していますか?
NSLog で探している値 (つまり、「en」または「de」) を正常に取得できますが、if/then ステートメントでこれを質問するたびに、機能していないように見えます。テスト用にviewDidLoadにこれがあります:
デバイスが英語またはドイツ語に設定されているかどうかに関係なく、最後の else ステートメントのみが表示されます。ただし、NSLog は en または de を正しく表示します。
私は何を間違っていますか?
ios - IOSで国名から国コードを取得する
サーバーから国名を英語で取得しています。たとえば、「スペイン」
私がやりたいのは、国名が英語で書かれると仮定して、国コードを取得することです。
私は何をすべきか?国コードから国名を取得するのは非常に簡単ですが、逆の操作を行う方法がわかりません。
どうもありがとう。
ios - Apple が enum ではなく NSString オブジェクトをパラメーターとして使用するのはなぜですか?
たとえば、これを使用する理由:
このようなものの代わりに:
XcodeでNSStringを入力すると、オートコレクトはありませんが、Xcodeは列挙型をオートコレクト/オートフィルするため、多くのエラーを防ぐようです。さらに、列挙型や定数よりも NSStrings を使用する理由が思いつきません。たとえば、SDK の新しいバージョンがリリースされると、Apple は新しい識別子を追加できますが、列挙型でもこれを行うことができます。文字列定数に対する列挙型のもう 1 つの利点は、列挙型をより簡単に比較できることです。
また、他のメソッドについては、Apple は列挙型または特定のオブジェクトをパラメーターとして使用します。
localeIdentifier に文字列を使用している場合は、次のようにしてください。
彼らは単に矛盾しているようです。