問題タブ [icu4j]

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 に答える
158 参照

java - ICU4j で何かをフォーマットするときにロケール数字を使用しない方法

最近 Java 8 にアップグレードしたところ、日付のフォーマットに関する「問題」に遭遇しました。JDK 8 では、プロバイダーを特定の g11n/i18n 関数に使用できます。クラスパスに ICU がある場合は、それを取得する必要があります。これは、予想外の曲線ほど問題ではなく、私の機能のほとんどは以前と同じように機能しています。

今日の日付を表示したいのですが、ロケールの日付形式、小数点記号などを使用します。これはうまくいきますが、ヒンドゥーアラビア語を使用するar_OMなど、異なる数値セットを持つ特定のロケールを使用する場合Numeral System、フォーマットされた日付を取得しますが、この数値システムの数字も使用します。

コード:

2015/04/11を印刷したいのですが、 ١١ /٠٤ / ٢٠١٥と印刷されます

桁システム/記号を変更せずに、ロケールに固有のフォーマットを提供する方法はありますか?

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

java - ICU4Jで「現在の」IANAタイムゾーンの略語を取得するにはどうすればよいですか?

現在、さまざまなプラットフォームがIANA タイム ゾーン データを解釈するかどうかを確認するために、一連のタイム ゾーン検証プログラムを作成しようとしています。

私が対象としている出力形式には、「英国夏時間」の「BST」や「太平洋標準時」の「PST」など、特定の時間に有効な略語が含まれています。

ほとんどのプラットフォームでは、これは簡単ですが、奇妙なことに、ICU4J は機能していないようです。SimpleDateFormatドキュメントによると、探しているものを取得するために「zzz」のパターンを使用できるはずですが、これは多くの場合、GMT+X の「O」パターンにフォールバックするようです。一部のタイム ゾーンでは、省略形がまったくありません。

ニューヨークを使用した短い例:

(私は ICU4J 55.1 を使用して実行しています。ストック ダウンロードと 2015e データ リリースで更新した後の両方です。)

ICU4J がその省略形を tz データから取得しているのか、CLDR から取得しているのかは明確ではありません。ここで違いを示唆する tz データに何もないことを考えると、後者であると思われます。

また、ロケールの影響も受けているようですが、これは妥当だと思います。米国のロケールを使用すると、アメリカ/ニューヨークの EST/EDT が表示されますが、ヨーロッパ/ロンドンの場合は何も表示されません。UKロケールでは、ヨーロッパ/ロンドンのGMT/BSTが表示されますが、アメリカ/ニューヨークの場合は何も表示されません:(

ICU4J を tz 略語に戻すよう説得する方法はありますか? 私の非常に具体的なケースでは、それが私が探しているすべてです。

アップデート

RealSkeptic のコメントのおかげで、TimeZoneNamesフォーマットせずにこのデータを取得するよりクリーンな方法のようです。それはすべてとても有望に聞こえます-さえありTimeZoneNames.getTZDBInstanceます:

TimeZoneNames.NameType.SHORT_STANDARDIANA tz データベースのゾーンの省略形と互換性がある (ローカライズされていない) 特定の短いゾーン名 (およびTimeZoneNames.NameType.SHORT_DAYLIGHT)のみを含む TimeZoneNames のインスタンスを返します。

それは私が望んでいることとほぼ同じですが、ほとんどの場合、1970 年よりも前のものではなく、関連するすべてのデータが含まれているわけでもありません。

この時点で間接的なことがほとんどないことを考えると - 私は ICU4J に私が望むものを正確に伝えています - 私の疑いは、情報が利用できないということです :(

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

java - icu4j を使用してドイツ語のウムラウトを DIN 5007-2 の代替に音訳する

ドイツ語のウムラウト文字を音訳できるようにしたい

DIN 5007-2の代替品に

この場合のように:

https://german.stackexchange.com/questions/4992/conversion-table-for-diacritics-eg-%C3%BC-%E2%86%92-ue

私が見つけた最も関連性の高いユース ケースは次のとおりです

208行目のどこで彼らは

カスタム調整や必要なものすべてを定義するなど、複雑な Java コードを作成することは避けたいと思います。このコードは ColdFusion アプリケーション内で使用する必要があるため、できるだけ単純なコードを維持したいと考えています。

私は少し実験しました

およびそのバリアントは、すべて次のようになります。

可能であれば、.getInstance() メソッドの使用に固執したいと思います。ここでの質問は、ウムラウトを DIN 5007-2 に相当する文字に変換する .getInstance() メソッドの ID 文字列は何ですか?

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

java - java.lang.NoClassDefFoundError: Web Sphere WAS 8.5 での展開中

WAS 8.5 での展開中に java.lang.NoClassDefFoundError エラーが発生しました。icu4j jar を含めましたが、まだエラーが発生しています。jar を lib フォルダーに配置しました。アドバイスをお願いします。

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

icu4j - Android N: Android SDK API から Android ICU API に移行するにはどうすればよいですか?

ICU4Jアプリケーションのバージョンをサポートにアップグレードしたい場合、私は混乱していましAndroid Nた。以前の Android SDK から Android ICU API に移行するにはどうすればよいですか。たとえば、アプリケーションで Calendar Using を使用した場合java.util.Calendar、Android ICU API で再度実装しますか? または最短の方法はありますか?

0 投票する
0 に答える
888 参照

java - PDFBoxを使用して生成されたpdfファイルにアラビア文字を表示する方法

PDFBox を使用して生成された pdf ファイルにアラビア語の文字列を表示しようとしています。実際には、ICU4J と特定のフォントを使用して RTL からアラビア語の文字列を表示できますが、問題は次のとおりです。文字列が RTL から正しく表示されても、文字はまだ分離されています。いくつかのフォントを試しても、問題はまだ解決されていません。テストに使用されるコードのスニペットを次に示します。

このコードから得られる結果の文字列は次のようになります。

注: わかりやすくするために、結果の文字列にスペース文字を追加します。