@@ -21,23 +21,38 @@ import VueI18n from '@intlify/unplugin-vue-i18n/vite';
2121
2222const baseUrl = process . env . BASE_URL || '/' ;
2323
24+ const VITE_AVAILABLE_LOCALES = process . env . VITE_AVAILABLE_LOCALES ;
25+ console . log ( `Building for locales: ${ VITE_AVAILABLE_LOCALES } ` ) ;
26+
27+ let includeLocales = [
28+ resolve ( __dirname , 'locales/en.yml' ) ,
29+ ] ;
30+ if ( ! process . env . VITEST ) {
31+ if ( ! VITE_AVAILABLE_LOCALES || VITE_AVAILABLE_LOCALES === '*' || VITE_AVAILABLE_LOCALES === 'all' ) {
32+ includeLocales = [
33+ resolve ( __dirname , 'src/tools/*/locales/**' ) ,
34+ resolve ( __dirname , 'locales/**' ) ,
35+ ] ;
36+ }
37+ else {
38+ includeLocales = [
39+ resolve ( __dirname , `src/tools/*/locales/{${ VITE_AVAILABLE_LOCALES } }.yml` ) ,
40+ resolve ( __dirname , `locales/{${ VITE_AVAILABLE_LOCALES } }.yml` ) ,
41+ ] ;
42+ }
43+ }
44+
2445// https://vitejs.dev/config/
2546export default defineConfig ( {
2647 plugins : [
2748 VueI18n ( {
2849 runtimeOnly : true ,
2950 compositionOnly : true ,
3051 fullInstall : true ,
31- include : ! process . env . VITEST
32- ? [
33- resolve ( __dirname , 'src/tools/*/locales/**' ) ,
34- resolve ( __dirname , 'locales/**' ) ,
35- ]
36- : [
37- resolve ( __dirname , 'locales/en.yml' ) ,
38- ] ,
52+ include : includeLocales ,
3953 strictMessage : false ,
4054 escapeHtml : true ,
55+ onlyLocales : ( process . env . VITE_AVAILABLE_LOCALES || '' ) . split ( / , / ) ,
4156 } ) ,
4257 AutoImport ( {
4358 imports : [
0 commit comments