Sep 23, 2009

Urusai, baka!!! escribe en japones desde tu navegador

Acerca de Urusai, baka!!!


Descarga Urusai, baka!!! (GLPv3)

Urusai, baka!!! comenzó como un experimento mio para localizar la posición de los caracteres japoneses(su código html equivalente) dentro del Firefox y básicamente dentro de cualquier otro navegador.


Para que se entienda, todos los caracteres(letras, numero, signos, etc.) tienen un código equivalente HTML de la forma:

&#nnnn;

Donde nnnn es un numero, la posición dentro de la tabla de caracteres, esta tabla esta estandarizada y por lo tanto es idéntica tanto bajo GNU/Linux como Windows, igual en Firefox como IExplorer.

Por ejemplo para los caracteres estándares tenemos que:

1 -> 1

2 -> 2

3 -> 3

...

A -> A

B -> B

C -> C

...

a -> a

b -> b

c -> c

...

En el caso de los caracteres katakana y hiragana se encuentran en el intervalo [12289, 12543], mientras que los kanjis se encuentran en el intervalo [19968, 40870].

Tras descubrir esto, pronto comenze a experimentar con la posibilidad de transcribir las palabras escritas en romaji a su equivalente hiragana, luego a katakana, luego comenze a agregarle funciones que me permitan transcribir un texto completo con la posibilidad de alternar entre katakana y hiragana, sin darme cuenta termine creando un completo y sencillo transcriptor de japones en apenas 2 días, increíble!!!

Estaba mas que satisfecho con mi programa pero todabia quedaba un obstáculo por superar, los kanjis.

Como haría para indexarlos dentro del programa?

En ese momento recordé la existencia del kanjidic2, el cual esta licenciado bajo Creative Commons.

Y tras algunos retoques ya tenia listo el programa completo.

Tutorial


Urusai, baka!!! se basa en el uso de comandos para ir alternando los métodos de escritura(katakana, hiragana, kanji o romaji), estos comandos son:

*h ... Transcribe toda la frase a hiragana hasta el siguiente asterisco.

*k ... Transcribe toda la frase a katakana hasta el siguiente asterisco.

*i ... Transcribe toda la frase a kanji(kunyomi) hasta el siguiente asterisco.

*o ... Transcribe toda la frase a kanji(onyomi) hasta el siguiente asterisco.

*r ... Mantiene toda la frase en romaji hasta el siguiente asterico.

**     Escribe un asterisco.

los ...(tres puntos) corresponden a la frase a transcribir, siempre hay que dejar un espacio entre la letra clave(h, k, i o r) y la frase. Veamos un ejemplo alternando entre hiragana, katakana, romajis y símbolos.




Facil, verdad? El uso de kanjis es un poquito mas complejo pues hay que saber usarlos, Urusai, baka!!! no es adivino y realmente no sabe lo que quieres escribir. Si solo un kanji coincide con la palabra escrita entonces escribirá directamente el kanji, caso contrario mostrara todos los kanjis coincidentes seguidos de un numero. Si todabia no sabes que kanji elegir entonces puedes escribir (-) detras de la palabra y Urusai, baka!!! te mostrara sus nemonicos. Cada kanji debe ir separado por comas. Veamos un ejemplo.



Aqui hay un ejemplo mas practico.



Si quieres puedes colocar Urusai, baka!!! en tu pagina personal, y enseñarles a tus lectores de una forma practica el idioma japones o si enseñas japones puedes llevarlo contigo en un pendrive y darles una copia a tus alumnos para que sigan practicando el idioma, sin necesidad de instalar nada y completamente portable, aunque en algunos casos quizás requiera instalar las fuentes japonesas.

Urusai, baka!!! es software libre, así que incluso puedes modificarlo a tus necesidades(siempre respetando la GPL).

2 comments:

  1. すごい!!felicidades, me ha encantado el programa! Yo estoy haciendo uno para conjugar verbos :D

    Es un poco rudimentario, funciona a base de funciones de string.h, y sí, es en C xD (poca compatibilidad con los caracteres) Tratando cada carácter como un string de 3 bytes me deja operar y funciona!

    ReplyDelete
  2. どうも ありがとう ございます。:D
    Con respecto a la codificación de los caracteres, podrías usar iconv:

    www.gnu.org/software/libiconv
    www.lemoda.net/c/iconv-example/iconv-example.html
    www.gnu.org/s/libc/manual/html_node/iconv-Examples.html

    Suerte!

    ReplyDelete