Rev 296 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 296 | Rev 297 | ||
---|---|---|---|
Line 53... | Line 53... | ||
53 | return 1 if len(b) < len(a) else 0 |
53 | return 1 if len(b) < len(a) else 0 |
54 | 54 | ||
55 | return cmp_to_key(sort_dict_alnum_vulcan) |
55 | return cmp_to_key(sort_dict_alnum_vulcan) |
56 | 56 | ||
57 | class VulcanDictionary (Dictionary): |
57 | class VulcanDictionary (Dictionary): |
- | 58 | """
|
|
- | 59 |
|
|
- | 60 | """
|
|
58 | def translate (self, phrase, search_prefix=True, search_plural=True): |
61 | def translate (self, phrase, search_prefix=True, search_plural=True): |
59 | dictionary = self |
62 | """
|
60 | 63 |
|
|
- | 64 | :param phrase:
|
|
- | 65 | :type phrase:
|
|
- | 66 | :param search_prefix:
|
|
- | 67 | :type search_prefix:
|
|
- | 68 | :param search_plural:
|
|
- | 69 | :type search_plural:
|
|
- | 70 | """
|
|
61 | translation = super().translate(phrase) |
71 | translation = super().translate(phrase) |
62 | if translation is not None: |
72 | if translation is not None: |
63 | return translation
|
73 | return translation
|
64 | else:
|
74 | else:
|
65 | expr_translation = dictionary.translate_expression(phrase) |
75 | expr_translation = self.translate_expression(phrase) |
66 | if expr_translation is not None: |
76 | if expr_translation is not None: |
67 | return expr_translation
|
77 | return expr_translation
|
68 | 78 | ||
69 | if search_prefix:
|
79 | if search_prefix:
|
70 | # find prefix
|
80 | # find prefix
|
Line 88... | Line 98... | ||
88 | head_translation['en'] += ' (pl.)' |
98 | head_translation['en'] += ' (pl.)' |
89 | return head_translation
|
99 | return head_translation
|
90 | 100 | ||
91 | return None |
101 | return None |
92 | 102 | ||
- | 103 | def clean_entry(self, phrase): |
|
- | 104 | """
|
|
- | 105 | Replace GV Media Script parens with FSE parens
|
|
- | 106 | :param phrase:
|
|
- | 107 | :type phrase:
|
|
- | 108 | """
|
|
- | 109 | return sub( |
|
- | 110 | r'(\([^)]*\))|\|([^|)]+)\|', |
|
- | 111 | lambda m: '({0})'.format(m.group(2)) if m.group(2) else m.group(1), |
|
- | 112 | phrase)
|
|
- | 113 | ||
93 | if __name__ == '__main__': |
114 | if __name__ == '__main__': |
94 | if len(argv) < 2: |
115 | if len(argv) < 2: |
95 | print('Nothing to translate.', end='\n\n', file=stderr) |
116 | print('Nothing to translate.', end='\n\n', file=stderr) |
96 | cli_help() |
117 | cli_help() |
97 | exit(1) |
118 | exit(1) |
Line 155... | Line 176... | ||
155 | word['en'] |
176 | word['en'] |
156 | if (hasattr(word, "get") and word.get('en', None) is not None) |
177 | if (hasattr(word, "get") and word.get('en', None) is not None) |
157 | else word, |
178 | else word, |
158 | words)), |
179 | words)), |
159 | min_level=2) |
180 | min_level=2) |
160 | # dmsg(dictionary._expressions)
|
181 | # for key, value in dictionary._expressions.items():
|
- | 182 | # dmsg(key, value, min_level=3)
|