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

export const pl: LocaleConfig = {
  locale: 'pl',
  name: 'Polish',
  scripts: ['latn'],
  countries: ['PL'],
  phoneContextKeywords: [
    'telefon',
    'numer telefonu',
    'komórka',
    'komorka',
    'numer',
    'tel.',
    'tel',
  ],
  cvcContextKeywords: ['kod bezpieczeństwa', 'cvc', 'cvv', 'cv2'],
  address: {
    forms: ['inverted', 'standard', 'po-box'],
    postcodeForm: 'continental',
    postcodeRegex: '\\d{2}-\\d{3}',
    streetKeywordsInverted: [
      'ulica',
      'ul.',
      'Aleja',
      'Al.',
      'Plac',
      'Pl.',
      'Osiedle',
      'Os.',
      'Rynek',
    ],
    streetKeywordsStandard: ['ulica', 'ul.', 'Aleja', 'Al.', 'Plac', 'Pl.'],
    houseNumberMarkers: ['nr', 'nr.', 'no.', '№'],
    poBoxKeywords: ['Skr. poczt.', 'Skrytka pocztowa'],
    floorKeywords: ['piętro', 'pietro', 'mieszkanie', 'm.', 'lok.', 'lokal'],
    countryNames: ['Polska', 'Poland', 'PL'],
    countryPostcodePrefixes: [],
    requireUppercase: true,
  },
  nationalIds: [
    {
      id: 'pl-pesel',
      name: 'Polish PESEL',
      pattern: '\\b\\d{11}\\b',
      checksum: 'pesel-mod10',
      replacement: '[PESEL]',
    },
    {
      id: 'pl-passport',
      name: 'Polish Passport Number',
      pattern: '\\b[A-Z]{2}\\d{7}\\b',
      replacement: '[PASSPORT]',
    },
  ],
  dateOfBirth: {
    monthsLong: [
      'stycznia',
      'lutego',
      'marca',
      'kwietnia',
      'maja',
      'czerwca',
      'lipca',
      'sierpnia',
      'września',
      'października',
      'listopada',
      'grudnia',
      'styczeń',
      'luty',
      'marzec',
      'kwiecień',
      'maj',
      'czerwiec',
      'lipiec',
      'sierpień',
      'wrzesień',
      'październik',
      'listopad',
      'grudzień',
    ],
    monthsShort: [
      'sty.',
      'lut.',
      'mar.',
      'kwi.',
      'maj',
      'cze.',
      'lip.',
      'sie.',
      'wrz.',
      'paź.',
      'lis.',
      'gru.',
    ],
    contextKeywords: ['urodzony', 'urodzona', 'data urodzenia', 'ur.'],
  },
};
