The source file wineinstall needs translation

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
User avatar
shakaran
Level 2
Level 2
Posts: 29
Joined: Sat Feb 23, 2008 9:49 pm

The source file wineinstall needs translation

Post by shakaran »

Hello, I have compiled the source of wine for the first time but I had not installed any package as flex and I get an error message.

This error only showed that you must install the package, but in English and would rather useful for people who compiles for the first time, appeared in their language.

You simply could detect the language before starting to compile a file and include constant depending on the language detected.

I could translate the entire file wineinstall Spanish.

You could make that change (at least in the file wineinstall) to facilitate understanding the user?

Thank you
Tlarhices
Level 4
Level 4
Posts: 101
Joined: Sun Mar 02, 2008 9:28 pm

Post by Tlarhices »

It's true that having error message in one's own language is really helpful but it should also be considered that having the same error message for everybody makes googling errors easier. It also give the possibility to people not knowing your language to understand what the error means and so to give you help.
That's why error translation are often reserved to non technical matters that a standard user can solve easily or each error need to have a unique error code and a table where user helpers can find a translation but that adds complexity in bug reporting and reading.
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: The source file wineinstall needs translation

Post by vitamin »

shakaran wrote:Hello, I have compiled the source of wine for the first time but I had not installed any package as flex and I get an error message.

This error only showed that you must install the package, but in English and would rather useful for people who compiles for the first time, appeared in their language.

You simply could detect the language before starting to compile a file and include constant depending on the language detected.

I could translate the entire file wineinstall Spanish.

You could make that change (at least in the file wineinstall) to facilitate understanding the user?

Thank you
Usually translation of development related text is lagging way behind or just absent. If you are a developer at a minimum you are expected to know English. Most information available on programming is written in English only.

If you are a user who attempting to compile Wine you should consider using precompiled binaries for your distro instead.
User avatar
shakaran
Level 2
Level 2
Posts: 29
Joined: Sat Feb 23, 2008 9:49 pm

Post by shakaran »

@ vitamin'm not even developer, I am a student and I think I have a good level of English as a student and I know well your assertion that most information is written in English.

I want to help the development of Wine (perhaps now be soon, but when we find out more technical aspects, perhaps I could write a few lines useful).

I am not saying that mistakes and very internal code on the heart are translated at the moment but at least the singles for the compilation would be useful.

Please, I would like to take into account my proposal because I believe that is not very complicated to do and personally I think it would be very useful.

At the moment I do not have much knowledge to help with the code therefore propose translations (which is something I can do).

Now I'm reading "Develoment Guide" on the website of Wine and acquiring knowledge and I think it could also translate it gradually, as well as begin to translate some menus from the website of wine.
austin987
Wine Developer
Wine Developer
Posts: 2383
Joined: Fri Feb 22, 2008 8:19 pm

The source file wineinstall needs translation

Post by austin987 »

On Wed, Apr 30, 2008 at 7:43 PM, shakaran <[email protected]> wrote:
@ vitamin'm not even developer, I am a student and I think I have a good level of English as a student and I know well your assertion that most information is written in English.

I want to help the development of Wine (perhaps now be soon, but when we find out more technical aspects, perhaps I could write a few lines useful).

I am not saying that mistakes and very internal code on the heart are translated at the moment but at least the singles for the compilation would be useful.

Please, I would like to take into account my proposal because I believe that is not very complicated to do and personally I think it would be very useful.

At the moment I do not have much knowledge to help with the code therefore propose translations (which is something I can do).

Now I'm reading "Develoment Guide" on the website of Wine and acquiring knowledge and I think it could also translate it gradually, as well as begin to translate some menus from the website of wine.





http://wiki.winehq.org/Translating
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Post by vitamin »

shakaran wrote:I want to help the development of Wine (perhaps now be soon, but when we find out more technical aspects, perhaps I could write a few lines useful).
Well the "configure" script is an automatically generated shell script. I don't know of any ways how you can seamlessly translate shell scripts in the first place without making it a nightmare. Let alone the ones automatically generated.

