Socket
Socket
Sign inDemoInstall

cute-localize

Package Overview
Dependencies
3
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    cute-localize

Simple and powerful i18n module for Node.js


Version published
Weekly downloads
5
increased by400%
Maintainers
1
Install size
103 kB
Created
Weekly downloads
 

Readme

Source

Simple and powerful i18n module for Node.js

To make the story simple:

Type the following in your terminal:

mkdir test && cd test
npm install cute-localize -g
npm install cute-localize --save
touch app.js
chmod +x app.js

Then open app.js with your favorite editor and paste the following code:

#!/usr/bin/env node

var translate = require("cute-localize")({
    locale: "ru" //Or whatever locale you wish
});

console.log(translate("Hello, "
    + "cute world!"));

console.log(translate("You rock!", "good"));
console.log(translate("You rock!", "bad"));

var translation = translate.noop("They are over $[1]!!!11", null, 9000);
console.log(translate(translation));

process.exit(0);

Now, in terminal again:

clupdate -l ru
tree

You should see something like this (if you have the tree utility):

.
├── app.js
└── translations
    └── ru.json

Good! Now go edit translations/ru.json file:

{
    "Hello, cute world!": {
        "_default": {
            "value": "Hello, cute world!"
        }
    },
    "You rock!": {
        "good": {
            "value": "You rock!"
        },
        "bad": {
            "value": "You rock!"
        }
    },
    "They are over $[1]!!!11": {
        "_default": {
            "value": "They are over $[1]!!!11"
        }
    }
}

For example:

{
    "Hello, cute world!": {
        "_default": {
            "value": "Привет, милый мир!"
        }
    },
    "You rock!": {
        "good": {
            "value": "Ну ты жжешь!"
        },
        "bad": {
            "value": "Эй, ты, булыжник!"
        }
    },
    "They are over $[1]!!!11": {
        "_default": {
            "value": "Их более $[1]!!!11"
        }
    }
}

Sorry for Russian, I forgot French which I learned at school. :)

OK, now run:

./app.js

And you will see:

Привет, милый мир!
Ну ты жжешь!
Эй, ты, булыжник!
Их более 9000!!!11

That's the magic!

Complete API

var translate = require("cute-localize")({ //[optional] Configuration options
    extraLocations: ["location", ...], //[optional] List of additional locations to search translations in.
    //The default is "translations" relative to process.cwd().
    //Extra locations have higher priority than the default one.
    noDefault: true|false, //[optional] Exclude default location
    locale: "name" //[optional] Specify the locale. The default locale is "en"
});
var str = translate("sourceText", "disambiguation" /*[Optional]*/, [arg, ...] /*[Optional]*/);

//or

var str = translate("sourceText", "disambiguation" /*[Optional]*/, arg1, arg2, ...);

//or

var str = translate(translationObject); //See below
var obj = translate.noop("sourceText", "disambiguation" /*[Optional]*/, [arg, ...] /*[Optional]*/);

//or

var obj = translate.noop("sourceText", "disambiguation" /*[Optional]*/, arg1, arg2, ...);

//obj is a translation object. It may be passed to translate

/*
{
    sourceText: "sourceText".
    disambiguation: "disambiguation",
    args: [arg1, arg2, ...]
}
*/

clupdate tool options

-a, --aliases <list>            A list of 'translate' function aliases ('translate' and 'translate.noop' by default)
-e, --extensions <list>         A list of file extensions to parse ('js' by default)
-l, --locales <list>            A list of locales to generate translations for (must specify at least one)
-d, --default-string <value>    Dummy value for translations. Defaults to translation itself
-T, --no-parse-translate        Do not parse default 'translate' function
-N, --no-parse-noop             Do not parse default 'translate.noop' function
-G, --no-use-gitignore          Do not use 'git check-ignore' to exclude files/directories
-X, --excluded-patterns <list>  Exclude files/directories whose paths contain the patterns specified
-v, --verbose                   Print error messages

doT.js example

var translate = require("cute-localize");
var dot = require("dot");
var template = dot.template(someTemplateData);
var model = {
    translate: translate
};
console.log(template(model));

In the template:

<title>{{ out += it.translate("That's cute!"); }}</title>

Keywords

FAQs

Last updated on 24 Sep 2016

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc