-
Notifications
You must be signed in to change notification settings - Fork 4
仕様など
BetterJapaneseは複数人で共同でCookieClickerの翻訳を行い、公式の日本語訳を置き換えることが出来る、CookieClicker用のModです。
翻訳ファイルはGitHub Pages上でホストされるため、翻訳ファイルの更新をする度にSteamWorkshopの更新を行う必要がなく、翻訳をすばやく追加/更新/リリースすることが出来るという特徴があります。
主にModの開発/翻訳に使用するファイルを扱っています。
locales
ディレクトリ内には、対象の言語の翻訳ファイルが格納されています。
翻訳ファイルはjson5で管理されているため、コメントアウトすることも可能です。
翻訳を行う際は、こちらのファイルを編集します。
CookieClicker起動時に、ブラウザ(Electron)のlocalStorageに保存されている翻訳データのハッシュを確認し、このリポジトリ上でホストされている翻訳データのハッシュと異なれば、新しい翻訳データをダウンロードしてlocalStorageに保存します。 このため、翻訳が更新されてから反映されるまでに1度リロードを挟む必要があります。
Steam版Modのビルド時に同梱される静的ファイル類です。
Steam版の翻訳置き換え用スクリプトです。
ブラウザのlocalStorageに保存されている翻訳データを確認し、翻訳データが存在すればModLanguage()
で日本語訳を置き換えます。
Note
以前はGitHubPages上にホストされているtranslate.json
をそのままfetchし、ModLanguage
で反映させようとしていましたが、この手法だとデータの取得に500msほど掛かり、DOMの構築が先に終わってしまうため、一部の翻訳が正しく適応されないという問題が発生していました。
そのため、現在のようなlocalStorageに一旦保存するという仕様になっています。
Web版Mod用のファイル類です。
このディレクトリにあるファイルはビルド時に pages.yukineko.me/better-japanese に自動的にデプロイされます。
Web版Modの翻訳置き換え用スクリプトです。
翻訳を置き換えた後にmain.jsを読み込みます。
Web版ModのUserScriptです。
セルフホスト用のWeb版Modの翻訳置き換え用スクリプトです。
翻訳を置き換えた後にmain.jsを読み込みます。
npmのscriptやGithubActionsで使用するスクリプト類です。
後述するGithubActions用のファイルです。
Modで使用する翻訳ファイルなどを扱っています。
Mod内で使用している翻訳データです。
Mod内で使用している、翻訳データ更新確認用のファイルです。
このリポジトリではGitHub Actionsを利用しているため、Modのソースコード、または翻訳ファイルが更新された際に自動的に以下の処理を行います。
-
package.json
に記載されているバージョンのタグがこのリポジトリに存在しなかった場合は新しいバージョンがリリースされます。 - 翻訳ファイル(locales/*.json5)に変更があった場合には翻訳ファイルがビルドされ、新しい翻訳データが
gh-pages
でリリースされます。