So if you really want to translate something - translate Wine itself as Austin pointed you at. Also see the status of translation here: http://pf128.krakow.sdi.tpnet.pl/wine-transl/

Of course you can translate readmes and other documentation as well. All that would be much more useful then few "<blah> package missing" translations. That won't take anyone more then 10 seconds to memorize what that means in English.
User avatar
shakaran
Level 2
Level 2
Posts: 29
Joined: Sat Feb 23, 2008 9:49 pm

Post by shakaran »

Well, I begin with Wine as you suggest. Although that seems to translate a single line needs to be done many steps.

You have seen the translation system LaunchPad? is fairly simple to use and translations are usually done faster.
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Post by vitamin »

shakaran wrote:Well, I begin with Wine as you suggest. Although that seems to translate a single line needs to be done many steps.

You have seen the translation system LaunchPad? is fairly simple to use and translations are usually done faster.
You can't use it directly with Wine it's not compatible.
User avatar
shakaran
Level 2
Level 2
Posts: 29
Joined: Sat Feb 23, 2008 9:49 pm

Post by shakaran »

I knew that Wine was not compatible with translations in LaunchPad, only suggesting that it might be useful to try to use it (if supported).

He started to read the translation guide:

http://wiki.winehq.org/Translating

and he also translated the article. How could update the wiki to the version in Spanish?

Maybe something like:
http://wiki.winehq.org/Translating_ES

or page can detect the language of the browser and then show depending on the language?

PS: If needed in HTML format with links I do.

Code: Select all

Los archivos binarios Wine pueden contener los mismos recursos en varios idiomas. Wine seleccionará la versión de recurso del idioma para mostrarla basándose en los ajustes del usuario. Por ejemplo "LANG=ru_RU winecfg" pondrá en marcha winecfg en Ruso (si tines la información de localización Rusa instalada en Linux/tu otro sistemas operativo nativo).

Los recursos se almacenan en archivos RC estándar de Windows. Por lo general, hay un archivo maestro de recursos (por ejemplo, programs/notepad/rsrc.rc) que contiene los recursos de idioma neutral e incluye el archivos de idioma. Los archivos de idioma contienen recursos de idioma dependientes en el idioma determinado (por ejemplo, programs/notepad/En.rc - recursos Ingleses; programs/notepad/Pl.rc - recursos Polacos). Aviso la declaración LANGUAGE del compilador de recursos instruye en qué idioma están los recursos.

Puedes comprobar la página de estadísticas de traducciones de Wine para ver cual es el estado de la traducción a un idioma determinado.

¿Cómo puedo mejorar la traducción?

Wine es un proyecto Open Source por lo tanto, todo el mundo puede descargar el código fuente, modificar el recurso y enviar las modificaciones para su posible inclusión en el árbol oficial de Wine.

Se recomienda construir Wine a partir del código fuente para poder poner a prueba las traducciones. El método recomendado para obtener el último código fuente de Wine es utilizar Git. Una guía rápida puede se puede encontrar en http://www.winehq.org/site/git. Un análisis más detallado esta en GitWine.

Para construir Wine es posible que desee comprobar primero los Paquetes Recomendados. Wine es especialmente meticuloso con fontforge - puedes necesitar la última versión para mostrar correctamente las fuentes. En algunas distribuciones de Linux de 64-bit puede ser más difícil - comprueba WineOn64bit si tienes uno - mientras que en sistemas 32-bit (si tienes todos los paquetes necesarios) por lo general todo lo que normalmente hay que hacer es "./configure && make depend && make".

Después de construir wine puede ejecutar desde ese directorio - por ejemplo, ejecutar ~/wine-src o ~/wine-src/wine program.exe (si el cógido fuente de Wine esta en ~/wine-src). También puedes iniciar incorporando programas en la ejecución por ejemplo ~/wine-src/programas/notepad/notepad. Si no tienes instalado aún Wine puedes instalarlo ejecutando desde el directorio de código fuente principal como root: make install. Una vez wine sea construido puede iniciarse como wine. Sin embargo, si tu distribución enlaza Wine no deberías ejecutar make install (a menos que remuevas el Wine "oficial" primero), ya que esto puede dar lugar a conflictos.

