Grazie per la risposta. Il traduttore ora funziona. Di seguito riporto i dettagli su come ho trovato la soluzione, nel caso queste informazioni siano utili a qualcuno.
Inoltre, quando ho chiesto “dovrei vedere quel pulsante in ogni caso”, la mia domanda era più legata a “se la chiave API funziona o meno”, e non a “anche se la mia lingua preferita è già utilizzata”. Sembra che la risposta sia che il pulsante di traduzione si nasconde se l’API fallisce.
Quando ho effettuato l’accesso SSH alla nostra macchina, ho eseguito cd /var/discourse/, poi ./launcher enter app, quindi rails c e infine DiscourseTranslator::Microsoft.detect(Post.last). L’output è stato:
DiscourseTranslator::TranslatorError: :
from /var/www/discourse/plugins/discourse-translator/services/discourse_translator/microsoft.rb:70:in `access_token'
Quindi ho eseguito questo test seguendo la documentazione di Microsoft:
// Passa la chiave segreta e la regione tramite gli header
curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es" \
-H "Ocp-Apim-Subscription-Key:<your-key>" \
-H "Ocp-Apim-Subscription-Region:<your-region>" \
-H "Content-Type: application/json" \
-d "[{'Text':'Hello, what is your name?'}]"
L’output ha indicato successo:
[{"detectedLanguage":{"language":"en","score":1.0},"translations":[{"text":"Hola, ¿cómo te llamas?","to":"es"}]}]% ~ %
Ho notato che la regione era inclusa nel comando curl, ma non nel plugin Discourse. Mi trovo in California, ma i miei utenti saranno globali e principalmente nell’Europa occidentale. Ricordavo che il processo di Microsoft per l’istanza del servizio Translator richiedeva la scelta di una regione e raccomandava westeurope per un uso generale da parte di utenti nordamericani ed europei occidentali.
Ho provato a cambiarlo in globale, ma non sono riuscito a trovare un modo per farlo. Quindi ho creato una nuova risorsa e oggi mi ha permesso di scegliere l’opzione globale. Ora, con questa nuova chiave, funziona.
Grazie per il tuo aiuto.