public class Language extends Object
Constructor and Description |
---|
Language() |
Modifier and Type | Method and Description |
---|---|
static boolean |
already()
是否初始化完毕。
|
static String |
format(String langTag,
Object... formatTag)
根据语言坐标获取国际化翻译
|
static String |
format(String head,
String tag,
Object... formatTag)
代替部分字符串首位拼接的方法
至于效率问题,测试数据将会放在这里, 单位ms
|
static MessageFormat |
getLang(String tag)
获取指定tag的信息
|
static Map<String,MessageFormat> |
getLangMap()
获取当前全部语言信息
|
static Locale |
getLocaleByTag(String tagName)
通过tagName结果获取一个Locale对象。
例如:"en_US" -> Locale.US
|
static void |
init()
自动获取系统时区的初始化
使用系统默认的类加载器,一般来讲就是AppClassLoader
|
static void |
init(ClassLoader loader)
自动获取系统时区的初始化
|
static void |
init(ClassLoader classLoader,
Locale locale)
初始化语言,给一个类加载器
|
static void |
init(Locale locale)
自动获取系统时区的初始化
|
static void |
registerLang(ClassLoader loader,
String langName)
加载一个语言文件
|
static void |
registerLang(ClassLoader loader,
String langName,
Locale locale)
加载一个语言文件
|
static void |
registerTags(Properties properties)
注册或覆盖一些额外的语言映射,其最终会覆盖语言映射
需要在初始化结束后再注册,否则会抛出异常
|
static void |
registerTags(Properties properties,
Locale locale)
注册或覆盖一些额外的语言映射,其最终会覆盖语言映射
需要在初始化结束后再注册,否则会抛出异常
|
public static boolean already()
public static String format(String langTag, Object... formatTag)
langTag
- 语言坐标,例如error.info.e1,其代表lang文件中的key值formatTag
- 格式化坐标,当langTag能够获取到结果的时候,此formatTag则会作为其格式化参数。例如:
// text.msg=hhh{0}
String msg = format("text.msg", 233);
// msg -> "hhh233"
MessageFormat
public static String format(String head, String tag, Object... formatTag)
第一轮
1000000 times
两个同时比较 plus 在前
plus 3366 2681 2745 2741 2707
char 1975 2156 2179 2224 2159
两个同时比较 char 在前
plus 2008 2085 2097 2065 2094
char 3017 2750 2788 2831 2771
单独跑
plus 2670 2680 2679 3270 2732
char 2705 2954 2771 2881 2789
第二轮
1000000 times
一起
char 在前
char 2780 2733 2920
plus 2159 2062 2052
plus 在前
char 2137 2122 2171
plus 2721 2689 2683
单独
char 2681 2724 2778
plus 2769 2697 2675
head
- tag头部tag
- tag本体formatTag
- 格式化字符串public static Locale getLocaleByTag(String tagName)
tagName
- tagNamepublic static void init(ClassLoader loader)
loader
- 类加载器init(ClassLoader, Locale)
public static void init(Locale locale)
locale
- 加载的语言init(ClassLoader, Locale)
public static void init()
init(ClassLoader)
,
init(ClassLoader, Locale)
public static void init(ClassLoader classLoader, Locale locale)
classLoader
- 类加载器,从此加载器加载resources文件locale
- 当前使用的语言区域public static Map<String,MessageFormat> getLangMap()
public static MessageFormat getLang(String tag)
tag
- 指定tagpublic static void registerTags(Properties properties, Locale locale)
properties
- properties对象public static void registerTags(Properties properties)
properties
- properties对象public static void registerLang(ClassLoader loader, String langName, Locale locale) throws Exception
langName
- 语言文件名称,其格式为resources路径下:/lang/{langName}.lang
,也就是说,如果langName=new_zh_CN,则会获取resources路径下文件:/lang/new_zh_CN.langException
public static void registerLang(ClassLoader loader, String langName) throws Exception
langName
- 语言文件名称,其格式为resources路径下:/lang/{langName}.lang
,也就是说,如果langName=new_zh_CN,则会获取resources路径下文件:/lang/new_zh_CN.langException
Copyright © 2020. All rights reserved.