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

静态企业网站源码陕西做网站公司有哪些

静态企业网站源码,陕西做网站公司有哪些,网站调用网页内容,网站建设的必要背景 平时中会遇到需求,就是切换语言,语种等。其实总的来说都是用i18n来实现的 思路 首先在项目中安装i18n插件,然后将插件引入到项目,然后配置语言包(语言包需要你自己来进行配置,自己编写语言包&#xff…

背景

平时中会遇到需求,就是切换语言,语种等。其实总的来说都是用i18n来实现的

思路

首先在项目中安装i18n插件,然后将插件引入到项目,然后配置语言包(语言包需要你自己来进行配置,自己编写语言包,或者你能找到跟你项目适配的也可以),然后就用特定的方法来展示可以切换语言的字段

实现步骤

一、安装环境

需要同时安装 i18next 和 react-i18next 依赖:

npm install react-i18next i18next --save

二、配置文件

src下新建i18n文件夹,以存放国际化相关配置
i18n中分别新建三个文件

  • config.ts:对 i18n 进行初始化操作及插件配置

  • en.json:英文语言配置文件

  • zh.json:中文语言配置文件

2.1、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;

2.2、zh.json

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

2.3、en.json

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

三、使用

3.1、引用配置文件

在 page 的index.tsx中引用i18n的配置文件 :import '../i18n/config';

import Page1 from './page1';
import Page2 from './page2';
// 引用配置文件
import '../i18n/config';export default function IndexPage() {return (<div><Page1 /><Page2 /></div>);
}

3.2、在组件中使用

在 函数式组件 中使用useTranslation 的 hook 来处理国际化

// 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); 

3.3、切换语言

使用changeLanguage() config 中配置 切换语言

// 函数式组件
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'
};

http://www.yayakq.cn/news/700445/

相关文章:

  • 哪个网站可以做汽车评估广州注销营业执照
  • 高端外贸网站建设江西省楚天建设集团有限公司网站
  • 安徽省省建设厅网站软件网站开发
  • 公司网站建设需要显示什么大方网站制作
  • 网址大全123官方网站一汽奔腾深圳怎么制作公司网页
  • 设计师找工作的网站网站联系方式修改织梦
  • 云图书馆平台网站建设河北省建设厅网站6
  • 遵义住房和城乡建设局网站室内装修设计要学多久
  • 济南网站建设凡科wordpress 页面加载特效
  • 英文网站建设哪家强刚做网站做多用户还是单用户
  • 学校网站制作html做网站维护的人叫啥
  • 国家基础设施建设网站西安公司排行榜
  • seo技术建站有什么办法可以在备案期间网站不影响seo
  • 网站搜索引擎优化报告wordpress必要的插件
  • 昆明市城建设档案馆网站建设网站要学什么
  • 网站制作 成都手机卡顿优化软件
  • 哈尔滨网站建设工作室母婴推广网站
  • 南京网站c建设云世家wordpress显示标题
  • 网站定制设计制作公司网站seo合同
  • 做58网站怎么赚钱吗钙网logo设计
  • 网站租服务器建设银行手机银行app类型
  • 做公司网站需要如何申请做网站编辑呢
  • 简述seo对各类网站的作用个人备案的公司网站
  • 手机商场网站制作网页设计图片排版模板
  • 上海网站建设的网站百度指数热度榜
  • php网站搭建环境搭建wordpress混乱
  • 企业网站备案拍照深圳向失业人员发放补贴
  • 自主网站制作三五互联网站
  • 2018年网站开发技术企业邮箱号码从哪里查
  • 上海专业的网站建设创建网站的六个步骤