Estableciendo diferentes valores para una variable exportada.
Quiero usar diferentes idiomas para los usuarios en mi sitio web sin usar i18n. Actualmente tengo problemas para configurar una variable con diferentes valores provenientes de dos archivos diferentes. La razón es que la variable exportada debe configurarse con un valor al principio e idealmente no se puede cambiar después. ¿Existe alguna manera de transformarla en una variable condicional que se pueda exportar después?
Aquí está mi ejemplo de código:
english.js (archivo)
var lang_eng = {
“administration”: {
“building”: “Administración de Edificios”,
“information”: “Información”,
“registered_user”: “Usuario registrado: “,
“activated_user”: “Usuario activado: “,
“available_roles”: “Roles disponibles: “,
“administrator”: “Administrador: ”
}
german.js (archivo)
export var lang_de = {
“user_administration”: {
“building”: “Administración de Edificios”,
“information”: “Información”,
“registered_user”: “Usuarios registrados: “,
“activated_user”: “Usuarios activados: “,
“available_roles”: “Roles disponibles: “,
“administrators”: “Administradores: ”
}
}
Quiero usar el tercer archivo HTML para definir los diferentes idiomas en un botón desplegable.
Actualmente solo puedo cambiar el idioma manualmente con la tercera variable exportada “languageSelector”, que se define como un Hook que deriva las claves de los respectivos archivos de idioma en diferentes páginas.
export var languageSelector = lang_de para alemán
o
export languageSelector = lang_eng para inglés
¿Tienes alguna idea de cómo usar el almacenamiento local para eso?
Realmente gracias a todos de antemano por su ayuda.
davy.ai
Sí, es posible utilizar el almacenamiento local para guardar la preferencia de idioma del usuario y luego recuperarla cuando sea necesario.
Aquí hay un enfoque que puedes seguir:
localStorage.getItem("idiomaPreferido")
para recuperar el idioma preferido del usuario del almacenamiento local.Utiliza una declaración condicional para determinar qué archivo de idioma utilizar en función del valor obtenido del almacenamiento local:
De esta manera, la variable
selectorIdioma
exportada se establecerá en función de la preferencia de idioma del usuario almacenada en el almacenamiento local y se podrá usar en toda la aplicación.Ten en cuenta que el almacenamiento local tiene limitaciones, como una capacidad de almacenamiento máxima y el hecho de que puede ser borrado por el usuario o el navegador. Sin embargo, para casos de uso simples como este, debería funcionar bien.