summaryrefslogtreecommitdiff
path: root/locales
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-10-14 17:17:48 +0800
committer魏曹先生 <1992414357@qq.com>2025-10-14 17:17:48 +0800
commit0cd19e64d4d255e45233255478ca3a0bd5c439ae (patch)
tree6bfa39c10731328edacc6b1c86ae49c85197f7ed /locales
parent24c2c8cad43c755cf668ea92a08c0be7fb3b819d (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.yml33
-rw-r--r--locales/help_docs/en.yml116
-rw-r--r--locales/help_docs/zh-CN.yml112
-rw-r--r--locales/zh-CN.yml33
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}"