投稿記事

BreezeSinfonia 2023/09/26 00:54

やったか?!(Langscore進捗)

人生始めてからそろそろ30年が経とうとしていますが、最近やっと麻雀のルールを覚えました。
ネット麻雀のアシストありきではありますが、いつでもどこでもご近所を気にせず打てるのは良いですね。
ただ仕事の昼休み中にボロ負けすると、午後の業務に差し支えるのだけはどうにかしたいです。やらなければいいのでは……?

バグ潰し

機能実装面が落ち着いた兆しがあったので、不要な枝を刈り取るがごとくバグ取りをしていました。

なんかmagicが翻訳されていなかったバグ


なんかプロフィールが翻訳されていなかったバグ


なんかプラグインの内容が翻訳されていなかったバグ


基礎部分が一通り終わったので、これでベータ公開できるな!

などと思っていました。

※こちらはトリアコンタン様の、オプション任意項目作成プラグインになります。https://triacontane.blogspot.com/2016/01/blog-post.html

まだでした。
Langscoreの対応漏れです。(プラグインのバグじゃないよ!)


よく利用されてそうなプラグインで動作確認するか~と思ったら、一発目でダメでした。

プラグインのパラメータで構造体を使用していると、上手くいかないっぽいです。

でも流石に「難易度」とかは出てるだろうし、翻訳すればなんとかなるかな……と思ったところ


?!

?!!?!?

JSON?!!?!?

そうだよな……Javascriptベースのデータ構造なんてJSONに決まってるよな……

しかし「翻訳ツールだよ!でも翻訳文にはJSOMもあるよ!うっかり""とか,とか消すと動かなくなるよ!」なんてやった日には末代までの笑い者でしょう。

なんとか対応したいとこですが、泥臭い実装をする未来しか見えません。どうしたもんか。


募:人柱

というわけで、対応漏れがぼちぼちあったり、色んなプラグインの確認が全然出来ていませんが、本文の翻訳システムは組み終わりました。
バグもまだまだあるとは思いますが、一応アルファ版よりのベータ版くらいにはなったかな……という印象です。

旧Twitterで相互だった方で、MVのゲーム翻訳したいな~人柱になっても良いかもな~という方が居れば嬉しいです。

今ならLangscoreの全面サポート付き!
いやこれで人来るのか……?


ちなみに画像のキャラの名前とかは自分の作品から引っ張ってきてます。
たまにセールもやってるので、クーポン使うときの足しにでもして頂けると喜びます。

↓↓↓↓↓↓↓

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

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

BreezeSinfonia 2023/08/27 23:03

復活!!!

PCを買い替えました。

前のPCが6年くらい前に買ったもので、ここ最近は速度的に使えなくないけどなんかもったりしてるな~って印象でした。

詳細スペックは省きますが、ストレージ以外新しくなって起動も速けりゃビルドも速くて大いに満足です。来月からはローン地獄です。


バックアップにご注意

OSもWin10からWin11にしましたが、どうせなのでクリーンインストールしました。
必要なファイルも退避させて万全……

ではなく完全に抜けがあったのですが、Windows君は優しいのでWindows.oldというフォルダにバックアップ一式を残してくれてます。

そんなWindowsの温情も無碍に、ウン十GBも食ってんじゃねえ!といって速攻で削除しましたが、それが悲劇の始まりです。
バックアップの削除による悲劇なんて一つしか無いですね。プラグインのソースが消えました。

ソースコードはデータ用ドライブに格納してるのですが、MV用プラグインは実験中だったのでCドラで作業していたという……。

皆様もご厚意のバックアップは直ぐに消さずに大事に取っておきましょう。大体1ヶ月くらい?


ということで、この一ヶ月間くらいはひいこら復元してました。

なんかマップも若干豪華になって復活です。ソースコードもキレイになったかも!

でも進捗度合いとしては全然進んでなくない……?


祝・初採用

復旧でひいこら言っている中、Langscoreを使用していただいているゲーム"King Exit"の簡体中文版がリリースされました!

