azu/textlint-rule-preset-JTF-style

JTF日本語標準スタイルガイド for textlint.

218

stars

392

commits

JavaScript

primary language

Nov 18, 2025

updated

textlint-ja.github.io/textlint-rule-preset-JTF-style/
japanese
preset
textlintrule
translation

README

textlint-rule-preset-JTF-style textlint rule Actions Status: test

JTF日本語標準スタイルガイド(翻訳用) for textlint.

2016年2月22日改訂第2.2版を元にしています。

Installation

npm install textlint-rule-preset-jtf-style

Usage

基本的にtextlintの使い方と同じです。

最も手軽な方法(グローバル)

npmでグローバルにインストールし、--presetで利用するのが一番お手軽です。

npm install -g textlint textlint-rule-preset-jtf-style
textlint --preset textlint-rule-preset-jtf-style README.md
# README.mdをLintした結果が出力されます

グローバルにインストールするよりは、次のようにプロジェクト毎のディレクトリにインストールする方法を推奨します。

.textlintrcを使う方法(推奨)

現在のディレクトリにtextlintとtextlint-rule-preset-jtf-styleをインストールする方法です。 (グローバルにインストールしなくていいので環境がキレイに作れます)

npm init # package.jsonがないなら
npm install -D textlint textlint-rule-preset-jtf-style

textlintの設定ファイルとなっている.textlintrcに次のようにjtf-styleと指定します(textlint-rule-を取り除いたプリセット名)。

{
    "rules": {
        "preset-jtf-style": true
    }
}

実行するには、$ textlint <対象ファイル> を行うだけで、自動的に同じディレクトリにある.textlintrcの設定を読み込んでくれます。

node_modules/.bin/textlint /path/to/target.md

npm run-script経由で実行すれば、node_modules/.bin/は省略出来ます。

自動修正

ルールの設定してtextlintコマンドでチェックするとたくさんのエラーが表示されると思います。

textlint /path/to/target.md

textlint-rule-preset-JTF-styleの一部ルールはtextlint--fixにも対応しています。 --fixを使うことで機械的に判断して修正できる部分は自動修正します。

textlint --fix /path/to/target.md

実際にファイルを書き換えるので、必ずファイルをコピーしておくなどしてファイルを戻せるようにしてから実行してください。

サンプル

example/ に実行できるサンプルプロジェクトがあります。

ルール一覧

それぞれのルールの詳細は以下を読んでください。

textlint-rule-preset-jtf-styleで対応するルールと実装状況は以下のとおりです。

辞書ベースと書かれているものは、独自の辞書をベースとしているため精度が曖昧となっています。

