Importación/Exportación

Importación/Exportación personalizada
Si trabajas con un motor personalizado que no sea i18next, LSDE te permite configurar tu propio middleware.De esta manera, podrás importar tus datos al formato LSDE y, a la inversa, exportar el formato LSDE a tu propia estructura.
¿Cómo funciona?
Activa el modo avanzado para mostrar los ajustes personalizables.
Define aquí el filtro de importación de archivos:
Especifica las extensiones de archivos que LSDE debe incluir en su búsqueda.
Indica los nombres o palabras clave que deben contener los archivos.
Estas opciones soportan expresiones regulares (Regex).
Por ejemplo: `/filename\\d+/` recuperará todos los archivos llamados « filename » seguidos de un número (ej: `filename004`).
Puedes seleccionar parsers preconfigurados para ciertos frameworks.
Estos middlewares pueden ajustarse en cualquier momento según tus necesidades.
Si necesitas escribir tu propio middleware, hazlo aquí.
Estos middlewares pueden ajustarse en cualquier momento según tus necesidades.
Si necesitas escribir tu propio middleware, hazlo aquí.
Estas opciones permiten reforzar la seguridad y definir el estándar de estructura de tus archivos de localización:
Monolithic: significa que todos tus idiomas están agrupados en un único archivo.
Locale en las carpetas padre: indica que es la carpeta padre la que define el idioma.
Locale en el nombre de archivo: indica que el idioma debe figurar en el nombre del archivo.
Al elegir un middleware, debes implementar el código para la importación y la exportación.
Estas pestañas permiten alternar entre las dos interfaces.
Estas pestañas permiten alternar entre las dos interfaces.
Interfaz de los middlewares
Para la importación, tu parser debe devolver la siguiente interfaz a LSDE:return { valuesEntries, metasEntries, nameSpacePackage }tsinterface ILocalizationImportResult { metasEntries: [ i18nKey:string, value: IStructureMetaData ][]; valuesEntries: [ i18nKey:string, [language:string, text:string][] ][]; nameSpacePackage: [ ns:string, [language:string, filePath:string][] ][]; }
Debes construir este objeto a partir de los archivos encontrados por LSDE y pasados como parámetros.
La interfaz de los archivos recibidos es la siguiente:
tsinterface ILocalizationImportParams { files: { /** nombre del archivo sin extensión */ filename: string; /** ruta completa del archivo */ path: string; /** contenido del archivo */ datafile: string; /** carpeta padre del archivo */ parentFolder: string; /** directorio del archivo */ pathWithoutFilename: string; /** extensión con punto, ej: '.json' */ type: string; metadata: { modifiedTime: Date; accessedTime: Date; createdTime: Date; fileSize: number; inode: number; } }[] }
Para la exportación, LSDE te transmite la siguiente interfaz, permitiéndote reconstruir tu propia estructura de datos:
tsinterface ILocalizationExportParams { files: ILocalizationImportParams['files'] // ReadonlyMap<LSI18NKey, ReadonlyMap<language, text>> valuesEntriesMap: ReadonlyMap<string, ReadonlyMap<string, string>>; metasEntries: ILocalizationImportResult['metasEntries']; nameSpacePackage: ILocalizationImportResult['nameSpacePackage']; }
Debes devolver esta estructura:
tsinterface ILocalizationExportResult { i18nFiles: { locale: Locales; src: string, data: unknown; }[]; }
El objeto `data` contendrá la estructura que hayas construido para tu motor de juego o para las necesidades específicas de tu proyecto.