STEAM GROUP
Divinity: Original Sin 2 日本語化プロジ DOS2日本語化
STEAM GROUP
Divinity: Original Sin 2 日本語化プロジ DOS2日本語化
7
IN-GAME
79
ONLINE
Founded
12 September, 2017
Language
Japanese
Location
Japan 
kengo700 1 Oct, 2017 @ 7:46pm
作業所の負荷軽減策の検討について
作業所が重くて翻訳が少ししづらくなっているので、軽くする方法を検討してメモしておくスレッドです

何かいい方法をご存知の方がいたら、書き込みをお願いします

Last edited by kengo700; 1 Oct, 2017 @ 10:47pm
< >
Showing 1-12 of 12 comments
kengo700 1 Oct, 2017 @ 7:49pm 
負荷の原因について

作業所が重い原因は、下記のようなものが考えられますが、詳細は不明です

データ数が多い
 翻訳データシート:81,125行 × 6列 = 486,750セル

接続者数が多い
 十数人くらい?

データ処理用スクリプトが重い
 翻訳データ変換スクリプト:一時間に一回、通常版と番号付き版
 バックアップスクリプト:一日一回
Last edited by kengo700; 1 Oct, 2017 @ 8:06pm
kengo700 1 Oct, 2017 @ 7:55pm 
対策案:翻訳データのシートを分割する

現在一つのシートにまとめている翻訳データを分割すれば、軽くなるかもしれない(ならないかもしれない)

分割の方法の例
 行数で区切る
  翻訳データ1(1~20000行)
  翻訳データ2(20001~40000行)
  …
 データの種類ごとに区切る
  翻訳データ(船倉)
  翻訳データ(フォートジョイ)
  …
  その他
 列で区切る
  翻訳データ(種類、名前、訳文、進捗列)
  原文データ(原文、ID列)

考えられるデメリット
 シートが増えると、それだけ初見の人が分かりづらくなる
 フィルタによる一覧表示ができなくなる
  例えばエリアごとにシートを分けた場合、「全てのクエストのテキストだけを一覧表示」や「イファンのセリフだけを一覧表示」などをすることなどができなくなる
 翻訳データ変換スクリプトの修正が必要
 データの総量は変わらないので、軽くならない可能性がある
 管理が大変になる
  特にアプデでテキストが削除・追加される場合
 私がまだフォートジョイから脱出していないので、ゲームを進めるまでエリア別に分けることができない
Last edited by kengo700; 1 Oct, 2017 @ 10:54pm
kengo700 1 Oct, 2017 @ 7:58pm 
対策案:作業所を分割する

現在一つの作業所ににまとめているデータを分割すれば、軽くなるかもしれない(ならないかもしれない)

例えば、翻訳作業用のスプレッドシートと進捗閲覧用のスプレッドシートを分ければ、接続数も分散し、負荷が軽減する可能性がある

分割の例
 DOS2日本語化作業所
  シート
   概要
   用語集
   翻訳データ
  スクリプト
   なし
 DOS2日本語化観測所
  シート
   概要
   進捗グラフ
   進捗データ
   翻訳データミラー(IMPORTRANGE関数で作業所のデータを参照)
  スクリプト
   翻訳データ変換
   バックアップ

考えられるデメリット
 作業所が増えると、それだけ初見の人が分かりづらくなる
 分割作業が大変そう
 テキストデータの数は変わらないので、軽くならないかもしれない
Last edited by kengo700; 1 Oct, 2017 @ 8:05pm
kengo700 1 Oct, 2017 @ 8:09pm 
対策案:スクリプトを修正する

データ処理のスクリプトを工夫し、負荷を減らす

考えられる方法
 スクリプトを効率化する
 スクリプトの実行頻度を減らす(一時間に一回は多すぎるかも)
 スクリプトを必要な時だけ実行するようにする
  ボタンやメニューからスクリプトを実行するようにできるはず
 スクリプト処理を別のスプレッドシートで行う
  前述の方法