対応ルールページ(v2.1)小項目JTF標準ルール中項目大項目
1.1.1.js10本文目的に応じて敬体、常体のどちらかに統一する。文体基本文型
1.1.2.js10見出し常体または体言止め。
1.1.3.js10箇条書き「本文」の文体に合わせる。
不可11図表内テキスト「本文」の文体に合わせる。
1.1.5.js11図表のキャプション「本文」の文体に合わせる。
1.2.1.js11句点(。)と読点(、)全角の「、」と「。」を使う。句読点の使用
1.2.2.js11ピリオド(.)とカンマ(,)和文の句読点として使用しない。
未実装11ひらがな全角。昭和61年7月1日内閣告示第1号の「現代仮名遣い」に準じる。用字、用語文字の表記
2.1.2.js (辞書ベース)11漢字常用漢字表にゆるやかに準じる。
未実装12漢字の送りがな昭和48年6月18日内閣告示第2号「送り仮名の付け方」に準じる。
未実装13複合語の送りがな昭和48年6月18日内閣告示第2号「送り仮名の付け方」に準じる。
2.1.5.js (辞書ベース/デフォルト無効)14カタカナ全角。半角カタカナは特殊用途を除いて使わない。
2.1.6.js (辞書ベース/デフォルト無効)14カタカナの長音原則として省略しない。
不可15カタカナ複合語中黒または半角スペースで区切る。
2.1.8.js16算用数字半角。
2.1.9.js16アルファベット半角。
2.1.10.js16算用数字(位取りの表記)桁区切りには「カンマ」、小数点には「ピリオド」を使う。ただし桁区切りの「カンマ」は省略する場合がある。
2.2.1.js (辞書ベース/デフォルト無効)17ひらがなと漢字の使い分け参考文献に従う。文字の表記と使い分け
2.2.2.js19算用数字と漢数字の使い分け数えられるものは算用数字。慣用句は漢数字。
2.2.3.js20一部の助数詞の表記「〜か月」、「〜か所」
3.1.1.js20全角と半角の間スペースなし単一文字間のスペースの有無文字間のスペース
3.1.2.js20全角どうしスペースなし
不可20半角どうし和文中に欧文を引用するなど、和文に欧文が含まれる場合は欧文中の半角スペースを維持する。
3.2.js20カタカナ語間のスペースの有無中黒または半角スペースを入れる。カタカナ語間のスペースの有無
3.3.js20かっこ類と隣接する文字の間のスペーススペースなしかっこ類と隣接する文字の間のスペースの有無
4.1.1.js21句点(。)全角句読点記号の表記と用途
不可(1.2.2参照)21読点(、)全角
4.1.3.js (1.2.2参照)21ピリオド(.)、カンマ(,)半角
4.2.1.js21感嘆符(!)全角。和文では多用しない。記号
4.2.2.js22疑問符(?)全角。和文では多用しない。
チェック項目なし22スラッシュ(/)全角または半角
4.2.4.js22中黒(・)全角
4.2.5.js22波線(〜または~)全角
4.2.6.js22ハイフン(-)原則として和文では使用しない。
4.2.7.js23コロン(:)全角。和文では多用しない。
4.2.8.js23セミコロン(;)原則として和文では使用しない。
4.2.9.js23ダッシュ(-)原則として和文では使用しない。
4.3.1.js23丸かっこ()全角かっこ
4.3.2.js23大かっこ[]全角
4.3.3.js23かぎかっこ「」全角
4.3.4.js23二重かぎかっこ『』全角
4.3.5.js (対の有無)23二重引用符\" \"半角。和文では多用しない。
4.3.6.js (対の有無)24中かっこ{}原則として和文では使用しない。
4.3.7.js (対の有無)24山かっこ<>原則として和文では使用しない。
4.3.8.js (対の有無)24一重引用符' '原則として和文では使用しない。
不可24JIS規格Z8202「量及び単位」、Z8203「国際単位系(SI)及びその使い方」に従う。単位系単位の表記
24主に、英字による表記とカタカナによる表記がある。単位記号の表記
24時間、時刻時間、時、分、秒、ミリ秒個別の単位
24長さmm、km、ミリメートル、センチメートル
24質量g、kg、t、グラム、キログラム、トン
24面積、体積㎡、平方メートル、立法メートル
24電気A、W、V、アンペア、ワット、ボルト
25温度
25周波数Hz、ヘルツ
25速度m/s、キロメートル毎時、分速~km
25伝送速度bps、Kbps、バイト/秒
25割合%、パーセント
25角度90°、90度
25記憶容量ビット、バイト、Kb、KB、Mb、MB
25通貨円、米ドル、ユーロ、$、USD
25その他

FAQ

Q. このルールはスタイルガイドと合ってないのでは?

A. Issueに詳細を書いてみるといいと思います。

Issueには以下の項目が書かれていると問題を解決しやすくなります。

  • 試した文章(もしくはファイル)
  • 期待する結果
    • 例: このルール(1.2.3)でエラーとなるはず
  • 実際の結果
    • 例: 実際にはエラーとならなかった

また、JTF日本語標準スタイルガイド(翻訳用)に記載されてる全てのルールが実装済みではないため、 Pull Requestも歓迎しています。


