gem 'translation_engine', git: 'https://github.com/blueberryapps/translation-engine.git'
Default configuration is that all part are turned off, so for enabling you need
to create file config/initializers/translation_engine.rb
with this content:
# config/initializers/translation_engine.rb
TranslationEngine.config do |config|
# key for user
config.api_key = 'API_KEY'
# url to Translation Server
config.api_host = 'http://127.0.0.1:3000'
# enable screenshot functionality (default is false)
config.use_screenshots = true
# enable to send translation after every request and receive translations
# when something changed (default is false)
config.use_catcher = true
# for production envs you don't want to send translations
# so if use_catcher is true you can disable sending them by this option:
config.disable_sending_translations = true
# Timeout for connecting to translation server
# config.timeout = 5
# Set time between asking translation server for new data, (default is 0)
config.cache_timeout = 60 # ask translation server every 60s for new data
# If true TranslationEngine will throw exceptions on connection problems
# If false TranslationEngine will just log exception to Rails.logger
config.raise_exceptions = Rails.env.development?
end
# list all possible releases
I18n.backend.releases
# list all possible release which has same locale as I18n.locale
I18n.backend.current_locale_releases
- I18n.backend.current_locale_releases.each do |release|
= link_to release.version.upcase,
{ translation_release: release.version },
class: ('active' if release.current?)
Require javascript by inserting app/assets/javascripts/application.js
//= require translation_engine/screenshots
or in views = javascript_include_tag 'translation_engine/screenshots'
(this javascript is already precompiled, so you don't need to do anything else)
Ensure that you have jquery + coffeescript (or similar gems which provides same function)
gem 'coffee-rails'
gem 'jquery-rails'
Require stylesheets by inserting app/assets/stylesheets/application.sass
:
@import 'translation_engine/screenshots'
or in views = stylesheet_link_tag 'translation_engine/screenshots'
(this stylesheet is already precompiled, so you don't need to do anything else)
Create element with class translation_engine_start
.
When you click on this element, Translation Engine will start screenshoting page
and then sends all images + highlights to server /transaltion_engine
which
will be catched by ScreenshotsMiddleware
and then send to TranslationServer.
or
Use callback window.TranslationEngine.start()
Create element with class translation_highlight_start
.
When you click on this element, Translation Engine will show keys instead of text to all translated text in page and it will add link to translation server.
or
Use callback window.TranslationEngine.highlight()
List all available releases from Translations Server
Download all master translations from Translations server and store them into config/locales/z_translation_engine.yml
Download released translations from Translations server and store them into config/locales/z_releases/(release_locale).yml, will overwrite previous locale release, leaving allways only one release.
Catcher is middleware in rails APP which catches all used translations in page and then it sends them into Translation Server.
Screenshots middleware takes highlights and images which sends into Translation Server.
gem build translation_engine.gemspec
gem push translation_engine-0.0.5.gem