Forráskód Böngészése

[create]Support more languages

dufu1991 3 éve
szülő
commit
c9e98e0b7f

+ 13 - 1
packages/create-stdf/README.md

@@ -66,7 +66,19 @@ Template presets include:
 | --------------- | ------ | ------- | ----------------------------------------------------------------------------------------------------- |
 | -               | string | -       | The name of the project, you can direct input.                                                        |
 | -t / --template | string | vt      | The template to use. Available templates are: `vt`, `vu`, `skt`, `sku`, `vtt`, `vut`, `sktt`, `skut`. |
-| -l / --language | string | en_US   | The language of the prompts. Available languages are: `en_US`, `zh_CN`.                               |
+| -l / --language | string | en_US   | The language of the prompts.                                                                           |
+
+# Supported Languages
+
+| Code  | Language              |
+| ----- | --------------------- |
+| en_US | English (US)          |
+| zh_CN | Chinese (Simplified)  |
+| zh_TW | Chinese (Traditional) |
+| ja_JP | Japanese              |
+| ko_KR | Korean                |
+| es_ES | Spanish               |
+| ru_RU | Russian               |
 
 # License
 

+ 14 - 1
packages/create-stdf/README_CN.md

@@ -65,7 +65,20 @@ npm create stdf@latest my-app -t vu
 | --------------- | ------ | ----- | ------------------------------------------------------------------------------------ |
 | -               | string | -     | 项目名称,可以直接输入。                                                             |
 | -t / --template | string | vt    | 要使用的模板。可用的模板有:`vt`、`vu`、`skt`、`sku`、`vtt`、`vut`、`sktt`、`skut`。 |
-| -l / --language | string | en_US | 提示语言。可用的语言有:`en_US`、`zh_CN`。                                           |
+| -l / --language | string | en_US | 提示语言。                                                                           |
+
+# 支持的语言
+
+| 代码  | 语言         |
+| ----- | ------------ |
+| en_US | 英语(美式) |
+| zh_CN | 中文(简体) |
+| zh_TW | 中文(繁体) |
+| ja_JP | 日语         |
+| ko_KR | 韩语         |
+| es_ES | 西班牙语     |
+| ru_RU | 俄语         |
+
 
 # 许可证
 

+ 1 - 1
packages/create-stdf/package.json

