DefinitelyTyped/types/node-polyglot/node-polyglot-tests.ts
Oliver Vinn a8df113142
Polyglot check locale returns values
Locale shall return a value in all cases.
2019-01-22 10:32:24 +00:00

71 lines
1.5 KiB
TypeScript

import Polyglot = require("node-polyglot");
function instantiatePolyglot(): void {
var polyglot = new Polyglot();
var phrasedPolyglot = new Polyglot({phrases: {"hello": "Hello"}});
var localePolyglot = new Polyglot({locale: "fr"});
var allowMissingPolyglot = new Polyglot({
phrases: {"hello": "Hello"},
allowMissing: true
});
var onMissingKeySimplePolyglot = new Polyglot({
phrases: {"hello": "Hello"},
onMissingKey: (key: string): string => {
return 'ouups!';
}
});
var onMissingKeyComplexPolyglot = new Polyglot({
phrases: {"hello": "Hello"},
onMissingKey: (key: string, options: Polyglot.InterpolationOptions, locale: string): string => {
return 'ouups!';
}
});
}
function translate(): void {
var polyglot = new Polyglot();
polyglot.extend({
"hello": "Hello",
"hello_name": "Hola, %{name}.",
"nav": {
"sidebar": {
"welcome": "Welcome"
}
},
"num_cars": "%{smart_count} car |||| %{smart_count} cars"
});
polyglot.t("hello");
polyglot.t("hello_name");
polyglot.t("nav.sidebar.welcome");
polyglot.t("num_cars", {smart_count: 0});
polyglot.t("num_cars", 0);
polyglot.t("hello_name", {name: "Spike"});
polyglot.t("i_like_to_write_in_language", {
_: "I like to write in %{language}.",
language: "Javascript"
});
polyglot.has("hello");
polyglot.has("world");
polyglot.replace({
"hello": "hey",
"nav": {
"sidebar": {
"welcome": "Greetings"
}
}
});
polyglot.clear();
if (polyglot.locale("fr")) {
};
if (polyglot.locale()) {
};
}