問題タブ [icu]

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

c++ - ICU 用の STL および UTF-8 対応の C++ ラッパー、またはその他の強力な Unicode ライブラリはありますか?

C++ 用の優れた Unicode ライブラリが必要です。私は欲しい:

  1. Unicode に敏感な方法での変換。たとえば、大文字と小文字を区別しない方法ですべての文字列を並べ替え、インデックスの最初の文字を取得します。さまざまな Unicode 文字列を大文字と小文字に変換します。適切な位置でテキストを分割します。これは、中国語と日本語でも機能する単語です。
  2. ロケールに依存する方法で数値、日付をフォーマットします (スレッドセーフにする必要があります)。
  3. UTF-8 (プライマリ内部表現) の透過的なサポート。

私の知る限り、最高のライブラリは ICU です。ただし、例を含む通常の開発者向け API ドキュメントは見つかりません。また、私が見る限り、最新の C++ 設計や STL などとの連携にはあまり適していません。このような:

オープン ソース ライセンスの下でリリースされた、STL に適した ICU ラッパーはありますか? Preferred は MIT や Boost のようにライセンスを許可するものですが、LGPLv2 互換のようなその他のものも同様です。

ICU に似た高品質のライブラリは他にありますか?

プラットフォーム: Unix/POSIX、Windows サポートは必要ありません。

編集:残念ながら私はログインしていなかったので、回答を受け入れることはできません. 私は自分で答えを添付しました。

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

iphone - iPhoneで中国語のテキストをピンインに音訳するにはどうすればよいですか?

ローカリゼーションの物語は続きます...

だから私は自分のiPhoneアプリで中国語のテキストの照合をサポートしようとしています.中国語のネイティブスピーカーと話した後、中国語のやり方を理解していると思います...

巴拉克・奥巴马という文字列があり、それを中国語の電話帳のどのセクションに入れるかを知りたいとしましょう (この例では、名/姓を無視して、文字列の最初の文字のみを使用しています)...

最初にそれをピンインに音訳すると、「balake aobama」になります。次に、その文字列の最初の文字「b」に基づいて照合します。

問題は、iPhone SDK を使用して巴拉克·奥巴马から balake aobama に移動するにはどうすればよいかということです。電話に同梱されているICUのライブラリでこのような音訳ができるらしいのですが、自分のコードから簡単に使えるかどうかわかりませんし、できたとしても音訳がうまくいくかどうかもわかりません。ものは、電話に付属する ICU のビルドに含まれています。

もし ICU がダメなら、他に良いアイデアはありますか?

0 投票する
4 に答える
2004 参照

c++ - ICUを使用して漢字数字を解析するには?

ICU を使用して漢字数字で構成される Unicode 文字列を解析し、文字列の整数値を返したい関数を作成しています。

"五" => 5
"三十一" => 31
"五千九百七十二" => 5972

ロケールを Locale::getJapan() に設定し、 NumberFormat::parse() を使用して文字列を解析しています。ただし、漢字を渡すたびに、parse() メソッドは U_INVALID_FORMAT_ERROR を返します。

ICU が NumberFormat::parse() メソッドで漢字文字列をサポートしているかどうか知っている人はいますか? ロケールを日本語に設定しているので、漢字数値を解析できることを期待していました。

ありがとう!

0 投票する
4 に答える
546 参照

internationalization - ICU はさまざまな言語の文字列のリストの照合を処理しますか?

私のアプリケーションでは、単一のリストに異なるアルファベット/言語で構成される文字列が含まれている場合があります。これらをソートするための正しい方法についての情報や、ICU がこの機能をサポートしていることを示す情報が見つからないようです。

例のリスト:

  • アップル
  • яблоко
  • μήλο
  • 赤ちゃん
  • βρέφος
  • レーベンク
0 投票する
1 に答える
925 参照

c++ - icu::BreakIterator でブレークの種類を見つける

icu::BreakIterator特定の単語を見つけるために使用する方法を理解しようとしています。

たとえば、次の文があります。

なるか、ならないか?それが質問です...

ブレーク イテレータの Word インスタンスは、そこにブレークを配置します。

|へ| |する| |または| |ない| |へ| |で|?| |あれ| |は| |ザ| |質問|.|.|.|

さて、ブレークポイントのすべてのペアが実際の単語であるとは限りません。

派生クラスicu::RuleBasedBreakIteratorには、ブレークに関する何らかの情報を返す「getRuleStatus()」があり、「次のポイント (「/」でマーク) での Word ステータス」を返します。

|To/ |be/ |or/ |not/ |to/ |be/?| |それ/ |は/ |その/ |質問/.|.|.|

しかし...それはすべて特定のルールに依存しており、それを理解するためのドキュメントはまったくありません(試してみない限り)が、辞書が使用されている異なるロケールや言語ではどうなるでしょうか? バックウェア反復で何が起こるか?

Qt QTextBoundaryFinder のように「単語の始まり」または「単語の終わり」の情報を取得する方法はあります?

ICUでこのような問題を正しく解決するにはどうすればよいですか?

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

icu - IBM ICU - 文字列変換関数

IBM ICU C ライブラリには、文字列から数値への変換関数があります。atoiとのようなものatoll

文字列変換用の ICU 関数を探しています - クロス プラットフォーム、クロス コンパイラ、および 32 ビット バージョンと 64 ビット バージョン。

  1. 関数はエラーをスローする必要があります。オーバーフローまたはアンダーフロー。
  2. 私は使用を考えましたerrno- しかしerrno、すべてのプラットフォームで設定されているわけではありません例: Windows atoi
  3. strtol--> この関数は long データ型用です。のような機能はありませんstrtoi
0 投票する
2 に答える
5465 参照

sqlite - icu に静的にリンクされた icu sqlite 拡張機能のコンパイル

icuに静的にリンクされたicu sqlite 拡張機能をコンパイルしたいと考えています。

これは私が試したものです。間違いは明らかです。

ファイル

icu sqlite 拡張機能

sqlite.org から icu.c をダウンロードします。

ICU 4.2.1

icu-project.org から ICU4C をダウンロードします。

私の要件

  • Linux と Windows で実行
  • 配布する必要があるファイルは 1 つだけです: libSqliteIcu.so.

他に何を試すことができますか?

ドキュメンテーション

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

sqlite - Sqlite3 ICU 拡張機能のコンパイル済みバージョン

sqlite3 は多くの状況で非常に便利なソフトウェアだと思います。しかし、ソート順の ICU サポートが必要です。私はインターネットで多くの文書を赤字にしています。sqlite の使用を何度かあきらめて、ダウンロードを削除しました。しかし、何度も何度もsqliteが必要です。ダウンロード用の拡張機能を作成するのは難しいですか? すぐに使える拡張機能はどこにありますか?

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

c++ - ICUカスタム通貨フォーマット(C ++)

フォーマット文字列(「mm / dd / yyy」など)を指定して時間ストリングをフォーマットするのと同じように、ICUライブラリを使用して通貨ストリングをカスタムフォーマットすることは可能ですか。

そのため、特定のロケール(たとえばUSD)に対して、必要に応じて、すべての通貨文字列を「xxx.00$USD」に戻すことができます。