From b05d1a5dbe9d88511c5ca64af179a4df985156ff Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Fri, 25 Apr 2008 19:00:08 +0000 Subject: [PATCH] added more german i18n fixed lots of untranslated texts git-svn-id: http://trooper/svn/projects/jSite/trunk@764 c3eda9e8-030b-0410-8277-bc7414b0a119 --- src/net/pterodactylus/jsite/gui/AboutDialog.java | 40 +++-- .../jsite/gui/ConfigurationDialog.java | 22 ++- src/net/pterodactylus/jsite/gui/MainWindow.java | 34 +++- .../pterodactylus/jsite/gui/SwingInterface.java | 4 + src/net/pterodactylus/jsite/i18n/jSite.properties | 36 +++-- .../pterodactylus/jsite/i18n/jSite_de.properties | 173 +++++++++++++++++---- 6 files changed, 241 insertions(+), 68 deletions(-) diff --git a/src/net/pterodactylus/jsite/gui/AboutDialog.java b/src/net/pterodactylus/jsite/gui/AboutDialog.java index 3601733..abfa166 100644 --- a/src/net/pterodactylus/jsite/gui/AboutDialog.java +++ b/src/net/pterodactylus/jsite/gui/AboutDialog.java @@ -53,7 +53,7 @@ import net.pterodactylus.util.swing.SwingUtils; /** * An “about” dialog. - * + * * @author David ‘Bombe’ Roden <bombe@freenetproject.org> * @version $Id$ */ @@ -81,9 +81,12 @@ public class AboutDialog extends JDialog implements I18nable { /** The license header. */ private I18nLabel licenseHeaderLabel; + /** The tabbed pane with all the pages. */ + private JTabbedPane pagesPane; + /** * Creates a new “about” dialog. - * + * * @param swingInterface * The Swing interface */ @@ -105,6 +108,7 @@ public class AboutDialog extends JDialog implements I18nable { */ private void initActions() { okayAction = new I18nAction("general.button.okay") { + /** * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ @@ -123,13 +127,13 @@ public class AboutDialog extends JDialog implements I18nable { getContentPane().add(contentPane, BorderLayout.CENTER); contentPane.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12)); - JTabbedPane tabbedPane = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT); - contentPane.add(tabbedPane, BorderLayout.CENTER); + pagesPane = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT); + contentPane.add(pagesPane, BorderLayout.CENTER); - tabbedPane.addTab(I18n.get("aboutDialog.page.about.title"), createAboutPage()); - tabbedPane.setToolTipTextAt(0, I18n.get("aboutDialog.page.about.shortDescription")); - tabbedPane.addTab(I18n.get("aboutDialog.page.license.title"), createLicensePage()); - tabbedPane.setToolTipTextAt(1, I18n.get("aboutDialog.page.license.shortDescription")); + pagesPane.addTab(I18n.get("aboutDialog.page.about.title"), createAboutPage()); + pagesPane.setToolTipTextAt(0, I18n.get("aboutDialog.page.about.shortDescription")); + pagesPane.addTab(I18n.get("aboutDialog.page.license.title"), createLicensePage()); + pagesPane.setToolTipTextAt(1, I18n.get("aboutDialog.page.license.shortDescription")); JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.TRAILING)); contentPane.add(buttonPanel, BorderLayout.PAGE_END); @@ -138,7 +142,7 @@ public class AboutDialog extends JDialog implements I18nable { /** * Creates the “about” page. - * + * * @return The “about” page */ private JComponent createAboutPage() { @@ -179,7 +183,7 @@ public class AboutDialog extends JDialog implements I18nable { /** * Creates the “license” page. - * + * * @return The “license” page */ private JComponent createLicensePage() { @@ -201,7 +205,7 @@ public class AboutDialog extends JDialog implements I18nable { /** * Loads the license text. - * + * * @return The license text */ private String loadLicenseText() { @@ -249,12 +253,16 @@ public class AboutDialog extends JDialog implements I18nable { i18nMaintainerNameLabel.setText(I18n.get("i18n.maintainer.name") + " <" + I18n.get("i18n.maintainer.email") + ">"); okayAction.updateI18n(); setTitle(I18n.get("aboutDialog.title")); + pagesPane.setTitleAt(0, I18n.get("aboutDialog.page.about.title")); + pagesPane.setToolTipTextAt(0, I18n.get("aboutDialog.page.about.shortDescription")); + pagesPane.setTitleAt(1, I18n.get("aboutDialog.page.license.title")); + pagesPane.setToolTipTextAt(1, I18n.get("aboutDialog.page.license.shortDescription")); SwingUtils.repackCentered(this); } /** * Container for a contributor. - * + * * @author David ‘Bombe’ Roden <bombe@freenetproject.org> * @version $Id$ */ @@ -271,7 +279,7 @@ public class AboutDialog extends JDialog implements I18nable { /** * Creates a new contributor. - * + * * @param name * The name of the contributor * @param email @@ -287,7 +295,7 @@ public class AboutDialog extends JDialog implements I18nable { /** * Returns the name of the contributor. - * + * * @return The name of the contributor */ String getName() { @@ -296,7 +304,7 @@ public class AboutDialog extends JDialog implements I18nable { /** * Returns the email address of the contributor. - * + * * @return The email address of the contributor */ String getEmail() { @@ -305,7 +313,7 @@ public class AboutDialog extends JDialog implements I18nable { /** * Returns the parts where the contributor helped. - * + * * @return The parts where the contributor helped */ String getPart() { diff --git a/src/net/pterodactylus/jsite/gui/ConfigurationDialog.java b/src/net/pterodactylus/jsite/gui/ConfigurationDialog.java index c512c46..a65947d 100644 --- a/src/net/pterodactylus/jsite/gui/ConfigurationDialog.java +++ b/src/net/pterodactylus/jsite/gui/ConfigurationDialog.java @@ -23,6 +23,7 @@ import javax.swing.SwingConstants; import net.pterodactylus.jsite.i18n.I18n; import net.pterodactylus.jsite.i18n.I18nable; import net.pterodactylus.jsite.i18n.gui.I18nAction; +import net.pterodactylus.jsite.i18n.gui.I18nLabel; import net.pterodactylus.util.swing.SwingUtils; /** @@ -48,6 +49,9 @@ public class ConfigurationDialog extends JDialog implements I18nable { /** The “use custom user font” action. */ private I18nAction useCustomUserFontAction; + /** The “restart required” warning label. */ + private I18nLabel restartRequiredLabel; + /** The “beautify” checkbox. */ private JCheckBox antialiasCheckBox; @@ -192,7 +196,7 @@ public class ConfigurationDialog extends JDialog implements I18nable { actionCancel(); } }; - antialiasAction = new I18nAction("configurationDialog.page.interface.item.beautify") { + antialiasAction = new I18nAction("configurationDialog.page.interface.item.antialias") { /** * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) @@ -256,22 +260,25 @@ public class ConfigurationDialog extends JDialog implements I18nable { JPanel interfaceConfigPanel = new JPanel(new GridBagLayout()); interfaceConfigPanel.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12)); + restartRequiredLabel = new I18nLabel("configurationDialog.page.interface.item.restartRequired"); + interfaceConfigPanel.add(restartRequiredLabel, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); + antialiasCheckBox = new JCheckBox(antialiasAction); - interfaceConfigPanel.add(antialiasCheckBox, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + interfaceConfigPanel.add(antialiasCheckBox, new GridBagConstraints(0, 1, 2, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(18, 0, 0, 0), 0, 0)); useCustomControlFontCheckBox = new JCheckBox(useCustomControlFontAction); - interfaceConfigPanel.add(useCustomControlFontCheckBox, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(6, 0, 0, 0), 0, 0)); + interfaceConfigPanel.add(useCustomControlFontCheckBox, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(6, 0, 0, 0), 0, 0)); controlFontList = new FontComboBox(); - interfaceConfigPanel.add(controlFontList, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(6, 6, 0, 0), 0, 0)); + interfaceConfigPanel.add(controlFontList, new GridBagConstraints(1, 2, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(6, 6, 0, 0), 0, 0)); useCustomUserFontCheckBox = new JCheckBox(useCustomUserFontAction); - interfaceConfigPanel.add(useCustomUserFontCheckBox, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(6, 0, 0, 0), 0, 0)); + interfaceConfigPanel.add(useCustomUserFontCheckBox, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(6, 0, 0, 0), 0, 0)); userFontList = new FontComboBox(); - interfaceConfigPanel.add(userFontList, new GridBagConstraints(1, 2, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(6, 6, 0, 0), 0, 0)); + interfaceConfigPanel.add(userFontList, new GridBagConstraints(1, 3, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(6, 6, 0, 0), 0, 0)); - interfaceConfigPanel.add(new JPanel(), new GridBagConstraints(0, 3, 2, 1, 1.0, 1.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + interfaceConfigPanel.add(new JPanel(), new GridBagConstraints(0, 4, 2, 1, 1.0, 1.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); return interfaceConfigPanel; } @@ -306,6 +313,7 @@ public class ConfigurationDialog extends JDialog implements I18nable { public void updateI18n() { okayAction.updateI18n(); cancelAction.updateI18n(); + restartRequiredLabel.updateI18n(); antialiasAction.updateI18n(); useCustomControlFontAction.updateI18n(); useCustomUserFontAction.updateI18n(); diff --git a/src/net/pterodactylus/jsite/gui/MainWindow.java b/src/net/pterodactylus/jsite/gui/MainWindow.java index 1653e79..b5bc5fb 100644 --- a/src/net/pterodactylus/jsite/gui/MainWindow.java +++ b/src/net/pterodactylus/jsite/gui/MainWindow.java @@ -72,11 +72,14 @@ public class MainWindow extends JFrame implements I18nable { private I18nMenu languageMenu; /** The about menu. */ - private I18nMenu aboutMenu; + private I18nMenu helpMenu; /** The tabbed project pane. */ private JTabbedPane projectPane; + /** The project overview panel. */ + private Box projectOverviewPanel; + /** * Creates a new main window that redirects all actions to the given swing * interface. @@ -157,17 +160,17 @@ public class MainWindow extends JFrame implements I18nable { menuBar.add(languageMenu); for (I18nAction languageAction: swingInterface.getLanguageActions()) { - languageMenu.add(languageAction); + languageMenu.add(new FixedJMenuItem(languageAction)); } JPanel spacerPanel = new JPanel(); spacerPanel.setOpaque(false); menuBar.add(spacerPanel); - aboutMenu = new I18nMenu("mainWindow.menu.help"); - menuBar.add(aboutMenu); + helpMenu = new I18nMenu("mainWindow.menu.help"); + menuBar.add(helpMenu); - aboutMenu.add(new FixedJMenuItem(swingInterface.getHelpAboutAction())); + helpMenu.add(new FixedJMenuItem(swingInterface.getHelpAboutAction())); setJMenuBar(menuBar); @@ -214,8 +217,9 @@ public class MainWindow extends JFrame implements I18nable { projectPane = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT); upperPanel.add(projectPane, BorderLayout.CENTER); - Box projectOverviewPanel = new Box(BoxLayout.PAGE_AXIS); - projectPane.add(I18n.get("mainWindow.pane.overview.title"), projectOverviewPanel); + projectOverviewPanel = new Box(BoxLayout.PAGE_AXIS); + projectOverviewPanel.setName(I18n.get("mainWindow.pane.overview.title")); + projectPane.add(projectOverviewPanel); projectOverviewPanel.setBorder(new EmptyBorder(12, 12, 12, 12)); projectOverviewPanel.add(Box.createVerticalGlue()); JButton addProjectButton = new JButton(swingInterface.getAddProjectAction()); @@ -235,12 +239,28 @@ public class MainWindow extends JFrame implements I18nable { * {@inheritDoc} */ public void updateI18n() { + swingInterface.getConfigureAction().updateI18n(); + swingInterface.getImportConfigAction().updateI18n(); + swingInterface.getQuitAction().updateI18n(); swingInterface.getManageNodesAction().updateI18n(); swingInterface.getNodeConnectAction().updateI18n(); swingInterface.getNodeDisconnectAction().updateI18n(); + swingInterface.getAddProjectAction().updateI18n(); + swingInterface.getCloneProjectAction().updateI18n(); + swingInterface.getDeleteProjectAction().updateI18n(); + swingInterface.getHelpAboutAction().updateI18n(); + jSiteMenu.updateI18n(); nodeMenu.updateI18n(); languageMenu.updateI18n(); + for (I18nAction languageAction: swingInterface.getLanguageActions()) { + languageAction.updateI18n(); + } + helpMenu.updateI18n(); getJMenuBar().revalidate(); + projectOverviewPanel.setName(I18n.get("mainWindow.pane.overview.title")); + for (int componentIndex = 0; componentIndex < projectPane.getTabCount(); componentIndex++) { + projectPane.setTitleAt(componentIndex, projectPane.getComponentAt(componentIndex).getName()); + } SwingUtils.repackCentered(this); } diff --git a/src/net/pterodactylus/jsite/gui/SwingInterface.java b/src/net/pterodactylus/jsite/gui/SwingInterface.java index b5d651b..a14cd7e 100644 --- a/src/net/pterodactylus/jsite/gui/SwingInterface.java +++ b/src/net/pterodactylus/jsite/gui/SwingInterface.java @@ -311,6 +311,9 @@ public class SwingInterface implements CoreListener { if (configProperties.containsKey("userFont")) { userFont = configProperties.getProperty("userFont"); } + if (configProperties.containsKey("language")) { + I18n.setLocale(new Locale(configProperties.getProperty("language"))); + } } /** @@ -337,6 +340,7 @@ public class SwingInterface implements CoreListener { if (userFont != null) { configProperties.setProperty("userFont", userFont); } + configProperties.setProperty("language", I18n.getLocale().getLanguage()); FileOutputStream configOutputStream = null; try { configOutputStream = new FileOutputStream(configFile); diff --git a/src/net/pterodactylus/jsite/i18n/jSite.properties b/src/net/pterodactylus/jsite/i18n/jSite.properties index 4ba5de4..0b09a6f 100644 --- a/src/net/pterodactylus/jsite/i18n/jSite.properties +++ b/src/net/pterodactylus/jsite/i18n/jSite.properties @@ -49,12 +49,6 @@ mainWindow.menu.language.mnemonic: VK_L mainWindow.menu.help.name: Help mainWindow.menu.help.mnemonic: VK_H -mainWindow.menu.help.item.about.name: About -mainWindow.menu.help.item.about.mnemonic: VK_A -mainWindow.menu.help.item.about.accelerator: Ctrl-VK_A -mainWindow.menu.help.item.about.shortDescription: Shows information about jSite -mainWindow.menu.help.item.about.longDescription: Shows information about jSite - # # the jSite menu # @@ -101,6 +95,20 @@ mainWindow.menu.node.item.disconnect.accelerator: Ctrl-VK_D mainWindow.menu.node.item.disconnect.shortDescription: Disconnect from node mainWindow.menu.node.item.disconnect.longDescription: Disconnect from the currently connected node +# +# the help menu +# + +mainWindow.menu.help.item.about.name: About +mainWindow.menu.help.item.about.mnemonic: VK_A +mainWindow.menu.help.item.about.accelerator: Ctrl-VK_A +mainWindow.menu.help.item.about.shortDescription: Shows information about jSite +mainWindow.menu.help.item.about.longDescription: Shows information about jSite + +# +# main window +# + mainWindow.button.addProject.name: Add Project mainWindow.button.addProject.mnemonic: VK_A mainWindow.button.addProject.accelerator: Ctrl-VK_A @@ -180,7 +188,9 @@ editNodeDialog.error.port.message: The port number is invalid. # # the "about" dialog -aboutDialog.title: About +# + +aboutDialog.title: About jSite aboutDialog.page.about.title: About aboutDialog.page.about.shortDescription: Shows the \u201cAbout\u201d page @@ -205,11 +215,13 @@ configurationDialog.title: Configuration configurationDialog.page.interface.name: Interface Tweaks -configurationDialog.page.interface.item.beautify.name: Beautify GUI (requires restart) -configurationDialog.page.interface.item.beautify.mnemonic: VK_B -configurationDialog.page.interface.item.beautify.accelerator: Alt-VK_B -configurationDialog.page.interface.item.beautify.shortDescription: Use a nicer font for the GUI -configurationDialog.page.interface.item.beautify.longDescription: Use a nicer font for the GUI +configurationDialog.page.interface.item.restartRequired.name: All items on this page require a restart to take effect! + +configurationDialog.page.interface.item.antialias.name: Antialias GUI (requires restart) +configurationDialog.page.interface.item.antialias.mnemonic: VK_A +configurationDialog.page.interface.item.antialias.accelerator: Alt-VK_A +configurationDialog.page.interface.item.antialias.shortDescription: Antialias all GUI elements +configurationDialog.page.interface.item.antialias.longDescription: Antialias all GUI elements configurationDialog.page.interface.item.useCustomControlFont.name: Use custom control font configurationDialog.page.interface.item.useCustomControlFont.mnemonic: VK_C diff --git a/src/net/pterodactylus/jsite/i18n/jSite_de.properties b/src/net/pterodactylus/jsite/i18n/jSite_de.properties index 9cfac1f..2feb63c 100644 --- a/src/net/pterodactylus/jsite/i18n/jSite_de.properties +++ b/src/net/pterodactylus/jsite/i18n/jSite_de.properties @@ -4,6 +4,8 @@ # US-ASCII range encoded with the java-typical \u notation. # use small letters for mnemonics, use large letters for accelerators. +i18n.maintainer.name: David \u2018Bombe\u2019 Roden +i18n.maintainer.email: bombe@freenetproject.org # general gui components general.button.okay.name: OK @@ -20,20 +22,54 @@ general.button.cancel.longDescription: Dialog schlie\u00dfen und \u00c4nderungen general.language.en.name: Englisch general.language.en.mnemonic: VK_E +general.language.en.shortDescription: Sprache auf englisch umschalten +general.language.en.longDescription: Sprache auf englisch umschalten general.language.de.name: Deutsch general.language.de.mnemonic: VK_D +general.language.de.shortDescription: Sprache auf deutsch umschalten +general.language.de.longDescription: Sprache auf deutsch umschalten # main window mainWindow.toolbar.name: jSite Toolbar +mainWindow.error.projectLoadingFailed.title: Laden der Projekte fehlgeschlagen +mainWindow.error.projectLoadingFailed.message: Die Projekte aus \u201e{0}\u201c konnten nicht geladen werden. + # main menus +mainWindow.menu.jSite.name: jSite +mainWindow.menu.jSite.mnemonic: VK_J + mainWindow.menu.node.name: Node mainWindow.menu.node.mnemonic: VK_N mainWindow.menu.languages.name: Sprachen mainWindow.menu.languages.mnemonic: VK_S +mainWindow.menu.help.name: Hilfe +mainWindow.menu.help.mnemonic: VK_H + +# +# the jSite menu +# +mainWindow.menu.jSite.configure.name: Einstellungen +mainWindow.menu.jSite.configure.mnemonic: VK_E +mainWindow.menu.jSite.configure.accelerator: Ctrl-VK_E +mainWindow.menu.jSite.configure.shortDescription: Zeigt Einstellungen an +mainWindow.menu.jSite.configure.longDescription: Zeigt alle jSite Einstellungen an + +mainWindow.menu.jSite.importConfig.name: Konfigurationsimport +mainWindow.menu.JSite.importConfig.mnemonic: VK_K +mainWindow.menu.jSite.importConfig.accelerator: Ctrl-VK_K +mainWindow.menu.jSite.importConfig.shortDescription: Importiert alte jSite 0.x Einstellungen +mainWindow.menu.jSite.importConfig.longDescription: Importiert alte jSite 0.x Einstellungen + +mainWindow.menu.jSite.quit.name: Beenden +mainWindow.menu.jSite.quit.mnemonic: VK_B +mainWindow.menu.jSite.quit.accelerator: Ctrl-VK_B +mainWindow.menu.jSite.quit.shortDescription: Beendet jSite +mainWindow.menu.jSite.quit.longDescription: Beendet jSite + # # the node menu # @@ -56,10 +92,44 @@ mainWindow.menu.node.item.connect.longDescription: Verbindung zum Node herstelle mainWindow.menu.node.item.disconnect.name: Verbindung trennen mainWindow.menu.node.item.disconnect.mnemonic: VK_T mainWindow.menu.node.item.disconnect.accelerator: Ctrl-VK_T -mainWindow.menu.node.item.disconnect.shortDescription: Von Node trennen +mainWindow.menu.node.item.disconnect.shortDescription: Von Node trennen mainWindow.menu.node.item.disconnect.longDescription: Verbindung zum Node trennen # +# the help menu +# + +mainWindow.menu.help.item.about.name: \u00dcber +mainWindow.menu.help.item.about.mnemonic: VK_B +mainWindow.menu.help.item.about.accelerator: Ctrl-VK_B +mainWindow.menu.help.item.about.shortDescription: Zeigt Informationen \u00fcber jSite an +mainWindow.menu.help.item.about.longDescription: Zeigt Informationen \u00fcber jSite an + +# +# main window +# + +mainWindow.button.addProject.name: Neues Projekt +mainWindow.button.addProject.mnemonic: VK_N +mainWindow.button.addProject.accelerator: Ctrl-VK_N +mainWindow.button.addProject.shortDescription: Erstellt ein neues Projekt +mainWindow.button.addProject.longDescription: Erstellt ein neues Projekt + +mainWindow.button.cloneProject.name: Projekt klonen +mainWindow.button.cloneProject.mnemonic: VK_K +mainWindow.button.cloneProject.accelerator: Ctrl-VK_K +mainWindow.button.cloneProject.shortDescription: Klont das angezeigte Projekt +mainWindow.button.cloneProject.longDescription: Klont das angezeigte Projekt + +mainWindow.button.deleteProject.name: Projekt l\u00f6schen +mainWindow.button.deleteProject.mnemonic: VK_L +mainWindow.button.deleteProject.accelerator: Ctrl-VK_L +mainWindow.button.deleteProject.shortDescription: L\u00f6scht das angezeigte Projekt +mainWindow.button.deleteProject.longDescription: L\u00f6scht das angezeigte Projekt + +mainWindow.pane.overview.title: Projekt\u00fcbersicht + +# # the "manage nodes" dialog # @@ -71,45 +141,96 @@ manageNodesDialog.button.addNode.accelerator: Ctrl-VK_H manageNodesDialog.button.addNode.shortDescription: Node hinzuf\u00fcgen manageNodesDialog.button.addNode.longDescription: Einen Node hinzuf\u00fcgen -manageNodesDialog.button.editNode.name: Edit Node -manageNodesDialog.button.editNode.mnemonic: e +manageNodesDialog.button.editNode.name: Node editiren +manageNodesDialog.button.editNode.mnemonic: VK_E manageNodesDialog.button.editNode.accelerator: Ctrl-VK_E -manageNodesDialog.button.editNode.shortDescription: Edit Selected Node +manageNodesDialog.button.editNode.shortDescription: Den ausgew\u00e4hlten Node editieren +manageNodesDialog.button.editNode.longDescription: Den ausgew\u00e4hlten Node editieren -manageNodesDialog.button.deleteNode.name: Delete Node -manageNodesDialog.button.deleteNode.mnemonic: d -manageNodesDialog.button.deleteNode.accelerator: Ctrl-VK_D -manageNodesDialog.button.deleteNode.shortDescription: Delete Selected Node(s) +manageNodesDialog.button.deleteNode.name: Node l\u00f6schen +manageNodesDialog.button.deleteNode.mnemonic: VK_L +manageNodesDialog.button.deleteNode.accelerator: Ctrl-VK_L +manageNodesDialog.button.deleteNode.shortDescription: Den ausgew\u00e4hlten Node l\u00f6schen +manageNodesDialog.button.deleteNode.longDescription: Den ausgew\u00e4hlten Node l\u00f6schen -manageNodesDialog.error.nodeListEmpty.title: Node List Empty -manageNodesDialog.error.nodeListEmpty.message: The node list is empty. +manageNodesDialog.error.nodeListEmpty.title: Keine Nodes konfiguriert +manageNodesDialog.error.nodeListEmpty.message: Es wurden keine Nodes konfiguriert. -manageNodesDialog.error.nodeConnected.title: Node Is Connected -manageNodesDialog.error.nodeConnected.message: The Node \u201c{0}\u201d is still connected. Do you really want to delete it? +manageNodesDialog.error.nodeConnected.title: Node ist verbunden +manageNodesDialog.error.nodeConnected.message: Mit dem Node \u201e{0}\u201c besteht momentan eine Verbindung. Wollen Sie ihn wirklich l\u00f6schen? # the "edit node" dialog editNodeDialog.title: Edit Node editNodeDialog.label.name.name: Name -editNodeDialog.label.name.mnemonic: n +editNodeDialog.label.name.mnemonic: VK_N editNodeDialog.label.hostname.name: Hostname -editNodeDialog.label.hostname.mnemonic: h +editNodeDialog.label.hostname.mnemonic: VK_H editNodeDialog.label.port.name: Port -editNodeDialog.label.port.mnemonic: p +editNodeDialog.label.port.mnemonic: VK_P + +editNodeDialog.checkbox.sameMachine.name: Node auf gleichem Rechner +editNodeDialog.checkbox.sameMachine.mnemonic: VK_G +editNodeDialog.checkbox.sameMachine.accelerator: Alt-VK_G +editNodeDialog.checkbox.sameMachine.shortDescription: Der Node befindet sich auf dem gleichen Rechner +editNodeDialog.checkbox.sameMachine.longDescription: Der Node befindet sich auf dem gleichen Rechner, was einige Optimierungen erm\u00f6glicht + +editNodeDialog.error.name.title: Falscher Nodename +editNodeDialog.error.name.message: Der Name des Nodes ist leer. + +editNodeDialog.error.hostname.title: Falscher Hostname +editNodeDialog.error.hostname.message: Der Hostname ist ung\u00fcltig. + +editNodeDialog.error.port.title: Falsche Portnummer +editNodeDialog.error.port.message: Die Portnummer ist ung\u00fcltig. + +# +# the about dialog +# + +aboutDialog.title: \u00dcber jSite + +aboutDialog.page.about.title: \u00dcber jSite +aboutDialog.page.about.shortDescription: Zeigt Information \u00fcber jSite an + +aboutDialog.page.about.label.contributor.name: Mitwirkende +aboutDialog.page.about.label.contributor.mnemonic: VK_UNDEFINED + +# translators: replace "English" with your language! +aboutDialog.page.about.label.i18nMaintainer.name: \u00dcbersetzung (deutsch) +aboutDialog.page.about.label.i18nMaintainer.mnemonic: VK_UNDEFINED + +aboutDialog.page.license.title: Lizenz +aboutDialog.page.license.shortDescription: Zeigt die Lizenz an + +aboutDialog.page.license.header.name: jSite {0} wurde unter der folgenden Lizenz ver\u00f6ffentlicht: +aboutDialog.page.license.header.mnemonic: VK_UNDEFINED + +# +# the configuration dialog +# +configurationDialog.title: Einstellungen + +configurationDialog.page.interface.name: GUI Tweaks -editNodeDialog.checkbox.sameMachine.name: Node on the same machine -editNodeDialog.checkbox.sameMachine.mnemonic: s -editNodeDialog.checkbox.sameMachine.accelerator: Alt-VK_S -editNodeDialog.checkbox.sameMachine.shortDescription: Node is on the same machine -editNodeDialog.checkbox.sameMachine.longDescription: The node is on the same machine as jSite and some optimizations can be used +configurationDialog.page.interface.item.restartRequired.name: Alle Einstellungen auf dieser Seite erfordern einen Neustart, um wirksam zu werden! -editNodeDialog.error.name.title: Wrong Node Name -editNodeDialog.error.name.message: The name of the node is empty. +configurationDialog.page.interface.item.antialias.name: Antialiasing f\u00fcr Oberfl\u00e4che aktivieren +configurationDialog.page.interface.item.antialias.mnemonic: VK_A +configurationDialog.page.interface.item.antialias.accelerator: Alt-VK_A +configurationDialog.page.interface.item.antialias.shortDescription: Aktiviert Antialiasing f\u00fcr die Oberfl\u00e4che +configurationDialog.page.interface.item.antialias.longDescription: Aktiviert Antialiasing f\u00fcr die Oberfl\u00e4che -editNodeDialog.error.hostname.title: Wrong Hostname -editNodeDialog.error.hostname.message: The hostname is invalid. +configurationDialog.page.interface.item.useCustomControlFont.name: Andere Schriftart f\u00fcr Kontrollelemente +configurationDialog.page.interface.item.useCustomControlFont.mnemonic: VK_K +configurationDialog.page.interface.item.useCustomControlFont.accelerator: Alt-VK_K +configurationDialog.page.interface.item.useCustomControlFont.shortDescription: Eine andere Schriftart f\u00fcr Kontrollelemente benutzen +configurationDialog.page.interface.item.useCustomControlFont.longDescription: Eine andere Schriftart f\u00fcr Kontrollelemente benutzen -editNodeDialog.error.port.title: Wrong Port Number -editNodeDialog.error.port.message: The port number is invalid. +configurationDialog.page.interface.item.useCustomUserFont.name: Andere Schriftart f\u00fcr Texteingaben +configurationDialog.page.interface.item.useCustomUserFont.mnemonic: VK_T +configurationDialog.page.interface.item.useCustomUserFont.accelerator: Alt-VK_T +configurationDialog.page.interface.item.useCustomUserFont.shortDescription: Eine andere Schriftart f\u00fcr Texteingabefelder benutzen +configurationDialog.page.interface.item.useCustomUserFont.longDescription: Eine andere Schriftart f\u00fcr Texteingabefelder benutzen -- 2.7.4