translate-pseudocn · git:20260623.e79f908 · 2026-06-23 · sha256 cea85ab3053b0908

translate-pseudocn git:20260623.e79f908A

Immutable. This exact content is served forever at /api/v1/blob/cea85ab3053b0908.

---
name: translate-pseudocn
description: 为文档撰写技能提供伪中国语(pcn)语言支持。以日语汉字词汇为基础、剥离平假名与片假名、保留日语语序的伪本地化。可被 write-project-docs 自动发现调用。
language_code: pcn
display_name: 偽中国語
base_language: ja
---

# 伪中国语翻译

为 NixKits 文档体系提供 pcn(伪中国语)语言。

## 自动发现契约

write-project-docs / write-maintenance-log 通过扫描 `skills/translate-*/SKILL.md` frontmatter 自动发现:

| 字段 | 值 | 用途 |
|------|-----|------|
| `language_code` | `pcn` | 目录名、文件扩展名 |
| `display_name` | `偽中国語` | 语言切换器标签 |
| `base_language` | `ja` | 源语言 |

## 设计原则

伪中国语是**日语文本剥离假名后的视觉结果**,不是中文翻译。

- **基于智能体自然语言理解进行转换**,不使用自动化脚本/正则替换。理解句子结构后再做转换。
- 语序转换为中文语序(SOV → SVO)
- 日文汉字名词保持原样
- 片假名外来语优先查词典映射为日本汉字,未命中则剥离
- **禁止使用简体中文或繁体中文汉字**(如「软件」「安装」「模块」)

## 替换规则

### 1. 剥离假名

去除**所有平假名**(あ-ん)。片假名(ア-ン)按以下优先级处理:

1. 查 [`dictionary.md`](dictionary.md) 映射为日本汉字
2. 未命中 → 剥离(仅保留上下文中的日文汉字)

### 2. 保留日文汉字

日文汉字名词**原样保留**,包括:

| 示例 | 保留形式 | 说明 |
|------|---------|------|
| 開発 | 開発 | 日文汉字,非「开发」 |
| 環境 | 環境 | 日文汉字 |
| 管理 | 管理 | 日文汉字 |
| 提供 | 提供 | 日文汉字 |
| 設定 | 設定 | 日文汉字 |
| 情報 | 情報 | 日文汉字 |

### 3. 保留日语语序

日语 SOV 语序转换为中文 SVO 语序(主-动-宾)。

### 4. 助词转换(最小化)

助词适当保留以增加文本丰富性,仅剥离无实义的语法标记:

| 日文 | 変換 | 条件 |
|------|------|------|
| の | 之 | 所有/所属 |
| と | 與 | 并列连接 |
| に | 於 | 方向/目标 |
| で | 以 | 手段/场所 |
| から | 自 | 起点 |
| まで | 至 | 终点 |
| は | (剥离) | 主题标记,无实义 |
| が | (剥离) | 主语标记,无实义 |
| を | (剥离) | 宾语标记,无实义 |


### 5. 标点

日文标点保持原样(`、` `。` 不转换)。

### 6. 代码块保护

- Nix 代码块:仅翻译 `#` 注释行
- Bash 代码块:全部不动
- 先按 ` ``` ` 边界提取代码块,仅对非代码区域应用规则

## 验证

翻译完成后,使用以下脚本检查输出文件是否残留假名:

```python
import re

def check_kana(path):
    with open(path) as f:
        text = f.read()
    blocks = re.split(r'```', text)
    outside = ''.join(blocks[i] for i in range(0, len(blocks), 2))
    kata = re.findall(r'[\u30A0-\u30FF]{2,}', outside)
    hira = re.findall(r'[\u3040-\u309F]{2,}', outside)
    if kata: print(f'残片假名: {kata}')
    if hira: print(f'残平假名: {hira}')
```

## 词典

片假名→日本汉字映射见 [`dictionary.md`](dictionary.md)。仅包含有对应日本汉字词的片假名外来语。

## 注意事项

- 伪中国语是视觉伪本地化,外观是「汉字+符号」的日文文本
- 禁止使用简体中文汉字(如「软件」「安装」「模块」「设置」)
- 语言切换器生成:从日文源提取路径逐个精确构造
- `日本語`→`[日本語]`(加链接),自身标签 `偽中国語`(纯文本)
- 验证发现的残留片假名应立即翻译并加入 [`dictionary.md`](dictionary.md),然后重新生成所有 pcn 文档

## 常见陷阱与修复(实战经验)

### 1. 片假名词典映射必须优先于剥离

所有片假名在剥离前**必须先查词典**。常见遗漏项及对应日文汉字:

| 片假名 | 日文汉字 | 常见出现问题 |
|--------|---------|-------------|
| タイプ | 種別 | 基本信息表格的类型行变为空列 |
| アイコン | 図標 | 图标行显示空值 |
| タイル | 磁貼 | 标题行丢失 |
| サービス | 服務 | 服务模块描述缺失主体 |

**验证方法**:翻译完成后,对所有 pcn 文件运行残留假名检查脚本(见上方「验证」节)。
同时额外检查表格中是否存在空列(`grep '^|  |' docs/pcn/*.md`)。

### 2. 语言切换器必须双向更新

新增 pcn 文件后,**所有现有语言版本**的同一文档都需要追加 `[偽中国語]` 链接。
仅更新 pcn 文件自身的切换器是不够的——zh/en/ja 的切换器行同样需要新增条目。

### 3. 禁止使用简体中文汉字

日文汉字「開発」「環境」「設定」「情報」必须原样保留,绝不能替换为简体中文的「开发」「环境」「设置」「信息」。

### 4. 标点保持日文

日文标点 `、` `。` 不转换为中文 `,` `。`。

### 5. 子代理生成文件的切换器必须包含全部语言

子代理生成新语言文件时,容易只输出 **3 条目切换器**(如 `[中文] | [English] | [偽中国語]`),缺少其他已安装的扩展语言链接(如 `[日本語]` 和 `[カタリッシュ]`)。父代理在接收子代理输出后,**必须验证并补全**切换器至所有已发现语言。

验证命令:
```bash
# 检查切换器是否包含全部 5 语言
for f in docs/pcn/*.md; do
  line=$(grep '^\[中文\]' "$f")
  for expected in '\[中文\]' 'English' '日本語' 'カタリッシュ' '偽中国語'; do
    echo "$line" | grep -q "$expected" || echo "MISSING $expected in $f"
  done
done
```
### 6. 本地化文档内链必须指向同语言版本

模块文档表格中的链接指向源语言文档。转换为 pcn 后必须改为指向 pcn 版。例如 `](ja/nginx.md)` → `](./nginx.md)`。同时注意顶层文档的跨深度链接调整(`../LICENSE` → `../../LICENSE`)。