Select Enable API and search for Google Cloud Translator API. Look for the enable button and click it to enable the API. Note that there is no free tier for the Google Translator API so it may prompt you to enable billing.
Once you’re done, click on credentials in the left menu
Ich verwende LibreTranslate selbst gehostet, was in der Vergangenheit gut funktioniert hat, aber jetzt erhalte ich viele wiederholte Fehler wie „Job exception: The translator service is currently not available“. Ich habe die URL überprüft, die in der Vergangenheit in Ordnung war. Wenn ich auf die URL zugreife, wird die LibreTranslate-Webseite angezeigt. Es ist kein API/Token erforderlich, da meine LibreTranslate-Instanz privat ist und keinen Zugriff aus dem Internet hat.
Der Backtrace zeigt:
Nachricht (548 Kopien gemeldet)
Job exception: The translator service is currently not available.
Backtrace
/var/www/discourse/plugins/discourse-translator/services/discourse_translator/libretranslate.rb:168:in `result'
/var/www/discourse/plugins/discourse-translator/services/discourse_translator/libretranslate.rb:85:in `detect'
/var/www/discourse/plugins/discourse-translator/plugin.rb:120:in `block in execute'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/var/www/discourse/plugins/discourse-translator/plugin.rb:119:in `execute'
/var/www/discourse/app/jobs/base.rb:305:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.0.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:292:in `block in perform'
/var/www/discourse/app/jobs/base.rb:288:in `each'
/var/www/discourse/app/jobs/base.rb:288:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'
Die Locale-Option „Hindi“ ist in „Discourse“ noch nicht verfügbar. Die Hindi-Übersetzung ist jedoch über verschiedene Dienste verfügbar (ich verwende „Microsoft Azure“).
Wie können wir dann einrichten, dass alle/beliebigen Nicht-Hindi-Beiträge ins „Hindi“ übersetzt werden, auch wenn die Discourse-Oberfläche weiterhin auf Englisch ist? Ist das überhaupt möglich?
Ich habe darüber nachgedacht, diesen Übersetzer zu unserem Forum hinzuzufügen. Ich habe jedoch zwei Hauptbedenken:
1. Ist es möglich, die Übersetzungen zu ändern?
Ich möchte sicherstellen, dass bestimmte Begriffe auf eine bestimmte Weise übersetzt werden. Dazu benötige ich die Möglichkeit, die verfügbaren Übersetzungen einzusehen und bei Bedarf Änderungen vorzunehmen.
2. Wann wird ein Beitrag „neu übersetzt“?
Einige Forenbeiträge werden recht häufig bearbeitet. Wie kann ich sicherstellen, dass jeder korrigierte Tippfehler nicht zu überhöhten Übersetzungskosten führt? Wie kann ich außerdem sicherstellen, dass neue Änderungen korrekt in den Übersetzungen aktualisiert werden?
Ich glaube, das ist nicht möglich, da Sie dies auf der Ebene des Anbieters (Microsoft/Google) ändern müssten. Es sei denn, übersetzte Inhalte unterliegen der Wortersetzungs-Funktion, dann können Sie diese verwenden.
Hier ist jedoch eine Funktionsanfrage:
Die erste Nachricht automatisch ins Englische übersetzen, falls sie in einer anderen Sprache verfasst wurde.
Eine Schaltfläche haben, um den gesamten Thread auf einmal zu übersetzen.
Die automatische Übersetzungsfunktion für das gesamte Forum auf Benutzerebene aktivieren. Das bedeutet, wenn ein Benutzer in seinem Profil angibt, dass er nur z. B. Rumänisch spricht, werden alle Inhalte ins Rumänische übersetzt. Wenn er angibt, mehrere Sprachen zu sprechen, werden Beiträge nur übersetzt, wenn sie nicht in diesen Sprachen verfasst sind.
Die Benachrichtigung in Ihrem Screenshot verwendet den ursprünglichen Titel des Themas Ihres Beitrags, daher ist sie vorerst „korrekt“. Wir werden sicherstellen, dass Benachrichtigungen (Thementitel) in Zukunft übersetzt werden.
Was den obigen Beitrag betrifft, so hat unsere maschinelle Übersetzung gesponnen und wurde fälschlicherweise als „Spanisch (es)“ erkannt und anschließend schlecht übersetzt. Das wurde korrigiert. Wir arbeiten mit besseren Prompts für Übersetzungen.
Ich habe diesen Fehler erhalten, als ich das Discourse-Translator-Plugin installiert habe. Meine Discourse-Version ist 3.5.0.beta1.
I, [2025-04-24T01:33:20.510994 #1] INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
82: from /usr/local/bin/bundle:25:in `<main>'
81: from /usr/local/bin/bundle:25:in `load'
80: from /usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.5.18/exe/bundle:20:in `<top (required)>'
....
10: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:87:in `with_execution_control'
9: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:94:in `block in execute_hook'
8: from /var/www/discourse/config/application.rb:249:in `block in <class:Application>'
7: from /var/www/discourse/lib/plugin.rb:6:in `initialization_guard'
6: from /var/www/discourse/config/application.rb:249:in `block (2 levels) in <class:Application>'
5: from /var/www/discourse/config/application.rb:249:in `each'
4: from /var/www/discourse/lib/plugin/instance.rb:629:in `notify_after_initialize'
3: from /var/www/discourse/lib/plugin/instance.rb:629:in `each'
2: from /var/www/discourse/lib/plugin/instance.rb:631:in `block in notify_after_initialize'
1: from /var/www/discourse/plugins/discourse-translator/plugin.rb:40:in `block in activate!'
/var/www/discourse/plugins/discourse-translator/lib/discourse_translator/inline_translation.rb:86:in `inject': protected method `register_topic_preloader_associations' called for an instance of Plugin::Instance (NoMethodError)