0.0.2 • Published 6 years ago

@lx011/i18n v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
6 years ago

lx011-i18n

The internationalization (i18n) library for JavaScript. Support for i18n of text, images, placeholders, styles.

yarn

yarn dev

# http://127.0.0.1:8080/example
# http://127.0.0.1:8080/example/test.html
yarn serve

Usage

npm i @lx011/i18n
# or
yarn add @lx011/i18n
/* js file */

// require('@lx011/i18n')
import '@lx011/i18n'

Project Structure

# path: **/i18n/**/*.json
# common file: **/i18n/pub/*.json

[project]
|- [**/i18n]
|     |- [{lang}] # language
|     |      `- *.json # page
|     `- [pub]
|         |- common.{lang}.json
|         `- keywords.{lang}.json
` ..

# OR

[project]
|- [**/i18n]
|    |- [**] # page
|    |   `- *.{lang}.json
|    `- [pub]
|         |- common.{lang}.json
|         `- keywords.{lang}.json
` ...

HTML Tags Attributes

typearrtibutedescribeuse
commoni18n-ccommoni18n-c='key_name'
keywordsi18n-kkeywordsi18n-k='key_name'
pagei18n-ppagei18n-p='key_name'
classi18n-scurrect element class(style)i18n-s
imagei18n-(c|k|p)-i(common | keywords | page) image pathi18n-(c|k|p)-i='key_name'
pleceholderi18n-(c|k|p)-ph(common | keywords | page) placeholderi18n-(c|k|p)-ph='key_name'
offi18n-oclose translate(off)i18n-o
  • key_name: i18n key name
  • (c|k|p): One of c, k,p

Config

i18n matches the corresponding page in two ways

<!-- **/i18n/{lang}/**/*.json -->
<meta i18n='/your_path/i18n/{lang}/path_file_name'>

OR

<!-- **/i18n/**/*.{lang}.json -->
<meta i18n='/your_path/i18n/path_file_name.{lang}'>

<!-- i18n-lang-btn: language button -->
<!-- i18n-def: default language -->
<!-- class='i18n-active': current language -->
<div>
  <button i18n-lang-btn='en' i18n-def>EN</button>
  <button i18n-lang-btn='cn'>CN</button>
  <!-- <button i18n-lang-btn='**'>**</button> -->
  <!-- ... -->
</div>