0.1.2 • Published 8 years ago

internationalization v0.1.2

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

internationalization

NPM Version Build Status

setup

i18n = require('internationalization');

app.use(i18n.middleware({
    directory: path.join(__dirname, 'locales'),
    fallback: "en",
    cookie: "lang" // default is "lang"
}));

directory layout

files under then same directory will be merged(file name does not matter)

locales
├── en
│   ├── foo.ini
│   └── bar.ini
└── zh
    └── index.ini

usage

span= _("Hello {username}", {username: username})
span= _("Hello {1}", username)
input(placeholder=_("Password") type="password")
Hello {username} = Guten Tag {username}
Hello {1} = Guten Tag {1}
Password = Passwort

namespace

span= _("profile:Hello {username}", {username: username})
[profile]
Hello {username} = Guten Tag {username}

client side

app.use(i18n.javascript({
    directory: path.join(__dirname, 'locales'),
}));

include in html

<script src="/i18n.js"></script>
<script>
console.log(i18n.resource);
console.log(i18n.lang);
</script>

more options:

  • cookie default lang
  • path default /i18n.js
  • exportAs default i18n

angularjs intergartion

app.use(i18n.angular({
    directory: path.join(__dirname, 'locales'),
    module: 'i18n',
    service: 'i18n',
    filter: 'translate'
}));

include in html

<script src="/path/to/angularjs.js"></script>
<script src="/i18n.js"></script>

using filter

<p>{{'delete warning'| translate:resource.name}}</p>
<button>{{'action:delete' | translate}}</button>

using service

app.directive("", function(i18n)->
    return {
        link: function(){
            console.log(i18n.translate("resource key", {name: "foo"}));
        }
    };

generate/update language files(TBD)

directory: 'locales'
views: 'views/**.jade'

grunt i18n will scan the view direcotry for _() and __()

$ grunt i18n de
0.1.2

8 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago