#

[header]
language = plp
charset = utf-8

[data]
#
# Add a space between a highway and trailing dot to avoid pronunciation as ordinal
/([A-Z]\d+)\./   -->   "$1 ."
#
# remove slash for multiple highway names
/([A-Z]\d+)\/([A-Z]\d+)/   -->   "$1 \x1b\\pause=100\\ $2"
/([A-Z]\d+)\/([A-Z]\d+)/   -->   "$1 \x1b\\pause=100\\ $2"
#
# avoid '. at the end when an audio file is inserted
/(audio=\".*\"\\)+\s*(\.)/   -->   "$1"
#
# declension of Polish numbers to locative or accusative
# numbers 1/2, 1/4
/(po\s+)(½|(1\/2)|(0\.5)|(0\,5))(\s+)/i   -->   "$1połowie$6"
/(przez\s+)(½|(1\/2)|(0\.5)|(0\,5))(\s+)/i   -->   "$1połowę$6"
/(po\s+)(¼|(1\/4)|(0\.25)|(0\,25))(\s+)/i   -->   "$1ćwierci$6"
/(¼|(1\/4)|(0\.25)|(0\,25))(\s+)/i   -->   "ćwierć$5"
# 1.5
/\b1(\.|\,)5(\s+mil)/i   -->   "półtorej$2"
/\b1(\.|\,)5/i   -->   "półtora"
# x.5
/\b(\d+)(\.|\,)5/   -->   "$1 i pół"
# First recognize the case
/\b(po\s+\d{1,4})(\s+mil)/i   -->   "$1_LOCF_$2"
/\b(po\s+\d{1,4})\s/i   -->   "$1_LOC_ "
/\b(przez\s+\d{1,4})(\s+mil)/i   -->   "$1_ACCF_$2"
/\b(przez\s+\d{1,4})\s/i   -->   "$1_ACC_ "
# fractionals
/\b1(\.|\,)1(\s+mil)/i   -->   "jeden przecinek jednej$2"
/\b1(\.|\,)1/i   -->   "jeden przecinek jeden"
/\b1(\.|\,)2(\s+mil)/i   -->   "jeden przecinek dwie$2"
/\b1(\.|\,)2\b/   -->   "jeden przecinek dwa"
/\b1(\.|\,)([34])/   -->   "jeden przecinek $2_LOC_"
/\b1(\.|\,)([6-9])/   -->   "jeden przecinek $2_NOM_"
/\b(po\s+\d{1,4})(\.|\,)(\d{1,4})(\s+mil)/i   -->   "$1_LOCF_ przecinek $3_LOCF_$4"
/\b(po\s+\d{1,4})(\.|\,)(\d{1,4})\s/i   -->   "$1_LOC_ przecinek $3_LOC_ "
/\b(przez\s+\d{1,4})(\.|\,)(\d{1,4})(\s+mil)/i   -->   "$1_ACCF_ przecinek $3_ACCF_$4"
/\b(przez\s+\d{1,4})(\.|\,)(\d{1,4})\s/i   -->   "$1_ACC_ przecinek $3_ACC_ "
#
# Locative numbers
# split numbers into thousands, hundreds, tens and units
/(\D+|\b)([2-9])(\d)(_LOC_|_LOCF_)/   -->   "$1$2\x30$4 $3$4"
/(\D+|\b)(\d)1(\d)(_LOC_|_LOCF_)/   -->   "$1$2\x30\x30$4 1$3$4"
/(\D+|\b)(\d)(\d)(\d)(_LOC_|_LOCF_)/   -->   "$1$2\x30\x30$5 $3\x30$5 $4$5"
/(\D+|\b)(\d)(\d)1(\d)(_LOC_|_LOCF_)/   -->   "$1$2\x30\x30\x30$5 $3\x30\x30$5 1$4$5"
/(\D+|\b)(\d)(\d)(\d)(\d)(_LOC_|_LOCF_)/   -->   "$1$2\x30\x30\x30$6 $3\x30\x30$6 $4\x30$6 $5$6"
/\b0{1,3}(_LOC_|_LOCF_)/   -->   ""
# convert numbers to locative case
/\b1000(_LOC_|_LOCF_)/   -->   "tysiącach"
/\b([2-9])000(_LOC_|_LOCF_)/   -->   "$1$2 tysiącach"
/\b100(_LOC_|_LOCF_)/   -->   "stu"
/\b200(_LOC_|_LOCF_)/   -->   "dwustu"
/\b300(_LOC_|_LOCF_)/   -->   "trzystu"
/\b400(_LOC_|_LOCF_)/   -->   "czterystu"
/\b([5-9])00(_LOC_|_LOCF_)/   -->   "$1$2set"
/\b1_LOCF_/   -->   "jednej$1"  # feminine
/\b1_LOC_/   -->   "jednym"
/\b2(_LOC_|_LOCF_)/   -->   "dwóch"
/\b3(_LOC_|_LOCF_)/   -->   "trzech"
/\b4(_LOC_|_LOCF_)/   -->   "czterech"
/\b5(_LOC_|_LOCF_)/   -->   "pięciu"
/\b6(_LOC_|_LOCF_)/   -->   "sześciu"
/\b7(_LOC_|_LOCF_)/   -->   "siedmiu"
/\b8(_LOC_|_LOCF_)/   -->   "ośmiu"
/\b9(_LOC_|_LOCF_)/   -->   "dziewięciu"
/\b10(_LOC_|_LOCF_)/   -->   "dziesięciu"
/\b11(_LOC_|_LOCF_)/   -->   "jedenastu"
/\b12(_LOC_|_LOCF_)/   -->   "dwunastu"
/\b14(_LOC_|_LOCF_)/   -->   "czternastu"
/\b15(_LOC_|_LOCF_)/   -->   "piętnastu"
/\b16(_LOC_|_LOCF_)/   -->   "szesnastu"
/\b1([3,7,8])(_LOC_|_LOCF_)/   -->   "$1_NOM_nastu"
/\b19(_LOC_|_LOCF_)/   -->   "dziewiętnastu"
/\b20(_LOC_|_LOCF_)/   -->   "dwudziestu"
/\b30(_LOC_|_LOCF_)/   -->   "trzydziestu"
/\b40(_LOC_|_LOCF_)/   -->   "czterdziestu"
/\b([3,5-9])0(_LOC_|_LOCF_)/   -->   "$1_NOM_dziesięciu"
#
# Accusative case numbers
/\b1_ACCF_/   -->   "jedną$1"  # feminine
/\b1_ACC_/   -->   "jednego"
/\b2_ACCF_/   -->   "dwie$1"  # feminine
/\b2_ACC_/   -->   "dwa"
/\b(\d+)(_ACC_|_ACCF_)/   -->   "$1"  #ok for all other numbers
#
# Nominative case numbers
/\b3_NOM_/   -->   "trzy"
/\b5_NOM_/   -->   "pięć"
/\b6_NOM_/   -->   "sześć"
/\b7_NOM_/   -->   "siedem"
/\b8_NOM_/   -->   "osiem"
/\b9_NOM_/   -->   "dziewięć"
