hideki0403 / better-japanese

CookieClickerの公式日本語訳などを全面的に改善するMod
MIT License
7 stars 3 forks source link

fix: フォーチュン系のニュースのためにアップグレードの置換を変更、翻訳方法を変更 等 #52

Closed LPerNATTO closed 2 years ago

LPerNATTO commented 2 years ago

fix: フォーチュン系のニュースのためにアップグレードの置換を変更 fix: フォーチュン系のニュースの翻訳方法を変更 fix: DOM構築後の転生画面の再翻訳により転生ボタンが無効化されていた現象を修正

getNewTickerを可能な限り変更しないよう翻訳していたため、フォーチュン系のニュースについてもそのように対応してみました。 ただし実行速度は修正後の方がやや落ちると考えられる(わずかだとは思いますが)ため、どちらを採用するかはおまかせします。 また、アップグレード、実績のddescやbaseDescがどう使い分けされているかあやふやなので一応双方baseDescとddescどちらも置き換える方法で統一しております。

hideki0403 commented 2 years ago

ありがとうございます! 速度については差は微々たるものだと思われますので修正後のものを使用させて頂きます...!

hideki0403 commented 2 years ago

フォーチュン系ニュースについてですが、getNewTickerを変更しないと以下のような表示になってしまうため、申し訳ないですが以前の方式に戻させて頂きます... (自身が調べた範囲では、根本的な原因を解決するためはgetNewTickerを変更するしかないようです...) image

LPerNATTO commented 2 years ago

おそらくSteam版ですかね…? ブラウザ版はbaseDescをinitAfterDOMCreatedで置き換えてますがSteam版はLocalizeUpgradesAndAchievsでddescしか置き換えていないためだと思われます… 一応はinitAfterLoad内でbaseDescをddescで上書きすれば解決すると思われますが、副作用がないと保証できないのでまた調べて確認します!

hideki0403 commented 2 years ago

Steam版です!

以前にも同様の挙動が起こったこともあり、この問題については既に調査をしたことがあるですが、このような表示になってしまう原因としては

  1. me.name.indexOf('#')が英語版用 (Fortune #001) に作られているため、日本語版の翻訳 (幸運 No.001)に適用できない
  2. me.baseDescが日本語版ではquoteを含まないためqタグでの検索が行えない

にあるということを確認しています。 (1) についてはgetNewTickerを変更しないと解決できない問題(のはず)だと思っているので、以前の方法では(1)を修正しつつ(どうせgetNewTickerを変更するのであれば) me.baseDescme.ddescに置き換えて(2)をついでに修正しようとしていました...

image
image
image

LPerNATTO commented 2 years ago

ご丁寧にありがとうございます、言葉足らずでした! 以前のPushにつきまして、 (1)に関してはフォーチュンアップグレードごとにニュース文を同様に生成(if(EN)内の処理)して比較し、合致するアップグレードで正しいニュース文を生成、置換することで翻訳していました。 (2)に関しましてはPushでは翻訳後文章の生成にbaseDescを使用しておりましたが、正しくはddescとすることでブラウザ版、Steam版ともに動作すると思われます。

上で述べていた件はENではbaseDescにquoteを含めていますが日本語版でもそうする方がEN限定処理等でうまくいきそうか、って話でした! 影響範囲が大きそうなので現状は現在の方法で問題ないと思います!