diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2013-11-28 19:52:31 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2013-11-28 19:52:31 +0000 |
| commit | 74de6c10979318f97aff1a69f6ee3cfaf1dbcf74 (patch) | |
| tree | bd9902d1ef2c8d0df7a165a3b6f7991d143610fe /src | |
| parent | ead60581afa77510e43a65227b74b09023855cb5 (diff) | |
extension in the template format for inflection tables. This makes it possible to use the templates with Finish
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/android/src/org/grammaticalframework/ui/android/Translator.java | 10 |
1 files changed, 9 insertions, 1 deletions
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 6aca6723e..58b601e31 100644 --- a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java +++ b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java @@ -236,6 +236,7 @@ public class Translator { boolean emit = false; boolean form = false; boolean lin = false; + String formName = null; StringBuilder abstrBuilder = null; while (event != XmlResourceParser.END_DOCUMENT) { switch (event) { @@ -252,6 +253,7 @@ public class Translator { lin = true; emit = false; abstrBuilder = new StringBuilder(); + formName = parser.getAttributeValue(null, "form"); } else if (state == 4 && lin && "cat".equals(parser.getName())) { abstrBuilder.append(cat); } else if (state == 4 && lin && "lemma".equals(parser.getName())) { @@ -281,7 +283,13 @@ public class Translator { form = false; } else if (state == 4 && lin && "lin".equals(parser.getName())) { Expr expr2 = Expr.readExpr(abstrBuilder.toString()); - builder.append(TextUtils.htmlEncode(targetLang.linearize(expr2))); + if (formName == null) + builder.append(TextUtils.htmlEncode(targetLang.linearize(expr2))); + else { + String elin = targetLang.tabularLinearize(expr2).get(formName); + builder.append(TextUtils.htmlEncode(elin)); + } + lin = false; emit = true; } else if (state == 4 && emit) { |
