srbovanje 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +8 -4
- data/lib/i18n_config.rb +1 -1
- data/lib/srbovanje/srbovanje.rb +99 -91
- data/lib/srbovanje/string_ext.rb +7 -7
- metadata +4 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9351fb2b851d7e159a9a63bfd5aaff6919cc2f7053611f3b5e3aeb10534d19b0
|
4
|
+
data.tar.gz: 796729f730d2fb9b8543ef41daa19c847671a5eef9932b430e68648a4d285388
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3e19ef6cd872795828934f031c82e008d8a63082b665541b7c45c566221f048272e0ff87c5e44452e78b189d6a53e887ebfdca2642ea278e7b8e9b9baef160c
|
7
|
+
data.tar.gz: 53381427a41bec21bf586c3c3054e93df5fb3fc58ffaae5b5f4ff9251d5ded2949a81aabe807d4aa2bad046dd5b45dadced21804d0824638884819a746ccff80
|
data/README.md
CHANGED
@@ -16,7 +16,7 @@ U Gemfile projekta dodajte:
|
|
16
16
|
>> "Ђурђевак".latinicom
|
17
17
|
=> "Đurđevak"
|
18
18
|
|
19
|
-
>> "Ђурђевак".
|
19
|
+
>> "Ђурђевак".latinicom_ascii
|
20
20
|
=> "DJurdjevak"
|
21
21
|
|
22
22
|
Ako zatreba, tu je i niz sa slovima abecede:
|
@@ -25,25 +25,29 @@ Ako zatreba, tu je i niz sa slovima abecede:
|
|
25
25
|
=> ["A", "B", "C", "Č", "Ć", "D", "DŽ", "Đ", "E", "F", "G", "H", "I", "J", "K", "L", "LJ", "M", "N", "NJ", "O", "P", "R", "S", "Š", "T", "U", "V", "Z", "Ž"]
|
26
26
|
|
27
27
|
|
28
|
-
Ako koristite Srbovanje uz Rails dobićete setovana pravila za
|
28
|
+
Ako koristite Srbovanje uz Rails dobićete setovana pravila za preslovljavanja
|
29
29
|
koje koristi i18n gem, tako da će npr. parameterize raditi pravilnije:
|
30
30
|
|
31
31
|
## bez Srbovanja
|
32
32
|
|
33
33
|
>> "Karađorđeva šnicla".parameterize
|
34
34
|
=> "karadordeva-snicla"
|
35
|
-
|
35
|
+
|
36
36
|
>> "Шабан Шаулић".parameterize
|
37
37
|
=> ""
|
38
38
|
|
39
39
|
## uz Srbovanje
|
40
|
-
|
40
|
+
|
41
41
|
>> "Karađorđeva šnicla".parameterize
|
42
42
|
=> "karadjordjeva-snicla"
|
43
43
|
|
44
44
|
>> "Шабан Шаулић".parameterize
|
45
45
|
=> "saban-saulic"
|
46
46
|
|
47
|
+
## Slični projekti
|
48
|
+
|
49
|
+
* [Byk](https://github.com/topalovic/byk) - zavidno brža varijanta zahvaljujući C ekstenziji
|
50
|
+
* [preslovi](https://github.com/dejan/preslovi) - go paket i šel komanda
|
47
51
|
|
48
52
|
## MIT Licence
|
49
53
|
|
data/lib/i18n_config.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
I18n.backend.store_translations(:sr, :i18n => {:transliterate => {:rule => Srbovanje::
|
1
|
+
I18n.backend.store_translations(:sr, :i18n => {:transliterate => {:rule => Srbovanje::LATINICA_ASCII_MAP }})
|
data/lib/srbovanje/srbovanje.rb
CHANGED
@@ -2,102 +2,110 @@
|
|
2
2
|
|
3
3
|
module Srbovanje
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
ABECEDA = %w(A B C Č Ć D DŽ Đ E F G H I J K L LJ M N NJ O P R S Š T U V Z Ž)
|
6
|
+
|
7
|
+
LATINICA_FULL_MAP = {
|
8
|
+
'а' => 'a',
|
9
|
+
'А' => 'A',
|
10
|
+
'б' => 'b',
|
11
|
+
'Б' => 'B',
|
12
|
+
'в' => 'v',
|
13
|
+
'В' => 'V',
|
14
|
+
'г' => 'g',
|
15
|
+
'Г' => 'G',
|
16
|
+
'д' => 'd',
|
17
|
+
'Д' => 'D',
|
18
|
+
'ђ' => 'đ',
|
19
|
+
'Ђ' => 'Đ',
|
20
|
+
'е' => 'e',
|
21
|
+
'Е' => 'E',
|
22
|
+
'ж' => 'ž',
|
23
|
+
'Ж' => 'Ž',
|
24
|
+
'з' => 'z',
|
25
|
+
'З' => 'Z',
|
26
|
+
'и' => 'i',
|
27
|
+
'И' => 'I',
|
28
|
+
'ј' => 'j',
|
29
|
+
'Ј' => 'J',
|
30
|
+
'к' => 'k',
|
31
|
+
'К' => 'K',
|
32
|
+
'л' => 'l',
|
33
|
+
'Л' => 'L',
|
34
|
+
'љ' => 'lj',
|
35
|
+
'Љ' => 'LJ',
|
36
|
+
'м' => 'm',
|
37
|
+
'М' => 'M',
|
38
|
+
'н' => 'n',
|
39
|
+
'Н' => 'N',
|
40
|
+
'њ' => 'nj',
|
41
|
+
'Њ' => 'NJ',
|
42
|
+
'о' => 'o',
|
43
|
+
'О' => 'O',
|
44
|
+
'п' => 'p',
|
45
|
+
'П' => 'P',
|
46
|
+
'р' => 'r',
|
47
|
+
'Р' => 'R',
|
48
|
+
'с' => 's',
|
49
|
+
'С' => 'S',
|
50
|
+
'т' => 't',
|
51
|
+
'Т' => 'T',
|
52
|
+
'ћ' => 'ć',
|
53
|
+
'Ћ' => 'Ć',
|
54
|
+
'ц' => 'c',
|
55
|
+
'Ц' => 'C',
|
56
|
+
'у' => 'u',
|
57
|
+
'У' => 'U',
|
58
|
+
'ф' => 'f',
|
59
|
+
'Ф' => 'F',
|
60
|
+
'х' => 'h',
|
61
|
+
'Х' => 'H',
|
62
|
+
'ч' => 'č',
|
63
|
+
'Ч' => 'Č',
|
64
|
+
'џ' => 'dž',
|
65
|
+
'Џ' => 'DŽ',
|
66
|
+
'ш' => 'š',
|
67
|
+
'Ш' => 'Š'
|
68
|
+
}
|
69
|
+
|
70
|
+
LATINICA_ASCII_MAP = LATINICA_FULL_MAP.merge(
|
71
|
+
'ћ' => 'c',
|
72
|
+
'ć' => 'c',
|
73
|
+
'ч' => 'c',
|
74
|
+
'č' => 'c',
|
75
|
+
'Ћ' => 'C',
|
76
|
+
'Ć' => 'C',
|
77
|
+
'Ч' => 'C',
|
78
|
+
'Č' => 'C',
|
79
|
+
'ж' => 'z',
|
80
|
+
'ž' => 'z',
|
81
|
+
'Ж' => 'Z',
|
82
|
+
'Ž' => 'Z',
|
83
|
+
'š' => 's',
|
84
|
+
'ш' => 's',
|
85
|
+
'Ш' => 'S',
|
86
|
+
'Š' => 'S',
|
87
|
+
'đ' => 'dj',
|
88
|
+
'ђ' => 'dj',
|
89
|
+
'Ђ' => 'DJ',
|
90
|
+
'Đ' => 'DJ',
|
91
|
+
'џ' => 'dz',
|
92
|
+
'Џ' => 'DZ'
|
93
|
+
)
|
8
94
|
|
9
|
-
|
10
|
-
|
95
|
+
LATINICOM_REGEXP = Regexp.union(LATINICA_FULL_MAP.keys)
|
96
|
+
|
97
|
+
LATINICA_ASCII_REGEXP = Regexp.union(LATINICA_ASCII_MAP.keys)
|
98
|
+
|
99
|
+
def latinicom(text)
|
100
|
+
text.gsub(LATINICOM_REGEXP, LATINICA_FULL_MAP)
|
11
101
|
end
|
12
102
|
|
13
|
-
def
|
14
|
-
|
15
|
-
'а' => 'a',
|
16
|
-
'А' => 'A',
|
17
|
-
'б' => 'b',
|
18
|
-
'Б' => 'B',
|
19
|
-
'в' => 'v',
|
20
|
-
'В' => 'V',
|
21
|
-
'г' => 'g',
|
22
|
-
'Г' => 'G',
|
23
|
-
'д' => 'd',
|
24
|
-
'Д' => 'D',
|
25
|
-
'ђ' => 'đ',
|
26
|
-
'Ђ' => 'Đ',
|
27
|
-
'е' => 'e',
|
28
|
-
'Е' => 'E',
|
29
|
-
'ж' => 'ž',
|
30
|
-
'Ж' => 'Ž',
|
31
|
-
'з' => 'z',
|
32
|
-
'З' => 'Z',
|
33
|
-
'и' => 'i',
|
34
|
-
'И' => 'I',
|
35
|
-
'ј' => 'j',
|
36
|
-
'Ј' => 'J',
|
37
|
-
'к' => 'k',
|
38
|
-
'К' => 'K',
|
39
|
-
'л' => 'l',
|
40
|
-
'Л' => 'L',
|
41
|
-
'љ' => 'lj',
|
42
|
-
'Љ' => 'LJ',
|
43
|
-
'м' => 'm',
|
44
|
-
'М' => 'M',
|
45
|
-
'н' => 'n',
|
46
|
-
'Н' => 'N',
|
47
|
-
'њ' => 'nj',
|
48
|
-
'Њ' => 'NJ',
|
49
|
-
'о' => 'o',
|
50
|
-
'О' => 'O',
|
51
|
-
'п' => 'p',
|
52
|
-
'П' => 'P',
|
53
|
-
'р' => 'r',
|
54
|
-
'Р' => 'R',
|
55
|
-
'с' => 's',
|
56
|
-
'С' => 'S',
|
57
|
-
'т' => 't',
|
58
|
-
'Т' => 'T',
|
59
|
-
'ћ' => 'ć',
|
60
|
-
'Ћ' => 'Ć',
|
61
|
-
'ц' => 'c',
|
62
|
-
'Ц' => 'C',
|
63
|
-
'у' => 'u',
|
64
|
-
'У' => 'U',
|
65
|
-
'ф' => 'f',
|
66
|
-
'Ф' => 'F',
|
67
|
-
'х' => 'h',
|
68
|
-
'Х' => 'H',
|
69
|
-
'ч' => 'č',
|
70
|
-
'Ч' => 'Č',
|
71
|
-
'џ' => 'dž',
|
72
|
-
'Џ' => 'DŽ',
|
73
|
-
'ш' => 'š',
|
74
|
-
'Ш' => 'Š' }
|
103
|
+
def latinicom_ascii(text)
|
104
|
+
text.gsub(LATINICA_ASCII_REGEXP, LATINICA_ASCII_MAP)
|
75
105
|
end
|
76
106
|
|
77
|
-
def
|
78
|
-
|
79
|
-
'ћ' => 'c',
|
80
|
-
'ć' => 'c',
|
81
|
-
'ч' => 'c',
|
82
|
-
'č' => 'c',
|
83
|
-
'Ћ' => 'C',
|
84
|
-
'Ć' => 'C',
|
85
|
-
'Ч' => 'C',
|
86
|
-
'Č' => 'C',
|
87
|
-
'ж' => 'z',
|
88
|
-
'ž' => 'z',
|
89
|
-
'Ж' => 'Z',
|
90
|
-
'Ž' => 'Z',
|
91
|
-
'š' => 's',
|
92
|
-
'ш' => 's',
|
93
|
-
'Ш' => 'S',
|
94
|
-
'Š' => 'S',
|
95
|
-
'đ' => 'dj',
|
96
|
-
'ђ' => 'dj',
|
97
|
-
'Ђ' => 'DJ',
|
98
|
-
'Đ' => 'DJ',
|
99
|
-
'џ' => 'dz',
|
100
|
-
'Џ' => 'DZ')
|
107
|
+
def abeceda
|
108
|
+
ABECEDA
|
101
109
|
end
|
102
110
|
|
103
111
|
extend self
|
data/lib/srbovanje/string_ext.rb
CHANGED
@@ -3,13 +3,13 @@
|
|
3
3
|
String.class_eval do
|
4
4
|
|
5
5
|
# Preslovljava na latinicu
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
6
|
+
def latinicom
|
7
|
+
Srbovanje.latinicom(self)
|
8
|
+
end
|
9
|
+
|
10
|
+
# Preslovljava na ASCII ("ošišanu") latinicu
|
11
|
+
def latinicom_ascii
|
12
|
+
Srbovanje.latinicom_ascii(self)
|
13
13
|
end
|
14
14
|
|
15
15
|
end
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: srbovanje
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dejan Simic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description:
|
13
|
+
description: Transliteracija ćirilice na latinicu i tzv. ASCII latinicu.
|
14
14
|
email: desimic@gmail.com
|
15
15
|
executables: []
|
16
16
|
extensions: []
|
@@ -42,8 +42,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: '0'
|
44
44
|
requirements: []
|
45
|
-
|
46
|
-
rubygems_version: 2.2.2
|
45
|
+
rubygems_version: 3.1.2
|
47
46
|
signing_key:
|
48
47
|
specification_version: 4
|
49
48
|
summary: Transliteracija ćirilice na latinicu i tzv. ASCII latinicu.
|