1 | package com.jsql.view.swing.dialog.translate; | |
2 | ||
3 | import com.jsql.view.swing.util.I18nViewUtil; | |
4 | import com.jsql.view.swing.util.UiUtil; | |
5 | ||
6 | import javax.swing.*; | |
7 | import java.util.Locale; | |
8 | ||
9 | public enum Language { | |
10 | | |
11 | AR("Arabic", "ar", UiUtil.ICON_FLAG_AR, true, true), | |
12 | RU("Russian", "ru", UiUtil.ICON_FLAG_RU), | |
13 | ZH("Chinese", "zh", UiUtil.ICON_FLAG_ZH, true), | |
14 | TR("Turkish", "tr", UiUtil.ICON_FLAG_TR), | |
15 | EN("English", "en", UiUtil.ICON_FLAG_EN), | |
16 | FR("French", "fr", UiUtil.ICON_FLAG_FR), | |
17 | HI("Hindi", "hi", UiUtil.ICON_FLAG_HI, true), | |
18 | CS("Czech", "cs", UiUtil.ICON_FLAG_CS), | |
19 | DE("German", "de", UiUtil.ICON_FLAG_DE), | |
20 | NL("Dutch", "nl", UiUtil.ICON_FLAG_NL), | |
21 | IN("Indonesian", "in", UiUtil.ICON_FLAG_IN), | |
22 | IT("Italian", "it", UiUtil.ICON_FLAG_IT), | |
23 | ES("Spanish", "es", UiUtil.ICON_FLAG_ES), | |
24 | PT("Portuguese", "pt", UiUtil.ICON_FLAG_PT), | |
25 | PL("Polish", "pl", UiUtil.ICON_FLAG_PL), | |
26 | KO("Korean", "ko", UiUtil.ICON_FLAG_KO, true), | |
27 | JA("Japanese", "ja", UiUtil.ICON_FLAG_JA, true), | |
28 | RO("Romanian", "ro", UiUtil.ICON_FLAG_RO), | |
29 | TA("Tamil", "ta", UiUtil.ICON_FLAG_LK), | |
30 | SE("Swedish", "se", UiUtil.ICON_FLAG_SE), | |
31 | FI("Finnish", "fi", UiUtil.ICON_FLAG_FI), | |
32 | OT("another language", "unknown", new ImageIcon()); | |
33 | ||
34 | private final String nameEnglish; // required for default logging and english modal translate into | |
35 | private final ImageIcon flag; | |
36 | private final String languageTag; | |
37 | private final boolean isNonLatin; | |
38 | private final boolean isRightToLeft; | |
39 | ||
40 | Language(String nameEnglish, String languageTag, ImageIcon flag, boolean isNonLatin, boolean isRightToLeft) { | |
41 | this.nameEnglish = nameEnglish; | |
42 | this.flag = flag; | |
43 | this.languageTag = languageTag; | |
44 | this.isNonLatin = isNonLatin; | |
45 | this.isRightToLeft = isRightToLeft; | |
46 | } | |
47 | ||
48 | Language(String nameEnglish, String languageTag, ImageIcon flag, boolean isNonLatin) { | |
49 | this(nameEnglish, languageTag, flag, isNonLatin, false); | |
50 | } | |
51 | ||
52 | Language(String nameEnglish, String languageTag, ImageIcon flag) { | |
53 | this(nameEnglish, languageTag, flag, false, false); | |
54 | } | |
55 | ||
56 | public String getMenuItemLabel() { | |
57 | var label = Locale.forLanguageTag(this.languageTag).getDisplayLanguage(Locale.forLanguageTag(this.languageTag)); | |
58 |
2
1. getMenuItemLabel : replaced return value with "" for com/jsql/view/swing/dialog/translate/Language::getMenuItemLabel → NO_COVERAGE 2. getMenuItemLabel : negated conditional → NO_COVERAGE |
return this.isNonLatin ? I18nViewUtil.formatNonLatin(label) : label; |
59 | } | |
60 | ||
61 | public boolean isCurrentLanguage() { | |
62 |
2
1. isCurrentLanguage : replaced boolean return with false for com/jsql/view/swing/dialog/translate/Language::isCurrentLanguage → NO_COVERAGE 2. isCurrentLanguage : replaced boolean return with true for com/jsql/view/swing/dialog/translate/Language::isCurrentLanguage → NO_COVERAGE |
return Locale.forLanguageTag(this.languageTag).getLanguage().equals(Locale.getDefault().getLanguage()); |
63 | } | |
64 | ||
65 | public ImageIcon getFlag() { | |
66 |
1
1. getFlag : replaced return value with null for com/jsql/view/swing/dialog/translate/Language::getFlag → NO_COVERAGE |
return this.flag; |
67 | } | |
68 | ||
69 | public boolean isRightToLeft() { | |
70 |
2
1. isRightToLeft : replaced boolean return with true for com/jsql/view/swing/dialog/translate/Language::isRightToLeft → NO_COVERAGE 2. isRightToLeft : replaced boolean return with false for com/jsql/view/swing/dialog/translate/Language::isRightToLeft → NO_COVERAGE |
return this.isRightToLeft; |
71 | } | |
72 | ||
73 | public String getLanguageTag() { | |
74 |
1
1. getLanguageTag : replaced return value with "" for com/jsql/view/swing/dialog/translate/Language::getLanguageTag → NO_COVERAGE |
return this.languageTag; |
75 | } | |
76 | ||
77 | @Override | |
78 | public String toString() { | |
79 |
1
1. toString : replaced return value with "" for com/jsql/view/swing/dialog/translate/Language::toString → NO_COVERAGE |
return this.nameEnglish; |
80 | } | |
81 | } | |
Mutations | ||
58 |
1.1 2.2 |
|
62 |
1.1 2.2 |
|
66 |
1.1 |
|
70 |
1.1 2.2 |
|
74 |
1.1 |
|
79 |
1.1 |