#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Template Translator v0.1
# Traduit automatiquement certaines chaine de caractères des paquets
# Publié par roptat
le 8 août 2016
# sous la licence gnu General Public License version 3 pubilée par la Free Software Foundation.
# Visitez pour obtenir la licence.
import sys
import re
import polib
files = sys.argv
files.pop(0)
def convert(entry, regexp, template):
m = regexp.match(entry.msgid)
# do not modify anything if the translation is already correct
if m and ("fuzzy" in entry.flags or not entry.msgstr):
msgstr = template
try:
msgstr = msgstr.replace("#1", m.group(1))
msgstr = msgstr.replace('#2', m.group(2))
msgstr = msgstr.replace('#3', m.group(3))
msgstr = msgstr.replace('#4', m.group(4))
except:
x=1
entry.msgstr = msgstr
if "fuzzy" in entry.flags:
entry.flags.remove("fuzzy")
# regexps
regexps = []
regexps.append([re.compile('{Scheme Procedure} (.*)$'), '{Procédure Scheme} #1'])
regexps.append([re.compile('{Scheme Variable} (.*)$'), '{Variable Scheme} #1'])
regexps.append([re.compile('{Data Type} (.*)$'), '{Type de données} #1'])
regexps.append([re.compile('@code{([^}]*)} \\(default:? #t\\)$'),
'@code{#1} (par défaut : #t)'])
regexps.append([re.compile('@code{([^}]*)} \\(default:? ([0-9]*)\\)$'),
'@code{#1} (par défaut : #2)'])
regexps.append([re.compile('@code{([^}]*)} \\(default:? @code{([^}]*)}\\)$'),
'@code{#1} (par défaut : @code{#2})'])
regexps.append([re.compile('@code{([^}]*)} \\(default:? @var{([^}]*)}\\)$'),
'@code{#1} (par défaut : @var{#2})'])
regexps.append([re.compile('@code{([^}]*)} \\(default:? "([^"]*)"\\)$'),
'@code{#1} (par défaut : "#2")'])
regexps.append([re.compile('address@hidden([^}]*)} parameter} ([^ ]*) ([^ ]*)$'), '{paramètre de @code{#1}} #2 #3'])
regexps.append([re.compile('The ([^ ]*) package to use.$'), 'Le paquet #1 Ã utiliser.'])
regexps.append([re.compile('Defaults to @samp{([^}]*)}.$'), 'La valeur par défaut est @samp{#1}.'])
regexps.append([re.compile('Available @code{(.*)} fields are:$'), 'Les champs de @code{#1} disponibles sont :'])
po = polib.pofile(files[0])
for entry in po:
for reg in regexps:
convert(entry, reg[0], reg[1])
po.save()