Plugin multilingüe 🌐

Yo también, mi versión de Discourse es 3.5.0.beta2-dev, discourse-multilingual es la última


Backtrace

app/controllers/extra_locales_controller.rb:39:in `bundle_js_hash'
plugins/discourse-multilingual/extensions/extra_locales_controller.rb:25:in `bundle_js_hash'
app/controllers/extra_locales_controller.rb:44:in `url'
plugins/discourse-multilingual/lib/multilingual/locale_loader.rb:26:in `preload_custom_locale'
plugins/discourse-multilingual/plugin.rb:76:in `block (2 levels) in activate!'
lib/plugin/instance.rb:729:in `block in register_html_builder'
lib/discourse_plugin_registry.rb:230:in `block in build_html'
lib/discourse_plugin_registry.rb:230:in `map'
lib/discourse_plugin_registry.rb:230:in `build_html'
app/helpers/application_helper.rb:572:in `build_plugin_html'
app/views/layouts/application.html.erb:24

¿Alguien sabe cómo solucionar este problema?

1 me gusta

Estoy usando la configuración custom names.yml para cambiar Einglish (US) a Einglish, pero se rompió con un error. Rastreo de pila:

ActionView::Template::Error (Bundle desconocido: custom-language)
app/controllers/extra_locales_controller.rb:39:en `bundle_js_hash'
app/controllers/extra_locales_controller.rb:44:en `url'
lib/plugin/instance.rb:729:en `bloque en register_html_builder'
lib/discourse_plugin_registry.rb:230:en `bloque en build_html'
lib/discourse_plugin_registry.rb:230:en `map'
lib/discourse_plugin_registry.rb:230:en `build_html'
app/helpers/application_helper.rb:572:en `build_plugin_html'
app/views/layouts/application.html.erb:24
lib/topic_list_responder.rb:15:en `bloque (2 niveles) en respond_with_list'
lib/topic_list_responder.rb:8:en `respond_with_list'
app/controllers/list_controller.rb:347:en `bloque (2 niveles) en 9tecla:ListController'
app/controllers/list_controller.rb:316:en `public_send'
app/controllers/list_controller.rb:316:en `top'
app/controllers/application_controller.rb:427:en `bloque en with_resolved_locale'
app/controllers/application_controller.rb:427:en `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:35:en `call'
lib/content_security_policy/middleware.rb:12:en `call'
lib/middleware/anonymous_cache.rb:409:en `call'
lib/middleware/csp_script_nonce_injector.rb:12:en `call'
config/initializers/008-rack-cors.rb:14:en `call'
lib/middleware/default_headers.rb:13:en `call'
config/initializers/100-quiet_logger.rb:20:en `call'
config/initializers/100-silence_logger.rb:29:en `call'
lib/middleware/enforce_hostname.rb:24:en `call'
lib/middleware/processing_request.rb:12:en `call'
lib/middleware/request_tracker.rb:385:en `call'
1 me gusta

Después de actualizar Discourse, ahora muestra un banner con

[Aviso de administrador] Uno de sus temas o complementos necesita actualizarse para ser compatible con los próximos cambios principales de Discourse. (id:discourse.component-template-overrides) Complemento identificado: ‘discourse-multilingual’

Así que supongo que se necesitarán algunos cambios técnicos en este complemento antes de junio de 2025.

5 Me gusta

¿Alguna novedad sobre esto por parte de los desarrolladores?

1 me gusta

¿Alguna idea de por qué mi foro cambió su idioma al inglés cuando se activó el plugin multilingüe? Desactivé el plugin y todavía está en inglés.

1 me gusta

Pude seguir con éxito esta guía para agregar traducciones de categorías.
Pero no pude conseguir que las traducciones de etiquetas funcionaran.

Esto es lo que tengo en un archivo tag.ja.yml:

discussions: ディスカッション
questions: 質問
self-intro: 自己紹介
showcase: 作ってみた
other: その他
guidelines: ガイドライン
updates: 新着

Y el resultado fue este a continuación al cambiar el idioma de la interfaz a japonés.

Cualquier ayuda sería apreciada, ¡gracias!

1 me gusta

@angus ¿Alguna forma de arreglar las comas dobles? @Arkshine encontró la solución aquí eliminando el CSS antiguo:

1 me gusta

Mi Discourse está atascado cargando. ¿Supongo que es el error de los cambios técnicos?

Publicación: Discourse Stuck on Loading (Logs) - #6 by joshhabka

1 me gusta

@angus ¿sabes cómo eliminar completamente todos los archivos/configuración residuals de este plugin multilingüe?

1 me gusta

@Angus Por favor, vea el nuevo error con el plugin: “500” al guardar una publicación al agregar una etiqueta de idioma. Gracias por el desarrollo de este plugin :slight_smile:

1 me gusta

Hola,

Intenté instalar el plugin Multilingual en mi foro Discourse local.
Lo cloné con el siguiente comando en la carpeta de plugins:

git clone https://github.com/paviliondev/discourse-multilingual

Pero no encuentro la pestaña Multilingual en la configuración de mi administrador. Solo aparece en el menú de plugins, pero no contiene todas las configuraciones. ¿Qué puedo hacer?

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

registro del servidor local
  • Ejecutando tarea: bin/rake db:create db:migrate

Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:188:in block in activate!
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:193:in block in activate!
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:199:in block in activate!
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:312:in block in activate!
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:314:in block in activate!
La base de datos ‘discourse_development’ ya existe
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:188:in block in activate!
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:193:in block in activate!
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:199:in block in activate!
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:312:in block in activate!
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:314:in block in activate!

  • La terminal se reutilizará para las tareas, presiona cualquier tecla para cerrarla.

  • Ejecutando tarea: bin/ember-cli -u

Alcance: todos los 16 proyectos del espacio de trabajo
El archivo Lockfile está actualizado, se omite el paso de resolución
Ya está actualizado
Listo en 1.4s usando pnpm v9.15.7
Ember CLI ejecutándose en PID: 57615
I, [2025-04-25T12:45:00.214872 #57627] INFO – : Refrescando lista de Gemas
Iniciando observador de cambios en CSS
[ember-cli] La configuración ‘staticAddonTrees’ tendrá el valor predeterminado true en la próxima versión de Embroider y no se podrá desactivar. Para prepararse para esto, debes establecer ‘staticAddonTrees: true’ en tu configuración de Embroider.
[ember-cli] La configuración ‘staticAddonTestSupportTrees’ tendrá el valor predeterminado true en la próxima versión de Embroider y no se podrá desactivar. Para prepararse para esto, debes establecer ‘staticAddonTestSupportTrees: true’ en tu configuración de Embroider.
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:188:in block in activate!
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:193:in block in activate!
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:199:in block in activate!
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:312:in block in activate!
Aviso de depreciación: add_to_serializer no debe usarse para anular directamente los métodos include_*?. Usa el argumento de palabra clave include_condition en su lugar.
En /workspace/discourse/plugins/discourse-multilingual/plugin.rb:314:in block in activate!
I, [2025-04-25T12:45:03.044278 #57627] INFO – : escuchando en addr=127.0.0.1:3000 fd=29
[ember-cli] Proxying a http://127.0.0.1:3000
[ember-cli] construyendo…
I, [2025-04-25T12:45:04.243153 #57627] INFO – : iniciando 1 sidekiqs supervisados
[ember-cli] …[ConfigLoader]
I, [2025-04-25T12:45:04.554744 #57627] INFO – : proceso maestro listo
I, [2025-04-25T12:45:04.667840 #57910] INFO – : Cargando Sidekiq en el proceso id 57910
I, [2025-04-25T12:45:04.680493 #57914] INFO – : worker=0 listo
I, [2025-04-25T12:45:04.686440 #57919] INFO – : worker=1 listo
I, [2025-04-25T12:45:04.686445 #57924] INFO – : worker=2 listo
[ember-cli] …[Babel: discourse-widget-hbs > applyPatches]
[ember-cli] …[Babel: ember-source > applyPatches]
[ember-cli] …[Babel: dialog-holder > applyPatches]
[ember-cli] …[embroider-template-compile-stage1 > applyPatches]
[ember-cli] …[Babel: select-kit > applyPatches]
[ember-cli] …[@embroider/compat/app]
[ember-cli] …[@embroider/webpack]
[ember-cli] …[@embroider/webpack]
[ember-cli] …[@embroider/webpack]
[ember-cli] …[SourceMapConcat]
[ember-cli] …[Babel: admin > applyPatches]
[ember-cli] …[SourceMapConcat]
[ember-cli] …[Babel: discourse-plugins > applyPatches]
[ember-cli] …[TemplateCompiler > applyPatches]
[ember-cli] …[Babel: discourse-plugins > applyPatches]
[ember-cli] …[SourceMapConcat]
[ember-cli] …[Babel: discourse-plugins > applyPatches]
[ember-cli] …[TemplateCompiler > applyPatches]
[ember-cli] …[Babel: discourse-plugins > applyPatches]
[ember-cli] …[SourceMapConcat]
[ember-cli] …[Babel: discourse-plugins > applyPatches]
[ember-cli] …[SourceMapConcat]
[ember-cli] …[Babel: discourse-plugins > applyPatches]
[ember-cli]
[ember-cli] Construcción exitosa (31766ms) – Sirviendo en http://localhost:4200/
[ember-cli]
[ember-cli] Nodos más lentos (totalTime >= 5%) | Total (promedio)
[ember-cli] -±
[ember-cli] @embroider/webpack (1) | 21608ms
[ember-cli] Babel: discourse-plugins (29) | 4506ms (155 ms)
[ember-cli] broccoli-persistent-filter:Mapper (36) | 1628ms (45 ms)
[ember-cli]
[ember-cli] (node:57634) [DEP0060] DeprecationWarning: La API util._extend está obsoleta. Usa Object.assign() en su lugar.
[ember-cli] (Usa node --trace-deprecation ... para mostrar dónde se creó la advertencia)

2 Me gusta

Esto provocó que la aplicación se rompiera, deberías actualizar a la última:

Tuve que deshabilitar este plugin debido al siguiente error:

ActionView::Template::Error (No se encontró el recurso 'locales/i18n.js' en la ruta de carga).

locales/i18n.js fue eliminado en PERF: Compile main locale bundles just-in-time (#32335) · discourse/discourse@c62a4a4 · GitHub

2 Me gusta

Hola @angus,

¿Tienes alguna actualización sobre cuándo estará disponible una versión compatible con Discourse 3.4?

Actualmente estamos intentando instalar el complemento en nuestra instancia de Discourse 3.4.3, pero estamos enfrentando varios errores debido a incompatibilidades.

¡Gracias de antemano por tu ayuda!

Debido a PERF: Compile main locale bundles just-in-time (#32335) · discourse/discourse@c62a4a4 · GitHub, discourse-multilingual no se puede utilizar. ¿Tienen planes para solucionarlo?

3 Me gusta

Hola: con respecto al cambio en la interfaz de usuario de la configuración de administrador, ¿dónde podemos insertar los archivos de traducción?

Usé una tag en lugar de este plugin. Pero solo está en el filtro de etiquetas.

Creo que esto debería ser bifurcado para actualizar la fuente, el autor se ha detenido demasiado tiempo…

Si bien este complemento está obsoleto, vale la pena señalar que las versiones más recientes de Discourse permiten la localización de nombres/descripciones de categorías, así como localizaciones de temas individuales como una característica básica de Discourse, incluida la manual:\n\nhttps://meta.discourse.org/t/content-localization-manual-and-automatic-with-discourse-ai/370969/37\n\nComo tal, es comprensible que este complemento ya no sea compatible, ya que las características que aporta están casi todas disponibles por defecto en Discourse.\n\nEDITAR: Como advertencia, no todas las funciones multilingües actuales están disponibles de forma nativa en Discourse a partir de ahora, por ejemplo:\n\n- No puedes ocultar temas en las diferentes páginas de temas de categorías según la configuración de Idiomas de contenido en el perfil de cualquier usuario.\n\nSigue siendo un gran avance en características, pero una advertencia antes de actualizar tu instancia.

4 Me gusta