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.
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
-