wiki:Rules/Portuguese-Errors-PT2

Version 29 (modified by zermes, 8 years ago) ( diff )

cleaning the page because an incident, I will submit only safe rules here

Detect orthographic errors, name abbreviations, tags not suitable in Portugal and misused tags. Messages are in Portuguese only. Feel free to fix errors (thanks!) Content available under Creative Commons (CC-BY-SA) https://creativecommons.org/licenses/by-sa/3.0/ and LGPL https://www.gnu.org/licenses/lgpl.html according to https://josm.openstreetmap.de site content licenses.


Detect orthographic errors, name abbreviations, tags not suitable in Portugal and misused tags. Messages are in Portuguese only. Feel free to fix errors (thanks!)
Content available under Creative Commons (CC-BY-SA) https://creativecommons.org/licenses/by-sa/3.0/ and LGPL https://www.gnu.org/licenses/lgpl.html according to https://josm.openstreetmap.de site content licenses.

{{{
#!rule


meta
{
title: "Português-Erros comuns PT2";
version: "1.38_2020-10-05";
description: "AVISO: APLICAR APENAS EM PORTUGAL. Encontra principalmente erros de ortografia, abreviaturas em nomes, algumas etiquetas não aplicáveis a Portugal e alguns erros de etiquetas mal aplicadas. Os erros começam com "Portugal" para serem facilmente identificados. Verificar com CUIDADO os erros apresentados por esta lista, pois nem sempre são erros.";
author: "OSM Portugal";
link: "http://josm.openstreetmap.de/wiki/Rules/Portuguese-Errors-PT2";
watch-modified: true;
baselanguage: "pt";
}
/*
 * Muitas expressões regulares são provenientes da comunidade OpenStreetMap Brasil, mais concretamente dos autores naoliv, Skippern e boneco,
 * disponível em https://github.com/OSMBrasil/validador-josm Foram adaptadas a Portugal e serviram de inspiração a muitas outras.
 *
 * Os erros apresentados no JOSM por estas expressões regulares nem sempre são erros, apesar da tentativa de evitá-los na medida do possível.
 * Deve-se verificar as correções no josm COM CUIDADO e caso a caso, mesmo que esteja disponível o botão "Corrigir" de forma automática,
 * pois facilita muito as correções, mas não é à prova de erros. Caso se utilize esta ferramenta em locais do OpenStreetMap fora do território
 * português (NÃO RECOMENDÁVEL), deve-se ter cuidado redobrado pois muitos dos erros detetados não se aplicam a outros países, mesmo que sejam
 * países que têm como língua oficial o Português, pois cada país têm características específicas de estradas, nomes de organizações, etc.
 *
 * Se encontrarem algum erro podem editar esta página.
 * Disponibilizado conforme as licenças do site https://josm.openstreetmap.de em que esta página está disponível:
 * Creative Commons (CC-BY-SA) https://creativecommons.org/licenses/by-sa/3.0/ e LGPL https://www.gnu.org/licenses/lgpl.html
 */

 /* ERROS */
*[designation] {
        throwError: tr("Portugal-VERIFICAR: designation não se aplica em Portugal, pode ser description, name, tipo de loja,etc. Muitas vezes contém informações importantes.");
}
*[highway=living_street] {
        throwError: tr("Portugal- {0} não se aplica em Portugal", "{0.value}");
        suggestAlternative: "residential";
        fixAdd: "highway=residential";
}
*[highway=bridleway] {
        throwError: tr("Portugal- bridleway não se aplica em Portugal, usar highway=path");
                fixAdd: "highway=path";
}
*[amenity=biergarten] {
        throwError: tr("Portugal- amenity=biergarten não se aplica em Portugal, usar amenity=pub");
}
*[railway=monorail] {
        throwError: tr("Portugal-Não existem monocarris em Portugal, será ferrovia?");
}
*[shop=bike] {
        throwError: tr("Portugal-Não é shop=bike mas sim shop=bicycle");
        fixAdd: "shop=bicycle";
}





 /* AVISOS */
*[/name|name:pt|addr:street|addr:city/ =~ /\s([dn]as?|[dn]os?|de)\s[a-z]/] {
                throwWarning: tr("Portugal-name, addr:street ou addr:city com minúscula após da,no,de,e...");
}
*[/name|name:pt|addr:street|addr:city/ =~ /\s([DN]as?|[DN]os?|De)\s[a-zA-Z]|\sE\s/][/^(name|name:pt)$/ !~ /^European route/] {
                throwWarning: tr("Portugal-name, addr:street ou addr:city com maiúscula em Da,No,De,E...");
}
*[/^(name|name:pt|addr:street|addr:city)$/ =~ /^[a-z]/] {
                throwWarning: tr("Portugal-name, addr:street ou addr:city que começa em minúscula");
}
*[/name|name:pt|addr:street|addr:city/ =~ /^([!,:;_ºª+=]|\.|\?|\*|-)/] {
                throwWarning: tr("Portugal-name, addr:street ou addr:city que começa com pontuação");
}
*[name =~ /\s\s/],
*["name:pt" =~ /\s\s/],
*[short_name =~ /\s\s/],
*[official_name =~ /\s\s/],
*[loc_name =~ /\s\s/],
*[old_name =~ /\s\s/],
*[int_name =~ /\s\s/],
*[nat_name =~ /\s\s/],
*[reg_name =~ /\s\s/],
*["addr:street" =~ /\s\s/],
*[description =~ /\s\s/],
*[ref =~ /\s\s/],
*[old_ref  =~ /\s\s/] {
                throwWarning: tr("Portugal- {0} com 2 espaços em branco consecutivos", "{0.key}");
}
*[website =~ /\s/][name !~ /(\s;|;\s)/] {
                throwWarning: tr("Portugal-website com espaço em branco");
}
*[/name|name:pt|addr:street/ =~ /(?i)(?u)(sem\s?nome|fix\s?me|\bfix\b|nome|no\s?name|desconhecido|n(ã|a)o conhecido)/][/^(name|name:pt)$/ !~ /(?i)(?u)soldado desconhecido/] {
                throwWarning: tr("Portugal-Nome errado, sem nome...");
}
way[highway][/name|name:pt|addr:street/ =~ /(-Os-|\sos\s)/] {
                throwWarning: tr("Portugal-Corrigir nome ou endereço com o correto X-os-X");
}
way[highway][/name|name:pt|addr:street/ =~ /-O-/] {
                throwWarning: tr("Portugal-Corrigir nome ou endereço com o correto em minúscula X-o-X");
}
way[highway][/name|name:pt|addr:street/ =~ /-A-/] {
                throwWarning: tr("Portugal-Corrigir nome ou endereço com o correto em minúscula X-a-X");
}
way[highway][/name|name:pt|addr:street/ =~ /(?i)(?u)(\bairport|\bbank|building|\bdrive\s?way|embassy|\bhelip(ort|ad)\b|\bPark(ing)?|piscine|Post\s?off?ice|\bRue\b|\bshop\b|\bstair|\bstation\b|\btra(c?k|ck?)|stree?t|Zebra cros)/] {
                throwWarning: tr("Portugal-name ou addr:street com palavras por traduzir ou mudar a etiqueta");
}
way[highway][/^(name|name:pt)$/ =~ /\b(Alf|Alm|Ant|Arq\.?º?|Az|B\.?º|Br|Bco?|Bl|Brg|Cac|Cc(nh)?|Ca[mp]|Churr|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|Part|Pe|Pq|Pto|Pte|P[cç]|Pr|Pct[aª]?|Presid|Pro?fª?|Proj|Prolng|Qd|R\.|Rot|Sarg|Slj|Soc|Scv|Sq|Ten|Tr|Transv|Trav|Trv|Tv|Urb|Vl|Vi|Visc|Vv|Zn)(\.| )/] {
                throwWarning: tr("Portugal-Nome abreviado");
}
*["addr:city" =~ /\b[A-Z](\.| )/] {
                throwWarning: tr("Portugal-addr:city abreviado");
}
*["addr:street" =~ /\b(Alf|Alm|Ant|Arq\.?º?|Az|B\.?º|Br|Bco?|Bl|Brg|Cac|Cc(nh)?|Ca[mp]|Churr|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|R\.|Rot|Sarg|Slj|Soc|Scv|Sq|Ten|Tr|Transv|Trav|Trv|Tv|Urb|Vl|Vi|Visc|Vv|Zn)(\.| )/] {
                throwWarning: tr("Portugal-addr:street abreviado");
}
*["addr:street" =~ /\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?|H|Inst|J(\.\s?|\s)?F|Lab|Mte|Na|Ns|N[^0-9º]|N(\.\s?|\s)?[ªa]|\sN\sS|Of|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|name:pt|addr:street)/ !~ /S\.A\./] {
                throwWarning: tr("Portugal-addr:street abreviado_");
}
*[/^(name|name:pt)$/ =~ /\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|name:pt|addr:street)/ !~ /S\.A\./] {
                throwWarning: tr("Portugal-Nome abreviado-NÃO alterar se for nome de estabelecimento");
}
*[/name|name:pt|short_name|official_name|loc_name|old_name|int_name|nat_name|reg_name|addr:street|description|ref|old_ref/ =~ /[?!.,:;]{2,}/] {
                throwWarning: tr("Portugal-Pontuação repetida 2 ou mais vezes");
}
*[/^(name|name:pt)$/ =~ /\s['"»«ºª]\s/] {
                throwWarning: tr("Portugal-Nome com acentuação isolada entre espaços");
}
*[name =~ /[`~^¨]/],
*["name:pt" =~ /[`~^¨]/],
*[short_name =~ /[`~^¨]/],
*[official_name =~ /[`~^¨]/],
*[alt_name =~ /[`~^¨]/],
*[loc_name =~ /[`~^¨]/],
*[old_name =~ /[`~^¨]/],
*[int_name =~ /[`~^¨]/],
*[nat_name =~ /[`~^¨]/],
*[reg_name =~ /[`~^¨]/],
*["addr:street" =~ /[`~^¨]/],
*[description =~ /[`~^¨]/],
*[ref =~ /[`~^¨]/],
*[old_ref =~ /[`~^¨]/],
*[phone =~ /[`~^¨]/],
*["contact:phone" =~ /[`~^¨]/],
*[fax =~ /[`~^¨]/],
*["contact:fax" =~ /[`~^¨]/],
*[website =~ /[`~^¨]/],
*["addr:housename" =~ /[`~^¨]/],
*[sorting_name =~ /[`~^¨]/] {
                throwWarning: tr("Portugal- {0} com caracteres estranhos", "{0.key}");
}
*[name =~ /[´]/],
*["name:pt" =~ /[´]/],
*[short_name =~ /[´]/],
*[official_name =~ /[´]/],
*[alt_name =~ /[´]/],
*[loc_name =~ /[´]/],
*[old_name =~ /[´]/],
*[int_name =~ /[´]/],
*[nat_name =~ /[´]/],
*[reg_name =~ /[´]/],
*["addr:street" =~ /[´]/],
*[description =~ /[´]/],
*[ref =~ /[´]/],
*[old_ref =~ /[´]/],
*[phone =~ /[´]/],
*["contact:phone" =~ /[´]/],
*[fax =~ /[´]/],
*["contact:fax" =~ /[´]/],
*[website =~ /[´]/],
*["addr:housename" =~ /[´]/],
*["addr:street" =~ /[´]/],
*[sorting_name =~ /[´]/] {
                throwWarning: tr("Portugal- {0} com acento agudo e não apóstrofo", "{0.key}");
}
/* erros ortográficos principais
 * certas palavras, apesar de poderem eventualmente estar erradas são problemáticas como "Luiz Vaz de Camoes" ou "Eça de Queiroz" que aparece
 * em alguns locais corretamente porque utiliza a grafia antiga, por isso não se deve colocar estes casos aqui.
 */
*[/^(name|name:pt|addr:street|addr:city|alt_name|int_name|nat_name|reg_name|loc_name|old_name|official_name|name:pt)$/ =~ /(?i)(?u)(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)|\bArea\b|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|\bBalneario|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|Combust(ívé|iv[ée])ive(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|Co(mdom[íi]|ndomi)nio|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?tr[ei](c[ao]|[çs]s?ista)s?|Elec?tr(e[cçs]s?|i[çs]s?)[ei]dade|Elec?trodomestic|\bElisi[ao]s?\b|\b([ÈÉ]m[íi]|Emi)di[ao]\b|\bEmili[ao]\b|Encarna(ca|ça|cã)o|Eremida|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|Estetic[ao]|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|Farmaceutic|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|\bLampiao\b|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[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|\bVicio\b|\bV(ir[gj]i|jí|erj[íi]|ergi)li|Veter(i?na|en[áa])ri|\bVilaret?\b|Vitoria|Voluntario)/] {
                throwWarning: tr("Portugal-Verificar:name ou similares, addr:street, addr:city com erros ortográficos");
}
/* casos de marcas complicadas em que o melhor é indicar o nome correto na mensagem */
*[name =~ /(?i)(?u)[Dd]ecat?[hl]?on/] {
                throwWarning: tr("Portugal-Correto é Decathlon");
}
*[name =~ /(?i)(?u)Ma?c(\s[Dd]onald('|\s)?|[Dd]onald\s?)s/] {
                throwWarning: tr("Portugal-Correto é McDonalds-com apóstrofo antes do s");
}
*[name =~ /(?i)(?u)\b[Ll]evi[ ´]?s\b/] {
                throwWarning: tr("Portugal-Correto é Levis-com apóstrofo antes do s");
}
*[name =~ /[Pp]ingo((D|d| d)ol?ce| Dolce)/] {
                throwWarning: tr("Portugal-Correto é Pingo Doce");
}
*[name =~ /\b([Ee][Ll]ecler[kqc]|[Ee]\.[Ll]ecler[kq]|e\.Leclerc|E\.leclerc)/] {
                throwWarning: tr("Portugal-Correto é E.Leclerc");
}
*[name =~ /(?i)(?u)(Inter?(\s|-)?ma(rche|x[ée]|r?che)|Inter(\s|-)marché)/] {
                throwWarning: tr("Portugal-Correto é Intermarché");
}
*[name =~ /(?i)(?u)\bDeca(te?lo[mn]|th?lom|tom)\b/] {
                throwWarning: tr("Portugal-Correto é Decathlon");
}
*[name =~ /(mini(\s|-)?preço|Mini(\s|-)preço|Mini(\s|-)?Preço|MINI(\s|-)?PREÇO)/] {
                throwWarning: tr("Portugal-Correto é Minipreço");
}
*[name =~ /(?i)(?u)(^Phone House|[FP]one Hou[zs]e)/] {
                throwWarning: tr("Portugal-Correto é The Phone House");
}
*[name =~ /Banco Português de Investimento/][!short_name] {
                throwWarning: tr("Portugal-Falta a etiqueta short_name=BPI");
        fixAdd: "short_name=BPI";
}
*[name =~ /Caixa Geral de Depósitos/][!short_name] {
                throwWarning: tr("Portugal-Falta a etiqueta short_name=CGD");
        fixAdd: "short_name=CGD";
}
*[name =~ /Banco Espírito Santo/][!short_name] {
                throwWarning: tr("Portugal-Falta a etiqueta short_name=BES");
        fixAdd: "short_name=BES";
}
*[name =~ /Banco Bilbao Vizcaya Argentaria/][!short_name] {
                throwWarning: tr("Portugal-Falta a etiqueta short_name=BBVA");
        fixAdd: "short_name=BBVA";
}
*[name =~ /Guarda Nacional Republicana/][!short_name] {
                throwWarning: tr("Portugal-Falta a etiqueta short_name=GNR");
        fixAdd: "short_name=GNR";
}
*[name =~ /Polícia de Segurança Pública/][!short_name] {
                throwWarning: tr("Portugal-Falta a etiqueta short_name=PSP");
        fixAdd: "short_name=PSP";
}
*[amenity = police][name =~ /^(?i)(?u)P(\.\s?|\s)?S(\.\s?|\s)?P(\.\s?|\s)?$/] {
                throwWarning: tr("Portugal-Nome abreviado de Polícia de Segurança Pública");
                fixAdd: "name=Polícia de Segurança Pública";
                fixAdd: "short_name=PSP";
}
*[amenity = police][name =~ /^(?i)(?u)G(\.\s?|\s)?N(\.\s?|\s)?R(\.\s?|\s)?$/] {
                throwWarning: tr("Portugal-Nome abreviado de Guarda Nacional Republicana");
                fixAdd: "name=Guarda Nacional Republicana";
                fixAdd: "short_name=GNR";
}
*[amenity = bank][name =~ /^(?i)(?u)(Banco )?C(\.\s?|\s)?G(\.\s?|\s)?D(\.\s?|\s)?$/] {
                throwWarning: tr("Portugal-Nome abreviado de Caixa Geral de Depósitos");
                fixAdd: "name=Caixa Geral de Depósitos";
                fixAdd: "short_name=CGD";
}
*[amenity = bank][name =~ /(?i)(?u)Cai((cha) Ge(ne)?ral (de )?Dep[óo]sito|xa Ge(ne)?ral (de )?Deposito)/] {
                throwWarning: tr("Portugal-O correto é Caixa Geral de Depósitos");
}
*[amenity =~ /bank|atm/][operator =~ /^(?i)(?u)(Banco )?C(\.\s?|\s)?G(\.\s?|\s)?D(\.\s?|\s)?$/] {
                throwWarning: tr("Portugal-operator abreviado de Caixa Geral de Depósitos");
                fixAdd: "operator=Caixa Geral de Depósitos, S.A.";
}
*[amenity = bank][name =~ /^(?i)(?u)(Banco )?B(\.\s?|\s)?P(\.\s?|\s)?I(\.\s?|\s)?$/] {
                throwWarning: tr("Portugal-Nome abreviado de Banco Português de Investimento");
                fixAdd: "name=Banco Português de Investimento";
                fixAdd: "short_name=BPI";
}
*[amenity = bank][name =~ /^(?i)(?u)(Banco )?B(\.\s?|\s)?E(\.\s?|\s)?S(\.\s?|\s)?$/] {
                throwWarning: tr("Portugal-Nome abreviado de Banco Espírito Santo");
                fixAdd: "name=Banco Espírito Santo";
                fixAdd: "short_name=BES";
}
*[amenity = bank][name =~ /^(?i)(?u)(Banco )?B(\.\s?|\s)?B(\.\s?|\s)?V(\.\s?|\s)?A(\.\s?|\s)?$/] {
                throwWarning: tr("Portugal-Nome abreviado de Banco Bilbao Vizcaya Argentaria");
                fixAdd: "name=Banco Bilbao Vizcaya Argentaria";
                fixAdd: "short_name=BBVA";
}
*[amenity = bank][name =~ /^(?i)(?u)(Banco )?B(\.\s?|\s)?C(\.\s?|\s)?P(\.\s?|\s)?$/],
*[amenity = bank][name =~ /^(Banco )?([Mm]ill?en?nium[Bb][Cc][Pp]|[Mm]ill?enn?i[ou]m?( B[Cc][Pp])?|Mil(en|le|e)nium BCP)$/] {
                throwWarning: tr("Portugal-Nome abreviado ou errado de Millennium bcp");
                fixAdd: "name=Millennium bcp";
                fixAdd: "short_name=bcp";
                fixAdd: "alt_name=Banco Comercial Português";
}
*[name =~ /Banco Comercial Português/] {
                throwWarning: tr("Portugal-O correto é Millennium bcp");
                fixAdd: "name=Millennium bcp";
                fixAdd: "short_name=bcp";
                fixAdd: "alt_name=Banco Comercial Português";
}
*[amenity = bank][name =~ /^(?i)(?u)(Banco )?(Santander|Tott?a|SantanderTott?a|Tott?a\s?Santander)$/] {
                throwWarning: tr("Portugal-O correto é Santander Totta");
                fixAdd: "name=Santander Totta";
}
*[name =~ /(?i)(?u)Benett?o[mn]\b/][name !~ /\bUnited Colors\b/] {
                throwWarning: tr("Portugal-O correto é United Colors of Benetton");
}
*[amenity = bank][name =~ /^(?i)(?u)(Banco )?BANIF$/] {
                throwWarning: tr("Portugal-Nome abreviado de Banco Internacional do Funchal");
                fixAdd: "name=Banco Internacional do Funchal";
                fixAdd: "short_name=Banif";
}
















/* AVISOS INFORMATIVOS */

/* é útil ter o destino das saídas de estradas */
*[highway = motorway_link][!destination] {
        throwOther: tr("Portugal- {0} sem etiqueta {1}", "{0.value}", "{1.key}");
}
*[place = city][!population],
*[place = town][!population],
*[place = village][!population] {
        throwOther: tr("Portugal- {0} sem etiqueta de população", "{0.value}");
}
*[place][place !~ /hamlet|island|isolated_dwelling|neighbourhood|suburb|village/][population < 10000] {
        throwOther: tr("Portugal-Verificar: local com <10.000 hab. deve ser village, EXCEPTO sedes de freguesia!");
        fixAdd: "place=village";
}
*[place =~ /city|hamlet|isolated_dwelling|village/][population >= 10000][population < 100000] {
        throwOther: tr("Portugal-Verificar: local com 10.000-100.000 hab. deve ser town, EXCEPTO sedes de concelho!");
        fixAdd: "place=town";
}
*[place =~ /hamlet|isolated_dwelling|town|village/][population >= 100000] {
        throwOther: tr("Portugal-Verificar: local com +100.000 hab. deve ser city, EXCEPTO capitais de distrito!");
        fixAdd: "place=city";
}
/* é bom especificar o tipo de torre */
node[man_made = tower][!"tower:type"] {
        throwOther: tr("Portugal-Ausência do tipo de torre ({0})", "{1.key}");
}
*[highway][highway !~ /construction|give_way|motorway_junction|proposed|raceway|speed_camera|stop/][!wheelchair],
*[building][!wheelchair] {
        throwOther: tr("Portugal- {0} sem etiqueta de acessibilidade ({1})", "{0.key}", "{1.key}");
}
*[route = ferry][!duration] {
        throwOther: tr("Portugal-Ausência do tempo de duração ({0}) do ferry", "{1.key}");
}
*[highway = service][!service] {
        throwOther: tr("Portugal-Ausência do tipo de serviço ({0}) na {1}", "{1.key}", "{0.key}");
}
*[highway = track][!tracktype] {
        throwOther: tr("Portugal-Ausência do tipo de track ({0}) na {1}", "{1.key}", "{0.key}");
}
/* número de faixas apenas para rodovias maiores e links */
way[highway =~ /motorway|trunk|primary|secondary|tertiary/][!lanes],
way[highway $= _link][!lanes] {
        throwOther: tr("Portugal- {0} sem número de faixas ({1}) definido", "{0.key}", "{1.key}");
}
way[highway][!surface][highway != bus_stop] {
        throwOther: tr("Portugal- {0} sem superfície ({1}) definida", "{0.key}", "{1.key}");
}
node[amenity = place_of_worship] {
        throwOther: tr("Portugal- local de oração num nó, é melhor num edifício");
}
node[highway=speed_camera][!maxspeed],
relation[enforcement=maxspeed][!maxspeed],
relation[enforcement=maxheight][!maxheight],
relation[enforcement=maxweight][!maxweight] {
        throwOther: tr("Portugal-Adicionar {0} ao {1}", "{1.key}", "{0.tag}");
}
}}}

Rules_Portuguese-Errors-PT2.validator.mapcss, Rules_Portuguese-Errors-PT2.zip

Note: See TracWiki for help on using the wiki.