Post multilingue su Discourse

discourse-multilingual-post

Un plugin per Discourse che consente versioni localizzate multiple del contenuto dei post.

Questo plugin è un proof-of-concept: senza la possibilità di localizzare i titoli degli argomenti, non è molto utile.

Come usarlo

In un post, utilizza i blocchi [lang=xx]:

[lang=en]
Ciao Mondo!
[/lang]
[lang=fr]
Bonjour monde !
[/lang]
[lang=de]
Hallo Welt !
[/lang]

Risultato:

Hallo Welt !

I codici paese devono essere composti da due lettere (le regioni non sono supportate).

Come funziona

Durante il rendering di un post, il plugin cerca un blocco [lang=xx] da visualizzare. Smette di cercare non appena trova:

  1. il blocco impostato per la lingua dell’utente (come selezionata da Discourse)
  2. il blocco impostato per la lingua predefinita dell’istanza di Discourse
  3. il primo blocco

Repository

https://github.com/sylque/discourse-multilingual-post

13 Mi Piace

Team di Discourse, avete qualche idea su come potrei localizzare i titoli degli argomenti?

Ciò che vorrei fare è questo:

  • Definire un ordine delle lingue, ad esempio “en,fr,de”
  • Consentire agli utenti di scrivere titoli di argomenti in questo modo: Hello World#Bonjour monde#Hallo Welt
  • Quando Discourse visualizza un titolo di argomento, modificarlo in modo da mantenere solo la lingua corretta

Tuttavia, non ho trovato alcun hook lato client per modificare il titolo. Qualche idea?

6 Mi Piace

Hai considerato la gestione dei titoli in Rails? La lingua predefinita è quella esistente, mentre i titoli aggiuntivi sono campi personalizzati del topic. Successivamente, modifichi i serializer per inviare nel payload il titolo nella lingua selezionata.

8 Mi Piace

Ottimo lavoro!

Concordo pienamente. Credo che la soluzione lato server sia la strada da seguire per i titoli.

Sto effettivamente lavorando alla creazione di un plugin multilingua (quasi completato) che consente la traduzione di:

  1. Tag
  2. Nomi delle categorie
  3. Descrizioni delle categorie

Nonché di un pannello di amministrazione per gestire lingue e localizzazioni, oltre a molte altre funzionalità come filtri di contenuto linguistico specifici per utente.

Potrebbe esserci spazio per unire le forze in questo ambito.

14 Mi Piace

Ciao! Adoro questo plugin e la sua semplicità, e penso che sarebbe ancora più utile se supportasse la decorazione delle pagine di Discourse (FAQ/Linee guida, Termini di servizio, Informativa sulla privacy), dato che le intestazioni vengono tradotte comunque. Ho provato a fare un fork e a espanderlo da solo, ma per essere sincero sono un completo principiante. Anche se ho la sensazione che debba essere riscritto intorno a decorateWidget() invece di decorateCooked().

1 Mi Piace

Decorare una pagina statica di Discourse (FAQ/Guide, Termini di Servizio, Informativa sulla Privacy) sarebbe una bella funzionalità. Tuttavia, non sono sicuro che decorateWidget abbia un hook per le pagine statiche. Qualcuno, qualche suggerimento su questo?