translit 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/README.markdown +16 -19
  2. data/bin/translit +0 -0
  3. data/lib/translit.rb +16 -13
  4. metadata +25 -58
@@ -1,26 +1,23 @@
1
- ## What is it / Что это ##
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
- It is easy to use from the command line and in your code.
7
- R: Ее легко использовать как в коммандной строке так и в вашем коде.
5
+ Install it via: <code>gem install translit</code>
8
6
 
9
- Install it via:
10
- R: Устанавливается она просто:
11
- <code>gem install translit</code>
7
+ ### Usage ###
12
8
 
13
- ## USAGE ##
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 translit from the command line you just type
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
- Or you can translit stdin now via just:
22
- R: Либо вы можете просто вызвать программу и передавать текст в потоке чтения данных
23
- <code>translit</code>
13
+ ## Русский ##
24
14
 
25
- To stop stdin input use .\n (press dot and then enter on the new line)
26
- R: Чтобы прервать поток используется стандарная система .\n (напишите . и нажмите enter на чистой строке)
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 на чистой строке)
File without changes
@@ -1,21 +1,12 @@
1
1
  # coding: utf-8
2
2
 
3
3
  module Translit
4
- def self.english
5
- { "a"=>["А","а"], "b"=>["Б","б"], "v"=>["В","в"], "g"=>["Г","г"], "d"=>["Д","д"], "e"=>["Е","е"], "jo"=>["Ё","ё"], "yo"=>["Ё","ё"], "ö"=>["Ё","ё"], "zh"=>["Ж","ж"],
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
- def self.russian
13
- @russian ||= create_russian_map
14
- end
7
+ return text if language == enforce_language
15
8
 
16
- def self.convert(text)
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
- hash: 25
5
- prerelease: false
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
- description: !binary |
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
- hash: 3
56
- segments:
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
- hash: 3
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.3.7
45
+ rubygems_version: 1.8.10
72
46
  signing_key:
73
47
  specification_version: 3
74
- summary: !binary |
75
- VHJhbnNsaXRlcmF0aW9uIGJldHdlZW4gY3lyaWxsaWMgPC0+IGxhdGluIGZy
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
-