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.
npm install mongoose-i18n-localize
Create your schema:
var mongoose = ;var mongooseI18n = ;var schema =name:type: Stringi18n: true;schema;var Model = mongoose;
This will create a structure like:
name:en: Stringde: String
All validators of
name get also assigned to
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:
localizedResources has now the following structure:
name:en: 'hello'de: 'hallo'localized: 'hello'
toJSONLocalized according to
If you only want to show only one locale message use the methods
toObjectLocalizedOnly(resource, locale, localeDefault) or
toJSONLocalizedOnly(resource, locale, localeDefault).
To run the tests you need a local MongoDB instance available. Run with:
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!