Dudas básicas de traducción

Hola buenas, antes de preguntar nada, dire que ya he leído los tres tutoriales de traducir juegos de esta web, el sencillo, normal y el difícil. De hecho, la traducción del juego que estoy haciendo (Rune Factory 3) la realizo satisfactoriamente gracias al tercer tutorial, pero mis dudas son otras. ¿Cómo puedo añadir carácteres como la ñ o la é al juego? En un tutorial ponía que haciendo una tabla pero, por mucho que hago una en documentos de texto y la renombro a ".tbl" como ponía en el tuto dos de la web, el archivo no se convierte en tabla... Bueno, se que mi duda es muy básica, pero es importante saberlo. Y tengo otra duda mas, ¿Como puedo añadir palabras mayores que su traducción? (me refiero a por ejemplo, donde pone death, yo quiero poner muerte, que es una palabra mas larga, querría saber como hacer eso) Tengo mucho entusiasmo, me motivo sola viendo traducciones tan buenas de ds como la que realizó el TWEWY Team, sin ir mas lejos. Un saludo :)
Buscas:
- Editar la font del juego.
- Editar los punteros del texto.

No se si hay tutos de esto la verdad.
Me parece a MÍ que este tema salió antes y CUE hizo unas herramientas o investigó el JUEGO.
Creo recordar, si no perdonad mi ignorancia.
No, que va. Sólo eché un vistazo por encima. Sólo hay que desempaquetar el fichero gordo para separar los distintos ficheros y coger de ahí los que tienen texto, que son muy simples de tratar. Lo que hice fue una tontería en 4 líneas para sacar los textos de ese fichero gordo, sin desempaquetar nada y sin posibilidad de insertar.

Tinke desempaqueta el archivo, y no sé si pleonex hizo algo más para tratar los textos. Son algo así como 2 megas de texto, y cambiarlo con un editor a pelo es perder el tiempo. Tengo pensado, si tengo tiempo, hacer algo para el juego, pero no me atrae demasiado el juego. Ya veré si algún día sigo con él.

Más info de lo que se habló en su momento: hilo_ayuda-para-traducir-rune-factory-3_1732526

~~~ AÑADIDO ~~~
Lo he mirado por encima otra vez. La extracción/inserción de ficheros es una tontería que se hace con 4 líneas. Y los textos es algo parecido. No hay que añadir caracteres a la fuente porque ya trae todos, así que una cosa menos. A lo mejor lo hago cuando tenga un rato libre antes de que acabe el mes.

Imagen
¿Este proyecto murió?
Otro chaval lo está haciendo, pero en distinta página. Ve a Espateam.
El chaval se llama Railef. Lo que aún no sé es que si usó tus herramientas
o algo.
Dudo que se use algo mío porque las tools no las hice públicas ya que nadie se interesó por ellas. Es que esta mañana he visto por aquí el desempaquetador de archivos y el tratamiento de textos, que es lo único que hace falta para la traducción, que es de lo más simple del mundo, y por eso he preguntado, por si la peña seguía interesada en el tema. Pero si ya están con ello me olvido del tema y las mando a mejor vida.
podeis postear el link a los distintos tutos (facil, medio, dificil) Gracias.
EDIT: Encontrados y leidos.

Y asi a modo de curiosidad realmente se puede introducir mas texto del de origen??
Porque antiguamente en hackroms de GB, SNES etc... No se podia si ponia DEATH no podias poner Muerto y eso jode mucho al hacer traducciones [+risas] [+risas] [+risas]

Del Ingles al Español tirale porque dices bueno quito 1 o 2 caracteres (a lo chapucero) pero funciona...
Pero a la hora de hacer un hackrom de un juego japones te cagas (no por el idioma sino por el limite de caracteres).

Por ejemplo he cogido el taiko no tsujin DS y me encuentro cosas como estas:
回 (1 caracter) ---> Volver / Return
太鼓 (2 Caracteres) ---> Taiko (Tambor tradicional japones)

Y eso son 2 ejemplos porque el juego (asi como muchisimos juegos japs) esta plagado de cosas de este tipo ya que con un solo simbol representan algo que nosotros necesitamos 5 o mas...

