diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/android/assets/help_content.html | 8 | ||||
| -rw-r--r-- | src/ui/android/src/org/grammaticalframework/ui/android/Translator.java | 26 |
2 files changed, 30 insertions, 4 deletions
diff --git a/src/ui/android/assets/help_content.html b/src/ui/android/assets/help_content.html index 9d1440f2d..e65f79584 100644 --- a/src/ui/android/assets/help_content.html +++ b/src/ui/android/assets/help_content.html @@ -2,7 +2,7 @@ <body> </p> <b>GF Offline Translator</b>: -text and speech translation for 14 languages with +text and speech translation for 16 languages with quality control </p> <p> @@ -82,15 +82,17 @@ The following table gives a rough idea of what to expect: <tr> <th></th> <th>coverage</th> <th>quality</th> <th>speed</th> <th>speech</th> </tr> <tr> <th>Bulgarian</th> <td bgcolor=yellow></td> <td bgcolor=yellow></td><td bgcolor=palegreen></td> <td bgcolor=yellow>in only</td></tr> <tr> <th>Catalan</th> <td bgcolor=pink></td> <td bgcolor=yellow></td><td bgcolor=pink></td> <td bgcolor=yellow>in only</td></tr> -<tr> <th>Chinese*</th> <td bgcolor=pink></td> <td bgcolor=pink></td> <td bgcolor=palegreen></td> <td bgcolor=yellow></td> </tr> +<tr> <th>Chinese*</th> <td bgcolor=pink></td> <td bgcolor=pink></td> <td bgcolor=palegreen></td> <td bgcolor=yellow></td> </tr> <tr> <th>Dutch</th> <td bgcolor=yellow></td> <td bgcolor=yellow></td> <td bgcolor=yellow></td> <td bgcolor=palegreen></td> </tr> <tr> <th>English</th> <td bgcolor=palegreen></td> <td bgcolor=palegreen></td> <td bgcolor=palegreen></td> <td bgcolor=palegreen></td> </tr> +<tr> <th>Estonian</th> <td bgcolor=yellow></td> <td bgcolor=yellow></td><td bgcolor=pink></td> <td bgcolor=red></td></tr> <tr> <th>Finnish</th> <td bgcolor=yellow></td> <td bgcolor=yellow></td><td bgcolor=pink></td> <td bgcolor=yellow>in only</td></tr> <tr> <th>French</th> <td bgcolor=pink></td> <td bgcolor=yellow></td><td bgcolor=pink></td> <td bgcolor=palegreen></td></tr> <tr> <th>German</th> <td bgcolor=pink></td> <td bgcolor=yellow></td><td bgcolor=pink></td> <td bgcolor=palegreen></td></tr> <tr> <th>Hindi</th> <td bgcolor=pink></td> <td bgcolor=red></td> <td bgcolor=yellow></td> <td bgcolor=yellow>in only</td> </tr> <tr> <th>Italian</th> <td bgcolor=pink></td> <td bgcolor=pink></td><td bgcolor=pink></td> <td bgcolor=palegreen></td></tr> -<tr> <th>Japanese**</th> <td bgcolor=pink></td> <td bgcolor=pink></td><td bgcolor=yellow></td> <td bgcolor=palegreen></td></tr> +<tr> <th>Japanese**</th><td bgcolor=pink></td> <td bgcolor=pink></td><td bgcolor=yellow></td> <td bgcolor=palegreen></td></tr> +<tr> <th>Russian</th> <td bgcolor=pink></td> <td bgcolor=red></td> <td bgcolor=yellow></td> <td bgcolor=yellow></td> </tr> <tr> <th>Spanish</th> <td bgcolor=pink></td> <td bgcolor=yellow></td><td bgcolor=pink></td> <td bgcolor=palegreen></td></tr> <tr> <th>Swedish</th> <td bgcolor=yellow></td> <td bgcolor=yellow></td> <td bgcolor=palegreen></td> <td bgcolor=yellow>in only</td></tr> <tr> <th>Thai**</th> <td bgcolor=pink></td> <td bgcolor=pink></td><td bgcolor=yellow></td> <td bgcolor=palegreen></td></tr> diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java index 3ed06b1c4..47f949cdd 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java @@ -291,6 +291,28 @@ public class Translator { return output ; } + // lowercase the first word if (1) it is not in the lexicon and (2) its lowercase version is in the lexicon + // otherwise it will be left uppercase and treated as a name + private String lowercaseIfBetter(String input) { + String[] words = input.split(" ") ; + + String firstword = words[0] ; + + String lowerfirstword = firstword.toLowerCase() ; + + if (lookupMorpho(firstword).isEmpty() && !(lookupMorpho(lowerfirstword).isEmpty())) { + words[0] = lowerfirstword ; + String output = "" ; + for (String w : words) { + output = output + " " + w ; + } + return output ; + } else { + return input ; + } + + } + /** * Takes a lot of time. Must not be called on the main thread. */ @@ -298,7 +320,9 @@ public class Translator { if (getSourceLanguage().getLangCode().equals("cmn-Hans-CN")) { // for Chinese we need to put space after every character input = explode(input); - } + } else { + input = lowercaseIfBetter(input); + } ; String output = null; List<ExprProb> exprs = new ArrayList<ExprProb>(); |
