1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# -*- coding: utf-8 -*-
import re
from jfr_playoff.logger import PlayoffLogger
PLAYOFF_I18N_DEFAULTS = {
'SCORE': 'wynik',
'FINAL_STANDINGS': 'klasyfikacja końcowa',
'STANDINGS_PLACE': 'miejsce',
'STANDINGS_TEAM': 'drużyna',
'STANDINGS_CAPTIONS': 'legenda',
'FOOTER_GENERATED': 'strona wygenerowana',
'SWISS_DEFAULT_LABEL': 'Turniej o %d. miejsce',
'DETERMINED_TEAMS': 'Drużyny z pewnym miejscem w tej fazie:',
'POSSIBLE_TEAMS': 'Drużyny z trwających meczów poprzedniej fazy:'
}
class PlayoffI18N(object):
def __init__(self, settings):
self.settings = settings
self.string_match = re.compile(r'{{(.*)}}')
def localize(self, string):
return re.sub(
self.string_match,
lambda x: self.__get_translation(x.group(1)),
string)
def __get_translation(self, string):
for dictionary in [self.settings, PLAYOFF_I18N_DEFAULTS]:
if string in dictionary:
translation = dictionary[string].decode('utf8')
PlayoffLogger.get('i18n').info(
'translation for %s: %s', string, translation)
return translation
PlayoffLogger.get('i18n').info(
'translation for %s not found', string)
return '{{%s}}' % (string)
|