Es por eso ¿Hay alguna manera de poder introducir mas texto?
No hay ningún problema en meter todo el texto que se quiera, pudiendo cambiar un mensaje de un carácter por la biblia en arameo. En consolas antiguas era muy normal porque estaba todo junto, código y datos, además de la limitación del tamaño del cartucho, pero hoy día es muy raro que pase. Hombre, pasa cuando se quiere traducir a pelo, usando un simple editor hexadecimal para cambiar los textos, pero es que en ese caso son chapuzas en vez de traducciones.
anonimeitor escribió:No hay ningún problema en meter todo el texto que se quiera, pudiendo cambiar un mensaje de un carácter por la biblia en arameo. En consolas antiguas era muy normal porque estaba todo junto, código y datos, además de la limitación del tamaño del cartucho, pero hoy día es muy raro que pase. Hombre, pasa cuando se quiere traducir a pelo, usando un simple editor hexadecimal para cambiar los textos, pero es que en ese caso son chapuzas en vez de traducciones.


Y como debo proceder para traducir por ejemplo: (1 caracter) ---> Volver (5 caracteres)
Porque en los 3 tutos leidos ya sea hexadecimalmente con un editor o con por ejemplo el Notepad++ hacen mucho incapie en que no sobrepases los caracteres que hay o a la mierda (y los sobrantes los sustituyas por algun simbolo como el espacio por ejemplo).

Esta claro que si sigo escribiendo y sobreescribo algun caracter especial me cargare el juego y no ira...
Si añado mas caracteres ¿Iria? es decir cojo en notepad++ y envez de en modo OVR (sobrescribir) me pongo en modo INS y añado letras desplazando todo... ¿IRIA?

Esque me suena un poco raro que sea asi por eso pregunto como es [+risas] [+risas]
Pues no te funciona por dos razones:
- todos esos manuales no valen para nada (eufemismo para no decir que son una puta mierda, le duela a quien le duela, y a las pruebas me remito, como tú mismo has podido comprobar)
- no puedes cambiar los textos con un editor a pelo porque, además de no poder, es una chapuza

Primero tienes que extraer los textos para poder modificarlos e insertarlos de nuevo. Eso implica que tienes/tienen que hacerte alguna chorradilla para ello, que normalmente suele ser algo muy simple.
El problema es que en ningun juego van los textos sueltos en plan texto plano va insertados entremedias de datos muchas veces...
Por ejemplo el que he cogido yo para tratear los textos no son solo textos (como en todos o casi todos los juegos de DS).

Segun dicen en GBATEMP
.swg = UI layout&scripting. Some 'SWF-like' format. I bet it's some variant of the Scaleform GFx formats.

La cosa es la mayoria de la gente que hace traducciones que hay colgadas en este foro por ejemplo (final fantasy 4 heroes, digimon world ds...)
¿Lo han hecho "a lo chapuza" (como se ha hecho toda la vida)? Y sino es asi como se podria??
Como hagas caso a lo que digan en gbatemp lo llevas claro. Ese juego, además de tenerlo todo empaquetado lo lleva comprimido, así que de entrada ya necesitas tres procesos, uno para el empaquetamiento, otro para la compresión y otro para tratar los textos. "Sacar" las cosas es muy sencillo y casi siempre lo hacen, pero cuando se trata de hacerlo al revés no encuentras nada. En este juego han sacado los ficheros, pero pídeles que te hagan el proceso inverso y ya puedes esperar sentado.

Antes de nada tienes que buscar algún fichero que contenga diálogos para intentar saber su estructura. No sirve que digas que son los de un tipo determinado porque lo comentan por aquellos lares ya que eso no es ninguna garantía. También ayuda saber cómo es la fuente de caracteres porque muchas veces se saca todo sabiendo la correspondencia entre caracteres y códigos.

Sobre los juegos que comentas, "Final Fantasy 4 Heroes" y "Digimon World DS", se han traducido usando herramientas mías, así que te puedo confirmar que es, más o menos, como lo he indicado.

No tengo nada de esos juegos por aquí, pero del "Rune Factory 3" tengo los textos, para que veas cómo quedan y lo simple que resulta su edición, pudiendo meter todo el texto que quieras, olvidándote de las tonterías de los editores que mencionan en todos los sitios:
[00000000]
(ダイアログ無し){end}

[00000001]
本体のWi-Fiユーザー情報が
消えた可能性があります。
Wi-Fiコネクション設定で
接続先の設定をご確認ください。{end}

