Changes between Version 10 and Version 11 of Rules/Portuguese-Errors-PT2


Ignore:
Timestamp:
2015-05-24T01:13:15+02:00 (11 years ago)
Author:
Rui
Comment:

more rules and fixes

Legend:

Unmodified
Added
Removed
Modified
  • Rules/Portuguese-Errors-PT2

    v10 v11  
    1818
    1919*[name =~ /\s([dn]as?|[dn]os?|de)\s[a-z]/] {
    20   throwWarning: tr("PT2-Nome em minúscula após da,no,de...");
     20                throwWarning: tr("PT2-Nome em minúscula após da,no,de...");
    2121}
    2222*[name =~ /\s([DN]as?|[DN]os?|De)\s[a-zA-Z]|.*\sE\s.*/] {
    23   throwWarning: tr("PT2-Nome com maiúscula em Da,No,De,E...");
     23                throwWarning: tr("PT2-Nome com maiúscula em Da,No,De,E...");
    2424}
    2525*[name =~ /^[a-z]/] {
    26   throwWarning: tr("PT2-Nome que começa em minúscula");
     26                throwWarning: tr("PT2-Nome que começa em minúscula");
    2727}
    2828*[name =~ /\s\s/] {
    29   throwWarning: tr("PT2-Dois espaços em branco");
     29                throwWarning: tr("PT2-Dois espaços em branco");
    3030}
    3131*[name =~ /(?i)(sem\s?nome|fix\s?me|\bfix\b|nome|no\s?name|desconhecido|n(ã|a)o conhecido)/] [name !~ /(?i)soldado desconhecido/] {
    32   throwWarning: tr("PT2-Nome errado, sem nome...");
     32                throwWarning: tr("PT2-Nome errado, sem nome...");
    3333}
    3434way[highway][name =~ /(-Os-|\sos\s)/] {
    35   throwWarning: tr("PT2-O correto é -os-");
     35                throwWarning: tr("PT2-O correto é -os-");
    3636}
    3737way[highway][name =~ /(?i)(\bairport|bank|building|\bdrive\s?way|embassy|\bhelip(ort|ad)\b|\bPark(ing)?|Post\s?off?ice|\bRue\b|\bshop\b|\bstair|\btra(c?k|ck?)|stree?t|Zebra cros)/] {
    38   throwWarning: tr("PT2-Palavras por traduzir ou mudar a etiqueta");
    39 }
    40 way[highway][name =~ /(Alf|Alm|Ant|Arq\.?º?|Az|B\.?º|Br|Bco?|Bl|Brg|Cac|Cc(nh)?|Ca[mp]|\bChurr|Csl|Cmdt|Comend|Cª|Cons|Cor|Cel|Dep|Dr?\.?ª|Dr|Dq|Edf?|Emb|Enf[oº]?|Eng[ºª]?|Esc(nh)?|Est|Gen|Hab|Inf|Im[aª]|Im[oº]?|Im|Jrd?|Lg?|Lj|Lt|Loteam|Lu?g|Mto|Maj|Mal|Mq|Me|Min|Mons|M|Pe|Pq|Part|Pe|Pto|P[cç]|Pr|Pct[aª]?|Presid|Pro?fª?|Proj|Prolng|Qd|\bR\.|Rot|Sarg|Slj|Soc|Scv|Sq|Ten|Tr|Transv|Trav|Trv|Tv|Urb|Vl|Visc|Vv|Zn)(\.| )/] {
    41   throwWarning: tr("PT2-Nome de estrada ou caminho abreviado");
    42 }
    43 *[name =~ /(Ass|Av\.?ª?|[Bb](\.\s?|\s)?[Vv]|B(\.\s?|\s)?E(\.\s?|\s)?S|C(\.\s?|\s)?C|[Cc](\.\s?|\s)?[Gg](\.\s?|\s)?[Dd]|[Cc](\.\s?|\s)?[Mm]|C(\.\s?|\s)?V(\.\s?|\s)?P|C\.S|\bCongr|\bD|\bDept|\bDir|E[\.\s]?T[\.\s]?A[\.\s]?R|\bEd[Ee]|Ext|\b[FSfs](\.\s?|\s)?[Cc](lub)?e?|\bH|Inst|\bJ(\.\s?|\s)?F|\bLab|\bMte|Na|Ns|N[^0-9º]|N(\.\s?|\s)?[ªa]|\bOf|P(\.\s?|\s)?S(\.\s?|\s)?P|Qta|\bR|\bRes|Rib\.?[aª]?|S|S(\.\s?|\s)?C|\bSoc|Sr?\.?ª|Sra?|St\.?[oaºª]?|Univ)(\.|\s)/] [name =~ /^Nó\b/] {
    44   throwWarning: tr("PT2-Nome abreviado");
     38                throwWarning: tr("PT2-Palavras por traduzir ou mudar a etiqueta");
     39}
     40way[highway][name =~ /(Alf|Alm|Ant|Arq\.?º?|Az|B\.?º|Br|Bco?|Bl|Brg|Cac|Cc(nh)?|Ca[mp]|\bChurr|Csl|Cmdt|Comend|Cª|Cons|Cor|Cel|Dep|Dr?\.?[ºª]|Dr|Dq|Edf?|Emb|Enf[oº]?|Eng[ºª]?|Esc(nh)?|Est|Gen|Hab|Inf|Im[aª]|Im[oº]?|Im|Jrd?|Lg?|Lj|Lt|Loteam|Lu?g|Mto|Maj|Mal|Mq|Me|Min|Mons|M|Pe|Pq|Part|Pe|Pto|P[cç]|Pr|Pct[aª]?|Presid|Pro?fª?|Proj|Prolng|Qd|\bR\.|Rot|Sarg|Slj|Soc|Scv|Sq|Ten|Tr|Transv|Trav|Trv|Tv|Urb|Vl|Visc|Vv|Zn)(\.| )/] {
     41                throwWarning: tr("PT2-Nome de estrada ou caminho abreviado");
     42}
     43*[name =~ /(Ass|Av\.?ª?|[Bb](\.\s?|\s)?[Vv]|B(\.\s?|\s)?E(\.\s?|\s)?S|C(\.\s?|\s)?C|[Cc](\.\s?|\s)?[Gg](\.\s?|\s)?[Dd]|[Cc](\.\s?|\s)?[Mm]|C(\.\s?|\s)?V(\.\s?|\s)?P|C\.S|\bCongr|\bD|\bDept|\bDir|E[\.\s]?T[\.\s]?A[\.\s]?R|\bEd[Ee]|Ext|\b[FSfs](\.\s?|\s)?[Cc](lub)?e?|\bH|Inst|\bJ(\.\s?|\s)?F|\bLab|\bMte|Na|Ns|N[^0-9º]|N(\.\s?|\s)?[ªa]|\bOf|P(\.\s?|\s)?S(\.\s?|\s)?P|Qta|\bR|\bRes|Rib\.?[aª]?|S|S(\.\s?|\s)?C|\bSoc|Sª|Sr?\.?ª|Sra?|St\.?[oaºª]?|Univ)(\.|\s)/] {
     44                throwWarning: tr("PT2-Nome abreviado-NÃO alterar se for nome de estabelecimento");
    4545}
    4646*[name =~ /[?!.,:;]{2,}/] {
    47   throwWarning: tr("PT2-Pontuação repetida 2 ou mais vezes");
     47                throwWarning: tr("PT2-Pontuação repetida 2 ou mais vezes");
    4848}
    4949*[name =~ /([`´~^¨]|\s['"»«ºª]\s)/] {
    50   throwWarning: tr("PT2-Acentuação isolada entre espaços");
    51 }
    52 *[name =~ /(?i).*(\bá\s|hà|\bAb[ìi]lio|Ac([àa]c|ass?|áss?)i[ao]|Academic[oa]|A((c|ss?)[ùu]|çù)de\b|\bAss?ore[sa]|Administra(ça|cã|ca)o|Africa\b|Ag(enc|êns)ia|Agrari[ao]|Agricola|\bAguas?|Alcantara|Alvar(es|o)|Amalia|\bAmeli[ao]\b|Americ[ao]s?\b|\bAndre\b|\bAngel[ao]\b|Anibal|Apolonia|Araujo|Arma(ze|sé)(m|ns)|Arqueol(og|ój|oj)ic[oa]|Arvore|Ascen(sao|ção|çao)|\bAsenha\b|Astronomico|\bA[sc]is\b|Ass?o(c|ss?)ia(ça|cã|ca)o|Americo|Antonio|Araujo|Atlantic|Atletico|Auditorio|\bBaia\b|B(as|áz)i(li)?c[ao]|\bBarao\b|\bBarbar[ao]s?\b|\bB[éê]co\b|Belem\b|B(élj|el[gj]i)c|Bonanico|Bonif(ac|as|ás)io|\bBrazil|Britanic|Cafe\b|Caf(ét[ea]|ata)ria|Cal(c|ss?)ada|C(alva|álv[áa])rio|Cambio|cami(onaj|no[gj]|nona[gj]|na[gj])em|Camara|Camelia|Camoes|\bCandid[ao]\b|\bC[aâ]o\b|Capitao|Ca[cs]s?ador|Cemiterio|C(e[zs]|éz)ar|\bCha[os]?\b|\bCidadao\b|Ci(enc|[êe]nss?)ia|\bClaudi[ao]|Clerigo|Clinica|Col(eg|éj)io|Com(er[cs]|érs)io|\bCaza\b|Comunitari|Concei(ca|ça|cã)o|Comdominio|\bC[oô]nego\b|Con([cs]s?ervato|cervató)ri|Coperativa|Crist([oôó]va|[oô]vã)o|\bCrus\b|Con(c|ss?)ervatori[oa]|Dalia|\bDamiao\b|Dan(c|ss?)a\b|Dentari|Dep(oss?|óz|oz)ito|Diario|\bDili\b|Dion(is|iz|íz)io|Dire(cã|ça|ca)o|\bE(c|ss?)ca\b|Educa(ca|ça|cã)o|\bElec?tric[ao]s?|\b\b([ÈÉ]m[íi]|Emi)di[ao]\b|\bEmili[ao]\b|Encarna(ca|ça|cã)o|Escadori|Escoteiro|Espirito|Esta(ca|ça|cã)o|\bEstadio|Estasiona|Esternato|Estetica|Estevao|Estradao|Est[êée]vao|\bEufemi|Evan(ge|jé|je)lica|\bEvora\b|Ex(erc|érs)ito|\bEx(ilio|ílad)|Fabricas?\b|\bFamilia\b|(para)?Farmacia|Fatima|Felix|\bFerre[ao]|Ferr?oviari|Finan(c|ss?)as|\bFisic[ao]\b|\bFlavi[ao]\b|\bFlôr(es)?\b|\bFont(ana|en[áa])rio|Fortalesa|Fran(ce|sê|se)s\b|Fruticula|Funeraria|Gale\b|Garces|\bGa(rret|rett?)\b|\b(Ge|J[ée])meos?\b|Gloria|\bGôa\b|\bGois\b|Gon(c|ss?)alves|\bGra[cs]s?as?\b|\bGrao\b|Guestao|Guimaraes|Gu?in(áz|as|az)io|Gu?ina[sz]tica|Guine\b|Hermini[ao]\b|Herois|\bHor(áss?|ac)io|Horten[cs]ia|Horticula|Iberic[ao]|\bIn([áa]ss?|ac)io|Independencia|India\b|Industria\b|Inf(a[cs]s?ia|ânss?ia|antario)|\binformatica|\bIn(es|ez|êz)\b|Infantario|Informatica|\bIrmao?s?\b|Jeronimo|Joao|Joelheria|\bJoias?\b|Jose\b|Judi(cia|ss?i[áa])ria|\bJulia?o\b|Laboratorio|L(ás|az|as)aro|Leao|Leitao|\bLirio|Lo(gi|jí)stic|Loule|Louren(c|ss?)o|\bL(ú[çs]s?i|u[çcs]s?i)[ao]\b|Lu[sz]iada|Magalhaes|\bMarili|Maritim[oa]|\bMario\b|Martir(es)?\b|\bMatris\b|Marqu?(é[sz]|eza)\b|Matematic|Ma?c\sDonald('|\s)?s|\bMedic[oa]\b|Mi(ss?iona|cion[áa])ri|M(i[sz]erico|e[sz]irec[oó])rdia|Mortuaria|\bM(o[zs]|uz)eu\b|Muni((c|ss?)i|ss?í)pio|Musica\b|\bMuzeu\b|\bNautic|\bNa(zare|sar[ée])|Nem(éz|es)io\b|Ne[sç]s?e[scç]s?idades|Not(i[cs]s?|íss?)ias|\bNucleo\b|\bOp?tica\b|[ÒO]bidos?|Observatorio|(Oceanic[ao]\b|O[çs]s?eânic)|\bOperari[oa]s?\b|Orqu?idea|Ortigao|Ourive(rs|z)aria|O(zó|so|zo)rio|Pal(ac|áss?|ass?)io|\bPao\b|\bPara(i[zs]o|ízo)|\bPar(óq|óquial|oqu?ia)\b|Pa(ss?adi[sc]s?|çadi[sç]s?)o|\bPatio\b|Patrias?\b|Patr(i[cs]|ís)i[ao]|Pavilhao|Pedag(og|ój)ic[ao]|Pediatric|Peninsula\b|Pen(çã|ss?a|ssã)o|Peniten(cia|ss?i[áa])ri?|\bPeras?\b|Picina|Platano|Poli(c|ss?)ia|Porfirio|\bPoss?os?\b\bPovoas?\b|\bPra(c|ss?)a\b|Pra(ç|ss?)eta|Preparatori|Pre([sz]ide|zidê)ncia|Pr((inc|ins|íns)[ie]|ínce)pe|Primari(o|a)|P(siquia|ciqui[aá])tric[oa]|Politecnic|Porfirio|Portugue[sz]\b|Profi[cs]ional|\bProgre[sç]o|\bPublic(o|a)\b|P[ou]rifica(ca|ça|cã)o|Quiteria|\bRadio\b|\bRaínha\bRaúl\b|Ress?into|\bR[eu]tunda\b|\bRe(gia|jiã|gi|ji)o\b|Remedio|R[ée]publica\b|Re([zs]ide|zidê)n[cs]ias?\b|Re(zide|sidê)n[cs]ial|Re[sç]urrei(ça|[cs]s?ã)o|Ress?urrei(ça|[cs]s?ã)o|Retrozaria|\bRío\b|Rodoviari[oa]|Romao|\bRo(sa|za|zá)ri[oa]|Ruina|\bSa\b|Salao|\bSanitari|Sant(are|er[ée])m|\bSao\b|\bSaude|\sSe\b|Sebastiao|Seculo|Secundaria|(Semina|Cemin[áa])rio|Senior|Sepulveda|S(erg|érji)io|Sidonio|Simoes|Su(e(c|ss?)ia|éss?)ia|Su(íss?|iç|iss?)a|Su[çs]s?e(ss?|ç)o|\bT(ang|[âa]nj)er\b|Taxis?|Tecnico|Tecnol(ój|o[gj])ico|\bTenis\b|Tertulia|Teofilo|Teotonio|\bTilia|\bTomas\b|\bTome\b|\bTr(a[sz]|áz)\b|\bTr?ave[sç]a\b|\bTunel\b|\bTuristic|\bUniao\b|Univer(sita|cit[áa])ri|Univercidade|Urbani(za(ç|ss?)ao|sa(ç|ss?)ão|zac[aã]o)|Urg(enc|[êe]nss?)ia|\bV(ar[zs]|árs)ea\b|\bVarsim|\bV(árs|ar[zs])ea|\bV(ir[gj]i|jí|erj[íi]|ergi)li|Veter(i?na|en[áa])ri|\bVilaret?\b|Vitoria|Voluntario).*/] {
    53   throwWarning: tr("PT2-Verificar:Nome com erros ortográficos");
    54 }
     50                throwWarning: tr("PT2-Acentuação isolada entre espaços");
     51}
     52*[name =~ /(?i).*(\bá\s|hà|\bAb[ìi]lio|Ac([àa]c|ass?|áss?)i[ao]|Academic[oa]|A((c|ss?)[ùu]|çù)de\b|\bAss?ore[sa]|Administra(ça|cã|ca)o|\bAdriao\b|Africa\b|Ag(enc|êns)ia|\b(Ág|Agu)eda\b|Agrari[ao]|Agricola|\bAguas?|\bAlamo\b|Alcantara|Alfandega|Alvar(es|o)|Amalia|\bAmeli[ao]\b|Americ[ao]s?\b|Amisade|\bAndre\b|\bAngel[ao]\b|\bAnibal|Apolonia|Araujo|Arma(ze|sé)(m|ns)|Arqueol(og|ój|oj)ic[oa]|\bArtes(ao|oes)|\bArtistic[oa]|Arvore|Ascen(sao|ção|çao)|\bAsenha\b|Astronomico|\bA[sc]is\b|Ass?o(c|ss?)ia(ça|cã|ca)o|Americo|Antonio|Araujo|Atlantic|Atletico|Auditorio|\bAzemeis|\bBaia\b|B(as|áz)i(li)?c[ao]|\bBarao\b|\bBarbar[ao]s?\b|\bB[éê]co\b|Belem\b|B(élj|el[gj]i)c|\bBeltr[aâ]o\b|\bBissáu\b|Bonanico|Bonif(ac|as|ás)io|\bBrandao\b|\bBras\b|\bBrazil|Britanic|Cafe\b|Caf(ét[ea]|ata)ria|Cal(c|ss?)ada|C(alva|álv[áa])rio|Cambio|cami(onaj|no[gj]|nona[gj]|na[gj])em|\bCamara|Camelia|Camoes|\bCa(mponez|npone[zs])|\bCandid[ao]\b|\bC[aâ]o\b\b|\bCapit(ao|aes|[õo]es)|Ca[cs]s?ador|\bCaza\b|Cemiterio|Centenari[ao]|C(e[zs]|éz)ar|\bCha[os]?\b|\bCidadao\b|Ci(enc|[êe]nss?)ia|Cir(ur[gj]|úrj)ica|\bClaudi[ao]|Clerigo|Clinica|Col(e[gj]|éj)io|Combustive(l|is)|Com(er[cs]|érs)io|\bCojo\b|Comdominio|Concei(ca|ça|cã)o|\bC[oô]nego\b|Con([cs]s?ervato|cervató)ri|Coperativa|Crist([oôó]va|[oô]vã)o|\bCrus\b|Con(c|ss?)ervatori[oa]|\bDalia\b|\bDami?ao\b|Dan(c|ss?)a\b|Dentari|Dep(oss?|óz|oz)ito|Diagnostico|Diario|\bDili\b|Dion(is|iz|íz)io|Dire(cã|ça|ca)o|\bE(c|ss?)ca\b|Edif(i[cçs]s?|íç|íss?)icio|Educa(ca|ça|cã)o|Elec?tric[ao]s?|\bElisi[ao]\b|\b([ÈÉ]m[íi]|Emi)di[ao]\b|\bEmili[ao]\b|Encarna(ca|ça|cã)o|Escadori|Escoteiro|Espirito|Esta(ca|ça|cã)o|\bEstadio|Estasiona|Estatua|\bEstefani[ao]|Esternato|Estetica|Estevao|Estradao|Est[êée]vao|\bEufemi|Evan(ge|jé|je)lica|\bEvora\b|Ex(erc|érs)ito|\bEx(ilio|ílad)|Fabricas?\b|\bFamilia\b|(para)?Farmacia|Fatima|Felix|\bFerre[ao]|Ferr?oviari|Finan(c|ss?)as|\bFisic[ao]\b|\bFlavi[ao]\b|\bFont(ana|en[áa])rio|Fortalesa|Fotebol\b|\bFotografo|Fran(ce|sê|se)s\b|Fruticula|Funeraria|Gale\b|Garces|\bGa(rret|rett?)\b|\bGaviao\b|\b(Ge|J[ée])meos?\b|Gloria|\bGôa\b|\bGois\b|Gon(c|ss?)alves|\bGra[cs]s?as?\b|\bGrao\b|Guestao|Guimaraes|Gu?in(áz|as|az)io|Gu?ina[sz]tica|Guine\b|Hermini[ao]\b|Herois|Hipico|\bHor(áss?|ac)io|Horten[cs]ia|Horticula|Iberic[ao]|\bIn([áa]ss?|ac)io|Independencia|India\b|Industria\b|Inf(a[cs]s?ia|ânss?ia|antario)|\binformatica|\bIn(es|ez|êz)\b|Infantario|Informatica|Inspec?ç?(a|oes)|\bIrmao?s?\b|Jeronimo|\bJiesta|\bJoao\b|Joelheria|\bJoias?\b|J[oó]se\b|Judi(cia|ss?i[áa])ria|\bJuliao\b|\bJusti(c|ss?)a|\bJulia?o\b|\bJuridic|Laboratorio|L(ás|az|as)aro|Leao|Leitao|\bLinguas?\b|\bLirio|Lo(gi|jí)stic|Loule|Louren(c|ss?)o|\bL(ú[çs]s?i|u[çcs]s?i)[ao]\b|Lu[sz]iada|Magalhaes|\bMarili|Maritim[oa]|\bMario\b|Martir(es)?\b|\bMatris\b|Marqu?(é[sz]|eza)\b|Matematic|\bMedic[oa]\b|Mi(ss?iona|cion[áa])ri|M[ei][sz](erico|irec[oó])rd[ie](o[sz])?a|\bMoises\b|Mortuaria|Moveis|\bM(o[zs]|uz)eu\b|M[uo]([sz]e[uo]lój|ze[uo]ló[gj])ic|Muni((c|ss?)i|ss?í)pio|Musica\b|\bNautic|\bNa(zare|sar[ée])|Negocio|Nem(éz|es)io\b|Ne[sç]s?e[scç]s?idades|Not(i[cs]s?|íss?)ias|\bNucleo\b|\bOp?tica\b|[ÒO]bidos?|Observatorio|O(ceanic[ao]\b|[çs]s?eânic)|P(siquia|ciqui[aá])tric[oa]|Politecnic|Porfirio|Portugue[sz]\b|Profi[cs]ional|\bProgre[sç]o|\bPublic(o|a)\b|P[ou]rifica(ca|ça|cã)o|Quiteria|\bRadio\b|\bRaínha\b|\bRaúl\b|Ress?into|\bR[eu]tunda\b|\bRe(gia|jiã|gi|ji)o\b|Rejimento|Remedio|R[ée]publica\b|R(épu|epú|épú)blican[ao]|Re([zs]ide|zidê)n[cs]ias?\b|Rezid[êe]ncial|Re(zide|sidê)n[cs]ial|Re[sç]urrei(ça|[cs]s?ã)o|Ress?urrei(ça|[cs]s?ã)o|Retrozaria|\bRío\b|Rodoviari[oa]|\bRo([gj]e|jé)rio|Romanic[ao]|Romao|\bRo(sa|za|zá)[rl]i[oa]|Ruina|\bSa\b|Salao|\bSanitari|Sant(are|er[ée])m|Sant(í[sçc]|i[sçc]s?)im[ao]|\bSao\b|\bSaude|\sSe\b|Sebastiao|Seculo|Secundari[ao]|(Semina|Cemin[áa])rio|Senior|Sepulveda|S(erg|érji)io|Sidonio|\bSilverio|Sim(ao|oes)|Su(e(c|ss?)ia|éss?)ia|Su(íss?|iç|iss?)a|Su[çs]s?e(ss?|ç)o|\bT(ang|[âa]nj)er\b|Taxis?|Tecnico|Tecnol(ój|o[gj])ico|\bTenis\b|Tertulia|Teofilo|Teotonio|Textil|\bTilia|\bTomas\b|\bTome\b|\bTr(a[sz]|áz)\b|\bTr?ave[sç]a\b|\bTrese\b|\bTúlipa|\bTunel\b|\bTuristic|\bUniao\b|Univer(sita|cit[áa])ri|Univercidade|Urbani(za(ç|ss?)ao|sa(ç|ss?)ão|zac[aã]o)|Urg(enc|[êe]nss?)ia|\bV(ar[zs]|árs)ea\b|\bVarsim|\bV(árs|ar[zs])ea|\bValeri[ao]\b|\bVen(an[cs]s?|[âa]nss?)i[ao]|\bV(ir[gj]i|jí|erj[íi]|ergi)li|Veter(i?na|en[áa])ri|\bVilaret?\b|Vitoria|Voluntario).*/] {
     53                throwWarning: tr("PT2-Verificar:Nome com erros ortográficos");
     54}
     55/* casos de marcas complicadas em que o melhor é indicar o nome correto na mensagem */
     56*[name =~ /[Dd]ecat?[hl]?on/] {
     57                throwWarning: tr("PT2-Correto é Decathlon");
     58}
     59*[name =~ /Ma?c(\s[Dd]onald('|\s)?|[Dd]onald\s?)s/] {
     60                throwWarning: tr("PT2-Correto é McDonalds-com apóstrofo antes do s");
     61}
     62*[name =~ /(mini(\s|-)?preço|Mini(\s|-)preço|Mini(\s|-)?Preço|MINI(\s|-)?PREÇO)/] {
     63                throwWarning: tr("PT2-Correto é Minipreço");
     64}
     65
     66
    5567*[shop=books][name =~ /^(?i)\bBiblioteca\b/] {
    5668        throwWarning: tr("PT2-Biblioteca com etiqueta de livraria");
     
    6274}
    6375*[!office][name =~ /^(?i)Associação/] {
    64         throwWarning: tr("PT2-Associação sem etiqueta adequada");
    65         suggestAlternative: "office=association";
     76        throwWarning: tr("PT2-Associação sem etiqueta office=association");
     77        fixAdd: "office=association";
    6678}
    6779way[railway = rail][lanes][!tracks] {
     
    7991way[highway !~ /^(primary|trunk)/][ref =~ /^(?i)(E\.?)?N(\.|\s)?[0-9]{1,3}$/] {
    8092        throwWarning: tr("PT2-Estradas nacionais devem ser primárias/VR/IP/IC");
    81                 fixAdd: "highway=primary";
     93        fixAdd: "highway=primary";
    8294}
    8395way[highway !~ /^secondary/][name =~ /^(?i)(Estrada Regional|ER)\s/],
    8496way[highway !~ /^secondary/][ref =~ /^(?i)(E\.?)?R(\.|\s)?[0-9]{1,4}$/] {
    8597        throwWarning: tr("PT2-Estradas regionais devem ser secundárias");
    86                 fixAdd: "highway=secondary";
     98        fixAdd: "highway=secondary";
    8799}
    88100way[highway !~ /^tertiary/][name =~ /^(?i)((Estrada|Caminho) Municipal|EM|CM)\s/],
    89101way[highway !~ /^tertiary/][ref =~ /^(?i)([EC]\.?)?M(\.|\s)?[0-9]{1,4}$/] {
    90102        throwWarning: tr("PT2-Estradas municipais devem ser terciárias");
    91                 fixAdd: "highway=tertiary";
     103        fixAdd: "highway=tertiary";
    92104}
    93105*[highway=mini_roundabout] {
     
    98110}
    99111node[amenity = place_of_worship] ∈ *[building] {
    100           throwWarning: tr("PT2- local de oração num nó, sobre 1 edifício");
     112        throwWarning: tr("PT2- local de oração num nó, sobre 1 edifício");
    101113}
    102114node[amenity = place_of_worship] {
    103           throwWarning: tr("PT2- local de oração num nó, é melhor um edifício");
     115        throwWarning: tr("PT2- local de oração num nó, é melhor um edifício");
    104116}
    105117*[amenity != recycling][name =~ /(?i)\b(ecoponto|vidrão|pilhão)\b/] {
    106           throwWarning: tr("PT2- ecoponto no nome mas sem etiqueta de ecoponto");
    107 }
    108 *[amenity != fire_station][name =~ /(?i)\b(Bombeiros|Quartel dos B|\bBatalhão|Sapadores)\b/][name !~ /(?i)\b(Alameda|Avenida|Beco|Calçad(inh)?a|Caminho|Escad(a|inha|aria)s?|Estrada|Ladeira|Largo|Pátio|Pra(ç|cet)a|Rotunda|Rua|Terreiro|Transversal|Travessa|Viela) dos (Bombeiros|Quartel dos B|\bBatalhão|Sapadores)\b/] [!highway=bus_stop]{
    109           throwWarning: tr("PT2-Bombeiros no nome mas sem etiqueta");
     118        throwWarning: tr("PT2- ecoponto no nome mas sem etiqueta de ecoponto");
     119}
     120*[amenity != fire_station][name =~ /(?i)\b(Bombeiros|Quartel dos B|\bBatalhão|Sapadores)\b/][name !~ /(?i)\b(Alameda|Avenida|Beco|Calçad(inh)?a|Caminho|Escad(a|inha|aria)s?|Estrada|Ladeira|Largo|Pátio|Pra(ç|cet)a|Rotunda|Rua|Ruela|Terreiro|Transversal|Travessa|Viela) dos (Bombeiros|Quartel dos B|\bBatalhão|Sapadores)\b/] [!highway=bus_stop]{
     121        throwWarning: tr("PT2-Bombeiros no nome mas sem etiqueta");
    110122}
    111123*[phone][phone !~ /^\+351 [0-9]{3} [0-9]{3}[0-9]{3}((;\s?\+351 [0-9]{3} [0-9]{3}[0-9]{3})?)+$/],
     
    118130        throwWarning: tr("PT2-Nome de rua c/números telf./cód.postal");
    119131}
    120 
     132way[highway][ref][ref =~ /^EN [0-9]?[4-9][0-9][0-9]/] {
     133                throwWarning: tr("PT2-Estradas Nacionais só existem de 1 a 398");
     134}
     135way[highway][ref][ref =~ /^ER [0-9]?[4-9][0-9][0-9]/] {
     136                throwWarning: tr("PT2-Estradas Regionais só existem de 1 a 396");
     137}
     138way[highway][ref][ref =~ /^IP [0-9][0-9]/] {
     139                throwWarning: tr("PT2-Intenerários Principais só existem de 1 a 9");
     140}
     141way[highway][ref][ref =~ /^IC [0-9]?[4-9][0-9]/] {
     142                throwWarning: tr("PT2-Intenerários Complementares só existem de 1 a 37");
     143}
    121144
    122145
     
    135158        throwWarning: tr("PT2- {0} não se aplica em Portugal", "{0.value}");
    136159        suggestAlternative: "residential";
    137                 fixAdd: "highway=residential"; 
     160        fixAdd: "highway=residential";
    138161}
    139162*[highway=bridleway] {
     
    153176}
    154177/* nomes com valores que provavelmente deveriam estar em alt_name, short_name, etc */
    155 *[name =~ /.*\(.*\).*/] {
     178*[name =~ /.*\(.*\).*/] [!bus_stop] {
    156179        throwWarning: tr("PT2-Nome com parênteses", "{0.key}");
    157180        suggestAlternative: "alt_name";
    158181        suggestAlternative: "short_name";
    159182        suggestAlternative: "description";
    160                 suggestAlternative: "note";
     183        suggestAlternative: "note";
    161184}
    162185*[name =~ /.* - .*/] {
     
    171194        suggestAlternative: "short_name";
    172195        suggestAlternative: "description";
    173                 suggestAlternative: "note";
     196        suggestAlternative: "note";
    174197}
    175198*[name =~ /.*,\s?(C\.?R\.?L|E\.?P|I\.P|Lda|S\.A|Unip)\.?/] {
     
    181204        suggestAlternative: "short_name";
    182205        suggestAlternative: "description";
    183                 suggestAlternative: "note";
     206        suggestAlternative: "note";
    184207}
    185208/* utilizar ; como separador de valores em source */
     
    194217}
    195218/* possui nome de rua mas não tem etiqueta de highway */
    196 *[!highway][!railway][route != road][type !~ /route|street/][name][name =~ /^(?i)(Auto-?estrada|Avenida|Beco|Cais|Calçad(inh)?a|Caminho|Ciclovia|Escad(a|inha|aria)s?|Estrada\s?(Nacional|Regional|Municipal)?|Itinerário\s? (Complementar|Principal)?|Passeio|Rotunda|Rua|Transversal|Travessa|Trilho|Túnel|Variante|Via(-|\s)Rápida|Viadutos?|Viela) .*/][name !~ /^(?i)estrada de ferro/] [route != ferry] {
     219*[!highway][!railway][route != road][type !~ /route|street/][name][name =~ /^(?i)(Auto-?estrada|Avenida|Beco|Cais|Calçad(inh)?a|Caminho|Ciclovia|Escad(a|inha|aria)s?|Estrada\s?(Nacional|Regional|Municipal)?|Itinerário\s? (Complementar|Principal)?|Passeio|Rotunda|Rua|Ruela|Transversal|Travessa|Trilho|Túnel|Variante|Via(-|\s)Rápida|Viadutos?|Viela) .*/][name !~ /^(?i)estrada de ferro/] [route != ferry] {
    197220        throwWarning: tr("PT2-Verificar: com nome de via mas sem etiqueta de {0}", "{0.key}");
    198221}
    199 *[highway][name =~ /^(?i)(Auto-?Estrada|Alameda|Avenida|Beco|Calçad(inh)?a|Caminho|Ciclovia|Escad(a|inha|aria)s?|Estrada\s?(Nacional|Regional|Municipal)?|Itinerário\s? (Complementar|Principal)?|Ladeira|Largo|Pátio|Pra(ç|cet)a|Rotunda|Rua|Transversal|Travessa|Terreiro|Trilho|Túnel|Variante|Vereda|Via(-Rápida)?|Viadutos?|Viela)( (de acesso|sem nome|projetad(a|o)|em construção))?$/] {
     222*[highway][name =~ /^(?i)(Auto-?Estrada|Alameda|Avenida|Beco|Calçad(inh)?a|Caminho|Ciclovia|Escad(a|inha|aria)s?|Estrada\s?(Nacional|Regional|Municipal)?|Itinerário\s? (Complementar|Principal)?|Ladeira|Largo|Pátio|Pra(ç|cet)a|Rotunda|Rua|Ruela|Transversal|Travessa|Terreiro|Trilho|Túnel|Variante|Vereda|Via(-Rápida)?|Viadutos?|Viela)( (de acesso|sem nome|projetad(a|o)|em construção))?$/] {
    200223        throwWarning: tr("PT2-Via com nome incompleto");
    201224}
     225*[highway=service][name =~ /^(?i)(Auto-?Estrada|Alameda|Avenida|Beco|Calçad(inh)?a|Caminho|Ciclovia|Escad(a|inha|aria)s?|Estrada\s?(Nacional|Regional|Municipal)?|Itinerário\s? (Complementar|Principal)?|Ladeira|Largo|Pátio|Pra(ç|cet)a|Rotunda|Rua|Ruela|Transversal|Travessa|Terreiro|Trilho|Túnel|Variante|Vereda|Via(-Rápida)?|Viadutos?|Viela)( (de acesso|sem nome|projetad(a|o)|em construção))?$/] {
     226                throwWarning: tr("PT2-Via pública erradamente de serviço");
     227}
    202228/* endereços com nome de via errado */
    203 *["addr:street"]["addr:street" !~ /^(Alameda|Avenida|Beco|Calçad(inh)?a|Caminho|Campus|Circular|Condomínio|Escad(a|inha|aria)s?|Estrada|Itinerário\s?|Jardi(m|ns)|Ladeira|Largo|Loteamento|Pátio|Pra(ç|cet)a|Quinta|Rotunda|Rua|Terreiro|Transversal|Travessa|Urbanização|Variante|Vereda|Via|Viela) .*/] {
     229*["addr:street"]["addr:street" !~ /^(Alameda|Avenida|Beco|Calçad(inh)?a|Caminho|Campus|Circular|Condomínio|Escad(a|inha|aria)s?|Estrada|Itinerário\s?|Jardi(m|ns)|Ladeira|Largo|Loteamento|Pátio|Pra(ç|cet)a|Quinta|Rotunda|Rua|Ruela|Terreiro|Transversal|Travessa|Urbanização|Variante|Vereda|Via|Viela) .*/] {
    204230        throwWarning: tr("PT2- {0} sem nome de via, errado, abreviado ou maiúsculas", "{0.key}");
     231}
     232/* estrada com identificador mas sem o nome real */
     233*[name = *ref][highway] {
     234                throwWarning: tr("PT2- {0} e {1} são iguais; adicionar nome completo da via", "{0.key}", "{0.value}");
    205235}
    206236/* nome de vias sem logradouro correto */
    207237*[highway=cycleway][name][name !~ /^(?i)ciclovia .*/],
    208 *[highway][highway !~ /bridleway|bus_stop|cycleway|crossing|footway|give_way|motorway_junction|path|raceway|speed_camera|steps|stop/][name][name !~ /^(Auto-?[Ee]strada|Alameda|Avenida|Beco|Calçad(inh)?a|Caminho|Circular Regional Exterior|Escad(a|inha|aria)s?|Estrada|Itinerário|Ladeira|Largo|Loteamento|Pátio|Passeio|Ponte|Pra(ç|cet)a|Rotunda|Rua|Terreiro|Transversal|Travessa|Túnel|Variante|Vereda|Via(-Rápida)?|Viaduto|Viela) .*/ {
     238*[highway][highway !~ /bridleway|bus_stop|cycleway|crossing|footway|give_way|motorway_junction|path|raceway|speed_camera|steps|stop/][name][name !~ /^(Auto-?[Ee]strada|Alameda|Avenida|Beco|Calçad(inh)?a|Caminho|Circular Regional Exterior|Escad(a|inha|aria)s?|Estrada|Itinerário|Ladeira|Largo|Loteamento|Pátio|Passeio|Ponte|Pra(ç|cet)a|Rotunda|Rua|Ruela|Terreiro|Transversal|Travessa|Túnel|Variante|Vereda|Via(-Rápida)?|Viaduto|Viela) .*/ {
    209239        throwWarning: tr("PT2- {0} sem nome de via, errado, abreviado ou maiúsculas", "{0.key}");
    210240}
     
    245275        throwWarning: tr("PT2-Verificar:estabelecimento de ensino errado");
    246276        suggestAlternative: "amenity=university";
    247                 fixAdd: "amenity=university";
     277        fixAdd: "amenity=university";
    248278}
    249279*[amenity =~ /^(university|college|kindergarten|driving_school)$/][name =~ /^(?i)\b(Escola|Agrupamento de Escolas|Liceu|Centro de Formação Profissional)\b/][name !~ /^(?i)\b(Escola d[eo] Serviço de Saúde Militar|Escola Náutica Infante|Escola Naval|Escola Superior|Escola Universitária|Escola de Condução)\b/] {
    250280        throwWarning: tr("PT2-Verificar:estabelecimento de ensino errado");
    251281        suggestAlternative: "amenity=school";
    252                 fixAdd: "amenity=school";
     282        fixAdd: "amenity=school";
    253283}
    254284*[amenity =~ /^(university|school|kindergarten|driving_school)$/][name =~ /^(?i)\b(Colégio|Internato|Real Colégio)\b/] {
    255285        throwWarning: tr("PT2-Verificar:estabelecimento de ensino errado");
    256286        suggestAlternative: "amenity=college";
    257                 fixAdd: "amenity=college";
     287        fixAdd: "amenity=college";
    258288}
    259289*[amenity =~ /^(university|school|college|driving_school)$/][name =~ /^(?i)\b(creche|jardim infantil|jardim de infância|infantário|externato|pré-primária)\b/] {
    260290        throwWarning: tr("PT2-Verificar:estabelecimento de ensino errado");
    261291        suggestAlternative: "amenity=kindergarten";
    262                 fixAdd: "amenity=kindergarten";
     292        fixAdd: "amenity=kindergarten";
    263293}
    264294*[amenity =~ /^(university|school|college|kindergarten)$/][name =~ /^(?i)\bEscola de Condução\b/] {
     
    270300*[amenity = university] ∈ *[amenity = college],
    271301*[amenity = university] ∈ *[amenity = school] {
    272           throwWarning: tr("PT2- {0} dentro de {1}", "amenity=university", "{0.tag}");
     302        throwWarning: tr("PT2- {0} dentro de {1}", "amenity=university", "{0.tag}");
    273303}
    274304*[amenity = college] ∈ *[amenity = college] {
    275           throwWarning: tr("PT2- {0} dentro de {1}", "amenity=college", "{0.tag}");
     305        throwWarning: tr("PT2- {0} dentro de {1}", "amenity=college", "{0.tag}");
    276306}
    277307*[amenity = school] ∈ *[amenity = school] {
    278           throwWarning: tr("PT2- {0} dentro de {1}", "amenity=school", "{0.tag}");
     308        throwWarning: tr("PT2- {0} dentro de {1}", "amenity=school", "{0.tag}");
    279309}
    280310*[name =~ /(?i)\bHelipo[rn]to?\b/][aeroway][aeroway != helipad],
     
    344374*[name =~ /(?i)(Junta de Freguesia|Câmara Municipal).*/][name !~ /(?i)(Rua|Avenida|Travessa) da (Junta de Freguesia|Câmara Municipal).*/][amenity != townhall] {
    345375        throwWarning: tr("PT2-Juntas de Freguesia e Câmaras Municipais devem ser amenity=townhall");
    346                 fixAdd: "amenity=townhall";
     376        fixAdd: "amenity=townhall";
    347377}
    348378*[name =~ /^(?i)Ferragens\b/][shop != hardware] {
    349379        throwWarning: tr("PT2-Loja de ferragens c/etiqueta errada. Deve ser shop=hardware");
    350                 fixAdd: "shop=hardware";
     380        fixAdd: "shop=hardware";
    351381}
    352382
     
    526556}
    527557*[access = permissive] {
    528         throwWarning: tr("PT2-Verificar: {0} só deve ser usado em vias privadas com permissão de acesso e não vias públicas", "{0.tag}");
     558        throwWarning: tr("PT2-Verificar: {0} usar só em vias privadas com permissão de acesso e não vias públicas", "{0.tag}");
    529559}
    530560*[aeroway][designation =~ /^[A-Z]{4}$/][!icao],
     
    586616/* é útil ter o destino das saídas de estradas */
    587617*[highway = motorway_link][!destination] {
    588                 throwOther: tr("PT2- {0} sem etiqueta {1}", "{0.value}", "{1.key}");
     618        throwOther: tr("PT2- {0} sem etiqueta {1}", "{0.value}", "{1.key}");
    589619}
    590620*[place = city][!population],