Commit 851f942
Changed files (5)
config/i18n-tasks.yml
@@ -0,0 +1,89 @@
+# i18n-tasks finds and manages missing and unused translations https://github.com/glebm/i18n-tasks
+
+base_locale: en
+## i18n-tasks detects locales automatically from the existing locale files
+## uncomment to set locales explicitly
+# locales: [en, es, fr]
+
+## i18n-tasks report locale, default: en, available: en, ru
+# internal_locale: ru
+
+# Read and write locale data
+data:
+ ## by default, translation data are read from the file system, or you can provide a custom data adapter
+ # adapter: I18n::Tasks::Data::FileSystem
+
+ # Locale files to read from
+ read:
+ - config/locales/%{locale}.yml
+ # - config/locales/*.%{locale}.yml
+ # - config/locales/**/*.%{locale}.yml
+
+ # key => file routes, matched top to bottom
+ write:
+ ## E.g., write devise and simple form keys to their respective files
+ # - ['{devise, simple_form}.*', 'config/locales/\1.%{locale}.yml']
+ # Catch-all
+ - config/locales/%{locale}.yml
+ # `i18n-tasks normalize -p` will force move the keys according to these rules
+
+ # YAML / JSON serializer options, passed to load / dump / parse / serialize
+ yaml:
+ write:
+ # do not wrap lines at 80 characters
+ line_width: -1
+ json:
+ write:
+ # pretty print JSON
+ indent: ' '
+ space: ' '
+ object_nl: "\n"
+ array_nl: "\n"
+
+# Find translate calls
+search:
+ ## Default scanner finds t() and I18n.t() calls
+ # scanner: I18n::Tasks::Scanners::PatternWithScopeScanner
+
+ ## Paths to search in, passed to File.find
+ paths:
+ - app/
+
+ ## Root for resolving relative keys (default)
+ # relative_roots:
+ # - app/views
+
+ ## File.fnmatch patterns to exclude from search (default)
+ # exclude: ["*.jpg", "*.png", "*.gif", "*.svg", "*.ico", "*.eot", "*.ttf", "*.woff", "*.pdf"]
+
+ ## Or, File.fnmatch patterns to include
+ # include: ["*.rb", "*.html.slim"]
+
+## Google Translate
+# translation:
+# # Get an API key and set billing info at https://code.google.com/apis/console to use Google Translate
+# api_key: "AbC-dEf5"
+
+## Consider these keys not missing
+# ignore_missing:
+# - 'errors.messages.{accepted,blank,invalid,too_short,too_long}'
+# - '{devise,simple_form}.*'
+
+## Consider these keys used
+# ignore_unused:
+# - 'activerecord.attributes.*'
+# - '{devise,kaminari,will_paginate}.*'
+# - 'simple_form.{yes,no}'
+# - 'simple_form.{placeholders,hints,labels}.*'
+# - 'simple_form.{error_notification,required}.:'
+
+## Exclude these keys from `i18n-tasks eq-base' report
+# ignore_eq_base:
+# all:
+# - common.ok
+# fr,es:
+# - common.brand
+
+## Exclude these keys from all of the reports
+# ignore:
+# - kaminari.*
spec/i18n_spec.rb
@@ -0,0 +1,18 @@
+require 'spec_helper'
+require 'i18n/tasks'
+
+describe 'I18n' do
+ let(:i18n) { I18n::Tasks::BaseTask.new }
+ let(:missing_keys) { i18n.missing_keys }
+ let(:unused_keys) { i18n.unused_keys }
+
+ it 'does not have missing keys' do
+ expect(missing_keys).to be_empty,
+ "Missing #{missing_keys.leaves.count} i18n keys, run `i18n-tasks missing' to show them"
+ end
+
+ it 'does not have unused keys' do
+ expect(i18n.unused_keys).to be_empty,
+ "#{unused_keys.leaves.count} unused i18n keys, run `i18n-tasks unused' to show them"
+ end
+end
.gitignore
@@ -16,3 +16,4 @@
/tmp
vendor/bundle
database.yml
+.env
Gemfile
@@ -37,6 +37,7 @@ gem 'pg'
gem 'ember-rails', github: 'emberjs/ember-rails'
gem 'ember-source'
gem 'dotenv'
+gem 'i18n-tasks'
# Use unicorn as the app server
# gem 'unicorn'
Gemfile.lock
@@ -71,6 +71,10 @@ GEM
dotenv (0.11.1)
dotenv-deployment (~> 0.0.2)
dotenv-deployment (0.0.2)
+ easy_translate (0.5.0)
+ json
+ thread
+ thread_safe
ember-data-source (1.0.0.beta.11)
ember-source
ember-source (1.8.1)
@@ -87,8 +91,18 @@ GEM
dotenv (~> 0.11.1)
thor (~> 0.19.1)
handlebars-source (1.3.0)
+ highline (1.6.21)
hike (1.2.3)
i18n (0.6.11)
+ i18n-tasks (0.7.8)
+ activesupport
+ easy_translate (>= 0.5.0)
+ erubis
+ highline
+ i18n
+ slop (>= 3.5.0)
+ term-ansicolor
+ terminal-table
jbuilder (2.2.4)
activesupport (>= 3.0.0, < 5)
multi_json (~> 1.2)
@@ -167,9 +181,14 @@ GEM
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0)
+ term-ansicolor (1.3.0)
+ tins (~> 1.0)
+ terminal-table (1.4.5)
thor (0.19.1)
+ thread (0.1.4)
thread_safe (0.3.4)
tilt (1.4.1)
+ tins (1.3.3)
turbolinks (2.5.1)
coffee-rails
tzinfo (1.2.2)
@@ -193,6 +212,7 @@ DEPENDENCIES
factory_girl_rails
ffaker
foreman
+ i18n-tasks
jbuilder
jquery-rails
pg