1.2.0 • Published 10 months ago

vite-plugin-i18n-autoimport v1.2.0

Weekly downloads
-
License
ISC
Repository
github
Last release
10 months ago

vite-plugin-i18n-autoimport

plugin options

type includeFilter = (id: string) => boolean;
export interface Options {
    locales: string[];  // i18n locale list
    dts?: string; // .d.ts file position, should include in tsconfig.json's include option; default i18n.d.sts
    root?: string; // default cwd()
    include?: FilterPattern | includeFilter;  // filter
    exclude?: FilterPattern;
    localeFileWarn?: boolean; // show warn info when locale config path does not exist, default: true
    getLocaleFs?: (locale: string) => string;  // get the locale config based on the locale value in locales
    genImportName?: (locale: string) => string; // generate the import name of locale config file based on the locale value in locales
}

use plugin in vite

import { autoImport } from 'vite-plugin-i18n-autoimport'
const LOCALE_ENUM = {
    zhCn: "zh-CN",
    zhHant: "zh-Hant"
}
export default defineConfig(() => {

  return {
    plugins: [
      autoImport({
        locales: [LOCALE_ENUM.zhCn, LOCALE_ENUM.zhHant],
        dts: './i18ntest.d.ts'
      }),
    ]
  }
})

use in composition API

<script setup lang="ts">
const { t } = defineI18n()
</script>

// compile to
import { useI18n } from 'vue-i18n'
// './lang/zh-CN.json' is generated by [ getLocaleFs ]
// 'zh_CN'  is generated by [ genImportName ]
import zh_CN from './lang/zh-CN.json';
import zh_Hant from './lang/zh-Hant.json';

const { t } = useI18n({
    messages: {
        ['zh_CN']: zh_CN,
        ['zh_Hant']: zh_Hant,
    }
})
</script>
1.2.0

10 months ago

1.1.0

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago