Preguntas frecuentes y solución de problemas del Kit de herramientas para aplicaciones multilingües

En este tema se proporcionan respuestas a preguntas frecuentes y problemas relacionados con el Kit de herramientas para aplicaciones multilingües (MAT).

Consulte también Uso del kit de herramientas para aplicaciones multilingües.

Nota El kit de herramientas admite archivos .resw (XAML) y .resjson (JavaScript). Pero en este tema solo nos referiremos a los archivos .resw. Un archivo .resw se conoce como un archivo de recursos. Contiene cadenas, ya sea en el idioma predeterminado o traducidos a otro idioma. La carpeta que contiene un archivo .resw se denomina normalmente para el valor de una etiqueta de idioma.

¿Necesito archivos .resw en varios idiomas?

No. Una de las principales ventajas del kit de herramientas es que no se requieren archivos .resw en varios idiomas. El kit de herramientas administra y sincroniza los recursos de la aplicación mediante archivos .xlf. Esto elimina los desafíos asociados a mantener el contenido sincronizado entre varios archivos .resw.

Los proyectos que contienen archivos .resw y .xlf coincidentes hacen que se omitan las traducciones del archivo .xlf. Cuando esto sucede, se muestra una advertencia durante la compilación para informarle de que las traducciones .xlf no se incluyen en la aplicación final. Un archivo .resw 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.resw y un <project-name>.de-DE.xlf archivo (que contiene target-language="de-DE").

¿Puedo tener archivos .resw en varios idiomas?

Se puede, pero no es aconsejable. Si desea incluir archivos .resw en varios lenguajes del proyecto y usar el kit de herramientas, asegúrese de que no tiene archivos .resw y .xlf coincidentes.

No veo una opción en el menú Herramientas para habilitar el kit de herramientas para aplicaciones multilingües

Pruebe estos pasos.

  • Asegúrese de seleccionar el nodo del proyecto, no el nodo de la solución, antes de abrir el menú Herramientas .
  • Confirme que la extensión del kit de herramientas está instalada mediante el Administrador de extensiones de Visual Studio.
  • Confirme que el proyecto es un proyecto de UWP.

Al compilar mi proyecto, no veo un mensaje que indica que se ha iniciado una compilación de Kit de herramientas para aplicaciones multilingües.

Confirme que ha habilitado el MAT para el proyecto. En el menú Herramientas, seleccione Kit de herramientas para aplicaciones multilingües>Habilitar selección. Si el proyecto se ha habilitado con una versión anterior, deshabilite y vuelva a habilitar el MAT mediante el menú Herramientas . Esto actualiza el proyecto para que funcione con la nueva versión del kit de herramientas.

Asegúrese de que se instaló el componente "Tarea de compilación para todas las ediciones de Visual Studio". Este componente de compilación se instala con la extensión, pero se puede anular 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 funcionando correctamente, verá estos mensajes de compilación.

1> Multilingual App Toolkit build started.
1> Multilingual App Toolkit build completed successfully.

El kit de herramientas informa de que no encontró ningún archivo de lenguaje XLIFF durante la compilación.

No XLIFF language files were found. The app will not contain any localized resources.

Este mensaje se muestra cuando el kit de herramientas no encuentra ningún archivo en el proyecto con una extensión de .xlf. El kit de herramientas genera y mantiene estos archivos en la MultilingualResources carpeta de forma predeterminada. Se pueden mover; pero es mejor dejarlos en esa carpeta porque permite al Editor multilingüe localizar los archivos de metadatos relacionados.

Mi archivo .xlf no se incluye en la lista de archivos procesados por el kit de herramientas durante la compilación.

Si excluye manualmente un archivo .xlf del proyecto y, a continuación, vuelve a incluirlo, es posible que el elemento de tipo de archivo no se establezca correctamente. En Visual Studio, seleccione el archivo y compruebe el ventana Propiedades. La acción de compilación del archivo debe establecerse en XliffResource y copiar en el directorio de salida debe establecerse en No copiar. Así es como la referencia debe buscarse en el archivo del proyecto.

<XliffResource Include="MultilingualResources\<project-name>.fr-FR.xlf" />

He agregado idiomas basados en .xlf. ¿Dónde están mis cadenas?

El archivo de recursos de idioma predeterminado (.resw) es el "esquema" canónico de las cadenas que usa la aplicación. Los archivos de recursos traducidos pueden contener todas o un subconjunto de estas cadenas.

