Plugin multilingüe 🌐

¡He abierto una PR que (en su mayoría) soluciona este error!

Funciona en nombres de categorías, descripciones y subcategorías cuando la opción show_subcategory_list está activa en una categoría.
El único problema que queda son las subcategorías cuando show_subcategory_list está desactivada :purple_heart:

4 Me gusta

Si quiero traducir categorías, descripciones de categorías y etiquetas en mi foro a 10 idiomas diferentes, tengo que crear y subir 30 archivos separados para configuración y actualizaciones (3 x 10 = 30).

Estoy pensando en tener todas las traducciones en un solo archivo con la siguiente estructura:

categories:
  slug: 
    _de: Nombre en alemán
    _en: Nombre en inglés
    .description:
       _de: Descripción en alemán
       _en: Descripción en inglés
tags:
  tag:
     ...

Esto tendría varios beneficios:

  • Todas las traducciones se podrían actualizar a la vez
  • Los traductores ven el contexto durante la traducción
  • Optimiza las tareas de traducción utilizando modelos de lenguaje grandes

¿Alguien ha intentado esto antes?

¿Hay alguna desventaja que no vea?

En cuanto a una primera implementación, intentaré escribir un plugin que cree y actualice todas las entradas necesarias en Multilingual::CustomTranslation.

3 Me gusta

Este plugin necesita una actualización. Quiero evaluar si vale la pena y qué se necesita. Si está interesado en funciones multilingües, vote:

  • Uso el plugin y solo quiero que siga funcionando.
  • Uso el plugin y quiero una funcionalidad o experiencia de usuario mejor/diferente.
  • Quiero una mejor funcionalidad multilingüe en Discourse, pero no uso este plugin (por favor, explique a continuación).
  • Ninguna de las anteriores (por favor, explique a continuación por qué votó).
0 voters
2 Me gusta

Mi respuesta “Quiero una mejor funcionalidad multilingüe en Discourse, pero no uso este plugin (por favor, explíquelo a continuación)” se debe a que estamos evaluando una buena opción multilingüe. Sería genial que su herramienta fuera la elegida.

Como preguntó qué se necesita, aquí publico mi mensaje que escribí para la pregunta general sobre soporte multilingüe:

Tenemos un sitio web con un dominio y dos idiomas (alemán, inglés). El contenido está dividido por dominio.org/de/[nameofsite] y dominio.org/en/[nameofsite].
Tenemos un foro de Discourse en alemán en el subdominio [germankeyword]-forum.domain.org
Ahora queremos agregar una versión en inglés del foro.
Desafortunadamente, la palabra clave en inglés, que describe adecuadamente el tema y que nos gustaría usar para el foro en inglés ([englishkeyword]-forum.domain.org), difiere de la palabra clave en alemán. La palabra clave en alemán no funciona en inglés y la palabra clave en inglés no funciona en alemán.

Pregunta:
¿Es posible ejecutar un (un) foro de Discourse con diferentes subdominios para diferentes idiomas utilizando una sola gestión de cuentas?
¿O tenemos que construir un foro completamente nuevo en inglés con su propio subdominio y su propia gestión de cuentas?

Con el término “una gestión de cuentas” me refiero a una sola base de datos para usuarios y un solo inicio de sesión para ambos idiomas.
¿Existe alguna posibilidad de evitar que los usuarios que desean usar ambos idiomas tengan que registrarse dos veces?

¿O debemos limitarnos estrictamente a un dominio si queremos ofrecer los mismos inicios de sesión para diferentes idiomas del mismo foro?

Si necesitamos un dominio y un foro, ¿existe la posibilidad de mostrar el idioma de una publicación en el nombre del enlace de la publicación?

Al igual que
https://meta.discourse.org/t/multilingual-plugin/*en/*142740/125
para publicaciones en inglés y
https://meta.discourse.org/t/multilingual-plugin/*de/*142740/125
para las alemanas?

Disculpen si mis preguntas fueron demasiado tontas…

2 Me gusta

En resumen, no, eso no es posible.

