- String[] parts = l.getTranslation(command).split("%s");
- String[] myvars = store.toArray(new String[store.size()]);
- out.print(parts[0]);
- for (int j = 1; j < parts.length; j++) {
- outputVar(out, l, vars, myvars[j - 1].substring(1));
- out.print(parts[j]);
+ };
+ } else if (s2.startsWith("=$")) {
+ final String raw = s2.substring(2);
+ return new Outputable() {
+
+ @Override
+ public void output(PrintWriter out, Language l,
+ Map<String, Object> vars) {
+ outputVar(out, l, vars, raw);
+ }
+ };
+ } else if (s2.startsWith("=s,")) {
+ String command = s2.substring(3);
+ final LinkedList<String> store = new LinkedList<String>();
+ while (command.startsWith("$")) {
+ int idx = command.indexOf(",");
+ store.add(command.substring(0, idx));
+ command = command.substring(idx + 1);
+ }
+ final String text = command;
+ return new Outputable() {
+
+ @Override
+ public void output(PrintWriter out, Language l,
+ Map<String, Object> vars) {
+ String[] parts = l.getTranslation(text).split("%s");
+ String[] myvars = store.toArray(new String[store.size()]);
+ out.print(parts[0]);
+ for (int j = 1; j < parts.length; j++) {
+ outputVar(out, l, vars, myvars[j - 1].substring(1));
+ out.print(parts[j]);
+ }