Skip to content

Commit 17c9ca8

Browse files
author
NEVSTOP
committed
docs: 更新中英文README文档的翻译和内容优化
优化文档结构和表述,统一术语翻译,增强技术描述的准确性。调整示例说明格式,使文档更专业易读。同步更新中英文版本内容,保持一致性。
1 parent e4685d0 commit 17c9ca8

File tree

2 files changed

+96
-96
lines changed

2 files changed

+96
-96
lines changed

README(zh-cn).md

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -2,103 +2,103 @@
22

33
[English](./README.md) | [中文](./README(zh-cn).md)
44

5-
[![Image](https://www.vipm.io/package/nevstop_lib_csm_ini_static_variable_support/badge.svg?metric=installs)](https://www.vipm.io/package/nevstop_lib_csm_ini_static_variable_support/)
6-
[![Image](https://www.vipm.io/package/nevstop_lib_csm_ini_static_variable_support/badge.svg?metric=stars)](https://www.vipm.io/package/nevstop_lib_csm_ini_static_variable_support/)
7-
[![GitHub all releases](https://img.shields.io/github/downloads/NEVSTOP-LAB/CSM-INI-Static-Variable-Support/total)](https://github.com/NEVSTOP-LAB/CSM-INI-Static-Variable-Support/releases)
5+
[![安装量](https://www.vipm.io/package/nevstop_lib_csm_ini_static_variable_support/badge.svg?metric=installs)](https://www.vipm.io/package/nevstop_lib_csm_ini_static_variable_support/)
6+
[![星标](https://www.vipm.io/package/nevstop_lib_csm_ini_static_variable_support/badge.svg?metric=stars)](https://www.vipm.io/package/nevstop_lib_csm_ini_static_variable_support/)
7+
[![GitHub总下载量](https://img.shields.io/github/downloads/NEVSTOP-LAB/CSM-INI-Static-Variable-Support/total)](https://github.com/NEVSTOP-LAB/CSM-INI-Static-Variable-Support/releases)
88

9-
配置文件是应用程序必备的功能之一。这个库的目的是为 CSM 提供简单易用的配置文件支持功能,用户可以通过配置文件来配置应用程序,而无需显式读写配置文件
9+
配置文件是应用程序开发中不可或缺的组成部分。本库为 CSM 提供简单易用的配置文件支持功能,使用户能够配置应用程序而无需显式读写配置文件
1010

1111
## 安装
1212

13-
您可以通过 VIPM 安装这个库,安装完毕后,可以在 CSM 的 Addon 函数选板中找到这个库的函数
13+
通过 VIPM 安装此库。安装完成后,您可以在 CSM 的 Addon 函数选板中找到该库的函数
1414

15-
## 设计
15+
## 架构设计
1616

17-
CSM INI-Static-Variable-Support 库的设计如下图所示
17+
CSM INI-Static-Variable-Support 库的架构设计如下图所示
1818

19-
![image](.github/csm-ini-variable-cache-design.svg)
19+
![架构设计](.github/csm-ini-variable-cache-design.svg)
2020

21-
它的特点有
21+
主要特点包括
2222

23-
1. 支持默认的配置文件,这个配置文件会在第一次调用这个库的函数时隐式加载,无需用户显式加载配置文件
24-
2. 支持多配置文件,可以通过 Multi-File Support 中的函数来加载多个配置文件
25-
3. 在内存中创建一个缓存副本,应用程序实际读取的配置信息来源于缓存副本
26-
4. 配置文件和内存副本都是 ini 文件格式,支持节和键值对。
27-
5. 全局创建了修改标记,能够在读取VI处缓存配置信息,当配置发生修改时才真正再次读取内存副本,效率高
23+
1. **默认配置处理**:首次调用库函数时自动加载默认配置文件,无需用户显式加载
24+
2. **多文件支持**:通过专用函数支持加载多个配置文件
25+
3. **内存缓存**:在内存中维护一个缓存副本,应用程序从该缓存中获取配置信息
26+
4. **INI 格式兼容**:配置文件和内存副本均采用标准 INI 格式,支持节和键值对。
27+
5. **高效缓存机制**:使用全局修改标记优化性能,仅在配置发生修改时才重新读取内存副本
2828

2929
> [!IMPORTANT]
30-
> **开源声明**: 包含并使用了 [@rcpacini](https://github.com/rcpacini) [LabVIEW-Config](https://github.com/rcpacini/LabVIEW-Config) 的副本。
30+
> **开源声明**: 本库包含并使用了由 [@rcpacini](https://github.com/rcpacini) 开发的 [LabVIEW-Config](https://github.com/rcpacini/LabVIEW-Config) 的副本。
3131
3232
> [!NOTE]
33-
> 默认配置文件的位置
33+
> **默认配置文件位置**
3434
>
35-
> - 开发状态:Application Directory 下的第一个 ini 配置文件,没有时默认的配置文件名称为 csm-app.ini
36-
> - 编译后:exe 目录下 exe 同名的 ini 配置文件。(LabVIEW 编译后必然产生这样一个配置文件)
35+
> - 开发状态:Application Directory 中找到的第一个 INI 配置文件。若不存在配置文件,则默认为 `csm-app.ini`
36+
> - 编译后:可执行文件所在目录中与可执行文件同名的 INI 配置文件LabVIEW 编译后会自动生成此文件)。
3737
3838
> [!NOTE]
39-
> 多配置文件的场景
39+
> **多文件配置场景**
4040
>
41-
> - 加载时,后加载的配置文件会覆盖前加载的配置文件中的相同配置项
42-
> - 保存缓存到文件时,会将更改保存到后加载的配置文件中
41+
> - 加载多个文件时,后加载的文件会覆盖先前加载文件中的相同配置项
42+
> - 将缓存更改保存到文件时,修改会保存到最后加载的配置文件中
4343
4444
> [!WARNING]
45-
> 请注意,由于这个库使用一个全局的缓存修改标志,频繁的配置信息修改会导致读取VI处的缓存机制失效,因此这个库不适合频繁修改配置信息的场景
45+
> 请注意,由于本库使用全局缓存修改标志,频繁的配置更改会降低读取 VI 中缓存机制的有效性。因此,本库不建议用于需要频繁修改配置的场景
4646
4747
## 应用场景
4848

49-
### 作为 CSM 的参数被解析后使用
49+
### CSM 可解析参数
5050

51-
为 CSM 提供 `${section.variable:defaultValue}` 的支持,直接使用在 CSM 发送的文本消息中
51+
为 CSM 提供 `${section.variable:defaultValue}` 语法支持,可直接在 CSM 发送的文本消息中使用
5252

5353
> [!TIP]
5454
>
55-
> - section 可以缺省,默认情况下使用 SectionName=LabVIEW 的配置段
56-
> - defaultValue 可以缺省,默认为 ""
55+
> - section 参数为可选。省略时,使用默认配置段 `SectionName=LabVIEW`
56+
> - 默认值也为可选,未指定时默认为空字符串("")
5757
58-
![image](.github/1.png)
58+
![示例](.github/1.png)
5959

60-
### 通过提供 prototype 载入对应的配置
60+
### 基于原型的配置加载
6161

62-
通过提供 prototype 载入对应的配置。既可以从 section 中载入,也可以从 key 中载入
62+
通过提供原型结构加载配置。您可以从整个节或特定键加载配置
6363

64-
![image](.github/2.png)
64+
![示例](.github/2.png)
6565

66-
### 固化 CSM API 参数
66+
### 固定 CSM API 参数
6767

68-
提供了固化 CSM API 参数的功能。在这个场景下,CSM API 的参数优先级是:CSM API 参数 > 配置文件参数 > 默认 Constant 参数。例如示例中,很容易将串口初始化的参数固化在配置文件中
68+
提供固定 CSM API 参数的功能,具有明确的优先级层次:CSM API 参数 > 配置文件参数 > 默认常量参数。例如,这使得将串口初始化参数固定在配置文件中变得非常简单
6969

70-
- 初始化时,如果发送了参数,就会使用发送的参数;
71-
- 如果没有发送参数,就会使用配置文件中的参数;
72-
- 如果配置文件中没有参数,就会使用默认的 Constant 参数;
73-
- 参数都可以部分提供,缺省的参数会使用下一级优先级的配置信息
70+
- 初始化时,显式发送的参数具有最高优先级。
71+
- 若未发送参数,则使用配置文件中的参数。
72+
- 在没有配置文件参数的情况下,应用默认常量参数。
73+
- 参数可以部分指定,缺失的值会自动使用下一优先级的配置信息填充
7474

75-
![image](.github/3.png)
75+
![示例](.github/3.png)
7676

77-
### 多文件的配置系统
77+
### 多文件配置系统
7878

79-
通过多文件的配置系统,可以实现分布式的配置文件系统
79+
利用多文件配置功能,可实现分布式配置文件系统
8080

81-
![image](.github/4.png)
81+
![示例](.github/4.png)
8282

83-
### 通过[__include]实现配置文件的引用
83+
### 使用 [__include] 引用配置文件
8484

85-
[__include] 可以实现配置文件的引用。这个功能可以实现配置文件的分离和引用。被引用的配置文件相当于多文件的场景下提前载入
85+
`[__include]` 节支持引用其他配置文件,便于实现模块化和可重用的配置设置。被引用的文件会被预加载,遵循与多文件场景相同的行为
8686

8787
> [!TIP]
8888
>
89-
> - 注意,引用可能造成配置文件的循环引用,导致死循环。内部导入时,会保存载入的配置文件列表,当第二次载入同一个配置文件时,将忽略载入
89+
> - 请注意避免循环依赖,否则可能导致无限循环。库会维护已加载配置文件的记录,当第二次尝试加载同一文件时,将跳过该操作
9090
91-
![image](.github/6.png)
91+
![示例](.github/6.png)
9292

93-
### 解析嵌套的变量
93+
### 嵌套变量
9494

95-
CSM INI-Static-Variable-Support 库支持嵌套的变量解析。在 Key中可以引用其他的key,更加灵活的定义配置文件。格式为`${section.variable:defaultValue}`.
95+
CSM INI-Static-Variable-Support 支持嵌套变量解析,允许在键中引用其他键,实现更灵活的配置定义。格式遵循 `${section.variable:defaultValue}`
9696

97-
1. **读取 API 说明**:CSM INI Read String.vi : 这个API会读取原始的配置信息,不会解析嵌套的变量;其他的读取 API 都会解析嵌套的变量
98-
2. **写入 API 说明**写入的API都会覆盖配置信息。通常情况下,析嵌套的key不会被写入更改
97+
1. **读取 API 行为**`CSM INI Read String.vi` 获取原始配置值而不解析嵌套变量。其他所有读取 API 都会自动解析嵌套变量。
98+
2. **写入 API 行为**所有写入 API 都会直接覆盖配置值。通常情况下,包含嵌套引用的键不应通过写入操作直接修改。
9999

100-
``` ini
101-
// default configuration
100+
```ini
101+
// 默认配置
102102
[network]
103103
host = ${protocol}://${ip}:${port}
104104
protocol = http
@@ -128,12 +128,12 @@ root = d:/data
128128
path = ${root}/${info.operator}/${info.date}/${info.test}${info.time}.tdms
129129
```
130130

131-
以此配置文件为例
131+
使用上面的配置文件示例
132132

133-
**场景1**:读取 ${file.path} 的值,可以读取到一个由其他信息拼接而成的实际路径,这样可以更加灵活的定义路径
133+
**场景1**:读取 `${file.path}` 会返回一个由其他配置项动态组合而成的实际文件路径,从而实现灵活的路径定义
134134

135-
**场景2**: [case1][case2] 定义了不同的两组相关配置信息,通过修改 ${RT.select} 的值,可以在读取${RT.select}时实现多种配置的切换
135+
**场景2**`[case1]``[case2]` 节定义了两组不同的相关配置信息。通过修改 `${RT.select}`,您可以在访问 `${RT.addr}` 时轻松切换这些配置
136136

137-
运行范例获取更加详细的信息
137+
有关更详细的使用示例,请参考示例项目
138138

139139
![image](.github/7.png)

0 commit comments

Comments
 (0)