<commit_before>/**
 * Строковые константы интернационализации
 *
 * @module metadata
 * @submodule i18n
 */

class I18Handler {
	get(target, name, receiver) {
		switch (name){
			case 'lang':
				return target._lang;
			case 'show_msg':
				return target._show_msg || function () {

				};
			default:
				return target.i18n[target._lang][name];
		}
	}

	set (target, name, val, receiver) {
		switch (name){
			case 'lang':
				target._lang = val;
				break;
			case 'show_msg':
        target._show_msg = val;
        break;
			default:
				target.i18n[target._lang][name] = val;
		}
		return true;
	}
}

class I18n {
	constructor(syn) {
		this._lang = Object.keys(syn)[0];
		if(typeof Proxy == 'function'){
      this.i18n = syn;
      return new Proxy(this, new I18Handler());
    };
    return syn[this._lang];
	}
}

/**
 * Возвращает текст строковой константы с учетом текущего языка
 *
 * @param id {String}
 * @return {String|Object}
 */
const msg = new I18n({
	ru: {

		// публичные методы, экспортируемые, как свойства $p.msg
		store_url_od: 'https://chrome.google.com/webstore/detail/hcncallbdlondnoadgjomnhifopfaage',

		argument_is_not_ref: 'Аргумент не является ссылкой',
		addr_title: 'Ввод адреса',

		cache_update_title: 'Обновление кеша браузера',
		cache_update: 'Выполняется загрузка измененных файлов<br/>и их кеширование в хранилище браузера',
		cancel: 'Отмена',

		delivery_area_empty: 'Укажите район доставки',

		empty_response: 'Пустой ответ сервера',
		empty_geocoding: 'Пустой ответ геокодера. Вероятно, отслеживание адреса запрещено в настройках браузера',
		error_geocoding: 'Ошибка геокодера',

		error_critical: 'Критическая ошибка',
		error_metadata: 'Ошибка загрузки метаданных конфигурации',
		error_network: 'Ошибка сети или сервера - запрос отклонен',
		error_rights: 'Ограничение доступа',
		error_low_acl: 'Недостаточно прав для выполнения операции',

		file_size: 'Запрещена загрузка файлов<br/>размером более ',
		file_confirm_delete: 'Подтвердите удаление файла ',
		file_new_date: 'Файлы на сервере обновлены<br /> Рекомендуется закрыть браузер и войти<br />повторно для применения обновления',
		file_new_date_title: 'Версия файлов',

		init_catalogues: 'Загрузка справочников с сервера',
		init_catalogues_meta: ': Метаданные объектов',
		init_catalogues_tables: ': Реструктуризация таблиц',
		init_catalogues_nom: ': Базовые типы + номенклатура',
		init_catalogues_sys: ': Технологические справочники',
		init_login: 'Укажите имя пользователя и пароль',
<commit_msg>Добавил универсальное сообщение об ошибке в данных<commit_after>/**
 * Строковые константы интернационализации
 *
 * @module metadata
 * @submodule i18n
 */

class I18Handler {
	get(target, name, receiver) {
		switch (name){
			case 'lang':
				return target._lang;
			case 'show_msg':
				return target._show_msg || function () {

				};
			default:
				return target.i18n[target._lang][name];
		}
	}

	set (target, name, val, receiver) {
		switch (name){
			case 'lang':
				target._lang = val;
				break;
			case 'show_msg':
        target._show_msg = val;
        break;
			default:
				target.i18n[target._lang][name] = val;
		}
		return true;
	}
}

class I18n {
	constructor(syn) {
		this._lang = Object.keys(syn)[0];
		if(typeof Proxy == 'function'){
      this.i18n = syn;
      return new Proxy(this, new I18Handler());
    };
    return syn[this._lang];
	}
}

/**
 * Возвращает текст строковой константы с учетом текущего языка
 *
 * @param id {String}
 * @return {String|Object}
 */
const msg = new I18n({
	ru: {

		// публичные методы, экспортируемые, как свойства $p.msg
		store_url_od: 'https://chrome.google.com/webstore/detail/hcncallbdlondnoadgjomnhifopfaage',

		argument_is_not_ref: 'Аргумент не является ссылкой',
		addr_title: 'Ввод адреса',

		cache_update_title: 'Обновление кеша браузера',
		cache_update: 'Выполняется загрузка измененных файлов<br/>и их кеширование в хранилище браузера',
		cancel: 'Отмена',

		delivery_area_empty: 'Укажите район доставки',
    data_error: 'Ошибка в данных',

		empty_response: 'Пустой ответ сервера',
		empty_geocoding: 'Пустой ответ геокодера. Вероятно, отслеживание адреса запрещено в настройках браузера',
		error_geocoding: 'Ошибка геокодера',

		error_critical: 'Критическая ошибка',
		error_metadata: 'Ошибка загрузки метаданных конфигурации',
		error_network: 'Ошибка сети или сервера - запрос отклонен',
		error_rights: 'Ограничение доступа',
		error_low_acl: 'Недостаточно прав для выполнения операции',

		file_size: 'Запрещена загрузка файлов<br/>размером более ',
		file_confirm_delete: 'Подтвердите удаление файла ',
		file_new_date: 'Файлы на сервере обновлены<br /> Рекомендуется закрыть браузер и войти<br />повторно для применения обновления',
		file_new_date_title: 'Версия файлов',

		init_catalogues: 'Загрузка справочников с сервера',
		init_catalogues_meta: ': Метаданные объектов',
		init_catalogues_tables: ': Реструктуризация таблиц',
		init_catalogues_nom: ': Базовые типы + номенклатура',
		init_catalogues_sys: ': Технологические справочники',
		init_login: 'Укажите имя пользователя и пароль',

{'fraction_non_alphanumeric': 0.10910518053375197, 'fraction_numerical': 0.0066718995290423865, 'mean_word_length': 4.359621451104101, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7233115', 'n_tokens_mistral': 2197, 'n_tokens_neox': 2239, 'n_words': 434}