srbovanje 2.0.0 → 2.1.0
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.
- 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.
|