Revision: 7288
http://languagetool.svn.sourceforge.net/languagetool/?rev=7288&view=rev
Author: dnaber
Date: 2012-06-07 18:48:52 +0000 (Thu, 07 Jun 2012)
Log Message:
-----------
display only variants, if any (i.e. don't display English, but only American
and British English) - fix for auto-detection will follow
Modified Paths:
--------------
trunk/JLanguageTool/src/java/org/languagetool/Language.java
trunk/JLanguageTool/src/java/org/languagetool/gui/LanguageComboBox.java
trunk/JLanguageTool/src/test/org/languagetool/LanguageTest.java
Modified: trunk/JLanguageTool/src/java/org/languagetool/Language.java
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/Language.java 2012-06-07
17:41:30 UTC (rev 7287)
+++ trunk/JLanguageTool/src/java/org/languagetool/Language.java 2012-06-07
18:48:52 UTC (rev 7288)
@@ -301,10 +301,8 @@
* @return A list of all languages, including external ones.
*/
public static List<Language> getAllLanguages() {
- List<Language> langList = new ArrayList<Language>();
- for (Language lang : LANGUAGES) {
- langList.add(lang);
- }
+ final List<Language> langList = new ArrayList<Language>();
+ Collections.addAll(langList, LANGUAGES);
langList.addAll(externalLanguages);
return langList;
}
@@ -396,7 +394,11 @@
return maintainersInfo.toString();
}
- public boolean isVariant() {
+ /**
+ * Whether this is a variant of another language, i.e. whether it doesn't
+ * directly extend {@link Language}, but a subclass of {@link Language}.
+ */
+ public final boolean isVariant() {
for (Language language : LANGUAGES) {
final boolean skip =
language.getShortNameWithVariant().equals(getShortNameWithVariant());
if (!skip && language.getClass().isAssignableFrom(getClass())) {
@@ -406,6 +408,19 @@
return false;
}
+ /**
+ * Whether this class has at least one subclass that implements variants of
this language.
+ */
+ public final boolean hasVariant() {
+ for (Language language : LANGUAGES) {
+ final boolean skip =
language.getShortNameWithVariant().equals(getShortNameWithVariant());
+ if (!skip && getClass().isAssignableFrom(language.getClass())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
public boolean isExternal() {
return false;
}
Modified:
trunk/JLanguageTool/src/java/org/languagetool/gui/LanguageComboBox.java
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/gui/LanguageComboBox.java
2012-06-07 17:41:30 UTC (rev 7287)
+++ trunk/JLanguageTool/src/java/org/languagetool/gui/LanguageComboBox.java
2012-06-07 18:48:52 UTC (rev 7288)
@@ -44,7 +44,8 @@
private List<I18nLanguage> getAllLanguages() {
final List<I18nLanguage> i18nLanguages = new ArrayList<I18nLanguage>();
for (Language language : Language.LANGUAGES) {
- if (language != Language.DEMO) {
+ final boolean skip = (language == Language.DEMO) ||
language.hasVariant();
+ if (!skip) {
i18nLanguages.add(new I18nLanguage(language, messages));
}
}
Modified: trunk/JLanguageTool/src/test/org/languagetool/LanguageTest.java
===================================================================
--- trunk/JLanguageTool/src/test/org/languagetool/LanguageTest.java
2012-06-07 17:41:30 UTC (rev 7287)
+++ trunk/JLanguageTool/src/test/org/languagetool/LanguageTest.java
2012-06-07 18:48:52 UTC (rev 7288)
@@ -60,9 +60,21 @@
@Test
public void testIsVariant() {
assertTrue(Language.getLanguageForShortName("en-US").isVariant());
+ assertTrue(Language.getLanguageForShortName("de-CH").isVariant());
+
assertFalse(Language.getLanguageForShortName("en").isVariant());
- assertTrue(Language.getLanguageForShortName("de-CH").isVariant());
assertFalse(Language.getLanguageForShortName("de").isVariant());
}
+ @Test
+ public void testHasVariant() {
+ assertTrue(Language.getLanguageForShortName("en").hasVariant());
+ assertTrue(Language.getLanguageForShortName("de").hasVariant());
+
+ assertFalse(Language.getLanguageForShortName("en-US").hasVariant());
+ assertFalse(Language.getLanguageForShortName("de-CH").hasVariant());
+ assertFalse(Language.getLanguageForShortName("ast").hasVariant());
+ assertFalse(Language.getLanguageForShortName("pl").hasVariant());
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Languagetool-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-cvs