翻訳について - kaonasi-biwa/Twitter-UI-Customizer GitHub Wiki

翻訳について

Twitter UI Customizerには2種類の翻訳の方法があります
その2つについて説明します

①Crowdinを通した翻訳

TUIC独自の機能について翻訳するときは、この方法を使います。 Crowdinはこちらです
https://crowdin.com/project/twiter-ui-customizer

では、方法を説明します

  1. /i18n/ja.jsonに、翻訳IDと日本語訳を記入する
    ...これだけです()
    あとはCrowdin側で勝手に同期してくれるので、翻訳者のみなさまが翻訳してくれるのを待つだけです!

また、オプションページやポップアップなどの翻訳もCrowdinを使います
こちらも日本語に関しては予め登録する必要があります
やり方はこちらを見たほうが早いと思います(独自の機能ではないので)
https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/Internationalization

②Twitterを流用した翻訳

Twitterに存在する機能や、昔はあった表現(リツイート→ポスト)などは、こちらを利用します
こっちの方法のほうがやり方は複雑です

  1. /i18n/_officialTwitterI18n.jsonに、TUIC側の翻訳ID:Twitter側の翻訳IDという形で記入する
  2. 必要に応じて(昔の翻訳や最新の翻訳を使いたい場合)/updateI18n.mjs/i18n/_officialTwitterI18nConfig.json、を修正する
  3. (もしデバッグするなら)node ./updateI18n.mjs jaなどのコマンドで翻訳を更新する(fetchのインストールが必要です)

※Twitter側の翻訳IDはこちらにあります
最新の翻訳
https://github.com/fa0311/TwitterInternalAPIDocument/blob/master/docs/json/i18n/ja.json
何も/updateI18n.jsonをいじらなければ使用される翻訳(少し古めのやつをわざわざふぁさんが用意してくれました!)
https://github.com/fa0311/TwitterInternalAPIDocument/blob/for/kaonasi-biwa/Twitter-UI-Customizer/docs/json/i18n/ja.json 少し古い翻訳
https://github.com/fa0311/TwitterInternalAPIDocument/blob/d4aa08362ae1ef6ff39e198909c4259292770f41/docs/json/i18n/ja.json

updateI18n.mjsについてもう少し詳しく

updateI18n.mjsは、上に挙げたGitHubのファイルから、TUICに翻訳を移すスクリプトです
/i18n/_officialTwitterI18n.json /i18n/_officialTwitterI18nConfig.jsonという2つのファイルを元に処理を行います
基本的には/i18n/_officialTwitterI18n.jsonだけで問題ないです
ただし、稀に要らないテキストが含まれていたり、最新/昔の翻訳を利用したい場合があるので、その時に/i18n/_officialTwitterI18nConfig.jsonをいじります

/i18n/_officialTwitterI18nConfig.jsonの設定

基本的にTwitter側の翻訳IDを利用します

  • 昔の翻訳を利用したい場合:"oldTranslate"に翻訳IDを追記
  • 最新の翻訳を利用したい場合:"latestTranslate"に翻訳IDを追記
  • 単数混ざってるやつを複数形に統一したい場合:"fixPlural"に翻訳IDを追記
  • 単数混ざってるやつを単数形に統一したい場合:"fixSingular"に翻訳IDを追記
  • 文字列を削除したい場合:"deleteString"に翻訳IDをKeyとして配列を追記し、その中に削除したい文字列を入れる

updateI18n.mjsのコマンド

  • node ./updateI18n.mjs
    全ての言語の翻訳が更新されます
    処理時間が長いのでおすすめしません (GitHub Actionsで更新する時に利用します)
  • node ./updateI18n.mjs <言語コード> ...
    指定した言語コードの言語の翻訳が更新されます
    デバッグ時はこちらをおすすめします
⚠️ **GitHub.com Fallback** ⚠️