import type { LocaleConfig } from '../types';

export const ru: LocaleConfig = {
  locale: 'ru',
  name: 'Russian',
  scripts: ['cyrl'],
  countries: ['RU', 'BY', 'KZ', 'KG'],
  phoneContextKeywords: [
    'телефон',
    'мобильный',
    'номер',
    'тел.',
    'тел',
    'моб.',
    'моб',
    'т.',
  ],
  cvcContextKeywords: ['код безопасности', 'cvc', 'cvv', 'cv2'],
  address: {
    forms: ['inverted', 'standard', 'po-box'],
    postcodeForm: 'continental',
    postcodeRegex: '\\d{6}',
    streetKeywordsInverted: [
      'улица',
      'ул.',
      'проспект',
      'пр.',
      'пр-т',
      'переулок',
      'пер.',
      'площадь',
      'пл.',
      'шоссе',
      'ш.',
      'бульвар',
      'б-р',
      'набережная',
      'наб.',
    ],
    streetKeywordsStandard: [
      'улица',
      'ул.',
      'проспект',
      'пр.',
      'переулок',
      'пер.',
      'площадь',
      'пл.',
    ],
    houseNumberMarkers: ['д.', 'дом', '№'],
    poBoxKeywords: ['а/я', 'абонентский ящик'],
    floorKeywords: ['кв.', 'квартира', 'этаж', 'эт.', 'к.', 'корпус'],
    countryNames: [
      'Россия',
      'Russia',
      'Беларусь',
      'Belarus',
      'Казахстан',
      'Kazakhstan',
      'RU',
      'BY',
      'KZ',
    ],
    countryPostcodePrefixes: [],
    requireUppercase: false,
  },
  nationalIds: [
    {
      id: 'ru-snils',
      name: 'Russian SNILS',
      pattern: '\\b\\d{3}-\\d{3}-\\d{3}[ -]\\d{2}\\b',
      replacement: '[SNILS]',
    },
    {
      id: 'ru-inn-individual',
      name: 'Russian INN (individual)',
      pattern: '\\b\\d{12}\\b',
      replacement: '[INN]',
    },
    {
      id: 'ru-passport',
      name: 'Russian Passport',
      pattern: '\\b\\d{4}\\s?\\d{6}\\b',
      replacement: '[PASSPORT]',
    },
  ],
  dateOfBirth: {
    monthsLong: [
      'января',
      'февраля',
      'марта',
      'апреля',
      'мая',
      'июня',
      'июля',
      'августа',
      'сентября',
      'октября',
      'ноября',
      'декабря',
    ],
    monthsShort: [
      'янв.',
      'февр.',
      'мар.',
      'апр.',
      'мая',
      'июн.',
      'июл.',
      'авг.',
      'сент.',
      'окт.',
      'нояб.',
      'дек.',
    ],
    contextKeywords: ['родился', 'родилась', 'дата рождения', 'род.', 'д.р.'],
  },
};
