- Joined
- Sep 12, 2009
- Messages
- 14,304
- Trophies
- 4
- Age
- 39
- Location
- Cyprus, originally from Toronto
- Website
- modmii.github.io
- XP
- 10,867
- Country
I've been asked a number of times how to translate ModMii into other languages. I have some canned responses I often provide folks with privately on how to get started, but I think it's time to just make this public knowledge.
First some background, ModMii has been translated to other languages before and the biggest challenge for the translators was keeping up with the fast pace of changes\improvements I was constantly making to the English version. It's gotten to the point now where I would advise people only use the English version of ModMii.
The good news is that AFTER my last update (currently the English version of ModMii is at v7.0.0), ModMii is pretty much final, with future updates being minimal and mostly geared towards bug-fixes and that sort of thing, maybe the odd new feature here and there depending on if the scene has some unexpected developments that I just HAVE to add to ModMii. I am confident in saying this because over the years I have maintained a wish-list of all the features I wanted to eventually add to ModMii, and with this last update I have considered every single idea I've ever had over the years.
If you've gotten this far and you're still thinking of translating ModMii, congrats! Here’s the thing, you would pretty much be owning it. I would help as much as I can, and provide direction as to how to best approach it, but ultimate accuracy of the translations, and more important, testing that nothing non-translation related breaks.
Have you looked at modmii.bat and modmiiskin.bat + all the 001 files in the support\guide support\subscripts folders to get an idea of just how much work you're in for (note subscripts folder not present in 6.6.3 or lower)? Have a read through, because it's definitely a lot of work. Basically all the 001 files would need to be translated, and in the bat files you'd need to search for any lines with "echo " that require translating (some won't need to be translated, and may break things if they get changed), and also some lines with "set " where I'm declaring a variable shouldn’t change, one other useful item for your toolkit, if you look in modmii.bat for "support\sfk echo -spat" you'll find examples of how I get special characters to display in the console window using their 2 digit hex code. This may be useful for you during translations, example:
Here's how to get accents and special characters to display in a command window properly:
( note: ñ = f1 )
Instead of:
Use the following command:
To get started with translating there are a few things to note. First, ModMiiSkin cannot currently use special characters. I’m talking to someone else about building a new ModMiiSkin. If it ever gets done, it will be built with easy translations in mind. I’m not sure, but if you can write in German (or insert other language here) using only English characters, then you could also try translating ModMiiSkin in its current state. That being said, definitely save that for the very end, as you would need to redo that if there’s a Skin update anyway, plus Skin won’t work without Classic, and there's nothing Skin can do that Classic cannot do better, so yeah, definitely save translating ModMiiSkin for last, we can possibly release a translation that does not include a Skin option at all.
To help get started download this for some scripts and instructions I wrote a looooooooong time ago about translating ModMii, most things still apply today, let me know if you have questions. Old instructions copied\pasted into spoiler below as well. I suggest reading the spoiler instead of "Translation_ReadMe.txt" as I've made some small changes to remove things that are no longer relevant (see text with strike-throughs in spoiler below).
Note that in translator_1.bat, if you prefer to keep blank lines, change FINDSTR /N . to FINDSTR /N "^"
and in the same file, if you want to exclude "echo." lines then add -!"echo."
Important: if using the translator scripts to help make translations easier, test it out with a small section before investing lots of time. These scripts should help, but they might not be perfect and I haven't tested or looked at them in years.
So there's a couple ways to proceed if you are still interested in making a modmii translation, you can just run off with these very basic directions, and come back to me for anything you need help with. Or 2, you can leverage the short scripts I wrote ages ago (from the link above) that makes a copy of modmii.bat, filters them so that you're working with a much shorter file (that should capture most of the lines that need translating), then you translate it, and the translator script will compare it to the English filtered file and then edit\replace the appropriate lines in modmii.bat. It may not work perfectly though, so I would test it out before investing a lot of time. Even if you don’t use the scripts, definitely download them and at least read the directions I wrote from back then (see spoiler above).
Oh and we will need to bake in its own custom updater script, so that it doesn't update to the latest English version, don't worry about that part for now, it's easy for us to do close to the end: https://github.com/modmii/modmii.github.io/blob/master/temp/updater.bat
When translating I think I would prefer if you didn't translate comments, it's more work for you anyway, and the English comments can serve as virtual landmarks for me if I'm ever troubleshooting something.
When you get to the stage of confirming the translated guides are good, save these (syscheck-guide.csv and guidegenerator.bat) to the same directory as modmii.exe and run the bat file, it will generate a bunch of guides that should cover 99% of the content (although there will be plenty of overlap in the guides). This way you don’t need to generate guides one by one manually. https://www.mediafire.com/file/g10dqxgsvx776zg/guidegenerator.zip/file
Oh and ModMii videos are all done in English, lol. I would just leave those as is for now. I may be able to get the original raw recordings for some videos so so that it will be easy to make copies in other languages in the future.
If you decide to do a translation it's gonna be a lot of work, but the people that speak your language will love you for it. Trust me when I say this community is amazing and appreciative.
XFlak
First some background, ModMii has been translated to other languages before and the biggest challenge for the translators was keeping up with the fast pace of changes\improvements I was constantly making to the English version. It's gotten to the point now where I would advise people only use the English version of ModMii.
The good news is that AFTER my last update (currently the English version of ModMii is at v7.0.0), ModMii is pretty much final, with future updates being minimal and mostly geared towards bug-fixes and that sort of thing, maybe the odd new feature here and there depending on if the scene has some unexpected developments that I just HAVE to add to ModMii. I am confident in saying this because over the years I have maintained a wish-list of all the features I wanted to eventually add to ModMii, and with this last update I have considered every single idea I've ever had over the years.
If you've gotten this far and you're still thinking of translating ModMii, congrats! Here’s the thing, you would pretty much be owning it. I would help as much as I can, and provide direction as to how to best approach it, but ultimate accuracy of the translations, and more important, testing that nothing non-translation related breaks.
Have you looked at modmii.bat and modmiiskin.bat + all the 001 files in the support\guide support\subscripts folders to get an idea of just how much work you're in for (note subscripts folder not present in 6.6.3 or lower)? Have a read through, because it's definitely a lot of work. Basically all the 001 files would need to be translated, and in the bat files you'd need to search for any lines with "echo " that require translating (some won't need to be translated, and may break things if they get changed), and also some lines with "set " where I'm declaring a variable shouldn’t change, one other useful item for your toolkit, if you look in modmii.bat for "support\sfk echo -spat" you'll find examples of how I get special characters to display in the console window using their 2 digit hex code. This may be useful for you during translations, example:
Here's how to get accents and special characters to display in a command window properly:
( note: ñ = f1 )
Instead of:
Code:
echo Españiol
Code:
support\sfk echo -spat Espa\xf1iol
To get started with translating there are a few things to note. First, ModMiiSkin cannot currently use special characters. I’m talking to someone else about building a new ModMiiSkin. If it ever gets done, it will be built with easy translations in mind. I’m not sure, but if you can write in German (or insert other language here) using only English characters, then you could also try translating ModMiiSkin in its current state. That being said, definitely save that for the very end, as you would need to redo that if there’s a Skin update anyway, plus Skin won’t work without Classic, and there's nothing Skin can do that Classic cannot do better, so yeah, definitely save translating ModMiiSkin for last, we can possibly release a translation that does not include a Skin option at all.
To help get started download this for some scripts and instructions I wrote a looooooooong time ago about translating ModMii, most things still apply today, let me know if you have questions. Old instructions copied\pasted into spoiler below as well. I suggest reading the spoiler instead of "Translation_ReadMe.txt" as I've made some small changes to remove things that are no longer relevant (see text with strike-throughs in spoiler below).
Note that in translator_1.bat, if you prefer to keep blank lines, change FINDSTR /N . to FINDSTR /N "^"
and in the same file, if you want to exclude "echo." lines then add -!"echo."
Important: if using the translator scripts to help make translations easier, test it out with a small section before investing lots of time. These scripts should help, but they might not be perfect and I haven't tested or looked at them in years.
ModMii Translation Instructions
===============================
BASIC IMPORTANT INFO
====================
First, download the latest english version of ModMii, either use the ModMii installer or download itfrom here:
http://code.google.com/p/modmii/dow...mmary+Uploaded+ReleaseDate+Size+DownloadCount
Open support\ModMii.bat file in notepad or some other text editor and you can start translating.
Please only translate the text that come after the word "echo", and also leave any redirects (">") alone. Also be sure to leave any variables alone (ie. %variable%).
Here's an example:
echo * Desired firmware is %FIRM%%REGIONCHANGE%>>"%Drive%"\%guidename%
so after it's translated it looks something like:
echo * le firmware souhaite est %FIRM%%REGIONCHANGE%>>"%Drive%"\%guidename%
Also note that to use special characters or colours use "sfk echo", in these cases be sure not to change "[colour]" or "sfk echo -spat" or "\x##" where ## is any number in hex.
Here's an example:
sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [Red] THIS SOFTWARE IS NOT FOR SALE.
so after it's translated it looks something like:
sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [Red] ESTE PROGRAMA NO ESTA EN VENTA.
HOW TO GET SPECIAL CHARACTERS TO SHOW UP PROPERLY IN A COMMAND WINDOW
=====================================================================
Here's how to get accents and special characters to display in a command window properly:
( note: ρ = f1 )
Instead of:
echo Espaρiol
Use the following command:
support\sfk echo -spat Espa\xf1iol
Basically just replace the special letter with \x##, where ## is some hex code; for example, if ## is "20" then it will output a space " ", or if ## is "3a" then it will output a colon ":". Not all hex codes are supported by sfk, but I'm pretty sure all the 2 digit hex codes will work. Take a look at this webpage: http://www.addressmunger.com/hex_ascii_tables/
If you figure this out and can get all sorts accents to appear properly in ModMii, it will mean you'll need to replace many "echo" commands with "support\sfk echo -spat" commands.
Note that multiple spaces in a "sfk echo" commands will not appear properly, to get around this add many spaced with \x20
For example:
echo How to Fix Lots of Spaces in Spanish
so after it's translated it looks something like:
support\sfk echo -spat How to Fix Lots of Spaces \x20 \x20 \x20 \x20 \x20 \x20 \x20 in Espa\xf1iol
As you are translating, please run ModMii so you can make sure all the translated text is centered and fits on the page properly.
BATCH SCRIPTS TO HELP WITH YOUR TRANSLATION
===========================================
I recently built some batch script to help translating ModMii, it's important to understand all of the above before using these scripts
First save all the scripts (ie. Translator_1.bat, Translator_2.bat, Translator_3.bat) to ModMii's support folder (or where ModMii.exe is will also work).
Then run Translator_1.bat
It will number the lines and filter only the lines that you need to translate
(it may miss a few other things that need to be translated but not much, it will probably only miss things like "set somevariable=SomeEnglishText")
Open ModMii_TranslateMe.txt and translate it. You still need to be careful to leave commands, variables and redirects alone (ie. %variable% and "<"). But you can actually use special characters like "ρ" and you can also use multiple spaces (ie " "). You also do not need to worry about changing "echo" commands to "sfk echo -spat". ModMii will convert that for you in a later step.
You can delete lines that do no need to be translated from ModMii_TranslateMe.txt. For example if you don't want to change a line from the English version just delete the entire line from ModMii_TranslateMe.txt.
When you are done translating ModMii_TranslateMe.txt, run Translator_2.bat.
This could take a long time, and it may error on a few lines when replacing very very very long strings. Make a note of those line #'s that reported errors (just scroll through the cmd line log output after it's finished running).
What this is doing is replacing all special characters (like "ρ") and multiple spaces with \x##. It also replaces all "echo" commands to "sfk echo -spat" commands where appropriate.
Open "ModMii_special_modded.txt" and "ModMii_standard_modded.txt" and manually replace lines that were not replaced in the previous step (ie. the lines that errored). Just manually copy and paste the problem lines into "ModMii_Translation_Numbered.txt" replacing the old line numbers.
Then run Translator_3.bat
This creates ModMii_Translation.bat by removing all the line numbers from "ModMii_Translation_Numbered.txt". At this point you should have a rough translation of ModMii that works when running it. You will have to run it and make sure everything is translated properly and centered. You may need to split one line into two if it doesn't fit all on one line for example.
OTHER FILES THAT MUST BE TRANSLATED
===================================
There are a few other files that you need to translate:
the first one u can just download from here:
http://code.google.com/p/nusad/down...mmary+Uploaded+ReleaseDate+Size+DownloadCount
rename it from *.txt to *.bat, then u will be able to test it to make sure it translates properly
You don't need to translate any of the changelog items prior to the first version of the language you are translating (for example, if you are making a Greek translation of v5.0.0 then you don't need to translate the v5.0.0 changelog or lower)
and for the 2nd one you'll need to download the ModMii Installer from here:
http://modmii.googlecode.com/files/ModMii Installer.exe
Open a command window where the installer is saved and type
"ModMii Installer.exe" decompiler
If u have trouble using the cmd window to do that, save the above code in a text file, then rename it anything.bat and run it then you will be able to save the source and supporting installer files to a new folder. Then translate the "ModMii Installer.bat" file.
edit: updater.bat will need to be updated too https://github.com/modmii/modmii.github.io/blob/master/temp/updater.bat
as well as some files in ModMii's Support\subscripts folder
Note that if you like using the Translator_X.bat files to assist in your translation, you can use them to translate the installer and update batch files. To do that, you should rename the original support\ModMii.bat, then rename the installer\update batch file to ModMii.bat and save it to ModMii's support folder. So basically save the new little batch file you want to translate to support\ModMii.bat, then when you're finished using the Translator_X.bat files rename the "ModMii_Translation.bat" file back to "ModMii Installer.bat" or "NUSAutoUpdate-#.#.#.bat" depending on what it is you're translating.
UPDATING GUIDE *.001 FILES
==========================
look inside ModMii's Support\Guide\ folder, inside it are a bunch of *.001 files containing html code. Open those files in notepad and translate them, make sure to leave tags alone (ie. <br>). It should be very simple to translate these files because it's ok to use accents and special characters directly in the files (ie. "ρ").
Also note that the guide building section near the end of modmii.bat has a lot of support\sfk echo commands that are redirected to the custom html guides. So there are a lot of \x## commands that need to be left alone (ie. do not change things like "\x3c", "\x3e", "\x22", etc.)
UPDATING AN EXISTING TRANSLATION
================================
Okay, I only have one more thing to say. If you've already translated ModMii once and you just want to update the version of your translation you can benefit from this webpage:
http://code.google.com/p/modmii/source/diff?spec=svn25&old=30&r=32&format=side&path=/trunk/ModMii+English/ModMii.bat
edit: use github instead
You may need to change the version #'s displayed depending on what version you are updating from\to.
It will identify all the changes in the english version of ModMii. It will highlight sections that have been added\removed\changed.
Just apply all the changes to old already translated version of ModMii.bat and translate any "echo" or "sfk echo" lines.
So basically u can think of the translation as having 2 steps, step one is to get all the code from the latest english version of ModMii added to the old translated version, and the second step is to translate it all the new\changed echo commands that still need to be translated.
When you finish your translation, send it to me to check and so I can put it online. (I'll be sure to add your name to the credits too)
Let me know if you have any questions and need help. And if for whatever reason you can't finish this, please let me know asap so I can try to find someone else to work on it.
Thanks a lot for offering to take on a ModMii translation! It's gonna be a lot of work, but the people that speak your language will love you for it.
XFlak
===============================
BASIC IMPORTANT INFO
====================
First, download the latest english version of ModMii, either use the ModMii installer or download it
http://code.google.com/p/modmii/dow...mmary+Uploaded+ReleaseDate+Size+DownloadCount
Open support\ModMii.bat file in notepad or some other text editor and you can start translating.
Please only translate the text that come after the word "echo", and also leave any redirects (">") alone. Also be sure to leave any variables alone (ie. %variable%).
Here's an example:
echo * Desired firmware is %FIRM%%REGIONCHANGE%>>"%Drive%"\%guidename%
so after it's translated it looks something like:
echo * le firmware souhaite est %FIRM%%REGIONCHANGE%>>"%Drive%"\%guidename%
Also note that to use special characters or colours use "sfk echo", in these cases be sure not to change "[colour]" or "sfk echo -spat" or "\x##" where ## is any number in hex.
Here's an example:
sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [Red] THIS SOFTWARE IS NOT FOR SALE.
so after it's translated it looks something like:
sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [Red] ESTE PROGRAMA NO ESTA EN VENTA.
HOW TO GET SPECIAL CHARACTERS TO SHOW UP PROPERLY IN A COMMAND WINDOW
=====================================================================
Here's how to get accents and special characters to display in a command window properly:
( note: ρ = f1 )
Instead of:
echo Espaρiol
Use the following command:
support\sfk echo -spat Espa\xf1iol
Basically just replace the special letter with \x##, where ## is some hex code; for example, if ## is "20" then it will output a space " ", or if ## is "3a" then it will output a colon ":". Not all hex codes are supported by sfk, but I'm pretty sure all the 2 digit hex codes will work. Take a look at this webpage: http://www.addressmunger.com/hex_ascii_tables/
If you figure this out and can get all sorts accents to appear properly in ModMii, it will mean you'll need to replace many "echo" commands with "support\sfk echo -spat" commands.
Note that multiple spaces in a "sfk echo" commands will not appear properly, to get around this add many spaced with \x20
For example:
echo How to Fix Lots of Spaces in Spanish
so after it's translated it looks something like:
support\sfk echo -spat How to Fix Lots of Spaces \x20 \x20 \x20 \x20 \x20 \x20 \x20 in Espa\xf1iol
As you are translating, please run ModMii so you can make sure all the translated text is centered and fits on the page properly.
BATCH SCRIPTS TO HELP WITH YOUR TRANSLATION
===========================================
I recently built some batch script to help translating ModMii, it's important to understand all of the above before using these scripts
First save all the scripts (ie. Translator_1.bat, Translator_2.bat, Translator_3.bat) to ModMii's support folder (or where ModMii.exe is will also work).
Then run Translator_1.bat
It will number the lines and filter only the lines that you need to translate
(it may miss a few other things that need to be translated but not much, it will probably only miss things like "set somevariable=SomeEnglishText")
Open ModMii_TranslateMe.txt and translate it. You still need to be careful to leave commands, variables and redirects alone (ie. %variable% and "<"). But you can actually use special characters like "ρ" and you can also use multiple spaces (ie " "). You also do not need to worry about changing "echo" commands to "sfk echo -spat". ModMii will convert that for you in a later step.
You can delete lines that do no need to be translated from ModMii_TranslateMe.txt. For example if you don't want to change a line from the English version just delete the entire line from ModMii_TranslateMe.txt.
When you are done translating ModMii_TranslateMe.txt, run Translator_2.bat.
This could take a long time, and it may error on a few lines when replacing very very very long strings. Make a note of those line #'s that reported errors (just scroll through the cmd line log output after it's finished running).
What this is doing is replacing all special characters (like "ρ") and multiple spaces with \x##. It also replaces all "echo" commands to "sfk echo -spat" commands where appropriate.
Open "ModMii_special_modded.txt" and "ModMii_standard_modded.txt" and manually replace lines that were not replaced in the previous step (ie. the lines that errored). Just manually copy and paste the problem lines into "ModMii_Translation_Numbered.txt" replacing the old line numbers.
Then run Translator_3.bat
This creates ModMii_Translation.bat by removing all the line numbers from "ModMii_Translation_Numbered.txt". At this point you should have a rough translation of ModMii that works when running it. You will have to run it and make sure everything is translated properly and centered. You may need to split one line into two if it doesn't fit all on one line for example.
OTHER FILES THAT MUST BE TRANSLATED
===================================
There are a few other files that you need to translate:
http://code.google.com/p/nusad/down...mmary+Uploaded+ReleaseDate+Size+DownloadCount
rename it from *.txt to *.bat, then u will be able to test it to make sure it translates properly
You don't need to translate any of the changelog items prior to the first version of the language you are translating (for example, if you are making a Greek translation of v5.0.0 then you don't need to translate the v5.0.0 changelog or lower)
and for the 2nd one you'll need to download the ModMii Installer from here:
http://modmii.googlecode.com/files/ModMii Installer.exe
Open a command window where the installer is saved and type
"ModMii Installer.exe" decompiler
If u have trouble using the cmd window to do that, save the above code in a text file, then rename it anything.bat and run it then you will be able to save the source and supporting installer files to a new folder. Then translate the "ModMii Installer.bat" file.
edit: updater.bat will need to be updated too https://github.com/modmii/modmii.github.io/blob/master/temp/updater.bat
as well as some files in ModMii's Support\subscripts folder
Note that if you like using the Translator_X.bat files to assist in your translation, you can use them to translate the installer and update batch files. To do that, you should rename the original support\ModMii.bat, then rename the installer\update batch file to ModMii.bat and save it to ModMii's support folder. So basically save the new little batch file you want to translate to support\ModMii.bat, then when you're finished using the Translator_X.bat files rename the "ModMii_Translation.bat" file back to "ModMii Installer.bat" or "NUSAutoUpdate-#.#.#.bat" depending on what it is you're translating.
UPDATING GUIDE *.001 FILES
==========================
look inside ModMii's Support\Guide\ folder, inside it are a bunch of *.001 files containing html code. Open those files in notepad and translate them, make sure to leave tags alone (ie. <br>). It should be very simple to translate these files because it's ok to use accents and special characters directly in the files (ie. "ρ").
Also note that the guide building section near the end of modmii.bat has a lot of support\sfk echo commands that are redirected to the custom html guides. So there are a lot of \x## commands that need to be left alone (ie. do not change things like "\x3c", "\x3e", "\x22", etc.)
UPDATING AN EXISTING TRANSLATION
================================
Okay, I only have one more thing to say. If you've already translated ModMii once and you just want to update the version of your translation you can benefit from this webpage:
edit: use github instead
You may need to change the version #'s displayed depending on what version you are updating from\to.
It will identify all the changes in the english version of ModMii. It will highlight sections that have been added\removed\changed.
Just apply all the changes to old already translated version of ModMii.bat and translate any "echo" or "sfk echo" lines.
So basically u can think of the translation as having 2 steps, step one is to get all the code from the latest english version of ModMii added to the old translated version, and the second step is to translate it all the new\changed echo commands that still need to be translated.
When you finish your translation, send it to me to check and so I can put it online. (I'll be sure to add your name to the credits too)
Let me know if you have any questions and need help. And if for whatever reason you can't finish this, please let me know asap so I can try to find someone else to work on it.
Thanks a lot for offering to take on a ModMii translation! It's gonna be a lot of work, but the people that speak your language will love you for it.
XFlak
So there's a couple ways to proceed if you are still interested in making a modmii translation, you can just run off with these very basic directions, and come back to me for anything you need help with. Or 2, you can leverage the short scripts I wrote ages ago (from the link above) that makes a copy of modmii.bat, filters them so that you're working with a much shorter file (that should capture most of the lines that need translating), then you translate it, and the translator script will compare it to the English filtered file and then edit\replace the appropriate lines in modmii.bat. It may not work perfectly though, so I would test it out before investing a lot of time. Even if you don’t use the scripts, definitely download them and at least read the directions I wrote from back then (see spoiler above).
Oh and we will need to bake in its own custom updater script, so that it doesn't update to the latest English version, don't worry about that part for now, it's easy for us to do close to the end: https://github.com/modmii/modmii.github.io/blob/master/temp/updater.bat
When translating I think I would prefer if you didn't translate comments, it's more work for you anyway, and the English comments can serve as virtual landmarks for me if I'm ever troubleshooting something.
When you get to the stage of confirming the translated guides are good, save these (syscheck-guide.csv and guidegenerator.bat) to the same directory as modmii.exe and run the bat file, it will generate a bunch of guides that should cover 99% of the content (although there will be plenty of overlap in the guides). This way you don’t need to generate guides one by one manually. https://www.mediafire.com/file/g10dqxgsvx776zg/guidegenerator.zip/file
Oh and ModMii videos are all done in English, lol. I would just leave those as is for now. I may be able to get the original raw recordings for some videos so so that it will be easy to make copies in other languages in the future.
If you decide to do a translation it's gonna be a lot of work, but the people that speak your language will love you for it. Trust me when I say this community is amazing and appreciative.
XFlak
Attachments
Last edited by XFlak,