問題タブ [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.
java - ICU4j で何かをフォーマットするときにロケール数字を使用しない方法
最近 Java 8 にアップグレードしたところ、日付のフォーマットに関する「問題」に遭遇しました。JDK 8 では、プロバイダーを特定の g11n/i18n 関数に使用できます。クラスパスに ICU がある場合は、それを取得する必要があります。これは、予想外の曲線ほど問題ではなく、私の機能のほとんどは以前と同じように機能しています。
今日の日付を表示したいのですが、ロケールの日付形式、小数点記号などを使用します。これはうまくいきますが、ヒンドゥーアラビア語を使用するar_OMなど、異なる数値セットを持つ特定のロケールを使用する場合Numeral System、フォーマットされた日付を取得しますが、この数値システムの数字も使用します。
コード:
2015/04/11を印刷したいのですが、 ١١ /٠٤ / ٢٠١٥と印刷されます
桁システム/記号を変更せずに、ロケールに固有のフォーマットを提供する方法はありますか?
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_STANDARD
IANA tz データベースのゾーンの省略形と互換性がある (ローカライズされていない) 特定の短いゾーン名 (およびTimeZoneNames.NameType.SHORT_DAYLIGHT
)のみを含む TimeZoneNames のインスタンスを返します。
それは私が望んでいることとほぼ同じですが、ほとんどの場合、1970 年よりも前のものではなく、関連するすべてのデータが含まれているわけでもありません。
この時点で間接的なことがほとんどないことを考えると - 私は ICU4J に私が望むものを正確に伝えています - 私の疑いは、情報が利用できないということです :(
java - icu4j を使用してドイツ語のウムラウトを DIN 5007-2 の代替に音訳する
ドイツ語のウムラウト文字を音訳できるようにしたい
DIN 5007-2の代替品に
この場合のように:
私が見つけた最も関連性の高いユース ケースは次のとおりです 。
208行目のどこで彼らは
カスタム調整や必要なものすべてを定義するなど、複雑な Java コードを作成することは避けたいと思います。このコードは ColdFusion アプリケーション内で使用する必要があるため、できるだけ単純なコードを維持したいと考えています。
私は少し実験しました
と
およびそのバリアントは、すべて次のようになります。
可能であれば、.getInstance() メソッドの使用に固執したいと思います。ここでの質問は、ウムラウトを DIN 5007-2 に相当する文字に変換する .getInstance() メソッドの ID 文字列は何ですか?
java - java.lang.NoClassDefFoundError: Web Sphere WAS 8.5 での展開中
WAS 8.5 での展開中に java.lang.NoClassDefFoundError エラーが発生しました。icu4j jar を含めましたが、まだエラーが発生しています。jar を lib フォルダーに配置しました。アドバイスをお願いします。
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 で再度実装しますか? または最短の方法はありますか?
java - PDFBoxを使用して生成されたpdfファイルにアラビア文字を表示する方法
PDFBox を使用して生成された pdf ファイルにアラビア語の文字列を表示しようとしています。実際には、ICU4J と特定のフォントを使用して RTL からアラビア語の文字列を表示できますが、問題は次のとおりです。文字列が RTL から正しく表示されても、文字はまだ分離されています。いくつかのフォントを試しても、問題はまだ解決されていません。テストに使用されるコードのスニペットを次に示します。
このコードから得られる結果の文字列は次のようになります。
注: わかりやすくするために、結果の文字列にスペース文字を追加します。