<div dir="ltr"><div>Hola:</div><div><br></div><div>He creado una versión bastante mejorada del último script de correcciones automáticas que envié la semana pasada. Yo ya lo he aplicado a mis paquetes; a ver si Eloy se anima con el resto.</div>
<div><br></div><div>En lugar de lanzar procesos en paralelo automáticamente, recibe como parámetros la rama y el tipo.</div><div><br></div><div>Está también en la carpeta de Drpbox.</div><div><br></div><div>Saludos, Javier</div>
<div><br></div><div>#!/bin/bash</div><div># </div><div># Corrección automática de errores en las traducciones.</div><div># El primer parámetro es la rama ('branches/stable' o 'trunk').</div><div># El segundo parámetro es el tipo ('messages' o 'docmessages').</div>
<div># Es conveniente redireccionar la salida a un archivo.</div><div>#</div><div>PROGRAMA=~/svnroot/pology/scripts/posieve.py</div><div>RAIZ=~/svnroot</div><div>IDIOMA=es</div><div>OPCION=find-messages</div><div>PARAMETROS="-s accel:\& -s case"</div>
<div><br></div><div># Cambia artículos con género cambiado en términos técnicos.</div><div>P[0]="\bURLs\b"<span class="" style="white-space:pre">           </span>R[0]="URL"</div><div>P+=("\bIRQs\b")<span class="" style="white-space:pre">              </span>R+=("IRQ")</div>
<div><br></div><div>P+=("\bel(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">            </span>R+=("la")</div><div>P+=("\bEl(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">         </span>R+=("La")</div>
<div>P+=("\bdel(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">            </span>R+=("de la")</div><div>P+=("\bDel(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">             </span>R+=("De la")</div>
<div>P+=("\bun(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">             </span>R+=("una")</div><div>P+=("\bUn(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">                </span>R+=("Una")</div>
<div>P+=("\beste(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">           </span>R+=("esta")</div><div>P+=("\bEste(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">             </span>R+=("Esta")</div>
<div>P+=("\bese(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">            </span>R+=("esa")</div><div>P+=("\bEse(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">               </span>R+=("Esa")</div>
<div>P+=("\balgún(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">         </span>R+=("alguna")</div><div>P+=("\bAlgún(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">         </span>R+=("Alguna")</div>
<div>P+=("\bningún(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">        </span>R+=("ninguna")</div><div>P+=("\bNingún(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acro|[Ww]eb)\b)")<span class="" style="white-space:pre">       </span>R+=("Ninguna")</div>
<div><br></div><div>P+=("\blos(?=\s([Cc]achés|[Ii]nterfaces|[Ii]rq|IRQ|[Mm]acros|[Ww]ebs?)\b)")<span class="" style="white-space:pre">     </span>R+=("las")</div><div>P+=("\bLos(?=\s([Cc]achés|[Ii]nterfaces|[Ii]rq|IRQ|[Mm]acros|[Ww]ebs?)\b)")<span class="" style="white-space:pre"> </span>R+=("Las")</div>
<div>P+=("\bunos(?=\s([Cc]achés|[Ii]nterfaces|[Ii]rq|IRQ|[Mm]acros|[Ww]ebs?)\b)")<span class="" style="white-space:pre">     </span>R+=("unas")</div><div>P+=("\bUnos(?=\s([Cc]achés|[Ii]nterfaces|[Ii]rq|IRQ|[Mm]acros|[Ww]ebs?)\b)")<span class="" style="white-space:pre">       </span>R+=("Unas")</div>
<div>P+=("\bestos(?=\s([Cc]achés|[Ii]nterfaces|[Ii]rq|IRQ|[Mm]acros|[Ww]ebs?)\b)")<span class="" style="white-space:pre">    </span>R+=("estas")</div><div>P+=("\bEstos(?=\s([Cc]achés|[Ii]nterfaces|[Ii]rq|IRQ|[Mm]acros|[Ww]ebs?)\b)")<span class="" style="white-space:pre">     </span>R+=("Estas")</div>
<div>P+=("\besos(?=\s([Cc]achés|[Ii]nterfaces|[Ii]rq|IRQ|[Mm]acros|[Ww]ebs?)\b)")<span class="" style="white-space:pre">     </span>R+=("esas")</div><div>P+=("\bEsos(?=\s([Cc]achés|[Ii]nterfaces|[Ii]rq|IRQ|[Mm]acros|[Ww]ebs?)\b)")<span class="" style="white-space:pre">       </span>R+=("Esas")</div>
<div>P+=("\balgunos(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acros|[Ww]ebs?)\b)")<span class="" style="white-space:pre">     </span>R+=("algunas")</div><div>P+=("\bAlgunos(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acros|[Ww]ebs?)\b)")<span class="" style="white-space:pre">    </span>R+=("Algunas")</div>
<div>P+=("\bningunos(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acros|[Ww]ebs?)\b)")<span class="" style="white-space:pre">    </span>R+=("ningunas")</div><div>P+=("\bNingunos(?=\s([Cc]aché|[Ii]nterfaz|[Ii]rq|IRQ|[Mm]acros|[Ww]ebs?)\b)")<span class="" style="white-space:pre">  </span>R+=("Ningunas")</div>
<div><br></div><div>P+=("\bla(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">             </span>R+=("el")</div><div>P+=("\bLa(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">          </span>R+=("El")</div>
<div>P+=("\buna(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">             </span>R+=("un")</div><div>P+=("\bUna(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">         </span>R+=("Un")</div>
<div>P+=("\besta(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">            </span>R+=("este")</div><div>P+=("\bEsta(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">              </span>R+=("Este")</div>
<div>P+=("\besa(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">             </span>R+=("ese")</div><div>P+=("\bEsa(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">                </span>R+=("Ese")</div>
<div>P+=("\balguna(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">  </span>R+=("algún")</div><div>P+=("\bAlguna(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">  </span>R+=("Algún")</div>
<div>P+=("\bninguna(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre"> </span>R+=("ningún")</div><div>P+=("\bNinguna(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">        </span>R+=("Ningún")</div>
<div><br></div><div>P+=("\blas(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">            </span>R+=("los")</div><div>P+=("\bLas(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">                </span>R+=("Los")</div>
<div>P+=("\bunas(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">            </span>R+=("unos")</div><div>P+=("\bUnas(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">              </span>R+=("Unos")</div>
<div>P+=("\bestas(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">           </span>R+=("estos")</div><div>P+=("\bEstas(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">            </span>R+=("Estos")</div>
<div>P+=("\besas(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">            </span>R+=("esos")</div><div>P+=("\bEsas(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">              </span>R+=("Esos")</div>
<div>P+=("\balgunas(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre"> </span>R+=("algunos")</div><div>P+=("\bAlgunas(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">        </span>R+=("Algunos")</div>
<div>P+=("\bningunas(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">        </span>R+=("ningunos")</div><div>P+=("\bNingunas(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">      </span>R+=("Ningunos")</div>
<div><br></div><div># Corrección de algunas faltas de concordancia.</div><div>P+=("(?<=[Ii]nterfaz\s)activo\b")<span class="" style="white-space:pre">                      </span>R+=("activa")</div><div>P+=("(?<=[Ii]nterfaz\s)cableado\b")<span class="" style="white-space:pre">                    </span>R+=("cableada")</div>
<div>P+=("(?<=[Ii]nterfaz\s)gráfico\b")<span class="" style="white-space:pre">                    </span>R+=("gráfica")</div><div><br></div><div>P+=("(?<=[Ii]nterfaces\s)activos\b")<span class="" style="white-space:pre">                        </span>R+=("activas")</div>
<div>P+=("(?<=[Ii]nterfaces\s)cableados\b")<span class="" style="white-space:pre">                 </span>R+=("cableadas")</div><div>P+=("(?<=[Ii]nterfaces\s)gráficos\b")<span class="" style="white-space:pre">                      </span>R+=("gráficas")</div>
<div><br></div><div>P+=("(?<=([Uu]rl|URL)\s)abreviada(?=s?\b)")<span class="" style="white-space:pre">           </span>R+=("abreviado")</div><div>P+=("(?<=([Uu]rl|URL)\s)alternativa(?=s?\b)")<span class="" style="white-space:pre">               </span>R+=("alternativo")</div>
<div>P+=("(?<=([Uu]rl|URL)\s)antigua(?=s?\b)")<span class="" style="white-space:pre">              </span>R+=("antiguo")</div><div>P+=("(?<=([Uu]rl|URL)\s)completa(?=s?\b)")<span class="" style="white-space:pre">            </span>R+=("completo")</div>
<div>P+=("(?<=([Uu]rl|URL)\s)configurada(?=s?\b)")<span class="" style="white-space:pre">          </span>R+=("configurado")</div><div>P+=("(?<=([Uu]rl|URL)\s)correcta(?=s?\b)")<span class="" style="white-space:pre">                </span>R+=("correcto")</div>
<div>P+=("(?<=([Uu]rl|URL)\s)dada(?=s?\b)")<span class="" style="white-space:pre">                 </span>R+=("dado")</div><div>P+=("(?<=([Uu]rl|URL)\s)distinta(?=s?\b)")<span class="" style="white-space:pre">               </span>R+=("distinto")</div>
<div>P+=("(?<=([Uu]rl|URL)\s)específica(?=s?\b)")<span class="" style="white-space:pre">          </span>R+=("específico")</div><div>P+=("(?<=([Uu]rl|URL)\s)estática(?=s?\b)")<span class="" style="white-space:pre">               </span>R+=("estático")</div>
<div>P+=("(?<=([Uu]rl|URL)\s)exacta(?=s?\b)")<span class="" style="white-space:pre">               </span>R+=("exacto")</div><div>P+=("(?<=([Uu]rl|URL)\s)facilitada(?=s?\b)")<span class="" style="white-space:pre">           </span>R+=("facilitado")</div>
<div>P+=("(?<=([Uu]rl|URL)\s)incorrecta(?=s?\b)")<span class="" style="white-space:pre">           </span>R+=("incorrecto")</div><div>P+=("(?<=([Uu]rl|URL)\s)introducida(?=s?\b)")<span class="" style="white-space:pre">              </span>R+=("introducido")</div>
<div>P+=("(?<=([Uu]rl|URL)\s)mostrada(?=s?\b)")<span class="" style="white-space:pre">             </span>R+=("mostrado")</div><div>P+=("(?<=([Uu]rl|URL)\s)pasada(?=s?\b)")<span class="" style="white-space:pre">             </span>R+=("pasado")</div>
<div>P+=("(?<=([Uu]rl|URL)\s)predeterminada(?=s?\b)")<span class="" style="white-space:pre">       </span>R+=("predeterminado")</div><div>P+=("(?<=([Uu]rl|URL)\s)remota(?=s?\b)")<span class="" style="white-space:pre">               </span>R+=("remoto")</div>
<div>P+=("(?<=([Uu]rl|URL)\s)seleccionada(?=s?\b)")<span class="" style="white-space:pre">         </span>R+=("seleccionado")</div><div>P+=("(?<=([Uu]rl|URL)\s)usada(?=s?\b)")<span class="" style="white-space:pre">                  </span>R+=("usado")</div>
<div>P+=("(?<=([Uu]rl|URL)\s)válida(?=s?\b)")<span class="" style="white-space:pre">              </span>R+=("válido")</div><div><br></div><div>P+=("(?<=URL\sweb\s)válida\b")<span class="" style="white-space:pre">                      </span>R+=("válido")</div>
<div>P+=("(?<=URL\sno\s)válida\b")<span class="" style="white-space:pre">                 </span>R+=("válido")</div><div>P+=("(?<=URL\sno\ses\s)válida\b")<span class="" style="white-space:pre">            </span>R+=("válido")</div>
<div>P+=("(?<=URL\ssean\s)llamadas\b")<span class="" style="white-space:pre">              </span>R+=("llamados")</div><div>P+=("(?<=URL\santes\s)introducida\b")<span class="" style="white-space:pre">                </span>R+=("introducido")</div>
<div>P+=("(?<=URL\s)a\s\la\scual\b")<span class="" style="white-space:pre">                        </span>R+=("al cual")</div><div>P+=("(?<=URL\s)a\s\la\sque\b")<span class="" style="white-space:pre">                        </span>R+=("al que")</div>
<div>P+=("(?<=URL\s)de\sla\s\cual\b")<span class="" style="white-space:pre">               </span>R+=("del cual")</div><div>P+=("(?<=URL\s)de\sla\s\que\b")<span class="" style="white-space:pre">                      </span>R+=("del que")</div>
<div>P+=("(?<=URL\s)introducido\sno\ses\sválida\b")<span class="" style="white-space:pre">        </span>R+=("introducido no es válido")</div><div><br></div><div>P+=("\ba\sel(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">               </span>R+=("al")</div>
<div>P+=("\bA\sel(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">           </span>R+=("Al")</div><div>P+=("\bde\sel(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">      </span>R+=("del")</div>
<div>P+=("\bDe\sel(?=\s([Bb]ios|BIOS|[Uu]rl|URL)\b)")<span class="" style="white-space:pre">  </span>R+=("Del")</div><div><br></div><div>RAMA=$1</div><div>TIPO=$2</div><div><br></div><div>echo "Iniciando...:" $RAMA $TIPO</div>
<div>ORIGEN=$RAIZ/$RAMA/l10n-kde4/$IDIOMA/$TIPO</div><div>for PAQUETE in $ORIGEN/*; do</div><div>    if [ -d $PAQUETE ]; then</div><div><span class="" style="white-space:pre">   </span>echo "Procesando...:" $PAQUETE</div>
<div><span class="" style="white-space:pre">    </span>for ((I=0; I<${#P[@]}; I++)); do</div><div><span class="" style="white-space:pre">        </span>    # echo "Analizando...:" "${P[$I]}"</div><div><span class="" style="white-space:pre">       </span>    $PROGRAMA '-bR' $OPCION $PARAMETROS -s msgstr:"${P[$I]}" -s replace:"${R[$I]}" $PAQUETE</div>
<div><span class="" style="white-space:pre">    </span>done</div><div>    fi</div><div>done</div><div><br></div></div>