Q. 特定のルールを使いたくない

A. .textlintrc にルール毎の設定を追加することが出来ます。

1.2.2.ピリオド(.)とカンマ(,)のルールを無効化したい場合は、.textlintrcに次のようにfalse値を設定することで無効化出来ます。 デフォルトではtextlint-rule-preset-jtf-styleに含まれるルールが全て有効化されています。

{
    "rules": {
        "preset-jtf-style": {
            "1.2.2.ピリオド(.)とカンマ(,)": false
        }
    }
}

それぞれの指定できるrulesのキー名はindex.jsを参照してください。

jtf-style/<key名> となります。

Q. 辞書ベースのルールの質がよくない

A. 正規表現の辞書ベースのルールが幾つかあります。

その他のtextlintルールと衝突が発生しやすい辞書ベースのルールとなっています。 そのため、辞書を改善していくかルール自体を無効化するアプローチを取る必要あります。

デフォルトでは次の辞書ベースのルールは無効化されています。

これらのルールを有効化したい場合は、.textlintrcで明示的に有効化する必要があります。

{
    "rules": {
        "preset-jtf-style": {
            "2.1.2.漢字": true,
            "2.1.5.カタカナ": true,
            "2.1.6.カタカナの長音": true,
            "2.2.1.ひらがなと漢字の使い分け": true
        }
    }
}

Q. 半角かっこの外側のスペースを禁止したい・必須にしたい

A. オプションで半角かっこの外側のスペースの扱いを変更することが出来ます。

3.3.かっこ類と隣接する文字の間のスペースの有無のオプションを設定することで、半角かっこの外側のスペースの扱いを変更することができます。

allowOutsideHalfParentheses は半角かっこの外側の半角スペースを許容するオプションです。 デフォルトは true です。 false に設定することで、半角かっこの外側のスペースを禁止できます。

{
  "rules": {
    "preset-jtf-style": {
      "3.3.かっこ類と隣接する文字の間のスペースの有無": {
        "allowOutsideHalfParentheses": false
      }
    }
  }
}

requireOutsideHalfParentheses は半角かっこの外側の半角スペースを必須にするオプションです。 デフォルトは false です。

{
  "rules": {
    "preset-jtf-style": {
      "3.3.かっこ類と隣接する文字の間のスペースの有無": {
        "requireOutsideHalfParentheses": true
      }
    }
  }
}

Migration: textlint-plugin-jtf-style to textlint-rule-preset-jtf-style

textlint-plugin-jtf-style から textlint-rule-preset-jtf-style へ移行したい場合の移行手順です。

次のようにモジュールを切り替えます。

npm uninstall -D textlint-plugin-jtf-style
npm install -D textlint-rule-preset-jtf-style

その後、.textlintrcにかかれている設定を

{
    "plugins": [
        "jtf-style"
    ],
    "rules": {
        "jtf-style/2.1.2.漢字": true,
        "jtf-style/2.1.5.カタカナ": true,
        "jtf-style/2.1.6.カタカナの長音": true,
        "jtf-style/2.2.1.ひらがなと漢字の使い分け": true
    }
}

以下のように書き換えれば完了です。

{
    "rules": {
        "preset-jtf-style": {
            "2.1.2.漢字": true,
            "2.1.5.カタカナ": true,
            "2.1.6.カタカナの長音": true,
            "2.2.1.ひらがなと漢字の使い分け": true
        }
    }
}

Contributing

まだ未実装なルールがありますのでPull Request歓迎。 実装済みのルールでもその項目を全て満たせてないケースがあるかもしれません。

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

License

by Japan Translation Federation (CC BY-SA) www.jtf.jp
本著作物は「JTF日本語標準スタイルガイド2.0」(JTF, CC BY-SA)を改変して作成したものです。

その他のコードはMITライセンスです。

Contributors

azu

297 commits

dependabot[bot]

64 commits

massongit

8 commits

