投稿記事

BreezeSinfonia 2024/01/08 22:30

ご挨拶 2024

新年明けましておめでとうございます。(三ヶ日外し)

また、この度の地震により被災された皆様に心よりお見舞い申し上げます。
被災地の方々の一日も早い復興を願っております。


昨年末の締めの挨拶で書いた通り、今回はLangscoreの今後のアップデートについてです。
あとサムネはBing Copilotに2024年を書道風に書いてとお願いして出来たものですが、頑なにSFチックな画像しか書いてくれませんでした。

アプリ内編集機能 (優先度:高)

現状、出力したCSVはExcelやGoogleスプレッドシートといった外部の編集ソフトで編集することを想定しています。

これはこれで便利な半面、作業の終盤に入るとその場でサクッと直したい……という場合に面倒だったりします。
なのでそこまで複雑ではないにしろ、簡単な編集機能は付けたいな……と考えてます。


単体言語版の出力機能 (優先度:高)

Langscoreのウリの一つは起動中に言語を変えられる……というものですが、DLsiteで見られるゲームには言語別に売られているものをよく見かけます。

その辺りにも対応するため、翻訳した文章を書き換えて出力する機能を考えています。

つまり、翻訳CSVから日本語版exe・英語版exe・中国語版exe……を生成する機能ですね。


翻訳対応言語の追加 (優先度:中)

「みんなで翻訳」が対応している14言語分は追加する予定です。
ただ今のUIでは増やすと見た目が悪くなりそうなので、UI変更も予定しています。


音源差し替え機能 (優先度:低)

言語ごとのボイスに対応しているゲームは見たことありませんが、まああってもいいのかな……ということで入れています。


翻訳ツールによる自動翻訳対応 (対応未定)

Google翻訳といったAPI対応ツールを使用して翻訳文を埋める……というものですが、これは検討中です。
あったら便利なのは確かですが懸念事項も多々あるので、アリよりのナシくらいで考えています。



というわけで、今考えている追加機能5点でした。
優先度高の機能は数ヶ月以内には対応したいなあとも思っていますが、2024年の目標として書き留めます。

ちなみに書き初め(プログラミング)はC言語の麻雀プログラムでした。
本年もよろしくお願いいたします!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

BreezeSinfonia 2023/12/31 19:32

ありがとう2023年

本年もありがとうございました。

2023年は、年内になんとかLangscoreを出せてよかったです。

振り返り……は定期的に記事を上げていたのでそちらに任せるとして、
今後の予定などはまた来年になったら改めて書こうと思います。

手短ですが、来年もまたよろしくお願いします!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

BreezeSinfonia 2023/12/24 23:56

クリスマスプレゼント!(マニュアル公開)

クリスマスプレゼント!!!!!!

https://mukoutyan.github.io/langscore-manual/

更新を忘れていたLangscoreのマニュアルを直すついでに、Webに公開しました。

同梱していたマニュアルはDoxygenというツールで作っていたのですが、
ちょっと見た目に難ありなので今回からはSphinxというツールを使用しています。

ついでに見た目も変えました。ちょっと見やすいかも?


ダウンロードの手引

前回の記事 でダウンロードURLを貼りましたが、案内が全然無さすぎたのでちょっと補足します。

Githubを使ったことのある方はご存知とは思いますが、Releasesのページでダウンロードをするには Assets をクリックした後、langscore_v***.zipをクリックします。

Source codeは必要ありません。


既知の不具合

既知の不具合は このページ に記載していきます。
Githubアカウントを持っている方は、バグを見つけ次第報告して頂けると助かります。

早速発覚した不具合を1件追加しました。
内容は「解析する際に、パスに空白文字が含まれていると解析できない」です……

結構引っ掛かりそうなバグなので、急いで修正中です。
回避方法もあるので、引っ掛かりそうな方はお手数ですが回避をお願いします。


クリスマスイブですが、M-1見ながらマニュアルとにらめっこする一日でした。

未だにクリスマスイブとクリスマスがどっちが先か後かよく覚えてません。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

BreezeSinfonia 2023/12/20 23:37

Langscore β版公開!

β版!!!!!


というわけで無事にMV/MZ対応も済ませました。

MV/MZ兼用できるようにしましたが、兼用のための変更も思ったより少なくて良かったです。

その他にも、うっかり対応を忘れてたフォント切り替えや

