번역 버튼이 표시되지 않는 문제에 대해 답변이 늦은 점 죄송합니다. 질문하신 내용에 답변하기 어려운 점은, 플러그인을 Microsoft 번역 서비스로 설정하는 단계를 직접 확인해 볼 누군가가 필요하다는 것입니다. 플러그인과 Microsoft Translator를 함께 사용 중인 분을 찾지 못할 경우, 다음 주에 직접 설정 방법을 알아보고 해결해 보겠습니다.
해당 주제를 #plugin:translator 카테고리로 이동시켜 더 많은 주목을 받을 수 있도록 하겠습니다.
답변해 주셔서 감사합니다. 이제 번역기가 정상적으로 작동하고 있습니다. 이 정보가 다른 분들에게 도움이 될 수 있으므로, 해결 방법을 자세히 공유합니다.
또한, 제가 "어떤 경우에도 그 버튼을 보여야 합니까?"라고 질문했을 때, 의도했던 질문은 "내 선호 언어가 이미 사용되고 있는 경우에도"가 아니라 "API 키가 제대로 작동하는지 여부"였습니다. 답변을 보니, API가 실패하면 번역 버튼이 자동으로 숨겨지는 것 같습니다.
서버에 SSH로 접속한 후 cd /var/discourse/를 실행하고, ./launcher enter app, rails c, 그리고 DiscourseTranslator::Microsoft.detect(Post.last)를 실행했을 때, 다음과 같은 출력이 나타났습니다:
DiscourseTranslator::TranslatorError: :
from /var/www/discourse/plugins/discourse-translator/services/discourse_translator/microsoft.rb:70:in `access_token'
// Pass secret key and region using headers
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?'}]"
출력 결과는 성공을 나타냈습니다:
[{"detectedLanguage":{"language":"en","score":1.0},"translations":[{"text":"Hola, ¿cómo te llamas?","to":"es"}]}]% ~ %
curl 명령어에는 region이 포함되어 있지만, Discourse 플러그인에는 포함되어 있지 않다는 점을 알아차렸습니다. 저는 캘리포니아에 있지만, 사용자는 전 세계에 있으며 대부분 서유럽에 있습니다. Microsoft의 Translator 인스턴스화 프로세스에서 지역을 선택해야 했으며, 북미 및 서유럽 사용자의 일반 사용을 위해 westeurope를 권장한다는 기억이 났습니다.
지금 글로벌로 변경하려고 시도했지만 방법을 찾지 못했습니다. 그래서 새로운 리소스를 생성했는데, 오늘은 global을 선택할 수 있었습니다. 그리고 이 새로운 키를 사용하니 이제 정상 작동합니다.