mongoose-i18n-localize
mongoose-i18n-localize is a mongoose plugin to support i18n and localization in your mongoose schemas.
It seems like mongoose-i18n is not longer supported and I didn't get it to work on my machine, so I decided to write my own version.
Usage
npm install mongoose-i18n-localize
Create your schema:
var mongoose = ;var mongooseI18n = ; var schema = name: type: String i18n: true ; schema; var Model = mongoose;
This will create a structure like:
name: en: String de: String
All validators of name
get also assigned to name.en
and name.de
.
mongoose-i18n-localize adds the methods toObjectLocalized(resource, locale)
and toJSONLocalized(resource, locale)
to the i18n schema methods. To set the locale of a resource to en
, just do:
Model; //or Model;
localizedResources
has now the following structure:
name: en: 'hello' de: 'hallo' localized: 'hello'
Use toObjectLocalized
or toJSONLocalized
according to toObject
or toJSON
.
If you only want to show only one locale message use the methods
toObjectLocalizedOnly(resource, locale, localeDefault)
or
toJSONLocalizedOnly(resource, locale, localeDefault)
.
Tests
To run the tests you need a local MongoDB instance available. Run with:
npm test
Issues
Please use the GitHub issue tracker to raise any problems or feature requests.
If you would like to submit a pull request with any changes you make, please feel free!