https://github.com/csbun/fis-prepackager-i18n
A i18n preprocessor for fis
https://github.com/csbun/fis-prepackager-i18n
Last synced: 10 days ago
JSON representation
A i18n preprocessor for fis
- Host: GitHub
- URL: https://github.com/csbun/fis-prepackager-i18n
- Owner: csbun
- License: mit
- Created: 2015-10-23T03:14:25.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-02-22T10:45:12.000Z (over 10 years ago)
- Last Synced: 2025-02-08T15:47:21.133Z (over 1 year ago)
- Language: JavaScript
- Size: 18.6 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fis-prepackager-i18n
A i18n prepackager for [fis](http://fex-team.github.io/fis-site/)/[Scrat](http://scrat.io) using [ejs](https://www.npmjs.com/package/ejs)
## Usage
### i18n
```
src
├── fis-conf.js
├── i18n-folder-name
│ ├── en.json
│ ├── zh.json
│ └── ...
├── components
│ ├── header
│ │ └── header.html
│ ├── some-section
│ │ └── some-section.html
│ └── ...
├── package.json
└── views
├── index
│ ├── index.less
│ ├── index.js
│ ├── index.html
│ └── ...
├── some
│ ├── some.html
│ └── ...
└── ...(more views)
```
### fis-conf.js
```javascript
fis.config.set('settings.prepackager.i18n', {
folder: 'i18n-folder-name',
defaultI18n: 'en',
connector: '_',
// You can use all [Ejs Options](https://www.npmjs.com/package/ejs#options) here.
ejs: {
delimiter: '%'
}
});
```
#### fis2
```javascript
fis.config.set('modules.prepackager', 'i18n');
fis.config.set('roadmap.path', [
{
// source html
reg: 'views/**/*.html',
// `isLayout` should be `TRUE`
isLayout: true
},
{
// other html `isLayout` != `TRUE`
reg: '**/*.html'
}
]);
```
#### fis3
```javascript
fis.match('*.html', {
release: '$0'
// other html `isLayout` != `TRUE`
});
fis.match('views/**/*.html', {
release: '$0',
// `isLayout` should be `TRUE`
isLayout: true
});
fis.match('::package', {
prepackager: fis.plugin('i18n')
});
```
## Example
### i18n
- en.json
```
{
"id": "EN",
"hello": "hello",
"world": "world"
}
```
- zh.json
```
{
"id": "ZH",
"hello": "你好",
"world": "世界"
}
```
### html
- components/header/header.html
```html
<%= hello %>
```
- components/some-section/some-section.html
```html
<%= world %>
```
- views/index/index.html
```html
view - index
<% if (id === 'en') { %>
here is `<%= id %>`
<% } else { %>
这里是 `<%= id %>`
<% } %>
{{{unit name="header"}}}
{{{unit name="some-section"}}}
```
### output
- views/index/index.html (defaultI18n == 'en')
- views/index/index_en.html
```html
view - index
here is `EN`
hello
world
```
- views/index/index_zh.html
```html
view - index
这里是 `ZH`
你好
世界
```