@neil Scusa se ho impiegato così tanto a rispondere, ma ho sfruttato il tuo lavoro qui per un nuovo plugin che sto sviluppando, per implementare l’insieme di funzionalità che ho delineato qui sopra. Utilizza una versione modificata della struttura che hai aggiunto, che richiede che tutti i topic includano un tag di lingua se un’impostazione del sito è abilitata. Quindi, grazie!
Ulteriori note sul plugin 'multilingue' (in sviluppo), se qualcuno è interessato.
Spero che l’interfaccia utente sia relativamente autoesplicativa, ma ecco alcune note sulla nomenclatura e sul comportamento attuale:
Il tipo “Base” significa che la lingua fa parte dell’“elenco di base” delle lingue. Attualmente, l’elenco di base corrisponde all’elenco completo delle lingue presenti nel codice di Discourse, in particolare questo elenco: discourse/config/locales/names.yml at main · discourse/discourse · GitHub. Il plugin è stato progettato in modo tale che l’elenco di base possa essere modificato in futuro, se necessario (sebbene ciò richieda alcune modifiche minori al codice).
Noterai che molte lingue dell’elenco “Base” sono indicate come aventi “nessuna traduzione”. Questo riflette il fatto che l’elenco dei locali supportati in Discourse è un sottoinsieme dell’elenco delle lingue presenti in names.yml. Senza dubbio, l’obiettivo è aggiungere altri locali supportati nel tempo; tuttavia, ciò dipende dalla traduzione di Discourse in diversi locali (gestita su Transifex).
Puoi aggiungere nuove lingue caricando un file .yml nel formato:
iso_code: nome nativo
iso_code: nome nativo
...
Puoi includere nel file quante lingue desideri. Carichi il file cliccando su “Carica lingue” e selezionando il file .yml. L’elenco si aggiornerà automaticamente con la nuova lingua aggiunta. Le lingue aggiunte in questo modo appariranno come tipo “Personalizzate”.
Puoi ordinare l’elenco per qualsiasi intestazione (tranne “Azioni”) cliccando sull’intestazione. Puoi anche filtrare l’elenco utilizzando l’input di filtro in alto a sinistra (un piccolo problema è che si aggiorna ad ogni carattere inserito; lo correggerò in seguito).
Le caselle di controllo nelle colonne “Contenuto” e “Locale” indicano se la lingua deve essere utilizzata come filtro per il contenuto e/o come locale. La funzionalità di gestione dei locali non è ancora completa, quindi le caselle di controllo in quella colonna non funzioneranno correttamente (e le lingue personalizzate senza traduzioni per i locali mostreranno una casella di controllo invece di “nessuna traduzione”).
Le caselle di controllo nella colonna “Contenuto” modificheranno la disponibilità delle lingue di contenuto per gli utenti, ovvero, se questa casella di controllo è disabilitata:
Non ci sarà alcun tag di lingua per il contenuto di quella lingua nell’elenco nel selettore delle lingue di contenuto nell’editor.
Un utente non potrà selezionare la lingua di contenuto nel proprio profilo.
Nota inoltre che i selettori della lingua di contenuto e del locale dell’utente sono raggruppati nella parte superiore delle impostazioni della sua interfaccia.
Nota inoltre che l’inizializzazione del selettore delle lingue nell’editor (cioè l’aggiunta predefinita della lingua di contenuto dell’utente) dovrebbe ora funzionare correttamente.
Nota infine che l’impostazione del sito multilingual require language tag determina se un tag di lingua è obbligatorio. Ha tre possibili valori: no (non richiesto a nessuno), yes (richiesto a tutti), non-staff (richiesto ai non membri dello staff).
Ciao, ho dato un’occhiata: qual è il modo per ottenere questo tipo di struttura?
Ho capito che ‘Altre lingue’ è una categoria e le diverse lingue sono le sottocategorie?
È corretto?
E i contributori pubblicano qui in base alla propria lingua?
Quindi possono pubblicare tutti gli argomenti senza alcun tema?
Grazie,
Non sarebbe fantastico se tutto il contenuto e l’interfaccia venissero visualizzati agli utenti nella loro lingua madre?
AirBnB lo fa da anni: ognuno scrive nella propria lingua e vede le risposte nella lingua in cui scrive.
Questo potrebbe essere facilmente realizzato tecnicamente con l’API di Google Translate, che, ad essere onesti, trovo davvero impressionante per quanto sia valida.
Penso che i suggerimenti, così come il “plugin multilingue”, se ho capito bene la sua funzione, portino solo a una maggiore segregazione invece di rimuovere le barriere linguistiche.