diff options
| author | 魏曹先生 <1992414357@qq.com> | 2025-10-14 17:17:48 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2025-10-14 17:17:48 +0800 |
| commit | 0cd19e64d4d255e45233255478ca3a0bd5c439ae (patch) | |
| tree | 6bfa39c10731328edacc6b1c86ae49c85197f7ed /locales | |
| parent | 24c2c8cad43c755cf668ea92a08c0be7fb3b819d (diff) | |
feat: add internationalization support and new command-line tools
- Add locale support with English and Chinese translations
- Introduce new jv and jvv command-line tools
- Replace jvc.rs with improved command structure
- Add utility modules for language selection and markdown coloring
- Update configuration and dependencies
Diffstat (limited to 'locales')
| -rw-r--r-- | locales/en.yml | 33 | ||||
| -rw-r--r-- | locales/help_docs/en.yml | 116 | ||||
| -rw-r--r-- | locales/help_docs/zh-CN.yml | 112 | ||||
| -rw-r--r-- | locales/zh-CN.yml | 33 |
4 files changed, 294 insertions, 0 deletions
diff --git a/locales/en.yml b/locales/en.yml new file mode 100644 index 0000000..8268a70 --- /dev/null +++ b/locales/en.yml @@ -0,0 +1,33 @@ +# Localization for jvv +jvv_cmd: + name: + here: "Query here" + create: "Create vault" + init: "Initialize vault here" + member: + register: "Register member" + remove: "Remove member" + list: "List members" + service: + listen: "Listen" + description: + here: "Query information about the vault here" + create: "Create a vault with given name in subdirectory" + init: "Create a vault with current directory name" + member: + register: "Add a name to member list (need to manually store public key)" + remove: "Remove given name from member list (won't delete public key)" + list: "List members who can access current vault through service" + service: + listen: "Start service for vault here to listen for client connections" + +# Localization for jv +jv_cmd: + name: + description: + +# utils::help_builder template +help: + header: "Help: %{raw_name} - %{name}" + desc_line: "Description: %{description}" + footer: "Usage: %{usage_text}" diff --git a/locales/help_docs/en.yml b/locales/help_docs/en.yml new file mode 100644 index 0000000..c426e51 --- /dev/null +++ b/locales/help_docs/en.yml @@ -0,0 +1,116 @@ +jvv: + help: | + **JustEnoughVCS Upstream Vault Commands** + This program directly creates, manages, and runs JustEnoughVCS upstream vaults. + **Tip**: It directly operates on vault data - please operate with caution! + * With great power comes great responsibility * + + **Create Vault**: + jvv create <VAULT_NAME> - Create a vault in the given directory name + jvv init - Create a vault in the current directory + + **Query**: + jvv here - Query information about the current directory + jvv member list - Query all members + + **Member Management**: + jvv member <register/remove> <MEMBER_NAME> - Register or remove members + + **Service**: + jvv service listen - Run the server in the current vault + + Additionally, you can use jvv <CMD_NAME> --help to query more detailed help! + + here: | + **Query Vault Information Here** + Displays different information based on the current directory: + - Root *(./)*: Basic vault information + - Members *(./members/)*: Members and key registrations + - Storage *(./storage/)*: File count and total size + - Sheets *(./sheets/)*: Tables and their managers + + **Example**: cd ./target_dir/ && jvv here + + create: | + **Create a new vault with the given name** + **Usage**: jvv create <VAULT_NAME> + + **Example**: jvv create MyVault + Creates a directory named 'MyVault' and initializes a vault inside it. + + init: | + **Initialize a vault in the current directory** + **Usage**: jvv init + + Uses the current directory's name as the vault name. + + member: | + **Member Management** + **Usage**: jvv member <register/remove> <MEMBER_NAME> + + Register or remove members based on the given member name. + + It is recommended to use the "snake_case" naming format, + as it will be stored in this format in the configuration file + **Example**: jvv member register vault_member + + **Query**: jvv member list + Equivalent to running `jvv here` in the members directory. + + **Tip**: Does not manage private keys automatically. Keys must be handled manually. + + service: | + **Service Management** + **Usage**: + jvv service listen - Start the vault server in the current vault to accept client connections + You can use --no-log to disable log output + + fail: + jvcs: "JustEnoughVCS Error: %{err}" + + no_vault_here: No vault found here + + tokio: + fs: + create_dir: Failed to create directory %{dir} + create_dir_all: Failed to create directory %{dir} + + std: + current_dir: Failed to get current directory + current_dir_name: Failed to get current directory name + set_current_dir: Failed to set current directory to %{dir} + + here: + cfg_not_found: Could not find vault configuration! + + create: + not_empty: Operation denied! The specified directory already exists. + + init: + not_empty: Operation denied! The directory is not empty. + + member: + register: Failed to create member! Please check if a member with the same name already exists + list: Failed to get member ID! + + success: + here: + root: | + Found vault `%{name}`! + **Tip**: You can use jvv here --help to learn how to view vault details + + create: Successfully created vault at `%{name}`! + + init: Successfully initialized vault here! + + member: + register: Successfully created member `%{member}`! + remove: | + Successfully removed `%{member}` from the vault! + (or they were never here?) + list: + header: | + **Members in the vault:** + + footer: | + Total %{num} member(s) diff --git a/locales/help_docs/zh-CN.yml b/locales/help_docs/zh-CN.yml new file mode 100644 index 0000000..c8760b2 --- /dev/null +++ b/locales/help_docs/zh-CN.yml @@ -0,0 +1,112 @@ +jvv: + help: | + **JustEnoughVCS 上游库命令** + 该程序直接创建、管理、运行 JustEnoughVCS 的上游库 + **注意**:它能直接操作库的数据,请谨慎使用!*(能力越大,责任越大)* + + **创建库**: + jvv create <名称> - 在给定的目录名称中创建库 + jvv init - 在当前目录中创建库 + + **查询**: + jvv here - 查询当前目录的信息 + jvv member list - 查询所有成员 + + **成员管理**: + jvv member <register/remove> <成员名称> - 注册或删除成员 + + **服务**: + jvv service listen - 在当前库中运行服务端 + + 另外,你可以使用 jvv <命令名称> --help 来查询更详细的帮助! + + here: | + **查询此处库的信息** + 在不同目录执行该命令时会查询不同的信息: + 1. 当根目录 *(./)* 时:查询库的基本信息 + 2. 当成员目录 *(./members/)* 时:查询库的成员和密钥注册信息 + 3. 当存储目录 *(./storage/)* 时:查询库托管的文件总数量、总大小 + 4. 当表目录 *(./sheets/)* 时:查询库中所有的表和其管理者 + + **例如**:cd ./你需要查询的目录/ && jvv here + + create: | + **在给定的目录名称中创建库** + **使用方法**:jvv create **<库名称>** + + **例如**:jvv create MyVault + 上述操作会在当前目录创建目录 MyVault,然后在该目录内初始化库 + + init: | + **在当前目录创建库** + **使用方法**:jvv init + + 该命令会在当前所在的目录创建库,库名称由当前所在目录名称决定 + + member: | + **成员管理** + **使用方法**:jvv member <register/remove> <成员名称> + + 根据给定的 成员名称,注册(若不存在)或移除(若存在)指定成员 + + 推荐使用 "snake_case" 命名格式,因为在配置文件中将以该格式存储 + **例如**:jvv member register vault_member + + **查询**:jvv member list + 该命令的效果和在库的成员目录中执行 jvv here 命令等效 + + **注意**:该命令不会影响到库中私钥目录,请手动添加或删除私钥! + + service: | + **服务设置相关** + **使用方法**: + jvv service listen - 在当前库中启动服务器,以接受客户端连接 + 你可以使用 --no-log 来禁用日志输出 + + fail: + jvcs: JustEnoughVCS 错误:%{err} + + no_vault_here: 此处并没有找到库文件 + + tokio: + fs: + create_dir: 无法创建目录 %{dir} + create_dir_all: 无法创建目录 %{dir} + + std: + current_dir: 无法获得当前目录 + current_dir_name: 无法获得当前目录的名称 + set_current_dir: 无法设置到目录 %{dir} + + here: + cfg_not_found: 无法找到库的配置! + + create: + not_empty: 禁止的操作!指定的目录已经存在。 + + init: + not_empty: 禁止的操作!该目录不为空。 + + member: + register: 创建成员失败!请检查是否存在同名的成员 + list: 获取成员 ID 失败! + + success: + here: + root: | + 找到库 `%{name}`! + **提示**:你可以使用 jvv here --help 去了解如何查看库的详细信息 + + create: 成功在 `%{name}` 创建库! + + init: 在此处初始化库成功! + + member: + register: 创建成员 `%{member}` 成功! + remove: 好的, `%{member}` 已不再存在于库中(或本就不在?)! + list: + header: | + **当前库中的成员:** + + footer: | + 共 %{num} 个成员 diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml new file mode 100644 index 0000000..ffa4699 --- /dev/null +++ b/locales/zh-CN.yml @@ -0,0 +1,33 @@ +# jvv 的本地化 +jvv_cmd: + name: + here: "查询此处" + create: "创建库" + init: "在此处初始化库" + member: + register: "注册成员" + remove: "移除成员" + list: "列出成员" + service: + listen: "监听" + description: + here: "查询此处库的信息" + create: "在子目录中创建指定名称的库" + init: "使用当前目录名称创建库" + member: + register: "将名称添加到成员列表(需要手动存储公钥)" + remove: "从成员列表中移除指定名称(不会删除公钥)" + list: "列出可通过服务访问当前库的成员" + service: + listen: "启动此处库的服务以监听客户端连接" + +# jv 的本地化 +jv_cmd: + name: + description: + +# utils::help_builder 的模板 +help: + header: "帮助: %{raw_name} - %{name}" + desc_line: "描述: %{description}" + footer: "用法: %{usage_text}" |
