当前位置: 首页 > news >正文

如何提升网站的收录量汕头网站推广排名

如何提升网站的收录量,汕头网站推广排名,网站名称没有排名,网站首页滚动图片怎么做国际化实现步骤 Spring Boot 3 提供了强大的国际化支持,使得应用程序可以根据用户的语言和区域偏好适配不同的语言和地区需求。 添加国际化资源文件: 国际化资源文件通常放在 src/main/resources 目录下,并按照不同的语言和地区命名&#xf…

国际化实现步骤

Spring Boot 3 提供了强大的国际化支持,使得应用程序可以根据用户的语言和区域偏好适配不同的语言和地区需求。

  1. 添加国际化资源文件: 国际化资源文件通常放在 src/main/resources 目录下,并按照不同的语言和地区命名,例如:

    • messages.properties:默认语言(如英文)
    • messages_zh_CN.properties:中文简体
    • messages_fr.properties:法语
  2. 配置 MessageSource Bean: 可以通过在 application.propertiesapplication.yml 中进行简单配置来加载国际化资源文件:

    spring:messages:basename: messagesencoding: UTF-8

    或者在配置类中定义 MessageSource Bean:

    @Configuration
    public class MessageConfig {@Beanpublic MessageSource messageSource() {ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();messageSource.setBasename("classpath:messages");messageSource.setDefaultEncoding("UTF-8");return messageSource;}
    }
  3. 使用国际化资源: 在代码中可以通过 MessageSource 来获取国际化消息。例如,在控制器中根据请求参数确定语言环境并获取对应的消息。

  4. 模板中的国际化: 如果使用 Thymeleaf 作为模板引擎,可以在模板中直接使用国际化消息。需要确保在 application.properties 中启用了国际化支持,并且在模板中使用 #{} 表达式引用消息键。

  5. 自动检测客户端语言: Spring Boot 提供了 LocaleResolver 来自动检测和设置客户端的语言环境。可以使用 AcceptHeaderLocaleResolver 或自定义的 LocaleResolver

  6. 缓存本地语言设置: 若要将本地语言设置缓存,可以在自己的配置类中增加 LocaleChangeInterceptor 拦截器和实现 LocaleResolver 方法。比如使用 CookieLocaleResolver 将语言设置存储在 Cookie 中。

  7. 与 Spring Security 结合: 在使用 Spring Security 时,可以通过在资源文件中添加相应的消息并在 Spring Security 配置中使用这些消息来实现登录页面和错误信息的多语言支持。

示例

配置国际化yaml

spring:messages:encoding: UTF-8basename: i18n/messagesprofiles:active: zh_CN
#-Dspring.profiles.active=en_US

英文

server:port: 8000
spring:jackson:date-format: MM-dd-yyyy

中文

spring:jackson:date-format: yyyy-MM-dd
server:port: 8000

国际化配置

package com.cokerlk.language;import com.cokerlk.language.service.EnUSProductService;
import com.cokerlk.language.service.IProductService;
import com.cokerlk.language.service.ZhCNProductService;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;@Configuration
@Data
public class I18NConfiguration {@Value("${spring.profiles.active}")private String locale;@Profile("zh_CN")@Beanpublic IProductService zhCNBussService(){return new ZhCNProductService();}@Profile("en_US")@Beanpublic IProductService enUSBussService(){return new EnUSProductService();}
}

产品接口

package com.cokerlk.language.service;import java.util.Map;public interface IProductService {Map<String,String> getProduct();
}

中文产品

package com.cokerlk.language.service;import com.cokerlk.language.I18NConfiguration;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.MessageSource;import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;@Slf4j
public class ZhCNProductService implements IProductService {@ResourceI18NConfiguration i18NConfiguration;@ResourceMessageSource messageSource;@Overridepublic Map getProduct() {log.info("中文");Map result = new HashMap();result.put("create-date", new Date());result.put("text", messageSource.getMessage("product_name", null, Locale.of(i18NConfiguration.getLocale())));return result;}
}

英文产品

package com.cokerlk.language.service;import com.cokerlk.language.I18NConfiguration;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.MessageSource;import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;@Slf4j
public class EnUSProductService implements IProductService {@ResourceI18NConfiguration i18NConfiguration;@ResourceMessageSource messageSource;@Overridepublic Map<String,String> getProduct() {log.info("英文");Map result = new HashMap();result.put("create-date", new Date());result.put("text", messageSource.getMessage("product_name", null, Locale.of(i18NConfiguration.getLocale())));return result;}
}

message配置

#messages.properties
product_name=huawei mate 70
#messages_en_US.properties
product_name=Hua wei mate 70
#messages_zh_CN.properties
product_name=华为mate70

测试结果

http://www.hengruixuexiao.com/news/17396.html

相关文章:

  • 怎么建公司网站职业技能培训网上平台
  • 福田做商城网站建设哪家公司便宜点专业网站优化外包
  • 慈溪市网站制作福建seo推广方案
  • 包装设计一键生成器鞍山seo公司
  • 在哪个网站做一件代发靠谱广告推广赚钱在哪接
  • wordpress登录网站站长工具seo综合查询问题
  • 成都网站品牌设计案例百度云搜索引擎入口网盘搜索神器
  • 不用wordpress小熊猫seo博客
  • 广州代注册公司哪家好西安优化seo托管
  • wordpress登陆密码忘记商品seo关键词优化
  • 旅游类网站如何做推广宁波搜索引擎优化seo
  • 网站备案地点选择短视频拍摄剪辑培训班
  • 织梦怎么做中英文双语网站个人网站免费制作平台
  • 专门做网站关键词排名公司建官网要多少钱
  • 贵阳建设网站seo专员是什么
  • 深圳东门步行街地铁站广州广告推广公司
  • 网站建设的页面要求营销网站搭建
  • 网批做衣服的网站seo技巧优化
  • 做网站 一级 二级奶茶店营销软文
  • 做暖暖视频网站观看完整的品牌推广方案
  • 国际交流网站建设方案推广普通话手抄报图片
  • 推荐家居网站建设怎么开通网站平台
  • 网站优化关键词排名新闻软文推广案例
  • 国外做游戏的视频网站有哪些问题千峰培训
  • 如何做网站维护 找关键词谷歌官网入口手机版
  • 鄞州做网站百度的关键词优化
  • 俄文网站推广网络营销策划案怎么写
  • 做一个网站中的搜索功能怎么做搜索引擎国外
  • wordpress twenty fourteen主题做的演示网站专业seo网络营销公司
  • 网站有做货什么是关键词搜索