2011-01-16 12 views
2

私は専門家によって書かれたコードに夢中になっています。(SOには言及していません) localeという単語に頻繁に参照している人が見つかりました(例:std::locale)。 Javaのコードでさえ、localeを指しています。だからこれは何ですかlocaleそしてなぜ私たちは実際にそれを必要としますか?それを使用する必要があります(私はいくつかの移植性の問題に使用されていると思います)?私はグーグルを試みたが、すべてが私の混乱に加わった。 :(ロケールC++ n java

答えて

2

"Localeオブジェクトは、特定の地理的、政治的または文化的な領域を表します。ロケールがそのタスクを実行するために必要な操作はロケールセンシティブと呼ばれ、Localeを使用してユーザーの情報を調整します。数字はロケールに敏感な操作です。数字は、ユーザーの母国、地域、または文化の通関/慣習に従ってフォーマットする必要があります。 (のJavaDocから:http://download.oracle.com/javase/1.4.2/docs/api/java/util/Locale.html

ほとんどの場合、あなたが時間のためにそれを使用する:CST、EST、PST、外国など。また、日付と異なるカレンダー、および異なる言語のために。したがって、地理的/政治的/文化的地域の表現。

3

ロケールは、アプリケーションの外観を作り、複数の国のユーザーのために右に感じるがすべてです。

単純化し、例えば、英国で我々は123,456.78として123456.78書くが、フランスでは、それはフォーマットを使用して123.456,78で、ロケールを認識するレンダリング関数を使用すると、アプリケーションをさまざまな国で正しく表示することができます。

3

国際化とローカライゼーションに使用します。たとえば、プログラムがWebページにデータを表示する場合、さまざまな言語(フランス語、英語、中国語など)のページがあります。Javaのような言語のロケール機能は、これを容易にします。

http://java.sun.com/javase/technologies/core/basic/intl/を参照してください。

1

ヨーロッパ人の人数は1000人を超えていますが、多くの国/言語では、英語と英語の間にコンマを使用している間に、小数点の逆数です。ロケールには多くの用途がありますが、ユーザーの言語とロケールを考慮に入れて、数字と日付の書式を正しく設定することができます。

1

C++でローカルに設定する最も簡単な方法は次のとおりです。

int main() 
{ 
    // If the string is empty (as here) 
    // Then it looks at the machine current configuration and retrieves 
    // the local that you have set up in the configuration of the machine 
    // This is what you normally want to happen when your customers run the code. 
    std::locale::global(std::locale("")); 

    // Setting the locale affects a whole host of things that happen with streams. 

    /* YOUR CODE */ 
}