diff --git a/package.json b/package.json index 5cf1c1f0a8a1e3bf78d1140b7c969d7398f1e7fa..bff3ffa51baac1aba836c02d2521e008bf962894 100644 --- a/package.json +++ b/package.json @@ -75,6 +75,7 @@ "jsdom-global": "^3.0.2", "jsonfile": "^6.0.1", "mustache": "^4.1.0", + "os-locale-s": "^1.0.8", "recast": "^0.20.4", "rollup": "^2.6.1", "rollup-plugin-babel": "^4.4.0", diff --git a/packages/uni-cli-i18n/__tests__/env.spec.js b/packages/uni-cli-i18n/__tests__/env.spec.js index 573e4eda8eeea40da21484f51c95446e50659649..876a216479e1949c2db0f70fc1136a4bf0d89a0f 100644 --- a/packages/uni-cli-i18n/__tests__/env.spec.js +++ b/packages/uni-cli-i18n/__tests__/env.spec.js @@ -1,4 +1,9 @@ describe('env', () => { + it('CLI', () => { + process.env.LANG = 'fr' + const i18n = require('../lib/index') + expect(i18n.getLocale()).toBe('fr') + }) it('HBuilderX', () => { process.env.UNI_HBUILDERX_LANGID = 'fr' const i18n = require('../lib/index') diff --git a/packages/uni-cli-i18n/lib/index.js b/packages/uni-cli-i18n/lib/index.js index c96220a04d0a0856a718839d436de48992a1343b..ddb702b24ad0b12de6f5789ce0aaff4954fabcb7 100644 --- a/packages/uni-cli-i18n/lib/index.js +++ b/packages/uni-cli-i18n/lib/index.js @@ -1,7 +1,8 @@ const { I18n } = require('i18n') +const { osLocale } = require('os-locale-s/cjs') const { format } = require('./lang') -const defaultLocale = format(process.env.UNI_HBUILDERX_LANGID || process.env.LANG || 'en') +const defaultLocale = format(process.env.UNI_HBUILDERX_LANGID || osLocale.sync({ spawn: false, cache: false }) || 'en') const i18n = new I18n() diff --git a/packages/uni-cli-i18n/package.json b/packages/uni-cli-i18n/package.json index 3864bf5fdf86aa8653b5e08edf367f234ad17d5b..62cd04c0be0a22f7b27317ce07fb9deba052be35 100644 --- a/packages/uni-cli-i18n/package.json +++ b/packages/uni-cli-i18n/package.json @@ -14,6 +14,7 @@ "author": "fxy060608", "license": "Apache-2.0", "dependencies": { - "i18n": "^0.13.3" + "i18n": "^0.13.3", + "os-locale-s": "^1.0.8" } } diff --git a/yarn.lock b/yarn.lock index 765c484f8b960d43076d9c407456605f4dd16f19..50c7c1b0e8c41f66276fe61547705c5513e975ec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4805,6 +4805,11 @@ invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" +invert-kv@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-3.0.1.tgz#a93c7a3d4386a1dc8325b97da9bb1620c0282523" + integrity sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw== + ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" @@ -5754,6 +5759,13 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" +lcid@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-3.1.1.tgz#9030ec479a058fc36b5e8243ebaac8b6ac582fd0" + integrity sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg== + dependencies: + invert-kv "^3.0.0" + leven@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -6662,6 +6674,13 @@ os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" +os-locale-s@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/os-locale-s/-/os-locale-s-1.0.8.tgz#c44df5e6ff9e6e7c6ac9e2a9fe71c2f43daeb8ed" + integrity sha512-VCVIYgA2Lv/DHedGtaGzUOG9ZV/5g5APvq5aN/dfnz1wxlvMp2ophiycKSDrlA8yEoF9eCx0bAEGDcAeZFMLUA== + dependencies: + lcid "^3.0.0" + os-locale@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"