
Security News
Follow-up and Clarification on Recent Malicious Ruby Gems Campaign
A clarification on our recent research investigating 60 malicious Ruby gems.
gettext_i18n_rails_js
Advanced tools
Extends gettext_i18n_rails, making your .PO files available to client side javascript as JSON. It will find translations inside your .js, .coffee, .handlebars and .mustache files, then it will create JSON versions of your .PO files so you can serve them with the rest of your assets, thus letting you access all your translations offline from client side javascript.
For a list of the tested and supported Ruby and Rails versions please take a look at the wokflow.
gem "gettext_i18n_rails_js", "~> 2.0"
This library aims to adhere to Semantic Versioning 2.0.0. Violations of this scheme should be reported as bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, a new version should be immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new major versions.
As a result of this policy, you can (and should) specify a dependency on this gem using the Pessimistic Version Constraint with two digits of precision.
For example:
spec.add_dependency "gettext_i18n_rails_js", "~> 2.0"
Set up you rails application with gettext support as usual, afterwards just execute the following rake task to export your translations to JSON:
rake gettext:po_to_json
Per default this will reconstruct the locale/<lang>/app.po
structure as
javascript files inside app/assets/javascripts/locale/<lang>/app.js
The gem provides the Jed library to use the
generated javascript files. It also provides a global __
function that
maps to Jed#gettext
. The Jed instance used by the client side __
function is pre-configured with the lang
attribute specified in your main
HTML tag. Before anything, make sure your page's HTML tag includes a valid
lang
attribute, for example:
%html{ manifest: "", lang: I18n.locale }
Once you're sure your page is configured with a locale, then you should add both your javascript locale files and the provided javascripts to your application.js
//= require_tree ./locale
//= require gettext/all
The default function name is window.__
, to avoid conflicts with
underscore.js. If you want to alias the function to something else in your
javascript you should also instruct the javascript and coffeescript parser to
look for a different function when finding your translations within the config
file config/gettext_i18n_rails_js.yml
, these are valid available options:
output_path: "app/assets/javascripts/locale"
handlebars_function: "__"
javascript_function: "__"
jed_options:
pretty: false
If you prefer an initializer file within your rails application you can use that in favor of the YML configuration as well:
GettextI18nRailsJs.config do |config|
config.output_path = "app/assets/javascripts/locale"
config.handlebars_function = "__"
config.javascript_function = "__"
config.jed_options = {
pretty: false
}
end
Fork -> Patch -> Spec -> Push -> Pull Request
MIT
Copyright (c) 2012-2015 Dropmysite.com <https://dropmyemail.com>
Copyright (c) 2015 Webhippie <http://www.webhippie.de>
FAQs
Unknown package
We found that gettext_i18n_rails_js demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A clarification on our recent research investigating 60 malicious Ruby gems.
Security News
ESLint now supports parallel linting with a new --concurrency flag, delivering major speed gains and closing a 10-year-old feature request.
Research
/Security News
A malicious Go module posing as an SSH brute forcer exfiltrates stolen credentials to a Telegram bot controlled by a Russian-speaking threat actor.