azu/textlint-rule-preset-JTF-style

JTF日本語標準スタイルガイド for textlint.

218

stars

392

commits

JavaScript

primary language

Nov 18, 2025

updated

textlint-ja.github.io/textlint-rule-preset-JTF-style/
japanese
preset
textlintrule
translation

README

textlint-rule-preset-JTF-style textlint rule Actions Status: test

JTF日本語標準スタイルガイド(翻訳用) for textlint.

2016年2月22日改訂第2.2版を元にしています。

Installation

npm install textlint-rule-preset-jtf-style

Usage

基本的にtextlintの使い方と同じです。

最も手軽な方法(グローバル)

npmでグローバルにインストールし、--presetで利用するのが一番お手軽です。

npm install -g textlint textlint-rule-preset-jtf-style
textlint --preset textlint-rule-preset-jtf-style README.md
# README.mdをLintした結果が出力されます

グローバルにインストールするよりは、次のようにプロジェクト毎のディレクトリにインストールする方法を推奨します。

.textlintrcを使う方法(推奨)

現在のディレクトリにtextlintとtextlint-rule-preset-jtf-styleをインストールする方法です。 (グローバルにインストールしなくていいので環境がキレイに作れます)

npm init # package.jsonがないなら
npm install -D textlint textlint-rule-preset-jtf-style

textlintの設定ファイルとなっている.textlintrcに次のようにjtf-styleと指定します(textlint-rule-を取り除いたプリセット名)。

{
    "rules": {
        "preset-jtf-style": true
    }
}

実行するには、$ textlint <対象ファイル> を行うだけで、自動的に同じディレクトリにある.textlintrcの設定を読み込んでくれます。

node_modules/.bin/textlint /path/to/target.md

npm run-script経由で実行すれば、node_modules/.bin/は省略出来ます。

自動修正

ルールの設定してtextlintコマンドでチェックするとたくさんのエラーが表示されると思います。

textlint /path/to/target.md

textlint-rule-preset-JTF-styleの一部ルールはtextlint--fixにも対応しています。 --fixを使うことで機械的に判断して修正できる部分は自動修正します。

textlint --fix /path/to/target.md

実際にファイルを書き換えるので、必ずファイルをコピーしておくなどしてファイルを戻せるようにしてから実行してください。

サンプル

example/ に実行できるサンプルプロジェクトがあります。

ルール一覧

それぞれのルールの詳細は以下を読んでください。

textlint-rule-preset-jtf-styleで対応するルールと実装状況は以下のとおりです。

辞書ベースと書かれているものは、独自の辞書をベースとしているため精度が曖昧となっています。

