diff --git a/ganttzk-demo-webapp/src/main/java/org/navalplanner/web/I18nHelper.java b/ganttzk-demo-webapp/src/main/java/org/navalplanner/web/I18nHelper.java index 0a9e2299c..c159fc6e6 100644 --- a/ganttzk-demo-webapp/src/main/java/org/navalplanner/web/I18nHelper.java +++ b/ganttzk-demo-webapp/src/main/java/org/navalplanner/web/I18nHelper.java @@ -25,7 +25,28 @@ public class I18nHelper { return i18n; } - public static String _(String str) { - return getI18n().tr(str); + public static String _(String text) { + return getI18n().tr(text); } -} \ No newline at end of file + + public static String _(String text, Object o1) { + return getI18n().tr(text, o1); + } + + public static String _(String text, Object o1, Object o2) { + return getI18n().tr(text, o1, o2); + } + + public static String _(String text, Object o1, Object o2, Object o3) { + return getI18n().tr(text, o1, o2, o3); + } + + public static String _(String text, Object o1, Object o2, Object o3, + Object o4) { + return getI18n().tr(text, o1, o2, o3, o4); + } + + public static String _(String text, Object[] objects) { + return getI18n().tr(text, objects); + } +} diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/I18nHelper.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/I18nHelper.java index 0a9e2299c..4f179e933 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/I18nHelper.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/I18nHelper.java @@ -28,4 +28,25 @@ public class I18nHelper { public static String _(String str) { return getI18n().tr(str); } -} \ No newline at end of file + + public static String _(String text, Object o1) { + return getI18n().tr(text, o1); + } + + public static String _(String text, Object o1, Object o2) { + return getI18n().tr(text, o1, o2); + } + + public static String _(String text, Object o1, Object o2, Object o3) { + return getI18n().tr(text, o1, o2, o3); + } + + public static String _(String text, Object o1, Object o2, Object o3, + Object o4) { + return getI18n().tr(text, o1, o2, o3, o4); + } + + public static String _(String text, Object[] objects) { + return getI18n().tr(text, objects); + } +} diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/I18n.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/I18n.java new file mode 100644 index 000000000..567149f13 --- /dev/null +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/I18n.java @@ -0,0 +1,88 @@ +package org.navalplanner.web.common.components; + +import org.navalplanner.web.I18nHelper; +import org.zkoss.zk.ui.HtmlMacroComponent; + +/** + * ZK macro component for translating texts created dinamically, that means, + * those which need one or more parameters + * + * @author Diego Pino GarcĂ­a + */ +public class I18n extends HtmlMacroComponent { + + public String value; + + public String arg1; + + public String arg2; + + public String arg3; + + public String arg4; + + public I18n() { + + } + + public String getArg1() { + return arg1; + } + + public void setArg1(String arg1) { + this.arg1 = arg1; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getArg2() { + return arg2; + } + + public void setArg2(String arg2) { + this.arg2 = arg2; + } + + public String getArg3() { + return arg3; + } + + public void setArg3(String arg3) { + this.arg3 = arg3; + } + + public String getArg4() { + return arg4; + } + + public void setArg4(String arg4) { + this.arg4 = arg4; + } + + public String getI18n() { + if (arg1 != null && arg2 != null && arg3 != null && arg4 != null) { + return I18nHelper._(value, arg1, arg2, arg3, arg4); + } + if (arg1 != null && arg2 != null && arg3 != null) { + return I18nHelper._(value, arg1, arg2, arg3); + } + if (arg1 != null && arg2 != null) { + return I18nHelper._(value, arg1, arg2); + } + if (arg1 != null) { + return I18nHelper._(value, arg1); + } + + return I18nHelper._(value); + } + + public void afterCompose() { + super.afterCompose(); + } +} diff --git a/navalplanner-webapp/src/main/resources/metainfo/zk/lang-addon.xml b/navalplanner-webapp/src/main/resources/metainfo/zk/lang-addon.xml index ad28e0255..bb895042b 100755 --- a/navalplanner-webapp/src/main/resources/metainfo/zk/lang-addon.xml +++ b/navalplanner-webapp/src/main/resources/metainfo/zk/lang-addon.xml @@ -11,4 +11,10 @@ /common/components/twowayselector.zul - \ No newline at end of file + + i18n + org.navalplanner.web.common.components.I18n + /common/components/i18n.zul + + + diff --git a/navalplanner-webapp/src/main/webapp/common/components/i18n.zul b/navalplanner-webapp/src/main/webapp/common/components/i18n.zul new file mode 100644 index 000000000..273ce8cdb --- /dev/null +++ b/navalplanner-webapp/src/main/webapp/common/components/i18n.zul @@ -0,0 +1,8 @@ + + + + +