Parte del objetivo de este plugin es permitir que diferentes hablantes nativos coexistan en el mismo foro y que su idioma preferido se les presente de forma natural. Esa fue la intención original del plugin.

Sí, los tendrías en el mismo foro. Si realmente necesitas tener dos foros separados, tendrías que usar un proveedor de identidad, por ejemplo, auth0 u okta, que luego proporcione autenticación para ambos foros.

Actualmente, esta no es una característica del plugin, sin embargo, sería posible lograr esto con algo de trabajo adicional. Para lograr completamente tu visión, se necesitaría trabajo adicional de cualquier manera. Puedes enviarme un mensaje privado en coop.pavilion.tech.

2 Me gusta

Dados os resultados desta enquete, vou trabalhar na próxima versão principal deste plugin a partir de setembro. Se você tiver algum pedido específico de recursos, agora é a hora de fazê-los. A próxima versão do plugin também terá uma assinatura comercial paga disponível com suporte e outros benefícios. O plugin permanecerá 100% de código aberto.

4 Me gusta

Podrías tener dos instancias y usar Discourse Connect para que una de ellas sea el sitio que maneja la autenticación.

1 me gusta

Como parte de una familia de idiomas muy pequeña y difícil, necesito traducciones basadas en IA para mis usuarios de finlandés y estonio. Los servicios de traducción son horriblemente malos fuera de los idiomas principales.

Las traducciones al inglés son un poco mejores, sin embargo.

4 Me gusta

Estoy intentando usar la configuración multilingual guest language switcher footer visible para que los idiomas principales de la comunidad sean rápidamente accesibles como idiomas de interfaz para los invitados. Esto es lo que he observado:

  1. La barra con la lista corta de idiomas de interfaz solo es visible cuando multilingual guest language switcher está configurado como footer, pero no cuando está configurado como header.

    Dado que la barra también se llama “footer” en el nombre de la configuración (aunque no está en el pie de página de Discourse, sino que flota sobre el contenido cerca de la esquina inferior derecha de la ventana), esto podría ser esperado. Sin embargo, en sitios que ofrecen muchos idiomas de interfaz (por ejemplo, todos los disponibles actualmente en Discourse), sería bueno tener una lista corta de acceso rápido de los idiomas principales de la comunidad disponible independientemente de la ubicación del menú completo de selección de idioma para invitados. (Y creo que un botón de menú en la cabecera se ve mucho más limpio que una barra flotando sobre partes aleatorias del contenido de la página, cubriendo parte de él).

    ¿Quizás cuando se elige header y se seleccionan idiomas en multilingual guest language switcher footer visible, estos podrían ordenarse en la parte superior del menú y resaltarse de alguna manera?

  2. La configuración permite reordenar los idiomas seleccionados para la lista corta en la barra:

    Sin embargo, la barra parece ignorar ese orden y, en cambio, parece ordenar los idiomas alfabéticamente por su código corto de 2 letras:
    captura de pantalla de la barra del conmutador de idioma de invitado multilingüe. Los idiomas son (en ese orden), árabe, alemán, inglés (EE. UU.), francés e italiano, todos listados por sus nombres nativos: "اللغة العربية", "Deutsch", "English (US)", "Français", "Italiano" y "简体中文"

    Sería bueno si se respetara el orden configurado en la configuración (ya sea por defecto o mediante un interruptor de configuración adicional).

1 me gusta

Además, cuando multilingual guest language switcher se establece en header, el menú con la lista de idiomas no es desplazable (ni limitado por la altura de la ventana del navegador), por lo que algunos idiomas no se pueden seleccionar, ya que terminan debajo del borde inferior del navegador. (Solución alternativa en Firefox: alejar el zoom con Ctrl + rueda del ratón, para que todo el menú quepa en la ventana del navegador).

Esto es con la versión 0.2.9 (ba63f9a) del plugin “Multilingual”.

1 me gusta

Un administrador anterior de nuestra instancia parece haber subido ya algunos category_name.<código de idioma>.yml en <URL base de discourse>/admin/multilingual/translations.