[00000002]
Wi-Fiコネクションに接続しますか?{end}
...

He puesto textos de la versión japonesa para que se vea que el idioma de los juegos es lo de menos, aunque siempre es más sencillo trabajar con alfabetos occidentales. Ahora imagínate que todos los textos del juego están en simples ficheros ".txt" que puedes editar con el bloc de notas, que es el único editor que uso para estas cosas, y verás que las cosas no son tan complicadas como parecen. El problema son las herramientas, que pocos las van a hacer.
Haber herramienta para empaquetar y desempaquetar hay (no se hasta que punto estara bien hecha).

Hay 2 ( seatab.TDM.Pack.exe // seatab.TDM.Unpack.exe ) y otra llamada ( taiko_packer ).

Pero como ya he dicho no se hasta que punto estaran bien hechas las tools...
Desempaquetar lo hacen porque las he provado (ambas).

Y Empaquetar he provado a empaquetar con la app llamado "taiko_packer" (sin modificar nada osea, desempaqueta, y reempaquetas) y el juego funciona.
Sin modificas algo el juego funciona hasta que intentas acceder a ese algo (por ejemplo opciones) en dicho caso crashea pero porque la modificacion que hecho no esta bien obviamente [+risas] [+risas]

El problema es obtener los textos de los archivos swg...
Las texturas son otros archivos con extension ntf que segun dicen son texturas "tipo gba" a 4bpp, aunque no he conseguido ver nada bien con el tilemap, pero esa gente si lo hizo aunque esto ya es otro cantar no es texto pero era por probar a cambiar algo que no contenga datos de juego, para ver si al reempaquetar funciona o crashea...


EDIT:
Al parecer la primera tool que he mencionado hace lo mismo que el taiko packer realmente desempaqueta el fichero DATA.000 pero no reempaqueta.
La aplicacion Taiko Packer si reempaqueta.
Si ya hay herramientas es que algo han mirado, así que nadie mejor que ellos para que te ayuden. Como has cambiado textos, las opciones, ya sabes más o menos por dónde están, así que es cuestión de mirar su estructura.

En un rato he sacado todo lo que he podido de las fuentes, que son tres, que puede ayudar a buscar los caracteres usados o a reemplazar los existentes.

Datos de las fuentes:
000000: cabecera
- 8 bytes, "IPL"/"LC12"/"LC10V", rellenado con ceros
- 1 byte, parecen los pixeles a saltar antes de mostrar el carácter
- 1 byte, parecen los pixeles de ancho a mostrar del carácter
- 1 byte, parecen los pixeles de alto a mostrar del carácter
- 1 byte, parecen los pixeles de ancho a sumar para ir al siguiente carácter
- 1 byte, H, altura del carácter
- 1 byte, W, anchura del carácter en bytes
- 2 bytes, N, número de caracteres

000010-00020F: parece una paleta de 16 bits para 256 colores
000210-00040F: parece una paleta de 16 bits para 256 colores

000410: por cada carácter:
- 4 bytes low endian con el offset relativo a los datos del tile
- 2 bytes big endian con el código unicode del carácter
- 1 byte con el número de tile del bloque comenzando en 0
- 1 byte con el número de tiles del bloque restante

el offset absoluto se obtiene sumando 0410+N*8 al offset relativo
cada bloque se compone de los códigos unicode con el mismo byte superior

0410+N*8, por cada carácter:
- H*W bytes por cada tile, 1bpp


Fuente IPL:
Imagen

Fuente LC12:
Imagen

Fuente LC10V:
Imagen
Acojonante lo tuyo O___OU
Se nota la experiencia en tu caso, miedito me das [mad] [mad] [mad] (hehehe)


He provado a cambiar un grafico para probar a reempaquetar y cercionarme 100% que el empaquetador funciona y en efecto el empaquetador funciona ya que modificado un tile
lo mio me ha costado :p :p (no conseguia ver ningun grafico solo pixels y rayas) hasta que puse 2-Dimensional a 4bpp reverse (tshhh y en GBATemp decian 1-Dimensional ¬__¬)

Imagen

Los Graficos y soniditos (que no canciones) se pueden editar sin mucha dificultad (solo paciencia).
Los textos he ahi la complicadez hehehe...

Segun he seguido leyendo los misteriosos archivos SWG son una especie de Scripts y los bloques de texto se añaden cuando se necesitan (dentro del script).

theli escribió:i've already said that text is replaceable (and already said long ago that it is in utf-8 encoding)
you see, there are no plain text files, swg files are some kind of script files (i suppose) ... and text blocks are embedded into them where needed



theli escribió:text is embedded into compiled script files interpreted by game engine, to be able to properly translate it one needs to figure out those scripts' format





EDIT: Con Aburrimiento y paciencia...

Imagen

El menu de opciones no tiene nada es todo graficos/tiles...
Realmente el unico texto que debe haber en el menu opciones es el nombre de tu personaje y en la parte de cambiarte el nombre donde pone "Hiragana", "Katakana" y "Finalizar/Acabar".

Adjuntos

Eso tiene la pinta de que son ficheros de eventos. La única solución es mirar lo que hace el juego con cada código para poder hacer algo, así que toca depurar el juego. Yo me acuerdo del Digimon World 1 de PSX o del Grandia 2 de PS2, donde me tocó hacerlo, y básicamente hay que ver cuántos bytes ocupa cada código y cuales indican algún tipo de offset para que, al modificar cualquier cosa, se pueda actualizar todo en condiciones. Mucho me temo que el juego quedará sin traducir, pues poca gente se dedica o está dispuesta a eso en la NDS.

He estado viendo lo de gbatemp y no explican nada, como de costumbre, así que pongo lo que he visto sobre el empaquetamiento, por si llega a interesar a alguien, que no es mi caso, y porque siempre es bueno saber el por qué de las cosas. No veo razón por la que no se explique, que no es nada del otro mundo. Sirve para los juegos Taiko no Tatsujin 1 y 2, que usan la misma estructura.

En "DATA.000" está la información de los ficheros y en "list.bin" está la información para sacarlos (nombres y punteros), así que el meollo está en este último.

Primero hay una cabecera de 32 bytes:
- 4 bytes con el número de bloques, que, básicamente, son directorios empaquetados
- 4 bytes con el número de ficheros
- 16 bytes con información del fichero en ASCII (año-mes-día-hora-minuto), imagino que la fecha de creación
- 8 bytes a cero, que es un relleno para ocupar los 32 bytes

Ojo, no hay que confundir "bloque" con "directorio", como hacen en gbatemp. La información está estructurada por bloques, que pueden estar comprimidos, y dentro están los ficheros, pero únicamente se pueden sacar del bloque descomprimido.

Después viene la información de los bloques, en entradas de 32 bytes. Cada bloque en "DATA.000" contiene los datos de los ficheros que lleva, y puede estar comprimido. Los datos de cada bloque son:
- 4 bytes con el offset relativo al nombre del bloque/directorio
- 4 bytes con el número de ficheros del bloque
- 4 bytes con el contador de ficheros (usado para saber el offset a los datos de los ficheros)
- 4 bytes con el modo, 0 para bloques normales, 2 para bloques comprimidos con LZSS (la normal de la BIOS de la consola)
- 4 bytes con el offset de los datos en "DATA.000", en unidades de 512 bytes
- 4 bytes con el tamaño del bloque comprimido en bloques de 2048 bytes (rellenado con ceros)
- 4 bytes con el tamaño del bloque descomprimido en bloques de 2048 bytes (rellenado con ceros)
- 4 bytes a cero, el relleno hasta 32 bytes
Obviamente, si el bloque no está comprimido, los dos últimos tamaños serán el mismo.

A continuación viene la información de los ficheros, en entradas de 16 bytes:
- 4 bytes con el offset relativo al nombre del fichero
- 4 bytes con el tamaño del fichero en el bloque
- 4 bytes con el offset del fichero en el bloque
- 4 bytes a cero, el relleno hasta 32 bytes

Y ahora vienen los nombres de bloques y ficheros, en ASCII normal, terminados en 0.

La posición de cada sección es:
- la cabecera en 0
- los datos de los bloques en 32
- los datos de los ficheros en 32 + 32 * número_bloques
- los nombres en 32 + 32 * número_bloques + 16 * número_ficheros

Los nombres de los bloques/directorios pueden tomarse tal cual, como hacen en gbatemp, pero producen una estructura caótica. Lo normal es cambiar los '_' y '.' por '/' para tener una estructura más decente. Ojo, sólo en los nombres de los bloques, no en el de los ficheros.
16 respuestas