#!/usr/bin/python # -*- encoding: utf-8 -*- import fnmatch import polib import re import os import string start_directory = '../..' language_filename = 'de.po' print "Start" search_replace_regex = [(u'Ist ein Unternehmen\?', u'Hauptkontakt?'), (u'Ist ein Unternehmen', u'Hauptkontakt'), (u'Aufträge', u'Kundenbestellungen'), (u'der Auftrag', u'die Kundenbestellung'), (u'des Auftrags', u'der Kundenbestellung'), (u'dem Auftrag', u'der Kundenbestellung'), (u'den Auftrag', u'die Kundenbestellung'), (u'ein Auftrag', u'eine Kundenbestellung'), (u'einen Auftrag', u'eine Kundenbestellung'), (u'diesen Auftrag', u'diese Kundenbestellung'), (u'Der Auftrag', u'Die Kundenbestellung'), (u'Des Auftrags', u'Der Kundenbestellung'), (u'Dem Auftrag', u'Der Kundenbestellung'), (u'Den Auftrag', u'Die Kundenbestellung'), (u'Ein Auftrag', u'Eine Kundenbestellung'), (u'Einen Auftrag', u'Eine Kundenbestellung'), (u'Diesen Auftrag', u'Diese Kundenbestellung'), (u'Auftragsnummer', u'Kundenbestellung Nr.'), (u'Auftrag', u'Kundenbestellung'), (u'der Verkaufsauftrag', u'die Kundenbestellung'), (u'des Verkaufsauftrag', u'der Kundenbestellung'), (u'dem Verkaufsauftrag', u'der Kundenbestellung'), (u'den Verkaufsauftrag', u'die Kundenbestellung'), (u'ein Verkaufsauftrag', u'eine Kundenbestellung'), (u'einen Verkaufsauftrag', u'eine Kundenbestellung'), (u'diesen Verkaufsauftrag', u'diese Kundenbestellung'), (u'Der Verkaufsauftrag', u'Die Kundenbestellung'), (u'Des Verkaufsauftrag', u'Der Kundenbestellung'), (u'Dem Verkaufsauftrag', u'Der Kundenbestellung'), (u'Den Verkaufsauftrag', u'Die Kundenbestellung'), (u'Ein Verkaufsauftrag', u'Eine Kundenbestellung'), (u'Einen Verkaufsauftrag', u'Eine Kundenbestellung'), (u'Diesen Verkaufsauftrag', u'Diese Kundenbestellung'), (u'Verkaufsauftrag', u'Kundenbestellung'), (u'Verkaufsauftrag', u'Kundenbestellung'), (u'Amount Paid', u'Betrag bezahlt'), ] search_module = ['sale', 'base'] valid_entries = [] for root, dirs, files in os.walk(start_directory): for filename in fnmatch.filter(files, language_filename): print "File: " + filename src = os.path.join(root, filename) po = polib.pofile(src) for e in po: if not e.obsolete: valid_entries.append(e) po2 = polib.POFile() for se in search_replace_regex: for entry in valid_entries: module = re.search(u'(module:)(.*)', entry.comment) if module: module = module.group(2).strip() if module in search_module: if re.search(se[0], entry.msgstr): entry.msgstr = string.replace(entry.msgstr, se[0], se[1]) po2.append(entry) print entry.msgid, "<->", entry.msgstr elif re.search(se[0], entry.msgid): entry.msgstr = se[1] po2.append(entry) print entry.msgid, "<->", entry.msgstr po2.save('../../setup/auto_translated2.po')