# Spanish typographic rules
# Copyrigth 2010-2014, Javier Viñal (fjvinal@gmail.com)
# by the KDE Spanish Team (kde-l10n-es@kde.org)
# based in the work of the KDE French Team
# License: GPLv3

[\d\.\d{3}(\D|$)]
id="ty-3-puntos-entre-miles"
valid msgid="\d\.\d{3}(\D|$)"
hint="No separe con puntos los miles de los números (excepto en direcciones IP)"

[\&[áéíóúäëïöüàèìòùâêîôûÁÉÍÓÚÄËÏÖÜÀÈÌÒÙÂÊÎÔÛ]]
id="ty-3-tecla-aceleradora-incorrecta"
hint="Tecla aceleradora no válida (en vocal con tilde)"

[\&etc;\.]
id="ty-3-entidad-etc-seguida-punto"
valid before="$"
valid before="\s[A-Z]"
valid before="\s*\<\/p\>"
hint="La entidad «&etc;» se sustituye automáticamente por «etc.», no hace falta punto adicional"

include file="filter.include"

validGroup beforePunctuation
valid after="(?u)[\w>»\)\]\}»%&<\\-]"
valid after="^"
valid before="$"
valid before="\~"
valid after="\n\s*"

validGroup afterPunctuation
valid before="(?u)[\w>»\(\[\{«%&<\\-]"
valid after="^"
valid before="$"
valid after="\~"
valid after="\n\s*"

validGroup openQuotes
valid after="[<>\(\{\[\\=.,;:\s-]"
valid after="\~"
valid after="^"
valid before=".+?»"

validGroup closeQuotes
valid before="[<>\)\}\]\\=.,;:\s-]"
valid after="\~"
valid before="$"
valid after="«.+?"

[\d\%]
id="ty-3-falta-espacio-entre-numero-y-porcentaje"
hint="Ponga un espacio de separación entre el número y el símbolo de porcentaje"

[\s\)]
id="ty-3-sobra-espacio-antes-cierre-parentesis"
valid msgid="\(\s.*?\s\)"
hint="No ponga un espacio antes del cierre de paréntesis"

