1.1.3 • Published 5 years ago

gulp-i18n-combine v1.1.3

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

#gulp-i18n-combine

在大型项目中,为了便于语言包的开发与维护,通常需要将语言包拆分成若干的小文件,这个插件的作用是将这些小文件合并成最终我们需要的单文件语言包。

install

$ npn install gulp-i18n-combine --save-dev

合并时对应的目录结构分为两种模式

mod: 1(默认值)

gulpfile.js

var gulp = require('gulp'),
	i18n = require('gulp-i18n-combine');

gulp.task('i18n', ['i18nClean'], function () {
	return gulp.src('./src/**/zh-CN.json')
		.pipe(i18n()) // 默认采用模式1
		.pipe(gulp.dest('./dist/i18n/'));
});

gulp.task('default', ['i18n']);

mod:1 对应源文件目录结构

└── src
    ├── components
    │   ├── header.vue
    │   ├── footer.vue
    │   ├── en-US.json
    │   └── zh-CN.json
    └── pages
        ├── home
        │   ├── home.vue
        │   ├── en-US.json
        │   └── zh-CN.json
        ├── foo
        │   ├── foo.vue
        │   ├── en-US.json
        │   └── zh-CN.json
        └── bar
            ├── bar.vue
            ├── en-US.json
            └── zh-CN.json

单文件内容

// src/components/zh-CN.json
{
    "header": "头部",
    "footer": "脚部"
}

// src/pages/foo/zh-CN.json
{
    "name": "foo",
    "title": "欢迎来到 Foo"
}

mod: 2

gulpfile.js

var gulp = require('gulp'),
	i18n = require('gulp-i18n-combine');

gulp.task('i18n', function () {
	return gulp.src('./src/i18n/**/*.json')
		.pipe(i18n({ mod: 2 })) // 采用模式2
		.pipe(gulp.dest('./dist/i18n/'));
});

gulp.task('default', ['i18n']);

mod:2 对应源文件目录结构

└── src
    └── i18n
        ├── en-US
        │   ├── components.json
        │   └── pages
        │       ├── home.json
        │       ├── foo.json
        │       └── bar.json
        └── zh-CN
            ├── components.json
            └── pages
                ├── home.json
                ├── foo.json
                └── bar.json

单文件内容

// src/i18n/zh-CN/components.json
{
    "header": "头部",
    "footer": "脚部"
}

// src/i18n/zh-CN/pages/foo.json
{
    "name": "foo",
    "title": "欢迎来到 Foo"
}

最终输出结果

输出后文件目录结构

└── dist
    └── i18n
        ├── en-US.json
        └── zh-CN.json

输出后文件内容

// zh-CN.json
{
    "components": {
        "header": "头部",
        "footer": "脚部"
    },

    "pages": {
        "home": {
            "name": "home",
            "title": "欢迎来到 Home"
        },
        "foo": {
            "name": "foo",
            "title": "欢迎来到 Foo"
        },
        "bar": {
            "name": "bar",
            "title": "欢迎来到 Bar"
        }
    }
}
1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago