MalloryMc314 Posted December 22, 2022 Posted December 22, 2022 (edited) Hey guys, I’m been lurking on this thread for a while (before HMFan posted the sample patch) and I made an account to post here. I have no experience with the process for creating a fan translated patch, but I am interested in learning. If it is not too much to ask, could you all document the process and the major steps needed in creating this? I know translating the script is one step, and I guess “hacking/patching” is another (although I do not know what it means), and perhaps there are other steps that I do not know. I know that work on a translation for saimin yuugi is just getting back up. However, I worry that worry is that although we may finish saimin yuugi, perhaps some of us may leave the project. This would be a problem if we wish to move on to translating saimin enbu. I’m not too familiar with visual novel program types, but I assume that saimin enbu is similar to saimin yuugi and that much of the work done for saimin yuugi can be carried over to saimin enbu (will need a different translation of course). But right now, if you all were to leave, I would have no idea how you extracted the .s files like in the current git repo (or what those .s files even do) and what other files are necessary. If we get this documentation written down, it will help immensely with keeping this project alive and in hopefully transitioning to saimin enbu. Correct me if I’m wrong, but I assume there are 3 main steps to the translation project? Step 1: Extract game files (.s files?) (extraction method may vary for visual novel engine?) (maybe saimin enbu can use same process as saimin yuugi?) (what is GARbro and QLie) (arc_conv?) Step 2: Edit japanese text and translate into english. Step 3: Make patch (turning all the .s files into one .exe file?) not sure how this is done. This is the end of my ramblings. I just want to help out, but i don’t know enough to help you out. And I think that making a document for onboarding new people would be helpful for future progress and to hopefully help make getting saimin enbu done quicker. Edited December 22, 2022 by MalloryMc314 Quote
WJHB Posted December 22, 2022 Posted December 22, 2022 What I've been doing is using GarBRO to extract the scenarios from data6.pack in the game files, changing the Japanese lines to English in the .s files, then using the tool that was linked earlier (https://github.com/amayra/arc_conv) to repack them. The command is just arc_conv.exe --pack qlie [UNPACKED DATA FOLDER] [DESTINATION PATH] This produces a patched version of data6.pack that can replace the original. It only took me all of one hour to figure this out, so I really don't think onboarding/hacking will be a roadblock at all. The tools for patching QLiE already exist, so we won't need to do much reverse engineering. Due to that, I expect the translation will take MUCH longer than the programming. I haven't messed around with the stuff Sisulizer linked yet, but I doubt it's that complex either. MalloryMc314 1 Quote
WJHB Posted December 22, 2022 Posted December 22, 2022 What could be worth ironing out are stylistic choices for the translation. I've generally adhered to what HMFan did, which included: - Present tense narration - Leaving a space after ellipses - Leaving honorifics in - Leaving "Sensei" untranslated when used to address Rui, though I'd occasionally replace it with "you," since 2nd person pronouns are more common in English Like I mentioned earlier, I decided to use an alternate comma symbol (,) since QLiE doesn't work well with normal commas, but that's easy enough to do a find and replace on after the translation is more complete. Quote
HypnoConductor Posted December 22, 2022 Posted December 22, 2022 If possible, we could add the txt files to the repo if that's what you're working with translating for now. Would help to not lose anything. Quote
HypnoConductor Posted December 22, 2022 Posted December 22, 2022 3 hours ago, MalloryMc314 said: Hey guys, I’m been lurking on this thread for a while (before HMFan posted the sample patch) and I made an account to post here. I have no experience with the process for creating a fan translated patch, but I am interested in learning. If it is not too much to ask, could you all document the process and the major steps needed in creating this? I know translating the script is one step, and I guess “hacking/patching” is another (although I do not know what it means), and perhaps there are other steps that I do not know. I know that work on a translation for saimin yuugi is just getting back up. However, I worry that worry is that although we may finish saimin yuugi, perhaps some of us may leave the project. This would be a problem if we wish to move on to translating saimin enbu. I’m not too familiar with visual novel program types, but I assume that saimin enbu is similar to saimin yuugi and that much of the work done for saimin yuugi can be carried over to saimin enbu (will need a different translation of course). But right now, if you all were to leave, I would have no idea how you extracted the .s files like in the current git repo (or what those .s files even do) and what other files are necessary. If we get this documentation written down, it will help immensely with keeping this project alive and in hopefully transitioning to saimin enbu. Correct me if I’m wrong, but I assume there are 3 main steps to the translation project? Step 1: Extract game files (.s files?) (extraction method may vary for visual novel engine?) (maybe saimin enbu can use same process as saimin yuugi?) (what is GARbro and QLie) (arc_conv?) Step 2: Edit japanese text and translate into english. Step 3: Make patch (turning all the .s files into one .exe file?) not sure how this is done. This is the end of my ramblings. I just want to help out, but i don’t know enough to help you out. And I think that making a document for onboarding new people would be helpful for future progress and to hopefully help make getting saimin enbu done quicker. Enbu uses the same engine so it should be fairly easy to extract the scenario files if someone else wants to start translating it after Yuugi. Quote
WJHB Posted December 22, 2022 Posted December 22, 2022 I'm still using the .s files. I'll look at the txt stuff when I get home tomorrow, but I don't mind working with the .s files directly. Whatever's easier for everyone else. Here's my fork: https://gitgud.io/WJHB/saimin-yuugi-translation/-/tree/rui Should I make a merge request now and just leave it open or wait until I'm done to open the request? Quote
HypnoConductor Posted December 22, 2022 Posted December 22, 2022 (edited) Feel free to make a merge request now if you want. Edited December 22, 2022 by guy6359 pull > merge Quote
HypnoConductor Posted December 22, 2022 Posted December 22, 2022 Actually now that I think about it is someone else able to extract the completed stuff from the original patch from HMFan? GARBro really does not like opening that file for me. Would be nice to get that extracted and merged so it doesn't need to be done again Quote
MalloryMc314 Posted December 23, 2022 Posted December 23, 2022 On 12/22/2022 at 10:53 AM, guy6359 said: Actually now that I think about it is someone else able to extract the completed stuff from the original patch from HMFan? GARBro really does not like opening that file for me. Would be nice to get that extracted and merged so it doesn't need to be done again I looked at HMFan's data6.pack through a hex editor, and it seemed like I could see the script there. So I wrote some python code to open the file as a binary and then output it as what was shown there. https://imgur.com/a/vUFNow2 I made some changes in my text file, such as replacing all instances of zYanagiy with [Yanagi]. and the same for most other names. I didn't understand the whole LF vs CRLF thing, so I refrained from making edits myself on the .s files. I also don't really know how to use Git and GitGud too well, (GitHub as well), but I think I made a merge request for putting the text onto the repository. Too bad I can't just upload the file on the forum directly. Let me know if it is not there, in which case I will find another way to get it to you. Quote
MalloryMc314 Posted December 23, 2022 Posted December 23, 2022 I was wondering, should the dialogue keep the quotation marks「」 or should there be none? HMFan kept them, but I see that WJHB did not. I'm going to see what I can do to clean up the text fields more, and see if I can get it into the right .s format. Quote
MalloryMc314 Posted December 24, 2022 Posted December 24, 2022 (edited) Ok, I think I've got HMFan's files as .s files now. There might still be some weird stuff where the script got messed up which we will need to find. Hopefully when the patch gets out, people can find them and fix them on the repo. For example, in 02mai_030.s, yanagi says "ucc?Iv", which I'm pretty sure is not something he ever says. Ok, after reworking my code, it seems like this was a untranslated portition that was encoded weirdly in my original code. My new code should port the kanji characters over in the script. One of you guys can put these up on the gitgud repo https://drive.google.com/drive/folders/1dU7YKp0POvkSBP7XH4jhNvWVV3xXE9uI?usp=sharing It contains 01com_010.s through 01com_060.s and 02mai_010.s to 02mai_050b.s I haven't tested it up to Mai's route yet, but it seems to work for the beginning of the prologue. Edit: I have reworked my code, and I think this has removed all irregularities and ported over HMFan's script with 100% accuracy. It looks like there might still be some untranslated stuff within these. I know for sure that 02mai_030.s has a couple. By the lines that say @@koubranch1_101 and @@koubranch1_110 well, really all the @@koubranch Edited December 24, 2022 by MalloryMc314 fixed corruptions in my files Quote
WJHB Posted December 24, 2022 Posted December 24, 2022 I figured whether or not the text is dialogue would be obvious by the name of the speaker, but if other people think quotation marks are better, that's fine too. I think we should go with some variation of English quotation marks instead of Japanese ones if we do that option, though. Also, does anyone know if QLiE has comment functionality? I'd like somewhere to keep notes on my translation decisions. I guess I could just switch over to using the format Sisulizer suggested. Quote
MalloryMc314 Posted December 24, 2022 Posted December 24, 2022 If you figure out how Sisulizer's tools work, can you post a summary? You may not think it's much, but your reply about GarBRO and arc_conv really helped me get started with using them. Quote
WJHB Posted December 25, 2022 Posted December 25, 2022 Haven't found much time to mess around with them because I'm with my family for Christmas, but I'll make sure to keep you posted when I take a look. Quote
Sisulizer Posted December 25, 2022 Posted December 25, 2022 On 12/24/2022 at 11:16 PM, MalloryMc314 said: If you figure out how Sisulizer's tools work, can you post a summary? You may not think it's much, but your reply about GarBRO and arc_conv really helped me get started with using them. There're guides in there, also you will need python3 to run the code. If you you can't extract .pack with GARbro, use arc_conv, drag the archive to arc_con.exe to extract. Also, you don't need to overwrite the original .pack, if in GameData folder you have data0.pack, data1.pack, data2.pack,... data10.pack, you can name the new archive data11.pack Quote
MalloryMc314 Posted December 25, 2022 Posted December 25, 2022 2 hours ago, Sisulizer said: If you you can't extract .pack with GARbro, use arc_conv, drag the archive to arc_con.exe to extract. Wow that did everything that I had to write a script to do. 2 hours ago, Sisulizer said: Also, you don't need to overwrite the original .pack, if in GameData folder you have data0.pack, data1.pack, data2.pack,... data10.pack, you can name the new archive data11.pack How does the game know which pack to use though? for the translation Quote
Sisulizer Posted December 26, 2022 Posted December 26, 2022 5 hours ago, MalloryMc314 said: Wow that did everything that I had to write a script to do. How does the game know which pack to use though? for the translation The engine will read from big number .pack to small like: data9.pack, data8.pack, data7.pack, blah blah, data0.pack. And if you need to make an update, call new .pack data10.pack Quote
HypnoConductor Posted December 26, 2022 Posted December 26, 2022 At the end of this though, we should probably consolidate into one data.pack file like HMFan was doing so that it's not a billion files in the gamedata folder Quote
HypnoConductor Posted December 26, 2022 Posted December 26, 2022 I've merged HMFan's original script changes into the repo so that they're saved Quote
HypnoConductor Posted December 26, 2022 Posted December 26, 2022 On 12/24/2022 at 9:30 PM, WJHB said: Haven't found much time to mess around with them because I'm with my family for Christmas, but I'll make sure to keep you posted when I take a look. Since you're working on the Rui route, maybe this can be of use to you. Cradily from Hypnohub translated a bit of that route. Not sure if you've already gotten to that point yet but may be some help to you. https://pastebin.com/xGNevYmU Quote
WJHB Posted December 26, 2022 Posted December 26, 2022 That actually turned up when I googled a phrase from the route, lol. I looked at it a bit but I had a lot of changes I wanted to make. Quote
MalloryMc314 Posted December 28, 2022 Posted December 28, 2022 I think I'll get started with finishing Maiya part 1 (the 02mai files). I'm not very good at Japanese, so I'll be counting on machine translations and the dictionary. I'll be keeping the Japanese quotation marks in for now (we can remove them later if we need to) and I'll be using regular commas with a space after. I suppose those don't work, so I'll need to replace them with "," for the final patch. (same for the Japanese commas in HMFan's current translations.) I made a script that google translates the Japanese dialog and narration in a file. Let me know if you want it. It's not an enjoyable experience if you were to use it while playing, but it might be of some help? Quote
WJHB Posted December 28, 2022 Posted December 28, 2022 I'd really rather not use Google Translate for the patch, even if it means slowing down the release. If that's what someone wanted to play, they could just use Textractor. That's what I did when I didn't know as much Japanese as I do now, but now I've read the game in full without it. Once we have more done we'd definitely need editors and such, though, so there'd be room for you to help out. Quote
WJHB Posted December 28, 2022 Posted December 28, 2022 For the sake of organization: who here actually knows Japanese and is willing to work on the translation? I received a DM from someone who wants to hire a freelance translator to help, but I want to make sure things are reasonably coordinated. Quote
HypnoConductor Posted December 29, 2022 Posted December 29, 2022 14 hours ago, WJHB said: For the sake of organization: who here actually knows Japanese and is willing to work on the translation? I received a DM from someone who wants to hire a freelance translator to help, but I want to make sure things are reasonably coordinated. If I knew Japanese I would definitely help out on that front. For now though I think it would be best to set like a style guide on how things are handled if multiple people are going to contribute. On 12/22/2022 at 3:26 AM, WJHB said: What could be worth ironing out are stylistic choices for the translation. I've generally adhered to what HMFan did, which included: - Present tense narration - Leaving a space after ellipses - Leaving honorifics in - Leaving "Sensei" untranslated when used to address Rui, though I'd occasionally replace it with "you," since 2nd person pronouns are more common in English Like I mentioned earlier, I decided to use an alternate comma symbol (,) since QLiE doesn't work well with normal commas, but that's easy enough to do a find and replace on after the translation is more complete. This is a good starting point and can definitely change it around depending on what needs to be done. I'm going to be updating the readme in the repo with this as well as how to use the tools Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.