Skip to content

A nodejs module to convert mongoose model property to set of localized properties.

License

Notifications You must be signed in to change notification settings

dsame/mongoose-localize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mongoose-localize

A nodejs module to convert mongoose model property to set of localized properties.

As soon as mongoose_localize has been required with CommonJS ...

var
	mongoose = require('mongoose'),
	localize = require('mongoose-localize');

or imported and initialized with ES6 syntax

import mongoose from 'mongoose';
import mongoose_localize from 'mongoose-localize';
mongoose_localize.localize(mongoose,[currentLocale[,locales]]);

or with another (better) ES6 syntax

import mongoose from 'mongoose';
import {localize as mongoose_localize} from 'mongoose-localize';
mongoose_localize(mongoose,'ru',['en','ru']);

...every attribute of mongoose Scheme containing "localize" attribute set to true...

approverSchema = new mongoose.Schema({
	name: {
		type:String,
		localize: true
	}
});

...will be treated as if it would be

approverSchema = new mongoose.Schema({
	name: {
		locale1: {type:String},
		locale2: {type:String},
    ...
    localeN: {type:String},
	}
});
approverSchema.virtual('name._').get(function () {
// return name in the current locale
  ...
}).set(function (v) {
// set name of the current locale to v
  ...
})
;

While the module must be required and setLocales must be called before the first Schema added the current locale may be set and changed in any moment.

mongoose_localize.setCurrenLocale('locale2');

Locales and current locales may be retrieved with

mongoose_localize.locales();
mongoose_localize.currentLocale();

About

A nodejs module to convert mongoose model property to set of localized properties.

Resources

License

Stars

Watchers

Forks

Packages

No packages published