3

Python で書かれたアプリケーションを GTK+ で国際化しようとしています。単位系を国際化する必要があります。ほとんどの場合、「fl. oz」から「litres」、オンスからグラムなどの量です。役立つツールやライブラリを探しています。Python にはデフォルトで gettext モジュールがありますが、それが役立つかどうかはわかりません。

最良の場合、ユニットを読み取り、自動的にロケールを取得し、ローカライズされたユニットを返すツールが必要です。

どんな助けでも大歓迎です。


もちろん、価値計算も素晴らしいでしょう。

4

2 に答える 2

1

陰性であることを証明するのは非常に困難です。しかし、あなたは運が悪いと思います。

私が知っているカルチャ固有の名前、設定、および単位の最も包括的なコレクションは、Unicode Common Locale Data Repository (CLDR)プロジェクトです。最新の v23.1 リリースの概要を見ると、通貨、タイム ゾーンの都市、時間間隔の名前、「{0} か月後」および「{0} 秒前」のフレーズのエントリが表示されます。 . しかし、質量と体積の単位に関する文化的慣習ではありません。

CLDR に含まれていない場合でも、既製のコレクションに含まれている場合は驚くでしょう。

必要なものは次のとおりです。

  • さまざまな種類の測定 (質量、体積など) で、さまざまなロケールが好む単位に関するデータ。カナダ西部では、人々が日常生活でポンドとキログラム、メートルとフィート、°F と°C をごちゃまぜに使っているのを見かけます。これは、どこにも収集できないデータです。
  • さまざまなロケールでさまざまな単位に使用される名前。カナダのこの地域でメートルまたはフィートのどちらを使用する場合でも、ユーザーが使用するすべての言語 (英語、フランス語、簡体字中国語、ウルドゥー語など) で両方の単位の単語を使用する必要があります。ローカライザーなら誰でもこれらの単語リストを取得できます。
  • ロケールごとに、さまざまなユニットの名前を管理および取得するメカニズム。Gettextはこれを行うことができます。
  • ロケールごとに、さまざまなユニットの識別子を管理および取得するメカニズム。これを直接行うメカニズムについては聞いたことがありませんが、自分で作成するか、Gettext を転用することができます。
  • ロケールと単位の種類を取得し、そのロケールでの単位の識別子を取得し、ターゲット ロケールでのその単位のロケール名を検索するアプリケーション ロジック。
  • 数量をある単位から別の単位に変換するためのアプリケーション ロジック。これは自分で書くのは簡単だと思います。変換係数を見つけるのは難しくありません。
  • さまざまなロケールが数値をフォーマットする方法に関するデータと、そのデータを管理および取得するメカニズム。CLDR がこれを行います。Python で CLDR の JSON バインディングを使用する作業がいくつかありました。

締めくくりとして、あなたの質問は「単位系を国際化する必要がある」ことを前提としています。単位の自動変更が適切であることを確認するために、ユーザーと製品を調査して、ユーザーが単位を使用する方法と製品が単位を使用する方法を調べましたか? 私は正式にメートル法の国に住んでいますが、メートル法ではない国にはっきりと影を落とされています. アプリにグラムやポンドなど、コンテンツ作成者が決めた単位を表示させたいと思います。変換したい場合は、正確な変換が適切な場合もあれば、おおよその変換の方が便利な場合もあります (「2 ポンド」は「2 ポンド 3.2 オンス」よりも「1 キロ」をより適切に表現できる場合があります)。求めているこのツールに多大な労力を費やす前に、要件に時間を投資することをお勧めします。

于 2013-09-06T08:31:36.627 に答える
0

実際、Python にはいくつかの Unit ライブラリがあり、注目すべき例がいくつかあります。

于 2015-07-02T07:56:16.323 に答える