商城首页欢迎来到中国正版软件门户

您的位置:首页 > 硬件相关 >ruoyi-vue版本(二十一)i18n详解及应用

ruoyi-vue版本(二十一)i18n详解及应用

  发布于2025-05-10 阅读(0)

扫一扫,手机访问

1 i18n 简介

i18n(源自英文单词 internationalization [ˌɪntəˌnæʃnəlaɪˈzeɪʃn]的首末字符i和n,中间有18个字符)是“国际化”的缩写。在信息技术领域,国际化(i18n)指的是让产品(如出版物、软件、硬件等)无需重大修改即可适应不同语言和地区的需求。对于软件来说,国际化意味着在不改变其内部代码的情况下,能够根据不同语言和地区显示相应的界面。在全球化的今天,国际化变得尤为重要,因为产品的潜在用户可能来自世界各地。通常与i18n相关的还有L10n(“本地化”的缩写)。

2 代码在yml文件中配置

代码语言:javascript运行次数:0

# Spring配置
spring:  
  # 资源信息  
  messages:    
    # 国际化资源文件路径    
    basename: i18n/messages

ruoyi-vue版本(二十一)i18n 是什么,有什么作用ruoyi-vue版本(二十一)i18n 是什么,有什么作用

创建一个工具类

代码语言:javascript运行次数:0

package com.example.demo.common.utils;

import org.springframework.context.MessageSource; import org.springframework.context.i18n.LocaleContextHolder;

/**

  • 获取i18n资源文件
  • @author jing */ public class MessageUtils { /**
    • 根据消息键和参数 获取消息 委托给spring messageSource
    • @param code 消息键
    • @param args 参数
    • @return 获取国际化翻译值 */ public static String message(String code, Object... args) { MessageSource messageSource = SpringUtils.getBean(MessageSource.class); return messageSource.getMessage(code, args, LocaleContextHolder.getLocale()); } }

在控制器层获取配置文件中的内容

代码语言:javascript运行次数:0

@ApiOperation(value = "获取到I18n里面的数据", httpMethod = "GET")
@RequestMapping(value = "/getI18n", method = RequestMethod.GET)
@ResponseBody
public Map<String, Object> getI18n() {
String message = MessageUtils.message("not.null");
// String message1 = MessageUtils.message("user.password.retry.limit.count", 56);
HashMap<String, Object> stringObjectHashMap = new HashMap<String, Object>();
stringObjectHashMap.put("not.null", message);
// stringObjectHashMap.put("user.password.retry.limit.count", message1);
return stringObjectHashMap;
}

ruoyi-vue版本(二十一)i18n 是什么,有什么作用

热门关注