📝 Swift 日本語ドキュメント向けの textlint ルールプリセット
Swift/SwiftUI の日本語ドキュメント作成時に、一貫した用語使用と日本語表現の品質を保つための textlint ルールプリセットです。
| 機能 | 説明 |
|---|---|
| ✅ textlint プリセット | Swift 文書に適した日本語表現・用語統一ルールを提供 |
| 📘 用語辞書の自動生成 | glossary.md から dict/terminology.json を自動生成 |
| 🔁 自動的な更新監視 | glossary の変更を検知して辞書を再生成 |
| 💡 VSCode 拡張 | 翻訳中の英単語に対して訳語をホバー表示 |
| ⚡ Vite + TypeScript 構成 | 高速ビルドと型安全なスクリプト管理 |
npm install --save-dev textlint-rule-preset-swift-docs-jaプロジェクトルートに .textlintrc を作成します。
{
"rules": {
"preset-swift-docs-ja": true
}
}# 特定のファイルをチェック
npx textlint docs/**/*.md
# 特定のファイルを指定
npx textlint README.mdnpx textlint --fix docs/**/*.mdこのプリセットには、以下のルールが含まれています。
preset-ja-technical-writing- 技術文書向けの日本語表現ルールno-doubled-joshi- 助詞の重複をチェックja-no-abusage- 日本語の誤用をチェックja-space-between-half-and-full-width- 半角・全角文字間のスペースをチェック
terminology- 用語統一ルール (dict/terminology.jsonから読み込み)prh- PRH ルール (prh-rules/swift.ymlから読み込み)
- コメント部分 -
<!-- -->で囲まれた部分は除外 - コードブロック - Swift コードは除外 (翻訳対象外)
このプリセットでは、2つの異なるアプローチで用語統一を実現しています:
| 方式 | ファイル | 用途 | 特徴 |
|---|---|---|---|
| Terminology | dict/terminology.json |
プロジェクト固有の用語 | glossary.md から自動生成 |
| PRH | prh-rules/swift.yml |
Swift 共通の用語統一 | 手動で定義・管理 |
glossary.md に用語表を作成します。
| 英語 | 日本語 | 備考 |
| --- | --- | --- |
| Protocol | プロトコル | |
| Closure | クロージャ | |
| Property | プロパティ | |npm run extractこれで dict/terminology.json が生成され、プロジェクト固有の用語統一ルールが有効になります。
Swift 特有の用語統一ルールは prh-rules/swift.yml で定義されています。
version: 1
rules:
- expected: プロトコル
pattern: /プロトコール/
- expected: クロージャ
pattern: /クロージャー/
- expected: プロパティ
pattern: /プロパティー/- PRH ルール (
prh-rules/swift.yml) - Swift 共通の用語統一 - Terminology (
dict/terminology.json) - プロジェクト固有の用語
両方の辞書で同じ用語が定義されている場合、PRH ルールが優先されます。
例:矛盾する定義
prh-rules/swift.yml:プロトコル(正しい)dict/terminology.json:プロトコール(誤り)
この場合、PRH ルールが優先され、プロトコール は誤りとして検出されます。
推奨事項:
- Swift 共通の用語は
prh-rules/swift.ymlで管理 - プロジェクト固有の用語のみ
glossary.mdで管理 - 重複を避けるため、用語の分類を明確にする
npm run watchglossary.md の変更を監視し、自動で辞書を再生成します。
翻訳作業を効率化する VSCode 拡張も提供しています。
- 英単語にカーソルを合わせると訳語をホバー表示
- 用語辞書の即時リロード
cd dist/vscode
code --extensionDevelopmentPath=$(pwd)npm install
npm run build| ディレクトリ | 説明 |
|---|---|
src/preset/ |
textlint プリセットの設定 |
src/scripts/ |
用語辞書の生成スクリプト |
src/vscode/ |
VSCode 拡張のソース |
dict/ |
生成された用語辞書 |
prh-rules/ |
PRH ルール定義ファイル |
本プロジェクトは GPL2.0以降ライセンスの下で提供されています。詳細は LICENSE ファイルを参照してください。