From d87eb146d4fcde018eafca2ca2fe9e5059b4c74d Mon Sep 17 00:00:00 2001 From: Taskeren Date: Fri, 12 Jul 2019 13:55:18 +0800 Subject: [PATCH] =?UTF-8?q?[+]=20=E5=BE=88=E5=A4=9A=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/glycol/t18n/LanguageMapBuilder.java | 34 +++++++++++++++++++ .../glycol/t18n/LanguageMapConfiguration.java | 13 +++++++ 2 files changed, 47 insertions(+) diff --git a/src/main/java/cn/glycol/t18n/LanguageMapBuilder.java b/src/main/java/cn/glycol/t18n/LanguageMapBuilder.java index 72c9b25..70d93c4 100644 --- a/src/main/java/cn/glycol/t18n/LanguageMapBuilder.java +++ b/src/main/java/cn/glycol/t18n/LanguageMapBuilder.java @@ -11,20 +11,43 @@ import java.util.List; public class LanguageMapBuilder { + /** + * 从文件读取语言包 + * @param langFile 语言文件 + * @return 语言包 + */ public static LanguageMap fromFile(File langFile) { return fromFile(langFile, LanguageMapConfiguration.DEFAULT); } + /** + * 从文件读取语言包 + * @param langFile 语言文件 + * @param config 读取配置 + * @return 语言包 + */ public static LanguageMap fromFile(File langFile, LanguageMapConfiguration config) { List lines = T18nUtils.getLocalContent(langFile); return processFinal(config, lines); } + /** + * 以 UTF8 为编码读取Jar包里的资源 + * @param path 资源地址 + * @return 语言包 + */ public static LanguageMap fromJarResource(String path) { return fromJarResource(path, "UTF8", LanguageMapConfiguration.DEFAULT); } + /** + * 用设定编码读取Jar包里的资源 + * @param path 资源地址 + * @param encode 编码名称,例如UTF-8GBKUnicode等等。 + * @param config 读取配置 + * @return 语言包 + */ public static LanguageMap fromJarResource(String path, String encode, LanguageMapConfiguration config) { InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(path); @@ -53,10 +76,21 @@ public class LanguageMapBuilder { } + /** + * 从在线页面读取语言包 + * @param url 页面地址 + * @return 语言包 + */ public static LanguageMap fromURL(String url) { return fromURL(url, LanguageMapConfiguration.DEFAULT); } + /** + * 从在线页面读取语言包 + * @param url 页面地址 + * @param config 读取配置 + * @return 语言包 + */ public static LanguageMap fromURL(String url, LanguageMapConfiguration config) { return processFinal(config, T18nUtils.getOnlineContent(url)); } diff --git a/src/main/java/cn/glycol/t18n/LanguageMapConfiguration.java b/src/main/java/cn/glycol/t18n/LanguageMapConfiguration.java index ce81a48..6cc4359 100644 --- a/src/main/java/cn/glycol/t18n/LanguageMapConfiguration.java +++ b/src/main/java/cn/glycol/t18n/LanguageMapConfiguration.java @@ -2,7 +2,20 @@ package cn.glycol.t18n; public interface LanguageMapConfiguration { + /** + * 获取分割符
+ * 用于将键和值分割开来 + * @param s 每行文字 + * @return 分隔符 + */ public String getSplitter(String s); + + /** + * 检测是否是注解
+ * 如果是注解,则忽略本行 + * @param s 每行文字 + * @return 是否是注解,true则忽略读取 + */ public boolean isAnnotation(String s); public static final LanguageMapConfiguration DEFAULT = new LanguageMapConfiguration() {