Posts: 44
Threads: 10
Joined: Dec 2012
01-04-2013, 08:54 PM
Hi everybody! I've been looking for so long for a decent multilanguage script that even changes names from the database (items, skills and stuff).
Long ago I found a script that read the names from an externat txt so, for example, in the txt you have defined 'I-1= L1:Potion L2:Poción (in spanish), then you put in your database the name I-1 for Potion and the script searches for I-1 in the txt and depending on the language you choose it would display language 1 or language 2. Someone in possession of this script or brave enough to create it from scratch? :D
Any other scripts equally efficient will be welcomed as well. Thanks beforehand!
Posts: 4,606
Threads: 543
Joined: Dec 2009
Wouldn't it be easier for you to create a copy of your items, weapons, armors, skills, states db and paste it somewhere, translate it into the desired language and then edit their filenames so they include some sort of language ID like original_filename_no_extension + "_ESP.rxdata" and paste it in the original Data folder? I guess that would make things a bit easier for scripters to tell the game to choose a data file depending on the user language settings...
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!
Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Posts: 867
Threads: 15
Joined: Nov 2009
Maybe someone could build an installer for that. So you can chose a language and the installer puts the right rxdata files in the folder.
Posts: 11,231
Threads: 649
Joined: May 2009
I think I understand what he's talking about insofar as multilanguage support. My tool, CharGen Ex, has an option for optional languages and loads non-English words for the editor as 'Heads', 'Hair', 'Eyes', along with system words for 'Save' and 'Exit'.
However, it may be a bit more of a daunting task to have multiple language support for an actual RPGMaker game where dialog is concerned. You would need to have a way to load the text for every messagebox instance throughout the game. Not only that, but ensure that the text for every language variance doesn't get cut off as some messages may take a good number of lines. Translation and correct syntax may be a pain.
But it isn't impossible. I have seen a script that can load messagebox texts from an outside file which could help in this endeavor, though cheaters may try and read these files so they can sneak through the game. But, if you couple that with a script to convert these text files into RGSS code that can be encrypted with your game, it may be done. Hard to do, but possible.
With that in mind, you also want to change the text of typical 'SYSTEM' words into various languages. These words are defined in the game editor itself. A hidden class holds these values, so it's more of a challenge to just go and edit classes like Scene_Menu where it says '$data_system.words.item' (storing the ITEM word) to a new multilanguage replacement. It would be necessary for every class that brings up text, be it a Windows_ or Scene_ class. I'm not sure you can edit/replace the text in the $data_system.words class. But the text in the Windows_ classes would need editing.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
Above are clickable links
Posts: 4,606
Threads: 543
Joined: Dec 2009
That's why working with several copies of the rxdata or rvdata files would make it easier to translate it, if we don't include dialogs and default window scripts... There wouldn't be a need to convert any of the database files but just their filename by adding a "_YOURLANG" string just in front of dots and file extensions. For the game dev it would be the user friendliest way to do it because they would just need to use the existing UI to edit anything there. Did the game dev add 3 new items to the db? No problem, copy and paste them in every single additional item db and then translate it to the desired language.
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!
Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Posts: 44
Threads: 10
Joined: Dec 2012
(01-05-2013, 05:00 AM)DerVVulfman Wrote: However, it may be a bit more of a daunting task to have multiple language support for an actual RPGMaker game where dialog is concerned. You would need to have a way to load the text for every messagebox instance throughout the game. Not only that, but ensure that the text for every language variance doesn't get cut off as some messages may take a good number of lines. Translation and correct syntax may be a pain. @DerVVulfman: Well, I wasn't expecting to use the system I mentioned in dialogs, for that matter I think is easier using engines, for example:
Condition: variable language=1
Show Message: Good morning!
Exception (this way, if something goes wrong we have a DEFAULT language)
Show Message: Buenos días!
We don't need to use scripts and make them call entire dialogs, we just add them normally.
Quote: Maybe someone could build an installer for that. So you can chose a language and the installer puts the right rxdata files in the folder.
@Ace : The idea is that the player might be able to switching languages in-game, an installer could be a good solution but they will be unable to do so.
Quote: Wouldn't it be easier for you to create a copy of your items, weapons, armors, skills, states db and paste it somewhere, translate it into the desired language and then edit their filenames so they include some sort of language ID like original_filename_no_extension + "_ESP.rxdata" and paste it in the original Data folder? I guess that would make things a bit easier for scripters to tell the game to choose a data file depending on the user language settings...
@kyonides : That could actually work, then I just would have to look for every place where Armors, Classes, Enemies, Items, Skill, States, System and Weapons data are called and add a condition where they should call just one of each data, right? It will take a while but still is less effort than what I was looking for. However, is still possible to add another conditional to the menu commands?
Posts: 4,606
Threads: 543
Joined: Dec 2009
In most cases you wouldn't need to do it except for terms like steps and others that aren't included in the database options. In order to effectively solve this issue, you would just need to make a single TXT file where you could place every term and their translations in a single line separated by a comma or a dot... Mmm, the comma would be your best option. Then someone could make a module where this single file would be read and get every single term and assign it to a specific object like an array or a hash or a class, I don't know, and then the default and even some custom scripts could get the info from it by checking a game variable's value, I'd recommend a numeric value (an integer) equal or greater than 1000 to make sure that there would be no way that it could get confused or be reused for a different purpose without causing an obvious error that could alert you about any unintentional (value) changes. If there are no mistakes found while beta testing your game, you could check that game variable value by pressing F9 button and searching for that specific variable. Whenever you find a 1000 it means that the language chosen should be, eh, English, 2000 would mean the player wants to read everything in Spanish and so on.
Mmm, now that I was thinking a little bit more about the dialogs language settings, you could still do the same as you'd do with the database, copy the map and map info data, paste it somewhere else, translate it and then let a script search for the specific language data file the same way it'd do it with the other files I mentioned yesterday.
I'm really convinced that the need to create too many TXT files and convert their contents would be reduced to the very minimum because a single found would be needed for all those things that could not be either changed directly in the events or in the database.
I know, that might make your game package get some additional 1 or 2 MB of data but no one would be capable of editing any TXT file and other resources (like images and audio files) would still required more available space on the player's hard disk than the whole data files size multiplied by 10 or 20 or even 30.
I guess I ingested too much caffeine, again...
EDIT
Wait, it's even easier that I have foreseen as of yesterday. Just make a copy of your Data folder, paste it right there. The system will tell you there's another folder with the same name or it'll just rename it automatically, ie. Copy of Data. Rename it manually so it says something like DataESP, do NOT rename any of the files stored inside that folder. A script should care about the rest by selecting a folder depending on the user preferences and for any scripter the rest of the job would be some sort of piece of cake.
The only thing is that the translations should be the very last step of your game development. You may ask why should it be like that. Well, unless you don't mind having to copy the Data folder and its contents in their original version and having to translate just everything once again from the very beginning, that would be the best thing to do to avoid wasting time whenever you make an update to the main language version of your game.
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!
Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Posts: 44
Threads: 10
Joined: Dec 2012
(01-05-2013, 06:29 PM)kyonides Wrote: Wait, it's even easier that I have foreseen as of yesterday. Just make a copy of your Data folder, paste it right there. The system will tell you there's another folder with the same name or it'll just rename it automatically, ie. Copy of Data. Rename it manually so it says something like DataESP, do NOT rename any of the files stored inside that folder. A script should care about the rest by selecting a folder depending on the user preferences and for any scripter the rest of the job would be some sort of piece of cake.
The only thing is that the translations should be the very last step of your game development. You may ask why should it be like that. Well, unless you don't mind having to copy the Data folder and its contents in their original version and having to translate just everything once again from the very beginning, that would be the best thing to do to avoid wasting time whenever you make an update to the main language version of your game. Yeah, that could actually work fine and seems a lot easier than the other idea. But, as you said, I should add such a script (and extra data) later on. And because this was a petition and I know nothing about scripting, someone can help me by doing such a script? I suppose I have to add some conditional whenever the scripts are reading the data, so if someone is kind enough to write that little piece of script I could add it myself (and then if the game crashes I will come back, no worries). And I suppose that I'm going to need another conditional or something for the Scene Menu, Save and Title... Plus, if posible a pre-title scene where the game asks the player to chose a language.
Very thankful to everyone for your responses :)
Posts: 4,606
Threads: 543
Joined: Dec 2009
If someone crafts such a script, there wouldn't be a need for making a lot of conditions, they could just change the variable that's going to be printed on screen, ie. instead of just $data_system.words.gold it might be Lang[Preselected_Game_Variable].gold or something like that.
EDIT
Anyway, I already uploaded a beta version of my script to mediafire. Here's the download link.
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!
Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Posts: 44
Threads: 10
Joined: Dec 2012
(01-06-2013, 04:57 AM)kyonides Wrote: Anyway, I already uploaded a beta version of my script to mediafire. Here's the download link. Wow, it's just perfect, exactly what I needed and seems to work more than just fine. Thanks a lot mate! If there's anyway to give you karma or something like that in this forums please let me know, I'm new here
|