Since I've not found any topic that has provided effective evidence of translation of the DS PWAA (U) version into Brazilian-Portuguese language, for the users of this forum, I apologize for taking the liberty of creating, here, a project to attempt to find people interested in translating the Phoenix Wright for DS, to Portuguese.
-----------------------
Attention:
This project uses in most part, the OnePieceFreek JSON method where dialogue scripts have "bracket" tags.
If you want adventure through Deufeufeu XML method, use the legacy project below, instead:
PWSE 0.2.1 tutorial.
-----------------------
This project:
:: Uses the dlgTool2b.py. it can manage PWAA (U) DS ROM.
:: Merged and pointed to the PWAA 3DS ROM Trilogy version.
:: More recent updates on the Discord group.
P.S. This page is not the project itself and just aims to share news or recent information
about the Oficial Portuguese Translation project which is cooking on Discord Chat Group.
I would like to thanks the following Discord Members:
Repository and Software Integration
- djmatheusito
Technical stuff, Tools and Accessories
- Solid One
Texts, Translations and Revision
- Gamerulez
Graphics, Images, Sound
- Sliter
- bMatSantos
(But I can't wait!)
_\
If you cant hold a little bit with a good an complete translation version,
you can make an amateur translate while the final version is still cooking.
Attention!: This is a fast amateur example. The procedures for best results,
like revision, character enconding, etc is not included here.
Minimum requeriments:
- Windows XP 32 bits with Service Pack 3, or better
- Framework .Net 3.5 client, or better
- Phyton 2.7
Tools:
- DsBuff 0.6.1 (extract files from the ROM)
- dlgTool2c.py (convert mes_all.bin to "txt" and vice-versa)
- Pwopfsft.exe (tool for fast translations)
And, of course:
- the DS (U) or (E) ROM version of the game
(not available here)
Let's go:
1. Extract the (U) version scripts:
1.1. Follow the procedures to extract the "txt" files on page 6 of this thread.
1.2. If you get success, you will see 0 to 73 "txt" scripts.
Obs: If for some reason you could not extract, get here:
mes_all_ds_Uversion.zip
:: 0, 2, 4, 6, etc... are non-english scripts (other language)
:: 1, 3, 5, 7, etc... are the english language scripts.
:: if you are using (U) ROM, the pair numbers will be empty.
2. Translate a script:
2.1. Choose a script. Any script. Let's choose "21.txt"
2.2. Copy 'Pwopfsft.exe' to the scripts folder.
2.3. On Windows command line, run:
> Pwopfsft -a 21.txt
(will give a '21_cut.htm')
2.4. Publish your 'htm' in your personal server or on your blog.
2.5. Go to "https://translate.google.com/"
2.6. paste the remote 'htm' link, and translate it!
3. Clean the new script:
Since the script choosen was a english script, when you re-insert, the
special characters will not work with a non pre-patched game. Let's clean!
3.1. Copy the translated text into "txt" file (I called here '21p.txt')
3.2. Of course, the revision step is the hard step.
But for this example, forget it.
3.3. Put the txt into the scripts folder.
3.4. For the script not blow on the game, let's change the special chars (ex: 'á' for 'a')
> Pwopfsft -r 21p.txt
(will give a '21p_clean.txt')
4. Verify the new script:
If the traslated line size is greater than ~30 chars, it can be truncate or freeze in game.
In this example, let's check lines with + 30 chars, so you could revise.
4.1. Run:
> Pwopfsft -v 21p_clean.txt 30
OR...
> Pwopfsft -v 21p.txt 30
(will give a '21p_verify.txt' or '21p_clean_verify.txt' report)
5. Fast Truncate (optional):
If you are too lazy, like me, you could just truncate all lines with +30 chars.
You can jump if you manually checked your text. For this example, let's truncate.
5.1. Run:
> Pwopfsft -t 21p_clean.txt 30
(will give a '21p_clean_truncate.txt')
6. Merge "{}" brackets:
Now let's join the brackets with our "lazy-translated" script.
6.1. Run:
> Pwopfsft -j 21p_clean_truncate.txt 21.txt
(will give a '21p_clean_truncate_join.txt')
7. Recompile all:
After this, you would like to open the two files for final manual check.
Just clean it what you want and save again. After this:
7.1. Copy '21p_clean_truncate_join.txt' over '21.txt'
7.2. Delete all files except the "txt" scripts and 'offset_list.bin'.
7.3. Execute the compile with dlgTool2b.py.
Example:
> dlgTool2c.py -c mes_all
(will give you a "compile" folder with mes_all.dlg)
7.4. Rename "mes_all.dlg" to "mes_all.bin"
7.5. Copy to original extract path and repack it with DsBuff 0.6.1.
Some Results:
Here is some evidences using the fast method above with script "1.txt"
Of course, if you play the game with this patch, the results could be funny.
Patch for the script 1.txt example above:
pwaa_DS(U)_example_patch.zip
Pwopfsft derived files used on this example:
Pwopfsft_files_used_in_example.zip
You can see this page here too:
External Link - Pwaa Project
Other similiar DS projects:
Phoenix Wright - Ace Attorney PT-BR Translation Project (Help Wanted)
Very Old References:
Conversion Table - 2009
Old Project - 2009
______________________________
Thanks to all, and... let's go!
-----------------------
This project uses in most part, the OnePieceFreek JSON method where dialogue scripts have "bracket" tags.
If you want adventure through Deufeufeu XML method, use the legacy project below, instead:
-----------------------
This project:
:: Uses the dlgTool2b.py. it can manage PWAA (U) DS ROM.
:: Merged and pointed to the PWAA 3DS ROM Trilogy version.
:: More recent updates on the Discord group.

about the Oficial Portuguese Translation project which is cooking on Discord Chat Group.
I would like to thanks the following Discord Members:
Repository and Software Integration
- djmatheusito
Technical stuff, Tools and Accessories
- Solid One
Texts, Translations and Revision
- Gamerulez
Graphics, Images, Sound
- Sliter
- bMatSantos
(But I can't wait!)
_\

If you cant hold a little bit with a good an complete translation version,
you can make an amateur translate while the final version is still cooking.
like revision, character enconding, etc is not included here.

- Windows XP 32 bits with Service Pack 3, or better
- Framework .Net 3.5 client, or better
- Phyton 2.7

- DsBuff 0.6.1 (extract files from the ROM)
- dlgTool2c.py (convert mes_all.bin to "txt" and vice-versa)
- Pwopfsft.exe (tool for fast translations)
And, of course:
- the DS (U) or (E) ROM version of the game
(not available here)
1. Extract the (U) version scripts:
1.1. Follow the procedures to extract the "txt" files on page 6 of this thread.
1.2. If you get success, you will see 0 to 73 "txt" scripts.
Obs: If for some reason you could not extract, get here:
:: 0, 2, 4, 6, etc... are non-english scripts (other language)
:: 1, 3, 5, 7, etc... are the english language scripts.
:: if you are using (U) ROM, the pair numbers will be empty.

2. Translate a script:
2.1. Choose a script. Any script. Let's choose "21.txt"
2.2. Copy 'Pwopfsft.exe' to the scripts folder.
2.3. On Windows command line, run:
> Pwopfsft -a 21.txt
(will give a '21_cut.htm')

2.4. Publish your 'htm' in your personal server or on your blog.
2.5. Go to "https://translate.google.com/"
2.6. paste the remote 'htm' link, and translate it!

3. Clean the new script:
Since the script choosen was a english script, when you re-insert, the
special characters will not work with a non pre-patched game. Let's clean!
3.1. Copy the translated text into "txt" file (I called here '21p.txt')
3.2. Of course, the revision step is the hard step.
But for this example, forget it.
3.3. Put the txt into the scripts folder.
3.4. For the script not blow on the game, let's change the special chars (ex: 'á' for 'a')
> Pwopfsft -r 21p.txt
(will give a '21p_clean.txt')

4. Verify the new script:
If the traslated line size is greater than ~30 chars, it can be truncate or freeze in game.
In this example, let's check lines with + 30 chars, so you could revise.
4.1. Run:
> Pwopfsft -v 21p_clean.txt 30
OR...
> Pwopfsft -v 21p.txt 30
(will give a '21p_verify.txt' or '21p_clean_verify.txt' report)

5. Fast Truncate (optional):
If you are too lazy, like me, you could just truncate all lines with +30 chars.
You can jump if you manually checked your text. For this example, let's truncate.
5.1. Run:
> Pwopfsft -t 21p_clean.txt 30
(will give a '21p_clean_truncate.txt')

6. Merge "{}" brackets:
Now let's join the brackets with our "lazy-translated" script.
6.1. Run:
> Pwopfsft -j 21p_clean_truncate.txt 21.txt
(will give a '21p_clean_truncate_join.txt')

7. Recompile all:
After this, you would like to open the two files for final manual check.
Just clean it what you want and save again. After this:
7.1. Copy '21p_clean_truncate_join.txt' over '21.txt'
7.2. Delete all files except the "txt" scripts and 'offset_list.bin'.
7.3. Execute the compile with dlgTool2b.py.
Example:
> dlgTool2c.py -c mes_all
(will give you a "compile" folder with mes_all.dlg)
7.4. Rename "mes_all.dlg" to "mes_all.bin"
7.5. Copy to original extract path and repack it with DsBuff 0.6.1.

Some Results:
Here is some evidences using the fast method above with script "1.txt"
Of course, if you play the game with this patch, the results could be funny.



Patch for the script 1.txt example above:
Pwopfsft derived files used on this example:
You can see this page here too:
Other similiar DS projects:
Very Old References:
______________________________
Thanks to all, and... let's go!
Last edited by pinet,