-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
WordPress PRH Rules 矛盾調査レポート
調査概要
github:jawordpressorg/textlint-rule-preset-wp-docs-ja/prh-rules/wordpress.yml ファイル内の矛盾したルールを調査しました。
発見された矛盾
1. プレイヤー/プレーヤーの矛盾
矛盾の詳細:
- 行2354-2355:
プレイヤーを期待値として、プレーヤをパターンとして定義 - 行2356-2357:
プレーヤを期待値として、プレーヤーをパターンとして定義
問題:
- expected: プレイヤー
pattern: /プレーヤ/
- expected: プレーヤ
pattern: /プレーヤー/
この2つのルールは相互に矛盾しており、以下の問題が発生します:
プレーヤと入力するとプレイヤーに変換されるプレーヤーと入力するとプレーヤに変換される- 結果として、どちらの表記も正しくないと判定される無限ループが発生する可能性がある
2. レイヤ/レイヤーの矛盾
矛盾の詳細:
- 行2296-2297:
レイヤを期待値として、レイヤーをパターンとして定義 - しかし、
regexpMustEmpty: $1の設定により、プレイヤーは例外として扱われる
問題:
- expected: レイヤ
pattern: /(プ)?レイヤー/
regexpMustEmpty: $1
specs:
- from: レイヤー
to: レイヤ
- from: プレイヤー
to: プレイヤー # 例外として変更されない
この設定により、レイヤー は レイヤ に変換されるが、プレイヤー は変換されない。しかし、上記の矛盾により、プレイヤー は別のルールで プレーヤ に変換される可能性がある。
3. 長音符の一貫性の問題
問題の詳細:
多くのカタカナ語で長音符の使用に一貫性がない:
アーキテクチャー(長音符あり) vsアーキテクチャ(長音符なし)サーバー(長音符あり) vsサーバ(長音符なし)コンピューター(長音符あり) vsコンピュータ(長音符なし)
具体的な例:
- expected: アーキテクチャー
pattern:
- /アーキテクチャ(?!ー)/
- /アーキティクチャ/
- expected: サーバー
pattern: /サーバ(?!ー)/
- expected: コンピューター
pattern: /コンピュータ(?!ー)/
推奨される修正
1. プレイヤー/プレーヤーの矛盾の修正
どちらか一つの表記に統一する必要があります:
オプションA: プレイヤーに統一
- expected: プレイヤー
pattern: /プレーヤ/
- # プレーヤのルールを削除オプションB: プレーヤに統一
- expected: プレーヤ
pattern: /プレイヤー/
- # プレイヤーのルールを削除2. 長音符の一貫性の確保
カタカナ語の長音符使用について、一貫した方針を決定する必要があります:
- 英語の語尾が
-erの場合は長音符を付ける - 英語の語尾が
-orの場合は長音符を付ける - その他の場合は長音符を付けない
結論
wordpress.yml ファイルには明確な矛盾が存在し、特にプレイヤー/プレーヤーの表記については相互に矛盾するルールが定義されています。これらの矛盾は、textlintの実行時に予期しない動作や無限ループを引き起こす可能性があります。
修正には、矛盾するルールの削除と、カタカナ語の長音符使用に関する一貫した方針の策定が必要です。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels