openpencil/packages/docs/es/programmable/sdk/api/composables/use-i18n.md
Danila Poyarkov 14325280d9 docs(i18n): translate all missing pages to 6 languages
- 78 SDK pages per language (components, composables, advanced API,
  guides, architecture, getting-started)
- vector-edit.md user guide page (5 languages)
- Update stale ru/programmable/cli/inspecting.md
- Fix YAML frontmatter quoting for colons in descriptions

474 files, 0 missing pages across de/es/fr/it/pl/ru.
VitePress build verified — all 546 SDK pages render.
2026-04-22 18:35:22 +03:00

1.6 KiB

title description
useI18n Lee los mensajes de UI localizados de OpenPencil y cambia el idioma activo del SDK.

useI18n

useI18n() devuelve grupos de traducción reactivos más controles de idioma para los shells de editor potenciados por OpenPencil.

Úsalo cuando quieras etiquetas respaldadas por el SDK para menús, comandos, paneles, páginas y diálogos, o cuando necesites que los usuarios puedan cambiar de idioma.

Uso

import { useI18n } from '@open-pencil/vue'

const { menu, commands, panels, locale, availableLocales, localeLabels, setLocale } = useI18n()

Devuelve

  • menu
  • commands
  • tools
  • panels
  • pages
  • dialogs
  • locale
  • availableLocales
  • localeLabels
  • setLocale

Ejemplo básico

<script setup lang="ts">
import { useI18n } from '@open-pencil/vue'

const { menu, locale, availableLocales, localeLabels, setLocale } = useI18n()
</script>

<template>
  <label class="flex items-center gap-2">
    <span>{{ menu.view }}</span>
    <select :value="locale" @change="setLocale(($event.target as HTMLSelectElement).value as typeof locale)">
      <option v-for="code in availableLocales" :key="code" :value="code">
        {{ localeLabels[code] }}
      </option>
    </select>
  </label>
</template>

Notas

  • los cambios de idioma son reactivos en todos los grupos de mensajes del SDK
  • el SDK también exporta primitivos de idioma de más bajo nivel cuando necesitas acceso directo al store

APIs relacionadas