Sin embargo, no parecen funcionar. ¿Hay alguna forma de ver o descargar su contenido, para poder modificarlo y volver a subirlo?

Editar:

Ahora sí funcionan. (No sé qué cambió). Aún así, me interesaría descargarlos (o acceder a ellos en el servidor, si están en el sistema de archivos allí), en caso de que necesite modificarlos en algún momento.

1 me gusta

Hola, he instalado discourse-multilingual en dos sitios.
Hay un error con require is not defined en i18n.js:

Cuando deshabilité discourse-multilingual, el error no ocurrió. ¿Podrías decirme qué podría estar causando esto?

Gracias.

Pero quiero:

Me encontré con un segundo error en este tema.

He reemplazado 简体中文 con 한국어.
Apareció un icono de lápiz, notificando un cambio.
Pero si miras la entrada del historial de edición, el cambio de idioma del tema no se muestra.
El Antes y el Después son idénticos, incluso en modo Raw.

Creo que ese también fue el problema en

1 me gusta

Hola,

Disculpa si esta es una pregunta extraña, pero ¿hay algún lugar donde pueda ver el plugin en acción? He leído la documentación y revisado este hilo, pero la mayoría de los sitios de ejemplo enlazados no parecen funcionar o han cambiado. Por ejemplo: Pavilion y http://try.thepavilion.io/ Debido a esto, no puedo ver los ejemplos mencionados para el plugin, el selector de idioma, etc.

Si actualmente no hay forma de probarlo, ¿alguien sería tan amable de responder algunas preguntas? :slightly_smiling_face:

  • ¿Pueden los usuarios elegir su/s idioma/s preferido/s durante el registro, para que el contenido del foro se filtre automáticamente según su selección?
  • ¿Es posible cambiar el botón “LanguageSwitch” por un icono de globo terráqueo o algo más? Ahora mismo, parece ser un carácter japonés, pero como nadie en mi foro usa ese idioma, podría confundir a los usuarios o hacer que lo ignoren.
  • Entiendo que las categorías y descripciones se pueden traducir (si lo he entendido bien), pero ¿funciona esto también para las subcategorías de subcategorías? Además, ¿podría aplicarse a elementos como los enlaces en la cabecera de la marca (plugin)? Por ejemplo, ¿podría traducirse la palabra “Products” y redirigir a los usuarios a la versión en español o inglés, dependiendo del idioma seleccionado? Pregunto esto porque es un plugin muy popular y me preguntaba si es compatible con el plugin multilingüe.

¡Disculpa todas las preguntas! Hice mi mejor esfuerzo para averiguar todo mirando las capturas de pantalla y la documentación.

Parece que este plugin no funciona bien con Discourse 3.5.0beta1, tuve que desactivarlo para recuperar el foro. No encontré nada en los registros, pero:

Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*? . Usa en su lugar el argumento de palabra clave include_condition
En /var/www/discourse/plugins/discourse-multilingual/plugin.rb:314:en block in activate!

2 Me gusta

Obtengo un Error 500 / Ups con el discurso actual:

ArgumentError (número incorrecto de argumentos (se proporcionaron 2, se esperaba 1))
app/controllers/extra_locales_controller.rb:44:en `url'

Traza de la pila

plugins/discourse-multilingual/extensions/extra_locales_controller.rb:21:en `bundle_js_hash'
app/controllers/extra_locales_controller.rb:44:en `url'
plugins/discourse-multilingual/lib/multilingual/locale_loader.rb:30:en `preload_tag_translations'
plugins/discourse-multilingual/plugin.rb:77:en `bloque (2 niveles) en activate!'

Mi configuración regional está establecida en de_DE.UTF-8.

Por cierto: el enlace “Report a bug” arriba apunta al dominio actualmente desconocido discourse.pluginmanager.org.

1 me gusta

Este plugin definitivamente está bloqueando mi sitio ahora mismo.

1 me gusta

El complemento ha sido actualizado para que no falle en la última versión de Discourse.

14 Me gusta