1

ユーザーのロケールに基づいて、さまざまな形式で金額/数値を表示する必要があります。情報は REST API を介して提供されます。

fr = 1 234 567,89
en-us = 1,234,567.89
de = 1.234.567,89

1 つの方法は、サーバー側で完全に処理することです。もう 1 つの方法は、 dojo/i18n などのライブラリを使用して、クライアント側で完全に処理することです。

ただし、APIを介して何らかの方法で数値形式(数値自体ではなく形式のみ)を提供し、クライアント側で(javascriptを使用して)数値をフォーマットすることが可能かどうか疑問に思っています。どのようにそれを行うことができますか?クライアント側で数値をフォーマットするためのパターンとして使用できるように、「フォーマット」がどのように見えるべきか、どのようにレンダリング/処理できるかを意味します。

4

2 に答える 2

0

それはできます。多くの JavaScript フレームワークには、日付と数値のローカライズされたフォーマッターがあります。通常、フォーマットは静的であるため、config.js でハードコーディングできます。それでも不十分な場合は、サーバー上の config.js でレンダリングできます。そのリソース サーバー側をローカライズして、ネットワーク経由で送信されるコードの量を減らすこともできます。

クライアントのロケールの形式を取得できる API を提供することもできますが、それはやり過ぎのように思えます。

于 2012-11-03T18:14:26.700 に答える
0

Globalizeを見てください。カルチャを定義 (またはオーバーライド) するだけです。フランスの文化ファイルを見て、それがどのように行われるかを確認してください。

Globalize.addCultureInfo( "fr", "default", {
// (...)
    numberFormat: {
        ",": " ",
        ".": ",",
        "NaN": "Non Numérique",
        negativeInfinity: "-Infini",
        positiveInfinity: "+Infini",
        percent: {
            ",": " ",
            ".": ","
        },
        currency: {
        pattern: ["-n $","n $"],
            ",": " ",
            ".": ",",
        symbol: "€"
    }
// (...)

フォーマットのソースによっては、データを Globalize が理解できるものに変換する必要があるかもしれませんが、それは可能です。

于 2012-11-03T18:14:36.350 に答える