uni-app 多语言问题

uni-app 多语言问题

开发环境 版本号 项目创建方式
Mac 10.15.6 HBuilderX
## bug描述:

app中有实现多语言(包含波兰语),但是在切换为波兰语后,波兰语显示不正确  

文档中的波兰语:  

Nazwa użytkownika/E-mail  

Zapomniałeś hasła?  

安卓手机上的效果:见附件,(小米手机和华为手机都不行)  

苹果手机上显示正确  

![](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20210225/819772478e14ed38c20a147e5785b39d.jpg)

App下载地址或H5⽹址:  
[https://www.pgyer.com/sunways](https://www.pgyer.com/sunways)

更多关于uni-app 多语言问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

补充一下对比图

更多关于uni-app 多语言问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


附近一张为安卓截图,一张为苹果截图


当前问题已解决,解决办法: 在app切换医院的时候,修改网页的语言
我是直接修改的body:document.getElementsByTagName(‘body’)[0].lang = ‘pl’
语言代码参考网站:https://www.w3school.com.cn/tags/html_ref_language_codes.asp

根据描述,这是一个uni-app多语言在安卓设备上波兰语显示异常的问题。以下是可能的原因和解决方案:

  1. 字体兼容性问题: 安卓系统可能需要额外配置波兰语特殊字符的字体支持。建议在App.vue中全局设置支持波兰语的字体,如:
* {
  font-family: 'Roboto', sans-serif;
}
  1. 编码问题: 检查语言文件是否使用UTF-8编码保存,特别是有特殊字符的波兰语内容。HBuilderX中可以通过"文件"-"编码"确认。

  2. 多语言实现方式: 确保使用的是uni-app官方推荐的多语言方案,如在main.js中配置:

import en from './locale/en.json'
import pl from './locale/pl.json'

const messages = {
  en,
  pl
}

const i18n = new VueI18n({
  locale: uni.getLocale(),
  messages
})
  1. 安卓特定问题: 安卓系统可能需要额外处理特殊字符渲染,可以尝试:
  • 更新WebView版本
  • 添加meta标签强制UTF-8:
<meta charset="utf-8">
回到顶部