画像の切り替えも対応しました。


うっかり忘れていたこの2項目はどちらも対応が面倒くさすぎたので、なにかを感じ取っていたのかもしれないです。


ブラウザ向けでも動くよ!



また、テキストを抽出するアプリにも少し手を加えてます。

翻訳忘れてる!!! 「ひらがなを含まないテキストのチェックを外す」です。

押すとアルファベットや記号しか無い箇所のチェックが外れて、書き出した翻訳CSVがかなりスッキリします。



ダウンロードはこちら

https://github.com/MUkoutyan/langscore-app/releases

β版の公開のため、Githubに本体とソースコードを公開しました。
今後はこのページにアップしていこうと思います。

そういえばマニュアルの更新忘れてるし急いで更新しないと……

サポート

今のところMV/MZのタイトルでの実績が無いのでβ版にしています。把握していない不具合もあると思いますので…。
また、お恥ずかしながらすんなり使用できる物でもないと思うので、随時サポートを行っていきたいと思います。

現時点はCi-enのメッセージでDMを送っていただければ返答致します。(場合によってはDiscordのアカウントを教えます。)

もし導入しようとしていて分からないことがある方は、訊いてければと思います。

Discord連携やってみたいけど有料プランが必須なんですよね……悩ましい。


今後

追加したい機能がいくつかあるため、折を見て更新する予定です。
更新したらまたCi-enで記事を書いていきますー



というわけでプログラミングの作業が一段落しました。
ほぼ休止してた音楽の作業も、ぼちぼち復帰していきたいですね。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

BreezeSinfonia 2023/11/19 22:40

構文解析やってみっぞ!

前回の記事から2ヶ月経過しようとしていますが、やっとこさJSONの対応を済ませました。

結局泥臭い方法です。JSONの構造をURLっぽく展開することで、無理やり一意な文字を作り出してます。

そしてここまでやった結果、判明しました……

MV/MZの翻訳の即時更新はプラグイン側の対応が必要!!!

終わった~~~ なんでじゃ、とかその辺りは次の更新のネタにしようかと思います。


という訳で今回は、半年くらい前に下書き保存していた構文解析の話です。

なんぞ 構文解析

スクリプトやソースコードは、機械が読み取れる形に変換する必要があります。
その変換処理の初めの方で行われる処理の一つが、構文解析です。
構文解析はソース中の単語がどういう意味なのかを調べる処理です。

助けて!chatGPT君!

自力実装する気まんまんでしたが、ここは流行りに乗っかってchatGPT君にいい感じの実装方法を書いてくれるようにお願いしてみます。


要約:作るな。巨人の肩の上に立て。

そりゃそうですね。

ここではANTLRというライブラリをおすすめされましたが、こちらの導入を試してみたところ実行時に謎にクラッシュする問題が解決できなかったため諦めました。
4日かけて直らなかったので許して……。

代わりに"tree-sitter"というライブラリを使用します。

Windows用のものが用意されていない等こちらもひと悶着ありましたが、無事に実行するところまで成功。

実行画面はこちら。ドン

プログラムアレルギーの方は全身から血を吹き出しそうな画面ですが、要は
・ツクールMVプラグインを入力(ここでは YEP_BattleEngineCore)
・プラグイン内の"", ''で囲われている部分を抜き出し
・囲われてる部分がプログラムでどういう意味なのかを表示(この辺が構文解析)

という処理の結果を表示しています。

これでできること

ツクールのプラグインの中には、スクリプトの中にゲーム中で表示される文字を記述しているものがあります。
VXAceの時は「スクリプトの中の文字列を全部抜き出す」という処理で対応していましたが、それだとこんな時に困ります。

ここの"LANGSCORE"や"CHANGELANGUAGE"は分岐処理に使うだけで表示される事はないのですが、こんな表示されることのない文字にまで反応してしまうんですね。
その結果、プラグインによっては翻訳CSVが4000行!実際にゲームで使うのは400行!
とかになるのはザラでした。

構文解析を入れることで、ゲームに使われることがないif文やswitch文といった箇所の文字列を省いて、見た目のインパクトも容量も削ろうという意図があります。


効果が如何ほどかは……謎。



という訳で構文解析の話でした。
山場のJSONは潰せたのでもうちょっとでベータ版がリリースできるかなと思います。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

1 2 3 4

月別アーカイブ

限定特典から探す

記事を検索