Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

rails-translations-webpack-plugin

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rails-translations-webpack-plugin

Shares Rails i18n translations with your javascripts without duplicating contents

  • 1.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

rails-translations-webpack-plugin

Shares Rails i18n translations with your javascripts without duplicating contents

Usage

  • Install it with npm install rails-translations-webpack-plugin --save-dev

  • To access the generated translations remember to install also json-loader with npm install json-loader --save-dev

  • Require it in your webpack.config.js:

    const RailsTranslationsPlugin = require("rails-translations-webpack-plugin");
    
  • Add it to your plugins block. See below for options documentation:

    plugins: [
      new RailsTranslationsPlugin({
        localesPath: path.resolve(__dirname, "../rails-app/config/locales"),
        root       : "src"
      })
    ]
    
  • Add JSON loader in your loaders block:

    module: {
      loaders: [
        {
          include : "src",
          test    : /\.json$/,
          loader  : 'json-loader'
        }
      ]
    }
    
  • Now you can require the translations from your code. E.g.

    // somewhere inside your javascripts
    const translations = require("translations.json");
    console.log(`English translation for hello.world key: ${translations["en"]["hello.world"]}`)
    

Options

The followings are the available options you can set for RailsTranslationsPlugin:

  • localesPath: Path where to look for yml files. Default: current dir
  • pattern: Pattern used to find yml files. Default: **/*.yml
  • name: Name of the generated json file. Default: translations
  • root: Root path of your javascripts. Default: current dir

So let's say you have the following file structure:

  • config/
    • locales/
      • en.yml
      • it.yml
    • client/
      • app/
        • index.js
      • webpack.config.js

Your webpack entry point is probably app/index.js. This can be the configuration for RailsTranslationsPlugin:

{
  root: path.resolve(__dirname, "app"),
  localesPath: path.resolve(__dirname, "../config/locales"),
  name: "my_translations"
  pattern: "*.yml"
}

Your client/app/index.js will then be able to require the translations with:

const translations = require("my_translations.json")

Keywords

FAQs

Package last updated on 24 Aug 2017

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc