⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 locale.java

📁 j2me polish学习的经典代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
//#condition polish.cldc

/*
 * Created on 09-Sep-2004 at 10:30:04.
 * 
 * Copyright (c) 2004-2005 Robert Virkus / Enough Software
 *
 * This file is part of J2ME Polish.
 *
 * J2ME Polish is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 * 
 * J2ME Polish is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with J2ME Polish; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 * 
 * Commercial licenses are also available, please
 * refer to the accompanying LICENSE.txt or visit
 * http://www.j2mepolish.org for details.
 */
package de.enough.polish.util;

import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Calendar;
import java.util.Date;

//#if polish.Locale.imports:defined
	//#include ${polish.Locale.imports}
//#endif

/**
 * <p>Is used for internationalisation.</p>
 *
 * <p>Copyright Enough Software 2004, 2005</p>

 * <pre>
 * history
 *        09-Sep-2004 - rob creation
 * </pre>
 * @author Robert Virkus, j2mepolish@enough.de
 */
public final class Locale {
	
	private static short[][] multipleParameterOrders;
	private static String[][] multipleParameterTranslations;
	//#ifdef polish.i18n.useDynamicTranslations
		//# private static String[] plainTranslations;
		//# private static String[] singleParameterTranslationsStart;
		//# private static String[] singleParameterTranslationsEnd;
		//# private static boolean isLoaded;
		//# private static boolean isLoadError;
		//# /*
		//# static {
			//# try {
				//#if polish.locale:defined
					//#= loadTranslations( "/${polish.locale}.loc" );
				//#else
					//# loadTranslations( "/default.loc" );
				//#endif
			//# } catch (IOException e ) {
				//#if polish.locale:defined
					//#= String fileName = "/${polish.locale}.loc";
				//#else
					//# String fileName = "/default.loc";
				//#endif
				//#debug error
				//# System.out.println("Unable to load default translations from " + fileName + ": " + e );
			//# }
//# 			
		//# }
		//# */
	//#endif
		
	
	// do not change the following line!
//$$IncludeLocaleDefinitionHere$$//
	public static final String CURRENCY_CODE = "USD";
	public static final String CURRENCY_SYMBOL = "$";
	public static final String DISPLAY_COUNTRY = "United States";
	public static final String COUNTRY = "US";
	public static final String INFINITY = "∞";
	public static final char PERMILL = '‰';
	public static final char PERCENT = '%';
	public static final char GROUPING_SEPARATOR = ',';
	public static final char MONETARY_DECIMAL_SEPARATOR = '.';
	public static final char DECIMAL_SEPARATOR = '.';
	public static final char ZERO_DIGIT = '0';
	public static final char MINUS_SIGN = '-';
	public static final String DISPLAY_LANGUAGE = "English";
	public static final String LANGUAGE = "en";
	