考えられるデメリット
 私はそれほどGoogle Apps Script(GAS)に詳しくないので、勉強しなおさなければ...
Last edited by kengo700; 1 Oct, 2017 @ 8:11pm
kengo700 1 Oct, 2017 @ 8:15pm 
対策案:その他

翻訳データシートの色付けを止める
 今は進捗「△」を緑、進捗「✕」を黄色に自動で色付けしている
 これをやめれば多少軽くなるかもしれないが、作業しづらくなりそうなので、やりたくはない

作業所を登録制にする
 スプレッドシートの編集を登録制にできるという情報を見た気がする
 デメリットの方が大きいので、却下
Last edited by kengo700; 1 Oct, 2017 @ 8:18pm
kengo700 1 Oct, 2017 @ 8:21pm 
思いついたことメモ

現在の出力ファイルは通常版、番号付き版の2種類だけど、校正作業効率化のために、原文併記版も作った方がよさそう。

フォーマット例
 訳文(原文)
 訳文 / 原文

メニューなどの文字は入りきらないかもしれないので、会話文だけを併記するべきか
kengo700 1 Oct, 2017 @ 10:56pm 
方針

今のところの方針は下記のような感じになるかな

1. 閲覧用の作業所を作成する
  現行の作業所に影響を与えずに、非公開でいろいろ試しつつ
2. 翻訳データのシートをエリア別に分割する(私がゲームをクリアしてから作業に取り組む)
Last edited by kengo700; 1 Oct, 2017 @ 11:10pm
kengo700 3 Oct, 2017 @ 8:02pm 
作業所の負荷が思ったより重いようなので、前倒しでエリア別の分割を行う予定
http://gtm.steamproxy.vip/groups/dos2_jp_mod#announcements/detail/1451707037167169582
エリア名は英語Wikiを見れば確認できるはず

とりあえずスクリプトを修正し、ダウンロードリンクを削除してみた
http://gtm.steamproxy.vip/groups/dos2_jp_mod#announcements/detail/1451707037167229283

確かによく考えると、翻訳作業用のページでデータの配布までやっていたのは微妙だったか
Ryuu 4 Oct, 2017 @ 4:17am 
外していたらごめんなさい。
https://tonari-it.com/gas-spreadsheet-speedup/
kengo700 4 Oct, 2017 @ 7:24pm 
Ryuuさん、情報ありがとうございます!
スクリプトは負荷への影響が少ないと判断して後回しにしているのですが、後々調べる必要があるので助かります。
kengo700 5 Oct, 2017 @ 3:57am 
方針2

負荷を抜本的に解決するために、今のところ作業所を下記のように分割する予定です

Divinity: Original Sin 2 日本語化作業所 中央観測室
 シート
  概要
  用語集
  進捗データ
  進捗グラフ
  全文検索用データ(原文一覧と、各原文がどの翻訳所にあるか)
 スクリプト
  翻訳データ変換
  バックアップ
Divinity: Original Sin 2 日本語化作業所 第一翻訳室
 シート
  概要
  翻訳データ:Origin、Fort Joy(25024行)
 スクリプト
  バックアップ
Divinity: Original Sin 2 日本語化作業所 第二翻訳室
 シート
  概要
  翻訳データ:Reaper's Coast(25214行)
 スクリプト
  バックアップ
Divinity: Original Sin 2 日本語化作業所 第三翻訳室
 シート
  概要
  翻訳データ:その他(30887行)
 スクリプト
  バックアップ

現在はExcelによる分割方法を確立し、各観測所のデータを一つの翻訳データに集約するスクリプトを作成中です



Last edited by kengo700; 5 Oct, 2017 @ 3:57am
kengo700 6 Oct, 2017 @ 4:45am 
10月6日に作業所の改修を行いました

http://gtm.steamproxy.vip/groups/dos2_jp_mod#announcements/detail/1451707209229007216

これで負荷が軽減するかどうか、しばらく様子を見てみます
< >
Showing 1-12 of 12 comments
Per page: 1530 50