使用uniapp开发国际化---app,vue,nvue

这篇具有很好参考价值的文章主要介绍了使用uniapp开发国际化---app,vue,nvue。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

插件市场下载示例

hello-i18n 示例工程 - DCloud 插件市场

项目使用

main.js引入

// 国际化 json 文件,文件内容详见下面的示例
import en from './en.json'
import zhHans from './zh-Hans.json'
import zhHant from './zh-Hant.json'
const messages = {
	en,
	'zh-Hans': zhHans,
	'zh-Hant': zhHant
}

let i18nConfig = {
  locale: uni.getLocale(),// 获取已设置的语言
  messages
}

// VUE2
// #ifndef VUE3
import Vue from 'vue'
import VueI18n from 'vue-i18n'// v8.x
Vue.use(VueI18n)
const i18n = new VueI18n(i18nConfig)
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
  i18n,
  ...App
})
app.$mount()
// #endif

// VUE3
// #ifdef VUE3
import { createSSRApp } from 'vue'
import { createI18n } from 'vue-i18n'// v9.x
const i18n = createI18n(i18nConfig)
export function createApp() {
  const app = createSSRApp(App)
  app.use(i18n)
  return {
    app
  }
}
// #endif

创建文件

使用uniapp开发国际化---app,vue,nvue

 en.json----"自定义key":"英文"

使用uniapp开发国际化---app,vue,nvue

 zh-Hans.json----"自定义key":"中文"    

使用uniapp开发国际化---app,vue,nvue

 注意:json文件中的名称需要中英文对应。

index.js

import en from './en.json'
import zhHans from './zh-Hans.json'
export default {
	en,
	'zh-Hans': zhHans,
}

 页面中使用

vue页面模板使用----$t('')

<template>
  <view class="container">
<--  index.title 为json文件中 自定义key -->
    <view class="title">{{$t('index.title')}}</view>
  </view>
</template>

nvue页面模板使用----t('')

import messages from '../../locale/index.js'
	import {
		initVueI18n
	} from '@dcloudio/uni-i18n'
	const {
		t
	} = initVueI18n(messages)
        // 初始化
		created() {
			const {
				t
			} = initVueI18n(messages);
			this.t = t;
		},

pages.json 使用 ----%index.title%

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "%index.title%" // locale目录下 语言地区代码.json 文件中定义的 key,使用 %% 占位
      }
    }
  ],
  "tabBar": {
    "list": [{
        "pagePath": "pages/index/index",
        "text": "%index.home%"
      }
    ]
  }
}

data中使用---this.$t('')

data() {
			return {
              // json 文件中定义的 key
				name: this.$t('dhjl'),
			}
		},

切换语言---在某一个页面写入

<view class="" style="margin-top: 20px;margin-left: 290px;">
			<u-radio-group v-model="radiovalue1" placement="column">
				<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in locales" :key="index"
					:label="item.text" :name="item.text" @change="onLocaleChange(item)">
				</u-radio>
			</u-radio-group>
		</view>
computed:{
		  locales() {
		    return [{
		        text: this.$t('locale.en'),
		        code: 'en'
		      },
		      {
		        text: this.$t('locale.zh-hans'),
		        code: 'zh-Hans'
		      }
		    ]
		  }
		},
// 更改语言
			onLocaleChange(e) {
			  if (this.isAndroid) {
			    uni.showModal({
			      content: this.$t('index.language-change-confirm'),
			      success: (res) => {
			        if (res.confirm) {
			          uni.setLocale(e.code);
			        }
			      }
			    })
			  } else {
			    uni.setLocale(e.code);
			    this.$i18n.locale = e.code;
			  }
			},

启动项目,就可以成功切换语言了。

如果遇到切换语言的时候不能全局切换,可以尝试注释掉以下代码。

使用uniapp开发国际化---app,vue,nvue

以上就是关于在uniapp中使用国际化的一些说明,内容不多,操作简单。文章来源地址https://www.toymoban.com/news/detail-463484.html

