mieki256's diary



2016/10/23() [n年前の日記]

#1 [cg_tools] StylePixの日本語言語ファイルをそこそこ修正

少なくとも、メニュー項目の中に「出口」「作物」「地域」等の怪しい訳は無くなった…と思うので、一応置いておくのです。まだ怪しいところが残ってるけど、目立つところは直せたはず。 *1

_Jp_m256_20161023_txt.zip (StylePix 1.14.5.0 用)

Languageフォルダに入れて StylePix を起動すれば、オプションから言語を切り替えて使える。ファイル名が言語名として扱われるようで。

ちなみに、StylePix 2.0.0.5 の言語ファイルは、1.14.5.0 より微妙に項目数が増えていて、その増えた分が Japanese.txt に反映されてないように見えた。

チェック作業に使ったRubyスクリプト。 :

StylePix の言語ファイルを読み込んで、CSVファイルとして出力するRubyスクリプトを書いた。出力された CSV を、Excel や LibreOffice Calc 等で開けば視認性が良くなるので、抜けがないかチェックしやすくなる。というか抜けてるところだけリストアップするスクリプトにしたほうがいいのかもしれないけど。

動作確認環境は、Windows10 x64 + Ruby 2.2.5 p319。

使い方は、Languageフォルダの中に id_dump.rb を置いて、ruby id_dump.rb と打って実行。__tmp.csv が出力される。出力内容には、英語、日本語(オリジナル)、日本語(修正版)だけを並べている。

ちなみに、言語化ファイル群の中にはハングル文字で書かれたファイルがあるけど、そのままだとアクセスすらできないだろうから、そのファイルだけkorean.txt にリネームしてから作業した。

_id_dump.rb
# StylePix Language file check.
# output __tmp.csv (UTF-16LE + BOM)

output_file = "__tmp.csv"

# StylePix Language files
filelist = [
  'English.txt',
  'Japanese.txt',
  'Jp_m256_20161023.txt',
  'Arabic.txt',
  'ChineseSimplified.txt',
  'ChineseTraditional.txt',
  'French.txt',
  'German.txt',
  'Italian.txt',
  'Welsh.txt',
  'korean.txt', # please rename
]

# pickup language files
pickuplist = [
  'English.txt',
  'Japanese.txt',
  'Jp_m256_20161023.txt',
]

# UTF-16LE string
re_comment = Regexp.new( '^\/\/'.to_s.encode( "UTF-16LE" ))
re_blankline = Regexp.new( '^\s+$'.to_s.encode( "UTF-16LE" ))
re_word_tab_word = Regexp.new( '^(\S+)\s+\"(.+)\"$'.to_s.encode( "UTF-16LE" ))
re_start_quot = Regexp.new( '^"'.to_s.encode( "UTF-16LE" ))
re_end_quot = Regexp.new( '\"$'.to_s.encode( "UTF-16LE" ))
nullstr = "".encode("UTF-16LE")
sep = "\t".encode("UTF-16LE")

# File read
data = {}
id_lst = {}
filelist.each do |fn|
  dt = {}
  f = File.open(fn, 'rb:BOM|UTF-16LE')
  while l = f.gets
    l.chomp!
    next if l =~ re_comment # skip comment
    next if l =~ re_blankline # skip blank line
    if l =~ re_word_tab_word
      id, value = $1, $2
      dt[id] = value
      if id_lst.has_key?(id)
        id_lst[id] += 1
      else
        id_lst[id] = 1
      end
    end
  end
  f.close
  data[fn] = dt
end

# make csv
res = []
header = []
header.push("ID".encode("UTF-16LE"))
pickuplist.each do |fn|
  header.push(fn.encode("UTF-16LE"))
end
res.push(header)

id_lst.keys.each do |id|
  dt = []
  dt.push(id)
  pickuplist.each do |fn|
    v = data[fn]
    dt.push((v.has_key?(id))? v[id] : nullstr)
  end
  res.push(dt)
end

# output csv (UTF-16LE + BOM)
f = open(output_file, 'wb:UTF-16LE')
f.write "\uFEFF"  # BOM
res.each do |l|
  f.puts l.join(sep)
end
f.close

Excel や LibreOffice Calc に渡す CSV は、UTF-16LE + BOM じゃないといかんらしいので、スクリプト内でやたらと encode("UTF-16LE") を呼んでいたり。

一応、出力されたCSVも置いてみたりして。

___tmp_csv.zip

余談。StylePixの動作がちょっと怪しい気がする。 :

StylePix起動時の動作が、なんだかちょっと怪しい感じがする。OS起動直後に起動する分には素早く起動してくれるけど、何度か StylePix の終了と起動を繰り返しているうちに、デスクトップ画面全体を巻き込んで、しばらく操作できない場面が出てくる…。一体何が起きてるんだろう…。ちなみに環境は Windows10 x64。

余談その2。StylePix 2.xの起動は遅い。 :

StylePix 1.x は起動が比較的早いけど、2.x はめっきり起動が遅い感じで。

ただ、起動と終了を何度も繰り返した状況で確認したので、インストールした直後なら起動が早かったりするのかもしれないけど、そこまで確認していない。

2016/10/28追記。 :

最初は txt ファイルを置いていたのだけど、サーバにアップロードしてみたら途中で切れてた…。zipファイルにして置き直したり。

*1: 公式のソレに反映してもらえたらいいのだけど、自分、英語が全く分からんから交渉しようもなく。

以上です。

過去ログ表示

Prev - 2016/10 - Next
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project