Al compilar el proyecto, los archivos de recursos y los archivos .xlf se sincronizan.

  • Los archivos .xlf se actualizan para reflejar cualquier cadena agregada o eliminada, o archivos de recursos agregados o eliminados.
  • Los archivos de recursos se actualizan para reflejar las cadenas traducidas en los archivos .xlf.

Esto se explica detalladamente en Uso del kit de herramientas para aplicaciones multilingües.

Al compilar mi proyecto, los archivos .xlf permanecen vacíos.

Para poder utilizar el Kit de herramientas para aplicaciones multilingües de forma eficaz, la aplicación debe ser localizable. Esto se explica detalladamente en Uso del kit de herramientas para aplicaciones multilingües.

¿Qué es Microsoft Translator?

Traductor de Microsoft es un servicio basado en la nube que proporciona traducción basada en máquinas. La traducción automática es ideal para obtener acceso a la traducción cuando la traducción humana no es razonable para obtener. Puede obtener más información en Traductor de Microsoft.

El kit de herramientas usa el servicio Traductor de Microsoft para proporcionar sugerencias de traducción. Puede ver qué idiomas son compatibles con Traductor de Microsoft cuando el icono de Traductor de Microsoft está presente en el cuadro de diálogo Idiomas de traducción.

Puedes traducir rápidamente tu aplicación mediante Traductor de Microsoft desde el Editor multilingüe seleccionando una cadena y haciendo clic en Traducir.

¿Qué es pseudo language y qué son los seguimientos de pseudo recursos?

Pseudo language es una modificación artificial del producto de software destinado a simular la localización del lenguaje real. Puede encontrar más detalles sobre pseudo language y pseudo resource trackers en Uso del kit de herramientas para aplicaciones multilingües.

Cómo establecer mi preferencia de idioma en pseudo language, para que pueda probar mis cadenas pseudo-loc'd?

Esto se explica en Uso del kit de herramientas para aplicaciones multilingües.

¿Qué tipo de problemas de localizabilidad puedo encontrar mediante pseudo language?

Esto se explica en Uso del kit de herramientas para aplicaciones multilingües.

No veo ninguna traducción al iniciar mi aplicación, o mi aplicación solo se traduce parcialmente.

Abra el archivo .xlf en el Editor multilingüe para ver si las traducciones están presentes. Cuando las cadenas del archivo .resw de idioma predeterminado se cambian explícitamente, las traducciones correspondientes se quitan de los archivos .xlf. Esto es para asegurarse de que una traducción coincide con su cadena de origen. Traduzca las cadenas en los archivos .xlf y recompile para actualizar los archivos .resw de idioma no predeterminado.

Si las cadenas se traducen en los archivos .xlf, pero no aparecen en la aplicación, vuelva a generar el proyecto para actualizar los archivos .resw del idioma no predeterminado .resw. Visual Studio optimiza el comando Build para compilar solo los archivos que han cambiado desde la última compilación.

Compruebe el orden de preferencias de idioma. Asegúrese de que el idioma que desea probar aparece en la parte superior de la lista de preferencias de idioma en Configuración.

El kit de herramientas informa del error 0x80004004 en la salida de compilación

Merge of Loc PRI file failed calling makepri.exe: "0x80004004"

Este mensaje se puede mostrar cuando el formato de región entra en conflicto con la operación de compilación del kit de herramientas. La solución consiste en cambiar el idioma de Configuración a en-US durante la compilación.

El kit de herramientas notifica el error 0x80004005 en la salida de compilación

Merge of Loc PRI file failed calling makepri.exe: "0x80004005"

Este mensaje se puede mostrar cuando el archivo .xlf contiene un idioma de destino no admitido. Por ejemplo, "zh-cht" es incorrecto (cámbielo a "zh-hant") y "zh-chs" es incorrecto (cámbielo a "zh-hans").

¿Hay alguna manera de averiguar más información sobre los errores que veo?

Sí, puede activar el registro detallado en Visual Studio. Haga clic en Herramientas>Opciones>proyectos y soluciones>Compilar y ejecutar. Cambie el nivel de detalle de la salida de compilación del proyecto de MSBuild de Mínimo a Normal o superior.

La ejecución de MSBuild desde la línea de comandos también puede generar mensajes adicionales.

msbuild /t:rebuild <project-name>

Error de traducción de importación