到了这里,关于使用uniapp开发国际化---app,vue,nvue的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue - i18n 国际化的使用

    参考网址: 使用: https://huaweicloud.csdn.net/638f133edacf622b8df8eb26.html?spm=1001.2101.3001.6650.1utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-1-125181861-blog-123845480.235%5Ev38%5Epc_relevant_anti_t3_basedepth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Ea

    2024年02月11日
    浏览(44)
  • 【uniapp】微信小程序国际化详细版

    目录 一、步骤 1、main.js 引入并初始化 VueI18n  2、创建文件夹locale 二、应用 1、页面(固定数据) 2、动态数据 3、系统 官网详解:https://uniapp.dcloud.net.cn/tutorial/i18n.html 我创建项目的时候选择的模板是uni-ui项目,所以不需要npm  vue-i18n locale文件夹是与pages同级 locale/en.json(英文

    2024年02月11日
    浏览(32)
  • 解决Vue+Element UI使用表单rules国际化时From表单验证信息不能实时更新

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 博主在工作之余开始进行自动化测试平台的开发,虽然已经996一个月了但是还是在使劲挤时间做这件事情,目前平台使用前端框架 vue-element-admin 进行简化后二次开发,目前保留了原框架中的国际化

    2024年02月13日
    浏览(32)
  • 【android studio 简单配置多语言国际化app 一行代码实现切换语言】

    新版本的android studio配置多语言其实很简单,不过目前网上找到的几个博客都搞得很复杂,可能是版本比较老的时候出的方案,今天分享一下怎么一行代码切换语言. 1.切换语言你得先有语言对应的文本,推荐插件一键生成.在设置里搜索Androidlocalize,直接安装即可 2.安装好了以后右键

    2024年02月11日
    浏览(34)
  • next.js app目录 i18n国际化简单实现

    最近在用next写一个多语言的项目,找了好久没找到简单实现的教程,实践起来感觉都比较复杂,最后终于是在官方文档找到了,结合网上找到的代码demo,终于实现了,在这里简单总结一下。 此教程适用于比较简单的项目实现,如果你是刚入门next,并且不想用太复杂的方式去

    2024年04月22日
    浏览(29)
  • vue 前端 + 若依(ruoyi)后端 实现国际化

    记录一下,前端使用vue,后端使用若依(ruoyi,基于spring-boot)实现页面,后端返回提示信息国际化 vue:2.6.12 vue-i18n:^8.27.2 安装vue-i18n,注:最新的交于该版本有差异,所以指定使用版本:8.27.2 添加国际化js文件:language.en_US.js 添加国际化js文件:language.zh_CN.js 添加i18n.js ma

    2024年02月12日
    浏览(36)
  • SpringBoot+Vue前后端分离项目国际化支持

    i18n.js文件 language.en_US.js文件 language.zh_CN.js文件 messages_en_US.properties文件 messages_zh_CN.properties文件

    2024年02月04日
    浏览(37)
  • uniapp配置了pages.json 的 tabbar 国际化,小程序切换语言没有实时切换

    如上图,按照uniapp官方文档配置了tabbar的国际化 但是微信小程序实时切换语言没有实时刷新 解决方案: 在App.vue中加入以下代码:   在onLaunch中执行方法即可

    2024年04月28日
    浏览(23)
  • Vue + Element UI 前端篇(五):国际化实现

    1.安装依赖 执行以下命令,安装 i18n 依赖。 2.添加配置 2.1 在 src 下新建 i18n 目录,并创建一个 index.js。 index.js 2.2 在 assets 目录下面创建连个多语言文件。 zh.json en.json 2.3 在 main.js 中引入 i18n 并注入到 vue 对象中。 3.字符引用 在原本使用字符串的地方,引入国际化字符串。 把

    2024年02月09日
    浏览(37)
  • 记一次前端Vue项目国际化解决方案

    有一个vue项目,要实现国际化功能,能够切换中英文显示,因为该项目系统的用户包括了国内和国外用户。 1、页面表单上的所有中文标签要国际化,包括表单属性标签、表格列头标签等, title=“数量”; 2、输入框的提示内容需要国际化,如 placeholder=“选择日期” 3、js代码

    2024年02月20日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包