Si eres capaz de construir Wine puedes probar a editar los archivos de recursos. Si añades nuevos recursos a un archivo existente, entonces copia del archivo de Inglés y traduce las cadenas. Si estas traduciendo un nuevo archivo:

	* copia el archivo Inglés como su archivo (digamos Qq.rc)
	* ejecuta "gid add Qq.rc" para que GIt conozca sobre este nuevo archivo
	* añade un #include "Qq.rc" al archivo maestro (por los general rsrc.rc)
	* ejecuta "make depend" para hacer saber sobre el nuevo archivo
	* modifica la linea LANGUAGE. Busca el código del idioma en include/winnt.h y la norma del subidioma para tu idioma en SublangNeutral (o copialo de otro archivo en tu idioma)
	* traduce la cadena
	
Las directrices acerca de la edición de estos archivos de recursos y que cadenas deberían ser traducidas esta en el capítulo de Traducción de Desarrolladores-Sugerencias. Tenga en cuenta que como se dice en esa página, a menos que cambie explícitamente con un pragma, los archivos no están en UTF-8 (la codificación de caracteres de Linux/MacOS X) pero en la codificación de Windows.

Después de editar los recursos se debe hacer una construcción para comprobar si Wine construye y corre correctamente. Si traducido el programa puedes ejecutarlo y comprobar la traducción. Puedes comprometer los cambios a tu repositorio Git local con git commit -a. Puedes comprobar los cambios después de la última confirmación con git diff HEAD. Es bueno para un parche de traducción contener los cambios de una dll/program así es mejor confirmar los cambios después de la traducción de una dll/programa y antes de pasar a otro.

Si estas satisfecho con tus traducciones puedes enviarla a wine-patches y ellos podrían llegar a incluirla en el Git Wine oficial. Leer http://www.winehq.org/site/sending_patches para saber como hacerlo y como comprobar si fue aplicado. Enviar sólo archivos de revisión (por ejemplo, generado por git format-path), uno en un correo electrónico, sin compresión (si el parche en tu email no será reconocido y aplicado por un script automatizado entonces la posibilidad de que sea aceptado son abreviadamente cero).

Usando archivos PO para traducir Wine

Si estás familiarizados con los archivos PO usados en la mayoría de programas de software libre y código abierto, y quieres hacer uso de tus herramientas de localización existentes y recursos (Traducción Memeory, glosarios, etc) entonces puedes traducir también archivos .r usando Gettext PO.

El programa rc2po que es parte de las herramientas de traducción convertirá un archivo .r a un archivo .po. También puedes recuperar traducciones desde existentes traducciones .rc.

La forma más sencilla de trabajar con archivos Po es seguir la mayoría de instrucciones en esta página acerca de confirmaciones Git, Idioma y Subidioma consejo. Pero en el momento de la edición el archivo .rc deberá hacer los siguiente:

	* rc2po En.rc Qq.po ( hacemos un archivo PO y usamos la misma convención Qq como los ejemplos anteriores)
	* Ahora traducir Qq.po en tu editor PO (KBabel, PoEdit, etc)
	* po2rc -t En.rc Qq.po Qq.rc (convetira tu traducción PO a .rc)
	
También puedes recuperar tu antigua traducción si esta desactualizada, tenga en cuenta que tendrá que revisar todas las traducciones no sólo las entradas sin traducir.

	* rc2po -t En.r Qq.rc Qq.po (recuperar tu traducción a Qq.po)
	* Traducir los elementos restantes y revisar TODO lo demás en Qq.po
	* po2rc -t En.rc Qq.po Qq.rc (y si tienes una versión actualiza de un archivo .rc en tu idioma)	
	
¿Dónde puedo encontrar más ayuda en la traducción? 

La traducción o localización para quienes no tienen experiencia puede llegar a ser enorme. La guía de localización proporciona mucha ayuda para aquellos que están empezando a traducir por primera vez.

Como puedo probar mi traducción