この記事を見ている方に第一言語が中国語の方が居るか分かりませんが、よろしくお願いします!


LangscoreのRPGツクールVXAce版は一先ず落ち着きましたが、Langscoreの一般公開はMV版が仕上がってからを予定しています。
シェア率はMV/MZの方が多いですからね。

Ci-enはDiscordとかとも連携できるらしいので、無料プランに入ってくれればサポート!みたいなことができるのかな~とも考えてます。

とはいえ何にせよ、先ずは完成させないとですね~

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

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

BreezeSinfonia 2023/05/31 22:56

3月91日

気がついたら3月が終わり4月が終わりGWが始まりGWが開けハイラルに旅立ちコロナに罹りコロナが治り、今です。

3月はお仕事が楽しすぎ期間に入ってしまったので、進捗が悲惨なことになっていました。
4月は3月中サボっていたらソースが赤の他人のコードになってしまったので、解読作業をしていました。

GWは流石に作業をしましたが、MV対応中に見つかった大きめのバグ修正にGWを取られることに……。
地味な割に記事にするには複雑すぎる作業なのですが、とはいえ書くことも少ないのでバグ取りに絡む内容を書いていこうと思います。


Langscoreのキモとなる部分といえばやはりCSVです。
翻訳文は全てCSVで記述するので、この読み書き処理が上手く言ってないと全部ダメになります。

CSVといえばやっぱこんな感じのデータ。

あいうえお,かきくけこ,さしすせそ

","(カンマ)で区切ることで列を表現し、改行することで行を表現します。
CSVの正式名称は"Comma Separated Values"(カンマ区切りの値)なのでまんまですね。

,で区切るだけの簡単な書式……と思いきや、意外とそうでもないのが罠です。


文章に,がある場合

Hello, World といった文章を1つのデータとして扱いたい場合、,で区切られると困ります。
そんな場合は""で括ります。

"Hello, World","Goodbye, World","Goodnight, World"

文章に改行がある場合

改行すると1行とみなされてしまうため、データに改行を入れたい場合も""で括ります。

"あめんぼあかいな
あいうえお","かきのきくりのき
かきくけこ"

文章に"がある場合

,や改行を含めるときに使う"ですが、そもそもデータに含めたい場合は""で表現します。

ど""う""し""て""な""ん""だ""よ""お""ぉ""!""!"",ん""あ""あ""あ""ぁ""ぁ""!""!""


単体で見ると単純なルールですが、複合で来られると意外と面食らいます。

"""Hello, World"",
それはプログラムを書く際の","""謎の呪文""(Mystery spell)―――"

「""Hello ~ 書く際の」「謎の呪文 ~ ―――」で2つのデータです。

今回のバグは""で括った際のデータの扱いを間違えていたため、CSVを読み込む度に""の括りが増えていくというバグでした。

データ量も多いのでデバッグも尚の事めんどくさいという……。
まあ小さいテストを書けって話ですね。

みんなもテスト、書こう!

おしまい

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

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

BreezeSinfonia 2023/03/02 00:34

Langscore進捗 ~MV編~


できねえ~~~(画像略)

Langscoreって何?という方はこちら → 制作中ツール紹介 翻訳支援ツール"Langscore"

VXAce版プラグインの不具合修正に思った以上に手間取ったり、リアルお仕事の方が混み混みだったりしたのでスローペースにはなりましたが、作業を進めてます。

今はこんな感じ

一部翻訳漏れがありますが、翻訳CSVファイルの適用とゲーム内での切り替え処理の大元は実装できたかなと思います。


細かい話

VXAceの場合はデータがRubyのダンプデータだったので、一度jsonに変換してから更にCSVに変換していました。

MV/MZの場合は全部jsonなので手間が一個減ってまあまあ楽です。
けどそれ以上に、書き慣れていないjavascriptに苦戦中……
ファイルロードの仕組みが全く違うので、言語云々というよりはライブラリ周りに苦戦している感じです。