@@ -1,6 +1,6 @@
 {
     "name": "create-stdf",
-    "version": "0.0.31",
+    "version": "0.0.32",
     "description": "A CLI for creating new STDF projects",
     "bin": {
         "create-stdf": "index.js"

+ 23 - 12
packages/create-stdf/src/index.js

@@ -33,8 +33,24 @@ const argvProjectName = argv._[0];
 const argvTemplate = argv.template || argv.t;
 const argvLanguage = argv.language || argv.l;
 
-lang = argvLanguage && argvLanguage === 'zh_CN' ? langAll.zh_CN : langAll.en_US;
+// 语言列表
+// Language list
+const languages = [
+    { value: 'en_US', label: 'English' },
+    { value: 'zh_CN', label: '简体中文' },
+    { value: 'zh_TW', label: '繁體中文' },
+    { value: 'ja_JP', label: '日本語' },
+    { value: 'ko_KR', label: '한국어' },
+    { value: 'es_ES', label: 'Español' },
+    { value: 'ru_RU', label: 'Русский' },
+];
+
+// 如果命令行参数中有语言,且语言列表中有该语言,使用该语言,否则使用英语
+// If there is a language in the command line parameters and the language list has the language, use the language, otherwise use English
+lang = argvLanguage && languages.find(item => item.value === argvLanguage) ? langAll[argvLanguage] : langAll.en_US;
 
+// 模板列表
+// Template list
 const templateOptions = [
     { value: 'vt', label: 'Vite + Tailwind', template: 'vite-tailwind', pcyt: lang.pcyt_vt },
     { value: 'vu', label: 'Vite + UnoCSS', template: 'vite-uno', pcyt: lang.pcyt_vu },
@@ -51,7 +67,6 @@ const templateOptions = [
 if (argvProjectName && !argvTemplate) {
     createFunc(argvProjectName, templateOptions[0]);
 }
-
 // 如果命令行参数中有项目名称和模板名称,直接使用命令行参数中的值
 // If there is a project name and template name in the command line parameters, use the value in the command line parameters directly
 else if (argvProjectName && argvTemplate) {
@@ -74,12 +89,13 @@ else if (argvProjectName && argvTemplate) {
     // 选择一种语言
     // Select a language
     const languageType = await p.select({
-        message: bold('Please select your preferred language(请选择你习惯的语言)'),
-        options: [
-            { value: 'en_US', label: 'English' },
-            { value: 'zh_CN', label: '简体中文' },
-        ],
+        message: bold('Please select your preferred language'),
+        options: languages,
     });
+    if (p.isCancel(languageType)) {
+        p.cancel(red('⛔ ') + lang.oc);
+        process.exit(0);
+    }
     lang = langAll[languageType];
     const templateOptions = [
         { value: 'vt', label: 'Vite + Tailwind', template: 'vite-tailwind', pcyt: lang.pcyt_vt },
@@ -92,11 +108,6 @@ else if (argvProjectName && argvTemplate) {
         { value: 'skut', label: `SvelteKit + UnoCSS + TypeScript(${lang.hnay})`, template: 'sveltekit-uno-typescript' },
     ];
 
-    if (p.isCancel(languageType)) {
-        p.cancel(red('⛔ ') + lang.oc);
-        process.exit(0);
-    }
-
     //  选择一个模板
     // Select a template
     let template = await p.select({

+ 85 - 0
packages/create-stdf/src/lang.js

@@ -31,3 +31,88 @@ export const zh_CN = {
     cferror: '创建文件失败',
     pectn: '请输入正确的模板名称!',
 };
+
+export const zh_TW = {
+    hnay: '暫未適配',
+    pn: '請輸入項目名稱',
+    pncbne: '項目名稱不能為空',
+    pane: '項目名稱已存在',
+    psat: '請選擇一個模板',
+    oc: '操作已取消',
+    pca: '請重新選擇',
+    cfsing: '正在創建文件...',
+    pcsucc: '項目創建成功',
+    tgs: '開始:',
+    pcyt_vt: '提示:請到 tailwind.config.js 文件內配置你的顏色系統',
+    pcyt_vu: '提示:請到 uno.config.js 文件內配置你的顏色系統',
+    cferror: '創建文件失敗',
+    pectn: '請輸入正確的模板名稱!',
+};
+
+export const ja_JP = {
+    hnay: 'まだ適応されていません',
+    pn: 'プロジェクト名を入力してください',
+    pncbne: 'プロジェクト名は空にできません',
+    pane: 'プロジェクト名が既に存在します',
+    psat: 'テンプレートを選択してください',
+    oc: '操作がキャンセルされました',
+    pca: 'もう一度選択してください',
+    cfsing: 'ファイルを作成しています...',
+    pcsucc: 'プロジェクトが正常に作成されました',
+    tgs: '開始:',
+    pcyt_vt: 'ヒント:tailwind.config.js ファイルでカラーシステムを構成してください',
+    pcyt_vu: 'ヒント:uno.config.js ファイルでカラーシステムを構成してください',
+    cferror: 'ファイルの作成に失敗しました',
+    pectn: '正しいテンプレート名を入力してください!',
+};
+
+export const ko_KR = {
+    hnay: '아직 적응하지 못했습니다',
+    pn: '프로젝트 이름을 입력하십시오',
+    pncbne: '프로젝트 이름은 비워 둘 수 없습니다',
+    pane: '프로젝트 이름이 이미 있습니다',
+    psat: '템플릿을 선택하십시오',
+    oc: '작업이 취소되었습니다',
+    pca: '다시 선택하십시오',
+    cfsing: '파일을 만드는 중입니다...',
+    pcsucc: '프로젝트가 성공적으로 생성되었습니다',
+    tgs: '시작:',
+    pcyt_vt: '팁:tailwind.config.js 파일에서 색상 시스템을 구성하십시오',
+    pcyt_vu: '팁:uno.config.js 파일에서 색상 시스템을 구성하십시오',
+    cferror: '파일 생성 실패',
+    pectn: '올바른 템플릿 이름을 입력하십시오!',
+};
+
+export const es_ES = {
+    hnay: 'Aún no se ha adaptado',
+    pn: 'Por favor ingrese el nombre del proyecto',
+    pncbne: 'El nombre del proyecto no puede estar vacío',
+    pane: 'El nombre del proyecto ya existe',
+    psat: 'Por favor seleccione una plantilla',
+    oc: 'Operación cancelada',
+    pca: 'Por favor, elija de nuevo',
+    cfsing: 'Creando archivo...',
+    pcsucc: 'Proyecto creado con éxito',
+    tgs: 'Para empezar:',
+    pcyt_vt: 'Consejo: configure su sistema de colores en el archivo tailwind.config.js',
+    pcyt_vu: 'Consejo: configure su sistema de colores en el archivo uno.config.js',
+    cferror: 'Error al crear archivo',
+    pectn: '¡Por favor ingrese el nombre de la plantilla correcto!',
+};
+
+export const ru_RU = {
+    hnay: 'Еще не адаптировано',
+    pn: 'Пожалуйста, введите название проекта',
+    pncbne: 'Название проекта не может быть пустым',
+    pane: 'Название проекта уже существует',
+    psat: 'Пожалуйста, выберите шаблон',
+    oc: 'Операция отменена',
+    pca: 'Пожалуйста, выберите снова',
+    cfsing: 'Создание файла...',
+    pcsucc: 'Проект успешно создан',
+    tgs: 'Чтобы начать:',
+    pcyt_vt: 'Совет: настройте свою цветовую систему в файле tailwind.config.js',
+    pcyt_vu: 'Совет: настройте свою цветовую систему в файле uno.config.js',
+    cferror: 'Не удалось создать файл',
+    pectn: 'Пожалуйста, введите правильное имя шаблона!',
+};