@singleton-i18n/angular-client
Version:
Singleton client code for Angular 10.
25 lines • 2.79 kB
JavaScript
/*
* Copyright 2019-2021 VMware, Inc.
* SPDX-License-Identifier: EPL-2.0
*/
import { PLURALFUNCS } from './plurals.func';
export class Plural {
constructor() { }
resolveLocale(locale) {
do {
if (PLURALFUNCS[locale]) {
return locale;
}
else if (PLURALFUNCS[locale.toLocaleLowerCase()]) {
return locale.toLocaleLowerCase();
}
locale = locale.replace(/(-|_)?[^-_]*$/, '');
} while (locale);
return null;
}
getFunc(locale) {
this._locale = this.resolveLocale(locale);
return PLURALFUNCS[this._locale];
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1cmFsLmZvcm1hdHRlci5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ybGlnZW5nL1Byb2plY3RzL0Rldm9wcy9DbGllbnRfQW5ndWxhcl9HaXRIdWJfTnBtanMvdmlwL2NpL3B1YjJvcmcvQ2xpZW50X0FuZ3VsYXJfR2l0SHViX05wbWpzL3NpbmdsZXRvbi9wcm9qZWN0cy9hbmd1bGFyLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy9mb3JtYXR0ZXJzL3BsdXJhbC9wbHVyYWwuZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxNQUFNLE9BQU8sTUFBTTtJQUVmLGdCQUFnQixDQUFDO0lBQ1QsYUFBYSxDQUFDLE1BQWM7UUFDaEMsR0FBRztZQUNDLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNyQixPQUFPLE1BQU0sQ0FBQzthQUNqQjtpQkFBTSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFO2dCQUNoRCxPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2hELFFBQVEsTUFBTSxFQUFFO1FBQ2pCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLENBQUMsTUFBYztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxOS0yMDIxIFZNd2FyZSwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuaW1wb3J0IHsgUExVUkFMRlVOQ1MgfSBmcm9tICcuL3BsdXJhbHMuZnVuYyc7XG5leHBvcnQgY2xhc3MgUGx1cmFsIHtcbiAgICBwcml2YXRlIF9sb2NhbGU6IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuICAgIHByaXZhdGUgcmVzb2x2ZUxvY2FsZShsb2NhbGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIGlmIChQTFVSQUxGVU5DU1tsb2NhbGVdKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxvY2FsZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoUExVUkFMRlVOQ1NbbG9jYWxlLnRvTG9jYWxlTG93ZXJDYXNlKCldKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxvY2FsZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbG9jYWxlID0gbG9jYWxlLnJlcGxhY2UoLygtfF8pP1teLV9dKiQvLCAnJyk7XG4gICAgICAgIH0gd2hpbGUgKGxvY2FsZSk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBnZXRGdW5jKGxvY2FsZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2xvY2FsZSA9IHRoaXMucmVzb2x2ZUxvY2FsZShsb2NhbGUpO1xuICAgICAgICByZXR1cm4gUExVUkFMRlVOQ1NbdGhpcy5fbG9jYWxlXTtcbiAgICB9XG59XG4iXX0=