対応ルールページ(v2.1)小項目JTF標準ルール中項目大項目
1.1.1.js10本文目的に応じて敬体、常体のどちらかに統一する。文体基本文型
1.1.2.js10見出し常体または体言止め。
1.1.3.js10箇条書き「本文」の文体に合わせる。
不可11図表内テキスト「本文」の文体に合わせる。
1.1.5.js11図表のキャプション「本文」の文体に合わせる。
1.2.1.js11句点(。)と読点(、)全角の「、」と「。」を使う。句読点の使用
1.2.2.js11ピリオド(.)とカンマ(,)和文の句読点として使用しない。
未実装11ひらがな全角。昭和61年7月1日内閣告示第1号の「現代仮名遣い」に準じる。用字、用語文字の表記
2.1.2.js (辞書ベース)11漢字常用漢字表にゆるやかに準じる。
未実装12漢字の送りがな昭和48年6月18日内閣告示第2号「送り仮名の付け方」に準じる。
未実装13複合語の送りがな昭和48年6月18日内閣告示第2号「送り仮名の付け方」に準じる。
2.1.5.js (辞書ベース/デフォルト無効)14カタカナ全角。半角カタカナは特殊用途を除いて使わない。
2.1.6.js (辞書ベース/デフォルト無効)14カタカナの長音原則として省略しない。
不可15カタカナ複合語中黒または半角スペースで区切る。
2.1.8.js16算用数字半角。
2.1.9.js16アルファベット半角。
2.1.10.js16算用数字(位取りの表記)桁区切りには「カンマ」、小数点には「ピリオド」を使う。ただし桁区切りの「カンマ」は省略する場合がある。
2.2.1.js (辞書ベース/デフォルト無効)17ひらがなと漢字の使い分け参考文献に従う。文字の表記と使い分け
2.2.2.js19算用数字と漢数字の使い分け数えられるものは算用数字。慣用句は漢数字。
2.2.3.js20一部の助数詞の表記「〜か月」、「〜か所」
3.1.1.js20全角と半角の間スペースなし単一文字間のスペースの有無文字間のスペース
3.1.2.js20全角どうしスペースなし
不可20半角どうし和文中に欧文を引用するなど、和文に欧文が含まれる場合は欧文中の半角スペースを維持する。
3.2.js20カタカナ語間のスペースの有無中黒または半角スペースを入れる。カタカナ語間のスペースの有無
3.3.js20かっこ類と隣接する文字の間のスペーススペースなしかっこ類と隣接する文字の間のスペースの有無
4.1.1.js21句点(。)全角句読点記号の表記と用途
不可(1.2.2参照)21読点(、)全角
4.1.3.js (1.2.2参照)21ピリオド(.)、カンマ(,)半角
4.2.1.js21感嘆符(!)全角。和文では多用しない。記号
4.2.2.js22疑問符(?)全角。和文では多用しない。
チェック項目なし22スラッシュ(/)全角または半角
4.2.4.js22中黒(・)全角
4.2.5.js22波線(〜または~)全角
4.2.6.js22ハイフン(-)原則として和文では使用しない。
4.2.7.js23コロン(:)全角。和文では多用しない。
4.2.8.js23セミコロン(;)原則として和文では使用しない。
4.2.9.js23ダッシュ(-)原則として和文では使用しない。
4.3.1.js23丸かっこ()全角かっこ
4.3.2.js23大かっこ[]全角
4.3.3.js23かぎかっこ「」全角
4.3.4.js23二重かぎかっこ『』全角
4.3.5.js (対の有無)23二重引用符\" \"半角。和文では多用しない。
4.3.6.js (対の有無)24中かっこ{}原則として和文では使用しない。
4.3.7.js (対の有無)24山かっこ<>原則として和文では使用しない。
4.3.8.js (対の有無)24一重引用符' '原則として和文では使用しない。
不可24JIS規格Z8202「量及び単位」、Z8203「国際単位系(SI)及びその使い方」に従う。単位系単位の表記
24主に、英字による表記とカタカナによる表記がある。単位記号の表記
24時間、時刻時間、時、分、秒、ミリ秒個別の単位
24長さmm、km、ミリメートル、センチメートル
24質量g、kg、t、グラム、キログラム、トン
24面積、体積㎡、平方メートル、立法メートル
24電気A、W、V、アンペア、ワット、ボルト
25温度
25周波数Hz、ヘルツ
25速度m/s、キロメートル毎時、分速~km
25伝送速度bps、Kbps、バイト/秒
25割合%、パーセント
25角度90°、90度
25記憶容量ビット、バイト、Kb、KB、Mb、MB
25通貨円、米ドル、ユーロ、$、USD
25その他

FAQ

Q. このルールはスタイルガイドと合ってないのでは?

A. Issueに詳細を書いてみるといいと思います。

Issueには以下の項目が書かれていると問題を解決しやすくなります。

  • 試した文章(もしくはファイル)
  • 期待する結果
    • 例: このルール(1.2.3)でエラーとなるはず
  • 実際の結果
    • 例: 実際にはエラーとならなかった

また、JTF日本語標準スタイルガイド(翻訳用)に記載されてる全てのルールが実装済みではないため、 Pull Requestも歓迎しています。


