Skip to content

A i18n tool to translate your Ruby desktop application

License

Notifications You must be signed in to change notification settings

r18n/r18n-desktop

Repository files navigation

R18n Desktop

Cirrus CI - Base Branch Build Status Codecov branch Code Climate Depfu License Gem

A tool to translate your desktop application to several languages.

It is just a wrapper for R18n core library. See R18n documentation for more information.

Features

  • Nice Ruby-style syntax.
  • Filters.
  • Model Translation (or any Ruby object).
  • Auto-detect user locales.
  • Flexible locales.
  • Total flexibility.

See full features in main README.

How To

  1. Create translations dir. For example: ./i18n/.

  2. Add file with translation to ./i18n/ with language code in file name (for example, en.yml for English or en-us.yml USA English dialect). For example, ./i18n/en.yml:

    file:
     add: Add file
     delete: Delete file %1
    
    files: !!pl
     0: No files
     1: One file
     n: '%1 files'
  3. Add R18n to your application:

    require 'r18n-desktop'
  4. Load I18n object:

    R18n.from_env('i18n/')

User can set the locale manually:

 ```ruby
R18n.from_env('i18n/', manual_locale)
 ```
  1. Include mixin to use helpers:

    include R18n::Helpers
  2. Use translation messages to user. For example:

    t.file.add            #=> "Add file"
    t.file.delete('Test') #=> "Delete file Test"
    t.files(1)            #=> "One file"
    t.files(12)           #=> "12 files"
    
    l -12000.5          #=> "−12,000.5"
    l Time.now          #=> "2009-08-09 21:41"
    l Time.now, :human  #=> "now"
    l Time.now, :full   #=> "August 9th, 2009 21:41"
    
    # Base translation
    t.ok     #=> "OK"
    t.cancel #=> "Cancel"
  3. You can print user locale or available locales:

    "Your locale: " + r18n.locale.title
    "Select another: " + r18n.available_locales.map { |i| i.title }.join(', ')

License

R18n is licensed under the GNU Lesser General Public License version 3. You can read it in LICENSE file or in www.gnu.org/licenses/lgpl-3.0.html.

Author

Andrey “A.I.” Sitnik [email protected]