scratch3.0二次开发之语言翻译国际化

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/jyht1226/article/details/100938089

scratch3.0二次开发之语言翻译国际化

一、scratch语言配置文件

语言配置文件所在路径:scratch-gui\src\reducers\local.js。

import {addLocaleData} from 'react-intl';

import {localeData} from 'scratch-l10n';
import editorMessages from 'scratch-l10n/locales/editor-msgs';/*语言文件从这里导出,包括中文,英文,日文等几十个国家的语言*/
import {isRtl} from 'scratch-l10n';

addLocaleData(localeData);

const UPDATE_LOCALES = 'scratch-gui/locales/UPDATE_LOCALES';
const SELECT_LOCALE = 'scratch-gui/locales/SELECT_LOCALE';

修改语言

文件所在文件夹: scratch-gui\node_modules\scratch-l10n。
子目录editor里的都是语言源文件,选择自己要修改的语言,然后打开在里面修改。
在这里插入图片描述
blocks是block块的翻译文件。
extensions是扩展的翻译文件。
interface 是gui界面的翻译文件。
pain-editor是造型页面的翻译文件。

注意:直接在里面修改源代码还不会引起变化,还需要生成gui里引用的local文件夹,这需要先给scratch-l10n安装依赖,然后npm run build。
步骤:1、在cmd中进入该目录,然后输入指令 npm install 安装依赖;
2、进入scratch-l10n的仓库https://github.com/LLK/scratch-l10n,下载文件后,把以下文件复制到本地项目scratch文件中。
红线区域是要复制的文件
3、在editor文件夹中,修改语言文件之后,在cmd中输入指令npm run build,语言文件即生成。

语言文件的使用

scratch会自动选择和当前浏览器一样的语言。比如当前浏览器语言是中文则显示中文,英文则显示英文。
1、在程序头部引入模块
在这里插入图片描述
2、在需要插入语言的地方插入
在这里插入图片描述
这里id指向的是翻译文件里的对象
在这里插入图片描述
defaultMessage 是默认显示的文字,如果id没有定义或值,defaultMessage就会显示出来 。
descripton 就是关于文字的描述了。

3、FormattedMessage是个组件,这个组件不能用于需要显示类型为字符串的地方,比如下图显示,this.props.onUpdateReduxProjectTitle这个函数,需要一个类型为字符串的参数,这时候就需要,this.props.intl.formatMessage来获得翻译的字符串。
在这里插入图片描述
图中的messages.defaultProjectTitle需要定义,怎么定义呢?就在文件的头部有定义的:
在这里插入图片描述
文件所在目录:scratch-gui\src\containers\gui.jsx;

猜你喜欢

转载自blog.csdn.net/jyht1226/article/details/100938089
今日推荐