Guía de solución de problemas y preguntas más frecuentes sobre el Kit de herramientas para aplicaciones multilingües
[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows Runtime. Si estás desarrollando para Windows 10, consulta la documentación más reciente ]
Instalación
¿Cuáles son los requisitos del sistema?
Sistemas operativos admitidos: Windows 8 (RTM o superior, ediciones de 32 o 64 bits).
Software necesario: Microsoft Visual Studio.
Requisitos de espacio en disco: 10 MB (32 bits), 10 MB (64 bits).
¿Qué lenguajes de programación admite el kit de herramientas?
El kit de herramientas admite todos los desarrollos de aplicaciones de Windows que usan el entorno de Windows en tiempo de ejecución (WinRT). Esto incluye tanto archivos .resw (XAML) como .resjson (JavaScript). Pero en este documento solamente haremos referencia a los archivos .resjson.
Habilitar el Kit de herramientas para aplicaciones multilingües
¿Necesito archivos .resjson en varios idiomas?
No. Una de las ventajas clave del kit de herramientas es que no es necesario contar con los archivos .resjson en varios idiomas. El kit de herramientas administra y sincroniza los recursos de la aplicación con los archivos .xlf del proyecto. Esto elimina las dificultades relacionadas con la sincronización del contenido en varios archivos .resjson.
Los proyectos que contienen archivos .resjson y .xlf coincidentes hacen que se omitan las traducciones del archivo .xlf. Cuando esto sucede, se muestra una advertencia durante la compilación para informar que las traducciones del archivo .xlf no están incluidas en la aplicación final. Un archivo .resjson file y un archivo .xlf coinciden cuando tienen un idioma de destino con el mismo código de idioma. Un ejemplo de un par coincidente sería strings\de-DE\resources.resjson y un archivo German (Germany).xlf con los atributos del idioma de destino "de-DE".
¿Puedo tener archivos .resjson en varios idiomas?
Sí, pero no lo recomendamos. Si deseas incluir archivos .resjson en varios idiomas en tu proyecto y usar el kit de herramientas, asegúrate de que no haya archivos .resjson y .xlf coincidentes.
No veo ninguna opción en el menú Herramientas que permita habilitar el Kit de herramientas para aplicaciones multilingües.
Intenta hacerlo siguiendo estos pasos:
- Asegúrate de seleccionar el nombre del proyecto, no el de la solución, antes de seleccionar Herramientas.
- Comprueba que esté instalada la extensión del kit de herramientas con el Administrador de extensiones.
- Comprueba que tu proyecto sea un proyecto de aplicación de la Tienda Windows.
No veo que se inicie la compilación del Kit de herramientas para aplicaciones multilingües al compilar mi proyecto.
Asegúrate de habilitar tu proyecto usando Habilitar el Kit de herramientas para aplicaciones multilingües en el menú Herramientas. Si tu aplicación se habilitó con una versión anterior, debes deshabilitar y volver a habilitar el Kit de herramientas para aplicaciones multilingües usando el menú Herramientas. De este modo, se actualiza el proyecto para que puedas trabajar con la nueva versión del Kit de herramientas.
Asegúrate de que esté instalado el componente "Tarea de compilación para todas las ediciones de Visual Studio". El componente de compilación se instala con la extensión, pero se puede anular su selección manualmente durante la instalación. Este componente es necesario para actualizar los archivos .xlf y agregar la traducción al archivo PRI. Cuando este componente esté instalado y funcione correctamente, verás los siguientes mensajes de compilación:
1> Multilingual App Toolkit build started.
1> Multilingual App Toolkit build completed successfully.
El kit de herramientas notifica que no encontró ningún archivo de idioma XLIFF durante la compilación.
Mensaje:
No XLIFF language files were found. The app will not contain any localized resources.
Esto sucede cuando el kit de herramientas no encuentra ningún archivo con la extensión .xlf en el proyecto. De manera predeterminada, estos archivos se colocan en la carpeta "MultilingualResources". Se pueden mover, pero lo más conveniente es dejarlos en esta carpeta porque así el editor podrá encontrar los archivos de metadatos relacionados.
Haz clic con el botón secundario en el nombre del proyecto y selecciona Seleccionar idiomas de traducción... en la ventana del Explorador de soluciones. Al hacerlo, se mostrará el cuadro de diálogo para agregar idiomas basados en .xlf. La casilla de todos los idiomas basados en .xlf que existan y que puedan detectarse con el kit de herramientas aparecerá activada para indicar que ese idioma ya está incluido en el proyecto.
Mi archivo .xlf no está incluido en la lista de archivos procesados por el kit de herramientas durante la compilación.
Si se excluye un archivo .xlf y después vuelve a incluirse en un proyecto, es posible que el elemento de tipo de archivo no esté correctamente establecido. Para ver si este es el caso, abre directamente el archivo del proyecto y observa el tipo include del archivo .xlf. El elemento de tipo debe estar establecido en "None" para que el kit de herramientas procese el archivo. Si está establecido en "Content" o en otro valor, cámbialo a "None". Guarda el archivo del proyecto y vuelve a cargar el proyecto.
Ejemplo: el tipo German (Germany).xlf es incorrecto:
<Content Include="MultilingualResources\German (Germany).xlf" />
<None Include="MultilingualResources\Pseudo Language %28Pseudo%29.xlf" />
Agregué idiomas basados en .xlf. ¿Dónde están mis cadenas?
Los idiomas seleccionados se han agregado a la carpeta "MultilingualResources". Los archivos de idiomas están vacíos cuando se crean inicialmente. Las cadenas de los archivos .resjson se rellenan en estos archivos .xlf durante la siguiente recompilación.
Cuando compilo mi proyecto, los archivos .xlf permanecen vacíos.
Intenta hacerlo siguiendo estos pasos:
- Usa la opción Recompilar para asegurarte de que se actualicen los archivos .xlf. Visual Studio optimiza el comando Compilar de modo que compile solamente los archivos que se modificaron desde la última vez que se usó Compilar. Visual Studio no detecta cambios cuando se agregan archivos .xlf nuevos.
- Asegúrate de que tu aplicación admita el modelo de diseño de globalización y localización de las aplicaciones de la Tienda Windows. Consulta los otros temas de Globalización de la aplicación.
Agregar idiomas a la aplicación
¿Qué es el servicio Microsoft Translator?
Microsoft Translator es un servicio basado en la nube que proporciona traducciones automáticas. La traducción automática es ideal para tener acceso a traducciones cuando no se pueden obtener traducciones realizadas por humanos. Puedes obtener más información en Microsoft Translator.
El kit de herramientas usa el servicio Microsoft Translator para proporcionar sugerencias de traducción para los desarrolladores. Puedes ver los idiomas que admite Microsoft Translator cuando el icono de Microsoft Translator aparece en la ventana Seleccionar idiomas de traducción.
Puedes traducir tu aplicación rápidamente con Microsoft Translator en el editor multilingüe seleccionando una cadena y haciendo clic en el botón Traducir.
Pseudoidioma
Pseudoidioma es una modificación artificial del producto de software diseñada para simular la localización real de idiomas sin dejar de ser legible para los hablantes nativos. La pseudotraducción reemplaza caracteres y expande la longitud de la cadena del recurso para detectar posibles problemas o errores de localización en una fase temprana del ciclo del proyecto, antes de que comience la localización real. Para obtener más información sobre las pruebas de localización con Pseudoidioma, consulta Pruebas de localización.
¿Qué son las herramientas de seguimiento de pseudorecursos?
Además de la sustitución y la expansión de caracteres, el pseudomotor proporciona un identificador de seguimiento único para cada recurso. Esta herramienta de seguimiento se antepone al comienzo de cada cadena y se encierra entre corchetes [xxxxx]. Puedes usar estos rastreadores durante la prueba de inspección de la interfaz de usuario visual. Pueden ayudar a realizar un seguimiento de recursos específicos del producto, especialmente si múltiples recursos tienen texto similar o duplicado.
En el siguiente ejemplo de texto de "Hello, world!", la pseudotraducción se expande para que ocupe un 30 % más de espacio en la pantalla y después aplica la herramienta de seguimiento de recursos:
"Hello World" -> "Ĥèĺļõ Ŵòŗłđ" -> "[!!_Ĥèĺļõ Ŵòŗłđ_!!]" -> “[hJ8s1][!!_Ĥèĺļõ Ŵòŗłđ_!!]"
Las herramientas de seguimiento de recursos se activan de manera predeterminada, y pueden verse en el archivo PseudoSettings.config que se encuentra en el atributo "EnableResourceTracker = true". Puedes cambiar este parámetro a “false” si quieres.
No encuentro Pseudoidioma en la lista de preferencias de idioma de Windows 8.
En la lista de preferencias de idioma de Windows 8, Inglés (qps-ploc) no se muestra de manera predeterminada. Para agregar Inglés (qps-ploc), haz lo siguiente:
- Abre el Panel de control y selecciona Reloj, idioma y región > Idioma.
- Haz clic en Agregar un idioma.
- En el cuadro de búsqueda, escribe qps-ploc. Asegúrate de escribir el código de idioma completo o, de lo contrario, no se devolverá Pseudoidioma en los resultados de la búsqueda.
- Selecciona Inglés (seudo-qps) y haz clic en Agregar.
- Asegúrate de que Inglés (qps-ploc) aparece en primer lugar en la lista de idiomas preferidos.
Pruebas
Cuando inicio la aplicación, no veo ninguna traducción o la aplicación está traducida solo parcialmente.
Asegúrate de que el archivo .xlf contenga traducciones.
Abre el archivo .xlf en el editor multilingüe y asegúrate de que la información de la referencia cultural coincide. Cuando se actualizan las cadenas del archivo .resjson o .resw, se eliminan todas las traducciones relacionadas. Esto se hace para garantizar que las traducciones concuerden con la cadena asociada. Traduce la cadena y vuelve a compilar.
Las cadenas están traducidas pero aún no se muestran en la aplicación.
Usa Recompilar para asegurarte de que el archivo .xlf actualizado esté incluido en el archivo PRI de la aplicación. Visual Studio optimiza el comando Compilar de modo que compile solamente los archivos que se modificaron desde la última vez que se usó Compilar. Actualmente, los archivos .xlf no desencadenan automáticamente la necesidad de recompilar.
Revisa el orden de preferencias de idioma.
Asegúrate de que el idioma que pruebas esté primero en la lista de preferencias de idiomas. La aplicación muestra los idiomas en este orden y, si el idioma predeterminado de la aplicación no está en primer lugar, es posible que no llegues a ver las traducciones.
¿Qué tipo de problemas de localización puedo tener al usar Pseudoidioma?
- UI truncadas. Pseudoidioma agrega caracteres a la cadena para mostrarte el aspecto de esta una vez traducida.
- Cadenas codificadas de forma rígida. Si ves texto común en inglés en la aplicación de Pseudoidioma, significa que la cadena se codificó de forma rígida y el kit de herramientas no la traduce.
Para obtener más información sobre Pseudoidioma y las pruebas de localización con esta herramienta, consulta Pruebas de localización.
La aplicación no se muestra de acuerdo con las preferencias de idioma que elegí.
Las preferencias de idioma se determinan en función de cómo estén ordenados los idiomas, de arriba a abajo. Asegúrate de que el orden sea correcto antes de implementar la aplicación. Abre el Panel de control y selecciona Reloj, idioma y región > Idioma, selecciona un idioma y haz clic en Subir o Bajar para cambiar el orden.
El kit de herramientas informa de un error 0x80004004 en el resultado de la compilación.
Mensaje:
Merge of Loc PRI file failed calling makepri.exe: "0x80004004"
Esto puede suceder cuando el formato de región entra en conflicto con la operación de compilación del kit de herramientas. La solución alternativa es cambiar el código de región a en-US durante la compilación.
El kit de herramientas informa de un error 0x80004005 en el resultado de la compilación.
Mensaje:
Merge of Loc PRI file failed calling makepri.exe: "0x80004005"
Esto puede suceder cuando el archivo .xlf contiene un idioma de destino no admitido. La vista previa del cliente del Kit de herramientas para aplicaciones multilingües usó en forma incorrecta la cultura de destino "zh-cht" para chino tradicional, y "zh-chs" para chino simplificado. Esto se corrigió respecto de las versiones anteriores.
Para corregir este error, modifica manualmente los archivos .xlf que contengan códigos de error. Cambia "zh-cht" por "zh-hant", y "zh-chs" por "zh-hans".
¿Hay alguna forma de obtener más información sobre los errores que veo?
Sí, puedes activar el registro detallado en Visual Studio. Selecciona el menú Herramientas > Opciones para ver el cuadro de diálogo Opciones. Después expande Proyectos y soluciones y selecciona Compilar y ejecutar. Cambia el Contenido de los resultados de compilación del proyecto de MSBuild de Mínimo a Normal o una opción superior.
Nota Ejecutar MSBuild desde la línea de comandos también puede generar mensajes adicionales. Prueba compilando el proyecto desde la línea de comandos de Visual Studio:
msbuild /t:rebuild <projectname>
Importar y exportar archivos XLIFF
Error en la importación de la traducción
La importación realiza una validación básica antes de importar para garantizar que la información de la referencia cultural de destino coincida en los archivos .xlf y .xlf existentes que se importan. Abre el archivo .xlf en el editor multilingüe y asegúrate de que la información de la referencia cultural coincide.
¿Qué sucede si el traductor no tiene instalado Windows 8, Visual Studio o el Kit de herramientas para aplicaciones multilingües?
No hay problema. Al seleccionar Enviar para obtener la traducción, el correo electrónico incluirá un vínculo para descargar e instalar el Kit de herramientas para aplicaciones multilingües. Sin Windows 8 ni Visual Studio, el Kit de herramientas para aplicaciones multilingües es el único componente que se puede instalar.
Una vez que los archivos de traducción están listos y los recibes de vuelta, haz clic con el botón secundario en el archivo .xlf, selecciona Importar traducciones y, a continuación, selecciona el archivo .xlf devuelto.
Características desusadas
¿Qué sucedió con los archivos MarkupRules.xml y ResourcesLocks.xml?
La versión de lanzamiento del Kit de herramientas para aplicaciones multilingües ya no usa los archivos de bloqueo de recursos propietarios. En su lugar, se agrega la etiqueta de XLIFF 1.2 <mrk> directamente en el archivo .xlf para identificar las cadenas que no se modifican durante la traducción automática. Esto permite que el archivo XLIFF esté autocontenido así como el bloqueo de recursos por archivos individuales.
Como resultado, estos archivos de compatibilidad adicionales ya no son necesarios y pueden eliminarse de forma segura de los proyectos creados con una versión anterior del kit de herramientas.
¿Qué sucedió con el archivo .TPX?
El archivo .TPX proporcionaba una manera sencilla de incluir los archivos MarkupRules.xml y ResourcesLocks.xml al enviar el archivo .xlf para su traducción. Al eliminar estos dos archivos de compatibilidad, esta funcionalidad ya no es necesaria.
Si tienes traducciones en un archivo .TPX que debes recuperar, tan solo cambia el nombre de la extensión del archivo .TPX a .ZIP. Esto permitirá que abras el contenido y lo extraigas con el Explorador de archivos o con cualquier herramienta compatible con .ZIP.
Otras preguntas
Creo que hice todo bien, pero sigue sin funcionar.
Intenta hacerlo siguiendo estos pasos:
Agrega las traducciones con uno de los métodos descritos anteriormente.
Vuelca el archivo .pri (documentado en Configuración de MakePRI.exe) para ver si las traducciones están en el archivo .pri. Las traducciones aparecerán con código de idioma y valor traducido:
<Candidate qualifiers="Language-QPS-PLOC" type="String"> <Value>[!!_Ŝéãřćĥ_!!]</Value> </Candidate>
Compila desde el símbolo del sistema; el error que se genera puede contener más detalles que el resultado de la compilación.
Habilité mi aplicación con el Kit de herramientas para aplicaciones multilingües para Visual Studio 11 Beta o RC. ¿Tengo que hacer algo más?
Sí. Una vez que tienes instalado el Kit de herramientas para aplicaciones multilingües v1.0, debes deshabilitar y después habilitar el Kit de herramientas para aplicaciones multilingües usando el menú Herramientas. De este modo, se actualiza el proyecto para que puedas trabajar con la versión más reciente del kit de herramientas.
Instalé Windows 8, Visual Studio 2012 y el Kit de herramientas para aplicaciones multilingües para Visual Studio 11 Beta.
Si usaste Programas y características para desinstalar el Kit de herramientas para aplicaciones multilingües, la vista previa de lanzamiento del kit de herramientas no podrá instalarse porque la extensión continúa instalada en Visual Studio.
Para corregir esto, ejecuta Visual Studio y desinstala la extensión del Kit de herramientas para aplicaciones multilingües con el Administrador de extensiones.
Mi aplicación no obtuvo la certificación de la Tienda Windows.
Asegúrate de que la aplicación contenga solamente los idiomas admitidos. Antes de iniciar el proceso de certificación, te recomendamos excluir el archivo Pseudoidioma (pseudo).xlf del proyecto. Pseudoidioma no es un idioma que pueda seleccionarse en la Tienda Windows, de modo que si lo incluyes no aportas ningún valor a tus clientes.