Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Globalization (g11n) is a Ruby Gem for easy language file handling aimed at internationalized projects.
The developers of g11n are well aware of the existence of both i18n and r18n Ruby Gems, but wanted a new approach (specially in terms of simplicity) and this is the answer.
G11n assumes you will have a series of language files written in YAML in an accessible folder to your project, named after each language's locale and followed by the YAML extension. Both .yaml
and .yml
extensions are recognized.
The default path for that folder is translations/
. So, for example, if you have a file named translations/it.yaml
that reads as...
# ./translations/it.yaml
home:
title: La pasta della nonna
menu:
preparation: Comme farla
eating: Comme si mangia
wine: Con che si accompagna
... you can, in your project, insert the following code and get the internationalized strings:
# .script.rb
require "g11n"
G11n.locale :it # Configures G11n to use italian. Default is "en"
G11n.locale # => :it
G11n.t.home.title # => "La pasta della nonna"
G11n.t.home.menu.wine # => "Con che si accompagna"
gem install g11n
Add this line to your application's Gemfile:
gem 'g11n'
And then execute:
bundle install
Configuration is straight forward. You are using another directory for your language files? Just G11n.path "your/path"
. You want to change the locale? G11n.locale :yours
.
For example, a translations file in a non-standard folder:
# ./i18ns/ru.yml
home:
land: Российская Федерация
And a script in the base folder:
# ./script.rb
require "g11n"
G11n.path "i18ns"
G11n.locale :ru
G11n.t.home.land # => "Российская Федерация"
Also, the G11n::DSL
module can be included in any object of class you want to use the #t
method more confortably.
The G11n DSL (the #t
and #translate
methods) are available as a module unimaginatively called G11n::DSL
. You can of course include it into your helpers as easy as:
# .app.rb
require 'sinatra'
require 'g11n'
helpers G11n::DSL
G11n.locale :es
get '/' do
t.welcome # => "¡Bienvenido, amigo!"
# as described in es.yaml
end
# .translations/es.yaml
welcome: ¡Bienvenido, amigo!
It works in modular style too.
Cucumber features and RSpec specs are provided to check functionality.
Copyright (C) 2012 Fetcher
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
FAQs
Unknown package
We found that g11n demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.