| 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 |