Si tradujiste un programa puedes ejecutarlo y comprobar la traducción. Si es una DLL y no tienes experiencia en que programa puede usarla entonces es bueno testear al menos el cuadro de diálogo por si el texto no es demasiado grande para el control del rectángulo. Esto puede hacerse mediante la creación de un falso DLL y usando los recursos de visualizador/editor para visualizar los recursos.

Una falsa DLL puede ser creada con el script makefake.sh. Si estás utilizando Wine desde el directorio de código fuente (digamos ~/wine-src/) entonces deberías cambiar wine rundll32 ... a ~/wine-src/wine rundll32 ... Llamando ./makfake.sh comdlg32.dll creara en el directorio C:\windows\systema32 de tus wineprefix un archivo comdlg32.dll que contendrá el código pero no solo todos los recursos (a esto es llamado un falso DLL). Si escribes un nombre no válido (por ejemplo ./makefake.sh abcdef123.dll) entonces una falsa DLL sera también creada pero sin recursos. Los nombres de módulos son obtenidos desde el nombre de los directorios añadiendo .dll para los subdirectorioes de dlls/ y .exe para los subdirectorios de programs/.

Los recursos dentro de dicho archivo pueden ser vistos por programas especiales. Un ejemplo de este tipo de programa que yo conozco y puede ser libremente descargado es ResHacker. Por desgracia se trata de un pograma ANSI lo que significa que la cadena en otros idiomas puede mostrarse incorrectamente, pero en tu idioma debería mostrarse bien. Puedes ver todo el cuadro de diálogo si se muestra bien. Los idiomas son el tercer nivel del árbol a la izquierda y se identifican por identificadores numéricos. Como una ID puede ser computada como laguage_id+1024*sublang_id donde el idioma numérico y el subidioma id son definidos en include/winnt.h

Que pasa si falta un recurso

	1. Si todo el recurso (por ejemplo, todo el dialogo o menú) falta entonces el cargador de recursos deberá intentar el siguiente idioma en la lista que normalmente significará que el recursos English (US) sera cargado.
	2. Si por ejemplo un menú falta o un elemento o un dialogo no tiene el control entonces el menú/dialogo se mostrará sin ese elemento. Esto puede provocar que la versión traducida del programa se rompa. Esos recursos también era marcados como fuera de sincronización en las estadísticas de traducción.
	3. Las tablas de cadenas son difíciles ya que vienen en paquetes de 16. Hasta dieciséis cadenas (el recurso puede tener huecos libres) basados en sus id numérica se colocan en un solo recurso. Esto a menudo causa la falta de cadenas que caen en la categoría 2 en lugar de la 1. Estos casos también son marcados como traducción fuera de la sincronización de las estadísticas. Que cadenas están juntas en un recurso físico puede no ser fácil de leer desde el archivo de recursos pero es mostrado por la página de estadísticas. Una cadena desaparecida puede provocar que el programa traducido, por ejemplo muestre un cuadro de mensaje sin texto pero solo una cuestión con un icono y botones de Si y No.

Como vemos arreglar recursos fuera de la sincronización es quizás aún mas importante que traducir nuevos recursos (aunque la versión actual de las estadísticas tienen probablemente algunos falsos positivos - por ejemplo algunos diálogos Koreanos son marcacos como fuera de sincronización porque ellos declaran una fuente que no tiene la versión Inglesa. Pero probablemente se necesite para mostrar los caracteres Koreanos. Pero sería bueno tener una confirmación). Para evitar situaciones de fuera de sincronización algunos desarrolladores añaden recursos (especialmente cadenas a cadenas de tablas) para cada archivo de idioma. Estas entradas no están marcadas por la página de estadísticas - debes revisar los archivos de recursos manualmente.
User avatar
shakaran
Level 2
Level 2
Posts: 29
Joined: Sat Feb 23, 2008 9:49 pm

Post by shakaran »

Sorry, I must read more the wiki ;)

I created a Spanish translations

http://wiki.winehq.org/Spanish
http://wiki.winehq.org/Traduciendo
Locked