📄 locale.java
字号:
//#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 = "CNY";
public static final String CURRENCY_SYMBOL = "¥";
public static final String DISPLAY_COUNTRY = "中国";
public static final String COUNTRY = "CN";
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 = "中文";
public static final String LANGUAGE = "zh";
//#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 "€".
//# * 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 + -