summaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2013-11-28 19:52:31 +0000
committerkr.angelov <kr.angelov@gmail.com>2013-11-28 19:52:31 +0000
commit74de6c10979318f97aff1a69f6ee3cfaf1dbcf74 (patch)
treebd9902d1ef2c8d0df7a165a3b6f7991d143610fe /src/ui
parentead60581afa77510e43a65227b74b09023855cb5 (diff)
extension in the template format for inflection tables. This makes it possible to use the templates with Finish
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/android/src/org/grammaticalframework/ui/android/Translator.java10
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) {