Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A Ruby library that adds language translation methods to strings, backed by the Google Translate API.

tree: d78d803179

Fetching latest commit…

Cannot retrieve the latest commit at this time

README.textile

to_lang

to_lang is a Ruby library that adds language translation methods to strings, backed by the Google Translate API.

Installation

Simply run gem install to_lang.

Usage

To use to_lang, require the library, then call ToLang.start with your Google Translate API key. At this point you will have access to all the new translation methods, which take the form to_language, where “language” is the language you wish to translate to.

Google Translate attempts to detect the source language, but you can specify it explicitly by calling methods in the form to_language_from_source_language, where “source_language” is the source language. These methods are generated dynamically and will not appear in a call to String.new.methods until they have been called once. Strings will, however, respond_to? these methods prior to their dynamic definition.

The dynamic methods are simply syntactic sugar for String#translate, which you can use directly as well.

Examples

Load and initialize to_lang:

require ‘to_lang’
ToLang.start(‘YOUR_GOOGLE_TRANSLATE_API_KEY’)

Translate some text to Spanish:

“Very cool gem!”.to_spanish
=> “Muy fresco joya!”

A case where the source language is ambiguous:

“a pie”.to_spanish
=> “a pie”
“a pie”.to_spanish_from_english
=> “un pastel”

Using String#translate directly:

“hello world”.translate(‘es’)
=> “hola mundo”
“a pie”.translate(‘es’, :from => ‘en’)
=> “un pastel”

Supported Languages

to_lang adds the following methods to strings. Each of these methods can be called with an explicit source language by appending _to_source_language to the method name.

  • to_afrikaans
  • to_albanian
  • to_arabic
  • to_basque
  • to_belarusian
  • to_bulgarian
  • to_catalan
  • to_simplified_chinese
  • to_traditional_chinese
  • to_croatian
  • to_czech
  • to_danish
  • to_dutch
  • to_english
  • to_estonian
  • to_filipino
  • to_finnish
  • to_french
  • to_galician
  • to_german
  • to_greek
  • to_haitian_creole
  • to_hebrew
  • to_hindi
  • to_hungarian
  • to_icelandic
  • to_indonesian
  • to_irish
  • to_italian
  • to_japanese
  • to_latvian
  • to_lithuanian
  • to_macedonian
  • to_malay
  • to_maltese
  • to_norwegian
  • to_persian
  • to_polish
  • to_portuguese
  • to_romanian
  • to_russian
  • to_serbian
  • to_slovak
  • to_slovenian
  • to_spanish
  • to_swahili
  • to_swedish
  • to_thai
  • to_turkish
  • to_ukrainian
  • to_vietnamese
  • to_welsh
  • to_yiddish

Documentation

API documentation can be found at rubydoc.info.

Roadmap

  • Add Unicode support for Ruby 1.8. to_lang currently works safely only under 1.9.

Feedback and Contributions

Feedback is greatly appreciated, as are patch contributions. Feel free to fork the project and send me a pull request.

Something went wrong with that request. Please try again.