packman
(Chris McMahon)
07.Декабрь.2023 14:49:02
1
Я вижу предупреждение о устаревании Ember для этого плагина…
`
DEPRECATION: [PLUGIN discourse-translator-085393fc180a351d3e74518ec7971e580d749bf93686b725cf4995ffeeb614ba] Использование глобального объекта Ember устарело. Вместо этого следует импортировать модуль Ember или конкретный API. [id устаревания: ember-global] Подробнее см. по ссылке: Ember.js - Deprecations .
(anonymous) @ deprecate-shim.js:33
Похоже, у меня установлена последняя версия (1.0.0) плагина, поэтому я предполагаю, что обновление будет доступно до дня перехода на Ember 5.
david
(David Taylor)
13.Декабрь.2023 14:46:21
2
Спасибо за отчет, @packman . Последняя версия этого плагина не должна вызывать это предупреждение. Также обычно я не ожидаю, что имя плагина будет включать эту строку случайных символов в конце:
Я ожидал бы просто [PLUGIN discourse-translator]
Есть ли вероятность, что вы используете форк-версию плагина? Можете ли вы предоставить ссылку на форум, чтобы мы могли взглянуть?
packman
(Chris McMahon)
13.Декабрь.2023 14:51:59
3
Приношу извинения… У меня используется форк-версия. Это версия из GitHub - LibreTranslate/discourse-translator: Discourse translator with LibreTranslate support. · GitHub . Мне нужно попытаться вспомнить, почему я использовал именно её.
packman
(Chris McMahon)
13.Декабрь.2023 16:09:24
4
Я помню, почему. Официальный плагин переводчика не поддерживает LibreTranslate
packman
(Chris McMahon)
13.Декабрь.2023 16:45:15
5
Если кто-то является участником форума поддержки плагина-форка LibreTranslate, пожалуйста, создайте тему об этом предупреждении об устаревании. На форке GitHub, похоже, нельзя создавать проблемы, а я попытался зарегистрироваться на форуме, чтобы сообщить об этом сам, но письмо с подтверждением регистрации не приходит.
david
(David Taylor)
13.Декабрь.2023 17:15:50
6
Похоже, в официальном репозитории есть очень старый (извините! ) PR на добавление поддержки LibreTranslate. Мы постараемся как можно скорее объединить его, и тогда пользователи смогут перейти на официальную версию плагина с поддержкой Ember 5.
main ← LibreTranslate:libre
merged 06:33PM - 13 Dec 23 UTC
Hello :hand: !
This PR adds support for libretranslate (https://libretransla… te.com) as a translation provider.

Hope this can be useful to others. Let me know if changes are needed.
Cheers! :clinking_glasses:
pmusaraj
(Penar Musaraj)
13.Декабрь.2023 18:57:32
7
Это уже объединено, ещё раз извините за очень долгую задержку. По результатам быстрого тестирования LibreTranslate выглядит как отличное решение с открытым исходным кодом как альтернатива платным сервисам.
(Также обновлю инструкции в первом посте.)
packman
(Chris McMahon)
13.Декабрь.2023 19:34:08
8
Да, это так Это просто ещё одно приложение для Docker, хотя оно не очень легковесное.
packman
(Chris McMahon)
13.Декабрь.2023 21:46:38
9
Я установил новый официальный плагин вместо форка, но переводы не появляются. Я проверил старые темы, которые, как я почти уверен, ранее переводились, и создал новые темы с текстом на французском (язык по умолчанию — английский), но старые переводы исчезли, а новые посты не переводятся.
В качестве переводчика я указал LibreTranslate, прописал путь к моему внутреннему экземпляру, ключ API не требуется (внутренний экземпляр), лимит переводов в минуту оставлен по умолчанию (3). Настройки «restrict» я установил в значение «everyone», чтобы разрешить всем переводить и чтобы переводились все посты. Формулировка этих настроек немного запутывает (restrict против allowlists), поэтому я не уверен, что всё настроено верно, но я также пробовал оставить оба поля пустыми — переводов всё равно нет. Плагин включён для встроенного перевода.
Я протестировал свой экземпляр LibreTranslate через его веб-интерфейс, и он успешно переводит введённый мной текст не на английском языке.
После установки официального плагина в логах не видно ошибок, связанных с переводчиком, и в консоли JavaScript тоже ошибок нет.
Не понимаю, что ещё проверить для отладки этой проблемы.
pmusaraj
(Penar Musaraj)
13.Декабрь.2023 21:56:54
10
Есть ли какие-либо соответствующие ошибки в /logs?
packman
(Chris McMahon)
13.Декабрь.2023 22:01:18
11
Нет. Единственный элемент discourse-translator — это предупреждение об устаревании:
Уведомление об устаревании: SiteSetting.min_trust_to_flag_posts устарел. Пожалуйста, используйте SiteSetting.flag_post_allowed_groups вместо этого. (удаление в Discourse 3.3)
В /var/www/discourse/lib/site_setting_extension.rb:202:in public_send
Это относится к HTTP-рефереру
https://discourse.weather-watch.com/admin/site_settings/category/all_results?filter=plugin%3Adiscourse-translator
поэтому я не на 100% уверен, что это именно плагин или системный интерфейс плагинов.
packman
(Chris McMahon)
13.Декабрь.2023 22:06:43
12
Я только что попробовал отправить еще одно сообщение с настройками по умолчанию ‘restrict’ и получил
### Сообщение (2 копии сообщены)
Исключение задачи: неопределенная константа DiscourseTranslator::LibreTranslate
### Трассировка стека
activesupport-7.0.7/lib/active_support/inflector/methods.rb:278:in `const_get'
activesupport-7.0.7/lib/active_support/inflector/methods.rb:278:in `constantize'
activesupport-7.0.7/lib/active_support/core_ext/string/inflections.rb:74:in `constantize'
/var/www/discourse/plugins/discourse-translator/plugin.rb:125: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:124:in `execute'
/var/www/discourse/app/jobs/base.rb:292:in `block (2 levels) in perform'
rails_multisite-5.0.0/lib/rails_multisite/connection_management.rb:82:in `with_connection'
/var/www/discourse/app/jobs/base.rb:279:in `block in perform'
/var/www/discourse/app/jobs/base.rb:275:in `each'
/var/www/discourse/app/jobs/base.rb:275:in `perform'
sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'
### Окружение
1/2
hostname hv1-app
process_id 11330
application_version 0513865c3cbbf8449bcfdc0dff3d9c382d2c4207
current_db default
current_hostname discourse.weather-watch.com
job Jobs::DetectTranslation
problem_db default
time 22:03
opts post_id 574164
--- --- --- ---
--- ---
current_site_id default
pmusaraj
(Penar Musaraj)
13.Декабрь.2023 22:12:09
13
Да, я знаю, что это такое, я работаю над исправлением.
packman
(Chris McMahon)
13.Декабрь.2023 22:12:16
14
Логи сыплются как из рога изобилия… непонятно, почему они появились именно сейчас, хотя раньше их не было. У меня уже поздний час (Великобритания), так что это, вероятно, мой последний пост на сегодня. Я вернусь завтра, если вам понадобится дополнительная информация.
Сообщение (3 копии)
NameError (не инициализированная константа DiscourseTranslator::LibreTranslate)
(eval):111:in `_fast_attributes'
app/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'
app/serializers/post_stream_serializer_mixin.rb:47:in `map'
app/serializers/post_stream_serializer_mixin.rb:47:in `posts'
app/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'
(eval):3:in `_fast_attributes'
app/controllers/topics_controller.rb:1335:in `block (2 levels) in perform_show_response'
app/controllers/topics_controller.rb:1329:in `perform_show_response'
app/controllers/topics_controller.rb:187:in `show'
app/controllers/application_controller.rb:422:in `block in with_resolved_locale'
app/controllers/application_controller.rb:422:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:393:in `call'
lib/middleware/gtm_script_nonce_injector.rb:10:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:233:in `call'
Backtrace
activesupport (7.0.7) lib/active_support/inflector/methods.rb:278:in `const_get'
activesupport (7.0.7) lib/active_support/inflector/methods.rb:278:in `constantize'
activesupport (7.0.7) lib/active_support/core_ext/string/inflections.rb:74:in `constantize'
plugins/discourse-translator/plugin.rb:167:in `can_translate'
(eval):111:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:455:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
app/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'
activerecord (7.0.7) lib/active_record/relation/delegation.rb:88:in `each'
activerecord (7.0.7) lib/active_record/relation/delegation.rb:88:in `each'
app/serializers/post_stream_serializer_mixin.rb:47:in `map'
app/serializers/post_stream_serializer_mixin.rb:47:in `posts'
plugins/discourse-reactions/lib/discourse_reactions/topic_view_serializer_extension.rb:15:in `posts'
app/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'
(eval):3:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:455:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
activesupport (7.0.7) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (7.0.7) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (7.0.7) lib/active_support/core_ext/object/json.rb:42:in `to_json'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:331:in `to_json'
multi_json (1.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapter.rb:25:in `dump'
multi_json (1.15.0) lib/multi_json.rb:139:in `dump'
app/controllers/topics_controller.rb:1335:in `block (2 levels) in perform_show_response'
actionpack (7.0.7) lib/action_controller/metal/mime_responds.rb:214:in `respond_to'
app/controllers/topics_controller.rb:1329:in `perform_show_response'
app/controllers/topics_controller.rb:187:in `show'
actionpack (7.0.7) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.0.7) lib/abstract_controller/base.rb:215:in `process_action'
actionpack (7.0.7) lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack (7.0.7) lib/abstract_controller/callbacks.rb:234:in `block in process_action'
activesupport (7.0.7) lib/active_support/callbacks.rb:118:in `block in run_callbacks'
app/controllers/application_controller.rb:422:in `block in with_resolved_locale'
i18n (1.14.1) lib/i18n.rb:322:in `with_locale'
app/controllers/application_controller.rb:422:in `with_resolved_locale'
activesupport (7.0.7) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport (7.0.7) lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack (7.0.7) lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack (7.0.7) lib/action_controller/metal/rescue.rb:23:in `process_action'
actionpack (7.0.7) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport (7.0.7) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.0.7) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (7.0.7) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.0.7) lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack (7.0.7) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.0.7) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (7.0.7) lib/abstract_controller/base.rb:151:in `process'
actionview (7.0.7) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (3.3.0) lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
actionpack (7.0.7) lib/action_controller/metal.rb:188:in `dispatch'
actionpack (7.0.7) lib/action_controller/metal.rb:251:in `dispatch'
actionpack (7.0.7) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.0.7) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.0.7) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (7.0.7) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (7.0.7) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.0.7) lib/action_dispatch/routing/route_set.rb:852:in `call'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack (2.2.8) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.8) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.8) lib/rack/head.rb:12:in `call'
actionpack (7.0.7) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:393:in `call'
lib/middleware/gtm_script_nonce_injector.rb:10:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
rack (2.2.8) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.8) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.0.7) lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack (7.0.7) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (7.0.7) lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack (7.0.7) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (7.0.7) lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
actionpack (7.0.7) lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'
logster (2.13.1) lib/logster/middleware/reporter.rb:40:in `call'
railties (7.0.7) lib/rails/rack/logger.rb:40:in `call_app'
railties (7.0.7) lib/rails/rack/logger.rb:27:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.0.7) lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
actionpack (7.0.7) lib/action_dispatch/middleware/request_id.rb:26:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.8) lib/rack/method_override.rb:24:in `call'
actionpack (7.0.7) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.8) lib/rack/sendfile.rb:110:in `call'
actionpack (7.0.7) lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
rack-mini-profiler (3.3.0) lib/mini_profiler.rb:191:in `call'
message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:233:in `call'
railties (7.0.7) lib/rails/engine.rb:530:in `call'
railties (7.0.7) lib/rails/railtie.rb:226:in `public_send'
railties (7.0.7) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.8) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.8) lib/rack/urlmap.rb:58:in `each'
rack (2.2.8) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'
Env
1/3
hostname hv1-app
process_id 11359
application_version 0513865c3cbbf8449bcfdc0dff3d9c382d2c4207
HTTP_HOST discourse.weather-watch.com
REQUEST_URI /t/vp2-low-battery-warning/41154
REQUEST_METHOD GET
HTTP_USER_AGENT Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
HTTP_REFERER https://discourse.weather-watch.com/search?q=low%20batt
HTTP_X_FORWARDED_FOR 255.36.47.44, 10.20.0.1
HTTP_X_REAL_IP 10.20.0.1
username luciano_giannobile
time 10:08 pm
pmusaraj
(Penar Musaraj)
13.Декабрь.2023 23:13:54
17
FIX: Broken LibreTranslate support by pmusaraj · Pull Request #128 · discourse/discourse-translator · GitHub должно исправить проблему, @packman . Извините, я допустил ужасную ошибку при копировании/вставке, пытаясь исправить линтинг для этого PR . Этот коммит уже объединён, так что, если вы пересоберёте проект, всё, скорее всего, заработает.