Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
app
 
 
bin
 
 
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Code Climate Test Coverage Build Status

AwesomeTranslations

Install

gem 'awesome_translations'
gem 'sqlite3', group: :development

AT uses SQLite3 for creating a database containing a farily large cache.

Then run the following:

bundle exec rake awesome_translations:install

Insert this into your "routes.rb" file:

mount AwesomeTranslations::Engine => "/awesome_translations" if Rails.env.development?

Translations under controllers and models

If you want to do translations from your models or controllers, you will need to add this to a new initializer file under "config/initializers/awesome_translations.rb"

AwesomeTranslations.load_object_extensions

If you don't like monkey patching the Object-class, you can also include it into ApplicationRecord' by inserting something like this to allow t-method-calls from inside models:

class ApplicationRecord < ActiveRecord::Base
  include AwesomeTranslations::TranslateFunctionality
end

You will also need to modify the line in your Gemfile a bit:

gem 'awesome_translations'

Helper translations

The t-method translates like from inside a view in Rails. To get around this, you can call 'helper_t' instead. Start by including that method in your helpers by adding this to ApplicationHelper:

module ApplicationHelper
  include AwesomeTranslations::ViewsHelper
end

Controller translations without action in key

Start by including this in your ApplicationController:

class ApplicationController
  include AwesomeTranslations::ControllerTranslateFunctionality

Then you can use the controller_t-method like this:

class UsersController < ApplicationController
  def create
    flash[:notice] = controller_t('.user_was_saved')
  end
end

This is an example of how it works and what the difference is:

module ApplicationHelper
  include AwesomeTranslations::ApplicationHelper

  # Sample method with translation
  def hello_world
    t('.hello_world') #=> translates with key '#{controller_name}.#{action_name}.hello_world'
    return helper_t('.hello_world') #=> translates with key 'helpers.application_helper.hello_world'
  end
end

Translating your application

Start a Rails server for your project and go to the namespace called something like "http://localhost:3000/awesome_translations". Start translating your app through the webinterface.

License

This project rocks and uses MIT-LICENSE.

About

Semi-automatic maintenance of most translations in a Rails app.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •