google_translate_diff
google_translate_diff copied to clipboard
Math::DomainError
In production we've seen this happen:
The string: "2 st 25 öre 1949,1950.\r\n3 st 1 kr 1943.\r\n4 st 1 kr 1944" will generate an Math::DomainError. It comes from the punkt-segmenter gem and it's a known issue.
A possible fix/workaround for this is to use the fork harrisj/punkt-segmenter and use a trained tokenizer. A code doodle on how that could look can be found here: here.
Code line to reproduce: GoogleTranslateDiff.translate("2 st 25 öre 1949,1950.\r\n3 st 1 kr 1943.\r\n4 st 1 kr 1944", from: "sv", to: "en")
Quick and dirty fix for whomever end up here trying to find solution:
def translate(text:, from:, to:)
GoogleTranslateDiff.translate(text, from: from, to: to)
rescue Math::DomainError
GoogleTranslateDiff.api.translate(text, from: from, to: to).text
end
@tskogberg Thank you! this is exactly what I looked for today)