You must be registered to see the links
You must be registered to see the links
Game thread for the sequel
I started working on this nearly 1,5 years ago, always sometimes translating a few UI elements and then forgetting it again for a few weeks.
Released a beta to see what happens ^_^
(normally nothing should happen ~_~)
(->attachment)
Update 05.04.2016
(Future changes to the translation should not damage a save file unless it is a spell name....)
Changelog
Code:
29.03.2016 --- Beta Release
31.03.2016 --- Forget a " at the end of a string -> crash
-------------- Disabled Save/Load in the menu bar
05.04.2016 --- Removed all items from Gecko Fort which were for debugging
-------------- Disabled Help button on menu bar
-------------- Fixed underscore display in nearly all text
Code:
--------------------------------------------------------------------
UI-Translation patch for 魔剣士リーネ(Leane of Evil Blade)
by [email protected]
--------------------------------------------------------------------
Release date: 05.04.2016
--------------------------------------------------------------------
This patch can be classified as "beta" release,
it should not crash but who nows....
--------------------------------------------------------------------
!! All japanese saves are incompatible with this patch and via versa !!
--------------------------------------------------------------------
If you want to report something, do it here: http://www.ulmf.org/bbs/showthread.php?t=28706
--------------------------------------------------------------------
What is translated:
Interface (all windows) (excluding Manual/Help Menu)
All battle messages (X did Y damage to Z)
All other messages (spying, building, etc)
All troop names
All spell names
All names (of all MAIN CHARACTERS -> sometimes dudes appear only a single time, these cases will mostlikely not be translated)
Random sentences in the middle of japanese
Tutorial (moving, attacking, etc is translated)
Choosing difficulty is completely translated
A bit of the prologue
All quest messages (X found Y, etc)
--------------------------------------------------------------------
Known Problems:
Some names are so large they overlap with other things
--------------------------------------------------------------------
Changelog:
29.03.2016 --- Beta Release
31.03.2016 --- Forget a " at the end of a string -> crash
-------------- Disabled Save/Load in the menu bar
05.04.2016 --- Removed all items from Gecko Fort which were for debugging
-------------- Disabled Help button on menu bar
-------------- Fixed underscore display in nearly all text
--------------------------------------------------------------------
Get the game:
japanese site: http://www.dlsite.com/maniax/work/=/product_id/RJ095489
english site: http://www.dlsite.com/ecchi-eng/work/=/product_id/RE095489
Update game to version 1.27
Directlink to patch from official homepage:
http://www.makuracover.com/leane/leane_update_127.zip
Your game folder should now contain:
data.xp3
leane.exe
patch.xp3
+whatever
Extract zip file with the translation so that:
data.xp3
leane.exe
patch.xp3
patch2.xp3
+whatever
You will mostlikely need to set your computer to japanese local
or must use an emulator like
Locale Emulator (github.com/xupefei/Locale-Emulator/releases)
to run the game
:)
Pics:
TODO:
Names of the bad ends are not completely translated, but I don't get the formating that was done with the text.
I need to reach them to see how the look like
I need to reach them to see how the look like
A few tales of my journey through the source code:
Original japanese code:
My modified code:
They actually hijacked the latin alphabet and used the letters "r|i|g|y|p|s|b|w" for color-coding the displayed text.
When I first started translating I did not know of this and was going crazy why my text was displayed as abomination.
After a lot of trial and error I finally found out why there where "random latin letters" in the japanese text
After that I completely restarted my translation and searched every single instance where "r|i|g|y|p|s|b|w" gets used as color (found ~96%) and replaced them with notepad++.
And because I'm lazy I hijacked greek letters for coloring
(Don't worry you greek translator, just find another alphabet to hijack I already did the work you just need the "Find all "X" in all files" and then "Replace "X" with "Y" in all files" )
prey_name
stopped a quest
and returned to
house_name.
I had to manually modify all strings which contain a variable (or 4 'o') and had to arrange them to fit into an english sentence structure.
The underscore "_":
The main problem:
In japanese there is literally no space (single press of spacebar) used.
Therefore they can use whole senteces as variables in the programme code without problems.
Because using a space in a variable is not possible the underscore substituted.
They biggest pain in translating "programme source code" is that you always must find every single instance of your word and translate it when its a variable. Sounds fun when you have 40+ files. But all hail notepad++'s "Find all in all open files" (I just dumped all files into it) and then "Replace X with Y in all open files" [worked 90% of the time, the rest I don't want to talk about ~_~]
UI:
Omg, this....
エラシア解放同盟
Erashia_Liberation_Alliance
"Affiliation:"+Content was originally a single line;
I modified the hole bottom left corner code so that it does not overlap.
But even now "Erashia_Liberation_Alliance" is still overlapping a bit at the right with other text
Original:
傷兵回復力
Wounded soldier recovery power
新兵供給力
Recruit supply power
Fitting such horror names into the designed boxes....
One needs creativity ^lol^
Top right corner:
Code:
function processStr(text)
{
// KAG の代わりに使う簡易文章表示
for(var i = 0; i < text.length; i++)
{
if(text[i] == "r") reline(); // r : 改行
else if(text[i] == "i") indentxpos += 5; // i : インデント
else if(text[i] == "g") chColor = 0x80FF80; // g : 緑
else if(text[i] == "y") chColor = 0xFFFFC0; // y : 黄色
else if(text[i] == "p") chColor = 0xFFC0C0; // p : ピンク
else if(text[i] == "s") chColor = 0xC0FFFF; // s : 空色
else if(text[i] == "b") chColor = 0xC0C0FF; // b : 青
else if(text[i] == "w") chColor = 0xFFFFFF; // w : 白
else processCh(text[i]);
}
}
Code:
function processStr(text)
{
// KAG の代わりに使う簡易文章表示
for(var i = 0; i < text.length; i++)
{
if(text[i] == "α") reline(); // Line break α r : 改行 kaigyou
else if(text[i] == "β") indentxpos += 5; // Indent β i : インデント indento
else if(text[i] == "γ") chColor = 0x80FF80; // Green γ g : 緑 midori
else if(text[i] == "δ") chColor = 0xFFFFC0; // Yellow δ y : 黄色 kiiro
else if(text[i] == "ε") chColor = 0xFFC0C0; // Pink ε p : ピンク pinku
else if(text[i] == "ζ") chColor = 0xC0FFFF; // Sky blue ζ s : 空色 sorairo
else if(text[i] == "η") chColor = 0xC0C0FF; // Blue η b : 青 ao
else if(text[i] == "θ") chColor = 0xFFFFFF; // White θ w : 白 shiro
else processCh(text[i]);
}
}
When I first started translating I did not know of this and was going crazy why my text was displayed as abomination.
After a lot of trial and error I finally found out why there where "random latin letters" in the japanese text
After that I completely restarted my translation and searched every single instance where "r|i|g|y|p|s|b|w" gets used as color (found ~96%) and replaced them with notepad++.
And because I'm lazy I hijacked greek letters for coloring
(Don't worry you greek translator, just find another alphabet to hijack I already did the work you just need the "Find all "X" in all files" and then "Replace "X" with "Y" in all files" )
Code:
Original:
bannerInfo.open("s"+ prey.name + "wが探索を中断してy" + house.name + "wに帰還しました");
Modified and translated:
bannerInfo.open("ζ"+ prey.name + "αθstopped a questαand returned toαδ" + house.name + "θ.");
stopped a quest
and returned to
house_name.
I had to manually modify all strings which contain a variable (or 4 'o') and had to arrange them to fit into an english sentence structure.
The underscore "_":
Code:
if(btcmds[n] == o.パワー || btcmds[n] == o.シールド || btcmds[n] == o.クイック
|| btcmds[n] == o.マジックバリア || btcmds[n] == o.水の壁)
{
if(boost === void) return btcmds[n];
return o.攻撃;
}
Code:
if(btcmds[n] == o.Power_UP || btcmds[n] == o.Shield || btcmds[n] == o.Quick
|| btcmds[n] == o.Magic_Barrier || btcmds[n] == o.Water_Shield)
{
if(boost === void) return btcmds[n];
return o.Attack;
}
In japanese there is literally no space (single press of spacebar) used.
Therefore they can use whole senteces as variables in the programme code without problems.
Because using a space in a variable is not possible the underscore substituted.
They biggest pain in translating "programme source code" is that you always must find every single instance of your word and translate it when its a variable. Sounds fun when you have 40+ files. But all hail notepad++'s "Find all in all open files" (I just dumped all files into it) and then "Replace X with Y in all open files" [worked 90% of the time, the rest I don't want to talk about ~_~]
UI:
Omg, this....
エラシア解放同盟
Erashia_Liberation_Alliance
"Affiliation:"+Content was originally a single line;
I modified the hole bottom left corner code so that it does not overlap.
But even now "Erashia_Liberation_Alliance" is still overlapping a bit at the right with other text
傷兵回復力
Wounded soldier recovery power
新兵供給力
Recruit supply power
Fitting such horror names into the designed boxes....
One needs creativity ^lol^
Top right corner:
Attachments
-
943.6 KB Views: 1,741
Last edited: