Traducción de 'Decrypt9' al español.

¡Hola!
He decidido traducir la aplicación conocida como 'Decrypt9' al español, la aplicación tiene la misma funcionalidad que la original y siempre estará 'a la última'.

Algunas capturas de pantalla de la aplicación (aunque en las fotos no aparece, debería aparecer también el logo en la pantalla inferior):
https://s32.postimg.org/4yn8i6bmt/IMG_2 ... 162456.jpg
https://s32.postimg.org/bp47yis85/IMG_2 ... 163629.jpg
https://s32.postimg.org/p8l248679/IMG_2 ... 163641.jpg

El objetivo de esta traducción es el de que el usuario hispanohablante pueda entender de una forma cómoda y simple la aplicación que está usando.

Código fuente: https://github.com/PlayerAAA/Decrypt9WIP_ES
Binarios: https://github.com/PlayerAAA/Decrypt9WIP_ES/releases

¡Saludos! Se agradecen los comentarios.
No tiene un Inglés muy complicado (es más, ahora se me hace raro ver las opciones en español xD), pero siempre es de agradecer. :D
eso lo hice hace tiempo y al final pase de estar traducciendo cada dos por tres el codigo XD, pero se agradece.
DLoro5 escribió:No tiene un Inglés muy complicado (es más, ahora se me hace raro ver las opciones en español xD), pero siempre es de agradecer. :D

me pasa igual [360º]
Ninoh-FOX escribió:eso lo hice hace tiempo y al final pase de estar traducciendo cada dos por tres el codigo XD, pero se agradece.


Aunque tendré que probarlo en la próxima versión, los archivos que modifico los puedo pasar a la siguiente versión sin problemas, ya que estos archivos son los mismos para todas las versiones. Ya que haciendo un copy&paste de las funciones que existían en la versión anterior, al ser las mismas, solo tendría que traducir las nuevas funciones que añada. Por ejemplo, así es en el código la restauración/copia de Sys/EmuNAND:
En la versión actual:
  "SysNAND Options", 6,
        {
            { "SysNAND Backup/Restore...",    NULL,                   SUBMENU_START +  0 },
            { "Partition Dump...",            NULL,                   SUBMENU_START +  2 },
            { "Partition Inject...",          NULL,                   SUBMENU_START +  4 },
            { "File Dump...",                 NULL,                   SUBMENU_START +  6 },
            { "File Inject...",               NULL,                   SUBMENU_START +  8 },
            { "Miscellaneous...",             NULL,                   SUBMENU_START + 10 }
        }
    },
    {
        "EmuNAND Options", 6,
        {
            { "EmuNAND Backup/Restore...",    NULL,                   SUBMENU_START +  1 },
            { "Partition Dump...",            NULL,                   SUBMENU_START +  3 },
            { "Partition Inject...",          NULL,                   SUBMENU_START +  5 },
            { "File Dump...",                 NULL,                   SUBMENU_START +  7 },
            { "File Inject...",               NULL,                   SUBMENU_START +  9 },
            { "Miscellaneous...",             NULL,                   SUBMENU_START + 11 }
}


En la versión anterior:
       "SysNAND Options", 6,
        {
            { "SysNAND Backup/Restore...",    NULL,                   SUBMENU_START +  0 },
            { "Partition Dump...",            NULL,                   SUBMENU_START +  2 },
            { "Partition Inject...",          NULL,                   SUBMENU_START +  4 },
            { "File Dump...",                 NULL,                   SUBMENU_START +  6 },
            { "File Inject...",               NULL,                   SUBMENU_START +  8 },
            { "Miscellaneous...",             NULL,                   SUBMENU_START + 10 }
        }
    },
    {
        "EmuNAND Options", 6,
        {
            { "EmuNAND Backup/Restore...",    NULL,                   SUBMENU_START +  1 },
            { "Partition Dump...",            NULL,                   SUBMENU_START +  3 },
            { "Partition Inject...",          NULL,                   SUBMENU_START +  5 },
            { "File Dump...",                 NULL,                   SUBMENU_START +  7 },
            { "File Inject...",               NULL,                   SUBMENU_START +  9 },
            { "Miscellaneous...",             NULL,                   SUBMENU_START + 11 }
        }


Como podemos ver, nada varía entre ambos archivos, así que solo tendría que hacer copy&paste, y solo tendría que traducir las nuevas funciones que incluya en las versiones futuras.


DLoro5 escribió:No tiene un Inglés muy complicado (es más, ahora se me hace raro ver las opciones en español xD), pero siempre es de agradecer. :D
villadelaniebla escribió:
DLoro5 escribió:No tiene un Inglés muy complicado (es más, ahora se me hace raro ver las opciones en español xD), pero siempre es de agradecer. :D

me pasa igual [360º]


Aunque la aplicación tenga un inglés fácil, el README.md solo en inglés puede costar un poco para gente que no tenga un buen nivel de inglés (además, es un montón de texto y siempre es mejor leer textos largos en tu propio idioma), así que ahora ese archivo esté en español, es algo muy bueno para esas personas.
#239928# está baneado por "Saltarse el ban con un clon"
A mí me parece genial la idea, aunque ya te digo que es un embrollo traducirla de vez en cuando o actualizar cada vez que d0k3 decida actualizar su Decrypt9, te lo digo como único traductor del CFW NTR.

Aun así, me parece genial la idea, y si puedes, agrega tildes. Por lo que veo se podría agregar tildes con el uso de código ASCII (creo), deberías probar a ponerlo en el código a ver si funciona.
creo recordar que las tildes petaban en el codigo, no me acuerdo. (que no se veian bien)

encontre una foto, es del otphelper, pero pasa igual que con D9, asi que efectivamente las tildes no se ven:

Imagen
MatiasBG escribió:A mí me parece genial la idea, aunque ya te digo que es un embrollo traducirla de vez en cuando o actualizar cada vez que d0k3 decida actualizar su Decrypt9, te lo digo como único traductor del CFW NTR.

Aun así, me parece genial la idea, y si puedes, agrega tildes. Por lo que veo se podría agregar tildes con el uso de código ASCII (creo), deberías probar a ponerlo en el código a ver si funciona.


¿A qué te refieres? Porque lo único que se me ocurre es con un char y printf, pero al no poder concatenar texto (me sale un error al compilar) y al no saber nada de C, pues lo veo difícil. Además, si introduces tildes de forma 'normal' sucede lo que ha comentado @Ninoh-FOX .
#239928# está baneado por "Saltarse el ban con un clon"
Player_AAA escribió:
MatiasBG escribió:A mí me parece genial la idea, aunque ya te digo que es un embrollo traducirla de vez en cuando o actualizar cada vez que d0k3 decida actualizar su Decrypt9, te lo digo como único traductor del CFW NTR.

Aun así, me parece genial la idea, y si puedes, agrega tildes. Por lo que veo se podría agregar tildes con el uso de código ASCII (creo), deberías probar a ponerlo en el código a ver si funciona.


¿A qué te refieres? Porque lo único que se me ocurre es con un char y printf, pero al no poder concatenar texto (me sale un error al compilar) y al no saber nada de C, pues lo veo difícil. Además, si introduces tildes de forma 'normal' sucede lo que ha comentado @Ninoh-FOX .


Yo lo hago con printif, más ASCII, un ejemplo en mi código de NTR:

printf("\nPresiona el bot%cn Home para volver al Men%c.\n", 162, 163);


Que haría que salga "botón" y "Menú". Aquí hay más ejemplos.
MatiasBG escribió:Yo lo hago con printif, más ASCII, un ejemplo en mi código de NTR:

printf("\nPresiona el bot%cn Home para volver al Men%c.\n", 162, 163);


Que haría que salga "botón" y "Menú". Aquí hay más ejemplos.


El problema es que al realizar lo que has dicho, al compilar obtengo el siguiente error:
/home/alexis/Documents/Decrypt9WIP-master/source/main.c:22:9: error: initializer element is not constant
         printf("Opciones de GEnERACI%cN DE XORPADS", 163), 8,
         ^


Yo solo he tocado los lenguajes de programción en web (un poco de JS y otro poco de PHP), así que no sé qué hacer en este caso.
@Player_AAA

Es lo malo de éstas cosas que no son foros, como los que estás acostumbrado a usar.
Me agrada la idea pero mas que traducir las opciones deberias modificar el programa en cierta forma, te ahorras trabajo y te sale mejor, a que me refiero? A en vez de traducir las opciones (que a mi parecer en ingles estan mejor estructuradas visualmente, en algunas se ve chevere al español pero otras como las opciones de sys/emunand se ve raro xD cosas de uno) podrias hacer que al posar el selector en una en la pantalla inferior se muestre una descripcion de lo que hace dicha opcion (por tanto, traducirias la descripciones que coloca d0ks en la pagina de github), es una idea, si te gusta vale, sino pues normal jaja, digo que de esta manera no tendrias que adaptarte a cada nueva update de d0ks y seria mas copy-paste que lo que haces ahorita, creo.
RacsoSakuraba escribió:Me agrada la idea pero mas que traducir las opciones deberias modificar el programa en cierta forma, te ahorras trabajo y te sale mejor, a que me refiero? A en vez de traducir las opciones (que a mi parecer en ingles estan mejor estructuradas visualmente, en algunas se ve chevere al español pero otras como las opciones de sys/emunand se ve raro xD cosas de uno) podrias hacer que al posar el selector en una en la pantalla inferior se muestre una descripcion de lo que hace dicha opcion (por tanto, traducirias la descripciones que coloca d0ks en la pagina de github), es una idea, si te gusta vale, sino pues normal jaja, digo que de esta manera no tendrias que adaptarte a cada nueva update de d0ks y seria mas copy-paste que lo que haces ahorita, creo.


Si supiera hacerlo, lo haría, pero ya que no sé nada de programar en C, como que lo veo complicado. De todas maneras, si quieres saber qué hace cada función, el archivo README.md está traducido al español.
Player_AAA escribió:
MatiasBG escribió:Yo lo hago con printif, más ASCII, un ejemplo en mi código de NTR:

printf("\nPresiona el bot%cn Home para volver al Men%c.\n", 162, 163);


Que haría que salga "botón" y "Menú". Aquí hay más ejemplos.


El problema es que al realizar lo que has dicho, al compilar obtengo el siguiente error:
/home/alexis/Documents/Decrypt9WIP-master/source/main.c:22:9: error: initializer element is not constant
         printf("Opciones de GEnERACI%cN DE XORPADS", 163), 8,
         ^


Yo solo he tocado los lenguajes de programción en web (un poco de JS y otro poco de PHP), así que no sé qué hacer en este caso.


Si realmente necesitas una constante, utiliza #define. Por otro lado, te esta diciendo que tienes el error en la linea 22 espacio 9, viendo el codigo que te ha puesto el compañero (que no se si es obligatorio) te faltaria el retorno de carro o \n y probablemente antes de cerrar las "" tambien.

Con el 163 entiendo que haces la conversion a char para tener ese caracter ascii, pero el 8 que hace ahi?
Phobos17 escribió:
Player_AAA escribió:
MatiasBG escribió:Yo lo hago con printif, más ASCII, un ejemplo en mi código de NTR:

printf("\nPresiona el bot%cn Home para volver al Men%c.\n", 162, 163);


Que haría que salga "botón" y "Menú". Aquí hay más ejemplos.


El problema es que al realizar lo que has dicho, al compilar obtengo el siguiente error:
/home/alexis/Documents/Decrypt9WIP-master/source/main.c:22:9: error: initializer element is not constant
         printf("Opciones de GEnERACI%cN DE XORPADS", 163), 8,
         ^


Yo solo he tocado los lenguajes de programción en web (un poco de JS y otro poco de PHP), así que no sé qué hacer en este caso.


Si realmente necesitas una constante, utiliza #define. Por otro lado, te esta diciendo que tienes el error en la linea 22 espacio 9, viendo el codigo que te ha puesto el compañero (que no se si es obligatorio) te faltaria el retorno de carro o \n y probablemente antes de cerrar las "" tambien.

Con el 163 entiendo que haces la conversion a char para tener ese caracter ascii, pero el 8 que hace ahi?


Pues si utilizo #define y el restorno de carro, pues me aparecen más errores, supongo que el problema principal será este:
c:/Users/Alexis/Decrypt9WIP_ES/Decrypt9WIP_ES/source/main.c:21:24: error: ""\nOpciones de GENERACI%cN DE XORPADS\n"" may not appear in macro parameter list
         #define printf("\nOpciones de GENERACI%cN DE XORPADS\n", 163), 8,
                        ^
c:/Users/Alexis/Decrypt9WIP_ES/Decrypt9WIP_ES/source/main.c:22:9: warning: braces around scalar initializer
         {
         ^
De todas, formas,aquí tienes el texto entero que me apreció en la terminal.

Pues sobre el 8, en el código fuente ya estaba escrito, así que supongo que algo hará, además, se repite la misma syntax con las diferentes opciones, ya que en las opciones de la SysNand está escrito un 6.
  "Opciones de SYSNAND", 6,
        {
            { "Copiar/Restaurar SysNand",    NULL,                   SUBMENU_START +  0 },
            { "Realizar copia de una particion",            NULL,                   SUBMENU_START +  2 },
            { "Inyectar una particion",          NULL,                   SUBMENU_START +  4 },
            { "Realizar copia de archivo",                 NULL,                   SUBMENU_START +  6 },
            { "Inyectar archivo",               NULL,                   SUBMENU_START +  8 },
            { "Miscelaneo",             NULL,                   SUBMENU_START + 10 }
        }
    },
mandame un mp y asi me mandas el codigo por privado y le hecho un ojo.

el #define no es para el printf sino para que crees una constante a la que le dejas el valor fijo en 163 y donde tienes el 163 le tienes que poner el nombre de esa constante
Player_AAA escribió:
RacsoSakuraba escribió:Me agrada la idea pero mas que traducir las opciones deberias modificar el programa en cierta forma, te ahorras trabajo y te sale mejor, a que me refiero? A en vez de traducir las opciones (que a mi parecer en ingles estan mejor estructuradas visualmente, en algunas se ve chevere al español pero otras como las opciones de sys/emunand se ve raro xD cosas de uno) podrias hacer que al posar el selector en una en la pantalla inferior se muestre una descripcion de lo que hace dicha opcion (por tanto, traducirias la descripciones que coloca d0ks en la pagina de github), es una idea, si te gusta vale, sino pues normal jaja, digo que de esta manera no tendrias que adaptarte a cada nueva update de d0ks y seria mas copy-paste que lo que haces ahorita, creo.


Si supiera hacerlo, lo haría, pero ya que no sé nada de programar en C, como que lo veo complicado. De todas maneras, si quieres saber qué hace cada función, el archivo README.md está traducido al español.


Ah vale, no por mi no hay problema, yo se para que sirve cada cosa, lo unico que digo es que seria un buen gancho para el usuario promedio que no sabe siquiera que en el README.md esta la informacion (o en la propia pagina del desarrollador original), seria una buena manera de encaminar al usuario normal en plena accion pero si no sabes no hay problema :P
16 respuestas