https://github.com/hexojs/hexo-i18n
i18n module for Hexo.
https://github.com/hexojs/hexo-i18n
hexo typescript
Last synced: 6 months ago
JSON representation
i18n module for Hexo.
- Host: GitHub
- URL: https://github.com/hexojs/hexo-i18n
- Owner: hexojs
- License: mit
- Created: 2014-12-14T08:43:50.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2024-07-15T13:13:02.000Z (over 1 year ago)
- Last Synced: 2025-06-03T19:10:55.691Z (7 months ago)
- Topics: hexo, typescript
- Language: TypeScript
- Homepage:
- Size: 63.5 KB
- Stars: 14
- Watchers: 11
- Forks: 9
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# hexo-i18n
[](https://github.com/hexojs/hexo-i18n/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/hexo-i18n)
[](https://coveralls.io/github/hexojs/hexo-i18n)
i18n module for [Hexo].
## Installation
``` bash
$ npm install hexo-i18n --save
```
## Usage
### Example
``` js
var i18n = new require('hexo-i18n')({
languages: ['zh-TW', 'en']
});
i18n.set('en', {
ok: 'OK',
name: 'My name is %1$s %2$s.',
index: {
title: 'Home'
},
video: {
zero: 'No videos',
one: 'A video',
other: '%d videos'
}
});
i18n.set('zh-TW', {
name: '我的名字是 %2$s %1$s。',
index: {
title: '首頁'
},
video: {
zero: '沒有影片',
one: '一部影片',
other: '%d 部影片'
}
});
var __ = i18n.__();
var _p = i18n._p();
__('ok') // OK
__('index.title') // 首頁
__('name', '大呆', '王') // 我的名字是王大呆
_p('video', 0) // 沒有影片
_p('video', 1) // 一部影片
_p('video', 10) // 10 部影片
```
### new i18n([options])
Creates a new i18n instance.
Option | Description | Default
--- | --- | ---
`languages` | Default languages. It can be an array or a string | `default`
### i18n.get([lang]) → Object
Returns a set of localization data. `lang` can be an array or a string, or the default language defined in constructor if not set. This method will build the data in order of languages.
### i18n.set(lang, data)
Loads localization data.
### i18n.remove(lang)
Unloads localization data.
### i18n.list()
Lists loaded languages.
### i18n.__() → Function(key, arg...)
Returns a function for localization.
### i18n._p() → Function(key, count, ...)
This method is similar to `i18n.__`, but it returns pluralized string based on the second parameter. For example:
``` js
_p('video', 0) = __('video.zero', 0)
_p('video', 1) = __('video.one', 1)
_p('video', 10) = __('video.other', 10)
```
## License
MIT
[Hexo]: https://hexo.io/