source: src/main/java/mk/ukim/finki/eglas/services/UtilService.java@ ac151d1

main
Last change on this file since ac151d1 was ac151d1, checked in by David <darsov2@…>, 11 days ago

initial

  • Property mode set to 100644
File size: 2.1 KB
Line 
1package mk.ukim.finki.eglas.services;
2
3import org.springframework.stereotype.Service;
4
5import java.util.HashMap;
6import java.util.Map;
7import java.util.stream.Collectors;
8
9@Service
10public class UtilService {
11 Map<Character, String> cyrillicToLatinMap;
12
13 public UtilService() {
14 cyrillicToLatinMap = new HashMap<>();
15 cyrillicToLatinMap.put('а', "a");
16 cyrillicToLatinMap.put('б', "b");
17 cyrillicToLatinMap.put('в', "v");
18 cyrillicToLatinMap.put('г', "g");
19 cyrillicToLatinMap.put('д', "d");
20 cyrillicToLatinMap.put('ѓ', "gj");
21 cyrillicToLatinMap.put('е', "e");
22 cyrillicToLatinMap.put('ж', "zh");
23 cyrillicToLatinMap.put('з', "z");
24 cyrillicToLatinMap.put('ѕ', "dz");
25 cyrillicToLatinMap.put('и', "i");
26 cyrillicToLatinMap.put('ј', "j");
27 cyrillicToLatinMap.put('к', "k");
28 cyrillicToLatinMap.put('л', "l");
29 cyrillicToLatinMap.put('љ', "lj");
30 cyrillicToLatinMap.put('м', "m");
31 cyrillicToLatinMap.put('н', "n");
32 cyrillicToLatinMap.put('њ', "nj");
33 cyrillicToLatinMap.put('о', "o");
34 cyrillicToLatinMap.put('п', "p");
35 cyrillicToLatinMap.put('р', "r");
36 cyrillicToLatinMap.put('с', "s");
37 cyrillicToLatinMap.put('т', "t");
38 cyrillicToLatinMap.put('ќ', "kj");
39 cyrillicToLatinMap.put('у', "u");
40 cyrillicToLatinMap.put('ф', "f");
41 cyrillicToLatinMap.put('х', "h");
42 cyrillicToLatinMap.put('ц', "c");
43 cyrillicToLatinMap.put('ч', "ch");
44 cyrillicToLatinMap.put('џ', "dz");
45 cyrillicToLatinMap.put('ш', "sh");
46 }
47
48 public String cyrillicToLatinTransliteration(String cyrillic) {
49 StringBuilder sb = new StringBuilder();
50 return cyrillic.chars().mapToObj(x -> {
51 String transl = cyrillicToLatinMap.get(Character.toLowerCase((char) x));
52 if(transl == null) {
53 return String.valueOf((char) x);
54 }
55 return transl;
56 }).collect(Collectors.joining());
57 }
58}
Note: See TracBrowser for help on using the repository browser.