Localización de cargas de trabajo

La localización es el proceso de adaptación de un producto para atender a otros mercados cambiando el idioma o el contenido. La localización de cualquier carga de trabajo le permite no solo llegar a un público más amplio, sino también ofrece a sus clientes una experiencia personalizada inmejorable. Por ejemplo, una carga de trabajo localizada es más atractiva para un usuario cuyo idioma predeterminado no es inglés en el centro de cargas de trabajo de Microsoft Fabric.

En la imagen siguiente se muestra un ejemplo de una carga de trabajo localizada en el centro de cargas de trabajo.

Captura de pantalla de un producto de ejemplo localizado en español.

Para una carga de trabajo de Fabric, la localización implica dos aspectos:

  • Traducir texto dentro del iframe, independientemente del shell de Fabric, mediante el lenguaje del portal de Fabric.

  • Habilitación de la traducción de palabras clave que se usan en el shell de Fabric, como el nombre de la carga de trabajo, los nombres de elementos y las descripciones de la carga de trabajo. Estas cadenas se encuentran actualmente directamente en los archivos de manifiesto (product.json y item.json).

    Para obtener una descripción de todas las cadenas que se han localizado, consulte los objetivos de localización más adelante en este artículo.

Idiomas compatibles

En la actualidad, Fabric admite los siguientes 44 idiomas:

Código de idioma Lenguaje
Ar العربية (árabe)
bg български (búlgaro)
Ca català (catalán)
Cs čeština (checo)
dansk (danés)
de Deutsche (alemán)
El ελληνικά (griego)
es-ES Inglés (inglés)
es español (español)
Et eesti (estonio)
UE Euskal (Euskera)
Fi suomi (finés)
Francia french (francés)
gl galego (gallego)
él עברית (hebreo)
hola हिन्दी (hindi)
h hrvatski (croata)
hu magyar (húngaro)
identificación Bahasa Indonesia (indonesio)
eso italiano (italiano)
ja 日本の (japonés)
okey Қазақ (Kazakh)
ko 한국의 (coreano)
Lt Lietuvos (lituano)
Lv Latvijas (letón)
Ms. bahasa melayu (malayo)
Nb norsk (noruego)
Nl nederlands (neerlandés)
pl polski (polaco)
pt-BR português (portugués de Brasil)
pt-PT português (portugues de Portugal)
Ro românesc (rumano)
Ru русский (ruso)
Sk slovenský (eslovaco)
Sl slovenski (esloveno)
sr-Cyrl српски (serbio: cirílico)
sr-Latn srpski (serbio: latín)
sv svenska (sueco)
ésimo ไทย (tailandés)
Tr Türk (turco)
Reino Unido український (ucraniano)
vi tiếng Việt (vietnamita)
zh-Hans 中国 (chino simplificado)
zh-Hant 中國 (chino tradicional)

Puede optar por proporcionar algunos o todos estos idiomas. El único idioma necesario es inglés (EE. UU.), ya que es el idioma predeterminado de Fabric.

Estructura del paquete

Todas las cadenas del manifiesto deben reemplazarse por claves. El valor de cada clave se encuentra en un archivo independiente.

Por ejemplo, si el product.json manifiesto se iniciaba anteriormente de la siguiente manera:

