]> git.phdru.name Git - m_lib.git/blob - m_lib/rus/lat2rus.py
Remove wrong copyright lines, fix module docstrings
[m_lib.git] / m_lib / rus / lat2rus.py
1 #! /usr/bin/env python
2 # -*- coding: koi8-r -*-
3
4 #
5 # Lat -> Rus translation
6 #
7
8 lat2koi_d = {
9    "q": "й",
10    "w": "ц",
11    "e": "у",
12    "r": "к",
13    "t": "е",
14    "y": "н",
15    "u": "г",
16    "i": "ш",
17    "o": "щ",
18    "p": "з",
19    "[": "х",
20    "]": "ъ",
21    "a": "ф",
22    "s": "ы",
23    "d": "в",
24    "f": "а",
25    "g": "п",
26    "h": "р",
27    "j": "о",
28    "k": "л",
29    "l": "д",
30    ";": "ж",
31    "'": "э",
32    "z": "я",
33    "x": "ч",
34    "c": "с",
35    "v": "м",
36    "b": "и",
37    "n": "т",
38    "m": "ь",
39    ",": "б",
40    ".": "ю",
41    "Q": "Й",
42    "W": "Ц",
43    "E": "У",
44    "R": "К",
45    "T": "Е",
46    "Y": "Н",
47    "U": "Г",
48    "I": "Ш",
49    "O": "Щ",
50    "P": "З",
51    "{": "Х",
52    "}": "Ъ",
53    "A": "Ф",
54    "S": "Ы",
55    "D": "В",
56    "F": "А",
57    "G": "П",
58    "H": "Р",
59    "J": "О",
60    "K": "Л",
61    "L": "Д",
62    ":": "Ж",
63    "\"": "Э",
64    "Z": "Я",
65    "X": "Ч",
66    "C": "С",
67    "V": "М",
68    "B": "И",
69    "N": "Т",
70    "M": "Ь",
71    "<": "Б",
72    ">": "Ю",
73    "`": "ё",
74    "~": "Ё",
75    "!": "!",
76    "@": "\"",
77    "#": "#",
78    "$": "*",
79    "%": ":",
80    "^": ",",
81    "&": ".",
82    "*": ";"
83 }
84
85
86 def make_lat2xxx(encoding="cp1251"):
87    d = {}
88    for k, v in lat2koi_d.items():
89       v = unicode(v, "koi8-r").encode(encoding)
90       d[k] = v
91    return d
92
93
94 from m_lib.lazy.dict import LazyDictInitFunc
95 lat2win_d = LazyDictInitFunc(make_lat2xxx, encoding="cp1251")
96
97
98 def lat2rus(instr, lat2rus_d = lat2koi_d):
99    out = []
100    for c in instr:
101       out.append(lat2rus_d.get(c, c))
102    return ''.join(out)
103
104
105 lat2koi = lat2rus
106
107 def lat2win(instr):
108    return lat2rus(instr, lat2win_d)
109
110
111 if __name__ == "__main__":
112    Test = "Ghbdtn nt,t^ ghtrhfcysq vbh!"
113    print "Test:", Test
114    print "Тест:", lat2koi(Test)
115    print "Тест:", unicode(lat2win(Test), "cp1251").encode("koi8-r")