Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
TranslationFinder |
|
| 6.5;6,5 |
1 | package de.glossmaker.gloss.language; | |
2 | ||
3 | import java.io.File; | |
4 | import java.util.ArrayList; | |
5 | import java.util.HashSet; | |
6 | import java.util.Locale; | |
7 | ||
8 | /** | |
9 | * | |
10 | * @author Markus Flingelli | |
11 | * | |
12 | */ | |
13 | 0 | public class TranslationFinder { |
14 | 0 | private static String RESOURCE_PATH = "resources/translations/"; |
15 | ||
16 | public static String[] getLanguages() { | |
17 | 0 | ArrayList<String> list = new ArrayList<String>(); |
18 | 0 | File f = new File(""); |
19 | 0 | File dir = new File(f.getAbsoluteFile() + "/" + RESOURCE_PATH); |
20 | 0 | File[] files = dir.listFiles(); |
21 | 0 | if (files != null) { |
22 | ||
23 | 0 | for (int i = 0; i < files.length; i++) { |
24 | 0 | String fileName = files[i].getAbsolutePath(); |
25 | 0 | if (fileName.contains("_") && fileName.contains(".")) { |
26 | 0 | int start = fileName.lastIndexOf("_"); |
27 | 0 | int end = fileName.lastIndexOf("."); |
28 | 0 | if (start < end) { |
29 | 0 | list.add(fileName.substring(start + 1, end)); |
30 | } | |
31 | } | |
32 | } | |
33 | } | |
34 | ||
35 | 0 | HashSet<String> language = new HashSet<String>(); |
36 | 0 | for(int i = 0; i < list.size(); i++) { |
37 | 0 | for(int j = 0; j < Locale.getAvailableLocales().length; j++) { |
38 | 0 | Locale locale = Locale.getAvailableLocales()[j]; |
39 | 0 | if (locale.getLanguage().equalsIgnoreCase(list.get(i))) { |
40 | 0 | language.add(locale.getDisplayLanguage()); |
41 | 0 | break; |
42 | } | |
43 | } | |
44 | } | |
45 | 0 | String[] result = new String[language.size()]; |
46 | 0 | int i = 0; |
47 | 0 | for(String str : language) { |
48 | 0 | result[i] = str; |
49 | 0 | i++; |
50 | } | |
51 | 0 | return result; |
52 | } | |
53 | ||
54 | public static String getLanguageAbbrev(String language) { | |
55 | 0 | String result = null; |
56 | 0 | for(int j = 0; j < Locale.getAvailableLocales().length; j++) { |
57 | 0 | Locale locale = Locale.getAvailableLocales()[j]; |
58 | 0 | if (locale.getDisplayLanguage().equalsIgnoreCase(language)) { |
59 | 0 | result = locale.getLanguage(); |
60 | 0 | break; |
61 | } | |
62 | } | |
63 | 0 | return result; |
64 | } | |
65 | } |