W mojej aplikacji Rails 3 użytkownicy mogą pisać wiadomości na forum. Chciałbym określić, jaki jest język dla danej wiadomości. Interesuję się językami angielskim, rosyjskim i hebrajskim. Czy istnieje jakaś wbudowana biblioteka w Ruby/Rails dla takiego zadania? Jeśli nie, wszelkie pomysły zostaną docenione.Jak wykrywać język danego tekstu?
Odpowiedz
Użyj tego: https://github.com/nashby/wtf_lang
"ruby is so awesome!".lang # => "en"
"ruby is so awesome!".full_lang # => "ENGLISH"
Dzięki! Czy wiesz, że istnieje coś podobnego, co pozwala przetłumaczyć jeden język na inny i korzysta z translatora Google? –
Nie ma za co! Sprawdź to - https://github.com/jimmycuadra/to_lang –
Świetnie, wielkie dzięki! –
Możesz użyć api dostarczonych przez google do odgadnięcia go za pomocą Google Translate.
Patrz tutaj dla dokumentacji: http://code.google.com/apis/language/translate/v1/using_rest_langdetect.html
nie ma tam sekcji "Używanie Ruby" :( –
Och, w takim przypadku będziesz musiał użyć Javy ... Niestety, nie mogłem się oprzeć :). Ma interfejs JSON. Możesz generować i parsować JSON łatwo z Ruby. – Matt
W rzeczywistości istnieją tylko przykłady, należy przeanalizować JSON w każdym języku. W Ruby możesz użyć tego: http://developer.yahoo.com/ruby/ruby-json.html – Hartator
Spójrz na tym blogu
http://blog.kenweiner.com/2008/04/server-side-language-detection-with.html
Może to być pomocne
Skoro dotyczy języków z różnych zestawów znaków można wykopać charakter kody, które są przeważnie w twoich łańcuchach. Możesz wtedy sprawdzić, czy wpadają w zestawy kodu reprezentujące znaki hebrajskie/crylliczne.
Być może warto przyjrzeć się klejnotowi whatlanguage?
Wystarczy szybkie demo WhatLanguage dla wszystkich zainteresowanych: http://www.youtube.com/watch?v=lNqZ2cqOReo&list=UUJ_3fstMOH-g4yBxtvgAWkw&index=0&feature=plcp
Language Detection API zapewnia Ruby GEM wykryć język.
Wygląda interesująco. Dzięki za zamieszczenie tego! –
http://rubygems.org/gems/prose Proza dozuje to bez klejnotu. Spróbuj.
tutaj dobre odpowiedzi też https://stackoverflow.com/questions/3285511/how-can-i-detect-a-users-input-language-using-ruby-without-using-an-online-serv –