From b2e495b3acdf258cb0062e2254a4b42f4d045ba9 Mon Sep 17 00:00:00 2001 From: "heavyrain.lee" Date: Tue, 25 Feb 2020 15:15:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=9A=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- broker/config/i18n/messages.properties | 3 + broker/config/i18n/messages_en_US.properties | 2 + broker/config/i18n/messages_zh_CN.properties | 2 + .../imhandler/HandleFriendRequestHandler.java | 13 ++-- broker/src/main/java/win/liyufan/im/I18n.java | 63 +++++++++++++++++++ 5 files changed, 76 insertions(+), 7 deletions(-) create mode 100644 broker/config/i18n/messages.properties create mode 100644 broker/config/i18n/messages_en_US.properties create mode 100644 broker/config/i18n/messages_zh_CN.properties create mode 100644 broker/src/main/java/win/liyufan/im/I18n.java diff --git a/broker/config/i18n/messages.properties b/broker/config/i18n/messages.properties new file mode 100644 index 00000000..e65697c1 --- /dev/null +++ b/broker/config/i18n/messages.properties @@ -0,0 +1,3 @@ +#native2ascii -encoding UTF-8 messages.properties temp_messages.properties +Above_Greeting_Message=\u4ee5\u4e0a\u662f\u6253\u62db\u547c\u4fe1\u606f +Friend_Can_Start_Chat=\u4f60\u4eec\u5df2\u7ecf\u6210\u4e3a\u597d\u53cb\u4e86\uff0c\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u804a\u5929\u4e86 diff --git a/broker/config/i18n/messages_en_US.properties b/broker/config/i18n/messages_en_US.properties new file mode 100644 index 00000000..91f0fffb --- /dev/null +++ b/broker/config/i18n/messages_en_US.properties @@ -0,0 +1,2 @@ +greeting=This's the greeting +name=You're already friend, start chat now. diff --git a/broker/config/i18n/messages_zh_CN.properties b/broker/config/i18n/messages_zh_CN.properties new file mode 100644 index 00000000..cc223829 --- /dev/null +++ b/broker/config/i18n/messages_zh_CN.properties @@ -0,0 +1,2 @@ +Above_Greeting_Message=\u4ee5\u4e0a\u662f\u6253\u62db\u547c\u4fe1\u606f +Friend_Can_Start_Chat=\u4f60\u4eec\u5df2\u7ecf\u6210\u4e3a\u597d\u53cb\u4e86\uff0c\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u804a\u5929\u4e86 diff --git a/broker/src/main/java/io/moquette/imhandler/HandleFriendRequestHandler.java b/broker/src/main/java/io/moquette/imhandler/HandleFriendRequestHandler.java index 67927b9c..54b0bc1a 100644 --- a/broker/src/main/java/io/moquette/imhandler/HandleFriendRequestHandler.java +++ b/broker/src/main/java/io/moquette/imhandler/HandleFriendRequestHandler.java @@ -14,6 +14,7 @@ import io.moquette.persistence.MemorySessionStore; import io.moquette.spi.impl.Qos1PublishHandler; import io.netty.buffer.ByteBuf; import cn.wildfirechat.common.ErrorCode; +import win.liyufan.im.I18n; import win.liyufan.im.IMTopic; import win.liyufan.im.MessageShardingUtil; @@ -35,7 +36,10 @@ public class HandleFriendRequestHandler extends IMHandler bundleMap = new ConcurrentHashMap<>(); + + public static String getString(String language, String key) { + ResourceBundle bundle = bundleMap.get(language); + + if (StringUtil.isNullOrEmpty(language)) language = "zh_CN"; + + if (bundle == null) { + bundle = ResourceBundle.getBundle("messages", new Locale(language), Loader); + bundleMap.put(language, bundle); + } + + return bundle.getString(key); + } + + public static void test() throws MalformedURLException { + + // 设置定制的语言国家代码 + Locale locale1 = new Locale("zh_CN"); + Locale locale2 = new Locale("en_US"); + ResourceBundle rb = ResourceBundle.getBundle("messages", locale1, Loader); + + + + // 获得相应的key值 + String greeting = rb.getString("greeting"); + String userInfo = rb.getString("test"); + + System.out.println(greeting); + System.out.println(userInfo); + } + + public static void main(String[] args) throws Exception { + test(); + } +}