Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Nige Ron Pa - English Translation
#11
Weird. English trad is now done with neural network so it should definitely better. (and i'm French too)

Maybe it's because some of those words are not spelled that way in Japanese but are kana phonetic reading of kanjis (so that kids can read them)

If I try your example with JP to English
こうげき+10 = Kogei+10
But below it says : Essayez avec cette orthographe : 攻撃+10

If you click it you have 攻撃+10 = Attack+10
So check the google trad suggestion.

But yeah stick with french if it works better with one word translation but with several word english should work better, altough still not perfect.

Compare french and english trad to this Yu Suzuki tweet about Shenmue Kickstarter for example : みなさんの想いに少しでも近づけるため、 引き続き応援お願いいたします。
Don't forget the final 。or the meaning totally change (le point a la fin de la phrase).

Good luck with the extracting work !! If you manage to do it you'll probably find a fluent japanese speaker to help you with the translations on some forums anyways !
Reply
#12
Have you ever looked at the script dumping/insertion utilities (like Cartographer and Atlas)?
http://www.romhacking.net/?page=utilitie...order=Date (sorted by date)

I'd also be happy to give you the source code of the Cardfighters 2 tool I used/built (based off source by Judge_). It's pretty simple.

The translation part is definitely tough, but I feel like if you can create a good tool for dumping/inserting the script, then the translation work is mostly getting someone to help. Perhaps there can be an online DB of the script that people can help translate. The technical work is the tough part, as it's so game-specific. There are plenty of people that can translate Japanese->English.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#13
(01-24-2017, 02:02 PM)Chael Wrote: [...]
Maybe it's because some of those
Compare french and english trad to this Yu Suzuki tweet about Shenmue Kickstarter for example : みなさんの想いに少しでも近づけるため、 引き続き応援お願いいたします。
Don't forget the final 。or the meaning totally change (le point a la fin de la phrase).
[...]

This forum is full of french people ^^

Btw, the difference between french and english translation is really stunning on your exemple... French translation is totally nonsensical !
Reply
#14
(01-25-2017, 06:29 AM)Flavor Wrote: Have you ever looked at the script dumping/insertion utilities (like Cartographer and Atlas)?
http://www.romhacking.net/?page=utilitie...order=Date (sorted by date)

I'd also be happy to give you the source code of the Cardfighters 2 tool I used/built (based off source by Judge_). It's pretty simple.
[...]

I've started by reading about those tools, I even tried one linked on this forum in order to build the translation table but unfortunately, it was designed for XP.

I could probably take a look at your tools code, it may help to speed-up the relocating step (I hope it's not java ^^)

What I have now :

- an automated perl script, mainly a port of NEOPOP C disassembly code, that tries to disasm the code parts (identified by jump/call/ret).
I update it according to my understanding of the functions so it "automatically" insert comments at each known function start.

- a text dumping perl script that is even more specific for nigeronpa. Most dialogue strings in the game are 0xFF terminated.
objects, skills, names are fixed length, though display function ends when it encounter a space character.

- and once I'll have found enough data to translate, I'll work on an injection script that will replace 'static' menu text, and relocate speeches and item/skills descriptions to try to lessen text length impact... but I'm far from this step.

I don't plan to do tile editing as I don't think that it's needed on this game.

Loïc.
Reply
#15
Here's what I found so far.

I can easily relocate text and item description. For item name/character names, I guess I'll stick to the 7 character limit.

Text can contain some errors as I not sure that the translation table is completely accurate.

This extraction doesn't include menu elements. I think I could take them from Wyndcrosser's work.

The attached document includes both Libreoffice and Excel files.


Edit : only ods file with better handling of item/name replacement and pause in text


Attached Files
.zip   Nigeronpa_japanese_text.zip (Size: 310.35 KB / Downloads: 0)
Reply
#16
Here's something that sparked a memory for me.

In your dump, you have lines like this.
Code:
0x26A309        [A0 FF EA 24 00]    0x24EAFF    あぁ・・・  [pause] Cマーくん・・・
         ファ・ [pause] Cイ・ [pause] Cト [pause] C!  [pause] Cザマス!


I assume the "[pause] C" sort of things are control codes. In the Cardfighters translation, we had a table of control codes. This might mean that the text system should pause to wait for the reader to press a button. We also saw ones that were almost like printf control codes. Like one might print a number or name in the middle of text.

"You did %d damage to %s." Where the game would fill in %d with a number and %s with a character's name.

That stuff can be very tricky, because the programmer will understand it, but the translator won't. If you want someone to help translate, you need to make sure that these things are properly sorted.

Even further, something like "You did %d damage to %s." might properly translate to "%s received %d damage by you."
Would a translator understand how to properly re-arrange the phrase? Would the text system know? Probably not.

If
Code:
printf("You did %d damage to %s.", damage, name);
became
Code:
printf("%s received %d damage by you.", damage, name);
there would be a problem (maybe even a crash in the game).

The translator needs to know that they can not reorder these control codes.

It requires a very patient/technical translator or an (online) application that enforces the rules. If the translator can go to a web page to see the untranslated strings and translate them, then a programmer would have to review and accept the translations.

In Cardfighters 2, we also had problems with line breaks/widths. The translator would send me his new strings to insert, and I would run the insertion tool. The tool was programmed to know the widths of each character and tell me if any line was too long. Then I would have to re-write chunks of the translation to rephrase things.

I hope this helps. Smile
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#17
(02-01-2017, 01:57 AM)Flavor Wrote: Here's something that sparked a memory for me.
[...]
I hope this helps. Smile

Well I missed that case ^^

I've too cases with text replacement, one is replaced with [FA??] the other is still identified with à ←+one char, but I didn't came across while playing.

If I could get a rough translation, I could adapt text size later. Being able to play through the game would help a little to adapt the translation.

I think it's a bit easier for Nigeronpa as I have plenty of free space to relocate stuff, or even rewrite functions, but in this case, I'll need a better understanding of sources.

I've found a function that calculates the base address of any dialogue. this address is then used to display text. I haven't yet figured out how the name/object/spell insertion in a text works, and I hope I won't have to... as long as I can keep those strings within the 7 characters limit.

All those texts call were stored like '0A XX XX 2X 00', 0A being static, followed by the string position at addresses like 0x002XXXXX. That's what I extracted, removing some of limit (randomly in graphical data or in code part)
Reply
#18
Also, you will likely want to look into some sort of variable-width character printing scheme.

Basically, the Japanese characters were all likely 8x8 pixels.

When you replace them by English (or whatever), you will likely not want your 'l' and '1' to be the same width as "O" and "X". It looks funny and makes the text way too wide.

So, you need a table of characters and a table of character widths. Then, when you place text on the screen, you need to call a routine to pack the characters properly. This is a pretty common thing in romhacks, but it's not trivial.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ )
Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Reply
#19
(02-01-2017, 02:18 AM)Flavor Wrote: Also, you will likely want to look into some sort of variable-width character printing scheme.

Basically, the Japanese characters were all likely 8x8 pixels.

When you replace them by English (or whatever), you will likely not want your 'l' and '1' to be the same width as "O" and "X". It looks funny and makes the text way too wide.

So, you need a table of characters and a table of character widths. Then, when you place text on the screen, you need to call a routine to pack the characters properly. This is a pretty common thing in romhacks, but it's not trivial.

Well... actually, just translating it would be a good thing. I've thought of that, but it would make the process much more complicated...
If I remember correctly, neither Evolution : Eternal dungeons nor Biomotor do this this way, so I won't look to high for a start ^^
Reply
#20
It's rather easy to change the menu width...
   
in the picture, you can see a resized menu translation and Windcrosser menu translation.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)