우즈베크어 인터페이스 추가

안녕하세요! @gerhard 님의 이 가이드를 따라 우즈베크어를 언어로 추가하려고 합니다:

하지만 플러그인을 app.yml에 추가하고 앱을 다시 빌드하면 다음과 같은 오류가 발생합니다:


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid
 1414 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
e0e2e2e1c65a3ca953eb44d052e2982b14799220bcf9863dc2b19ac01f035f02

제 플러그인 저장소입니다(번역은 아직 추가되지 않았습니다):
https://github.com/richterzo/discourse-uzbek

무엇이 빠져 있는 걸까요?

플러그인에 명백한 문제는 발견되지 않았습니다.

오류는 플러그기와는 다른 무엇과 관련이 있는 것으로 보입니다. 불행히도 스니펫에 실제 오류 메시지를 포함하지 않았습니다. 해당 메시지는 “FAILED” 메시지 위 어딘가의 출력 부분에 있었어야 합니다.

드디어 플러그인을 설치하여 사용 가능한 인터페이스 언어 목록에 올바르게 표시되도록 했습니다.
하지만 discourse translate 플러그인으로 게시물을 번역하려고 하면 번역이 되지 않고 "Translated from [missing% {language} value] by Google"이라는 메시지가 반환됩니다.

번역 플러그인에 Google에 대한 내부 매핑이 있는 것 같습니다. 이는 완전한 해킹이지만, 다음 스니펫을 plugin.rb에 추가하여 패치할 수 있습니다.

after_initialize do
  if defined? DiscourseTranslator::Google::SUPPORTED_LANG_MAPPING
    DiscourseTranslator::Google::SUPPORTED_LANG_MAPPING[:uz] = "uz"
  end
end

안녕하세요 @gerhard

지원해 주셔서 정말 감사합니다!

해킹 없이 새로운 언어를 지원하도록 Translator를 공식적으로 업그레이드할 가능성이 있을까요?

우리는 Discourse에 6개의 새로운 언어를 통합해야 합니다. 앞으로 몇 달 안에 crowdin을 통해 번역을 제공할 예정이지만, 그 사이에 Translator와 Multilingual 플러그인의 기능을 활성화해야 합니다(우리가 여기에서 논의했던 내용입니다). 같은 필요성을 가진 다른 사용자들에게도 Translator 업그레이드가 더 신뢰할 수 있고 유용할 것이라고 생각합니다.

최근 몇 주 동안 Translator에 새로운 로케일을 포함시키기 위해 몇 가지 PR(예: 이것들)을 이미 제출했지만, 아마도 요청의 성격이 조금 다를 수 있는 것 같습니다…?

PR을 생성하면 누군가가 검토해 줄 거예요.