-bin
-build/
-dist/
target/
<modelVersion>4.0.0</modelVersion>
<groupId>net.pterodactylus</groupId>
<artifactId>jSite</artifactId>
- <version>0.11</version>
+ <version>0.11.1</version>
<dependencies>
<dependency>
<groupId>net.pterodactylus</groupId>
import net.pterodactylus.util.swing.ComboBoxModelList;
import de.todesbaum.jsite.application.Freenet7Interface;
+import de.todesbaum.jsite.application.Project;
import de.todesbaum.jsite.i18n.I18n;
import de.todesbaum.jsite.i18n.I18nContainer;
import de.todesbaum.util.freenet.fcp2.wot.OwnIdentity;
/** The “Regenerate” button’s action. */
private Action generateAction;
+ /** The “Copy from Project” action. */
+ private Action copyFromProjectAction;
+
/** The “Copy from Identity” action. */
private Action copyFromIdentityAction;
/** The text field for the public key. */
private JTextField publicKeyTextField;
+ /** The select box for the projects. */
+ private JComboBox projectsComboBox;
+
/** The select box for the own identities. */
private JComboBox ownIdentitiesComboBox;
/** Whether the dialog was cancelled. */
private boolean cancelled;
+ /** The list of projects. */
+ private final List<Project> projects = new ArrayList<Project>();
+
/** The list of own identities. */
private final List<OwnIdentity> ownIdentities = new ArrayList<OwnIdentity>();
}
/**
+ * Sets the projects to display and copy URIs from.
+ *
+ * @param projects
+ * The list of projects
+ */
+ public void setProjects(Collection<? extends Project> projects) {
+ synchronized (this.projects) {
+ this.projects.clear();
+ this.projects.addAll(projects);
+ }
+ projectsComboBox.setSelectedIndex(-1);
+ }
+
+ /**
* Sets the own identities to display and copy URIs from.
*
* @param ownIdentities
cancelAction.putValue(Action.SHORT_DESCRIPTION, I18n.getMessage("jsite.key-dialog.button.cancel.tooltip"));
cancelAction.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_ESCAPE);
+ copyFromProjectAction = new AbstractAction(I18n.getMessage("jsite.key-dialog.button.copy-from-project")) {
+
+ @Override
+ @SuppressWarnings("synthetic-access")
+ public void actionPerformed(ActionEvent actionevent) {
+ actionCopyFromProject();
+ }
+ };
+ copyFromProjectAction.putValue(Action.SHORT_DESCRIPTION, I18n.getMessage("jsite.key-dialog.button.copy-from-project.tooltip"));
+ copyFromProjectAction.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_P);
+ copyFromProjectAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_P, InputEvent.CTRL_DOWN_MASK));
+
copyFromIdentityAction = new AbstractAction(I18n.getMessage("jsite.key-dialog.button.copy-from-identity")) {
@Override
}
};
copyFromIdentityAction.putValue(Action.SHORT_DESCRIPTION, I18n.getMessage("jsite.key-dialog.button.copy-from-identity.tooltip"));
- copyFromIdentityAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_DOWN_MASK));
+ copyFromIdentityAction.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_I);
+ copyFromIdentityAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_I, InputEvent.CTRL_DOWN_MASK));
generateAction = new AbstractAction(I18n.getMessage("jsite.key-dialog.button.generate")) {
publicKeyTextField = new JTextField();
contentPanel.add(publicKeyTextField, new GridBagConstraints(1, 2, 2, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 12, 0, 0), 0, 0));
- final JLabel identitiesLabel = new JLabel(I18n.getMessage("jsite.key-dialog.label.identities"));
- contentPanel.add(identitiesLabel, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(12, 0, 0, 0), 0, 0));
+ final JLabel copyKeysLabel = new JLabel(I18n.getMessage("jsite.key-dialog.label.copy-keys"));
+ contentPanel.add(copyKeysLabel, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(12, 0, 0, 0), 0, 0));
+
+ final JLabel projectLabel = new JLabel(I18n.getMessage("jsite.key-dialog.label.project"));
+ contentPanel.add(projectLabel, new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(12, 18, 0, 0), 0, 0));
+
+ projectsComboBox = new JComboBox(new ComboBoxModelList<Project>(projects));
+ projectsComboBox.addActionListener(new ActionListener() {
+
+ @Override
+ @SuppressWarnings("synthetic-access")
+ public void actionPerformed(ActionEvent actionEvent) {
+ copyFromProjectAction.setEnabled(projectsComboBox.getSelectedIndex() > -1);
+ }
+
+ });
+ contentPanel.add(projectsComboBox, new GridBagConstraints(1, 4, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 12, 0, 0), 0, 0));
+
+ JButton copyFromProjectButton = new JButton(copyFromProjectAction);
+ contentPanel.add(copyFromProjectButton, new GridBagConstraints(2, 4, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_END, GridBagConstraints.HORIZONTAL, new Insets(6, 12, 0, 0), 0, 0));
final JLabel identityLabel = new JLabel(I18n.getMessage("jsite.key-dialog.label.identity"));
- contentPanel.add(identityLabel, new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(12, 18, 0, 0), 0, 0));
+ contentPanel.add(identityLabel, new GridBagConstraints(0, 5, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(12, 18, 0, 0), 0, 0));
ownIdentitiesComboBox = new JComboBox(new ComboBoxModelList<OwnIdentity>(ownIdentities));
ownIdentitiesComboBox.addActionListener(new ActionListener() {
return this;
}
});
- contentPanel.add(ownIdentitiesComboBox, new GridBagConstraints(1, 4, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 12, 0, 0), 0, 0));
+ contentPanel.add(ownIdentitiesComboBox, new GridBagConstraints(1, 5, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 12, 0, 0), 0, 0));
JButton copyFromIdentityButton = new JButton(copyFromIdentityAction);
- contentPanel.add(copyFromIdentityButton, new GridBagConstraints(2, 4, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_END, GridBagConstraints.NONE, new Insets(6, 12, 0, 0), 0, 0));
+ contentPanel.add(copyFromIdentityButton, new GridBagConstraints(2, 5, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_END, GridBagConstraints.HORIZONTAL, new Insets(6, 12, 0, 0), 0, 0));
final JLabel actionsLabel = new JLabel(I18n.getMessage("jsite.key-dialog.label.actions"));
- contentPanel.add(actionsLabel, new GridBagConstraints(0, 5, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(12, 0, 0, 0), 0, 0));
+ contentPanel.add(actionsLabel, new GridBagConstraints(0, 6, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(12, 0, 0, 0), 0, 0));
JPanel actionButtonPanel = new JPanel(new FlowLayout(FlowLayout.LEADING, 12, 12));
actionButtonPanel.setBorder(BorderFactory.createEmptyBorder(-12, -12, -12, -12));
- contentPanel.add(actionButtonPanel, new GridBagConstraints(0, 6, 3, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(12, 18, 0, 0), 0, 0));
+ contentPanel.add(actionButtonPanel, new GridBagConstraints(0, 7, 3, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.HORIZONTAL, new Insets(12, 18, 0, 0), 0, 0));
actionButtonPanel.add(new JButton(generateAction));
keysLabel.setText(I18n.getMessage("jsite.key-dialog.label.keys"));
privateKeyLabel.setText(I18n.getMessage("jsite.key-dialog.label.private-key"));
publicKeyLabel.setText(I18n.getMessage("jsite.key-dialog.label.public-key"));
- identitiesLabel.setText(I18n.getMessage("jsite.key-dialog.label.identities"));
+ copyKeysLabel.setText(I18n.getMessage("jsite.key-dialog.label.copy-keys"));
identityLabel.setText(I18n.getMessage("jsite.key-dialog.label.identity"));
+ projectLabel.setText(I18n.getMessage("jsite.key-dialog.label.project"));
actionsLabel.setText(I18n.getMessage("jsite.key-dialog.label.actions"));
}
});
}
/**
+ * Copies the public and private key from the selected project.
+ */
+ private void actionCopyFromProject() {
+ Project project = (Project) projectsComboBox.getSelectedItem();
+ if (project == null) {
+ return;
+ }
+ setPublicKey(project.getRequestURI());
+ setPrivateKey(project.getInsertURI());
+ }
+
+ /**
* Copies the public and private key from the selected identity.
*/
private void actionCopyFromIdentity() {
import java.awt.event.KeyEvent;
import java.io.IOException;
import java.text.MessageFormat;
+import java.util.List;
import java.util.Map.Entry;
import javax.swing.AbstractAction;
* @param projects
* The list of projects
*/
- public void setProjects(Project[] projects) {
+ public void setProjects(List<Project> projects) {
projectListModel.clear();
for (Project project : projects) {
projectListModel.add(project);
*
* @return The list of projects
*/
- public Project[] getProjects() {
- return projectListModel.toArray(new Project[projectListModel.size()]);
+ public List<Project> getProjects() {
+ return projectListModel;
}
/**
KeyDialog keyDialog = new KeyDialog(freenetInterface, wizard);
keyDialog.setPrivateKey(selectedProject.getInsertURI());
keyDialog.setPublicKey(selectedProject.getRequestURI());
+ keyDialog.setProjects(getProjects());
keyDialog.setOwnIdentities(webOfTrustInterface.getOwnIdentities());
keyDialog.setVisible(true);
if (!keyDialog.wasCancelled()) {
package de.todesbaum.jsite.main;
import java.io.PrintWriter;
+import java.util.List;
import net.pterodactylus.util.io.StreamCopier.ProgressListener;
import de.todesbaum.jsite.application.Freenet7Interface;
private Node[] nodes;
/** The projects. */
- private Project[] projects;
+ private List<Project> projects;
/** Whether the insert has finished. */
private boolean finished = false;
*
* @return A list of all projects
*/
- public Project[] getProjects() {
+ public List<Project> getProjects() {
List<Project> projects = new ArrayList<Project>();
SimpleXML projectsNode = rootNode.getNode("project-list");
if (projectsNode != null) {
}
}
}
- return projects.toArray(new Project[projects.size()]);
+ return projects;
}
/**
* @param projects
* The list of all projects
*/
- public void setProjects(Project[] projects) {
+ public void setProjects(List<Project> projects) {
SimpleXML projectsNode = new SimpleXML("project-list");
for (Project project : projects) {
SimpleXML projectNode = projectsNode.append("project");
private static final Logger logger = Logger.getLogger(Main.class.getName());
/** The version. */
- private static final Version VERSION = new Version(0, 11);
+ private static final Version VERSION = new Version(0, 11, 1);
/** The configuration. */
private Configuration configuration;
}
/** The supported locales. */
- private static final Locale[] SUPPORTED_LOCALES = new Locale[] { Locale.ENGLISH, Locale.GERMAN, Locale.FRENCH };
+ private static final Locale[] SUPPORTED_LOCALES = new Locale[] { Locale.ENGLISH, Locale.GERMAN, Locale.FRENCH, new Locale("pl") };
/** The actions that switch the language. */
private Map<Locale, Action> languageActions = new HashMap<Locale, Action>();
jsite.key-dialog.title=Manage Project Keys
jsite.key-dialog.button.ok.tooltip=Accepts the changes
jsite.key-dialog.button.cancel.tooltip=Discards the changes
+jsite.key-dialog.button.copy-from-project=Copy from Project
+jsite.key-dialog.button.copy-from-project.tooltip=Copies the public and private keys from the selected project
jsite.key-dialog.button.copy-from-identity=Copy from Identity
jsite.key-dialog.button.copy-from-identity.tooltip=Copies the public and private keys from the selected identity
jsite.key-dialog.button.generate=Regenerate Keys
jsite.key-dialog.label.keys=<html><b>Keys</b></html>
jsite.key-dialog.label.private-key=Private Key
jsite.key-dialog.label.public-key=Public Key
-jsite.key-dialog.label.identities=<html><b>Identities</b></html>
+jsite.key-dialog.label.copy-keys=<html><b>Copy Keys</b></html>
+jsite.key-dialog.label.project=Project
jsite.key-dialog.label.identity=Identity
jsite.key-dialog.label.actions=<html><b>Actions</b></html>
jsite.key-dialog.title=Projektschl\u00fcsselverwaltung
jsite.key-dialog.button.ok.tooltip=\u00c4nderungen akzeptieren
jsite.key-dialog.button.cancel.tooltip=\u00c4nderungen verwerfen
+jsite.key-dialog.button.copy-from-project=Von Projekt kopieren
+jsite.key-dialog.button.copy-from-project.tooltip=Kopiert das Schl\u00fcsselpaar des ausgew\u00e4hlten Projekts
jsite.key-dialog.button.copy-from-identity=Von Identit\u00e4t kopieren
jsite.key-dialog.button.copy-from-identity.tooltip=Kopiert das Schl\u00fcsselpaar der ausgew\u00e4hlten Identit\u00e4t
jsite.key-dialog.button.generate=Schl\u00fcssel neu generieren
jsite.key-dialog.label.keys=<html><b>Schl\u00fcssel</b></html>
jsite.key-dialog.label.private-key=Privater Schl\u00fcssel
jsite.key-dialog.label.public-key=\u00d6ffentlicher Schl\u00fcssel
-jsite.key-dialog.label.identities=<html><b>Identit\u00e4ten</b></html>
+jsite.key-dialog.label.copy-keys=<html><b>Schl\u00fcssel kopieren</b></html>
+jsite.key-dialog.label.project=Projekt
jsite.key-dialog.label.identity=Identit\u00e4t
jsite.key-dialog.label.actions=<html><b>Aktionen</b></html>
jsite.key-dialog.title=G\u00e9rer les cl\u00e9s des projets
jsite.key-dialog.button.ok.tooltip=Accepter les changements
jsite.key-dialog.button.cancel.tooltip=Annuler les changements
+jsite.key-dialog.button.copy-from-project=Copy from Project
+jsite.key-dialog.button.copy-from-project.tooltip=Copies the public and private keys from the selected project
jsite.key-dialog.button.copy-from-identity=Copy from Identity
jsite.key-dialog.button.copy-from-identity.tooltip=Copies the public and private keys from the selected identity
jsite.key-dialog.button.generate=Reg\u00e9n\u00e9rer les cl\u00e9s
jsite.key-dialog.label.keys=<html><b>Cl\u00e9s</b></html>
jsite.key-dialog.label.private-key=Cl\u00e9 priv\u00e9e
jsite.key-dialog.label.public-key=Cl\u00e9 publique
-jsite.key-dialog.label.identities=<html><b>Identities</b></html>
+jsite.key-dialog.label.copy-keys=<html><b>Copy Keys</b></html>
+jsite.key-dialog.label.project=Project
jsite.key-dialog.label.identity=Identity
jsite.key-dialog.label.actions=<html><b>Actions</b></html>
jsite.error.no-custom-key=<html><b>Pas de clef existante sp\u00e9cifi\u00e9e pour ce fichier</b><br><br>Vous avez sp\u00e9cifier de ne pas ins\u00e9rer <code>{0}</code><br> mais n'avez pas sp\u00e9cifier de clef ou rediriger!</html>
jsite.error.no-files-to-insert=<html><b>Aucun fichier \u00e0 ins\u00e9rer</b><br><br>Vous n'avez s\u00e9lectionn\u00e9 aucun fichier pour l'insertion !<br>Veuillez s\u00e9lectionner au moins un fichier \u00e0 ins\u00e9rer.</html>
jsite.error.duplicate-file=<html><b>Fichier dupliqu\u00e9</b><br><br>Le fichier <code>{0}</code> est ins\u00e9r\u00e9 deux fois !<br>Veuillez v\u00e9rifier les noms de fichier et les redirections.</html>
-# to update: 144, 145, 180, 181, 187-189, 193
\ No newline at end of file
+# to update: 144, 145, 180-183, 189-192, 196
\ No newline at end of file
--- /dev/null
+#
+# jSite - jSite_pl.properties - Copyright © 2006–2012 David Roden
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+# Polish language file
+
+# Attention, translators! Most of the strings here are used directly.
+# However, some of them are parsed by MessageFormat
+# (http://java.sun.com/j2se/1.5.0/docs/api/java/text/MessageFormat.html)
+# and thus have to adhere to some rules (check the URL above). This is the
+# case when a line contains placeholders like {0} or {0,number}! In these
+# lines single quotes (ASCII 39) needs to be escaped by entering them twice,
+# otherwise the placeholder will not be replaced!
+
+jsite.main.already-running=<html><b>Program jSite zosta\u0142 uruchomiony</b><br><br>Plik blokady zosta\u0142 znaleziony co sugeruje, \u017ce jeszcze jedna<br> instacja jSite jest uruchomiona. Je\u015bli u\u017cyjesz kilka instancji tego <br>programu, to zapewniam, \u017ce zniszczysz sobie konfiguracj\u0119.</html>
+jsite.main.already-running.override=Zacznij teraz
+
+jsite.wizard.previous=Poprzedni
+jsite.wizard.next=Nast\u0119pny
+jsite.wizard.quit=Zako\u0144cz
+
+jsite.quit.question=Jeste\u015b pewien, \u017ce chcesz zako\u0144czy\u0107?
+jsite.quit.config-not-saved=<html><b>Konfiguracja nie jest zapisana</b><br><br>Plik konfiguracji nie jest zachowany.<br>Czy mimo wszystko zako\u0144czy\u0107?</html>
+jsite.quit.overwrite-configuration=<html><b>Nadpisa\u0107 konfiguracj\u0119?</b><br><br>Plik konfiguracyjny: <code>{0}</code> ju\u017c istnieje.<br>Nadpisa\u0107?</html>
+jsite.quit.overwrite-configuration.title=Nadpisa\u0107 konfiguracj\u0119?
+jsite.quit.config-not-saved=<html><b>Konfiguracja nie zosta\u0142a zapisana</b><br><br>Konfiguracja mog\u0142a nie zosta\u0107 zachowana.<br>Zako\u0144czy\u0107 mimo to?</html>
+
+jsite.menu.languages=J\u0119zyki
+jsite.menu.language.en=English
+jsite.menu.language.de=Deutsch
+jsite.menu.language.fr=Fran\u00e7ais
+jsite.menu.language.it=Italiano
+jsite.menu.language.pl=Polski
+jsite.menu.nodes=W\u0119z\u0142y
+jsite.menu.nodes.manage-nodes=Zarz\u0105dzaj w\u0119z\u0142ami
+jsite.menu.options=Opcje
+jsite.menu.options.preferences=Ustawienia
+jsite.menu.help=Pomoc
+jsite.menu.help.check-for-updates=Sprawd\u017a uaktualnienia
+jsite.menu.help.about=O programie
+
+jsite.about.message=<html><big><b>jSite {0}</b></big><br><br>Copyright \u00a9 2006\u20132012 David Roden<br>Publikowany na licencji GNU General Public License</html>
+
+jsite.node-manager.heading=Zarz\u0105dzanie w\u0119z\u0142ami
+jsite.node-manager.description=Tu mo\u017cesz arz\u0105dza\u0107 swoimi w\u0119z\u0142ami.
+jsite.node-manager.node-information=Informacja o w\u0119\u017ale
+jsite.node-manager.add-node=Dodaj w\u0119ze\u0142
+jsite.node-manager.new-node=Nowy w\u0119ze\u0142
+jsite.node-manager.delete-node=Kasuj w\u0119ze\u0142
+jsite.node-manager.delete-node.warning=<html><b>Potwierd\u017a skasowanie w\u0119z\u0142a</b><br><br>Faktycznie chcesz skasowa\u0107 w\u0119ze\u0142?</html>
+jsite.node-manager.name=Nazwa
+jsite.node-manager.hostname=Nazwa hosta
+jsite.node-manager.port=Port
+
+jsite.preferences.heading=Ustawienia
+jsite.preferences.description=Zarz\u0105dzaj globalnymi ustawieniami.
+jsite.preferences.temp-directory=Katalog plik\u00f3w tymczasowych
+jsite.preferences.temp-directory.default=Domy\u015blny (wybrany przez system)
+jsite.preferences.temp-directory.custom=Dostosuj
+jsite.preferences.temp-directory.choose=Wybierz
+jsite.preferences.temp-directory.choose.approve=Wybierz
+jsite.preferences.config-directory=Lokalizacja pliku konfiguracyjnego
+jsite.preferences.config-directory.jar=Dalej do pliku JAR
+jsite.preferences.config-directory.home=Katalog domowy
+jsite.preferences.config-directory.custom=W\u0142asny katalog
+jsite.preferences.insert-options=Opcje wgrywania
+jsite.preferences.insert-options.use-early-encode=Wcze\u015bnie generuj URI
+jsite.preferences.insert-options.priority=Priorytet
+jsite.preferences.insert-options.manifest-putter=Manifest Putter
+
+jsite.insert.heading=Projekt wgrany
+jsite.insert.description=Prosz\u0119 zaczekaj do czasu wgrania ca\u0142ego projektu.
+jsite.insert.project-information=Informacje o projekcie
+jsite.insert.request-uri=FreeStrona
+jsite.insert.start-time=Czas rozpocz\u0119cia
+jsite.insert.starting=Rozpoczynam\u2026
+jsite.insert.done=Sko\u0144czone
+jsite.insert.done.title=Wgrywanie zako\u0144czone
+jsite.insert.insert-aborted=Wgrywanie przerwane
+jsite.insert.insert-aborted.title=Wgrywanie przerwane.
+jsite.insert.progress=W trakcie
+jsite.insert.k-per-s=KB/s
+jsite.insert.insert-failed=<html><b>Wgranie nie powiod\u0142o si\u0119</b><br><br>Pliki nie zosta\u0142y wgrane<br>Niekt\u00f3re pliki nie wgra\u0142y si\u0119.</html>
+jsite.insert.insert-failed-with-cause=<html><b>Wgranie nie powiod\u0142o si\u0119</b><br><br>Wgranie plik\u00f3w nie uda\u0142o si\u0119.<br>Niekt\u00f3re pliki nie zosta\u0142y wgrane.<br>Zg\u0142oszono nast\u0119puj\u0105ce b\u0142\u0119dy:<br><br><code>{0}</code></html>
+jsite.insert.insert-failed.title=Wgrywanie zako\u0144czone niepowodzeniem
+jsite.insert.inserted=<html><b>Projekt wgrany</b><br><br>Tw\u00f3j projekt zosta\u0142 wgrany poprawnie.</html>
+jsite.insert.okay-copy-uri=Skopiuj URI do schowka
+jsite.insert.reinserted-edition=<html><b>Edycja wgrana ponownie</b><br><br>Edycja, kt\u00f3r\u0105 wgrywasz<br>zosta\u0142a ju\u017c wgrana wcze\u015bniej.</html>
+jsite.insert.reinserted-edition.title=Edycja wgrana ponownie
+
+jsite.file-scanner.can-not-read-directory=Nie jestem w stanie przeczyta\u0107 katalogu
+
+jsite.project.heading=Wybierz projekt
+jsite.project.description=Wybierz projekt z listy ni\u017cej do wgrania lub stw\u00f3rz nowy projekt.
+jsite.project.action.browse=Przegl\u0105daj
+jsite.project.action.browse.choose=Wybierz
+jsite.project.action.browse.tooltip=Wybierz katalog
+jsite.project.action.add-project=Dodaj projekt
+jsite.project.action.add-project.tooltip=Dodaj nowy projekt
+jsite.project.new-project.name=Nowy projekt
+jsite.project.action.delete-project=Skasuj projekt
+jsite.project.action.delete-project.tooltip=Skasuj projekt
+jsite.project.action.delete-project.confirm=<html><b>Potwierd\u017a usuni\u0119cie</b><br><br>Projekt \u201c{0}\u201d zostanie skasowany!<br>Czy chcesz kontynuowa\u0107 kasowanie?</html>
+jsite.project.action.clone-project=Klonuj projekt
+jsite.project.action.clone-project.copy=Kopiuj\u0119 {0}
+jsite.project.action.clone-project.tooltip=Klonuj zaznaczony projekt
+jsite.project.action.copy-uri=Przekopiuj URI do schowka
+jsite.project.action.copy-uri.tooltip=Przekopiuj URI projektu do schowka
+jsite.project.action.manage-keys=Zarz\u0105dzaj kluczami
+jsite.project.action.manage-keys.tooltip=Zarz\u0105dzaj kluczami tego projektu
+jsite.project.action.reset-edition=Wyma\u017c wydanie
+jsite.project.action.reset-edition.tooltip=Wyma\u017c numer wydania projektu
+jsite.project.project.information=Informacja o Projekcie
+jsite.project.project.name=Nazwa
+jsite.project.project.description=Opis
+jsite.project.project.local-path=Lokalna \u015bcie\u017cka
+jsite.project.project.address=Adres
+jsite.project.project.path=\u015acie\u017cka do FreeStrony
+jsite.project.project.edition=Popraw
+jsite.project.project.uri=URI
+jsite.project.keygen.io-error=<html><b>B\u0142\u0105d komunikacji z w\u0119z\u0142em</b><br><br>Komunikacja z w\u0119z\u0142em si\u0119 nie powiod\u0142a.<br>Otrzyma\u0142em takie komunikaty b\u0142\u0119d\u00f3w:<br><br><code>{0}</code><br><br>Upewnij si\u0119 czy poprawnie <br>wprowadzono nazw\u0119 hosta i numer portu<br>w "Ustawieniach w\u0119z\u0142a".</html>
+jsite.project.warning.generate-new-key=<html><b>Wygenerowa\u0107 nowy klucz?</b><br><br>Je\u015bli wygenerujesz zupe\u0142nie nowy klucz, Twoja strona zostanie opublikowana<br>pod nowym kluczem (adresem). Wszyscy, kt\u00f3rzy ufali poprzedniemu adresowy i kluczowi<br>mog\u0105 nie wiedzie\u0107 o nowym kluczu</html>
+jsite.project.warning.reset-edition=<html><b>Zresetowa\u0107 edycj\u0119?</b><br><br>Zresetowanie edycji mo\u017ce prowadzi\u0107 do b\u0142\u0119d\u00f3w wgrywania<br>i zamieszania, je\u015bli nie zmieni\u0142e\u015b<br>\u015bcie\u017cki do kluczy projektu!</html>
+jsite.project.warning.use-clipboard-now=<html><b>URI skopiowane</b><br><br>Zauwa\u017c, \u017ce zamkni\u0119cie jSite<br>spowoduje wyczyszczenie schowka. U\u017cyj<br>skopiowanego URI natychmiast w innym oknie!</html>
+
+jsite.project-files.heading=Pliki projektu
+jsite.project-files.description=<html>Na tej stronie mo\u017cesz ustawi\u0107 parametry plik\u00f3w projektu, takich jak<br>zewn\u0119trzne klucze lub typy MIME, je\u015bli automatyczne rozpoznanie ich zawiedzie.</html>
+jsite.project-files.action.rescan=Od\u015bwie\u017c
+jsite.project-files.action.rescan.tooltip=Od\u015bwie\u017c katalogi w poszukiwaniu nowych plik\u00f3w
+jsite.project-files.always-force-insert=Zawsze wymuszaj wgrywanie
+jsite.project-files.always-force-insert.tooltip=Gdy zaznaczone wszystkie pliki projektu zastan\u0105 grane, nawet je\u015bli nie zosta\u0142y zmodyfikowane
+jsite.project-files.ignore-hidden-files=Ignoruj pliki ukryte
+jsite.project-files.ignore-hidden-files.tooltip=Gdy zaznaczone ukryte pliki nie zostan\u0105 wgrane
+jsite.project-files.file-options=Opcje Plik\u00f3w
+jsite.project-files.default=Domy\u015blny plik
+jsite.project-files.default.tooltip=Ustaw ten plik projektu indeks plik\u00f3w
+jsite.project-files.insert=Wgraj
+jsite.project-files.insert.tooltip=Odznacz je\u015bli ten plik jest wgrany zewn\u0119trznie.
+jsite.project-files.force-insert=Wymu\u015b wgranie
+jsite.project-files.force-insert.tooltip=Wymusza wgranie pliku, nawet je\u015bli nie zosta\u0142 zmodyfikowany
+jsite.project-files.insert-redirect=Przekieruj
+jsite.project-files.insert-redirect.tooltip=Zaznacz, je\u015bli chcesz wgra\u0107 przekierowanie do tego pliku
+jsite.project-files.custom-key=Zaawansowane klucze
+jsite.project-files.custom-key.tooltip=Zewn\u0119trznie utworzony klucz dla pliku
+jsite.project-files.rename=Zmie\u0144 nazw\u0119
+jsite.project-files.rename.tooltip=Zmienia nazw\u0119 pliku
+jsite.project-files.mime-type=Typ MIME
+jsite.project-files.mime-type.tooltip=Ustaw poprawny typ MIME je\u015bli detekcja zawiod\u0142a
+jsite.project-files.container=Kontener
+jsite.project-files.container.tooltip=Wybierz kontener dla obecnego pliku
+jsite.project-files.scan-error=<html><b>B\u0142\u0105d przy skanowaniu plik\u00f3w</b><br><br>Podany katalog nie istnieje<br>lub niekt\u00f3re pliki/katalogi nie sa dost\u0119pne do czytania.<br>prosz\u0119 wr\u00f3\u0107 i ustaw poprawny katalog.</html>
+jsite.project-files.insert-now=Wgraj teraz
+jsite.project-files.invalid-default-file=Tylko pliki z katalogu nadrz\u0119dnego (root directory) mog\u0105 zosta\u0107 zaznaczone jako domy\u015blne.
+jsite.project-files.scanning=Skanuj\u0119\u2026
+
+jsite.update-checker.found-version.title=Znalaz\u0142em now\u0105 wersj\u0119
+jsite.update-checker.found-version.message=<html>Znaleziono now\u0105 wersj\u0119.<br><br>Wersja {0} (podwersja {1,date})</html>
+jsite.update-checker.latest-version.title=Sprawd\u017a uaktualnienia
+jsite.update-checker.latest-version.newer.message=<html>U\u017cywasz wersji {0}, ale jest ju\u017c<br>nowa wersja ({1})!</html>
+jsite.update-checker.latest-version.older.message=<html>Aktualnie u\u017cywasz wersji {0},<br>a najnowsza wersja to {1}.</html>
+jsite.update-checker.latest-version.okay.message=<html>U\u017cywana wersja to {0},<br>kt\u00f3ra jest najbardziej aktualn\u0105 wersj\u0105.</html>
+
+jsite.key-dialog.title=Zarz\u0105dzaj kluczami projektu
+jsite.key-dialog.button.ok.tooltip=Akceptuj zmiany
+jsite.key-dialog.button.cancel.tooltip=Skasuj zmiany
+jsite.key-dialog.button.copy-from-project=Skopiuj z Projektu
+jsite.key-dialog.button.copy-from-project.tooltip=Kopiuje klucz prywatny i publiczny z zaznaczonego projektu
+jsite.key-dialog.button.copy-from-identity=Skopiuj z to\u017csamo\u015bci (identity)
+jsite.key-dialog.button.copy-from-identity.tooltip=Kopiuje klucz prywatny i publiczny z zaznaczonej to\u017csamo\u015bci
+jsite.key-dialog.button.generate=Wygeneruj klucze ponownie
+jsite.key-dialog.button.generate.tooltip=Tworzy now\u0105 par\u0119 kluczy
+jsite.key-dialog.label.keys=<html><b>Klucze</b></html>
+jsite.key-dialog.label.private-key=Klucz prywatny
+jsite.key-dialog.label.public-key=Klucz publiczny
+jsite.key-dialog.label.copy-keys=<html><b>Kopiuj klucze</b></html>
+jsite.key-dialog.label.project=Projekt
+jsite.key-dialog.label.identity=To\u017csamo\u015b\u0107
+jsite.key-dialog.label.actions=<html><b>Dzia\u0142ania</b></html>
+
+jsite.warning.empty-index=<html><b>Brak pliku domy\u015blnego</b><br><br>Nie wskaza\u0142e\u015b pliku domy\u015blnego dla tego projektu.<br>Wgrywanie projektu bez pliku domy\u015blnego jest mo\u017cliwe, <br>ale powiniene\u015b wybra\u0107 plik domy\u015blny, co u\u0142atwi przegl\u0105danie.</html>
+jsite.warning.index-not-html=<html><b>Domy\u015blny plik nie jest typu HTML</b><br><br>Tw\u00f3j domy\u015blny plik nie posiada typu MIME "text/html"!<br>Wynik otwarcia pliku za pomoc\u0105 przegl\u0105darki mo\u017ce by\u0107 nieprzewidywalny.</html>
+jsite.warning.site-larger-than-2-mib=<html><b>Twoja strona jest wi\u0119ksza ni\u017c 2MiB!</b><br><br>Twoja strona posiada wi\u0119cej, ni\u017c 2 mebibajty zasob\u00f3w.<br>Prawdopodobnie nie b\u0119dzie wy\u015bwietlana poprawnie przez b\u0142\u0119dy Freenetu.<br>Spr\u00f3buj zmniejszy\u0107 rozmiar, albo wgraj stron\u0119 na w\u0142asne ryzyko.</html>
+
+jsite.error.no-node-selected=<html><b>Nie zaznaczono w\u0119z\u0142a</b><br><br>Zaznacz, prosz\u0119, w\u0119ze\u0142 z menu!</html>
+jsite.error.no-node-running=<html><b>W\u0119ze\u0142 nie jest uruchomiony</b><br><br>Nie mo\u017cesz wgra\u0107 projektu, je\u015bli tw\u00f3j w\u0119ze\u0142 nie jest uruchomiony.<br>Uruchom w\u0119ze\u0142 i spr\u00f3buj ponownie.</html>
+jsite.error.no-local-path=<html><b>\u015acie\u017cka nie jest lokalna</b><br><br>\u015acie\u017cka, kt\u00f3r\u0105 wybra\u0142e\u015b do plik\u00f3w do wgrania nie jest lokalna.<br>Kontynuacja bez niej nie jest mo\u017cliwa.</html>
+jsite.error.no-path=<html><b>\u015acie\u017cka nie prowadzi do FreeStrony</b><br><br>\u015acie\u017cka, kt\u00f3r\u0105 wybra\u0142e\u015b nie prowadzi do FreeStrony.<br>Kontynuacja bez niej nie jest mo\u017cliwa.</html>
+jsite.error.index-missing=<html>Brakuje pliku domy\u015blnego</b><br><br>Plik domy\u015blny, kt\u00f3ry wybra\u0142e\u015b<br>ju\u017c nie istnieje!<br>Wybierz nowy plk domy\u015blny z listy.</html>
+jsite.error.index-not-inserted=<html><b>Plik domy\u015blny nie zosta\u0142 wgrany</b><br><br>Wybra\u0142e\u015b, aby nie wgrywa\u0107 pliku domy\u015blnego!<br>Musisz wybra\u0107, aby by\u0142 wgrywany,<br>albo wybra\u0107 inny plik domy\u015blny!</html>
+jsite.error.no-custom-key=<html><b>Brak w\u0142asnego klucza dla pliku</b><br><br>Wybra\u0142e\u015b, aby nie wgrywa\u0107 <code>{0}</code>,<br>ale nie uda\u0142o si\u0119 wprowadzi\u0107 klucza, by do niego przekierowa\u0107!</html>
+jsite.error.no-files-to-insert=<html><b>Brak plik\u00f3w do wgrania</b><br><br>Nie zaznaczy\u0142e\u015b \u017cadnych plik\u00f3w do wgrania!<br>Zaznacz, prosz\u0119, przynajmniej jeden plik.</html>
+jsite.error.duplicate-file=<html><b>Duplikat pliku</b><br><br>Plik <code>{0}</code> jest wgrany dwa razy!<br>Sprawd\u017a, prosz\u0119, nazwy plik\u00f3w i przekierowania.</html>