{
    "name": "Product",
    "displayName": "Fabric Sample Workload",
    "fullDisplayName": "Fabric Sample Workload",
    "description": "Sample Workload Description",
    "favicon": "assets/briefcase.png",
    "icon": {
      "name": "assets/briefcase.png"
    },
    "homePage": {
...

El product.json manifiesto debe ser ahora algo parecido a este ejemplo:

{
    "name": "Product",
    "displayName": "Workload_Display_Name",
    "fullDisplayName": "Workload_Display_Name_Full",
    "description": "Workload_Description",
    "favicon": "assets/images/briefcase.png",
    "icon": {
      "name": "assets/images/briefcase.png"
    },
    "homePage": {
        ...

Para admitir la localización, el paquete debe tener la siguiente estructura:

FE/
└── assets/
    ├── images/
    |   └── # the images and icons that were previously under the assets folder directly
    └── locales/
        ├── en-US/
        |   └── translations.json
        ├── es/
        |   └── translations.json
        ├── de/
        |   └── translations.json
        ├── fr/
        |   └── translations.json
        └── # more locales

Cada localización tiene su propia carpeta dentro de assets/locales. Cada configuración regional contiene un único archivo, translations.json. Este archivo contiene un diccionario de pares clave-valor. Por ejemplo, el archivo translations.json de inglés podría contener:

{
    "Workload_Display_Name" : "Fabric Sample Workload",
    "Workload_Display_Name_Full" : "Fabric Sample Workload",
    "Workload_Description": "Sample Workload Description"
}

Mientras que el archivo translation.json de español podría contener:

{
    "Workload_Display_Name" : "Carga de trabajo de muestra",
    "Workload_Display_Name_Full" : "Carga de trabajo de muestra",
    "Workload_Description": "Descripción del producto"
}

Comportamiento predeterminado

  • Como se indicó anteriormente, el único idioma necesario para las cargas de trabajo localizadas es el inglés.
  • Si se localiza una carga de trabajo, todos los destinos de localización deben proporcionarse como claves en el archivo translations.json de inglés.
  • Los restantes idiomas que se proporcionen no son necesarios para traducir todas las claves. Las claves que se dejan sin traducir tienen como valor predeterminado la traducción en inglés proporcionada. Por ejemplo, si el nombre de una carga de trabajo siempre debe estar en inglés, no es necesario proporcionar una traducción en ningún otro idioma.
  • Fabric admite cargas de trabajo localizadas y no localizadas. Si algún archivo de imagen se encuentra directamente en la assets carpeta , se supone que la carga de trabajo no está localizada.
  • Para que una carga de trabajo se trate como localizada, solo debe tener dos subdirectorios en la assets carpeta: images y locales. Ningún otro archivo puede estar en la assets carpeta .

Destinos de localización

Todas las siguientes propiedades están localizadas: displayName, fullDisplayName, displayNamePlural, description, introduction, title, tooltip y slogan.

En los archivos de manifiesto de producto y elemento, esas propiedades corresponden a los atributos siguientes:

Nombre Esquema en el manifiesto Descripción
Nombre para mostrar del elemento item.displayName Nombre para mostrar del elemento que aparece en la mayoría de los contextos
Nombre visible del ítem plural item.displayNamePlural Nombre pluralizado del elemento
Nombre para mostrar del elemento de menú contextual item.contextMenuItems.displayName Si el elemento tiene una opción de menú contextual, como un acceso directo para ejecutar un trabajo, el nombre de la opción que se muestra
Información sobre herramientas del elemento de menú contextual item.contextMenuItems.tooltip Si el elemento tiene una entrada de menú contextual, el cuadro de información que aparece cuando se pasa el ratón sobre él.
Nombre para mostrar del elemento de acción rápida item.quickActionItems.displayName Si el elemento tiene una acción rápida, como un acceso directo para ejecutar una tarea, el nombre mostrado de la acción
Información sobre herramientas del elemento de acción rápida item.quickActionItems.tooltip Si el elemento tiene una acción rápida, la información sobre herramientas que aparece cuando se mantiene el puntero sobre él proporcionará detalles adicionales.
Nombre de producto para mostrar product.displayName Nombre mostrado de la carga de trabajo que aparece en la mayoría de los contextos
Nombre para mostrar del producto completo product.fullDisplayName Nombre para mostrar de la carga de trabajo completa
Descripción del producto product.description Descripción que aparece en la página principal de la carga de trabajo
Título de la tarjeta del material de aprendizaje product.homePage.learningMaterials[].title Título de una tarjeta de materiales de aprendizaje en la página principal de la carga de trabajo.
Descripción de la tarjeta del material de aprendizaje product.homePage.learningMaterials[].description Descripción de una tarjeta de materiales de aprendizaje en la página de inicio de la carga de trabajo
Introducción a la tarjeta de material de aprendizaje product.homePage.learningMaterials[].introduction La introducción de una tarjeta de materiales de aprendizaje en la página principal de la carga de trabajo (aparece bajo el título)
Título de la acción personalizada product.homePage.newSection.customActions[].title Título de una tarjeta de acción personalizada en la página principal
Crear descripción de la experiencia product.createExperience.description Descripción que aparece en el hub de creación
Crear título de la tarjeta product.createExperience.cards[].title Título de una tarjeta de creación
Crear descripción de la tarjeta product.createExperience.cards[].description Descripción de una tarjeta de creación
Eslogan del centro de cargas de trabajo product.productDetail.slogan Eslogan que aparece en la página de carga de trabajo del hub de carga de trabajo
Descripción del Concentrador de cargas de trabajo product.productDetail.description Descripción del producto que aparece en la página de carga de trabajo del hub de cargas de trabajo

Idioma del portal de Fabric

El workloadClient código proporciona una API para recuperar la configuración de la carga de trabajo, que contiene el idioma actual del portal de Fabric. Por ejemplo:

export async function callLanguageGet(workloadClient: WorkloadClientAPI): Promise<string> {
    const settings = await workloadClient.settings.get();
    return settings.currentLanguageLocale;
}

Con el código proporcionado currentLanguageLocale , puede continuar con la localización de la carga de trabajo mediante cualquier marco que desee. Por ejemplo, el repositorio de cargas de trabajo de ejemplo usa la biblioteca i18next para traducir el contenido de una barra de mensajes que notifica al usuario del idioma actual.