public StringOutput contextHelpWithWrapper(String page) { StringOutput sb = new StringOutput(192); if (ContextHelpModule.isContextHelpEnabled()) { HelpModule helpModule = CoreSpringFactory.getImpl(HelpModule.class); Locale locale = renderer.getTranslator().getLocale(); String url = helpModule.getHelpProvider().getURL(locale, page); if (url != null) { sb.append("<span class=\"o_chelp_wrapper\">") .append("<a href=\"") .append(url) .append("\" class=\"o_chelp\" target=\"_blank\"><i class='o_icon o_icon_help'></i> ") .append(renderer.getTranslator().translate("help")) .append("</a></span>"); } } return sb; }
/** * @param packageName * @param pageName * @param hoverTextKey * @return */ public StringOutput contextHelp(String packageName, String pageName, String hoverTextKey) { StringOutput sb = new StringOutput(100); if (ContextHelpModule.isContextHelpEnabled()) { String hooverText = renderer.getTranslator().translate(hoverTextKey); if (hooverText != null) { hooverText = StringEscapeUtils.escapeHtml(hooverText); } sb.append("<a href=\"javascript:"); sb.append(contextHelpJSCommand(packageName, pageName)); sb.append("\" title=\"") .append(hooverText) .append("\" class=\"o_chelp\"><i class='o_icon o_icon_help'></i> "); sb.append(renderer.getTranslator().translate("help")); sb.append("</a>"); } return sb; }
/** * Method to translate a key that comes from another package. This should be used rarely. When a * key is used withing multiple packages is is usually better to use a fallback translator or to * move the key to the default packages. * * <p>Used in context help system * * @param bundleName the package name, e.g. 'org.olat.core' * @param key the key, e.g. 'my.key' * @param args optional arguments, null if not used * @return */ public String translateWithPackage(String bundleName, String key, String[] args) { Translator pageTrans = renderer.getTranslator(); if (pageTrans == null) return "{Translator is null: key_to_translate=" + key + "}"; Locale locale = pageTrans.getLocale(); Translator tempTrans = new PackageTranslator(bundleName, locale); String result = tempTrans.translate(key, args); if (result == null) { return "{Invalid bundle name: " + bundleName + " and key: " + key + "}"; } return result; }
/** * Create a js command to open a specific context help page * * @param packageName * @param pageName * @return */ public StringOutput contextHelpJSCommand(String packageName, String pageName) { StringOutput sb = new StringOutput(100); if (ContextHelpModule.isContextHelpEnabled()) { String langCode = renderer.getTranslator().getLocale().toString(); sb.append("contextHelpWindow('"); Renderer.renderNormalURI(sb, "help/"); sb.append(langCode).append("/").append(packageName).append("/").append(pageName); sb.append("')"); } return sb; }
/** * @param key * @return */ public String translate(String key) { Translator trans = renderer.getTranslator(); if (trans == null) return "{Translator is null: key_to_translate=" + key + "}"; String res = trans.translate(key); if (res == null) return "?? key not found to translate: key_to_translate=" + key + " / trans info:" + trans + "}"; return res; }
/** * Create a link that can be used within a context help page to link to another context help page * from another package. As link text the page title is used. * * @param bundleName e.g. "org.olat.core" * @param pageName e.g. "my-page.html" * @return */ public StringOutput contextHelpRelativeLink(String bundleName, String pageName) { String linkText; int lastDotPos = pageName.lastIndexOf("."); if (lastDotPos != -1) { Translator pageTrans = renderer.getTranslator(); if (bundleName != null) { Locale locale = pageTrans.getLocale(); pageTrans = new PackageTranslator(bundleName, locale); } linkText = pageTrans.translate("chelp." + pageName.subSequence(0, lastDotPos) + ".title"); } else { linkText = pageName; // fallback } return contextHelpRelativeLink(bundleName, pageName, linkText); }
public String formatDateAndTime(Date date) { Formatter f = Formatter.getInstance(renderer.getTranslator().getLocale()); return f.formatDateAndTime(date); }