X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fi18n%2Fgui%2FI18nLabel.java;h=f39b254c9bcabb78034b89649b36012b7cea1430;hb=36b29f60a28c5bf236433fb1480156ba076c46f9;hp=06f6b6e4b95104a70d1178edb5f7967189037032;hpb=2d12592a298c0f2d1b64635d51ad1c5453fc4532;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/i18n/gui/I18nLabel.java b/src/net/pterodactylus/jsite/i18n/gui/I18nLabel.java index 06f6b6e..f39b254 100644 --- a/src/net/pterodactylus/jsite/i18n/gui/I18nLabel.java +++ b/src/net/pterodactylus/jsite/i18n/gui/I18nLabel.java @@ -37,6 +37,19 @@ public class I18nLabel extends JLabel implements I18nable { /** The I18n basename of the label. */ private final String i18nBasename; + /** Optional arguments for i18n replacement. */ + private final Object[] arguments; + + /** + * Creates a new label with the given I18n basename. + * + * @param i18nBasename + * The I18n basename of the label + */ + public I18nLabel(String i18nBasename) { + this(i18nBasename, (Component) null); + } + /** * Creates a new label with the given I18n basename that optionally is a * label for the given component. @@ -49,8 +62,41 @@ public class I18nLabel extends JLabel implements I18nable { * component */ public I18nLabel(String i18nBasename, Component component) { + this(i18nBasename, component, (Object[]) null); + } + + /** + * Creates a new label with the given I18n basename that optionally is a + * label for the given component. + * + * @param i18nBasename + * The I18n basename of the label + * @param arguments + * Optional arguments that are handed in to + * {@link I18n#get(String, Object...)} + */ + public I18nLabel(String i18nBasename, Object... arguments) { + this(i18nBasename, null, arguments); + } + + /** + * Creates a new label with the given I18n basename that optionally is a + * label for the given component. + * + * @param i18nBasename + * The I18n basename of the label + * @param component + * The component that is activated by the label, or + * null if this label should not activate a + * component + * @param arguments + * Optional arguments that are handed in to + * {@link I18n#get(String, Object...)} + */ + public I18nLabel(String i18nBasename, Component component, Object... arguments) { super(); this.i18nBasename = i18nBasename; + this.arguments = arguments; updateI18n(); if (component != null) { setLabelFor(component); @@ -61,7 +107,7 @@ public class I18nLabel extends JLabel implements I18nable { * {@inheritDoc} */ public void updateI18n() { - setText(I18n.get(i18nBasename + ".name")); + setText(I18n.get(i18nBasename + ".name", arguments)); setDisplayedMnemonic(I18n.getKey(i18nBasename + ".mnemonic")); }