번역 플러그인 설치했는데 번역 버튼이 안 보입니다

다음과 같은 조치를 취했습니다:

  • 플러그인을 설치했습니다.
  • "게시물의 인라인 번역 허용"을 선택했습니다.
  • Microsoft 키를 받는 단계에 따랐습니다.
  • Microsoft를 번역기로 선택하고 키를 추가했습니다.
  • 외국어로 된 주제를 생성했습니다.

그러나 플러그인 설명에 나와 있듯이 링크 버튼 옆에 번역(지구) 버튼을 볼 수 없습니다.

플러그인을 삭제하고 다시 설치해 보기도 했습니다. 그리고 지금은 이 플러그인만 추가되어 있는 상태입니다.

어떤 상황에서도 그 버튼을 볼 수 있어야 하나요?

Microsoft API를 어떻게 테스트해 볼 수 있을까요?

이 플러그인에 대한 문제 해결 단계가 있나요?

감사합니다!




번역 버튼이 표시되지 않는 문제에 대해 답변이 늦은 점 죄송합니다. 질문하신 내용에 답변하기 어려운 점은, 플러그인을 Microsoft 번역 서비스로 설정하는 단계를 직접 확인해 볼 누군가가 필요하다는 것입니다. 플러그인과 Microsoft Translator를 함께 사용 중인 분을 찾지 못할 경우, 다음 주에 직접 설정 방법을 알아보고 해결해 보겠습니다.

해당 주제를 #plugin:translator 카테고리로 이동시켜 더 많은 주목을 받을 수 있도록 하겠습니다.

답변 주셔서 감사합니다. 만약 문제가 Microsoft 쪽에서 발생한 것이라면, 깨진 번역 버튼이 여전히 표시될 수 있는 것 아닌가요? Microsoft 번역 API 문제를 직접 디버깅해 보고 싶지만, 관련 문서를 찾지 못했습니다. 다시 한번 감사합니다.

해당 사용자가 선택한 현재 로케일과 게시물의 언어가 서로 다름이 감지될 때만 번역 버튼이 표시됩니다.

다음 명령어를 실행하여 테스트할 수 있습니다.

./launcher enter app
rails c
=> DiscourseTranslator::Microsoft.detect(Post.last)

구독 키가 올바르게 구성되지 않은 경우 오류가 발생합니다.

답변해 주셔서 감사합니다. 이제 번역기가 정상적으로 작동하고 있습니다. 이 정보가 다른 분들에게 도움이 될 수 있으므로, 해결 방법을 자세히 공유합니다.

또한, 제가 "어떤 경우에도 그 버튼을 보여야 합니까?"라고 질문했을 때, 의도했던 질문은 "내 선호 언어가 이미 사용되고 있는 경우에도"가 아니라 "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'

그 다음 Microsoft 문서에 따라 다음 테스트를 실행했습니다:

// 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을 선택할 수 있었습니다. 그리고 이 새로운 키를 사용하니 이제 정상 작동합니다.

도와주셔서 감사합니다.

이 해결책 감사합니다!