問題タブ [cldr]
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.
javascript - 10 進数の検証に CLDR を使用するように globalize.js を構成する
セルビア文化の 10 進数を検証する必要があります (小数点記号はドットではなくコンマです)。
私は解決策を見つけるためにインターネットを探していますが、ほとんどの投稿は globalize.js を使用することを提案しています。しかし、私はそれを自分で機能するように設定できます。
コードは次のとおりです。
このコードは、検証が必要な各ページの最後に配置されます。もちろん、HEADタグにはjQueryをロードしています。
ページをブラウザにロードすると、コンソールにエラーは表示されませんが、小数点記号はドットのままです。
ASP.NET 5 MVC6 で生成された入力タグは次のとおりです。
localization - ICU/CLDR | ISO 639 の変更 - 監視と保守
International Components for Unicode (ICU)は、さまざまなプログラミング言語および環境でローカライズ機能を提供する基盤となるライブラリです。intl拡張機能がこの目的でICUを使用する PHP からこれにアプローチします。
私が理解しているように、ICUはUnicode Common Locale Data Repository (CLDR)を使用して ISO 639 言語コードを識別しています。
言語コードは変更される場合があります
ISO 639 言語コードは積極的に維持されており、長年にわたって大幅な変更を受けてきました。ISO 639-3の変更ログを参照してください。
国際化/ローカリゼーション機能のサポートを積極的に検討している場合、ISO 639 および関連する標準の実装は、アプリケーションの要件仕様と配信にとって重要になります。アプリケーションが少なくともすべての有効な言語コードを識別できるようにすることは、関連するコンテンツを配信するために重要です。
ICU/CLDR で ISO 639 の実装を監視するにはどうすればよいですか?
これに対する最も重要な側面は、ISO 639 データへの更新のための追跡可能なソースを持つことです。そのため、問題が発生した場合に、今後のリリースや変更ログを探す場所、バグを報告する場所などを知ることができます。
ICU/CLDR を使用する場合、ISO 639 の実装を監視および維持するにはどうすればよいですか?
c# - .NET アプリケーションでの bower パッケージへのアクセス
私の目標
CLDR パッケージから json ファイルを取得します。しかし、明らかにそれらのすべてではありません (いくつかの構成ファイルがあります)。実際のデータだけです。
考え
ご覧のとおり、それらはbower用に構成されています。リポジトリ内でこれらの json ファイルを見つける場所を説明するパターンもあります。
したがって、bower パッケージを .NET アプリケーションに簡単にダウンロードすることは可能ですか?
素朴なアプローチ
各リポジトリをダウンロードし、bower.json
ファイルを見つけて、プロパティに移動しmain
、パターンを解析して、ファイルを抽出します。非常に醜い。
どんなアドバイスでも大歓迎です。ありがとう!
json - バグ ハント: CLDR 30 JSON データには currencySpacing 情報がありません
Web アプリケーションでjquery/globalizeを使用し、 JSON 形式のCLDR 29データを問題なく使用しています。つい最近、Unicode は CLDR 30 をリリースしました (そしてその直後に、いくつかの修正を加えたバージョン 30.0.1 がリリースされました)。
CLDR 30(.0.1) データにアップグレードすると、多くのカルチャで numbers.json の「currencySpacing」情報がなくなるため、クライアント側の通貨形式テストが失敗します。たとえば、カルチャが ar-AE であるとすると、Globalize ライブラリは次のパスで CLDR データを読み込もうとします...
/main/ar-AE/numbers/currencyFormats-numberSystem-arab/currencySpacing/beforeCurrency
...これは、この (および他の多くの) カルチャの最新の CLDR 30 numbers.json データには存在しません。
この問題の原因を突き止めるために、スタックを調べてみました。私たちはDTDから始めました。CLDR 30のDTD (CLDR 29 の DTD とともに) には次の行が含まれています...
...これは、 currencySpacing がオプションの要素であることを意味します。とはいえ、 CLDR 30 リリース ノートまたはデルタには、この情報が多数のカルチャで変更されたことを示唆するものは見つかりません。
XML データ (「グラウンド トゥルース」) では、currencySpacing
要素が CLDR 29 と CLDR 30 の両方の main/root.xml でのみ使用されていることがわかります。つまり、XML でこの点に関して大きな変更はないようです。
これは、XML データから JSON データを生成するツールに問題があるのではないかと思われます。このツールはcldr-jsonプロジェクトldml2json
によって呼び出され、使用されます。cldr-json プロジェクトのバグを除外するために、ツールを自分で構築し、JSON データを自分で生成しました。この生成されたデータには、numbers.json ファイルの「currencySpacing」情報もありませんでした。そのため、cldr-json プロジェクトの問題ではないようです。
正しく理解できれば、これは問題が次のいずれかにあることを意味します。
- ldml2json ツールにバグがある
- jquery/globalize は、この情報が常に存在すると仮定するのは正しくありません
後者が当てはまる場合、これは jquery/globalize のバグとして提起されるべきだと思います。前者を調査するには、おそらくソースからデバッグする必要があります。どちらかに時間を費やす前に、次の質問をしたいと思います:他の誰かがこの問題を見ていますか? また、既知の解決策はありますか? CLDR+JSON+Globalize スタックの経験が豊富で、私たちを助けてくれる人がいることを願っています!
internationalization - CLDR/Globalize: スライス JSON 配列: Uncaught TypeError: 未定義のプロパティ '0' を読み取れません
13 個の CLDR の json ファイル (likelySubtags.json など) のロード中に例外がトリガーされます。
「引数」のサイズが (13 ではなく) 14 であるように思われ、「Uncaught TypeError: Undefined のプロパティ '0' を読み取ることができません」という例外をトリガーします。
これらは同じ「JavaScript」コードを使用したいくつかの例であり、人々は不満を抱いているようには見えません。A、B、C、D、Eを参照
さらに情報が必要ですか? さらにコードが必要ですか? 私に知らせて
JavaScript、cldr データをロード、ロケールを「en」に設定
HTML 、javascript を読み込む
javascript - SlikelySubtags.json が読み込まれていません
私はライブラリを使用cldr
してglobalize
います。そして、ロードする必要があるドキュメントlikelySubtags.json
を読みました。
私の英語が下手なせいかもしれませんが、これらのファイルをどこから入手する必要があるのですか? またはどのように生成するのですか?
ちょうど例:
私が理解したように、これらの JSON が生成されます。しかし、ポイントの代わりにそれを書く必要がありますか?
誰かがもっと明確に説明できますか?
値がある場合に使用する必要があるコードの下:
PS 難しいことではないかもしれませんが、本当にドキュメントを入手できません。
追加
これは私が今得たエラーです:
キャッチされないエラー: E_MISSING_CLDR: 必要な CLDR コンテンツがありません
supplemental/likelySubtags
。
createError (globalize.js:105)
で validate (globalize.js:182)
で EventEmitter.validateCldr (globalize.js:204)
で EventEmitter.emitEvent (event.js:416)
で EventEmitter.aliasClosure [トリガーとして] (イベント.js:88)
の Cldr.get (event.js:572)
の validateLikelySubtags (globalize.js:337)
の Function.Globalize.locale (globalize.js:392)
の HTMLDocument。(インデックス:1892)
mightThrow (jquery-3.1.1.js:3570) で
もちろん、Globalize.load()
使用する前に電話する必要があることは理解していますが、方法がわかりません。