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

免费微信建站有哪些网站itme收录优美图片官网

免费微信建站有哪些网站,itme收录优美图片官网,广告字设计免费生成,做外贸推广的网站前端多语言目前常用i18n实现 一、react 1.安装依赖 npm install react-i18next i18next --save2.创建配置文件 src/i18n config.ts:对 i18n 进行初始化操作及插件配置 en.json:英文语言配置文件 zh.json:中文语言配置文件 config.ts im…

前端多语言目前常用i18n实现

一、react

1.安装依赖

npm install react-i18next i18next --save

2.创建配置文件

src/i18n
config.ts:对 i18n 进行初始化操作及插件配置
en.json:英文语言配置文件
zh.json:中文语言配置文件

config.ts

import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import translation_en from './en.json';
import translation_zh from './zh.json';const resources = {en: {translation: translation_en,},zh: {translation: translation_zh,},
};i18n.use(initReactI18next).init({resources,// 默认语言  zh/en  中文/英文lng: 'zh',interpolation: {escapeValue: false,},
});export default i18n;

zh.json

{"language":"语言","switch":"选择",
}

en.json

{"language":"Language","switch":"Switch",
}

app.tsx引入

// 引用配置文件
import '@/i18n/config';

3.使用

  • 函数组件使用
// Page1 函数式组件
import React from 'react';
// 引入 useTranslation 
import { useTranslation } from 'react-i18next';const Page1: React.FC = () => {const { t } = useTranslation();return (<div><p>这是Page1</p><p>{t('language')}</p></div>);
};export default Page1;
  • 类组件(使用withTranslation 高阶函数(HOC) 来完成语言配置的数据注入)
// Page2  类组件
import React from 'react';
// 引入HOC高阶函数 withTranslation 和 i18n 的ts类型定义 WithTranslation
import { withTranslation, WithTranslation } from 'react-i18next';class ClassComponent extends React.Component<WithTranslation> {render() {const { t } = this.props;return (<div><p>{t('language')}</p></div>);}
}
// withTranslation 完成语言配置数据注入
export const Page2 = withTranslation()(ClassComponent); 
  • 切换语言
// 函数式组件
import React from 'react';
import { useTranslation, Trans } from 'react-i18next';const Page1: React.FC = () => {const { t, i18n } = useTranslation();return (<div><button onClick={() => i18n.changeLanguage(i18n.language == 'en' ? 'zh' : 'en')}>{i18n.language == 'en' ? 'zh' : 'en'}</button><p>{t('language')}</p></div>);
};export default Page1;
//  类式组件
import i18n from 'i18next';const changeLanguage= (val) => {i18n.changeLanguage(val); // 传入 'en' / 'zh'
};

二、vue

1.安装依赖

pnpm add vue-i18n

2.创建配置文件

src/i18n
config.ts:对 i18n 进行初始化操作及插件配置
en.json:英文语言配置文件
zh.json:中文语言配置文件

config.ts

import { createI18n } from 'vue-i18n' // 引入vue-i18n组件import en from './en.json'
import zh from './zh.json'export const getCurrLang = () => {// const localLang = navigator.language.split('-')[0]; // 浏览器语言const { lang } = JSON.parse(localStorage.getItem('lang') ?? '{}') // 本地存储语言return lang || 'zh'
}//注册i18n实例并引入语言文件
const i18n = createI18n({legacy: false,locale: getCurrLang(), // 语言标识fallbackLocale: 'zh', //没有英文的时候默认中文语言messages: {zh: { ...routerLang.zh, ...zh },en: { ...routerLang.en, ...en }}
})
export default i18n

zh.json

{"language":"语言","switch":"选择",
}

en.json

{"language":"Language","switch":"Switch",
}

main.ts引入


import i18n, { getCurrLang } from "@/i18n";
const app = createApp(App)
app.use(i18n)
app.use(ElementPlus, {locale: getCurrLang() == 'zh' ? elementplusZhCn : elementplusEn,
})
app.mount('#app')

3.使用

<template><div>$t('language')</div><div @click="handleLangClick">$t('Switch')</div>
</template>...const i18n = useI18n()
const { t } = i18nconst handleLangClick = () => {i18n.locale.value = i18n.locale.value == 'en' ? 'zh' : 'en'}
const langList = computed(() => [{ label: 'zh', value: t('components.layout-head.228891-3') },{ label: 'en', value: t('components.layout-head.228891-4') }
])

三、插件(du-i18n、i18n Ally)

看下面博客
https://blog.csdn.net/m0_55967670/article/details/140876053?spm=1001.2014.3001.5501

http://www.dt0577.cn/news/26440.html

相关文章:

  • 佛山哪有网站建设公司关键词你们都搜什么
  • 网站首页全屏怎么做微博推广怎么做
  • 为学校网站建设纯注册app拉新挣钱
  • 中国移动无线网管理软件福州专业的seo软件
  • 如何修改自己的网站标题网络推广费计入什么科目
  • 能够做二维码网站seo站长助手
  • wordpress 404重写系统优化app最新版
  • ssm做网站怎么用谷歌关键词优化怎么做
  • 网站美工切图是如何做的湖南企业竞价优化
  • 西安做网站建设seo就业前景
  • 做视频网站用什么模板百度指数怎么用
  • wordpress 整合论坛如何提高网站seo排名
  • 12306网站建设 实际今日头条荆州新闻
  • 怎么做刷网站流量生意长春网络优化哪个公司在做
  • 投资网站维护网站seo怎么做
  • 网站怎么放在服务器上线上营销培训
  • 自己的网站怎么做砍价百度地址如何设置门店地址
  • 企业网站模板优化临沂百度seo
  • 保定网站建设报价如何做网站设计
  • 常州网站建设外包谷歌查询关键词的工具叫什么
  • wordpress打开网站打不开搜索引擎优化关键词的处理
  • 制作自己的网站 域名怎么弄app推广团队
  • 宁河做网站公司搜索引擎优化是指什么
  • 网站什么时候做SEO优化最合适百度自动点击器下载
  • 企业所得税汇算清缴时间淘宝seo对什么内容优化
  • 友情链接是在网站后台做吗百度快照推广有效果吗
  • 深圳大胜上海关于进一步优化 广州
  • WordPress用户管理系统优化seo方法
  • 融安有那几个网站做的比较好的长沙建设网站制作
  • 深圳服务平台网站网络营销理论基础有哪些