背景
- ユーザプログラムが大幅にプログラムの開発と保守コストを削減することができ、さまざまな国で同時に使用することができます
- グーグル、YouTubeやFacebookやTwitter、イン
- まず、国際的に検討する中核事業の完了後のコア事業の構造、およびその業界の背景を決定
- 言語は、設定ファイルに、あなたのコードではありません
- ダイナミックスイッチング言語を達成するために、ユーザに応じて、自分のプロファイルに応じてユーザを選択
- テキストコンフィギュレーション情報の異なる国で異なることが必要であり、関連するデータは、設定ファイルによってロードされたときにプログラムの実行
- 現在のダイナミックな国とユーザー言語を取得する方法
ロケールのクラス
- java.util.Localeの:クラスの国家と言語の切り替えを制御することができます
- public static finalロケールCHINA:中国地域
- public static finalロケール米国:米国地域
- 公共のロケール(文字列の言語、文字列の国は):言語や都市を設定します
- 公共の静的なロケールのgetDefault():取得現在のシステムでは、環境
- ロケールクラスオブジェクトは、言語のコーディングや都市の必要性をインスタンス化されます
- IE>ツール>インターネットオプション>外観>言語>言語の設定環境設定>(win7の前)言語を追加します。
そして、言語習得の市外局番
1つの パブリック クラスLocale_Demo { 2 公共 静的 ボイドメイン(文字列[]引数){ 3 ロケールLOC = Locale.CHINA。 4 のSystem.out.println(LOC)。 5 } 6 }
地域と言語
1 パブリック クラスLocale_Demo { 2 公共 静的 ボイドメイン(文字列[]引数){ 3 ロケールLOC = 新しいロケール( "ZH"、 "CN" )。 4 のSystem.out.println(LOC)。 5 } 6 }
現在のデフォルトロケールと言語を取得します。
1つの パブリック クラスLocale_Demo { 2 公共 静的 ボイドメイン(文字列[]引数){ 3 ロケールLOC = Locale.getDefault()。 4 のSystem.out.println(LOC)。 5 } 6 }
ResourceBundleクラス
- 保存されたテキスト情報を達成するために位置付け、リソースファイルを達成するためのロケール
- 国際テキストプロパティファイル(またはリソースファイル)に保存されています
- プロパティファイル(またはリソースファイル)は、「* .propertiesファイル」サフィックスファイルに保存する必要があります
- リソースファイルがCLASSPATHに、ストレージ・クラスの形式で保存されている場合(パッケージを検討してください)
- リソースファイルを検索するときに、すべてのコンテンツは、宣言の形で「キー=値」を使用して
- 先頭に「#」を持つリソースファイルのコメント
- ディレクトリ内のCLASSPATHのリソースファイルを識別することができ、およびパッケージ名を設定することができます
- Eclipseのリソースファイルは、トランスコーディングの必要性の前に、中国、JDK 1.8で追加の独立したプラグ(JDK 1.9およびデフォルトのUTF-8)を設定する必要性を表示しました
- UTF-8エンコーディングを使用しIDEA
- 等号の前後にスペースを入れません
- リソースの読み取り
- java.util.ResourceBundleの:CLASSPATHで指定されたリソースを読み込む達成
- public static finalのResourceBundle getBundleの(文字列ベース名):指定されたリソースオブジェクトを取得します。
- public static finalのResourceBundle getBundleの(文字列ベース名ロケールロケール):指定された対象エリア内のリソースへのアクセス
- 公共の最終列のgetString(文字列キー):に従ってキー値を読み取ります
- 必要性はロケールによって割り当てられた場合、言語は中国語、ロケール設定すると、デフォルトのテキストメッセージは、読んで字中国語(zh_CNに)リソースコンテンツをロードされている環境
- あなたが存在しない場合、指定されたキーを見つけた場合は、データを読み取る際に、特定の言語は、リソース情報ファイルをロードされますがありキーワードあれば、それは自動的に、共通リソースファイルを検索します
1つの インポートのjava.util.Locale。 2 インポートjava.util.ResourceBundleの。 3 4 パブリック クラスLocale_Demo { 5 パブリック 静的 ボイドメイン(文字列[]引数){ 6 ロケールLOC = Locale.US。 7 8 のResourceBundle resouceBundle = ResourceBundle.getBundleは( "a.Message" 、LOC)。 9 のSystem.out.println(resouceBundle.getString( "welcome.info" )); 10 のSystem.out.println(resouceBundle.getString( "teacher.info" )); 11 } 12 }
テキストのフォーマット
- ダイナミックテキスト処理
- リソースファイルを変更します。
- login.info =成功、歓迎{0}、アクセスしてください{1}のWebサイト。
- java.text.MessageFormatの
1つの インポートjava.text.MessageFormatの。 2 インポートのjava.util.Locale。 3 インポートはjava.util.ResourceBundle。 4 5 パブリック クラスLocale_Demo { 6 パブリック 静的 ボイドメイン(文字列[]引数){ 7 ロケールLOC = Locale.US。 8 9 のResourceBundleのResourceBundle = ResourceBundle.getBundleは( "a.Message" 、LOC)。 10 文字列値=( "login.info"をresourceBundle.getString )。 11 のSystem.out.println(MessageFormat.format(値、 "AAA"、 "BBB" ))。 12 } 13 }
デジタル・フォーマット
- データ表示のための国際NumberFormatクラスにより、
- java.text.NumberFormat
- public static finalのNumberFormatのgetInstance():のNumberFormatのインスタンスを取得するデフォルトのロケール
- パブリック静的最終のNumberFormatのgetPercentInstance(ロケールでinLocale):ロケールのNumberFormatの具体的な例を与えるために
- public static finalのNumberFormatのgetPercentInstance():インスタンスのデフォルトロケールの計算されたパーセンテージを与えるために、
- パブリック静的最終のNumberFormatのgetPercentInstance(ロケールでinLocale):指定されたロケールのパーセンテージを計算するための例を与えるために
- public static finalのNumberFormatは、getCurrencyInstance():通貨のデフォルトロケールのインスタンスを取得します。
- public static finalのNumberFormatは、getCurrencyInstance(ロケールでinLocaleが):指定されたロケールのマネーインスタンスを取得します。
- java.text.DecimalFormatのデフォルトフォーマットの各3プラス「」
- 直接サブクラスのインスタンス化が間違って、最善の方法は、完成された前のコードNumberFormatクラスは、内部処理の静的メソッドを提供して交換することです
- 唯一のオブジェクトクラスのNumberFormatデジタルフォーマットデフォルトフォーマットをキャプチャする場合は、依存する直接のNumberFormatクラスを完成させることができるが、それはいくつかの特別なメソッドを使用する場合、それが配置されたクラスのオブジェクトのインスタンスのDecimalFormatでなければなりません
- クラス内のタグをフォーマットするいくつかの重要な数字がありますのDecimalFormat
- 私たちは、与えられたフォーマット形式でのNumberFormatのgetInstance()メソッドを使用し、すでに国際的に認められているので、いくつかの開発者はめったに、特別な治療を必要としません
デジタルオブジェクト
1つの インポートjava.math.RoundingMode。 2 インポートjava.text.DecimalFormatの。 3 インポートjava.text.NumberFormat。 4 5 パブリック クラスLocale_Demo { 6 パブリック 静的 ボイドメイン(文字列[]引数){ 7 のDecimalFormatのnumberFormat = (のDecimalFormat)NumberFormat.getInstance()。 8 numberFormat.applyPattern( "####、####、#### 000"); // 保留三位小数 9 numberFormat.setRoundingMode(RoundingMode.DOWN)。// 不进位 10 numberFormat.setPositivePrefix( "年間収入水:"); // フロントを増加について説明 。11 (5)numberFormat.setMinimumFractionDigits; // 予約5桁の十進 12である のSystem.out.println(NumberFormat.format(2826548.264785 )); 13です } 14 }
ターゲットの割合
1つの インポートjava.text.DecimalFormatの。 2 インポートjava.text.NumberFormat。 3 4 パブリック クラスLocale_Demo { 5 パブリック 静的 ボイドメイン(文字列[]引数){ 6 のNumberFormatのnumberFormat = (のDecimalFormat)NumberFormat.getPercentInstance(); 7 のSystem.out.println(numberFormat.format(0.9854623 ))。 8 // 自定义处理、强制向下转型 9 てDecimalFormatてDecimalFormat = (のDecimalFormat)のnumberFormat。 10 decimalFormat.setMinimumFractionDigits(5 )。 11 System.out.println(decimalFormat.format(0.9878546 ))。 12 } 13 }
通貨オブジェクト
1つの インポートjava.text.NumberFormat。 2 インポートのjava.util.Locale。 3 4 パブリック クラスLocale_Demo { 5 パブリック 静的 ボイドメイン(文字列[]引数){ 6 のNumberFormatのnumberFormat = NumberFormat.getCurrencyInstance(Locale.CHINA)。 7 のSystem.out.println(numberFormat.format(789.46 ))。 8 } 9 }
参照
https://zhidao.baidu.com/question/414732825.html