translit 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +16 -19
- data/bin/translit +0 -0
- data/lib/translit.rb +16 -13
- metadata +25 -58
data/README.markdown
CHANGED
@@ -1,26 +1,23 @@
|
|
1
|
-
##
|
1
|
+
## English ##
|
2
2
|
|
3
|
-
It is a simple library allowing you to transliterate between cyrillic and latin.
|
4
|
-
R: Это простая и элегантная программа позволит вам проводить транслитерацию между кирилицой и латиницой.
|
3
|
+
It is a simple library allowing you to transliterate between cyrillic and latin. It is easy to use from the command line and in your code.
|
5
4
|
|
6
|
-
|
7
|
-
R: Ее легко использовать как в коммандной строке так и в вашем коде.
|
5
|
+
Install it via: <code>gem install translit</code>
|
8
6
|
|
9
|
-
|
10
|
-
R: Устанавливается она просто:
|
11
|
-
<code>gem install translit</code>
|
7
|
+
### Usage ###
|
12
8
|
|
13
|
-
|
9
|
+
To use translit from the command line you just type <code>translit [your_input_here]</code> where your input could be in cyrillic or latin.
|
14
10
|
|
15
|
-
To use
|
16
|
-
R: Для использовавания translit в командной строке просто напишите
|
17
|
-
<code>translit [your_input_here]</code>
|
18
|
-
where your input could be in cyrillic or latin
|
19
|
-
R: где ваш текст может быть написан успользуя русскую клавиатуру либо латинскую
|
11
|
+
Or you can translit stdin now via just: <code>translit</code>. To stop stdin input use .\n (press dot and then enter on the new line)
|
20
12
|
|
21
|
-
|
22
|
-
R: Либо вы можете просто вызвать программу и передавать текст в потоке чтения данных
|
23
|
-
<code>translit</code>
|
13
|
+
## Русский ##
|
24
14
|
|
25
|
-
|
26
|
-
|
15
|
+
Это простая и элегантная программа позволит вам проводить транслитерацию между кирилицой и латиницой. Ее легко использовать как в коммандной строке так и в вашем коде.
|
16
|
+
|
17
|
+
Устанавливается она просто: <code>gem install translit</code>
|
18
|
+
|
19
|
+
### Использование ###
|
20
|
+
|
21
|
+
Для использования translit в командной строке просто напишите <code>translit [your_input_here]</code> где ваш текст может быть написан успользуя русскую клавиатуру либо латинскую
|
22
|
+
|
23
|
+
Либо вы можете просто вызвать программу и передавать текст в потоке чтения данных <code>translit</code>. Чтобы прервать поток используется стандарная система .\n (напишите . и нажмите enter на чистой строке)
|
data/bin/translit
CHANGED
File without changes
|
data/lib/translit.rb
CHANGED
@@ -1,21 +1,12 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
3
|
module Translit
|
4
|
-
def self.
|
5
|
-
|
6
|
-
"z"=>["З","з"], "i"=>["И","и"], "j"=>["Й","й"], "k"=>["К","к"], "l"=>["Л","л"], "m"=>["М","м"], "n"=>["Н","н"], "o"=>["О","о"], "p"=>["П","п"], "r"=>["Р","р"],
|
7
|
-
"s"=>["С","с"], "t"=>["Т","т"], "u"=>["У","у"], "f"=>["Ф","ф"], "h"=>["Х","х"], "x"=>["Х","х"], "c"=>["Ц","ц"], "ch"=>["Ч","ч"], "sh"=>["Ш","ш"], "w"=>["Щ","щ"],
|
8
|
-
"shh"=>["Щ","щ"], "sch"=>["Щ","щ"], "#"=>["Ъ","ъ"], "y"=>["Ы","ы"], "'"=>["Ь","ь"], "je"=>["Э","э"], "ä"=>["Э","э"], "ju"=>["Ю","ю"], "yu"=>["Ю","ю"],
|
9
|
-
"ü"=>["Ю","ю"], "ya"=>["Я","я"], "ja"=>["Я","я"], "q"=>["Я","я"]}
|
10
|
-
end
|
4
|
+
def self.convert(text, enforce_language = nil)
|
5
|
+
language = detect_input_language(text.split(/\s+/).first)
|
11
6
|
|
12
|
-
|
13
|
-
@russian ||= create_russian_map
|
14
|
-
end
|
7
|
+
return text if language == enforce_language
|
15
8
|
|
16
|
-
|
17
|
-
lang = detect_input_language(text.split(/\s+/).first)
|
18
|
-
map = self.send(lang.to_s).sort_by {|k,v| v.length <=> k.length}
|
9
|
+
map = self.send(language.to_s).sort_by {|k,v| v.length <=> k.length}
|
19
10
|
map.each do |translit_key, translit_value|
|
20
11
|
text.gsub!(translit_key.capitalize, translit_value.first)
|
21
12
|
text.gsub!(translit_key, translit_value.last)
|
@@ -37,4 +28,16 @@ private
|
|
37
28
|
def self.detect_input_language(text)
|
38
29
|
text.scan(/\w+/).empty? ? :russian : :english
|
39
30
|
end
|
31
|
+
|
32
|
+
def self.english
|
33
|
+
{ "a"=>["А","а"], "b"=>["Б","б"], "v"=>["В","в"], "g"=>["Г","г"], "d"=>["Д","д"], "e"=>["Е","е"], "jo"=>["Ё","ё"], "yo"=>["Ё","ё"], "ö"=>["Ё","ё"], "zh"=>["Ж","ж"],
|
34
|
+
"z"=>["З","з"], "i"=>["И","и"], "j"=>["Й","й"], "k"=>["К","к"], "l"=>["Л","л"], "m"=>["М","м"], "n"=>["Н","н"], "o"=>["О","о"], "p"=>["П","п"], "r"=>["Р","р"],
|
35
|
+
"s"=>["С","с"], "t"=>["Т","т"], "u"=>["У","у"], "f"=>["Ф","ф"], "h"=>["Х","х"], "x"=>["Х","х"], "c"=>["Ц","ц"], "ch"=>["Ч","ч"], "sh"=>["Ш","ш"], "w"=>["Щ","щ"],
|
36
|
+
"shh"=>["Щ","щ"], "sch"=>["Щ","щ"], "#"=>["Ъ","ъ"], "y"=>["Ы","ы"], "'"=>["Ь","ь"], "je"=>["Э","э"], "ä"=>["Э","э"], "ju"=>["Ю","ю"], "yu"=>["Ю","ю"],
|
37
|
+
"ü"=>["Ю","ю"], "ya"=>["Я","я"], "ja"=>["Я","я"], "q"=>["Я","я"]}
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.russian
|
41
|
+
@russian ||= create_russian_map
|
42
|
+
end
|
40
43
|
end
|
metadata
CHANGED
@@ -1,83 +1,50 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: translit
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 1
|
10
|
-
version: 0.1.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.2
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- tjbladez
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
date: 2010-09-28 00:00:00 -05:00
|
19
|
-
default_executable: bin/translit
|
12
|
+
date: 2010-09-28 00:00:00.000000000Z
|
20
13
|
dependencies: []
|
21
|
-
|
22
|
-
|
23
|
-
VHJhbnNsaXRlcmF0aW9uIGJldHdlZW4gY3lyaWxsaWMgPC0+IGxhdGluIHwg
|
24
|
-
0KLRgNCw0L3RgdC70LjRgtC10YDQsNGG0LjRjyDQvNC10LbQtNGDINC60LjR
|
25
|
-
gNC40LvQuNGG0L7QuSDQuCDQu9Cw0YLQuNC90LjRhtC+0Lkg
|
26
|
-
|
14
|
+
description: ! 'Transliteration between cyrillic <-> latin | Транслитерация между
|
15
|
+
кирилицой и латиницой '
|
27
16
|
email: tjbladez@gmail.com
|
28
|
-
executables:
|
17
|
+
executables:
|
29
18
|
- translit
|
30
19
|
extensions: []
|
31
|
-
|
32
20
|
extra_rdoc_files: []
|
33
|
-
|
34
|
-
files:
|
21
|
+
files:
|
35
22
|
- bin/translit
|
36
23
|
- lib/translit.rb
|
37
24
|
- README.markdown
|
38
|
-
has_rdoc: false
|
39
25
|
homepage: http://github.com/tjbladez/translit
|
40
26
|
licenses: []
|
41
|
-
|
42
|
-
post_install_message: !binary |
|
43
|
-
WW91IGFyZSByZWFkeSB0byB0cmFuc2xpdGVyYXRlIHwg0JLRiyDQs9C+0YLQ
|
44
|
-
vtCy0Ysg0Log0YLRgNCw0L3RgdC70LjRgtC10YDQsNGG0LjQuA==
|
45
|
-
|
27
|
+
post_install_message: You are ready to transliterate | Вы готовы к транслитерации
|
46
28
|
rdoc_options: []
|
47
|
-
|
48
|
-
require_paths:
|
29
|
+
require_paths:
|
49
30
|
- lib
|
50
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
31
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
51
32
|
none: false
|
52
|
-
requirements:
|
53
|
-
- -
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
|
56
|
-
|
57
|
-
- 0
|
58
|
-
version: "0"
|
59
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - ! '>='
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '0'
|
37
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
38
|
none: false
|
61
|
-
requirements:
|
62
|
-
- -
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
|
65
|
-
segments:
|
66
|
-
- 0
|
67
|
-
version: "0"
|
39
|
+
requirements:
|
40
|
+
- - ! '>='
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '0'
|
68
43
|
requirements: []
|
69
|
-
|
70
44
|
rubyforge_project:
|
71
|
-
rubygems_version: 1.
|
45
|
+
rubygems_version: 1.8.10
|
72
46
|
signing_key:
|
73
47
|
specification_version: 3
|
74
|
-
summary:
|
75
|
-
|
76
|
-
b20gY29tbWFuZC1saW5lIG9yIHlvdXIgcHJvZ3JhbSB8INCi0YDQsNC90YHQ
|
77
|
-
u9C40YLQtdGA0LDRhtC40Y8g0LzQtdC20LTRgyDQutC40YDQuNC70LjRhtC+
|
78
|
-
0Lkg0Lgg0LvQsNGC0LjQvdC40YbQvtC5INGBINC60L7QvNC80LDQvdC00L3Q
|
79
|
-
vtC5INGB0YLRgNC+0LrQuCDQuNC70Lgg0LIg0YLQstC+0LXQuSDQv9GA0L7Q
|
80
|
-
s9GA0LDQvNC80LU=
|
81
|
-
|
48
|
+
summary: Transliteration between cyrillic <-> latin from command-line or your program
|
49
|
+
| Транслитерация между кирилицой и латиницой с коммандной строки или в твоей программе
|
82
50
|
test_files: []
|
83
|
-
|