Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
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.jsonyitem.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) |
| sí | 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.jsonde 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
assetscarpeta , 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
assetscarpeta:imagesylocales. Ningún otro archivo puede estar en laassetscarpeta .
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.