Introducción
Obtén los idiomas configurados en tu proyecto para potenciar contenido multilingüe y detección de locales.
Más información sobre la interfaz de usuario del módulo https://doc.oneentry.cloud/docs/category/languages
🎯 ¿Qué hace este módulo?
El módulo Locales te permite obtener los idiomas activos configurados en tu proyecto de OneEntry, para que puedas construir aplicaciones internacionalizadas que sirvan contenido en múltiples idiomas.
En lugar de codificar los idiomas en tu aplicación, obtienes la lista de idiomas activos de OneEntry de forma dinámica, permitiendo que tu contenido se adapte a los locales que has habilitado (inglés, ruso, árabe, español, etc.). Los idiomas se configuran en el panel de administración de OneEntry; el SDK es de solo lectura y solo los obtiene.
🚀 Inicio Rápido
Inicializa el módulo desde defineOneEntry:
const { Locales } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Obtén los locales activos y lee sus campos:
// Returns only active locales (isActive: true).
const locales = await Locales.getLocales();
console.log(`${locales.length} active languages`);
locales.forEach((locale) => {
console.log(locale.code, locale.name, locale.shortCode);
});
✨ Conceptos Clave
¿Qué es un Locale?
Un locale es una combinación de idioma y región que determina cómo se muestra el contenido:
- Código de Idioma - Código de idioma ISO 639-1 (por ejemplo,
en,ru,ar) - Código de Región - Código de país ISO 3166-1 (por ejemplo,
US,GB,RU) - Identificador de Locale - Formato combinado:
idioma_REGIÓN(por ejemplo,en_US,ru_RU,ar_SA)
Ejemplos:
| Código de Locale | Idioma | Región | Descripción |
|---|---|---|---|
en_US | Inglés | Estados Unidos | Inglés Americano |
en_GB | Inglés | Gran Bretaña | Inglés Británico |
ru_RU | Ruso | Rusia | Ruso |
es_ES | Español | España | Español Europeo |
es_MX | Español | México | Español Mexicano |
ar_SA | Árabe | Arabia Saudita | Árabe (Arabia Saudita) |
fr_FR | Francés | Francia | Francés |
de_DE | Alemán | Alemania | Alemán |
Estructura de Locale
Cada locale devuelto por getLocales() (ILocalEntity) tiene:
{
id: 146, // unique ID
shortCode: 'en', // short code
code: 'en_US', // full code
name: 'English (USA)', // name
nativeName: 'English (USA)', // native name
isActive: true, // is active (always true here)
image: null, // image
position: 1, // position
}
Código de Locale vs. Código Corto
Cada locale tiene dos formatos de código:
| Campo | Formato | Ejemplo | Uso Para |
|---|---|---|---|
code | idioma_REGIÓN | en_US, ru_RU | Identificación completa del locale |
shortCode | idioma | en, ru | Identificación solo del idioma |
📋 Lo Que Necesitas Saber
Los locales se configuran en el panel de administración (solo lectura)
No puedes crear, actualizar o eliminar locales a través del SDK; se configuran en el panel de administración de OneEntry:
OneEntry Admin Panel → Settings → Languages → Add Language → Select Locale
El SDK es solo para obtener información de locales.
El SDK solo devuelve locales activos
getLocales() devuelve solo los objetos de localización de idioma activos (isActive: true). Los locales inactivos configurados en el panel de administración no se devuelven, por lo que no es necesario filtrarlos en el cliente. Cada locale devuelto aún lleva la bandera isActive (siempre true aquí), junto con code, shortCode, name, nativeName, image y position.
No hay un campo de locale predeterminado en la respuesta: elige y almacena un idioma de respaldo en tu propia aplicación.
📊 Tabla de Referencia Rápida
| Método | Descripción | Caso de Uso |
|---|---|---|
| getLocales() | Obtener todos los locales activos | Obtener idiomas disponibles |
❓ Preguntas Comunes (FAQ)
¿Cómo agrego nuevos idiomas a mi proyecto?
No puedes agregar locales a través del SDK. Los locales se configuran en el panel de administración de OneEntry.
¿getLocales() devuelve idiomas inactivos?
No. El SDK solo devuelve locales activos (isActive: true). Los idiomas deshabilitados en el panel de administración no se incluyen en la respuesta.
¿Puedo almacenar en caché los locales?
Sí. Los locales rara vez cambian, por lo que se recomienda almacenar el resultado en caché para mejorar el rendimiento.
¿Cómo manejo las traducciones faltantes?
Elige un idioma de respaldo en tu aplicación y recurre a él cuando falte contenido para el locale solicitado: getLocales() no incluye un campo de locale predeterminado.
🎓 Mejores Prácticas
- Confía en la lista activa - El SDK ya devuelve solo los locales habilitados, por lo que no se necesita filtrado del lado del cliente.
- Almacena en caché los locales - Rara vez cambian; almacena el resultado en caché para mejorar el rendimiento.
- Elige tu propio idioma de respaldo - No hay un campo de locale predeterminado; maneja las traducciones faltantes en tu aplicación.
- Coincide
codevsshortCode- Usacode(en_US) para identificación completa yshortCode(en) para lógica solo de idioma.
🔗 Documentación Relacionada
- Módulo de Páginas - Obtener contenido de página localizado
- Módulo de Productos - Gestionar productos multilingües
- Módulo de GeneralTypes - Clasificación de tipos de entidad
- Módulo de Admins - Usuarios administradores que gestionan locales