From 13b31b2ca2a5f8600002a042b536c9d5529842e3 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 09 三月 2026 19:21:18 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/i18n/I18nController.java |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/common/i18n/I18nController.java b/src/main/java/com/zy/common/i18n/I18nController.java
new file mode 100644
index 0000000..2bdfd96
--- /dev/null
+++ b/src/main/java/com/zy/common/i18n/I18nController.java
@@ -0,0 +1,40 @@
+package com.zy.common.i18n;
+
+import com.core.common.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.*;
+
+@RestController
+@RequestMapping("/i18n")
+public class I18nController {
+
+    @Autowired
+    private I18nMessageService i18nMessageService;
+
+    @RequestMapping("/messages")
+    public R messages(@RequestParam(required = false) String lang) {
+        Locale locale = i18nMessageService.resolveLocale(lang);
+        Map<String, Object> result = new LinkedHashMap<>();
+        result.put("locale", I18nLocaleUtils.toTag(locale));
+        result.put("defaultLocale", i18nMessageService.getDefaultLocaleTag());
+        result.put("supportedLocales", localeOptions(locale));
+        result.put("messages", i18nMessageService.getMessages(locale));
+        result.put("legacy", i18nMessageService.getLegacyMessages(locale));
+        return R.ok(result);
+    }
+
+    private List<Map<String, String>> localeOptions(Locale locale) {
+        List<Map<String, String>> options = new ArrayList<>();
+        for (String supportedLocale : i18nMessageService.getSupportedLocaleTags()) {
+            LinkedHashMap<String, String> option = new LinkedHashMap<>();
+            option.put("tag", supportedLocale);
+            option.put("label", i18nMessageService.getMessage("lang." + supportedLocale, locale));
+            options.add(option);
+        }
+        return options;
+    }
+}

--
Gitblit v1.9.1