language_detection_helper.rb 785 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
  2. class LanguageDetectionHelper
  3. =begin
  4. Detect language based on text
  5. LanguageDetectionHelper.detect('Entdecken Sie jetzt das Zammad Ticketsystem!')
  6. returns
  7. Language code of the detected text
  8. =end
  9. def self.detect(text)
  10. result = CLD.detect_language(text)
  11. return if !result[:reliable] || result[:code] == 'un' # unknown
  12. return if display_value(result[:code]).blank?
  13. result[:code]
  14. end
  15. =begin
  16. Returns the language name
  17. LanguageDetectionHelper.display_value('de')
  18. returns
  19. German
  20. =end
  21. def self.display_value(code)
  22. attribute = ObjectManager::Attribute.for_object('TicketArticle').find_by(name: 'detected_language')
  23. attribute.data_option[:options][code]
  24. end
  25. end