83 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			83 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
| #!/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') |