[\(\s]
id="ty-3-sobra-espacio-despues-apertura-parentesis"
valid msgid="\(\s.*?\s\)"
hint="No ponga un espacio después de la apertura de paréntesis"

[(?<=\s)\:]
id="ty-3-sobra-espacio-antes-dos-puntos"
valid ctx="Numbers and characters"
valid ctx="CSV separator"
valid before="\{"
valid after="\d+\s?" before="\s?\d+"
hint="No ponga un espacio antes del signo de dos puntos"

[\:(?!\s)]
id="ty-3-falta-espacio-despues-dos-puntos"
validGroup beforePunctuation
valid ctx="List of words.*"
valid ctx="Numbers and characters"
valid ctx="Hours:minutes:seconds"
valid ctx="CSV separator"
valid ctx="Query"
valid after="^"
valid after="\b(file|gg|mailto|man|whatsthis|kmail|addMsg|config)"
valid after="\b(about|audiocd|bookmarks|camera|ed2k|exec|ftps?|fonts|help|https?|lan|lpr|media|news|network|okular|pmp|parallel|smb|system|trash|umax|vdvd|videodvd|webdavs?)"
valid after="\d+\s?" before="\s?\d+"
valid after="\b(horas|minutos|segundos)"
valid after="\b(font-family|font-size|font-style|font-weight|text-align|text-decoration|margin-top|margin-bottom|-type)" # CSS
valid after="\bwhite-space" # CSS
valid after="\bservidor"
valid after="\.(com|org|net)" before="\d+"
valid after="~" before="\d+"
valid after="\S"
valid before="puerto"
valid before="\w+" after="\w+\:"
hint="Ponga un espacio después del signo de dos puntos"

[(?<=\s);]
id="ty-3-sobra-espacio-antes-punto-y-coma"
valid ctx="Numbers and characters"
valid ctx="CSV separator"
hint="No ponga un espacio antes del signo de punto y coma"

[;(?!\s)]
id="ty-3-falta-espacio-despues-punto-y-coma"
validGroup beforePunctuation
valid ctx="Numbers and characters"
valid ctx="CSV separator"
valid after="\*\.\w+" before="\*\.\w+" # List of extension suffix
valid after="\b(center|empty|normal|pt|px|pre-wrap|\d+|[a-f]{1,2})" # CSS
valid after="\bbold" before="'"   # CSS
valid before="~"
valid before="$"
valid ctx="Keywords"
hint="Ponga un espacio después del signo de punto y coma"

[(?<=\s)\!]
id="ty-3-sobra-espacio-antes-cierre-admiracion"
valid ctx="Numbers and characters"
valid ctx="CSV separator"
valid before="\w"
hint="No ponga un espacio antes del signo de cierre de admiración"

[\!(?!\s)]
id="ty-3-falta-espacio-despues-cierre-admiracion"
validGroup afterPunctuation
valid ctx="Numbers and characters"
valid ctx="CSV separator"
valid before="~"
valid before="$"
valid before="\)"
hint="Ponga un espacio después del signo de cierre de admiración"

[(?s)^[^¡]*?\!]
id="ty-3-falta-apertura-admiracion"
validGroup beforePunctuation
valid ctx="Numbers and characters"
valid ctx="CSV separator"
hint="Abra la admiración (deben ir emparejadas)"

[(?s)\![^¡]+?\!]
id="ty-3-falta-apertura-admiracion-varias"
#validGroup beforePunctuation
valid ctx="Numbers and characters"
valid ctx="CSV separator"
valid msgstr="The\sBat\!"
hint="Abra la admiración (deben ir emparejadas)"

[(?s)¡(?!.*?\!)]
id="ty-3-falta-cierre-admiracion"
valid before="(?s).*?[!\(\{\[«'\"]"
hint="Cierre la admiración (deben ir emparejadas)"

[(?s)¡.*?\!\.]
id="ty-3-sobra-punto-despues-cierre-admiracion"
hint="No ponga punto después del cierre de admiración (Consulte ortografía de la RAE)"

[(?<=\s)\?]
id="ty-3-sobra-espacio-antes-cierre-interrogacion"
valid ctx="Numbers and characters"
valid ctx="Query"
hint="No ponga un espacio antes del signo de cierre de interrogación"

[\?(?!\s)]
id="ty-3-falta-espacio-despues-cierre-interrogacion"
validGroup afterPunctuation
valid ctx=".*one character"
valid ctx="Numbers and characters"
valid ctx="Query"
valid before="$"
valid before="\~"
valid after="\n"
valid before="\)"
hint="Ponga un espacio después del signo de cierre de interrogación"

[(?s)^[^¿]*?\?]
id="ty-3-falta-apertura-interrogacion"
validGroup beforePunctuation
valid ctx="Numbers and characters"
valid ctx="CSV separator"
hint="Abra la interrogación (deben ir emparejadas)"

[(?s)\?[^¿]+?\?]
id="ty-3-falta-apertura-interrogacion-varias"
#validGroup beforePunctuation
valid ctx="Numbers and characters"
valid ctx="CSV separator"
hint="Abra la interrogación (deben ir emparejadas)"

[(?s)¿(?!.*?\?)]
id="ty-3-falta-cierre-interrogacion"
valid before="(?s).*?[?({«'\"\[]"
hint="Cierre la interrogación (deben ir emparejadas)"

[(?s)¿.*?\?\.]
id="ty-3-sobra-punto-despues-cierre-interrogacion"
hint="No ponga punto después del cierre de interrogación (Consulte ortografía de la RAE)"

[(?<=\s),]
id="ty-3-sobra-espacio-antes-coma"
valid ctx="Numbers and characters"
valid ctx="Keywords"
valid ctx="CSV separator"
valid after="\d+\s?" before="\s?\d+"
hint="No ponga un espacio de separación antes del signo de coma"

[,(?!\s)]
id="ty-3-falta-espacio-despues-coma"
validGroup beforePunctuation
valid ctx="\w+ OF TRANSLATORS"
valid ctx="trans_comment"
valid ctx="Numbers and characters"
valid ctx="Keywords"
valid ctx="Query"
valid ctx="CSV separator"
valid msgid="CREDIT_FOR_TRANSLATORS"
valid msgid="Your emails"
valid after="\d+\s?" before="\s?\d+"
valid before="~"
valid before="$"
hint="Ponga un espacio de separación después del signo de coma"

[»(?!\s)]
id="ty-3-falta-espacio-despues-cierre-comilla"
validGroup closeQuotes
valid before="~"
valid before="$"
valid before="\)"
valid ctx="Numbers and characters"
hint="Ponga un espacio después del signo de comilla española de cierre"

[«.*?»\s[A-Z]]
id="ty-3-falta-punto-despues-cierre-comillas"
valid after="[A-Z]\w*\s"
hint="Ponga un punto después de la comilla de cierre antes de una nueva frase en mayúsculas"

[«[a-z].*?\.»]
id="ty-3-orden-incorrecto-punto-comilla"
valid span="[a-z].*?\.\.\."
hint="Ponga el punto después de la comilla de cierre y no antes"

[\,\s*»]
id="ty-3-orden-incorrecto-coma-comilla"
hint="Ponga la coma después de la comilla de cierre y no antes"

[¿«.*?»\?]
id="ty-3-orden-incorrecto-interrogacion-comilla"
hint="Ponga el signo de cierre de interrogación antes de la comilla de cierre y no después"

[¡«.*?»\!]
id="ty-3-orden-incorrecto-admiracion-comilla"
hint="Ponga el signo de cierre de admiración antes de la comilla de cierre y no después"

[(?<!\s)«]
id="ty-3-falta-espacio-antes-apertura-comilla"
validGroup openQuotes
valid ctx="Numbers and characters"
hint="Ponga un espacio antes del signo de comilla española de apertura"

[(?s)«(?!.*?»)]
id="ty-3-falta-cierre-comilla"
valid before="(?s).*?[»({«'\"\[]"
hint="Cierre la comilla (deben ir emparejadas)"

[(?s)^[^«]*?»]
id="ty-3-falta-apertura-comilla"
validGroup beforePunctuation
valid ctx="Numbers and characters"
valid ctx="CSV separator"
hint="Abra la comilla (deben ir emparejadas)"

[(?s)»[^«]*?»]
id="ty-3-falta-apertura-comilla-varias"
validGroup beforePunctuation
valid ctx="Numbers and characters"
valid ctx="CSV separator"
hint="Abra la comilla (deben ir emparejadas)"

[\s\s+]
id="ty-3-repeticion-espacios"
valid msgid="\s\s+"
hint="No coloque más de un espacio consecutivo"

[(?<=\s)\.]
id="ty-3-sobra-espacio-antes-punto"
valid before="[a-z0-9]{1,4}\b" # Extensions
valid before="[A-Z0-9]{1,4}\b" # Extensions
valid before="\/\w+\b" # Files
valid before="\w+?(rc|config)\b" # Configuration files
valid before="\.\."
valid before="~"
valid before="\b(desktop|calendar|directory)\b"
hint="No ponga espacios antes de un signo de punto"

[\([a-z].*?\.\)]
id="ty-3-orden-incorrecto-punto-parentesis"
valid span="\([a-z].*?\.\.\.\)"
valid cat="kspread"
valid cat="kstars"
hint="El punto debe estar después del paréntesis (y no antes)"

[,\s\(]
id="ty-3-orden-incorrecto-coma-parentesis"
hint="La coma debe estar después del paréntesis de cierre (y no antes del de apertura)"

[;\s\(]
id="ty-3-orden-incorrecto-punto-y-coma-parentesis"
hint="El punto y coma debe estar después del paréntesis de cierre (y no antes del de apertura)"

[\.(?!\s)]
id="ty-3-falta-espacio-despues-punto"
validGroup beforePunctuation
valid ctx="EMAIL OF TRANSLATORS"
valid ctx="trans_comment"
valid ctx="Numbers and characters"
valid ctx="X\-KDE\-Keywords"
valid msgid="CREDIT_FOR_TRANSLATORS"
valid before="[a-z0-9]{1,4}\b" # Extensions
valid before="[A-Z0-9]{1,4}\b" # Extensions
valid before="\w+?(rc|config)\b" # Configuration files
valid before="(calendar|desktop|directory|h|html|lock|moc|xml)\b"
valid before="Fm" after="Last\s"
valid before="\.\."
valid after="\.\."
valid before="\." after="\."
valid before="\*"
valid after="\*"
valid before="~"
valid before="$"
valid before="\)"
hint="Ponga un espacio después de un signo de punto"

[\.\.\.\s?\.]
id="ty-3-sobra-punto-despues-suspensivos"
hint="No pongty-3-falta-apertura-admiracion-variasa un signo de punto después de puntos suspensivos"

[\.\.]
id="ty-3-puntos-repetidos"
valid after="\d" before="\d"
valid after="\%\d" before="\%\d"
valid after="\."
valid before="\."
hint="No ponga dos signos de punto consecutivos"

[\s'\s]
id="ty-3-apostrofo-suelto"
hint="No ponga el signo de apóstrofo suelto"

['\d]
id="ty-3-apostrofo-ante-numeros"
hint="No ponga el signo de apóstrofo antes de números"

#[&cr;]
#id="ty-3-sobra-retorno-carro"
#hint="Abajo MS-DOS (quite el carácter de retorno de carro)"

[(?<=\S)\.\s[a-zñçáéíóú]\w+]
id="ty-2-falta-mayuscula-despues-punto"
valid after="\.\."
valid span="\.\s[a-z]*?[A-Z]\w+"
valid span="\.\shttp\w+"
valid span="\.\s(van|von)" before="\s[A-Z]"
hint="Utilice mayúsculas después de punto"

[(?<=\S)\?\s[a-zñçáéíóú]]
id="ty-2-falta-mayuscula-despues-cierre-interrogacion"
valid before="[a-z]*?[A-Z]"
hint="Utilice mayúsculas después de cierre de interrogación"

[(?<=\S)\!\s[a-zñçáéíóú]]
id="ty-2-falta-mayuscula-despues-cierre-admiracion"
valid before="[a-z]*?[A-Z]"
hint="Utilice mayúsculas después de cierre de admiración"

[(?s)\((?!.*?\))]
id="ty-3-falta-cierre-parentesis"
valid msgid="\(" msgstr="\("
valid before="(?s).*?[\)\(\{«'\"\[]"
hint="Cierre el paréntesis (deben ir emparejados)"

[(?s)[\[](?!.*?[\]])]
id="ty-3-falta-cierre-corchete"
valid before="(?s).*?[\)\(\{«'\"\[]"
valid after="Apple\s[\]]"
hint="Cierre el corchete (deben ir emparejados)"

[(?s)\{(?!.*?\})]
id="ty-3-falta-cierre-llaves"
valid before="(?s).*?[}{(«'\"\[]"
hint="Cierre la llave (deben ir emparejadas)"

#[\(c\)]
#id="ty-3-use-simbolo-copyright-cminuscula"
#valid msgstr="©"
#hint="Utilice el símbolo «©» en lugar de «(c)»"

[\(c\)\s\d{4}]i
id="ty-3-use-simbolo-copyright"
valid msgstr="©\s\d{4}"
hint="Utilice el símbolo «©» en lugar de «(C)» antes de un número de año"

[\b(Ac|Ag|Al|Am|Ar|As|At|Au|B|Be|Bh|Bi|Bk|Br|C|Ca|Cd|Ce|Cf|Cl|Cm|Co|Cr|Cs|Cu|Dy|Er|Es|Eu|F|Fe|Fm|Fr|Ga|Gd|Ge|He|Hf|Hg|Ho|In|Ir|Kr|Kv|La|Li|Lr|Lu|Md|Mg|Mn|Mo|Mt|N|Na|Nb|Nd|Ne|Ni|No|Np|Os|P|Pa|Pb|Pd|Pm|Po|Pr|Pt|Pu|Ra|Rb|Re|Rf|Rh|Rn|Ru|S|Sb|Sc|Se|Sg|Si|Sm|Sn|Sr|Ta|Tb|Tc|Te|Th|Ti|Tl|Tm|U|V|Xe|Y|Yb|Zn|Zr)\.]
id="ty-2-punto-en-elemento-quimico"
valid before="\s[A-Z]"
valid before="\w+\."
valid before="$"
valid before="\.\."
valid before="\n"
valid before="\d"
valid before="\s[¿¡]"
valid after="[.:_-]"
hint="Los elementos químicos no llevan punto"

[\b(a|A|at|atm|b|bar|c|cal|cd|cm|CV|d|da|dB|dm|dyn|erg|eV|f|F|ft|g|G|Gb|GiB|gr|Gs|Gy|h|H|ha|hp|Hz|in|J|k|K|Kb|kg|KiB|km|l|L|lb|lm|lx|m|M|Mb|MiB|mbar|Mc|mg|min|mol|Mx|n|N|Oe|oz|p|P|Pa|pc|pt|Qm|R|rad|s|sr|Sv|t|T|tex|u|UA|V|Wb|yd)\.]
id="ty-2-punto-en-unidad-medida"
valid before="\s[A-Z]"
valid before="\w+\."
valid before="$"
valid before="\.\."
valid before="\n"
valid before="\d"
valid before="\s[¿¡]"
valid after="[.:_-]"
hint="Las unidades de medida no llevan punto"

[\b(N|S|E|O|W|NE|NO|NW|SE|SO|SW)\.]
id="ty-2-punto-en-punto cardinal"
valid before="\s[A-Z]"
valid before="\w+\."
valid before="$"
valid before="\.\."
valid before="\n"
valid before="\d"
valid before="\s[¿¡]"
valid after="[.:_-]"
hint="Los puntos cardinales no llevan punto"

[\b(ALL|ARS|BAM|BBD|BGN|BOB|BRL|BSD|BYR|BZD|CAD|CHF|CLP|COP|CRC|CSD|CUP|CZK|DKK|DOP|ECS|EEK|EUR|GBP|GIP|GTQ|GYD|HNL|HRK|HTG|HUF|ISK|JMD|LTL|LVL|MDL|MKD|MTL|MXP|MXN|NIO|NOK|PAB|PES|PEN|PHP|PLN|PYG|ROL|RON|RUB|SEK|SIT|SKK|SRD|SVC|TRL|TRY|TTD|UAH|USD|UYU|VEB|XAF|XCD)\.]
id="ty-2-punto-en-unidad-monetaria"
valid before="\s[A-Z]"
valid before="\w+\."
valid before="$"
valid before="\.\."
valid before="\n"
valid before="\d"
valid before="\s[¿¡]"
valid after="[.:_-]"
hint="Las unidades monetarias no llevan punto"

[\d+(a|A|at|atm|b|bar|c|cal|cd|cm|CV|d|da|dB|dm|dyn|erg|eV|f|F|ft|g|G|Gb|GiB|gr|Gs|Gy|h|H|ha|hp|Hz|in|J|k|K|kb|kIb|kg|km|l|L|lb|lm|lx|m|M|mB|mIb|mbar|Mc|mg|min|mol|Mx|n|N|Oe|oz|p|P|Pa|pc|pt|Qm|R|rad|s|sr|Sv|t|T|tex|u|UA|V|Wb|yd)\b]
id="ty-2-espacio-de-separacion-en-unidad-medida"
valid span="[23]G"
valid span="[23]D"
valid after="[A-Za-z_-]"
valid after="\%\."
valid span="\d[a-z]" before="\)"
hint="Es necesario un espacio de separación entre el número y la unidad de medida"

[\b(p\.\s?e|e\.\s?g|ej|ejem)\b\.?]i
valid span="ej\." after="p\.\s"
id="ty-2-abreviatura-por-ejemplo"
hint="La abreviatura de «por ejemplo» es «p. ej.»"

addFilterHook name="es:remove_subs/remove_paired_capital_words" on="msg"

[(?u)[,;]\s+[A-Z][a-záéíóúüñç]+]
id="ty-2-error-mayusculas-en-lugar-indebido"
valid ctx=".*?TRANSLATORS"
valid ctx="trans_comment"
valid msgid=".*?TRANSLATORS"
valid msgid="^$"
valid before="\s(de\s)?[A-Z]"
valid after="\&[\w-]+;"
valid after="[A-ZÑÇ]\w+"
valid span=",\s(Inc|Universidad|Instituto)"
hint="Utilice minúsculas después de coma o punto y coma"

[(?u)\([A-Z][a-záéíóúüñç]+]
id="ty-3-error-mayusculas-despues-parentesis"
valid ctx=".*?TRANSLATORS"
valid ctx="trans_comment"
valid msgid=".*?TRANSLATORS"
valid msgid="^$"
valid before=".*?[.:]\)"
valid before="\s(de\s)?[A-Z]"
valid after="^\s*"
valid after="[.:]\s*"
valid after="\n\s*"
valid after="\S"
valid span="(?u)\((Mayús|Preferencias|Menú)"
hint="Utilice minúsculas después de apertura de paréntesis"

# End of rule file