Q. 特定のルールを使いたくない

A. .textlintrc にルール毎の設定を追加することが出来ます。

1.2.2.ピリオド(.)とカンマ(,)のルールを無効化したい場合は、.textlintrcに次のようにfalse値を設定することで無効化出来ます。 デフォルトではtextlint-rule-preset-jtf-styleに含まれるルールが全て有効化されています。

{
    "rules": {
        "preset-jtf-style": {
            "1.2.2.ピリオド(.)とカンマ(,)": false
        }
    }
}

それぞれの指定できるrulesのキー名はindex.jsを参照してください。

jtf-style/<key名> となります。

Q. 辞書ベースのルールの質がよくない

A. 正規表現の辞書ベースのルールが幾つかあります。

その他のtextlintルールと衝突が発生しやすい辞書ベースのルールとなっています。 そのため、辞書を改善していくかルール自体を無効化するアプローチを取る必要あります。

デフォルトでは次の辞書ベースのルールは無効化されています。

これらのルールを有効化したい場合は、.textlintrcで明示的に有効化する必要があります。

{
    "rules": {
        "preset-jtf-style": {
            "2.1.2.漢字": true,
            "2.1.5.カタカナ": true,
            "2.1.6.カタカナの長音": true,
            "2.2.1.ひらがなと漢字の使い分け": true
        }
    }
}

Q. 半角かっこの外側のスペースを禁止したい・必須にしたい

A. オプションで半角かっこの外側のスペースの扱いを変更することが出来ます。

3.3.かっこ類と隣接する文字の間のスペースの有無のオプションを設定することで、半角かっこの外側のスペースの扱いを変更することができます。

allowOutsideHalfParentheses は半角かっこの外側の半角スペースを許容するオプションです。 デフォルトは true です。 false に設定することで、半角かっこの外側のスペースを禁止できます。

{
  "rules": {
    "preset-jtf-style": {
      "3.3.かっこ類と隣接する文字の間のスペースの有無": {
        "allowOutsideHalfParentheses": false
      }
    }
  }
}

requireOutsideHalfParentheses は半角かっこの外側の半角スペースを必須にするオプションです。 デフォルトは false です。

{
  "rules": {
    "preset-jtf-style": {
      "3.3.かっこ類と隣接する文字の間のスペースの有無": {
        "requireOutsideHalfParentheses": true
      }
    }
  }
}

Migration: textlint-plugin-jtf-style to textlint-rule-preset-jtf-style

textlint-plugin-jtf-style から textlint-rule-preset-jtf-style へ移行したい場合の移行手順です。

次のようにモジュールを切り替えます。

npm uninstall -D textlint-plugin-jtf-style
npm install -D textlint-rule-preset-jtf-style

その後、.textlintrcにかかれている設定を

{
    "plugins": [
        "jtf-style"
    ],
    "rules": {
        "jtf-style/2.1.2.漢字": true,
        "jtf-style/2.1.5.カタカナ": true,
        "jtf-style/2.1.6.カタカナの長音": true,
        "jtf-style/2.2.1.ひらがなと漢字の使い分け": true
    }
}

以下のように書き換えれば完了です。

{
    "rules": {
        "preset-jtf-style": {
            "2.1.2.漢字": true,
            "2.1.5.カタカナ": true,
            "2.1.6.カタカナの長音": true,
            "2.2.1.ひらがなと漢字の使い分け": true
        }
    }
}

Contributing

まだ未実装なルールがありますのでPull Request歓迎。 実装済みのルールでもその項目を全て満たせてないケースがあるかもしれません。

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

License

by Japan Translation Federation (CC BY-SA) www.jtf.jp
本著作物は「JTF日本語標準スタイルガイド2.0」(JTF, CC BY-SA)を改変して作成したものです。

その他のコードはMITライセンスです。

Contributors

azu

297 commits

dependabot[bot]

64 commits

massongit

8 commits

Languages

JavaScript

100.0%