feat(cli): preset lang base on the os locale (#544)
* feat(cli): preset `lang` base on the os locale * chore: tweak
This commit is contained in:
parent
6fd6c0c250
commit
3731e376e3
@ -35,6 +35,7 @@
|
||||
"cac": "catalog:prod",
|
||||
"execa": "catalog:prod",
|
||||
"handlebars": "catalog:prod",
|
||||
"os-locale": "catalog:prod",
|
||||
"picocolors": "catalog:prod"
|
||||
},
|
||||
"plume-deps": {
|
||||
|
||||
@ -2,6 +2,7 @@ import type { Bundler, Langs, PromptResult } from './types.js'
|
||||
import { createRequire } from 'node:module'
|
||||
import process from 'node:process'
|
||||
import { cancel, confirm, group, select, text } from '@clack/prompts'
|
||||
import { osLocale } from 'os-locale'
|
||||
import { bundlerOptions, deployOptions, DeployType, languageOptions, Mode } from './constants.js'
|
||||
import { setLang, t } from './translate.js'
|
||||
|
||||
@ -20,6 +21,18 @@ export async function prompt(mode: Mode, root?: string): Promise<PromptResult> {
|
||||
|
||||
const result: PromptResult = await group({
|
||||
displayLang: async () => {
|
||||
const locale = await osLocale()
|
||||
|
||||
if (locale === 'zh-CN' || locale === 'zh-Hans') {
|
||||
setLang('zh-CN')
|
||||
return 'zh-CN'
|
||||
}
|
||||
|
||||
if (locale === 'en-US') {
|
||||
setLang('en-US')
|
||||
return 'en-US'
|
||||
}
|
||||
|
||||
const lang = await select<Langs>({
|
||||
message: 'Select a language to display / 选择显示语言',
|
||||
options: languageOptions,
|
||||
|
||||
28
pnpm-lock.yaml
generated
28
pnpm-lock.yaml
generated
@ -260,6 +260,9 @@ catalogs:
|
||||
nanoid:
|
||||
specifier: ^5.1.5
|
||||
version: 5.1.5
|
||||
os-locale:
|
||||
specifier: ^6.0.2
|
||||
version: 6.0.2
|
||||
p-map:
|
||||
specifier: ^7.0.3
|
||||
version: 7.0.3
|
||||
@ -470,6 +473,9 @@ importers:
|
||||
handlebars:
|
||||
specifier: catalog:prod
|
||||
version: 4.7.8
|
||||
os-locale:
|
||||
specifier: catalog:prod
|
||||
version: 6.0.2
|
||||
picocolors:
|
||||
specifier: catalog:prod
|
||||
version: 1.1.1
|
||||
@ -4407,6 +4413,10 @@ packages:
|
||||
resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
invert-kv@3.0.1:
|
||||
resolution: {integrity: sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
is-alphabetical@2.0.1:
|
||||
resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
|
||||
|
||||
@ -4658,6 +4668,10 @@ packages:
|
||||
layout-base@2.0.1:
|
||||
resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==}
|
||||
|
||||
lcid@3.1.1:
|
||||
resolution: {integrity: sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
less@4.2.2:
|
||||
resolution: {integrity: sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg==}
|
||||
engines: {node: '>=6'}
|
||||
@ -5238,6 +5252,10 @@ packages:
|
||||
resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
os-locale@6.0.2:
|
||||
resolution: {integrity: sha512-qIb8bzRqaN/vVqEYZ7lTAg6PonskO7xOmM7OClD28F6eFa4s5XGe4bGpHUHMoCHbNNuR0pDYFeSLiW5bnjWXIA==}
|
||||
engines: {node: '>=12.20'}
|
||||
|
||||
os-tmpdir@1.0.2:
|
||||
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@ -10880,6 +10898,8 @@ snapshots:
|
||||
|
||||
internmap@2.0.3: {}
|
||||
|
||||
invert-kv@3.0.1: {}
|
||||
|
||||
is-alphabetical@2.0.1: {}
|
||||
|
||||
is-alphanumerical@2.0.1:
|
||||
@ -11092,6 +11112,10 @@ snapshots:
|
||||
|
||||
layout-base@2.0.1: {}
|
||||
|
||||
lcid@3.1.1:
|
||||
dependencies:
|
||||
invert-kv: 3.0.1
|
||||
|
||||
less@4.2.2:
|
||||
dependencies:
|
||||
copy-anything: 2.0.6
|
||||
@ -11903,6 +11927,10 @@ snapshots:
|
||||
string-width: 7.2.0
|
||||
strip-ansi: 7.1.0
|
||||
|
||||
os-locale@6.0.2:
|
||||
dependencies:
|
||||
lcid: 3.1.1
|
||||
|
||||
os-tmpdir@1.0.2: {}
|
||||
|
||||
p-limit@3.1.0:
|
||||
|
||||
@ -103,6 +103,7 @@ catalogs:
|
||||
markmap-view: ^0.18.10
|
||||
minisearch: ^7.1.2
|
||||
nanoid: ^5.1.5
|
||||
os-locale: ^6.0.2
|
||||
p-map: ^7.0.3
|
||||
package-manager-detector: ^1.1.0
|
||||
picocolors: ^1.1.1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user