Difference between revisions of "Ar Tonelico III"

From Learning Languages Through Video Games
Jump to navigationJump to search
(clean up and clarify, previous edit was by me)
 
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Lots and lots of text and lots of obscure kanji! Yeah! Done after Duke Nukem is out.
+
Lots and lots of text and lots of obscure kanji!
 
== Translations ==
 
== Translations ==
* [[/jp-en|Japanese to English]]
+
* [[/ja-en|Japanese to English]]
 
(or should I translate to German??)
 
(or should I translate to German??)
  
 
== Tips ==
 
== Tips ==
I used Japanese IME canna under ubuntu compiled from source and changed kana-kanji dictionaries, so that kanji+furigana is written upon entering and converting Japanese text.
+
I used the Japanese IME "canna" under ubuntu, compiled from source, and changed kana-kanji dictionaries, so that kanji+furigana is written upon entering and converting Japanese te
I also made a ordner and a very simple script layout, which is then parsed and styled to wiki with a simple lua script.
+
==Script==
 +
Yeah, the script in Japanese with a complete English translation [http://www.2shared.com/file/6v-zJ7J4/joined.html][https://rapidshare.com/files/457743039/joined](3.2MB) :)
 +
Oh, and btw, the AT3 script contains 1026643 characters : )
  
I am using the following script for creating wiki sytnax from more readable file:
+
[[Category:Game pages]]
 
+
[[Category:PS3 games]]
<nowiki>
 
root    = "/home/mad_gaksha/Documents/AT3 Script/"
 
root_out = "/home/mad_gaksha/Documents/AT3 Script (wiki)/"
 
 
 
file = "Cosmosphere/Finnel/LV04/002"
 
 
 
furi_plain = false
 
 
 
hero = "アオと"
 
 
 
--speaker abbreviations
 
abr = {}
 
abr["ふぃる"] = "フィンネル"
 
 
 
-- do not change from here on
 
spcl = false
 
heroine = ""
 
 
 
if string.find(file,"Cosmosphere") or string.find(file,"Talk_Inn") then
 
spcl = true
 
if string.find(file,"Saki") then
 
  heroine = "サキ"
 
elseif string.find(file,"Finnel") then
 
  heroine = "フィンネル"
 
elseif string.find(file,"Tillia") then
 
  heroine = "ティリア"
 
end
 
end
 
 
 
--add html ruby syntax for furigana
 
function insert_ruby(line)
 
cur_line = line
 
while string.find(cur_line,"+") do
 
  sta = string.find(cur_line,"+")
 
  beg = string.find(cur_line,"<",sta)
 
  ter = string.find(cur_line,">",sta)
 
  text = string.sub(cur_line,sta+1,beg-1)
 
  furi = string.sub(cur_line,beg+1,ter-1)
 
  if furi_plain then
 
  ruby = " " .. text .. "(" .. furi .. ")"
 
  else
 
  ruby = "<ruby><rb>" .. text .. "</rb><rp>(</rp><rt>" .. furi .. "</rt><rp>)</rp></ruby>" 
 
  end
 
  cur_line = string.sub(cur_line,1,sta-1) .. ruby .. string.sub(cur_line,ter+1)
 
end
 
return cur_line
 
end
 
 
 
input  = root    .. file
 
output = root_out .. file
 
trans= io.open(input  .. "_trans")
 
out  = io.open(output .. "_wiki","w")
 
trans_line = ""
 
 
 
line_no = 0
 
 
 
for line in io.lines(input) do
 
 
 
line_no = line_no+1
 
--for syntax error in source, make locating them easier
 
print("Now processing line " .. line_no .. ".")
 
 
 
first_char = string.sub(line,1,3)
 
secnd_char = string.sub(line,4,6)
 
 
 
if first_char == "*" then
 
  if secnd_char == "*" then
 
  --comment,language explanation
 
  out:write("*" .. insert_ruby(string.sub(line,7)) .. "\n<br>\n")
 
  else
 
  --contextual comment
 
  out:write("'''CONTEXT''': " .. insert_ruby(string.sub(line,4)) .. "\n<br>\n")
 
  end
 
elseif first_char=="(" then
 
  --location,time,event
 
  out:write("==" .. insert_ruby(string.sub(line,4,#line-3)) .. "==" .. "\n<br><br>\n")
 
elseif #line>2 then --spoken line
 
 
 
--get translated line, if existing
 
if trans then
 
  repeat
 
  trans_line = trans:read()
 
  if not trans_line then
 
    trans = false
 
    trans_line = "???"
 
    break
 
  end
 
  until #trans_line>2 --avoid accidental spaces and empty lines
 
else
 
  trans_line = "???"
 
end
 
 
  --get speaker
 
  speaker = ""
 
  if first_char == " " then
 
  speaker = heroine
 
  line = string.sub(line,4)
 
  elseif first_char == "_" then
 
  speaker = hero
 
  line = string.sub(line,4)
 
  else
 
  space = string.find(line," ")
 
  if space then
 
    speaker = string.sub(line,1,space-1)
 
    line = string.sub(line,space+3)
 
    if abr[speaker] then
 
    speaker = abr[speaker]
 
    end
 
  else
 
    speaker = "[N/A]"
 
  end
 
  end
 
  --print(speaker .. ": " .. line)
 
 
 
  cur_line      = line
 
  cur_line_furi = line
 
  while string.find(cur_line,"+") do
 
  sta      = string.find(cur_line    ,"+")
 
  sta_furi = string.find(cur_line_furi,"+") 
 
  beg      = string.find(cur_line    ,"<",sta    )
 
  beg_furi = string.find(cur_line_furi,"<",sta_furi)
 
  ter      = string.find(cur_line    ,">",sta    )
 
  ter_furi = string.find(cur_line_furi,">",sta_furi)
 
  text = string.sub(cur_line,sta+1,beg-1)
 
  furi = string.sub(cur_line,beg+1,ter-1)
 
  cur_line      = string.sub(cur_line    ,1,sta    -1) .. text .. string.sub(cur_line    ,ter    +1)
 
  cur_line_furi = string.sub(cur_line_furi,1,sta_furi-1) .. furi .. string.sub(cur_line_furi,ter_furi+1)
 
  end
 
  if string.find(cur_line,"<hym>") then
 
  --currently only whole dialogue lines implemented in wiki syntax...
 
  cur_line = string.gsub(cur_line,"<hym>","")
 
  cur_line = string.gsub(cur_line,"</hym>","")
 
  out:write("{{Hy-r-en|speaker=" .. speaker .. "\n|" .. cur_line .. "\n|" .. trans_line  .. "}}" .. "\n<br>\n")
 
  else
 
  out:write("{{jp-r-en|speaker=" .. speaker .. "\n|" .. cur_line .. "\n|" .. cur_line_furi .. "\n|" .. trans_line  .. "}}" .. "\n<br>\n")
 
  end
 
end
 
end
 
 
 
out:close()
 
</nowiki>
 

Latest revision as of 19:43, 16 April 2011

Lots and lots of text and lots of obscure kanji!

Translations[edit]

(or should I translate to German??)

Tips[edit]

I used the Japanese IME "canna" under ubuntu, compiled from source, and changed kana-kanji dictionaries, so that kanji+furigana is written upon entering and converting Japanese te

Script[edit]

Yeah, the script in Japanese with a complete English translation [1][2](3.2MB) :) Oh, and btw, the AT3 script contains 1026643 characters : )