それとデプロイすると全く翻訳ファイルが読み込めてなかったりするので、その辺もこれから調査です。うごごごご


というわけで、全体の進捗としては半分くらいです。2月末とは……?

一旦MVの方が仕上がったらベータ版の公開も予定しています。
アプリの性質上、制作中に使うというよりは完成したゲームに対して使用するものになってます。
なので、完成済みの作品が多そうなMVの方が使っていただけそうかな~って思ってます。

怖いもの知らずな方はMVユーザーの方は、公開した際は是非よろしくお願いします。


そういえばUniteの新情報も来ましたね。気になる~

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

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

BreezeSinfonia 2023/02/05 21:51

めんどすぎる改行の話

突然のクソなぞなぞ!

この2つの文章は違う箇所があります!ど~の改行だ?

正解はこの改行!

「上の文章の改行は\r\nだけど、下の文章は\nだけ!」でした!

バイナリエディタで見ると一目瞭然です。0Dが\rで0Aが\nだ!


本題

(改行文字を知らない人向け)
文字は文字でも、プログラムで扱う文字の中には制御文字と呼ばれる文字があります。
基本的には表示されない、プログラムが制御のための目印として扱う文字です。
さっき上がった\r, \nは改行を表す時に使う制御文字になります。

細かいあれこれはWikipediaを見てくれ!
改行コード - Wikipedia


Langscoreでの話

Langscore イズ 何 → Langscore


文章を扱うツールの性質上、どうしても改行からは逃れられません。

全部の改行が\r\nで表されるなら楽ちんなのですが、\r\nはWindowsの方言みたいなもので、Unix系のOS(Macとか)では\nだけで改行を表します。(超雑な括り)


しかもそれはあくまでOS上の話であって、アプリ毎にも扱いが違います。
Windows上で動いていても\nだけで改行を表せるアプリは当然あります。
メモ帳の改行は\r\n、Excelのセル内改行は\nと、この差もかなり厄介です。


例えば、Langscoreが絶賛対応中のツクールVX Aceでは、表示する文章ごとに改行コードが違っていました。


なんで場所ごとに改行が違うんじゃ、という話ですが、
前者は、説明文全部を1つのデータとして保持しています。
後者は、文章を一行ごとに分けてそれぞれを1つのデータとして保持しています。
そのまま表示するか、一回結合してから表示するかの違いがあり、そういう差から改行文字が違っていると思われます。


この改行がどう問題になるかというと、「2つの文章が完全一致するか調べる時」です。
\r, \nも1文字として扱われるので、当然「から\r\nあげ」と「から\nあげ」では完全一致とはなりません。


Langscoreでは「ツクール側が表示しようとしている文章」と、「翻訳データ内の原文章」を比較して該当の翻訳文章を引っ張り出しています。

そのため翻訳データを作る時に改行の扱いをミスると、それはもう悲惨で厄介なことに……
なっちゃったんですけどね……

上図のような処理を行っているのですが、この場合では結果、翻訳文が見つかりません。
流石にクラッシュはしませんが、英語で表示したいのに何故か日本語でしか表示されない!翻訳されてない!という事になります。


なお、この辺りのバグは当然取り除いています。また幸いにも、VXAceではどのファイルに\r\nが使われているか、というパターンが決まっているので、改行文字がパターンから外れている場合は修正する処理を入れています。


結論

改行はめんどくさい!厳密に改行と向き合う時はちゃんと調べてから処理を組もうね!
ほんとごめんなさい……バグバグでマジでごめんなさい……ホントマジ……



というわけで、バグりがちな箇所の言い訳でした。
またもやキャプチャを使用させて頂いた、同人R-18RPG"Kingexit"はこちら!

でかいサムネ使っておっぱいくらい見えてもええやろとも思いましたが、なんてったって全年齢向け記事なので小さいアイコンです。
めっちゃ良いゲームなので、大人のみんなはぜひ買ってくれな!

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

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

1 2 3 4

月別アーカイブ

限定特典から探す

記事を検索