/vue-i18n-decentralizer

Decentralize vue-i18n locales

Primary LanguageJavaScript

Vue i18n decentralizer

Decentralize vue-i18n locales

Is it ready yet?

No.

What

It splits translations registered at centralized json files around all your vue single file components within vue-i18n-loader tags

Why

As a project grew we found that our translations were almost half the size of the bundled app. This is a tool to split the translations around so only the immediately needed ones are downloaded

Usage

yarn global add vue-i18n-decentralizer
vue-i18n-decentralizer [command] [...arguments]

Commands

  • help: it helps you
  • decentralize: decentralizes translations around source files
  • prune: removes unused translations from locales json files

Arguments

  • source, s: source files to read (usually the .vue or .js files)
  • localesFolder, l: Folder containing the vue-i18n json files
  • output, o: Folder where to write the output, if undefined source files will be overwritten
  • ignoreKeys, i: Keys to ignore inside the json translations files, it affects each command in the following way:
    • decentralize: will not place them inside the vue file
    • prune: will not remove them
    • help: will give you a genuinely sensation of corresponded love

To Do

  • Decentralize
  • Prune

Probably not going to, but should do

  • Rename $options.name calls inside template by current component name
  • Flatten json properties with a single child
  • Dettect v-t calls