El proceso de importación realiza la validación básica antes de importar. Esto garantiza que la información cultural de los archivos que se importa coincidan con los archivos .xlf existentes. Abra los archivos .xlf en el Editor multilingüe y asegúrese de que la información de referencia cultural coincide.

¿Qué ocurre si mi traductor no tiene instalado Windows 10, Windows 11 o Visual Studio o El kit de herramientas para aplicaciones multilingües?

Al seleccionar Salida: destinatario del correo en el cuadro de diálogo Exportar recursos de cadena, el correo electrónico incluye un vínculo para descargar e instalar el Kit de herramientas para aplicaciones multilingües (MAT). El traductor todavía puede instalar la herramienta editor multilingüe independiente MAT incluso sin Windows 10, Windows 11 ni Visual Studio.

Para obtener más información, consulte Uso del Multilingual App Toolkit.

¿Qué ha ocurrido con los archivos "MarkupRules.xml" y "ResourcesLocks.xml"?

El kit de herramientas para aplicaciones multilingües no usa archivos de bloqueo de recursos propietarios. En su lugar, la etiqueta <mrk> XLIFF 1.2 se agrega directamente al archivo .xlf para identificar las cadenas que no se modifican durante la traducción automática. Esto permite que el archivo XLIFF sea independiente y permite el bloqueo de recursos basado en archivos.

Estos archivos de soporte técnico adicionales ya no son necesarios y puede eliminarlos de forma segura si los tiene.

¿Qué ha ocurrido con el .tpx del archivo?

El archivo .tpx proporcionó una manera fácil de incluir los MarkupRules.xml archivos y ResourcesLocks.xml cuando se envió el archivo .xlf para la traducción. Esta funcionalidad ya no es necesaria.

Si tiene traducciones en un archivo .tpx que necesita recuperar, simplemente cambie el nombre de la extensión de archivo .tpx a .zip. Esto le permitirá abrir y extraer el contenido con Explorador de archivos o cualquier herramienta compatible con .zip.

Creo que he hecho todo bien, pero todavía no funciona

Pruebe estos pasos.

  1. Agregue traducciones mediante uno de los métodos ya descritos.
  2. Volque el archivo .pri (vea MakePri.exe opciones de línea de comandos) para ver si las traducciones están en el archivo .pri. Las traducciones aparecerán con el código de idioma y el valor traducido como este.
    <Candidate qualifiers="Language-QPS-PLOC" type="String">
        <Value>[!!_Ŝéãřćĥ_!!]</Value>
    </Candidate>
    
  3. Compilar desde un símbolo del sistema; el error resultante puede tener más detalles de lo que se notifica en la salida de la compilación.

Mi aplicación no pudo realizar la certificación en Microsoft Store

Antes de iniciar el proceso de certificación de Microsoft Store, debe excluir el archivo <project-name>.qps-ploc.xlf del proyecto. El pseudoidioma se utiliza para detectar posibles problemas de localizabilidad o errores, pero no es un idioma válido de Microsoft Store. Si no se elimina, la aplicación producirá un error durante el proceso de certificación de Microsoft Store.

¿Qué datos recopila?

La extensión de Kit de herramientas para aplicaciones multilingües para Visual Studio (MAT VS) recopila datos de uso anónimos y los envía a los servidores de Microsoft para ayudar a mejorar nuestros productos y servicios. La telemetría está desactivada de manera predeterminada y se puede habilitar o deshabilitar en cualquier momento.

Datos de uso: se trata de información anónima sobre qué características se usan. Por ejemplo: agregar un nuevo idioma a una solución habilitada para MAT.

Datos de configuración: se trata de información anónima relacionada con la versión de MAT VS instalada en y la versión de Windows en la que se ejecuta.

A continuación se muestra un ejemplo concreto de los datos recopilados en el formato siguiente, Clave / Valor / Notas:

  • AddLanguage / MachineID: xxxx / Se basa en un hash de la NIC del adaptador de red. No se garantiza que sea único.
  • TimeStamp/2022/01/07T22:04:45.0000000Z /Evento de hora.
  • MAT_Version / 4.1.02 / Versión de MAT instalada.
  • Idiomas / fr,es,de/DE / Lista de idiomas agregados al proyecto.

Todos los datos se recopilan mediante Application Insights y se envían a Azure Log Analytics. Los datos se conservan durante 90 días y, a continuación, se eliminan.