anylang
Version:
A translator's kit that uses the free APIs of Google Translate, Yandex, Bing, ChatGPT, and other LLMs
40 lines (38 loc) • 4.08 kB
JavaScript
import languages from './ISO639LangCodesList';
/**
* Check is string are 639-1 lang code
*
* Values are case sensitive, if you need, you have to convert strings to lower case to check
*/
export const isLanguageCodeISO639v1 = (code) => {
return Boolean(code && languages.some((lang) => code === lang.v1));
};
/**
* Check is string are 639-2 lang code
*
* Values are case sensitive, if you need, you have to convert strings to lower case to check
*/
export const isLanguageCodeISO639v2 = (code) => {
return Boolean(code &&
languages.some((lang) => code === lang.v2 || code === lang.v2B || code === lang.v2T));
};
/**
* Return subset of ISO-639 lang codes
*/
export const getLanguageCodesISO639 = (set) => {
const pickedLanguages = [];
for (const lang of languages) {
switch (set) {
case 'v1':
if (lang.v1) {
pickedLanguages.push(lang.v1);
}
break;
case 'v2':
pickedLanguages.push(lang.v2);
break;
}
}
return pickedLanguages;
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxhbmd1YWdlcy9jb2Rlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUU5Qzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtJQUN0RCxPQUFPLE9BQU8sQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BFLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO0lBQ3RELE9BQU8sT0FBTyxDQUNiLElBQUk7UUFDSCxTQUFTLENBQUMsSUFBSSxDQUNiLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FDcEUsQ0FDRixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEdBQWdCLEVBQUUsRUFBRTtJQUMxRCxNQUFNLGVBQWUsR0FBYSxFQUFFLENBQUM7SUFDckMsS0FBSyxNQUFNLElBQUksSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUM5QixRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ2IsS0FBSyxJQUFJO2dCQUNSLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUNiLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQixDQUFDO2dCQUNELE1BQU07WUFDUCxLQUFLLElBQUk7Z0JBQ1IsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzlCLE1BQU07UUFDUixDQUFDO0lBQ0YsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDO0FBQ3hCLENBQUMsQ0FBQyIsImZpbGUiOiJsYW5ndWFnZXMvY29kZXMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbGFuZ3VhZ2VzIGZyb20gJy4vSVNPNjM5TGFuZ0NvZGVzTGlzdCc7XG5cbi8qKlxuICogQ2hlY2sgaXMgc3RyaW5nIGFyZSA2MzktMSBsYW5nIGNvZGVcbiAqXG4gKiBWYWx1ZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlLCBpZiB5b3UgbmVlZCwgeW91IGhhdmUgdG8gY29udmVydCBzdHJpbmdzIHRvIGxvd2VyIGNhc2UgdG8gY2hlY2tcbiAqL1xuZXhwb3J0IGNvbnN0IGlzTGFuZ3VhZ2VDb2RlSVNPNjM5djEgPSAoY29kZTogc3RyaW5nKSA9PiB7XG5cdHJldHVybiBCb29sZWFuKGNvZGUgJiYgbGFuZ3VhZ2VzLnNvbWUoKGxhbmcpID0+IGNvZGUgPT09IGxhbmcudjEpKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaXMgc3RyaW5nIGFyZSA2MzktMiBsYW5nIGNvZGVcbiAqXG4gKiBWYWx1ZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlLCBpZiB5b3UgbmVlZCwgeW91IGhhdmUgdG8gY29udmVydCBzdHJpbmdzIHRvIGxvd2VyIGNhc2UgdG8gY2hlY2tcbiAqL1xuZXhwb3J0IGNvbnN0IGlzTGFuZ3VhZ2VDb2RlSVNPNjM5djIgPSAoY29kZTogc3RyaW5nKSA9PiB7XG5cdHJldHVybiBCb29sZWFuKFxuXHRcdGNvZGUgJiZcblx0XHRcdGxhbmd1YWdlcy5zb21lKFxuXHRcdFx0XHQobGFuZykgPT4gY29kZSA9PT0gbGFuZy52MiB8fCBjb2RlID09PSBsYW5nLnYyQiB8fCBjb2RlID09PSBsYW5nLnYyVCxcblx0XHRcdCksXG5cdCk7XG59O1xuXG4vKipcbiAqIFJldHVybiBzdWJzZXQgb2YgSVNPLTYzOSBsYW5nIGNvZGVzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRMYW5ndWFnZUNvZGVzSVNPNjM5ID0gKHNldDogJ3YxJyB8ICd2MicpID0+IHtcblx0Y29uc3QgcGlja2VkTGFuZ3VhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuXHRmb3IgKGNvbnN0IGxhbmcgb2YgbGFuZ3VhZ2VzKSB7XG5cdFx0c3dpdGNoIChzZXQpIHtcblx0XHRcdGNhc2UgJ3YxJzpcblx0XHRcdFx0aWYgKGxhbmcudjEpIHtcblx0XHRcdFx0XHRwaWNrZWRMYW5ndWFnZXMucHVzaChsYW5nLnYxKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgJ3YyJzpcblx0XHRcdFx0cGlja2VkTGFuZ3VhZ2VzLnB1c2gobGFuZy52Mik7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBwaWNrZWRMYW5ndWFnZXM7XG59O1xuIl19