# Internal rules intended to check for common mistakes in Galician L10n,
# and to promote the usage of a controlled language.
# by the Proxecto Trasno (proxecto@trasno.net)
# License: BSD 3-clause
# Copyright (c) 2010, 2011, 2012, 2014 Proxecto Trasno
# All rights reserved.
# 
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of the Proxecto Trasno nor the
#       names of its contributors may be used to endorse or promote products
#       derived from this software without specific prior written permission.
# 
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL PROXECTO TRASNO BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


include file="filter.include"
#########
#Regras que afectan ao modelo de lingua
#########

# Evitar o uso da segunda forma do artígo
[\b[A-Za-z]+-l(o|a)s?(\b|\s)]i
id="clGL-modling_alomorfoartigo"
hint="evitar o uso da segunda forma do artígo"

# Prefírese a terminación en -aría(s), agás palabras obrigadas como batería, galería...
[\b[A-Za-z]+erías?(\s|\b)]i
valid span="^(alm|bat|deb|esquec|gal|hab|mensax|pod|qu|quer|ref|ser|s|t)ería"
id="clGL-modling_aria"
hint="prefírese a terminación en -aría"

# Prefírese contracción prep(a)+art(o) -> ao , non "ó"
[\bós?\s]i
id="clGL-modling_ao"
hint="prep(a) + art(o) -> ao"

# Ca min/ti/el/ela/nos/nosoutros/vos/vosoutros/eles/elas.
[\bca\s]i
valid !before="(?!(min|ti|el|ela|si|min|nos|vos|nosoutr(o|a)s|vosoutr(o|a)s|el(e|a)s))\b"
# ese valid cacha o erro ortográfico de non marcar a contracción
# da comparativa ca + artigo determinado (a/o), polo menos nalgúns casos
id="clGL-modling_ca"
hint="usar «cá» (que + a) cando sexa imprescindíbel"

# Coma min/ti/el/ela/nos/nosoutros/vos/vosoutros/eles/elas.
[\bcoma\s(?!(min|ti|el|si|min|ela|nos|vos|nosoutr(o|a)s|vosoutr(o|a)s|el(e|a)s))]i
valid after="\bpuntos?\se\s" # «puntos e comas»
valid after="\bda\s"         # «algo da coma» → refírese ao «,»-
valid after="\bunha\s"       # «unha coma»
id="clGL-modling_coma"
hint="usar «coma» cando sexa imprescindíbel"

# Evitar usar ¿ e ¡ (interrogación e exclamación iniciais)
[(¡|¿)]i
id="clGL-modling_interrogacion-excl-iniciais"
hint="evitar usar sinais iniciais de interrogación ou exclamación"


#####
#Acordos das trasnadas
#####

# Prefírese a terminación en bel
[\b[\w\-_]+bles?(\s|\b)]i
# excepcións
valid span="(fe|ca|dou|tre|ipta)bles?"
valid span="[\-_]+"
valid span="robles" after="eduardo\s" # nome dun programador
valid span="\bmarble\b" # nome dun programa
valid span="\bGrenoble\b" # cidade
valid span="\bHubble\b" # o satélite telescopio
valid span="\bGabble\b" # un servizo
valid span="\bPebbles?\b" # un produto
valid span="tables?\b" # moitos falsos positivos, grazas a Latex
id="PT-2011-gl_bel"
hint="terminación en -bel"

# descarta o uso de «dende» en favor de «desde»
[\bdende\b]i
id="PT-2011-gl_dende"
hint="dende -> desde"

# descarta o uso de «vacío» en favor de «baleiro»
[\bvac(ío|ía|ia|ie|io)]i
id="PT-2011-gl_vacío"
hint="vacío -> baleiro"

#evitar usar «lanzar» en favor de «iniciar» (un executábel)
[\blanz]i
valid !msgid="\blaunch"
valid ctx="X-KDE-Keywords"
id="PT-2011-gl_lanzar"
hint="lanzar -> iniciar"

# preferir «lista» e non «listaxe»
[\blistaxe]i
id="PT-2012-gl_listaxe"
hint="«listaxe» -> «lista»?"

# usar «son» no canto de «audio»
[\baudio]i
valid ctx="X-KDE-Keywords"
valid before="visual"
valid before="\s?cd" env="kde" # «audiocd» é un kioslave
id="PT-2011-gl_audio"
hint="audio -> son"

# preferir «computador» e non «computadora»
[\bcomputadora]i
id="PT-2012-gl_computadora"
hint="«computadora» -> «computador»?"


######
# Fin dos acordos das trasnadas
######

# avisar de «tódolos»
[\btódol(a|o)s]i
id="noPT-gl_tódolos"
hint="«tódolos» -> «todos os»?"

# avisar de «carpeta»
[\bcarpeta]i
id="noPT-gl_carpeta"
hint="«carpeta» -> «cartafol»?"

# usar a conxunción adversativa «pero», retirando os usos de «mais»
[\bmais\b]i
id="clGl-all_mais"
hint="«mais» -> «pero»"

#####
# Gramática (this shouldn't be here, but the grammar checker is not always used as should be...)
#####

# «ir a infinitivo» -> «ir ìnfinitivo»
[\b(ir|ías?|vou|vas|vai)\sa\s\w+[aei]r\b]i
id="noPT-gl_ir+a+infinitivo"
hint="«ir a infinitivo» -> «ir ìnfinitivo»"