	//#ifdef false
	//# /** The ISO language code, 
	 //# * e.g. "en" for English. */
	//# public static String LANGUAGE = "en";
	//# /** 
	 //# * The ISO country code, 
	 //# * e.g. "US" for USA 
	 //# * This is null when no country is defined in the current locale.
	 //# */
	//# public static String COUNTRY = "US";
	//# /** The localized language name, 
	 //# * e.g. "English" or "Deutsch" */
	//# public static String DISPLAY_LANGUAGE = "English";
	//# /** 
	 //# * The localized country name, 
	 //# * e.g. "United States" or "Deutschland".
	 //# * This is null when no country is defined in the current locale.
	 //# */
	//# public static String DISPLAY_COUNTRY = "United States";
	//# /** 
	 //# * The symbol of the currency, 
	 //# * e.g. "$" or "&euro;".
	 //# * This is null when no country is defined in the current locale.
	 //# */
	//# public static String CURRENCY_SYMBOL = "$";
	//# /** 
	 //# * The international three letter code of the currency, 
	 //# * e.g. "USD" or "EUR".
	 //# * This is null when no country is defined in the current locale.
	 //# */
	//# public static String CURRENCY_CODE = "USD";
//# 
//# 
	//# /** 
	 //# * The character used for decimal sign.
	 //# * This is a '-' by default.
	 //# */
	//# public static char MINUS_SIGN = '-';
//# 
	//# /** 
	 //# * The character used for zero.
	 //# * This is a '0' by default.
	 //# */
	//# public static char ZERO_DIGIT = '0';
//# 
	//# /** 
	 //# * The character used for decimal sign.
	 //# * This is a dot by default.
	 //# */
	//# public static char DECIMAL_SEPARATOR = '.';
//# 
	//# /** 
	 //# * The monetary decimal separator.
	 //# * This is a dot by default.
	 //# */
	//# public static char MONETARY_DECIMAL_SEPARATOR = '.';
//# 
	//# /** 
	 //# * The character used for thousands separator.
	 //# * This is a comma by default.
	 //# */
	//# public static char GROUPING_SEPARATOR = ',';
//# 	
	//# /**
	 //# * The character used to represent a percent value.
	 //# */
	//# public static char PERCENT = '%';
//# 
	//# /**
	 //# * The character used to represent a permill value.
	 //# */
	//# public static char PERMILL = '\u2030';
//# 
	//# /** 
	 //# * The string used to represent infinity.
	 //# */
	//# public static String INFINITY = "\u221e";
//# 	
//# 	
//# 
	//# private Locale() {
		//# // no instantiation allowed
	//# }
	//#endif

	
	//#if polish.i18n.useDynamicTranslations
	//# private static void initialize() {
		//#if polish.Locale.initializeMethod:defined
			//#include ${polish.Locale.initializeMethod}
//# 		
		//#else
		//# try {
			//#if polish.locale:defined
				//#= loadTranslations( "/${polish.locale}.loc" );
			//#else
				//# loadTranslations( "/default.loc" );
			//#endif
			//# isLoaded = true;
			//# isLoadError = false;
		//# } catch (IOException e) {
			//# isLoadError = true;
			//#debug error
			//# System.out.println("Unable to load localizations " + e );
		//# }
		//#endif		
	//# }
	//#endif

	//#ifdef polish.i18n.useDynamicTranslations
	//# /**
	 //# * Retrieves the translation for the specified key.
	 //# * 
	 //# * @param key the key, e.g. "labels.StartGame"
	 //# * @return the translation, e.g. "Start Game" or "Spiel starten", null when the key was not found
	 //# */
	//#if false
	//# public static final String get( String key ) {
		//# int keyId = 0;
	//#else
		//# public static final String get( int keyId ) {
	//#endif
		//# if ( !isLoaded ) {
			//# initialize();
			//# if (isLoadError) {
				//# return "";
			//# }
		//# }
		//# // all simple translations are usually directly embedded into the source-code,
		//# // so this method does only need to be implemenented when dynamic translations are used:
		//# return plainTranslations[ keyId ];
	//# }
	//#endif
	
	//#ifdef polish.i18n.useDynamicTranslations
	//# /**
	 //# * Retrieves the translation for the specified key.
	 //# * 
	 //# * @param key the key, e.g. "labels.WelcomeUser"
	 //# * @param parameter the parameter, e.g. "Peter"
	 //# * @return the translation, e.g. "Hello Peter!" or "Hallo Peter!", null when the key was not found
	 //# * @throws NullPointerException when the given parameter is null.
	 //# */
	//#if false
	//# public static final String get( String key, String parameter ) {
		//# int keyId = 0;
	//#else
		//# public static final String get( int keyId, String parameter ) {
	//#endif
		//# if ( !isLoaded ) {
			//# initialize();
			//# if (isLoadError) {
				//# return "";
			//# }
		//# }
		//# // all simple translations are usually directly embedded into the source-code,
		//# // so this method does only need to be implemenented when dynamic translations are used:
		//# return singleParameterTranslationsStart[keyId] + parameter + singleParameterTranslationsEnd[keyId];
	//# }
	//#endif
	
	/**
	 * Retrieves the translation for the specified key.
	 * 
	 * @param key the key, e.g. "labels.MatchTitle"
	 * @param parameters the parameters-array, this needs to be defined outside of the call.
	 *     e.g.
	 * <pre> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -