Skip to content

thinkjs 国际化语言插件,使用in8n-2封装,简单实用

License

Notifications You must be signed in to change notification settings

flftfqwxf/think-i18n-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

think-i18n-2

BETA 版本开发中

安装

npm install think-i18n-2 --save

配置 extends.js

// thinkjs config/extend.js

const createI18n = require('think-i18n-2');
const path = require('path');
let directory = path.resolve(__dirname, './locales')
module.exports = [
   ...
    createI18n({
        app: think.app, // 如果为空,__ 就不会被自动 `assign` 到 `think-view` 实例
        localesMapping(locales: any) {
            return 'en';
        },
        extension: '.json',
        locales: ['en', 'zh'],
        directory
    })
];

Controller 和 View (nunjucks)

controller

如果需要再controller 里面获取 I18n 的实例或者当前的 locale,可以调用

    async indexAction(){
       let locale;//不传默认取
      const __ = this.getI18n(locale).__;
      const locale = this.getLocale();
    }

view

如果使用了 think-view 模块, think-i18n 会自动调用注入一个实例到当前模板实例里,类似: this.assign('', I18n..bind(I18n)), 这样在模板里面就可以使用直接使用 i18n 暴露的接口。

{{ __('some key') }}

About

thinkjs 国际化语言插件,使用in8n-2封装,简单实用

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published