Changes between Version 23 and Version 24 of Rules/Portuguese-Errors-PT2


Ignore:
Timestamp:
2015-12-07T02:20:23+01:00 (11 years ago)
Author:
zermes
Comment:

More rules and fixes

Legend:

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

    v23 v24  
    6464                throwWarning: tr("PT2-name ou addr:street com maiúscula em Da,No,De,E...");
    6565}
    66 *[/^name|addr:street/ =~ /^[a-z]/] {
     66*[/^(name|addr:street)$/ =~ /^[a-z]/] {
    6767                throwWarning: tr("PT2-name ou addr:street que começa em minúscula");
    6868}
     
    114114                throwWarning: tr("PT2-addr:street abreviado_");
    115115}
    116 *[name =~ /\b(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|Congr|D|Dept|Dir|E(\.|\s)?T(\.|\s)?A(\.|\s)?R|Ed[Ee]|Ext|[FSfs](\.\s?|\s)?[Cc](lub)?e?|Gab|H|Inst|J(\.\s?|\s)?F|Lab|Mte|Na|Ns|N[^0-9º]|N(\.\s?|\s)?[ªa]|\sN\sS|Of|Pte|P(\.\s?|\s)?S(\.\s?|\s)?P|Qta|R|Res|Rib(\.a|\.?ª)?|S|S(\.\s?|\s)?C|Soc|Sª|Sr?\.?ª|Sra?|St\.?[oaºª]?|Univ)(\.|\s)/][/(name|addr:street)/ !~ /S\.A\./] {
     116*[name =~ /\b(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|Congr|Coop(\.\s?|\s)|D|Dept|Dir|E(\.|\s)?T(\.|\s)?A(\.|\s)?R|Ed[Ee]|Ext|[FSfs](\.\s?|\s)?[Cc](lub)?e?|Gab|H|Inst|J(\.\s?|\s)?F|Lab|Mte|Na|Ns|N[^0-9º]|N(\.\s?|\s)?[ªa]|\sN\sS|Of|Pte|P(\.\s?|\s)?S(\.\s?|\s)?P|Qta|R|Res|Rib(\.a|\.?ª)?|S|S(\.\s?|\s)?C|Soc|Sª|Sr?\.?ª|Sra?|St\.?[oaºª]?|Univ)(\.|\s)/][/(name|addr:street)/ !~ /S\.A\./] {
    117117                throwWarning: tr("PT2-Nome abreviado-NÃO alterar se for nome de estabelecimento");
    118118}
     
    175175 * em alguns locais corretamente porque utiliza a grafia antiga, por isso não se deve colocar estes casos aqui.
    176176 */
    177 *[/^(name|addr:street|addr:city|alt_name|int_name|nat_name|reg_name|loc_name|old_name|official_name|name:pt)$/ =~ /(?i)(oes\b|\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|\bAgui?as?|\bAlamo\b|Alcantara|Alfandega|\bAl(ge|j[ée])s\b|Alvar(es|o)|Amalia|\bAmandio|\bAmeli[ao]\b|Americ[ao]s?\b|Amisade|\bAndre\b|\bAngel[ao]\b|\bAnibal|Antonio|Apolonia|Araujo|Arma(ze|sé)(m|ns)|Area|Arqueol(og|ój|oj)ic[oa]|\bArtes(ao|oes)|\bArtistic[oa]|Arvore|Ascen(sao|ção|çao)|\bAsenha\b|As(s?isten[cs]s?|istên[cs]s?i)ia|Astronomico|\bA[sc]is\b|Ass?o(c|ss?)ia(ça|cã|ca)o|Atlantic|Atletico|Auditorio|\bAzemeis|\bBaia\b|B(as|áz)i(li)?c[ao]|\bBarao\b|\bBarbar[ao]s?\b|\bBa(zí|si)lica|\bB[éê]co\b|\bBelem\b|B(élj|el[gj]i)c|\bBelesa|\bBeltr[aâ]o\b|\bBetao\b|\bBissáu\b|Bonanico|Bonif(ac|as|ás)io|\bBrandao\b|\bBras\b|Bra(si|z[ií])lia|\bBrazil|Britanic|Cab(leireir[ao]|eleleir[ao]|eleire?[ao])|\bCacador|Cafe\b|Caf(ét[ea]|ata)ria|Cal(c|ss?)ada|C(alva|álv[áa])rio|\bC[àáã]mara|Cambio|Camelia|cami(onaj|no[gj]|nona[gj]|na[gj])em|Camoes|\bCa(mponez|npone[zs])|\bCandid[ao]\b|\bC[aâ]o\b\b|\bCapit(ao|aes|[õo]es)|Ca[cs]s?ador|\bCaza\b|C[ei]miterio|Centenari[ao]|C(e[zs]|éz)ar|Chafaris|\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|Com(monit[áa]|unita)ri[ao]|Concei(ca|ça|cã)o|\bC[oô]nego\b|Con([cs]s?ervato|cervató)ri|Coperativa|\bCredito|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|Di(até|ete)tica|\bDili\b|Dion(is|iz|íz)io|Dire(cã|ça|ca)o|Domingao|\bE(c|ss?)ca\b|Edif(i[cçs]s?|íç|íss?)icio|Educa(ca|ça|cã)o|Elec?tric[ao]s?|Elec?trodomestic|\bElisi[ao]s?\b|\b([ÈÉ]m[íi]|Emi)di[ao]\b|\bEmili[ao]\b|Encarna(ca|ça|cã)o|Escadori|Escoteiro|Espirit[ao]|Expli([çc][õo]es|ca(cõ|ço|co)es|ca(ça|cã)o)|Esta(ca|ça|cã)o|\bEstadio|Estasiona|Estatua|\bEstefani[ao]|Esternato|Estetica|Estradao|Est[êée]vao|Estufador|\bEufemi|Evan(ge|jé|je)lica|\bEvora\b|Ex(erc|érs)ito|\bEx(ilio|ílad)|Fabricas?\b|\bFamalicao|\bFamilia\b|(para)?Farmacia|Fatima|Felix|\bFerre[ao]|Ferr?oviari|Finan(c|ss?)as|\bFisic[ao]\b|\bFlavi[ao]\b|\bFont[ae]rio|Fortalesa|Fotebol\b|\bFotografo|Fran(ce|sê|se)s\b|F(egu?e[sz]|rege[sz]|regu?ez)ia|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(\sBiss?a[ou])?|Guiné(-|\s)?(Bi[çs]a[ou])|Hermini[ao]\b|Herois|Hipico|\bHor(áss?|ac)io|Horten[cs]ia|Horticula|\bH[õô]tel|Iberic[ao]|Imobiliaria|\bIn([áa]ss?|ac)io|Independencia|India\b|Industrias?\b|Inf(a[cs]s?ia|ânss?ia|antario)|\binformatica|\bIn(es|ez|êz)\b|Infantario|Informatica|Inspec?ç?(a|oes)|\bIrmao?s?\b|\bJeova\b|Jeronimo|\bJiesta|\bJoao\b|Joelheria|\bJoias?\b|J[oó]se\b|J[ou]d[iu]([cs]s?ia|ss?i[áa]|[cs]?i[cs]?ia)ria|\bJuliao\b|\bJusti(c|ss?)a|\bJulia?o\b|\bJuridic|Laboratorio|L(ás|az|as)aro|Leao|Leitao|\bLinguas?\b|\bLiquido\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|\bMalhao\b|Maquinas?|\bMarili|Maritim[oa]|\bMario\b|Martir(es)?\b|\bMatris\b|Marqu?(é[sz]|eza)\b|Matematic|\bMedic[oa]\b|Metal(úrjica|ur[jg]ica)|Mi(ss?iona|cion[áa])ri|M[ei][sz](erir?co|irec[oó])rd[ie](o[sz])?a|\bMoises\b|Mortuaria|Moveis|\bM(o[zs]|uz)eu\b|\bM(o[sz]e[ou]|useo|uze[ou])\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)|Panoramic|\bPao\b|\bP[áa]teo\b|\bP[àaâã]tio\b|Pavilh(ao|oes)|\bPen(ss?a|ssã|çã)o\b|\bPredios?\b|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|Repara(cões|çoes|coes|çao|cao|cão)|R[ée]publica\b|R(épu|epú|épú)blican[ao]|Retro(za|[zs]e)ria|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|Sand([ou][íi]x|[ou]ich|oích)e|\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|Ser(racao|raçao|racão|ação)|Sepulveda|Servi(c|ss?)o|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|Tape([çc]e|[cs]s?a)ria|Taxis?|Tecnico|Tecnol(ój|o[gj])ico|\bTenis\b|Tertulia|Teofilo|Teotonio|Textil|\bTilia|\bTipico|\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(ide|[íi]di)o\b|\bV(ir[gj]i|jí|erj[íi]|ergi)li|Veter(i?na|en[áa])ri|\bVilaret?\b|Vitoria|Voluntario)/] {
     177*[/^(name|addr:street|addr:city|alt_name|int_name|nat_name|reg_name|loc_name|old_name|official_name|name:pt)$/ =~ /(?i)(oes\b|\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|\bAgui?as?|\bAlamo\b|Alcantara|Alfandega|\bAl(ge|j[ée])s\b|Alvar(es|o)|Amalia|\bAmandio|\bAmeli[ao]\b|Americ[ao]s?\b|Amisade|\bAndre\b|\bAngel[ao]\b|\bAnibal|Antonio|Apolonia|Araujo|Arma(ze|sé)(m|ns)|Area|Arqueol(og|ój|oj)ic[oa]|\bArtes(ao|oes)|\bArtistic[oa]|Arvore|Ascen(sao|ção|çao)|\bAsenha\b|As(s?isten[cs]s?|istên[cs]s?i)ia|Astronomico|\bA[sc]is\b|Ass?o(c|ss?)ia(ça|cã|ca)o|Atlantic|Atletico|Auditorio|\bAzemeis|\bBaia\b|B(as|áz)i(li)?c[ao]|\bBarao\b|\bBarbar[ao]s?\b|\bBa(zí|si)lica|\bB[éê]co\b|\bBelem\b|B(élj|el[gj]i)c|\bBelesa|\bBeltr[aâ]o\b|\bBetao\b|\bBissáu\b|Bonanico|Bonif(ac|as|ás)io|\bBrandao\b|\bBras\b|Bra(si|z[ií])lia|\bBrazil|Britanic|Cab(leireir[ao]|eleleir[ao]|eleire?[ao])|\bCacador|Cafe\b|Caf(ét[ea]|ata)ria|Cal(c|ss?)ada|C(alva|álv[áa])rio|\bC[àáã]mara|Cambio|Camelia|cami(onaj|no[gj]|nona[gj]|na[gj])em|Camoes|\bCa(mponez|npone[zs])|\bCandid[ao]\b|\bC[aâ]o\b\b|\bCapit(ao|aes|[õo]es)|Ca[cs]s?ador|\bCaza\b|C[ei]miterio|Centenari[ao]|\bC(e[zs]|éz)ar\b|Chafaris|\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|Com(monit[áa]|unita)ri[ao]|Concei(ca|ça|cã)o|\bC[oô]nego\b|Con([cs]s?ervato|cervató)ri|Coperativa|cosmetic(a|os)|\bCredito|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|Di(até|ete)tica|\bDili\b|Dion(is|iz|íz)io|Dire(cã|ça|ca)o|Domingao|\bE(c|ss?)ca\b|Edif(i[cçs]s?|íç|íss?)icio|Educa(ca|ça|cã)o|Elec?tric[ao]s?|Elec?trodomestic|\bElisi[ao]s?\b|\b([ÈÉ]m[íi]|Emi)di[ao]\b|\bEmili[ao]\b|Encarna(ca|ça|cã)o|Escadori|Escoteiro|Espirit[ao]|Expli([çc][õo]es|ca(cõ|ço|co)es|ca(ça|cã)o)|Esta(ca|ça|cã)o|\bEstadio|Estasiona|Estatua|\bEstefani[ao]|Esternato|Estetica|Estradao|Est[êée]vao|Estufador|\bEufemi|Evan(ge|jé|je)lica|\bEvora\b|Ex(erc|érs)ito|\bEx(ilio|ílad)|Fabricas?\b|\bFamalicao|\bFamilia\b|(para)?Farmacia|Fatima|Felix|\bFerre[ao]|Ferr?oviari|Finan(c|ss?)as|\bFisic[ao]\b|\bFlavi[ao]\b|\bFont[ae]rio|Fortalesa|Fotebol\b|\bFotografo|Fran(ce|sê|se)s\b|F(egu?e[sz]|rege[sz]|regu?ez)ia|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(\sBiss?a[ou])?|Guiné(-|\s)?(Bi[çs]a[ou])|Hermini[ao]\b|Herois|Hipico|\bHor(áss?|ac)io|Horten[cs]ia|Horticula|\bH[õô]tel|Iberic[ao]|Imobiliaria|\bIn([áa]ss?|ac)io|Independencia|India\b|Industrias?\b|Inf(a[cs]s?ia|ânss?ia|antario)|\binformatica|\bIn(es|ez|êz)\b|Infantario|Informatica|Inspec?ç?(a|oes)|\bIrmao?s?\b|\bJeova\b|Jeronimo|\bJiesta|\bJoao\b|Joelheria|\bJoias?\b|J[oó]se\b|J[ou]d[iu]([cs]s?ia|ss?i[áa]|[cs]?i[cs]?ia)ria|\bJuliao\b|\bJusti(c|ss?)a|\bJulia?o\b|\bJuridic|Laboratorio|L(ás|az|as)aro|Leao|Leitao|\bLinguas?\b|\bLiquido\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|\bMalhao\b|Maquinas?|\bMarili|Maritim[oa]|\bMario\b|Martir(es)?\b|\bMatris\b|Marqu?(é[sz]|eza)\b|Matematic|\bMedic[oa]\b|Metal(úrjica|ur[jg]ica)|Mi(ss?iona|cion[áa])ri|M[ei][sz](erir?co|irec[oó])rd[ie](o[sz])?a|\bMoises\b|Mortuaria|Moveis|\bM(o[zs]|uz)eu\b|\bM(o[sz]e[ou]|useo|uze[ou])\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)|Panoramic|\bPao\b|\bP[áa]teo\b|\bP[àaâã]tio\b|Pavilh(ao|oes)|\bPen(ss?a|ssã|çã)o\b|\bPredios?\b|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|Repara(cões|çoes|coes|çao|cao|cão)|R[ée]publica\b|R(épu|epú|épú)blican[ao]|Retro(za|[zs]e)ria|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|Sand([ou][íi]x|[ou]ich|oích)e|\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|Ser(racao|raçao|racão|ação)|Sepulveda|Servi(c|ss?)o|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|Tape([çc]e|[cs]s?a)ria|Taxis?|Tecnico|Tecnol(ój|o[gj])ico|\bTenis\b|Tertulia|Teofilo|Teotonio|Textil|\bTilia|\bTipico|\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(ide|[íi]di)o\b|\bV(ir[gj]i|jí|erj[íi]|ergi)li|Veter(i?na|en[áa])ri|\bVilaret?\b|Vitoria|Voluntario)/] {
    178178                throwWarning: tr("PT2-Verificar:name ou similares, addr:street, addr:city com erros ortográficos");
    179179}
     
    473473}
    474474*[name =~ / - /] {
    475         throwWarning: tr("PT2-Nome com traço", "{0.key}");
     475        throwWarning: tr("PT2-Nome com traço", "caso seja adequado {0.key}");
    476476        suggestAlternative: "alt_name";
    477477        suggestAlternative: "short_name";
     
    485485        suggestAlternative: "note";
    486486}
    487 *[name =~ /,\s?(C\.?R\.?L|E\.?P|I\.P|Lda|S\.A|Unip)\.?/] {
     487*[name =~ /,\s?([Cc]\.?[Rr]\.?[Ll]|E\.?P|I\.P|L[Dd][Aa]|S\.A|Unip(essoal)?|UNIP(PESSOAL)?|[Ss]\.?[Gg]\.?[Pp]\.?[Ss])\.?/] {
    488488        throwWarning: tr("PT2-Nome com designação comercial, use antes official_name e crie name sem a designação comercial");
    489489        fixChangeKey: "name => official_name";
     
    555555        fixAdd: "amenity=university";
    556556}
    557 *[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/] {
     557*[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/] {
    558558        throwWarning: tr("PT2-Verificar:estabelecimento de ensino errado");
    559559        suggestAlternative: "amenity=school";
     
    574574        suggestAlternative: "amenity=driving_school";
    575575        fixAdd: "{0.key}=driving_school";
    576 }
    577 *[amenity = university] ∈ *[amenity = university],
    578 *[amenity = university] ∈ *[amenity = college],
    579 *[amenity = university] ∈ *[amenity = school] {
    580         throwWarning: tr("PT2- {0} dentro de {1}", "amenity=university", "{0.tag}");
    581576}
    582577*[amenity = college] ∈ *[amenity = college] {
     
    600595*[name =~ /(?i)\bMotel\b/][tourism != motel],
    601596*[name =~ /(?i)\bPadandaria\b/][shop != bakery],
    602 *[name =~ /(?i)\bTalho\b/][shop != butcher],
    603 *[name =~ /(?i)\bSapataria\b/][shop != shoes],
    604597*[name =~ /(?i)\b(Cabeleireir[ao]|Barbe(iro|aria))\b/][shop != hairdresser],
    605598*[name =~ /(?i)\bCentro de Cópias\b/][shop != copyshop],
    606599*[name =~ /(?i)\bPeixaria\b/][shop != seafood],
    607600*[name =~ /(?i)\bLoja de Tecidos\b/][shop != fabric],
    608 *[name =~ /(?i)\bInformática\b/][shop != computer],
     601*[name =~ /(?i)\b(Informática|Chip7)\b/][shop != computer],
    609602*[name =~ /(?i)\b(Salão de Beleza|Nails|Manicure|Pedicure)\b/][shop != beauty],
    610 *[name =~ /(?i)\b(Body Shop|Boticário)\b/][shop != cosmetics],
    611 *[name =~ /(?i)\bRelógios\b/][shop != watches],
     603*[name =~ /(?i)\b(Body Shop|Boticário|Sephora)\b/][shop != cosmetics],
    612604*[name =~ /(?i)\b(Decoraç(ão|ões)|Zara Home)\b/][shop != interior_decoration],
    613605*[name =~ /(?i)\bArmazém\b/][building != warehouse],
     
    616608*[name =~ /(?i)\bAterro\b/][landuse != landfill],
    617609*[name =~ /(?i)\bSalinas?\b/][landuse != salt_pond],
    618 *[name =~ /(?i)\b(Lavandaria|5 a sec)\b/][shop != laundry],
     610*[name =~ /(?i)\b(Lavandaria|5 à Sec)\b/][shop != laundry],
    619611*[name =~ /^(?i)Loja de Animais/][shop != pet],
    620612*[name =~ /^(?i)(videoclube|clube de video)/][shop != video],
     
    644636*[name =~ /^(?i)Loja de Tecidos/][shop != fabric],
    645637*[name =~ /^(?i)\b(Roupas?|Pronto[- ]a[- ]Vestir)\b/][shop != clothes],
    646 *[name =~ /^(?i)\b(Bershka|Cortefiel|Foreva|Gant|H&M|Hugo Boss|Lanidor|Mango|Massimo Dutti|Pull and Bear|RockPort|Sacoor|Springfield|Tiffosi|Tommy Hilfiger|United Colors of Benetton|Zara)\b/][shop != clothes],
     638*[name =~ /^(?i)\b(Bershka|C&A|Calvin Klein|Camel|Cortefiel|Foreva|Gant|Guess|H&M|Hugo Boss|Lanidor|Mango|Massimo Dutti|Pull and Bear|RockPort|Sacoor|Springfield|Tiffosi|Tommy Hilfiger|United Colors of Benetton|Zara)\b/][shop != clothes],
    647639*[name =~ /^(?i)\b(Ana Salazar|Fátima Lopes|Katty Xiomara|Luís Buchinho|Maria Gambina|Miguel Vieira|Nuno Gama)\b/][shop != fashion],
    648640*[name =~ /^(?i)\b(Malas?|Paco Martinez)\b/][shop != bag],
     
    715707        fixAdd: "{1.key}={1.value}";
    716708}
    717 *[name =~ /^(?i)monumento/][historic != monument][!highway] {
     709*[name =~ /(?i)\b(Sapataria|Rockport)\b/][shop != shoes][!highway][!boundary][!place] {
     710        throwWarning: tr("PT2-Sapataria deve ter shop=shoes");
     711                fixAdd: "shop=shoes";
     712}
     713*[name =~ /(?i)\b(Nike|Adidas|ASICS|FILA|Puma|Reebok)\b/][shop != shoes][shoes != sport][!highway][!boundary][!place] {
     714        throwWarning: tr("PT2-Loja de sapatilhas deve ter shop=shoes e shoes=sport");
     715                fixAdd: "shop=shoes";
     716                fixAdd: "shoes=sport";
     717}
     718*[name =~ /(?i)\b(Relógios|Boutique dos Relógios)\b/][shop != watches][!highway][!boundary][!place] {
     719        throwWarning: tr("PT2-Talho deve ter shop=watches");
     720                fixAdd: "shop=watches";
     721}
     722*[name =~ /^(?i)monumento/][historic != butcher][!highway][!boundary][!place] {
     723        throwWarning: tr("PT2-Talho deve ter shop=butcher");
     724                fixAdd: "shop=butcher";
     725}
     726*[name =~ /^(?i)monumento/][historic != monument][!highway][!boundary][!place] {
    718727        throwWarning: tr("PT2-Monumento deve ter historic=monument");
    719728                fixAdd: "historic=monument";
    720729}
    721 *[name =~ /^(?i)Serração/][craft != sawmill][!highway] {
     730*[name =~ /^(?i)Serração/][craft != sawmill][!highway][!boundary][!place] {
    722731        throwWarning: tr("PT2-Serração deve ter craft=sawmill");
    723732                fixAdd: "craft=sawmill";
    724733}
    725 *[name =~ /(?i)\b(Represa|Açude)\b/][waterway != weir][!highway] {
     734*[name =~ /(?i)\b(Represa|Açude)\b/][waterway != weir][!highway][!boundary][!place] {
    726735        throwWarning: tr("PT2-Represa ou Açude deve ter waterway=weir");
    727736                fixAdd: "waterway=weir";
    728737}
    729 *[name =~ /(?i)\b(Queda de Água|Cascata|Catarata)s?\b/][waterway != waterfall][!highway] {
     738*[name =~ /^(?i)(Queda de Água|Cascata|Catarata)s?\b/][waterway != waterfall][!highway][!boundary][!place] {
    730739        throwWarning: tr("PT2-Queda de Água, Cascata ou Catarata deve ter waterway=waterfall");
    731740                fixAdd: "waterway=waterfall";
    732741}
    733 *[name =~ /^(?i)Barragem\b/][waterway != dam][!highway] {
     742*[name =~ /^(?i)Barragem\b/][waterway != dam][!highway][!boundary][!place] {
    734743        throwWarning: tr("PT2-Barragem deve ter waterway=dam");
    735744                fixAdd: "waterway=dam";
    736745}
    737 *[name =~ /^(?i)Albufeira\b/][waterway != reservoir][!highway],
    738 *[name =~ /^(?i)Albufeira\b/][water != reservoir][!highway] {
     746*[name =~ /^(?i)Albufeira\b/][natural != water][!highway][!boundary][!place],
     747*[name =~ /^(?i)Albufeira\b/][water != reservoir][!highway][!boundary][!place] {
    739748        throwWarning: tr("PT2-Albufeira deve ter water=reservoir e natural=water");
    740749                fixAdd: "water=reservoir";
    741750                fixAdd: "natural=water";
    742751}
    743 *[name =~ /^(?i)\b(Pingo Doce|Minipreço|Continente|\bModelo\b|\bJumbo\b|Carrefour|Pão de Açúcar|E\.Leclerc|Intermarché|Hipermercado|Supermercado|mini[- ]?mercado|Mercearia)\b/][shop != supermarket][amenity != fuel][!highway][!railway] {
     752*[name =~ /^(?i)\b(Pingo Doce|Minipreço|Continente|\bModelo\b|\bJumbo\b|Carrefour|Pão de Açúcar|E\.Leclerc|Intermarché|Hipermercado|Supermercado|mini[- ]?mercado|Mercearia)\b/][shop != supermarket][amenity != fuel][!highway][!railway][!boundary][!place] {
    744753        throwWarning: tr("PT2-Mini, Super e Hipermercados devem ter shop=supermarket");
    745754                fixAdd: "shop=supermarket";
    746755}
    747 *[name =~ /^(?i)(pelourinho|picota)/][historic != pillory][!highway][!railway] {
     756*[name =~ /^(?i)(pelourinho|picota)/][historic != pillory][!highway][!railway][!boundary][!place] {
    748757        throwWarning: tr("PT2-Pelorinho devem ter historic=pillory");
    749758                fixAdd: "historic=pillory";
    750759}
    751 *[name =~ /^(?i)(Centro|Pavilhão|Parque) de Exposições/][amenity != exhibition_centre][amenity != convention_centre][amenity != convention_centre][!highway][!railway] {
     760*[name =~ /^(?i)(Centro|Pavilhão|Parque) de Exposições/][amenity != exhibition_centre][amenity != convention_centre][amenity != convention_centre][!highway][!railway][!boundary][!place] {
    752761        throwWarning: tr("PT2-Parque de Exposições e similares devem ter amenity=exhibition_centre");
    753762                fixAdd: "amenity=exhibition_centre";
    754763}
    755 *[name =~ /^(?i)(Centro|Pavilhão|Parque) de (Convenções|Congressos)/][amenity != convention_centre][amenity != exhibition_centre][!highway][!railway] {
     764*[name =~ /^(?i)(Centro|Pavilhão|Parque) de (Convenções|Congressos)/][amenity != convention_centre][amenity != exhibition_centre][!highway][!railway][!boundary][!place] {
    756765        throwWarning: tr("PT2-Centro de Congressos e similares devem ter amenity=convention_centre");
    757766                fixAdd: "amenity=convention_centre";
    758767}
    759 *[name =~ /(?i)\b(Joalh[ae]ria|Ourives|Ourivesaria|Pandora)\b/][shop != jewelry][!highway][!railway] {
     768*[name =~ /(?i)\b(Joalh[ae]ria|Ourives|Ourivesaria|Pandora)\b/][shop != jewelry][!highway][!railway][!boundary][!place] {
    760769        throwWarning: tr("PT2-Ouriversaria deve ter shop=jewelry");
    761770                fixAdd: "shop=jewelry";
    762771}
    763 *[name =~ /^(?i)Casa do Povo/][amenity != community_centre][!highway][!railway] {
     772*[name =~ /^(?i)Casa do Povo/][amenity != community_centre][!highway][!railway][!boundary][!place] {
    764773        throwWarning: tr("PT2-Casa do Povo deve ter amenity=community_centre");
    765774                fixAdd: "amenity=community_centre";
    766775}
    767 *[name =~ /^(?i)Seminário/][amenity != school][!highway] {
     776*[name =~ /^(?i)Seminário/][amenity != school][!highway][!boundary][!place] {
    768777        throwWarning: tr("PT2-Seminário deve ter amenity=school");
    769778                fixAdd: "amenity=school";
    770779}
    771 *[name =~ /^(?i)(Centro|Escola) de Formação/][amenity != school][!highway] {
     780*[name =~ /^(?i)(Centro|Escola) de Formação/][amenity != school][!highway][!boundary][!place] {
    772781        throwWarning: tr("PT2-Centro ou Escola de Formação deve ter amenity=school");
    773782                fixAdd: "amenity=school";
    774783}
    775 *[name =~ /(?i)(Restaurante?|Petis(cos|queira|\bTasc[ao]\b))/][amenity != restaurant][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     784*[name =~ /(?i)(Restaurante?|Petis(cos|queira|\bTasc[ao]\b))/][amenity != restaurant][!highway][!boundary][!place][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
    776785        throwWarning: tr("PT2-Restaurante ou similar deve ter amenity=restaurant");
    777786                fixAdd: "amenity=restaurant";
    778787}
    779 *[name =~ /(?i)\b(Centro Comercial|Shopp?ing Cent(er|re))\b/][shop != mall][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     788*[name =~ /(?i)\b(Centro Comercial|Shopp?ing Cent(er|re))\b/][shop != mall][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/][!boundary][!place] {
    780789        throwWarning: tr("PT2-Centro Comercial deve ter shop=mall");
    781790                fixAdd: "craft=mall";
     
    792801                fixAdd: "shop=radiotechnics";
    793802}
    794 *[name =~ /^(?i)Café\b/][amenity !~ /cafe|restaurant/][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     803*[name =~ /^(?i)Café\b/][amenity !~ /cafe|restaurant/][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/][!boundary][!place] {
    795804        throwWarning: tr("PT2-Café deve ter amenity=cafe");
    796805                fixAdd: "amenity=cafe";
    797806}
    798 *[name =~ /^(?i)Pint(or|uras)/][craft != painter][!highway] {
     807*[name =~ /^(?i)Pint(or|uras)/][craft != painter][!highway][!boundary][!place] {
    799808        throwWarning: tr("PT2-Pintor deve ter craft=painter");
    800809                fixAdd: "craft=painter";
    801810}
    802 *[name =~ /(?i)\bTeatro\b/][amenity != theatre][name !~ /(?i)\bCine(-| )?Teatro\b/][!highway] {
     811*[name =~ /(?i)\bTeatro\b/][amenity != theatre][name !~ /(?i)\bCine(-| )?Teatro\b/][!highway][!boundary][!place] {
    803812        throwWarning: tr("PT2-Teatro deve ter amenity=theatre");
    804813                fixAdd: "amenity=theatre";
    805814}
    806 *[name =~ /(?i)\b(Prisão|Prisional)\b/][amenity != prison][!highway] {
     815*[name =~ /(?i)\b(Prisão|Prisional)\b/][amenity != prison][!highway][!boundary][!place] {
    807816        throwWarning: tr("PT2-Prisão deve ter amenity=prison");
    808817                fixAdd: "amenity=prison";
    809818}
    810 *[name =~ /(?i)\b(Embaixada|Consulado)\b/][amenity != embassy][!highway] {
     819*[name =~ /(?i)\b(Embaixada|Consulado)\b/][amenity != embassy][!highway][!boundary][!place] {
    811820        throwWarning: tr("PT2-Embaixada e Consulado deve ter amenity=embassy");
    812821                fixAdd: "amenity=embassy";
    813822}
    814 *[name =~ /(?i)\bCemitério\b/][landuse != cemetery][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     823*[name =~ /(?i)\bCemitério\b/][landuse != cemetery][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/][!boundary][!place] {
    815824        throwWarning: tr("PT2-Cemitério deve ter landuse=cemetery");
    816825                fixAdd: "landuse=cemetery";
    817826}
    818 *[name =~ /(?i)\bPraia\b/][natural != beach][!highway][!shop][!craft][!amenity][!route][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     827*[name =~ /(?i)\bPraia\b/][natural != beach][!highway][!shop][!craft][!amenity][!route][name !~ /(?i)\b(Parque|Estacionamento)\b/][!boundary][!place] {
    819828        throwWarning: tr("PT2-Praia deve ter natural=beach");
    820829                fixAdd: "natural=beach";
    821830}
    822 *[name =~ /(?i)\bBiblioteca?\b/][amenity != library][!highway][!shop][!craft][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     831*[name =~ /(?i)\bBiblioteca?\b/][amenity != library][!highway][!boundary][!place][!shop][!craft][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
    823832        throwWarning: tr("PT2-Biblioteca deve ter amenity=library");
    824833                fixAdd: "amenity=library";
     
    828837                fixAdd: "landuse=vineyard";
    829838}
    830 *[name =~ /^(?i)(Aparthotel|Hotel|Residencial|Pensão)/][tourism != hotel][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     839*[name =~ /^(?i)(Aparthotel|Hotel|Residencial|Pensão)/][tourism != hotel][name !~ /(?i)\b(Parque|Estacionamento)\b/][!boundary][!place] {
    831840        throwWarning: tr("PT2-Aparthotel, Hotel, Residencial e Pensão deve ter tourism=hotel");
    832841                fixAdd: "tourism=hotel";
    833842}
    834 *[name =~ /^(?i)(Aparthotel|Hotel|Residencial|Pensão)/][building][building != hotel][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     843*[name =~ /^(?i)(Aparthotel|Hotel|Residencial|Pensão)/][building][building != hotel][name !~ /(?i)\b(Parque|Estacionamento)\b/][!boundary][!place] {
    835844        throwWarning: tr("PT2-Edifício de Aparthotel, Hotel, Residencial e Pensão deve ter building=hotel");
    836845                fixAdd: "building=hotel";
    837846}
    838 *[waterway][waterway !~ /river|riverbank/][name =~ /(?i)Rio/] {
    839         throwWarning: tr("PT2-Rio deve ter waterway=river ou waterway=riverbank");
     847*[waterway][waterway !~ /river|riverbank|canal/][name =~ /(?i)Rio/] {
     848        throwWarning: tr("PT2-Rio deve ter waterway=river, riverbank ou canal");
    840849                fixAdd: "waterway=river";
    841850}
     
    848857                fixAdd: "waterway=canal";
    849858}
    850 *[name =~ /(Miradouro|Vista Panorâmica)/][tourism!=viewpoint][!highway][!shop][!craft][!amenity] {
     859*[name =~ /(Miradouro|Vista Panorâmica)/][tourism!=viewpoint][!highway][!shop][!craft][!amenity][!boundary][!place] {
    851860        throwWarning: tr("PT2- Miradouro deve ter tourism=viewpoint");
    852861                fixAdd: "tourism=viewpoint";
     
    856865        fixAdd: "tourism=hostel";
    857866}
    858 *[name =~ /^(?i)\bMuseu\b/][tourism != museum][!highway][!shop][!craft][!amenity][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     867*[name =~ /^(?i)\bMuseu\b/][tourism != museum][!highway][!shop][!craft][!amenity][name !~ /(?i)\b(Parque|Estacionamento)\b/][!boundary][!place] {
    859868        throwWarning: tr("PT2- Museu deve ter tourism=museum");
    860869        fixAdd: "tourism=museum";
    861870}
    862 *[name =~ /(?i)\bPedreira\b/][landuse != quarry][!highway][!shop][!craft][!amenity] {
     871*[name =~ /(?i)\bPedreira\b/][landuse != quarry][!highway][!shop][!craft][!amenity][!boundary][!boundary][!place] {
    863872        throwWarning: tr("PT2- Pedreira deve ter landuse=quarry");
    864873        fixAdd: "landuse=quarry";
    865874}
    866 *[name =~ /(?i)\bCapela\b/][building != chapel][!highway] {
     875*[name =~ /^(?i)\bCapela\b/][building != chapel][!highway][!boundary][!boundary][!place] {
    867876        throwWarning: tr("PT2- Capela deve ter building=chapel");
    868877        fixAdd: "building=chapel";
    869878}
    870 *[name =~ /(?i)\bIgreja\b/][building != church][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     879*[name =~ /^(?i)Igreja\b/][building != church][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/][!boundary][!place]{
    871880        throwWarning: tr("PT2- Igreja deve ter building=church");
    872881        fixAdd: "building=church";
     
    877886                fixAdd: "layer=1";
    878887}
    879 *[name =~ /^(Quebra-mar|Pontão)/][!man_made=breakwater][!highway] {
     888*[name =~ /^(Quebra-mar|Pontão)/][!man_made=breakwater][!highway][!boundary][!place] {
    880889                throwWarning: tr("PT2-Pontão deve ter etiqueta man_made=breakwater");
    881890        fixAdd: "man_made=breakwater";
    882891}
    883 *[name =~ /^Igreja Matriz/][building != church][!highway],
    884 *[name =~ /^Igreja Matriz/][religion != christian][!highway],
    885 *[name =~ /^Igreja Matriz/][denomination != roman_catholic][!highway] {
     892*[name =~ /^Igreja Matriz/][building != church][!highway][!boundary][!place],
     893*[name =~ /^Igreja Matriz/][religion != christian][!highway][!boundary][!place],
     894*[name =~ /^Igreja Matriz/][denomination != roman_catholic][!highway][!boundary][!place] {
    886895                throwWarning: tr("PT2-Igreja Matriz deve ter building=church religion=christian e denomination=roman_catholic");
    887896        fixAdd: "building=church";
     
    914923}
    915924*[name !~ /^Rio /][name][waterway = river] {
    916         throwWarning: tr("PT2-O nome deve seguir o padrão Rio X");
    917 }
    918 *[name !~ /^Ribeir[ao] /][name][waterway = stream] {
    919         throwWarning: tr("PT2-O nome deve seguir o padrão Ribeira X ou Ribeiro X");
     925        throwWarning: tr("PT2-O nome deve seguir o padrão Rio X, ou não é um rio");
     926}
     927*[name !~ /^(Ribeir[ao]|Corg[oa]|Córrego|Barroco)/][name][waterway = stream] {
     928        throwWarning: tr("PT2-O nome deve seguir o padrão Ribeiro X, Córrego X, Corgo X");
     929}
     930*[waterway][waterway=stream][name =~ /(?i)\b(Corg[oa]|Córrego)/][!highway][!place][!boundary][!intermittent] {
     931        throwWarning: tr("PT2-Corgo ou Córrego deve ter em princípio intermittent=yes");
     932                fixAdd: "intermittent=yes";
    920933}
    921934*[name !~ /Parque Campismo/][name][amenity = camp_site][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     
    926939        fixAdd: "office=employment_agency";
    927940}
    928 *[name =~ /(?i)Advogado/][name][office != lawyer][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     941*[name =~ /(?i)Advogad[ao]s?/][name][office != lawyer][!highway][!boundary][!place][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
    929942        throwWarning: tr("PT2-Advogado deve ter office=lawyer");
    930943        fixAdd: "office=lawyer";
     
    946959        fixAdd: "office=architect";
    947960}
    948 *[name =~ /(?i)^Fundação/][name][office != foundation][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     961*[name =~ /(?i)^Fundação/][name][office != foundation][!highway][!boundary][!place][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
    949962        throwWarning: tr("PT2-Fundação deve ter office=foundation");
    950963        fixAdd: "office=foundation";
     
    954967        fixAdd: "office=newspaper";
    955968}
    956 *[name =~ /(?i)(Notári(ad)?o|Notarial)/][name][lawyer != notary][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     969*[name =~ /(?i)(Notári(ad)?o|Notarial)/][name][lawyer != notary][!highway][!boundary][!place][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
    957970        throwWarning: tr("PT2-Notário e Notariado deve ter lawyer=notary e office=lawyer");
    958971                fixAdd: "office=lawyer";
    959972        fixAdd: "lawyer=notary";
    960973}
    961 *[name =~ /(?i)Solocitador/][name][lawyer != solicitor][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     974*[name =~ /(?i)Solocitador/][name][lawyer != solicitor][!highway][!boundary][!place][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
    962975        throwWarning: tr("PT2-Solocitador deve ter lawyer=solicitor e office=lawyer");
    963976                fixAdd: "office=lawyer";
    964977        fixAdd: "lawyer=solicitor";
    965978}
    966 *[name =~ /(?i)\b(Partido|PSD|PPD|PEV|PCP|CDS|PCTP|MRPP|POUS|Bloco de Esquerda)\b/][name][office != political_party][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     979*[name =~ /(?i)\b(Partido|PSD|PPD|PEV|PCP|CDS|PCTP|MRPP|POUS|Bloco de Esquerda)\b/][name][office != political_party][!highway][!boundary][!place][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
    967980        throwWarning: tr("PT2-Sede e Filial de Partido Político deve ter office=political_party");
    968981                fixAdd: "office=political_party";
     
    984997                fixAdd: "office=administrative";
    985998}
    986 *[name =~ /(?i)(Agência de )?Viagens/][name][office != travel_agent] {
     999*[name =~ /(?i)(Agência de )?Viagens/][name][office != travel_agent][!highway][!boundary][!place] {
    9871000        throwWarning: tr("PT2-Agência de Viagens deve ter office=travel_agent");
    9881001                fixAdd: "office=travel_agent";
    9891002}
    990 *[name =~ /(?i)Câmbio/][name][amenity != bureau_de_change][!highway] {
     1003*[name =~ /(?i)Câmbio/][name][amenity != bureau_de_change][!highway][!boundary][!place] {
    9911004        throwWarning: tr("PT2-Agência de Câmbio deve ter amenity=bureau_de_change");
    9921005                fixAdd: "amenity=bureau_de_change";
    9931006}
    994 *[name =~ /^(?i)Castelo/][name][historic != castle][!place][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     1007*[name =~ /^(?i)Castelo/][name][historic != castle][!highway][!boundary][!place][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
    9951008        throwWarning: tr("PT2-Castelo deve ter historic=castle");
    9961009                fixAdd: "historic=castle";
    9971010}
    998 *[name =~ /^(?i)alminhas/][name][historic != wayside_shrine][!highway][!public_transport][!place] {
     1011*[name =~ /^(?i)alminhas/][name][historic != wayside_shrine][!highway][!public_transport][!boundary][!place] {
    9991012        throwWarning: tr("PT2-Alminhas deve ter historic=wayside_shrine");
    10001013                fixAdd: "historic=wayside_shrine";
     
    10021015                fixAdd: "denomination=roman_catholic";
    10031016}
    1004 *[name =~ /(?i)\bBanco\b/][name][amenity != bank][amenity != atm][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     1017*[name =~ /(?i)\bBanco\b/][name][amenity != bank][amenity != atm][!highway][!boundary][!place][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
    10051018        throwWarning: tr("PT2-Banco financeiro deve ter amenity=bank");
    10061019                fixAdd: "amenity=bank";
     
    10101023                fixAdd: "amenity=atm";
    10111024}
    1012 *[name =~ /(?i)\bCanil\b/][name][amenity != animal_shelter][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     1025*[name =~ /(?i)\bCanil\b/][name][amenity != animal_shelter][!highway][!boundary][!place][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
    10131026        throwWarning: tr("PT2-Canil deve ter amenity=animal_shelter");
    10141027                fixAdd: "amenity=animal_shelter";
    10151028}
    1016 *[name =~ /(?i)Crematório/][name][amenity != crematorium][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     1029*[name =~ /(?i)Crematório/][name][amenity != crematorium][!highway][!boundary][!place][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
    10171030        throwWarning: tr("PT2-Crematório deve ter amenity=crematorium");
    10181031                fixAdd: "amenity=crematorium";
    10191032}
    1020 *[name =~ /(?i)\bCripta\b/][name][amenity != crypt][!highway] {
     1033*[name =~ /(?i)\bCripta\b/][name][amenity != crypt][!highway][!boundary][!place] {
    10211034        throwWarning: tr("PT2-Cripta deve ter amenity=crypt");
    10221035                fixAdd: "amenity=crypt";
    10231036}
    1024 *[name =~ /(?i)Ginásio/][name][amenity != gym][!highway][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     1037*[name =~ /(?i)Ginásio/][name][amenity != gym][!highway][!boundary][!place][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
    10251038        throwWarning: tr("PT2-Ginásio deve ter amenity=gym");
    10261039                fixAdd: "amenity=gym";
     
    10301043                fixAdd: "amenity=post_box";
    10311044}
    1032 *[name =~ /(?i)\bC(orreio|TT)\b/][name][amenity =~ /post_box|post_office/][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
     1045*[name =~ /(?i)\bC(orreio|TT)\b/][name][amenity !~ /post_box|post_office/][!highway][!boundary][!place][name !~ /(?i)\b(Parque|Estacionamento)\b/] {
    10331046        throwWarning: tr("PT2-Nome com Correio ou CTT mas sem etiqueta amenity=post_box ou post_office ");
    10341047}
     
    12131226                fixAdd: "clothes=denim";
    12141227}
    1215 *[name =~ /(?i)\b(lingerie|women'secret|Calzedonia|Intimissimi)\b/][shop=clothes][!clothes] {
     1228*[name =~ /(?i)\b(lingerie|women'secret|Calzedonia|Intimissimi|Loja das Meias)\b/][shop=clothes][!clothes] {
    12161229        throwWarning: tr("PT2-Loja de roupa interior,meias,etc. deve ter clothes=underwear");
    12171230                fixAdd: "clothes=underwear";
     
    13521365        throwWarning: tr("PT2-Verificar: provavelmente deve ser ''{0}={1}''", "{2.key}", "{2.value}");
    13531366}
    1354 *["building:levels"][!building][!"building:part"][!"amenity:parking"] {
    1355         throwWarning: tr("PT2- {0} sem etiqueta {1}", "{0.key}", "{1.key}");
    1356 }
    13571367*["building:levels" < 1] {
    13581368        throwWarning: tr("PT2-Verificar: {0} com valor inválido", "{0.key}");
     
    14601470*[office][layer],
    14611471*[leisure][layer],
    1462 *[man_made][man_made != surveillance][layer],
     1472*[man_made][man_made !~ /surveillance|pipeline/][layer],
    14631473*[natural][layer],
    14641474*[sport][layer],
     
    14731483        throwWarning: tr("PT2-natural junto com shop");
    14741484}
     1485*[/name|brand|operator/ =~ /\b(5 (à s|[áa]\s[Ss])ec)\b/] {
     1486        throwWarning: tr("PT2-O correto é 5 à Sec");
     1487}
    14751488*[amenity=fuel][!brand][name =~ /^(?i)(Agip|BP|Cepsa|Esso|Exxon|Galp|Mobil|Repsol|Shell|Total)?$/] {
    14761489        throwWarning: tr("PT2-Marca de combustível deve estar em brand e não name. O posto costuma ser de privados e com nome extenso ");
     
    15081521}
    15091522area[/natural|landuse/] > node { set .area_ligada_via }
    1510 way[highway][highway != pedestrian] > node.area_ligada_via,
     1523way[highway][highway != pedestrian][!barrier] > node.area_ligada_via,
    15111524way[railway] > node.area_ligada_via {
    15121525        throwWarning: tr("PT2-Não é recomendável ter áreas de landuse ou natural ligados a estradas, rios ou ferrovias");
    15131526}
    15141527way[man_made=pipeline] > node { set .is_in_pipeline }
    1515 way[waterway] > node.is_in_pipeline,
    15161528way[highway] > node.is_in_pipeline,
    15171529way[railway] > node.is_in_pipeline {
    1518         throwWarning: tr("PT2-Pipeline não deve estar ligado a estradas,rios ou ferrovias");
     1530        throwWarning: tr("PT2-Pipeline não deve estar ligado a estradas ou ferrovias");
    15191531}
    15201532/* utilizar ; como separador de valores em source */
     
    15291541                fixAdd: "tourism=information";
    15301542}
    1531 
    1532 
     1543*[capacity=0] {
     1544        throwWarning: tr("PT2-Valor provavelmente errado de capacity=0");
     1545        fixRemove: "capacity";
     1546}
     1547*[ele][ele !~ /^[1-9][0-9]?[0-9]?[0-9]?(\.[0-9][0-9]?[0-9]?)?$/],
     1548*[ele > 2351],
     1549*[ele < 0] {
     1550        throwWarning: tr("PT2-ele tem de ser um número em metros e sem unidade de medida entre 0 e 2351 em Portugal");
     1551}
     1552area[name =~ /^(?i)Adro/][name][landuse != churchyard][!railway][!boundary][!place] {
     1553        throwWarning: tr("PT2-Adro de igreja deve ter landuse=churchyard");
     1554        fixAdd: "landuse=churchyard";
     1555}
    15331556
    15341557