<commit_before># 如何为 apidoc 贡献代码

apidoc 是一个基于 [MIT](https://opensource.org/licenses/MIT) 的开源软件。
欢迎大家共同参与开发。**若需要新功能，请先开 issue 讨论。**

## 本地化

本地化包含以下几个部分：

- `internal/locale` 主要包含了程序内各种语法错误以及命令行的提示信息；
- `docs/vx/locales.xsl` 包含展示界面中的本化元素；`vx` 表示版本信息，比如 `v5`、`v6` 等；
- `docs/index.*.xml` <https://apidoc.tools> 网站的内容，* 表示语言 ID，同时需要修改 `docs\locales.xml` 文件；

## 文档

可以通过 /cmd/site 将 docs 作为一个本地的 web 服务，方便 XSL 相关功能的调试；

文档应该尽可能的保证在非 Javascript 环境下，也有基本的功能。

## 添加新编程语言支持

`internal/lang/lang.go` 文件中有所有语言模型的定义，若需要添加对新语言的支持，
在该文件中有详细的文档说明如何定义语言模弄。提交并更新
[#11](https://github.com/caixw/apidoc/issues/11)<commit_msg>docs: 在 CONTRIBUTING 中写明 git 提交规则<commit_after># 如何为 apidoc 贡献代码

apidoc 是一个基于 [MIT](https://opensource.org/licenses/MIT) 的开源软件。
欢迎大家共同参与开发。**若需要新功能，请先开 issue 讨论。**

## 本地化

本地化包含以下几个部分：

- `internal/locale` 主要包含了程序内各种语法错误以及命令行的提示信息；
- `docs/vx/locales.xsl` 包含展示界面中的本化元素；`vx` 表示版本信息，比如 `v5`、`v6` 等；
- `docs/index.*.xml` <https://apidoc.tools> 网站的内容，* 表示语言 ID，同时需要修改 `docs\locales.xml` 文件；

## 文档

可以通过 /cmd/site 将 docs 作为一个本地的 web 服务，方便 XSL 相关功能的调试；

文档应该尽可能的保证在非 Javascript 环境下，也有基本的功能。

## 添加新编程语言支持

`internal/lang/lang.go` 文件中有所有语言模型的定义，若需要添加对新语言的支持，
在该文件中有详细的文档说明如何定义语言模弄。提交并更新
[#11](https://github.com/caixw/apidoc/issues/11)

## Git

Git 的编写规则参照 <https://www.conventionalcommits.org/zh-hans/>
{'fraction_non_alphanumeric': 0.15954198473282444, 'fraction_numerical': 0.00916030534351145, 'mean_word_length': 5.49009900990099, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 6, 'https://': 7, 'lorem ipsum': 0, 'www.': 1, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7270187', 'n_tokens_mistral': 911, 'n_tokens_neox': 987, 'n_words': 98}