aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/common.php2
-rw-r--r--phpBB/composer.json2
-rw-r--r--phpBB/config/default/container/services.yml3
-rw-r--r--phpBB/config/default/container/services_avatar.yml1
-rw-r--r--phpBB/config/default/container/services_console.yml1
-rw-r--r--phpBB/config/default/container/services_twig.yml2
-rw-r--r--phpBB/develop/create_schema_files.php2
-rw-r--r--phpBB/develop/mysql_upgrader.php2
-rw-r--r--phpBB/includes/acp/acp_attachments.php18
-rw-r--r--phpBB/includes/acp/acp_main.php4
-rw-r--r--phpBB/includes/bbcode.php6
-rw-r--r--phpBB/includes/compatibility_globals.php2
-rw-r--r--phpBB/includes/functions.php448
-rw-r--r--phpBB/includes/functions_acp.php4
-rw-r--r--phpBB/includes/functions_compatibility.php87
-rw-r--r--phpBB/includes/functions_compress.php69
-rw-r--r--phpBB/includes/functions_convert.php16
-rw-r--r--phpBB/includes/functions_install.php4
-rw-r--r--phpBB/includes/functions_messenger.php32
-rw-r--r--phpBB/includes/functions_posting.php15
-rw-r--r--phpBB/includes/functions_upload.php32
-rw-r--r--phpBB/install/database_update.php5
-rw-r--r--phpBB/install/index.php2
-rw-r--r--phpBB/install/install_convert.php6
-rw-r--r--phpBB/install/install_install.php43
-rw-r--r--phpBB/install/install_update.php6
-rw-r--r--phpBB/phpbb/avatar/driver/upload.php15
-rw-r--r--phpBB/phpbb/cache/driver/base.php8
-rw-r--r--phpBB/phpbb/cache/driver/file.php25
-rw-r--r--phpBB/phpbb/console/command/db/migrate.php8
-rw-r--r--phpBB/phpbb/controller/helper.php6
-rw-r--r--phpBB/phpbb/db/log_wrapper_migrator_output_handler.php11
-rw-r--r--phpBB/phpbb/di/container_builder.php3
-rw-r--r--phpBB/phpbb/di/extension/core.php3
-rw-r--r--phpBB/phpbb/extension/di/extension_base.php3
-rw-r--r--phpBB/phpbb/extension/manager.php4
-rw-r--r--phpBB/phpbb/filesystem.php35
-rw-r--r--phpBB/phpbb/filesystem/exception/filesystem_exception.php42
-rw-r--r--phpBB/phpbb/filesystem/filesystem.php916
-rw-r--r--phpBB/phpbb/filesystem/filesystem_interface.php284
-rw-r--r--phpBB/phpbb/finder.php4
-rw-r--r--phpBB/phpbb/path_helper.php6
-rw-r--r--phpBB/phpbb/routing/router.php11
-rw-r--r--phpBB/phpbb/session.php4
-rw-r--r--phpBB/phpbb/template/twig/loader.php22
-rw-r--r--phpBB/phpbb/viewonline_helper.php6
46 files changed, 1651 insertions, 579 deletions
diff --git a/phpBB/common.php b/phpBB/common.php
index e819c75efc..633a37f25b 100644
--- a/phpBB/common.php
+++ b/phpBB/common.php
@@ -59,7 +59,7 @@ if (!defined('PHPBB_INSTALLED'))
// Eliminate . and .. from the path
require($phpbb_root_path . 'phpbb/filesystem.' . $phpEx);
- $phpbb_filesystem = new phpbb\filesystem();
+ $phpbb_filesystem = new phpbb\filesystem\filesystem();
$script_path = $phpbb_filesystem->clean_path($script_path);
$url = (($secure) ? 'https://' : 'http://') . $server_name;
diff --git a/phpBB/composer.json b/phpBB/composer.json
index 2c734847cf..a11bcad391 100644
--- a/phpBB/composer.json
+++ b/phpBB/composer.json
@@ -33,6 +33,7 @@
"symfony/console": "2.7.*@dev",
"symfony/dependency-injection": "2.7.*@dev",
"symfony/event-dispatcher": "2.7.*@dev",
+ "symfony/filesystem": "2.7.*@dev",
"symfony/http-kernel": "2.7.*@dev",
"symfony/routing": "2.7.*@dev",
"symfony/security-core": "2.7.*@dev",
@@ -52,7 +53,6 @@
"symfony/css-selector": "2.7.*@dev",
"symfony/debug": "2.7.*@dev",
"symfony/dom-crawler": "2.7.*@dev",
- "symfony/filesystem": "2.7.*@dev",
"symfony/finder": "2.7.*@dev",
"symfony/http-foundation": "2.7.*@dev",
"symfony/process": "2.7.*@dev"
diff --git a/phpBB/config/default/container/services.yml b/phpBB/config/default/container/services.yml
index 4f1aba953f..93e8ddb122 100644
--- a/phpBB/config/default/container/services.yml
+++ b/phpBB/config/default/container/services.yml
@@ -104,7 +104,7 @@ services:
- @cache.driver
filesystem:
- class: phpbb\filesystem
+ class: phpbb\filesystem\filesystem
file_downloader:
class: phpbb\file_downloader
@@ -160,6 +160,7 @@ services:
router:
class: phpbb\routing\router
arguments:
+ - @filesystem
- @ext.manager
- %core.root_path%
- %core.php_ext%
diff --git a/phpBB/config/default/container/services_avatar.yml b/phpBB/config/default/container/services_avatar.yml
index 5292489715..e80d57cb59 100644
--- a/phpBB/config/default/container/services_avatar.yml
+++ b/phpBB/config/default/container/services_avatar.yml
@@ -58,6 +58,7 @@ services:
- @config
- %core.root_path%
- %core.php_ext%
+ - @filesystem
- @path_helper
- @mimetype.guesser
- @cache.driver
diff --git a/phpBB/config/default/container/services_console.yml b/phpBB/config/default/container/services_console.yml
index 1e18a7dd37..f0ae6c8ab4 100644
--- a/phpBB/config/default/container/services_console.yml
+++ b/phpBB/config/default/container/services_console.yml
@@ -84,6 +84,7 @@ services:
- @config
- @cache
- @log
+ - @filesystem
- %core.root_path%
tags:
- { name: console.command }
diff --git a/phpBB/config/default/container/services_twig.yml b/phpBB/config/default/container/services_twig.yml
index 25382a95a1..5d7bf0eff3 100644
--- a/phpBB/config/default/container/services_twig.yml
+++ b/phpBB/config/default/container/services_twig.yml
@@ -19,6 +19,8 @@ services:
template.twig.loader:
class: phpbb\template\twig\loader
+ arguments:
+ - @filesystem
template.twig.extensions.collection:
class: phpbb\di\service_collection
diff --git a/phpBB/develop/create_schema_files.php b/phpBB/develop/create_schema_files.php
index 8dce97144d..f6bfd6a52f 100644
--- a/phpBB/develop/create_schema_files.php
+++ b/phpBB/develop/create_schema_files.php
@@ -43,7 +43,7 @@ require($phpbb_root_path . 'phpbb/class_loader.' . $phpEx);
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
$phpbb_class_loader->register();
-$finder = new \phpbb\finder(new \phpbb\filesystem(), $phpbb_root_path);
+$finder = new \phpbb\finder(new \phpbb\filesystem\filesystem(), $phpbb_root_path);
$classes = $finder->core_path('phpbb/')
->directory('/db/migration/data')
->get_classes();
diff --git a/phpBB/develop/mysql_upgrader.php b/phpBB/develop/mysql_upgrader.php
index 543b520caa..276c010e84 100644
--- a/phpBB/develop/mysql_upgrader.php
+++ b/phpBB/develop/mysql_upgrader.php
@@ -62,7 +62,7 @@ echo "USE $dbname;$newline$newline";
@set_time_limit(0);
-$finder = new \phpbb\finder(new \phpbb\filesystem(), $phpbb_root_path);
+$finder = new \phpbb\finder(new \phpbb\filesystem\filesystem(), $phpbb_root_path);
$classes = $finder->core_path('phpbb/')
->directory('/db/migration/data')
->get_classes();
diff --git a/phpBB/includes/acp/acp_attachments.php b/phpBB/includes/acp/acp_attachments.php
index 78488b4048..7413152e7a 100644
--- a/phpBB/includes/acp/acp_attachments.php
+++ b/phpBB/includes/acp/acp_attachments.php
@@ -36,13 +36,16 @@ class acp_attachments
/** @var \phpbb\user */
protected $user;
+ /** @var \phpbb\filesystem\filesystem_interface */
+ protected $filesystem;
+
public $id;
public $u_action;
protected $new_config;
function main($id, $mode)
{
- global $db, $user, $auth, $template, $cache, $phpbb_container;
+ global $db, $user, $auth, $template, $cache, $phpbb_container, $phpbb_filesystem;
global $config, $phpbb_admin_path, $phpbb_root_path, $phpEx, $phpbb_log, $request;
$this->id = $id;
@@ -51,6 +54,7 @@ class acp_attachments
$this->template = $template;
$this->user = $user;
$this->phpbb_container = $phpbb_container;
+ $this->filesystem = $phpbb_filesystem;
$user->add_lang(array('posting', 'viewtopic', 'acp/attachments'));
@@ -1501,7 +1505,15 @@ class acp_attachments
if (!file_exists($phpbb_root_path . $upload_dir))
{
@mkdir($phpbb_root_path . $upload_dir, 0777);
- phpbb_chmod($phpbb_root_path . $upload_dir, CHMOD_READ | CHMOD_WRITE);
+
+ try
+ {
+ $this->filesystem->phpbb_chmod($phpbb_root_path . $upload_dir, CHMOD_READ | CHMOD_WRITE);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
+ }
}
}
@@ -1517,7 +1529,7 @@ class acp_attachments
return;
}
- if (!phpbb_is_writable($phpbb_root_path . $upload_dir))
+ if (!$this->filesystem->is_writable($phpbb_root_path . $upload_dir))
{
$error[] = sprintf($user->lang['NO_WRITE_UPLOAD'], $upload_dir);
return;
diff --git a/phpBB/includes/acp/acp_main.php b/phpBB/includes/acp/acp_main.php
index 9a99666c75..8680b7786a 100644
--- a/phpBB/includes/acp/acp_main.php
+++ b/phpBB/includes/acp/acp_main.php
@@ -26,7 +26,7 @@ class acp_main
function main($id, $mode)
{
global $config, $db, $cache, $user, $auth, $template, $request, $phpbb_log;
- global $phpbb_root_path, $phpbb_admin_path, $phpEx, $phpbb_container, $phpbb_dispatcher;
+ global $phpbb_root_path, $phpbb_admin_path, $phpEx, $phpbb_container, $phpbb_dispatcher, $phpbb_filesystem;
// Show restore permissions notice
if ($user->data['user_perm_from'] && $auth->acl_get('a_switchperm'))
@@ -649,7 +649,7 @@ class acp_main
}
}
- if (!defined('PHPBB_DISABLE_CONFIG_CHECK') && file_exists($phpbb_root_path . 'config.' . $phpEx) && phpbb_is_writable($phpbb_root_path . 'config.' . $phpEx))
+ if (!defined('PHPBB_DISABLE_CONFIG_CHECK') && file_exists($phpbb_root_path . 'config.' . $phpEx) && $phpbb_filesystem->is_writable($phpbb_root_path . 'config.' . $phpEx))
{
// World-Writable? (000x)
$template->assign_var('S_WRITABLE_CONFIG', (bool) (@fileperms($phpbb_root_path . 'config.' . $phpEx) & 0x0002));
diff --git a/phpBB/includes/bbcode.php b/phpBB/includes/bbcode.php
index ee911b5ec5..53675637a0 100644
--- a/phpBB/includes/bbcode.php
+++ b/phpBB/includes/bbcode.php
@@ -129,7 +129,7 @@ class bbcode
*/
function bbcode_cache_init()
{
- global $phpbb_root_path, $phpEx, $config, $user, $phpbb_dispatcher, $phpbb_extension_manager, $phpbb_path_helper, $phpbb_container;
+ global $phpbb_root_path, $phpEx, $config, $user, $phpbb_dispatcher, $phpbb_extension_manager, $phpbb_path_helper, $phpbb_container, $phpbb_filesystem;
if (empty($this->template_filename))
{
@@ -146,7 +146,9 @@ class bbcode
$phpbb_container,
$phpbb_container->getParameter('core.root_path') . 'cache/',
$phpbb_container->get('ext.manager'),
- new \phpbb\template\twig\loader()
+ new \phpbb\template\twig\loader(
+ $phpbb_filesystem
+ )
),
$phpbb_container->getParameter('core.root_path') . 'cache/',
$phpbb_container->get('template.twig.extensions.collection'),
diff --git a/phpBB/includes/compatibility_globals.php b/phpBB/includes/compatibility_globals.php
index b0919aefb3..5c18793655 100644
--- a/phpBB/includes/compatibility_globals.php
+++ b/phpBB/includes/compatibility_globals.php
@@ -48,7 +48,7 @@ $phpbb_log = $phpbb_container->get('log');
/* @var $symfony_request \phpbb\symfony_request */
$symfony_request = $phpbb_container->get('symfony_request');
-/* @var $phpbb_filesystem \phpbb\filesystem */
+/* @var $phpbb_filesystem \phpbb\filesystem\filesystem_interface */
$phpbb_filesystem = $phpbb_container->get('filesystem');
/* @var $phpbb_path_helper \phpbb\path_helper */
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 949d33c566..957b475616 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -311,448 +311,6 @@ function phpbb_version_compare($version1, $version2, $operator = null)
}
}
-/**
-* Global function for chmodding directories and files for internal use
-*
-* This function determines owner and group whom the file belongs to and user and group of PHP and then set safest possible file permissions.
-* The function determines owner and group from common.php file and sets the same to the provided file.
-* The function uses bit fields to build the permissions.
-* The function sets the appropiate execute bit on directories.
-*
-* Supported constants representing bit fields are:
-*
-* CHMOD_ALL - all permissions (7)
-* CHMOD_READ - read permission (4)
-* CHMOD_WRITE - write permission (2)
-* CHMOD_EXECUTE - execute permission (1)
-*
-* NOTE: The function uses POSIX extension and fileowner()/filegroup() functions. If any of them is disabled, this function tries to build proper permissions, by calling is_readable() and is_writable() functions.
-*
-* @param string $filename The file/directory to be chmodded
-* @param int $perms Permissions to set
-*
-* @return bool true on success, otherwise false
-*/
-function phpbb_chmod($filename, $perms = CHMOD_READ)
-{
- static $_chmod_info;
-
- // Return if the file no longer exists.
- if (!file_exists($filename))
- {
- return false;
- }
-
- // Determine some common vars
- if (empty($_chmod_info))
- {
- if (!function_exists('fileowner') || !function_exists('filegroup'))
- {
- // No need to further determine owner/group - it is unknown
- $_chmod_info['process'] = false;
- }
- else
- {
- global $phpbb_root_path, $phpEx;
-
- // Determine owner/group of common.php file and the filename we want to change here
- $common_php_owner = @fileowner($phpbb_root_path . 'common.' . $phpEx);
- $common_php_group = @filegroup($phpbb_root_path . 'common.' . $phpEx);
-
- // And the owner and the groups PHP is running under.
- $php_uid = (function_exists('posix_getuid')) ? @posix_getuid() : false;
- $php_gids = (function_exists('posix_getgroups')) ? @posix_getgroups() : false;
-
- // If we are unable to get owner/group, then do not try to set them by guessing
- if (!$php_uid || empty($php_gids) || !$common_php_owner || !$common_php_group)
- {
- $_chmod_info['process'] = false;
- }
- else
- {
- $_chmod_info = array(
- 'process' => true,
- 'common_owner' => $common_php_owner,
- 'common_group' => $common_php_group,
- 'php_uid' => $php_uid,
- 'php_gids' => $php_gids,
- );
- }
- }
- }
-
- if ($_chmod_info['process'])
- {
- $file_uid = @fileowner($filename);
- $file_gid = @filegroup($filename);
-
- // Change owner
- if (@chown($filename, $_chmod_info['common_owner']))
- {
- clearstatcache();
- $file_uid = @fileowner($filename);
- }
-
- // Change group
- if (@chgrp($filename, $_chmod_info['common_group']))
- {
- clearstatcache();
- $file_gid = @filegroup($filename);
- }
-
- // If the file_uid/gid now match the one from common.php we can process further, else we are not able to change something
- if ($file_uid != $_chmod_info['common_owner'] || $file_gid != $_chmod_info['common_group'])
- {
- $_chmod_info['process'] = false;
- }
- }
-
- // Still able to process?
- if ($_chmod_info['process'])
- {
- if ($file_uid == $_chmod_info['php_uid'])
- {
- $php = 'owner';
- }
- else if (in_array($file_gid, $_chmod_info['php_gids']))
- {
- $php = 'group';
- }
- else
- {
- // Since we are setting the everyone bit anyway, no need to do expensive operations
- $_chmod_info['process'] = false;
- }
- }
-
- // We are not able to determine or change something
- if (!$_chmod_info['process'])
- {
- $php = 'other';
- }
-
- // Owner always has read/write permission
- $owner = CHMOD_READ | CHMOD_WRITE;
- if (is_dir($filename))
- {
- $owner |= CHMOD_EXECUTE;
-
- // Only add execute bit to the permission if the dir needs to be readable
- if ($perms & CHMOD_READ)
- {
- $perms |= CHMOD_EXECUTE;
- }
- }
-
- switch ($php)
- {
- case 'owner':
- $result = @chmod($filename, ($owner << 6) + (0 << 3) + (0 << 0));
-
- clearstatcache();
-
- if (is_readable($filename) && phpbb_is_writable($filename))
- {
- break;
- }
-
- case 'group':
- $result = @chmod($filename, ($owner << 6) + ($perms << 3) + (0 << 0));
-
- clearstatcache();
-
- if ((!($perms & CHMOD_READ) || is_readable($filename)) && (!($perms & CHMOD_WRITE) || phpbb_is_writable($filename)))
- {
- break;
- }
-
- case 'other':
- $result = @chmod($filename, ($owner << 6) + ($perms << 3) + ($perms << 0));
-
- clearstatcache();
-
- if ((!($perms & CHMOD_READ) || is_readable($filename)) && (!($perms & CHMOD_WRITE) || phpbb_is_writable($filename)))
- {
- break;
- }
-
- default:
- return false;
- break;
- }
-
- return $result;
-}
-
-/**
-* Test if a file/directory is writable
-*
-* This function calls the native is_writable() when not running under
-* Windows and it is not disabled.
-*
-* @param string $file Path to perform write test on
-* @return bool True when the path is writable, otherwise false.
-*/
-function phpbb_is_writable($file)
-{
- if (strtolower(substr(PHP_OS, 0, 3)) === 'win' || !function_exists('is_writable'))
- {
- if (file_exists($file))
- {
- // Canonicalise path to absolute path
- $file = phpbb_realpath($file);
-
- if (is_dir($file))
- {
- // Test directory by creating a file inside the directory
- $result = @tempnam($file, 'i_w');
-
- if (is_string($result) && file_exists($result))
- {
- unlink($result);
-
- // Ensure the file is actually in the directory (returned realpathed)
- return (strpos($result, $file) === 0) ? true : false;
- }
- }
- else
- {
- $handle = @fopen($file, 'r+');
-
- if (is_resource($handle))
- {
- fclose($handle);
- return true;
- }
- }
- }
- else
- {
- // file does not exist test if we can write to the directory
- $dir = dirname($file);
-
- if (file_exists($dir) && is_dir($dir) && phpbb_is_writable($dir))
- {
- return true;
- }
- }
-
- return false;
- }
- else
- {
- return is_writable($file);
- }
-}
-
-/**
-* Checks if a path ($path) is absolute or relative
-*
-* @param string $path Path to check absoluteness of
-* @return boolean
-*/
-function phpbb_is_absolute($path)
-{
- return (isset($path[0]) && $path[0] == '/' || preg_match('#^[a-z]:[/\\\]#i', $path)) ? true : false;
-}
-
-/**
-* @author Chris Smith <chris@project-minerva.org>
-* @copyright 2006 Project Minerva Team
-* @param string $path The path which we should attempt to resolve.
-* @return mixed
-*/
-function phpbb_own_realpath($path)
-{
- global $request;
-
- // Now to perform funky shizzle
-
- // Switch to use UNIX slashes
- $path = str_replace(DIRECTORY_SEPARATOR, '/', $path);
- $path_prefix = '';
-
- // Determine what sort of path we have
- if (phpbb_is_absolute($path))
- {
- $absolute = true;
-
- if ($path[0] == '/')
- {
- // Absolute path, *NIX style
- $path_prefix = '';
- }
- else
- {
- // Absolute path, Windows style
- // Remove the drive letter and colon
- $path_prefix = $path[0] . ':';
- $path = substr($path, 2);
- }
- }
- else
- {
- // Relative Path
- // Prepend the current working directory
- if (function_exists('getcwd'))
- {
- // This is the best method, hopefully it is enabled!
- $path = str_replace(DIRECTORY_SEPARATOR, '/', getcwd()) . '/' . $path;
- $absolute = true;
- if (preg_match('#^[a-z]:#i', $path))
- {
- $path_prefix = $path[0] . ':';
- $path = substr($path, 2);
- }
- else
- {
- $path_prefix = '';
- }
- }
- else if ($request->server('SCRIPT_FILENAME'))
- {
- // Warning: If chdir() has been used this will lie!
- // Warning: This has some problems sometime (CLI can create them easily)
- $filename = htmlspecialchars_decode($request->server('SCRIPT_FILENAME'));
- $path = str_replace(DIRECTORY_SEPARATOR, '/', dirname($filename)) . '/' . $path;
- $absolute = true;
- $path_prefix = '';
- }
- else
- {
- // We have no way of getting the absolute path, just run on using relative ones.
- $absolute = false;
- $path_prefix = '.';
- }
- }
-
- // Remove any repeated slashes
- $path = preg_replace('#/{2,}#', '/', $path);
-
- // Remove the slashes from the start and end of the path
- $path = trim($path, '/');
-
- // Break the string into little bits for us to nibble on
- $bits = explode('/', $path);
-
- // Remove any . in the path, renumber array for the loop below
- $bits = array_values(array_diff($bits, array('.')));
-
- // Lets get looping, run over and resolve any .. (up directory)
- for ($i = 0, $max = sizeof($bits); $i < $max; $i++)
- {
- // @todo Optimise
- if ($bits[$i] == '..' )
- {
- if (isset($bits[$i - 1]))
- {
- if ($bits[$i - 1] != '..')
- {
- // We found a .. and we are able to traverse upwards, lets do it!
- unset($bits[$i]);
- unset($bits[$i - 1]);
- $i -= 2;
- $max -= 2;
- $bits = array_values($bits);
- }
- }
- else if ($absolute) // ie. !isset($bits[$i - 1]) && $absolute
- {
- // We have an absolute path trying to descend above the root of the filesystem
- // ... Error!
- return false;
- }
- }
- }
-
- // Prepend the path prefix
- array_unshift($bits, $path_prefix);
-
- $resolved = '';
-
- $max = sizeof($bits) - 1;
-
- // Check if we are able to resolve symlinks, Windows (prior to Vista and Server 2008) cannot.
- $symlink_resolve = (function_exists('readlink')) ? true : false;
-
- foreach ($bits as $i => $bit)
- {
- if (@is_dir("$resolved/$bit") || ($i == $max && @is_file("$resolved/$bit")))
- {
- // Path Exists
- if ($symlink_resolve && is_link("$resolved/$bit") && ($link = readlink("$resolved/$bit")))
- {
- // Resolved a symlink.
- $resolved = $link . (($i == $max) ? '' : '/');
- continue;
- }
- }
- else
- {
- // Something doesn't exist here!
- // This is correct realpath() behaviour but sadly open_basedir and safe_mode make this problematic
- // return false;
- }
- $resolved .= $bit . (($i == $max) ? '' : '/');
- }
-
- // @todo If the file exists fine and open_basedir only has one path we should be able to prepend it
- // because we must be inside that basedir, the question is where...
- // @internal The slash in is_dir() gets around an open_basedir restriction
- if (!@file_exists($resolved) || (!@is_dir($resolved . '/') && !is_file($resolved)))
- {
- return false;
- }
-
- // Put the slashes back to the native operating systems slashes
- $resolved = str_replace('/', DIRECTORY_SEPARATOR, $resolved);
-
- // Check for DIRECTORY_SEPARATOR at the end (and remove it!)
- if (substr($resolved, -1) == DIRECTORY_SEPARATOR)
- {
- return substr($resolved, 0, -1);
- }
-
- return $resolved; // We got here, in the end!
-}
-
-if (!function_exists('realpath'))
-{
- /**
- * A wrapper for realpath
- * @ignore
- */
- function phpbb_realpath($path)
- {
- return phpbb_own_realpath($path);
- }
-}
-else
-{
- /**
- * A wrapper for realpath
- */
- function phpbb_realpath($path)
- {
- $realpath = realpath($path);
-
- // Strangely there are provider not disabling realpath but returning strange values. :o
- // We at least try to cope with them.
- if ($realpath === $path || $realpath === false)
- {
- return phpbb_own_realpath($path);
- }
-
- // Check for DIRECTORY_SEPARATOR at the end (and remove it!)
- if (substr($realpath, -1) == DIRECTORY_SEPARATOR)
- {
- $realpath = substr($realpath, 0, -1);
- }
-
- return $realpath;
- }
-}
-
// functions used for building option fields
/**
@@ -1029,7 +587,7 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
/**
* This event is used for performing actions directly before marking forums,
* topics or posts as read.
- *
+ *
* It is also possible to prevent the marking. For that, the $should_markread parameter
* should be set to FALSE.
*
@@ -3913,11 +3471,13 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
*/
function phpbb_filter_root_path($errfile)
{
+ global $phpbb_filesystem;
+
static $root_path;
if (empty($root_path))
{
- $root_path = phpbb_realpath(dirname(__FILE__) . '/../');
+ $root_path = $phpbb_filesystem->realpath(dirname(__FILE__) . '/../');
}
return str_replace(array($root_path, '\\'), array('[ROOT]', '/'), $errfile);
diff --git a/phpBB/includes/functions_acp.php b/phpBB/includes/functions_acp.php
index a53a54368e..6d59b513af 100644
--- a/phpBB/includes/functions_acp.php
+++ b/phpBB/includes/functions_acp.php
@@ -405,7 +405,7 @@ function build_cfg_template($tpl_type, $key, &$new, $config_key, $vars)
*/
function validate_config_vars($config_vars, &$cfg_array, &$error)
{
- global $phpbb_root_path, $user, $phpbb_dispatcher;
+ global $phpbb_root_path, $user, $phpbb_dispatcher, $phpbb_filesystem;
$type = 0;
$min = 1;
@@ -586,7 +586,7 @@ function validate_config_vars($config_vars, &$cfg_array, &$error)
// Check if the path is writable
if ($config_definition['validate'] == 'wpath' || $config_definition['validate'] == 'rwpath' || $config_definition['validate'] === 'absolute_path_writable')
{
- if (file_exists($path) && !phpbb_is_writable($path))
+ if (file_exists($path) && !$phpbb_filesystem->is_writable($path))
{
$error[] = sprintf($user->lang['DIRECTORY_NOT_WRITABLE'], $cfg_array[$config_name]);
}
diff --git a/phpBB/includes/functions_compatibility.php b/phpBB/includes/functions_compatibility.php
index 4707238951..2d064e37cb 100644
--- a/phpBB/includes/functions_compatibility.php
+++ b/phpBB/includes/functions_compatibility.php
@@ -117,7 +117,7 @@ function phpbb_clean_path($path)
new phpbb\symfony_request(
$request
),
- new phpbb\filesystem(),
+ new phpbb\filesystem\filesystem(),
$request,
$phpbb_root_path,
$phpEx
@@ -397,3 +397,88 @@ function get_tables(&$db)
return $db_tools->sql_list_tables();
}
+
+/**
+ * Global function for chmodding directories and files for internal use
+ *
+ * This function determines owner and group whom the file belongs to and user and group of PHP and then set safest possible file permissions.
+ * The function determines owner and group from common.php file and sets the same to the provided file.
+ * The function uses bit fields to build the permissions.
+ * The function sets the appropiate execute bit on directories.
+ *
+ * Supported constants representing bit fields are:
+ *
+ * CHMOD_ALL - all permissions (7)
+ * CHMOD_READ - read permission (4)
+ * CHMOD_WRITE - write permission (2)
+ * CHMOD_EXECUTE - execute permission (1)
+ *
+ * NOTE: The function uses POSIX extension and fileowner()/filegroup() functions. If any of them is disabled, this function tries to build proper permissions, by calling is_readable() and is_writable() functions.
+ *
+ * @param string $filename The file/directory to be chmodded
+ * @param int $perms Permissions to set
+ *
+ * @return bool true on success, otherwise false
+ *
+ * @deprecated 3.2.0-dev use \phpbb\filesystem\filesystem::phpbb_chmod() instead
+ */
+function phpbb_chmod($filename, $perms = CHMOD_READ)
+{
+ global $phpbb_filesystem;
+
+ try
+ {
+ $phpbb_filesystem->phpbb_chmod($filename, $perms);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ return false;
+ }
+
+ return true;
+}
+
+/**
+ * Test if a file/directory is writable
+ *
+ * This function calls the native is_writable() when not running under
+ * Windows and it is not disabled.
+ *
+ * @param string $file Path to perform write test on
+ * @return bool True when the path is writable, otherwise false.
+ *
+ * @deprecated 3.2.0-dev use \phpbb\filesystem\filesystem::is_writable() instead
+ */
+function phpbb_is_writable($file)
+{
+ global $phpbb_filesystem;
+
+ return $phpbb_filesystem->is_writable($file);
+}
+
+/**
+ * Checks if a path ($path) is absolute or relative
+ *
+ * @param string $path Path to check absoluteness of
+ * @return boolean
+ *
+ * @deprecated 3.2.0-dev use \phpbb\filesystem\filesystem::is_absolute_path() instead
+ */
+function phpbb_is_absolute($path)
+{
+ global $phpbb_filesystem;
+
+ return $phpbb_filesystem->is_absolute_path($path);
+}
+
+/**
+ * A wrapper for realpath
+ *
+ * @deprecated 3.2.0-dev use \phpbb\filesystem\filesystem::realpath() instead
+ */
+function phpbb_realpath($path)
+{
+ global $phpbb_filesystem;
+
+ return $phpbb_filesystem->realpath($path);
+}
diff --git a/phpBB/includes/functions_compress.php b/phpBB/includes/functions_compress.php
index a7ee29dd91..e768a0f47b 100644
--- a/phpBB/includes/functions_compress.php
+++ b/phpBB/includes/functions_compress.php
@@ -184,7 +184,7 @@ class compress
}
/**
-* Zip creation class from phpMyAdmin 2.3.0 (c) Tobias Ratschiller, Olivier Mller, Loc Chapeaux,
+* Zip creation class from phpMyAdmin 2.3.0 (c) Tobias Ratschiller, Olivier Müller, Loïc Chapeaux,
* Marc Delisle, http://www.phpmyadmin.net/
*
* Zip extraction function by Alexandre Tedeschi, alexandrebr at gmail dot com
@@ -204,11 +204,19 @@ class compress_zip extends compress
var $datasec_len = 0;
/**
+ * @var \phpbb\filesystem\filesystem_interface
+ */
+ protected $filesystem;
+
+ /**
* Constructor
*/
function compress_zip($mode, $file)
{
+ global $phpbb_filesystem;
+
$this->fp = @fopen($file, $mode . 'b');
+ $this->filesystem = ($phpbb_filesystem instanceof \phpbb\filesystem\filesystem_interface) ? $phpbb_filesystem : new \phpbb\filesystem\filesystem();
if (!$this->fp)
{
@@ -286,7 +294,15 @@ class compress_zip extends compress
{
trigger_error("Could not create directory $folder");
}
- phpbb_chmod($str, CHMOD_READ | CHMOD_WRITE);
+
+ try
+ {
+ $this->filesystem->phpbb_chmod($str, CHMOD_READ | CHMOD_WRITE);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
+ }
}
}
}
@@ -315,7 +331,15 @@ class compress_zip extends compress
{
trigger_error("Could not create directory $folder");
}
- phpbb_chmod($str, CHMOD_READ | CHMOD_WRITE);
+
+ try
+ {
+ $this->filesystem->phpbb_chmod($str, CHMOD_READ | CHMOD_WRITE);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
+ }
}
}
}
@@ -539,10 +563,17 @@ class compress_tar extends compress
var $wrote = false;
/**
+ * @var \phpbb\filesystem\filesystem_interface
+ */
+ protected $filesystem;
+
+ /**
* Constructor
*/
function compress_tar($mode, $file, $type = '')
{
+ global $phpbb_filesystem;
+
$type = (!$type) ? $file : $type;
$this->isgz = preg_match('#(\.tar\.gz|\.tgz)$#', $type);
$this->isbz = preg_match('#\.tar\.bz2$#', $type);
@@ -551,6 +582,8 @@ class compress_tar extends compress
$this->file = &$file;
$this->type = &$type;
$this->open();
+
+ $this->filesystem = ($phpbb_filesystem instanceof \phpbb\filesystem\filesystem_interface) ? $phpbb_filesystem : new \phpbb\filesystem\filesystem();
}
/**
@@ -601,7 +634,15 @@ class compress_tar extends compress
{
trigger_error("Could not create directory $folder");
}
- phpbb_chmod($str, CHMOD_READ | CHMOD_WRITE);
+
+ try
+ {
+ $this->filesystem->phpbb_chmod($str, CHMOD_READ | CHMOD_WRITE);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
+ }
}
}
}
@@ -628,7 +669,15 @@ class compress_tar extends compress
{
trigger_error("Could not create directory $folder");
}
- phpbb_chmod($str, CHMOD_READ | CHMOD_WRITE);
+
+ try
+ {
+ $this->filesystem->phpbb_chmod($str, CHMOD_READ | CHMOD_WRITE);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
+ }
}
}
@@ -637,7 +686,15 @@ class compress_tar extends compress
{
trigger_error("Couldn't create file $filename");
}
- phpbb_chmod($target_filename, CHMOD_READ);
+
+ try
+ {
+ $this->filesystem->phpbb_chmod($target_filename, CHMOD_READ);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
+ }
// Grab the file contents
fwrite($fp, ($filesize) ? $fzread($this->fp, ($filesize + 511) &~ 511) : '', $filesize);
diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php
index ea7816077d..ad693f4019 100644
--- a/phpBB/includes/functions_convert.php
+++ b/phpBB/includes/functions_convert.php
@@ -2316,7 +2316,10 @@ function convert_bbcode($message, $convert_size = true, $extended_bbcodes = fals
function copy_file($src, $trg, $overwrite = false, $die_on_failure = true, $source_relative_path = true)
{
- global $convert, $phpbb_root_path, $config, $user, $db;
+ global $convert, $phpbb_root_path, $config, $user, $db, $phpbb_filesystem;
+
+ /** @var \phpbb\filesystem\filesystem_interface $filesystem */
+ $filesystem = $phpbb_filesystem;
if (substr($trg, -1) == '/')
{
@@ -2349,7 +2352,7 @@ function copy_file($src, $trg, $overwrite = false, $die_on_failure = true, $sour
}
}
- if (!phpbb_is_writable($path))
+ if (!$filesystem->is_writable($path))
{
@chmod($path, 0777);
}
@@ -2370,7 +2373,10 @@ function copy_file($src, $trg, $overwrite = false, $die_on_failure = true, $sour
function copy_dir($src, $trg, $copy_subdirs = true, $overwrite = false, $die_on_failure = true, $source_relative_path = true)
{
- global $convert, $phpbb_root_path, $config, $user, $db;
+ global $convert, $phpbb_root_path, $config, $user, $db, $phpbb_filesystem;
+
+ /** @var \phpbb\filesystem\filesystem_interface $filesystem */
+ $filesystem = $phpbb_filesystem;
$dirlist = $filelist = $bad_dirs = array();
$src = path($src, $source_relative_path);
@@ -2384,7 +2390,7 @@ function copy_dir($src, $trg, $copy_subdirs = true, $overwrite = false, $die_on_
@chmod($trg_path, 0777);
}
- if (!phpbb_is_writable($trg_path))
+ if (!$filesystem->is_writable($trg_path))
{
$bad_dirs[] = path($config['script_path']) . $trg;
}
@@ -2451,7 +2457,7 @@ function copy_dir($src, $trg, $copy_subdirs = true, $overwrite = false, $die_on_
@chmod($trg_path . $dir, 0777);
}
- if (!phpbb_is_writable($trg_path . $dir))
+ if (!$filesystem->is_writable($trg_path . $dir))
{
$bad_dirs[] = $trg . $dir;
$bad_dirs[] = $trg_path . $dir;
diff --git a/phpBB/includes/functions_install.php b/phpBB/includes/functions_install.php
index 8dacd25230..d9d073e984 100644
--- a/phpBB/includes/functions_install.php
+++ b/phpBB/includes/functions_install.php
@@ -189,7 +189,7 @@ function dbms_select($default = '', $only_20x_options = false)
*/
function connect_check_db($error_connect, &$error, $dbms_details, $table_prefix, $dbhost, $dbuser, $dbpasswd, $dbname, $dbport, $prefix_may_exist = false, $load_dbal = true, $unicode_check = true)
{
- global $phpbb_root_path, $phpEx, $config, $lang;
+ global $phpbb_root_path, $phpEx, $config, $lang, $phpbb_filesystem;
$dbms = $dbms_details['DRIVER'];
@@ -205,7 +205,7 @@ function connect_check_db($error_connect, &$error, $dbms_details, $table_prefix,
}
// Make sure we don't have a daft user who thinks having the SQLite database in the forum directory is a good idea
- if (($dbms_details['DRIVER'] == 'phpbb\db\driver\sqlite' || $dbms_details['DRIVER'] == 'phpbb\db\driver\sqlite3') && stripos(phpbb_realpath($dbhost), phpbb_realpath('../')) === 0)
+ if (($dbms_details['DRIVER'] == 'phpbb\db\driver\sqlite' || $dbms_details['DRIVER'] == 'phpbb\db\driver\sqlite3') && stripos($phpbb_filesystem->realpath($dbhost), $phpbb_filesystem->realpath('../')) === 0)
{
$error[] = $lang['INST_ERR_DB_FORUM_PATH'];
return false;
diff --git a/phpBB/includes/functions_messenger.php b/phpBB/includes/functions_messenger.php
index 3aa3f3d03f..b0861585ba 100644
--- a/phpBB/includes/functions_messenger.php
+++ b/phpBB/includes/functions_messenger.php
@@ -623,7 +623,7 @@ class messenger
*/
protected function setup_template()
{
- global $config, $phpbb_path_helper, $user, $phpbb_extension_manager, $phpbb_container;
+ global $config, $phpbb_path_helper, $user, $phpbb_extension_manager, $phpbb_container, $phpbb_filesystem;
if ($this->template instanceof \phpbb\template\template)
{
@@ -641,7 +641,9 @@ class messenger
$phpbb_container,
$phpbb_container->getParameter('core.root_path') . 'cache/',
$phpbb_container->get('ext.manager'),
- new \phpbb\template\twig\loader()
+ new \phpbb\template\twig\loader(
+ $phpbb_filesystem
+ )
),
$phpbb_container->getParameter('core.root_path') . 'cache/',
$phpbb_container->get('template.twig.extensions.collection'),
@@ -672,14 +674,20 @@ class queue
var $eol = "\n";
/**
+ * @var \phpbb\filesystem\filesystem_interface
+ */
+ protected $filesystem;
+
+ /**
* constructor
*/
function queue()
{
- global $phpEx, $phpbb_root_path;
+ global $phpEx, $phpbb_root_path, $phpbb_filesystem;
$this->data = array();
$this->cache_file = "{$phpbb_root_path}cache/queue.$phpEx";
+ $this->filesystem = $phpbb_filesystem;
}
/**
@@ -865,7 +873,14 @@ class queue
fwrite($fp, "<?php\nif (!defined('IN_PHPBB')) exit;\n\$this->queue_data = unserialize(" . var_export(serialize($this->queue_data), true) . ");\n\n?>");
fclose($fp);
- phpbb_chmod($this->cache_file, CHMOD_READ | CHMOD_WRITE);
+ try
+ {
+ $this->filesystem->phpbb_chmod($this->cache_file, CHMOD_READ | CHMOD_WRITE);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
+ }
}
}
@@ -907,7 +922,14 @@ class queue
fwrite($fp, "<?php\nif (!defined('IN_PHPBB')) exit;\n\$this->queue_data = unserialize(" . var_export(serialize($this->data), true) . ");\n\n?>");
fclose($fp);
- phpbb_chmod($this->cache_file, CHMOD_READ | CHMOD_WRITE);
+ try
+ {
+ $this->filesystem->phpbb_chmod($this->cache_file, CHMOD_READ | CHMOD_WRITE);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
+ }
}
$lock->release();
diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php
index 9c6ddffe9f..4233395574 100644
--- a/phpBB/includes/functions_posting.php
+++ b/phpBB/includes/functions_posting.php
@@ -407,14 +407,14 @@ function posting_gen_topic_types($forum_id, $cur_topic_type = POST_NORMAL)
function upload_attachment($form_name, $forum_id, $local = false, $local_storage = '', $is_message = false, $local_filedata = false, \phpbb\mimetype\guesser $mimetype_guesser = null, \phpbb\plupload\plupload $plupload = null)
{
global $auth, $user, $config, $db, $cache;
- global $phpbb_root_path, $phpEx, $phpbb_dispatcher;
+ global $phpbb_root_path, $phpEx, $phpbb_dispatcher, $phpbb_filesystem;
$filedata = array(
'error' => array()
);
include_once($phpbb_root_path . 'includes/functions_upload.' . $phpEx);
- $upload = new fileupload();
+ $upload = new fileupload($phpbb_filesystem);
if ($config['check_attachment_content'] && isset($config['mime_triggers']))
{
@@ -668,7 +668,7 @@ function get_supported_image_types($type = false)
*/
function create_thumbnail($source, $destination, $mimetype)
{
- global $config;
+ global $config, $phpbb_filesystem;
$min_filesize = (int) $config['img_min_thumb_filesize'];
$img_filesize = (file_exists($source)) ? @filesize($source) : false;
@@ -820,7 +820,14 @@ function create_thumbnail($source, $destination, $mimetype)
return false;
}
- phpbb_chmod($destination, CHMOD_READ | CHMOD_WRITE);
+ try
+ {
+ $this->filesystem->phpbb_chmod($destination, CHMOD_READ | CHMOD_WRITE);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
+ }
return true;
}
diff --git a/phpBB/includes/functions_upload.php b/phpBB/includes/functions_upload.php
index f179b2fd70..21a6de7a41 100644
--- a/phpBB/includes/functions_upload.php
+++ b/phpBB/includes/functions_upload.php
@@ -47,6 +47,11 @@ class filespec
var $upload = '';
/**
+ * @var \phpbb\filesystem\filesystem_interface
+ */
+ protected $filesystem;
+
+ /**
* The plupload object
* @var \phpbb\plupload\plupload
*/
@@ -62,7 +67,7 @@ class filespec
* File Class
* @access private
*/
- function filespec($upload_ary, $upload_namespace, \phpbb\mimetype\guesser $mimetype_guesser = null, \phpbb\plupload\plupload $plupload = null)
+ function filespec($upload_ary, $upload_namespace, \phpbb\filesystem\filesystem_interface $phpbb_filesystem, \phpbb\mimetype\guesser $mimetype_guesser = null, \phpbb\plupload\plupload $plupload = null)
{
if (!isset($upload_ary))
{
@@ -97,6 +102,7 @@ class filespec
$this->upload = $upload_namespace;
$this->plupload = $plupload;
$this->mimetype_guesser = $mimetype_guesser;
+ $this->filesystem = $phpbb_filesystem;
}
/**
@@ -374,7 +380,14 @@ class filespec
return false;
}
- phpbb_chmod($this->destination_file, $chmod);
+ try
+ {
+ $this->filesystem->phpbb_chmod($this->destination_file, $chmod);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
+ }
}
// Try to get real filesize from destination folder
@@ -500,8 +513,14 @@ class fileupload
var $upload_timeout = 6;
/**
+ * @var \phpbb\filesystem\filesystem_interface
+ */
+ protected $filesystem;
+
+ /**
* Init file upload class.
*
+ * @param \phpbb\filesystem\filesystem_interface $filesystem
* @param string $error_prefix Used error messages will get prefixed by this string
* @param array $allowed_extensions Array of allowed extensions, for example array('jpg', 'jpeg', 'gif', 'png')
* @param int $max_filesize Maximum filesize
@@ -513,13 +532,14 @@ class fileupload
* contain any of its values. Defaults to false.
*
*/
- function fileupload($error_prefix = '', $allowed_extensions = false, $max_filesize = false, $min_width = false, $min_height = false, $max_width = false, $max_height = false, $disallowed_content = false)
+ function fileupload(\phpbb\filesystem\filesystem_interface $filesystem, $error_prefix = '', $allowed_extensions = false, $max_filesize = false, $min_width = false, $min_height = false, $max_width = false, $max_height = false, $disallowed_content = false)
{
$this->set_allowed_extensions($allowed_extensions);
$this->set_max_filesize($max_filesize);
$this->set_allowed_dimensions($min_width, $min_height, $max_width, $max_height);
$this->set_error_prefix($error_prefix);
$this->set_disallowed_content($disallowed_content);
+ $this->filesystem = $filesystem;
}
/**
@@ -613,7 +633,7 @@ class fileupload
}
}
- $file = new filespec($upload, $this, $mimetype_guesser, $plupload);
+ $file = new filespec($upload, $this, $this->filesystem, $mimetype_guesser, $plupload);
if ($file->init_error)
{
@@ -694,7 +714,7 @@ class fileupload
$upload['type'] = $filedata['type'];
}
- $file = new filespec($upload, $this, $mimetype_guesser);
+ $file = new filespec($upload, $this, $this->filesystem, $mimetype_guesser);
if ($file->init_error)
{
@@ -932,7 +952,7 @@ class fileupload
$upload_ary['tmp_name'] = $filename;
- $file = new filespec($upload_ary, $this, $mimetype_guesser);
+ $file = new filespec($upload_ary, $this, $this->filesystem, $mimetype_guesser);
$this->common_checks($file);
return $file;
diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php
index ba6f0b3ba9..4746bb11f2 100644
--- a/phpBB/install/database_update.php
+++ b/phpBB/install/database_update.php
@@ -183,7 +183,10 @@ define('IN_DB_UPDATE', true);
/* @var $migrator \phpbb\db\migrator */
$migrator = $phpbb_container->get('migrator');
-$migrator->set_output_handler(new \phpbb\db\log_wrapper_migrator_output_handler($user, new \phpbb\db\html_migrator_output_handler($user), $phpbb_root_path . 'store/migrations_' . time() . '.log'));
+
+/** @var \phpbb\filesystem\filesystem_interface $filesystem */
+$filesystem = $phpbb_container->get('filesystem');
+$migrator->set_output_handler(new \phpbb\db\log_wrapper_migrator_output_handler($user, new \phpbb\db\html_migrator_output_handler($user), $phpbb_root_path . 'store/migrations_' . time() . '.log', $filesystem));
$migrator->create_migrations_table();
diff --git a/phpBB/install/index.php b/phpBB/install/index.php
index 811034f064..dd3590e854 100644
--- a/phpBB/install/index.php
+++ b/phpBB/install/index.php
@@ -270,7 +270,7 @@ $config = new \phpbb\config\config(array(
/* @var $symfony_request \phpbb\symfony_request */
$symfony_request = $phpbb_container->get('symfony_request');
-/* @var $phpbb_filesystem \phpbb\filesystem */
+/* @var $phpbb_filesystem \phpbb\filesystem\filesystem_interface */
$phpbb_filesystem = $phpbb_container->get('filesystem');
/* @var $phpbb_path_helper \phpbb\path_helper */
diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php
index 506bece9c9..e268565be3 100644
--- a/phpBB/install/install_convert.php
+++ b/phpBB/install/install_convert.php
@@ -96,6 +96,9 @@ class install_convert extends module
/** @var string */
protected $php_ext;
+ /** @var \phpbb\filesystem\filesystem_interface */
+ protected $filesystem;
+
/**
* Variables used while converting, they are accessible from the global variable $convert
*/
@@ -116,6 +119,7 @@ class install_convert extends module
$this->template = $template;
$this->phpbb_root_path = $phpbb_root_path;
$this->php_ext = $phpEx;
+ $this->filesystem = new \phpbb\filesystem\filesystem();
if (!$this->check_phpbb_installed())
{
@@ -859,7 +863,7 @@ class install_convert extends module
$this->p_master->error($user->lang['DEV_NO_TEST_FILE'], __LINE__, __FILE__);
}
- if (!$local_path || !phpbb_is_writable($phpbb_root_path . $local_path))
+ if (!$local_path || !$this->filesystem->is_writable($phpbb_root_path . $local_path))
{
if (!$local_path)
{
diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php
index 7a9fa9c81e..3c37a028cb 100644
--- a/phpBB/install/install_install.php
+++ b/phpBB/install/install_install.php
@@ -43,9 +43,15 @@ if (!empty($setmodules))
*/
class install_install extends module
{
+ /**
+ * @var \phpbb\filesystem\filesystem_interface
+ */
+ protected $filesystem;
+
function install_install(&$p_master)
{
$this->p_master = &$p_master;
+ $this->filesystem = new \phpbb\filesystem\filesystem();
}
function main($mode, $sub)
@@ -466,13 +472,29 @@ class install_install extends module
if (!file_exists($phpbb_root_path . $dir))
{
@mkdir($phpbb_root_path . $dir, 0777);
- phpbb_chmod($phpbb_root_path . $dir, CHMOD_READ | CHMOD_WRITE);
+
+ try
+ {
+ $this->filesystem->phpbb_chmod($phpbb_root_path . $dir, CHMOD_READ | CHMOD_WRITE);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
+ }
}
// Now really check
if (file_exists($phpbb_root_path . $dir) && is_dir($phpbb_root_path . $dir))
{
- phpbb_chmod($phpbb_root_path . $dir, CHMOD_READ | CHMOD_WRITE);
+ try
+ {
+ $this->filesystem->phpbb_chmod($phpbb_root_path . $dir, CHMOD_READ | CHMOD_WRITE);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
+ }
+
$exists = true;
}
@@ -514,7 +536,7 @@ class install_install extends module
$write = $exists = true;
if (file_exists($phpbb_root_path . $dir))
{
- if (!phpbb_is_writable($phpbb_root_path . $dir))
+ if (!$this->filesystem->is_writable($phpbb_root_path . $dir))
{
$write = false;
}
@@ -892,7 +914,7 @@ class install_install extends module
$config_data = phpbb_create_config_file_data($data, $available_dbms[$data['dbms']]['DRIVER']);
// Attempt to write out the config file directly. If it works, this is the easiest way to do it ...
- if ((file_exists($phpbb_root_path . 'config.' . $phpEx) && phpbb_is_writable($phpbb_root_path . 'config.' . $phpEx)) || phpbb_is_writable($phpbb_root_path))
+ if ((file_exists($phpbb_root_path . 'config.' . $phpEx) && $this->filesystem->is_writable($phpbb_root_path . 'config.' . $phpEx)) || $this->filesystem->is_writable($phpbb_root_path))
{
// Assume it will work ... if nothing goes wrong below
$written = true;
@@ -914,7 +936,14 @@ class install_install extends module
if ($written)
{
// We may revert back to chmod() if we see problems with users not able to change their config.php file directly
- phpbb_chmod($phpbb_root_path . 'config.' . $phpEx, CHMOD_READ);
+ try
+ {
+ $this->filesystem->phpbb_chmod($phpbb_root_path . 'config.' . $phpEx, CHMOD_READ);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
+ }
}
}
@@ -1193,7 +1222,7 @@ class install_install extends module
include($phpbb_root_path . 'includes/constants.' . $phpEx);
}
- $finder = new \phpbb\finder(new \phpbb\filesystem(), $phpbb_root_path, null, $phpEx);
+ $finder = new \phpbb\finder(new \phpbb\filesystem\filesystem(), $phpbb_root_path, null, $phpEx);
$classes = $finder->core_path('phpbb/db/migration/data/')
->get_classes();
@@ -2029,7 +2058,7 @@ class install_install extends module
{
global $config, $phpbb_root_path;
- if (!phpbb_is_writable($phpbb_root_path . 'images/avatars/upload/'))
+ if (!$this->filesystem->is_writable($phpbb_root_path . 'images/avatars/upload/'))
{
$config->set('allow_avatar', 0);
$config->set('allow_avatar_upload', 0);
diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php
index 0ec6897607..410a8afb66 100644
--- a/phpBB/install/install_update.php
+++ b/phpBB/install/install_update.php
@@ -55,6 +55,8 @@ class install_update extends module
var $update_to_version;
+ protected $filesystem;
+
// Set to false
var $test_update = false;
@@ -87,6 +89,8 @@ class install_update extends module
/* @var $cache \phpbb\cache\service */
$cache = $phpbb_container->get('cache');
+ $this->filesystem = $phpbb_container->get('filesystem');
+
$this->tpl_name = 'install_update';
$this->page_title = 'UPDATE_INSTALLATION';
@@ -961,7 +965,7 @@ class install_update extends module
// Now init the connection
if ($update_mode == 'download')
{
- if (function_exists('phpbb_is_writable') && !phpbb_is_writable($phpbb_root_path . 'store/'))
+ if ($this->filesystem->is_writable($phpbb_root_path . 'store/'))
{
trigger_error(sprintf('The directory “%s” is not writable.', $phpbb_root_path . 'store/'), E_USER_ERROR);
}
diff --git a/phpBB/phpbb/avatar/driver/upload.php b/phpBB/phpbb/avatar/driver/upload.php
index ee36243844..4fdaee9561 100644
--- a/phpBB/phpbb/avatar/driver/upload.php
+++ b/phpBB/phpbb/avatar/driver/upload.php
@@ -19,6 +19,11 @@ namespace phpbb\avatar\driver;
class upload extends \phpbb\avatar\driver\driver
{
/**
+ * @var \phpbb\filesystem\filesystem_interface
+ */
+ protected $filesystem;
+
+ /**
* @var \phpbb\mimetype\guesser
*/
protected $mimetype_guesser;
@@ -29,15 +34,17 @@ class upload extends \phpbb\avatar\driver\driver
* @param \phpbb\config\config $config phpBB configuration
* @param string $phpbb_root_path Path to the phpBB root
* @param string $php_ext PHP file extension
- * @param \phpbb_path_helper $path_helper phpBB path helper
+ * @param \phpbb\filesystem\filesystem_interface phpBB filesystem helper
+ * @param \phpbb\path_helper $path_helper phpBB path helper
* @param \phpbb\mimetype\guesser $mimetype_guesser Mimetype guesser
* @param \phpbb\cache\driver\driver_interface $cache Cache driver
*/
- public function __construct(\phpbb\config\config $config, $phpbb_root_path, $php_ext, \phpbb\path_helper $path_helper, \phpbb\mimetype\guesser $mimetype_guesser, \phpbb\cache\driver\driver_interface $cache = null)
+ public function __construct(\phpbb\config\config $config, $phpbb_root_path, $php_ext, \phpbb\filesystem\filesystem_interface $filesystem, \phpbb\path_helper $path_helper, \phpbb\mimetype\guesser $mimetype_guesser, \phpbb\cache\driver\driver_interface $cache = null)
{
$this->config = $config;
$this->phpbb_root_path = $phpbb_root_path;
$this->php_ext = $php_ext;
+ $this->filesystem = $filesystem;
$this->path_helper = $path_helper;
$this->mimetype_guesser = $mimetype_guesser;
$this->cache = $cache;
@@ -90,7 +97,7 @@ class upload extends \phpbb\avatar\driver\driver
include($this->phpbb_root_path . 'includes/functions_upload.' . $this->php_ext);
}
- $upload = new \fileupload('AVATAR_', $this->allowed_extensions, $this->config['avatar_filesize'], $this->config['avatar_min_width'], $this->config['avatar_min_height'], $this->config['avatar_max_width'], $this->config['avatar_max_height'], (isset($this->config['mime_triggers']) ? explode('|', $this->config['mime_triggers']) : false));
+ $upload = new \fileupload($this->filesystem, 'AVATAR_', $this->allowed_extensions, $this->config['avatar_filesize'], $this->config['avatar_min_width'], $this->config['avatar_min_height'], $this->config['avatar_max_width'], $this->config['avatar_max_height'], (isset($this->config['mime_triggers']) ? explode('|', $this->config['mime_triggers']) : false));
$url = $request->variable('avatar_upload_url', '');
$upload_file = $request->file('avatar_upload_file');
@@ -211,6 +218,6 @@ class upload extends \phpbb\avatar\driver\driver
*/
protected function can_upload()
{
- return (file_exists($this->phpbb_root_path . $this->config['avatar_path']) && phpbb_is_writable($this->phpbb_root_path . $this->config['avatar_path']) && (@ini_get('file_uploads') || strtolower(@ini_get('file_uploads')) == 'on'));
+ return (file_exists($this->phpbb_root_path . $this->config['avatar_path']) && $this->filesystem->is_writable($this->phpbb_root_path . $this->config['avatar_path']) && (@ini_get('file_uploads') || strtolower(@ini_get('file_uploads')) == 'on'));
}
}
diff --git a/phpBB/phpbb/cache/driver/base.php b/phpBB/phpbb/cache/driver/base.php
index c83b928a12..55cd4668de 100644
--- a/phpBB/phpbb/cache/driver/base.php
+++ b/phpBB/phpbb/cache/driver/base.php
@@ -177,13 +177,9 @@ abstract class base implements \phpbb\cache\driver\driver_interface
*/
function remove_file($filename, $check = false)
{
- if (!function_exists('phpbb_is_writable'))
- {
- global $phpbb_root_path, $phpEx;
- include($phpbb_root_path . 'includes/functions.' . $phpEx);
- }
+ global $phpbb_filesystem;
- if ($check && !phpbb_is_writable($this->cache_dir))
+ if ($check && !$phpbb_filesystem->is_writable($this->cache_dir))
{
// E_USER_ERROR - not using language entry - intended.
trigger_error('Unable to remove files within ' . $this->cache_dir . '. Please check directory permissions.', E_USER_ERROR);
diff --git a/phpBB/phpbb/cache/driver/file.php b/phpBB/phpbb/cache/driver/file.php
index 32086458ee..bb055d3acf 100644
--- a/phpBB/phpbb/cache/driver/file.php
+++ b/phpBB/phpbb/cache/driver/file.php
@@ -21,6 +21,11 @@ class file extends \phpbb\cache\driver\base
var $var_expires = array();
/**
+ * @var \phpbb\filesystem\filesystem_interface
+ */
+ protected $filesystem;
+
+ /**
* Set cache path
*
* @param string $cache_dir Define the path to the cache directory (default: $phpbb_root_path . 'cache/')
@@ -30,6 +35,7 @@ class file extends \phpbb\cache\driver\base
global $phpbb_root_path, $phpbb_container;
$this->cache_dir = !is_null($cache_dir) ? $cache_dir : $phpbb_root_path . 'cache/' . $phpbb_container->getParameter('core.environment') . '/';
+ $this->filesystem = new \phpbb\filesystem\filesystem();
if (!is_dir($this->cache_dir))
{
@@ -69,14 +75,8 @@ class file extends \phpbb\cache\driver\base
if (!$this->_write('data_global'))
{
- if (!function_exists('phpbb_is_writable'))
- {
- global $phpbb_root_path;
- include($phpbb_root_path . 'includes/functions.' . $phpEx);
- }
-
// Now, this occurred how often? ... phew, just tell the user then...
- if (!phpbb_is_writable($this->cache_dir))
+ if (!$this->filesystem->is_writable($this->cache_dir))
{
// We need to use die() here, because else we may encounter an infinite loop (the message handler calls $cache->unload())
die('Fatal: ' . $this->cache_dir . ' is NOT writable.');
@@ -574,13 +574,14 @@ class file extends \phpbb\cache\driver\base
fclose($handle);
- if (!function_exists('phpbb_chmod'))
+ try
{
- global $phpbb_root_path;
- include($phpbb_root_path . 'includes/functions.' . $phpEx);
+ $this->filesystem->phpbb_chmod($file, CHMOD_READ | CHMOD_WRITE);
+ }
+ catch (\phpbb\filesystem\exception\filesystem_exception $e)
+ {
+ // Do nothing
}
-
- phpbb_chmod($file, CHMOD_READ | CHMOD_WRITE);
$return_value = true;
}
diff --git a/phpBB/phpbb/console/command/db/migrate.php b/phpBB/phpbb/console/command/db/migrate.php
index 87c2a057d1..2490bf1310 100644
--- a/phpBB/phpbb/console/command/db/migrate.php
+++ b/phpBB/phpbb/console/command/db/migrate.php
@@ -35,13 +35,17 @@ class migrate extends \phpbb\console\command\command
/** @var string phpBB root path */
protected $phpbb_root_path;
- function __construct(\phpbb\user $user, \phpbb\db\migrator $migrator, \phpbb\extension\manager $extension_manager, \phpbb\config\config $config, \phpbb\cache\service $cache, \phpbb\log\log $log, $phpbb_root_path)
+ /** @var \phpbb\filesystem\filesystem_interface */
+ protected $filesystem;
+
+ function __construct(\phpbb\user $user, \phpbb\db\migrator $migrator, \phpbb\extension\manager $extension_manager, \phpbb\config\config $config, \phpbb\cache\service $cache, \phpbb\log\log $log, \phpbb\filesystem\filesystem_interface $filesystem, $phpbb_root_path)
{
$this->migrator = $migrator;
$this->extension_manager = $extension_manager;
$this->config = $config;
$this->cache = $cache;
$this->log = $log;
+ $this->filesystem = $filesystem;
$this->phpbb_root_path = $phpbb_root_path;
parent::__construct($user);
$this->user->add_lang(array('common', 'install', 'migrator'));
@@ -57,7 +61,7 @@ class migrate extends \phpbb\console\command\command
protected function execute(InputInterface $input, OutputInterface $output)
{
- $this->migrator->set_output_handler(new \phpbb\db\log_wrapper_migrator_output_handler($this->user, new console_migrator_output_handler($this->user, $output), $this->phpbb_root_path . 'store/migrations_' . time() . '.log'));
+ $this->migrator->set_output_handler(new \phpbb\db\log_wrapper_migrator_output_handler($this->user, new console_migrator_output_handler($this->user, $output), $this->phpbb_root_path . 'store/migrations_' . time() . '.log', $this->filesystem));
$this->migrator->create_migrations_table();
diff --git a/phpBB/phpbb/controller/helper.php b/phpBB/phpbb/controller/helper.php
index 340b29306a..68ccfafddf 100644
--- a/phpBB/phpbb/controller/helper.php
+++ b/phpBB/phpbb/controller/helper.php
@@ -53,7 +53,7 @@ class helper
protected $request;
/**
- * @var \phpbb\filesystem The filesystem object
+ * @var \phpbb\filesystem\filesystem_interface The filesystem object
*/
protected $filesystem;
@@ -78,11 +78,11 @@ class helper
* @param \phpbb\routing\router $router phpBB router
* @param \phpbb\symfony_request $symfony_request Symfony Request object
* @param \phpbb\request\request_interface $request phpBB request object
- * @param \phpbb\filesystem $filesystem The filesystem object
+ * @param \phpbb\filesystem\filesystem_interface $filesystem The filesystem object
* @param string $phpbb_root_path phpBB root path
* @param string $php_ext PHP file extension
*/
- public function __construct(\phpbb\template\template $template, \phpbb\user $user, \phpbb\config\config $config, \phpbb\routing\router $router, \phpbb\symfony_request $symfony_request, \phpbb\request\request_interface $request, \phpbb\filesystem $filesystem, $phpbb_root_path, $php_ext)
+ public function __construct(\phpbb\template\template $template, \phpbb\user $user, \phpbb\config\config $config, \phpbb\routing\router $router, \phpbb\symfony_request $symfony_request, \phpbb\request\request_interface $request, \phpbb\filesystem\filesystem_interface $filesystem, $phpbb_root_path, $php_ext)
{
$this->template = $template;
$this->user = $user;
diff --git a/phpBB/phpbb/db/log_wrapper_migrator_output_handler.php b/phpBB/phpbb/db/log_wrapper_migrator_output_handler.php
index 94c293dc45..4c85bf4d67 100644
--- a/phpBB/phpbb/db/log_wrapper_migrator_output_handler.php
+++ b/phpBB/phpbb/db/log_wrapper_migrator_output_handler.php
@@ -38,16 +38,23 @@ class log_wrapper_migrator_output_handler implements migrator_output_handler_int
protected $file_handle = false;
/**
+ * @var \phpbb\filesystem\filesystem_interface
+ */
+ protected $filesystem;
+
+ /**
* Constructor
*
* @param user $user User object
* @param migrator_output_handler_interface $migrator Migrator output handler
* @param string $log_file File to log to
+ * @param \phpbb\filesystem\filesystem_interface phpBB filesystem object
*/
- public function __construct(user $user, migrator_output_handler_interface $migrator, $log_file)
+ public function __construct(user $user, migrator_output_handler_interface $migrator, $log_file, \phpbb\filesystem\filesystem_interface $filesystem)
{
$this->user = $user;
$this->migrator = $migrator;
+ $this->filesystem = $filesystem;
$this->file_open($log_file);
}
@@ -58,7 +65,7 @@ class log_wrapper_migrator_output_handler implements migrator_output_handler_int
*/
protected function file_open($file)
{
- if (phpbb_is_writable(dirname($file)))
+ if ($this->filesystem->is_writable(dirname($file)))
{
$this->file_handle = fopen($file, 'w');
}
diff --git a/phpBB/phpbb/di/container_builder.php b/phpBB/phpbb/di/container_builder.php
index 125ae28e9b..2a410db9bd 100644
--- a/phpBB/phpbb/di/container_builder.php
+++ b/phpBB/phpbb/di/container_builder.php
@@ -192,7 +192,8 @@ class container_builder
}
}
- $loader = new YamlFileLoader($this->container, new FileLocator(phpbb_realpath($this->get_config_path())));
+ $filesystem = new \phpbb\filesystem\filesystem();
+ $loader = new YamlFileLoader($this->container, new FileLocator($filesystem->realpath($this->get_config_path())));
$loader->load($this->container->getParameter('core.environment') . '/config.yml');
$this->inject_custom_parameters();
diff --git a/phpBB/phpbb/di/extension/core.php b/phpBB/phpbb/di/extension/core.php
index 451efc8e35..c71dc61280 100644
--- a/phpBB/phpbb/di/extension/core.php
+++ b/phpBB/phpbb/di/extension/core.php
@@ -50,7 +50,8 @@ class core extends Extension
*/
public function load(array $configs, ContainerBuilder $container)
{
- $loader = new YamlFileLoader($container, new FileLocator(phpbb_realpath($this->config_path)));
+ $filesystem = new \phpbb\filesystem\filesystem();
+ $loader = new YamlFileLoader($container, new FileLocator($filesystem->realpath($this->config_path)));
$loader->load($container->getParameter('core.environment') . '/container/environment.yml');
$config = $this->getConfiguration($configs, $container);
diff --git a/phpBB/phpbb/extension/di/extension_base.php b/phpBB/phpbb/extension/di/extension_base.php
index 30cc37dbb6..ba74615e70 100644
--- a/phpBB/phpbb/extension/di/extension_base.php
+++ b/phpBB/phpbb/extension/di/extension_base.php
@@ -94,7 +94,8 @@ class extension_base extends Extension
if ($services_directory && $services_file)
{
- $loader = new YamlFileLoader($container, new FileLocator(phpbb_realpath($services_directory)));
+ $filesystem = new \phpbb\filesystem\filesystem();
+ $loader = new YamlFileLoader($container, new FileLocator($filesystem->realpath($services_directory)));
$loader->load($services_file);
}
}
diff --git a/phpBB/phpbb/extension/manager.php b/phpBB/phpbb/extension/manager.php
index 880973d5fb..40fda74065 100644
--- a/phpBB/phpbb/extension/manager.php
+++ b/phpBB/phpbb/extension/manager.php
@@ -39,7 +39,7 @@ class manager
* @param ContainerInterface $container A container
* @param \phpbb\db\driver\driver_interface $db A database connection
* @param \phpbb\config\config $config Config object
- * @param \phpbb\filesystem $filesystem
+ * @param \phpbb\filesystem\filesystem_interface $filesystem
* @param \phpbb\user $user User object
* @param string $extension_table The name of the table holding extensions
* @param string $phpbb_root_path Path to the phpbb includes directory.
@@ -47,7 +47,7 @@ class manager
* @param \phpbb\cache\driver\driver_interface $cache A cache instance or null
* @param string $cache_name The name of the cache variable, defaults to _ext
*/
- public function __construct(ContainerInterface $container, \phpbb\db\driver\driver_interface $db, \phpbb\config\config $config, \phpbb\filesystem $filesystem, \phpbb\user $user, $extension_table, $phpbb_root_path, $php_ext = 'php', \phpbb\cache\driver\driver_interface $cache = null, $cache_name = '_ext')
+ public function __construct(ContainerInterface $container, \phpbb\db\driver\driver_interface $db, \phpbb\config\config $config, \phpbb\filesystem\filesystem_interface $filesystem, \phpbb\user $user, $extension_table, $phpbb_root_path, $php_ext = 'php', \phpbb\cache\driver\driver_interface $cache = null, $cache_name = '_ext')
{
$this->cache = $cache;
$this->cache_name = $cache_name;
diff --git a/phpBB/phpbb/filesystem.php b/phpBB/phpbb/filesystem.php
index 77517082e5..af56d78845 100644
--- a/phpBB/phpbb/filesystem.php
+++ b/phpBB/phpbb/filesystem.php
@@ -14,37 +14,8 @@
namespace phpbb;
/**
-* A class with various functions that are related to paths, files and the filesystem
-*/
-class filesystem
+ * @deprecated 3.2.0-dev (To be removed 3.3.0) use \phpbb\filesystem\filesystem instead
+ */
+class filesystem extends \phpbb\filesystem\filesystem
{
- /**
- * Eliminates useless . and .. components from specified path.
- *
- * @param string $path Path to clean
- * @return string Cleaned path
- */
- public function clean_path($path)
- {
- $exploded = explode('/', $path);
- $filtered = array();
- foreach ($exploded as $part)
- {
- if ($part === '.' && !empty($filtered))
- {
- continue;
- }
-
- if ($part === '..' && !empty($filtered) && $filtered[sizeof($filtered) - 1] !== '.' && $filtered[sizeof($filtered) - 1] !== '..')
- {
- array_pop($filtered);
- }
- else
- {
- $filtered[] = $part;
- }
- }
- $path = implode('/', $filtered);
- return $path;
- }
}
diff --git a/phpBB/phpbb/filesystem/exception/filesystem_exception.php b/phpBB/phpbb/filesystem/exception/filesystem_exception.php
new file mode 100644
index 0000000000..d68fa9adf3
--- /dev/null
+++ b/phpBB/phpbb/filesystem/exception/filesystem_exception.php
@@ -0,0 +1,42 @@
+<?php
+/**
+ *
+ * This file is part of the phpBB Forum Software package.
+ *
+ * @copyright (c) phpBB Limited <https://www.phpbb.com>
+ * @license GNU General Public License, version 2 (GPL-2.0)
+ *
+ * For full copyright and license information, please see
+ * the docs/CREDITS.txt file.
+ *
+ */
+
+namespace phpbb\filesystem\exception;
+
+class filesystem_exception extends \phpbb\exception\runtime_exception
+{
+ /**
+ * Constructor
+ *
+ * @param string $message The Exception message to throw (must be a language variable).
+ * @param string $filename The file that caused the error.
+ * @param array $parameters The parameters to use with the language var.
+ * @param \Exception $previous The previous runtime_exception used for the runtime_exception chaining.
+ * @param integer $code The Exception code.
+ */
+ public function __construct($message = "", $filename = '', $parameters = array(), \Exception $previous = null, $code = 0)
+ {
+ parent::__construct($message, array_merge(array('filename' => $filename), $parameters), $previous, $code);
+ }
+
+ /**
+ * Returns the filename that triggered the error
+ *
+ * @return string
+ */
+ public function get_filename()
+ {
+ $parameters = parent::get_parameters();
+ return $parameters['filename'];
+ }
+}
diff --git a/phpBB/phpbb/filesystem/filesystem.php b/phpBB/phpbb/filesystem/filesystem.php
new file mode 100644
index 0000000000..370dff77e5
--- /dev/null
+++ b/phpBB/phpbb/filesystem/filesystem.php
@@ -0,0 +1,916 @@
+<?php
+/**
+ *
+ * This file is part of the phpBB Forum Software package.
+ *
+ * @copyright (c) phpBB Limited <https://www.phpbb.com>
+ * @license GNU General Public License, version 2 (GPL-2.0)
+ *
+ * For full copyright and license information, please see
+ * the docs/CREDITS.txt file.
+ *
+ */
+
+namespace phpbb\filesystem;
+
+use phpbb\filesystem\exception\filesystem_exception;
+
+/**
+ * A class with various functions that are related to paths, files and the filesystem
+ */
+class filesystem implements filesystem_interface
+{
+ /**
+ * Store some information about file ownership for phpBB's chmod function
+ *
+ * @var array
+ */
+ protected $chmod_info;
+
+ /**
+ * Stores current working directory
+ *
+ * @var string|bool current working directory or false if it cannot be recovered
+ */
+ protected $working_directory;
+
+ /**
+ * Symfony's Filesystem component
+ *
+ * @var \Symfony\Component\Filesystem\Filesystem
+ */
+ protected $symfony_filesystem;
+
+ /**
+ * Constructor
+ */
+ public function __construct()
+ {
+ $this->chmod_info = array();
+ $this->symfony_filesystem = new \Symfony\Component\Filesystem\Filesystem();
+ $this->working_directory = null;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function chgrp($files, $group, $recursive = false)
+ {
+ try
+ {
+ $this->symfony_filesystem->chgrp($files, $group, $recursive);
+ }
+ catch (\Symfony\Component\Filesystem\Exception\IOException $e)
+ {
+ // Try to recover filename
+ // By the time this is written that is at the end of the message
+ $error = trim($e->getMessage());
+ $file = substr($error, strrpos($error, ' '));
+
+ throw new filesystem_exception('CANNOT_CHANGE_FILE_GROUP', $file, array(), $e);
+ }
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function chmod($files, $perms = null, $recursive = false, $force_chmod_link = false)
+ {
+ if (is_null($perms))
+ {
+ // Default to read permission for compatibility reasons
+ $perms = self::CHMOD_READ;
+ }
+
+ // Check if we got a permission flag
+ if ($perms > self::CHMOD_ALL)
+ {
+ $file_perm = $perms;
+
+ // Extract permissions
+ //$owner = ($file_perm >> 6) & 7; // This will be ignored
+ $group = ($file_perm >> 3) & 7;
+ $other = ($file_perm >> 0) & 7;
+
+ // Does any permissions provided? if so we add execute bit for directories
+ $group = ($group !== 0) ? ($group | self::CHMOD_EXECUTE) : $group;
+ $other = ($other !== 0) ? ($other | self::CHMOD_EXECUTE) : $other;
+
+ // Compute directory permissions
+ $dir_perm = (self::CHMOD_ALL << 6) + ($group << 3) + ($other << 3);
+ }
+ else
+ {
+ // Add execute bit to owner if execute bit is among perms
+ $owner_perm = (self::CHMOD_READ | self::CHMOD_WRITE) | ($perms & self::CHMOD_EXECUTE);
+ $file_perm = ($owner_perm << 6) + ($perms << 3) + ($perms << 0);
+
+ // Compute directory permissions
+ $perm = ($perms !== 0) ? ($perms | self::CHMOD_EXECUTE) : $perms;
+ $dir_perm = (($owner_perm | self::CHMOD_EXECUTE) << 6) + ($perm << 3) + ($perm << 0);
+ }
+
+ // Symfony's filesystem component does not support extra execution flags on directories
+ // so we need to implement it again
+ foreach ($this->to_iterator($files) as $file)
+ {
+ if ($recursive && is_dir($file) && !is_link($file))
+ {
+ $this->chmod(new \FilesystemIterator($file), $perms, true);
+ }
+
+ // Don't chmod links as mostly those require 0777 and that cannot be changed
+ if (is_dir($file) || (is_link($file) && $force_chmod_link))
+ {
+ if (true !== @chmod($file, $dir_perm))
+ {
+ throw new filesystem_exception('CANNOT_CHANGE_FILE_PERMISSIONS', $file, array());
+ }
+ }
+ else if (is_file($file))
+ {
+ if (true !== @chmod($file, $file_perm))
+ {
+ throw new filesystem_exception('CANNOT_CHANGE_FILE_PERMISSIONS', $file, array());
+ }
+ }
+ }
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function chown($files, $user, $recursive = false)
+ {
+ try
+ {
+ $this->symfony_filesystem->chown($files, $user, $recursive);
+ }
+ catch (\Symfony\Component\Filesystem\Exception\IOException $e)
+ {
+ // Try to recover filename
+ // By the time this is written that is at the end of the message
+ $error = trim($e->getMessage());
+ $file = substr($error, strrpos($error, ' '));
+
+ throw new filesystem_exception('CANNOT_CHANGE_FILE_GROUP', $file, array(), $e);
+ }
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function clean_path($path)
+ {
+ $exploded = explode('/', $path);
+ $filtered = array();
+ foreach ($exploded as $part)
+ {
+ if ($part === '.' && !empty($filtered))
+ {
+ continue;
+ }
+
+ if ($part === '..' && !empty($filtered) && $filtered[sizeof($filtered) - 1] !== '.' && $filtered[sizeof($filtered) - 1] !== '..')
+ {
+ array_pop($filtered);
+ }
+ else
+ {
+ $filtered[] = $part;
+ }
+ }
+ $path = implode('/', $filtered);
+ return $path;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function copy($origin_file, $target_file, $override = false)
+ {
+ try
+ {
+ $this->symfony_filesystem->copy($origin_file, $target_file, $override);
+ }
+ catch (\Symfony\Component\Filesystem\Exception\IOException $e)
+ {
+ throw new filesystem_exception('CANNOT_COPY_FILES', '', array(), $e);
+ }
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function dump_file($filename, $content)
+ {
+ try
+ {
+ $this->symfony_filesystem->dumpFile($filename, $content);
+ }
+ catch (\Symfony\Component\Filesystem\Exception\IOException $e)
+ {
+ throw new filesystem_exception('CANNOT_DUMP_FILE', $filename, array(), $e);
+ }
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function exists($files)
+ {
+ return $this->symfony_filesystem->exists($files);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function is_absolute_path($path)
+ {
+ return (isset($path[0]) && $path[0] === '/' || preg_match('#^[a-z]:[/\\\]#i', $path)) ? true : false;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function is_readable($files, $recursive = false)
+ {
+ foreach ($this->to_iterator($files) as $file)
+ {
+ if ($recursive && is_dir($file) && !is_link($file))
+ {
+ if (!$this->is_readable(new \FilesystemIterator($file), true))
+ {
+ return false;
+ }
+ }
+
+ if (!is_readable($file))
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function is_writable($files, $recursive = false)
+ {
+ if (defined('PHP_WINDOWS_VERSION_MAJOR') || !function_exists('is_writable'))
+ {
+ foreach ($this->to_iterator($files) as $file)
+ {
+ if ($recursive && is_dir($file) && !is_link($file))
+ {
+ if (!$this->is_writable(new \FilesystemIterator($file), true))
+ {
+ return false;
+ }
+ }
+
+ if (!$this->phpbb_is_writable($file))
+ {
+ return false;
+ }
+ }
+ }
+ else
+ {
+ // use built in is_writable
+ foreach ($this->to_iterator($files) as $file)
+ {
+ if ($recursive && is_dir($file) && !is_link($file))
+ {
+ if (!$this->is_writable(new \FilesystemIterator($file), true))
+ {
+ return false;
+ }
+ }
+
+ if (!is_writable($file))
+ {
+ return false;
+ }
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function make_path_relative($end_path, $start_path)
+ {
+ return $this->symfony_filesystem->makePathRelative($end_path, $start_path);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function mirror($origin_dir, $target_dir, \Traversable $iterator = null, $options = array())
+ {
+ try
+ {
+ $this->symfony_filesystem->mirror($origin_dir, $target_dir, $iterator, $options);
+ }
+ catch (\Symfony\Component\Filesystem\Exception\IOException $e)
+ {
+ $msg = $e->getMessage();
+ $filename = substr($msg, strpos($msg, '"'), strrpos($msg, '"'));
+
+ throw new filesystem_exception('CANNOT_MIRROR_DIRECTORY', $filename, array(), $e);
+ }
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function mkdir($dirs, $mode = 0777)
+ {
+ try
+ {
+ $this->symfony_filesystem->mkdir($dirs, $mode);
+ }
+ catch (\Symfony\Component\Filesystem\Exception\IOException $e)
+ {
+ $msg = $e->getMessage();
+ $filename = substr($msg, strpos($msg, '"'), strrpos($msg, '"'));
+
+ throw new filesystem_exception('CANNOT_CREATE_DIRECTORY', $filename, array(), $e);
+ }
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function phpbb_chmod($files, $perms = null, $recursive = false, $force_chmod_link = false)
+ {
+ if (is_null($perms))
+ {
+ // Default to read permission for compatibility reasons
+ $perms = self::CHMOD_READ;
+ }
+
+ if (empty($this->chmod_info))
+ {
+ if (!function_exists('fileowner') || !function_exists('filegroup'))
+ {
+ $this->chmod_info['process'] = false;
+ }
+ else
+ {
+ $common_php_owner = @fileowner(__FILE__);
+ $common_php_group = @filegroup(__FILE__);
+
+ // And the owner and the groups PHP is running under.
+ $php_uid = (function_exists('posic_getuid')) ? @posix_getuid() : false;
+ $php_gids = (function_exists('posix_getgroups')) ? @posix_getgroups() : false;
+
+ // If we are unable to get owner/group, then do not try to set them by guessing
+ if (!$php_uid || empty($php_gids) || !$common_php_owner || !$common_php_group)
+ {
+ $this->chmod_info['process'] = false;
+ }
+ else
+ {
+ $this->chmod_info = array(
+ 'process' => true,
+ 'common_owner' => $common_php_owner,
+ 'common_group' => $common_php_group,
+ 'php_uid' => $php_uid,
+ 'php_gids' => $php_gids,
+ );
+ }
+ }
+ }
+
+ if ($this->chmod_info['process'])
+ {
+ try
+ {
+ foreach ($this->to_iterator($files) as $file)
+ {
+ $file_uid = @fileowner($file);
+ $file_gid = @filegroup($file);
+
+ // Change owner
+ if ($file_uid !== $this->chmod_info['common_owner'])
+ {
+ $this->chown($file, $this->chmod_info['common_owner'], $recursive);
+ }
+
+ // Change group
+ if ($file_gid !== $this->chmod_info['common_group'])
+ {
+ $this->chgrp($file, $this->chmod_info['common_group'], $recursive);
+ }
+
+ clearstatcache();
+ $file_uid = @fileowner($file);
+ $file_gid = @filegroup($file);
+ }
+ }
+ catch (filesystem_exception $e)
+ {
+ $this->chmod_info['process'] = false;
+ }
+ }
+
+ // Still able to process?
+ if ($this->chmod_info['process'])
+ {
+ if ($file_uid === $this->chmod_info['php_uid'])
+ {
+ $php = 'owner';
+ }
+ else if (in_array($file_gid, $this->chmod_info['php_gids']))
+ {
+ $php = 'group';
+ }
+ else
+ {
+ // Since we are setting the everyone bit anyway, no need to do expensive operations
+ $this->chmod_info['process'] = false;
+ }
+ }
+
+ // We are not able to determine or change something
+ if (!$this->chmod_info['process'])
+ {
+ $php = 'other';
+ }
+
+ switch ($php)
+ {
+ case 'owner':
+ try
+ {
+ $this->chmod($files, $perms, $recursive, $force_chmod_link);
+ clearstatcache();
+ if ($this->is_readable($files) && $this->is_writable($files))
+ {
+ break;
+ }
+ }
+ catch (filesystem_exception $e)
+ {
+ // Do nothing
+ }
+ case 'group':
+ try
+ {
+ $this->chmod($files, $perms, $recursive, $force_chmod_link);
+ clearstatcache();
+ if ((!($perms & self::CHMOD_READ) || $this->is_readable($files, $recursive)) && (!($perms & self::CHMOD_WRITE) || $this->is_writable($files, $recursive)))
+ {
+ break;
+ }
+ }
+ catch (filesystem_exception $e)
+ {
+ // Do nothing
+ }
+ case 'other':
+ default:
+ $this->chmod($files, $perms, $recursive, $force_chmod_link);
+ break;
+ }
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function realpath($path)
+ {
+ if (!function_exists('realpath'))
+ {
+ return $this->phpbb_own_realpath($path);
+ }
+
+ $realpath = realpath($path);
+
+ // Strangely there are provider not disabling realpath but returning strange values. :o
+ // We at least try to cope with them.
+ if ((!$this->is_absolute_path($path) && $realpath === $path) || $realpath === false)
+ {
+ return $this->phpbb_own_realpath($path);
+ }
+
+ // Check for DIRECTORY_SEPARATOR at the end (and remove it!)
+ if (substr($realpath, -1) === DIRECTORY_SEPARATOR)
+ {
+ $realpath = substr($realpath, 0, -1);
+ }
+
+ return $realpath;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function remove($files)
+ {
+ try
+ {
+ $this->symfony_filesystem->remove($files);
+ }
+ catch (\Symfony\Component\Filesystem\Exception\IOException $e)
+ {
+ // Try to recover filename
+ // By the time this is written that is at the end of the message
+ $error = trim($e->getMessage());
+ $file = substr($error, strrpos($error, ' '));
+
+ throw new filesystem_exception('CANNOT_DELETE_FILES', $file, array(), $e);
+ }
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function rename($origin, $target, $overwrite = false)
+ {
+ try
+ {
+ $this->symfony_filesystem->rename($origin, $target, $overwrite);
+ }
+ catch (\Symfony\Component\Filesystem\Exception\IOException $e)
+ {
+ $msg = $e->getMessage();
+ $filename = substr($msg, strpos($msg, '"'), strrpos($msg, '"'));
+
+ throw new filesystem_exception('CANNOT_RENAME_FILE', $filename, array(), $e);
+ }
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function symlink($origin_dir, $target_dir, $copy_on_windows = false)
+ {
+ try
+ {
+ $this->symfony_filesystem->symlink($origin_dir, $target_dir, $copy_on_windows);
+ }
+ catch (\Symfony\Component\Filesystem\Exception\IOException $e)
+ {
+ throw new filesystem_exception('CANNOT_CREATE_SYMLINK', $origin_dir, array(), $e);
+ }
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function touch($files, $time = null, $access_time = null)
+ {
+ try
+ {
+ $this->symfony_filesystem->touch($files, $time, $access_time);
+ }
+ catch (\Symfony\Component\Filesystem\Exception\IOException $e)
+ {
+ // Try to recover filename
+ // By the time this is written that is at the end of the message
+ $error = trim($e->getMessage());
+ $file = substr($error, strrpos($error, ' '));
+
+ throw new filesystem_exception('CANNOT_TOUCH_FILES', $file, array(), $e);
+ }
+ }
+
+ /**
+ * phpBB's implementation of is_writable
+ *
+ * @todo Investigate if is_writable is still buggy
+ *
+ * @param string $file file/directory to check if writable
+ *
+ * @return bool true if the given path is writable
+ */
+ protected function phpbb_is_writable($file)
+ {
+ if (file_exists($file))
+ {
+ // Canonicalise path to absolute path
+ $file = $this->realpath($file);
+
+ if (is_dir($file))
+ {
+ // Test directory by creating a file inside the directory
+ $result = @tempnam($file, 'i_w');
+
+ if (is_string($result) && file_exists($result))
+ {
+ unlink($result);
+
+ // Ensure the file is actually in the directory (returned realpathed)
+ return (strpos($result, $file) === 0) ? true : false;
+ }
+ }
+ else
+ {
+ $handle = @fopen($file, 'w');
+
+ if (is_resource($handle))
+ {
+ fclose($handle);
+ return true;
+ }
+ }
+ }
+ else
+ {
+ // file does not exist test if we can write to the directory
+ $dir = dirname($file);
+
+ if (file_exists($dir) && is_dir($dir) && $this->phpbb_is_writable($dir))
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Try to resolve real path when PHP's realpath failes to do so
+ *
+ * @param string $path
+ * @return bool|string
+ */
+ protected function phpbb_own_realpath($path)
+ {
+ // Replace all directory separators with '/'
+ $path = str_replace(DIRECTORY_SEPARATOR, '/', $path);
+
+ $is_absolute_path = false;
+ $path_prefix = '';
+
+ if ($this->is_absolute_path($path))
+ {
+ $is_absolute_path = true;
+ }
+ else
+ {
+ // Resolve working directory and store it
+ if (is_null($this->working_directory))
+ {
+ if (function_exists('getcwd'))
+ {
+ $this->working_directory = str_replace(DIRECTORY_SEPARATOR, '/', getcwd());
+ }
+
+ //
+ // From this point on we really just guessing
+ // If chdir were called we screwed
+ //
+ else if (function_exists('debug_backtrace'))
+ {
+ $call_stack = debug_backtrace(0);
+ $this->working_directory = str_replace(DIRECTORY_SEPARATOR, '/', dirname($call_stack[sizeof($call_stack) - 1]['file']));
+ }
+ else
+ {
+ //
+ // Assuming that the working directory is phpBB root
+ // we could use this as a fallback, when phpBB will use controllers
+ // everywhere this will be a safe assumption
+ //
+ //$dir_parts = explode(DIRECTORY_SEPARATOR, __DIR__);
+ //$namespace_parts = explode('\\', trim(__NAMESPACE__, '\\'));
+
+ //$namespace_part_count = sizeof($namespace_parts);
+
+ // Check if we still loading from root
+ //if (array_slice($dir_parts, -$namespace_part_count) === $namespace_parts)
+ //{
+ // $this->working_directory = implode('/', array_slice($dir_parts, 0, -$namespace_part_count));
+ //}
+ //else
+ //{
+ // $this->working_directory = false;
+ //}
+
+ $this->working_directory = false;
+ }
+ }
+
+ if ($this->working_directory !== false)
+ {
+ $is_absolute_path = true;
+ $path = $this->working_directory . '/' . $path;
+ }
+ }
+
+ if ($is_absolute_path)
+ {
+ if (defined('PHP_WINDOWS_VERSION_MAJOR'))
+ {
+ $path_prefix = $path[0] . ':';
+ $path = substr($path, 2);
+ }
+ else
+ {
+ $path_prefix = '';
+ }
+ }
+
+ $resolved_path = $this->resolve_path($path, $path_prefix, $is_absolute_path);
+ if ($resolved_path === false)
+ {
+ return false;
+ }
+
+ if (!@file_exists($resolved_path) || (!@is_dir($resolved_path . '/') && !is_file($resolved_path)))
+ {
+ return false;
+ }
+
+ // Return OS specific directory separators
+ $resolved = str_replace('/', DIRECTORY_SEPARATOR, $resolved_path);
+
+ // Check for DIRECTORY_SEPARATOR at the end (and remove it!)
+ if (substr($resolved, -1) === DIRECTORY_SEPARATOR)
+ {
+ return substr($resolved, 0, -1);
+ }
+
+ return $resolved;
+ }
+
+ /**
+ * Convert file(s) to \Traversable object
+ *
+ * This is the same function as Symfony's toIterator, but that is private
+ * so we cannot use it.
+ *
+ * @param string|array|\Traversable $files filename/list of filenames
+ * @return \Traversable
+ */
+ protected function to_iterator($files)
+ {
+ if (!$files instanceof \Traversable)
+ {
+ $files = new \ArrayObject(is_array($files) ? $files : array($files));
+ }
+
+ return $files;
+ }
+
+ /**
+ * Try to resolve symlinks in path
+ *
+ * @param string $path The path to resolve
+ * @param string $prefix The path prefix (on windows the drive letter)
+ * @param bool $absolute Whether or not the path is absolute
+ * @param bool $return_array Whether or not to return path parts
+ *
+ * @return string|array|bool returns the resolved path or an array of parts of the path if $return_array is true
+ * or false if path cannot be resolved
+ */
+ protected function resolve_path($path, $prefix = '', $absolute = false, $return_array = false)
+ {
+ if ($return_array)
+ {
+ $path = str_replace(DIRECTORY_SEPARATOR, '/', $path);
+ }
+
+ trim ($path, '/');
+ $path_parts = explode('/', $path);
+ $resolved = array();
+ $resolved_path = $prefix;
+ $file_found = false;
+
+ foreach ($path_parts as $path_part)
+ {
+ if ($file_found)
+ {
+ return false;
+ }
+
+ if (empty($path_part) || ($path_part === '.' && ($absolute || !empty($resolved))))
+ {
+ continue;
+ }
+ else if ($absolute && $path_part === '..')
+ {
+ if (empty($resolved))
+ {
+ // No directories above root
+ return false;
+ }
+
+ array_pop($resolved);
+ $resolved_path = false;
+ }
+ else if ($path_part === '..' && !empty($resolved) && !in_array($resolved[sizeof($resolved) - 1], array('.', '..')))
+ {
+ array_pop($resolved);
+ $resolved_path = false;
+ }
+ else
+ {
+ if ($resolved_path === false)
+ {
+ if (empty($resolved))
+ {
+ $resolved_path = ($absolute) ? $prefix . '/' . $path_part : $path_part;
+ }
+ else
+ {
+ $tmp_array = $resolved;
+ if ($absolute)
+ {
+ array_unshift($tmp_array, $prefix);
+ }
+
+ $resolved_path = implode('/', $tmp_array);
+ }
+ }
+
+ $current_path = $resolved_path . '/' . $path_part;
+
+ // Resolve symlinks
+ if (is_link($current_path))
+ {
+ if (!function_exists('readlink'))
+ {
+ return false;
+ }
+
+ $link = readlink($current_path);
+
+ // Is link has an absolute path in it?
+ if ($this->is_absolute_path($link))
+ {
+ if (defined('PHP_WINDOWS_VERSION_MAJOR'))
+ {
+ $prefix = $link[0] . ':';
+ $link = substr($link, 2);
+ }
+ else
+ {
+ $prefix = '';
+ }
+
+ $resolved = $this->resolve_path($link, $prefix, true, true);
+ $absolute = true;
+ }
+ else
+ {
+ $resolved = $this->resolve_path($resolved_path . '/' . $link, $prefix, $absolute, true);
+ }
+
+ if (!$resolved)
+ {
+ return false;
+ }
+
+ $resolved_path = false;
+ }
+ else if (is_dir($current_path . '/'))
+ {
+ $resolved[] = $path_part;
+ $resolved_path = $current_path;
+ }
+ else if (is_file($current_path))
+ {
+ $resolved[] = $path_part;
+ $resolved_path = $current_path;
+ $file_found = true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
+
+ // If at the end of the path there were a .. or .
+ // we need to build the path again.
+ // Only doing this when a string is expected in return
+ if ($resolved_path === false && $return_array === false)
+ {
+ if (empty($resolved))
+ {
+ $resolved_path = ($absolute) ? $prefix . '/' : './';
+ }
+ else
+ {
+ $tmp_array = $resolved;
+ if ($absolute)
+ {
+ array_unshift($tmp_array, $prefix);
+ }
+
+ $resolved_path = implode('/', $tmp_array);
+ }
+ }
+
+ return ($return_array) ? $resolved : $resolved_path;
+ }
+}
diff --git a/phpBB/phpbb/filesystem/filesystem_interface.php b/phpBB/phpbb/filesystem/filesystem_interface.php
new file mode 100644
index 0000000000..21ad8252f8
--- /dev/null
+++ b/phpBB/phpbb/filesystem/filesystem_interface.php
@@ -0,0 +1,284 @@
+<?php
+/**
+ *
+ * This file is part of the phpBB Forum Software package.
+ *
+ * @copyright (c) phpBB Limited <https://www.phpbb.com>
+ * @license GNU General Public License, version 2 (GPL-2.0)
+ *
+ * For full copyright and license information, please see
+ * the docs/CREDITS.txt file.
+ *
+ */
+
+namespace phpbb\filesystem;
+
+/**
+ * Interface for phpBB's filesystem service
+ */
+interface filesystem_interface
+{
+ /**
+ * chmod all permissions flag
+ *
+ * @var int
+ */
+ const CHMOD_ALL = 7;
+
+ /**
+ * chmod read permissions flag
+ *
+ * @var int
+ */
+ const CHMOD_READ = 4;
+
+ /**
+ * chmod write permissions flag
+ *
+ * @var int
+ */
+ const CHMOD_WRITE = 2;
+
+ /**
+ * chmod execute permissions flag
+ *
+ * @var int
+ */
+ const CHMOD_EXECUTE = 1;
+
+ /**
+ * Change owner group of files/directories
+ *
+ * @param string|array|\Traversable $files The file(s)/directorie(s) to change group
+ * @param string $group The group that should own the files/directories
+ * @param bool $recursive If the group should be changed recursively
+ * @throws \phpbb\filesystem\exception\filesystem_exception the filename which triggered the error can be
+ * retrieved by filesystem_exception::get_filename()
+ */
+ public function chgrp($files, $group, $recursive = false);
+
+ /**
+ * Global function for chmodding directories and files for internal use
+ *
+ * The function accepts filesystem_interface::CHMOD_ flags in the permission argument
+ * or the user can specify octal values (or any integer if it makes sense). All directories will have
+ * an execution bit appended, if the user group (owner, group or other) has any bit specified.
+ *
+ * @param string|array|\Traversable $file The file/directory to be chmodded
+ * @param int $perms Permissions to set
+ * @param bool $recursive If the permissions should be changed recursively
+ * @param bool $force_chmod_link Try to apply permissions to symlinks as well
+ *
+ * @throws \phpbb\filesystem\exception\filesystem_exception the filename which triggered the error can be
+ * retrieved by filesystem_exception::get_filename()
+ */
+ public function chmod($files, $perms = null, $recursive = false, $force_chmod_link = false);
+
+ /**
+ * Change owner group of files/directories
+ *
+ * @param string|array|\Traversable $files The file(s)/directorie(s) to change group
+ * @param string $user The owner user name
+ * @param bool $recursive Whether change the owner recursively or not
+ *
+ * @throws \phpbb\filesystem\exception\filesystem_exception the filename which triggered the error can be
+ * retrieved by filesystem_exception::get_filename()
+ */
+ public function chown($files, $user, $recursive = false);
+
+ /**
+ * Eliminates useless . and .. components from specified path.
+ *
+ * @param string $path Path to clean
+ *
+ * @return string Cleaned path
+ */
+ public function clean_path($path);
+
+ /**
+ * Copies a file.
+ *
+ * This method only copies the file if the origin file is newer than the target file.
+ *
+ * By default, if the target already exists, it is not overridden.
+ *
+ * @param string $origin_file The original filename
+ * @param string $target_file The target filename
+ * @param bool $override Whether to override an existing file or not
+ *
+ * @throws \phpbb\filesystem\exception\filesystem_exception When the file cannot be copied
+ */
+ public function copy($origin_file, $target_file, $override = false);
+
+ /**
+ * Atomically dumps content into a file.
+ *
+ * @param string $filename The file to be written to.
+ * @param string $content The data to write into the file.
+ *
+ * @throws \phpbb\filesystem\exception\filesystem_exception When the file cannot be written
+ */
+ public function dump_file($filename, $content);
+
+ /**
+ * Checks the existence of files or directories.
+ *
+ * @param string|array|\Traversable $files files/directories to check
+ *
+ * @return bool Returns true if all files/directories exist, false otherwise
+ */
+ public function exists($files);
+
+ /**
+ * Checks if a path is absolute or not
+ *
+ * @param string $path Path to check
+ *
+ * @return bool true if the path is absolute, false otherwise
+ */
+ public function is_absolute_path($path);
+
+ /**
+ * Checks if files/directories are readable
+ *
+ * @param string|array|\Traversable $files files/directories to check
+ * @param bool $recursive Whether or not directories should be checked recursively
+ *
+ * @return bool True when the files/directories are readable, otherwise false.
+ */
+ public function is_readable($files, $recursive = false);
+
+ /**
+ * Test if a file/directory is writable
+ *
+ * @param string|array|\Traversable $files files/directories to perform write test on
+ * @param bool $recursive Whether or not directories should be checked recursively
+ *
+ * @return bool True when the files/directories are writable, otherwise false.
+ */
+ public function is_writable($files, $recursive = false);
+
+ /**
+ * Given an existing path, convert it to a path relative to a given starting path
+ *
+ * @param string $end_path Absolute path of target
+ * @param string $start_path Absolute path where traversal begins
+ *
+ * @return string Path of target relative to starting path
+ */
+ public function make_path_relative($end_path, $start_path);
+
+ /**
+ * Mirrors a directory to another.
+ *
+ * @param string $origin_dir The origin directory
+ * @param string $target_dir The target directory
+ * @param \Traversable $iterator A Traversable instance
+ * @param array $options An array of boolean options
+ * Valid options are:
+ * - $options['override'] Whether to override an existing file on copy or not (see copy())
+ * - $options['copy_on_windows'] Whether to copy files instead of links on Windows (see symlink())
+ * - $options['delete'] Whether to delete files that are not in the source directory (defaults to false)
+ *
+ * @throws \phpbb\filesystem\exception\filesystem_exception When the file cannot be copied.
+ * The filename which triggered the error can be
+ * retrieved by filesystem_exception::get_filename()
+ */
+ public function mirror($origin_dir, $target_dir, \Traversable $iterator = null, $options = array());
+
+ /**
+ * Creates a directory recursively.
+ *
+ * @param string|array|\Traversable $dirs The directory path
+ * @param int $mode The directory mode
+ *
+ * @throws \phpbb\filesystem\exception\filesystem_exception On any directory creation failure
+ * The filename which triggered the error can be
+ * retrieved by filesystem_exception::get_filename()
+ */
+ public function mkdir($dirs, $mode = 0777);
+
+ /**
+ * Global function for chmodding directories and files for internal use
+ *
+ * This function determines owner and group whom the file belongs to and user and group of PHP and then set safest possible file permissions.
+ * The function determines owner and group from common.php file and sets the same to the provided file.
+ * The function uses bit fields to build the permissions.
+ * The function sets the appropiate execute bit on directories.
+ *
+ * Supported constants representing bit fields are:
+ *
+ * filesystem_interface::CHMOD_ALL - all permissions (7)
+ * filesystem_interface::CHMOD_READ - read permission (4)
+ * filesystem_interface::CHMOD_WRITE - write permission (2)
+ * filesystem_interface::CHMOD_EXECUTE - execute permission (1)
+ *
+ * NOTE: The function uses POSIX extension and fileowner()/filegroup() functions. If any of them is disabled, this function tries to build proper permissions, by calling is_readable() and is_writable() functions.
+ *
+ * @param string|array|\Traversable $file The file/directory to be chmodded
+ * @param int $perms Permissions to set
+ * @param bool $recursive If the permissions should be changed recursively
+ * @param bool $force_chmod_link Try to apply permissions to symlinks as well
+ *
+ * @throws \phpbb\filesystem\exception\filesystem_exception the filename which triggered the error can be
+ * retrieved by filesystem_exception::get_filename()
+ */
+ public function phpbb_chmod($file, $perms = null, $recursive = false, $force_chmod_link = false);
+
+ /**
+ * A wrapper for PHP's realpath
+ *
+ * Try to resolve realpath when PHP's realpath is not available, or
+ * known to be buggy.
+ *
+ * @param string $path Path to resolve
+ *
+ * @return string Resolved path
+ */
+ public function realpath($path);
+
+ /**
+ * Removes files or directories.
+ *
+ * @param string|array|\Traversable $files A filename, an array of files, or a \Traversable instance to remove
+ *
+ * @throws \phpbb\filesystem\exception\filesystem_exception When removal fails.
+ * The filename which triggered the error can be
+ * retrieved by filesystem_exception::get_filename()
+ */
+ public function remove($files);
+
+ /**
+ * Renames a file or a directory.
+ *
+ * @param string $origin The origin filename or directory
+ * @param string $target The new filename or directory
+ * @param bool $overwrite Whether to overwrite the target if it already exists
+ *
+ * @throws \phpbb\filesystem\exception\filesystem_exception When target file or directory already exists,
+ * or origin cannot be renamed.
+ */
+ public function rename($origin, $target, $overwrite = false);
+
+ /**
+ * Creates a symbolic link or copy a directory.
+ *
+ * @param string $origin_dir The origin directory path
+ * @param string $target_dir The symbolic link name
+ * @param bool $copy_on_windows Whether to copy files if on Windows
+ *
+ * @throws \phpbb\filesystem\exception\filesystem_exception When symlink fails
+ */
+ public function symlink($origin_dir, $target_dir, $copy_on_windows = false);
+
+ /**
+ * Sets access and modification time of file.
+ *
+ * @param string|array|\Traversable $files A filename, an array of files, or a \Traversable instance to create
+ * @param int $time The touch time as a Unix timestamp
+ * @param int $access_time The access time as a Unix timestamp
+ *
+ * @throws \phpbb\filesystem\exception\filesystem_exception When touch fails
+ */
+ public function touch($files, $time = null, $access_time = null);
+}
diff --git a/phpBB/phpbb/finder.php b/phpBB/phpbb/finder.php
index 28f28825ba..58bc27084e 100644
--- a/phpBB/phpbb/finder.php
+++ b/phpBB/phpbb/finder.php
@@ -48,14 +48,14 @@ class finder
/**
* Creates a new finder instance with its dependencies
*
- * @param \phpbb\filesystem $filesystem Filesystem instance
+ * @param \phpbb\filesystem\filesystem_interface $filesystem Filesystem instance
* @param string $phpbb_root_path Path to the phpbb root directory
* @param \phpbb\cache\driver\driver_interface $cache A cache instance or null
* @param string $php_ext php file extension
* @param string $cache_name The name of the cache variable, defaults to
* _ext_finder
*/
- public function __construct(\phpbb\filesystem $filesystem, $phpbb_root_path = '', \phpbb\cache\driver\driver_interface $cache = null, $php_ext = 'php', $cache_name = '_ext_finder')
+ public function __construct(\phpbb\filesystem\filesystem_interface $filesystem, $phpbb_root_path = '', \phpbb\cache\driver\driver_interface $cache = null, $php_ext = 'php', $cache_name = '_ext_finder')
{
$this->filesystem = $filesystem;
$this->phpbb_root_path = $phpbb_root_path;
diff --git a/phpBB/phpbb/path_helper.php b/phpBB/phpbb/path_helper.php
index 5400c1c5a6..7b0d6f0fba 100644
--- a/phpBB/phpbb/path_helper.php
+++ b/phpBB/phpbb/path_helper.php
@@ -21,7 +21,7 @@ class path_helper
/** @var \phpbb\symfony_request */
protected $symfony_request;
- /** @var \phpbb\filesystem */
+ /** @var \phpbb\filesystem\filesystem_interface */
protected $filesystem;
/** @var \phpbb\request\request_interface */
@@ -43,13 +43,13 @@ class path_helper
* Constructor
*
* @param \phpbb\symfony_request $symfony_request
- * @param \phpbb\filesystem $filesystem
+ * @param \phpbb\filesystem\filesystem_interface $filesystem
* @param \phpbb\request\request_interface $request
* @param string $phpbb_root_path Relative path to phpBB root
* @param string $php_ext PHP file extension
* @param mixed $adm_relative_path Relative path admin path to adm/ root
*/
- public function __construct(\phpbb\symfony_request $symfony_request, \phpbb\filesystem $filesystem, \phpbb\request\request_interface $request, $phpbb_root_path, $php_ext, $adm_relative_path = null)
+ public function __construct(\phpbb\symfony_request $symfony_request, \phpbb\filesystem\filesystem_interface $filesystem, \phpbb\request\request_interface $request, $phpbb_root_path, $php_ext, $adm_relative_path = null)
{
$this->symfony_request = $symfony_request;
$this->filesystem = $filesystem;
diff --git a/phpBB/phpbb/routing/router.php b/phpBB/phpbb/routing/router.php
index 4ccd3cf5e3..5313106b0a 100644
--- a/phpBB/phpbb/routing/router.php
+++ b/phpBB/phpbb/routing/router.php
@@ -86,16 +86,23 @@ class router implements RouterInterface
protected $route_collection;
/**
+ * @var \phpbb\filesystem\filesystem_interface
+ */
+ protected $filesystem;
+
+ /**
* Construct method
*
+ * @param \phpbb\filesystem\filesystem_interface $filesystem Filesystem helper
* @param manager $extension_manager Extension manager
* @param string $phpbb_root_path phpBB root path
* @param string $php_ext PHP file extension
* @param string $environment Name of the current environment
* @param array $routing_files Array of strings containing paths to YAML files holding route information
*/
- public function __construct(manager $extension_manager, $phpbb_root_path, $php_ext, $environment, $routing_files = array())
+ public function __construct(\phpbb\filesystem\filesystem_interface $filesystem, manager $extension_manager, $phpbb_root_path, $php_ext, $environment, $routing_files = array())
{
+ $this->filesystem = $filesystem;
$this->extension_manager = $extension_manager;
$this->routing_files = $routing_files;
$this->phpbb_root_path = $phpbb_root_path;
@@ -148,7 +155,7 @@ class router implements RouterInterface
$this->route_collection = new RouteCollection;
foreach ($this->routing_files as $file_path)
{
- $loader = new YamlFileLoader(new FileLocator(phpbb_realpath($base_path)));
+ $loader = new YamlFileLoader(new FileLocator($this->filesystem->realpath($base_path)));
$this->route_collection->addCollection($loader->load($file_path));
}
}
diff --git a/phpBB/phpbb/session.php b/phpBB/phpbb/session.php
index d49f88b676..6154f384f3 100644
--- a/phpBB/phpbb/session.php
+++ b/phpBB/phpbb/session.php
@@ -92,8 +92,8 @@ class session
}
// current directory within the phpBB root (for example: adm)
- $root_dirs = explode('/', str_replace('\\', '/', phpbb_realpath($root_path)));
- $page_dirs = explode('/', str_replace('\\', '/', phpbb_realpath('./')));
+ $root_dirs = explode('/', str_replace('\\', '/', $phpbb_filesystem->realpath($root_path)));
+ $page_dirs = explode('/', str_replace('\\', '/', $phpbb_filesystem->realpath('./')));
$intersection = array_intersect_assoc($root_dirs, $page_dirs);
$root_dirs = array_diff_assoc($root_dirs, $intersection);
diff --git a/phpBB/phpbb/template/twig/loader.php b/phpBB/phpbb/template/twig/loader.php
index 2f8ffaa776..df8183c019 100644
--- a/phpBB/phpbb/template/twig/loader.php
+++ b/phpBB/phpbb/template/twig/loader.php
@@ -21,6 +21,24 @@ class loader extends \Twig_Loader_Filesystem
protected $safe_directories = array();
/**
+ * @var \phpbb\filesystem\filesystem_interface
+ */
+ protected $filesystem;
+
+ /**
+ * Constructor
+ *
+ * @param \phpbb\filesystem\filesystem_interface $filesystem
+ * @param string|array $paths
+ */
+ public function __construct(\phpbb\filesystem\filesystem_interface $filesystem, $paths = array())
+ {
+ $this->filesystem = $filesystem;
+
+ parent::__construct($paths);
+ }
+
+ /**
* Set safe directories
*
* @param array $directories Array of directories that are safe (empty to clear)
@@ -49,7 +67,7 @@ class loader extends \Twig_Loader_Filesystem
*/
public function addSafeDirectory($directory)
{
- $directory = phpbb_realpath($directory);
+ $directory = $this->filesystem->realpath($directory);
if ($directory !== false)
{
@@ -118,7 +136,7 @@ class loader extends \Twig_Loader_Filesystem
// can now check if we're within a "safe" directory
// Find the real path of the directory the file is in
- $directory = phpbb_realpath(dirname($file));
+ $directory = $this->filesystem->realpath(dirname($file));
if ($directory === false)
{
diff --git a/phpBB/phpbb/viewonline_helper.php b/phpBB/phpbb/viewonline_helper.php
index b722f9d911..89915f2228 100644
--- a/phpBB/phpbb/viewonline_helper.php
+++ b/phpBB/phpbb/viewonline_helper.php
@@ -18,13 +18,13 @@ namespace phpbb;
*/
class viewonline_helper
{
- /** @var \phpbb\filesystem */
+ /** @var \phpbb\filesystem\filesystem_interface */
protected $filesystem;
/**
- * @param \phpbb\filesystem $filesystem
+ * @param \phpbb\filesystem\filesystem_interface $filesystem phpBB's filesystem service
*/
- public function __construct(\phpbb\filesystem $filesystem)
+ public function __construct(\phpbb\filesystem\filesystem_interface $filesystem)
{
$this->filesystem = $filesystem;
}
ef='#n5695'>5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773
# translation of network-tools.po to
# Polish translation file
#
# tomek, 2005.
# Paweł Jabłoński <pj@linux-mandrake.com>, 2001,2002.
# Arkadiusz Lipiec <arkadiusz.lipiec@gazeta.pl>, 2002-2004.
# Tomasz Bednarski <bednarski@skrzynka.pl>, 2005.
# Tomasz Bednarski <tomasz.bednarski@mandriva.pl>, 2005.
# Maciej Walkowiak <m.walkowiak@computer.org>, 2005.
# Tomasz Bednarski - Mageia Poland <tomasz.bednarski@mandriva.pl>, 2006, 2007.
# Mageia Poland <biuro@mandriva.pl>, 2006.
# Tomasz Bednarski Mageia Poland <tomasz.bednarski@mandriva.pl>, 2006.
# Tomasz Bednarski - Amazis.net <tomasz.bednarski@amazis.pl>, 2007.
# Tomasz Bednarski - Amazis.net <tomasz.bednarski@mandriva.pl>, 2008.
# Amazis.net sp. z o.o. - Tomasz Bednarski <tomasz.bednarski@mandriva.pl>, 2008.
# Amazis.net sp. z o.o. - Tomasz Bednarski <tomasz.bednarski@amazis.pl>, 2009.
msgid ""
msgstr ""
"Project-Id-Version: network-tools\n"
"POT-Creation-Date: 2013-01-20 13:26+0100\n"
"PO-Revision-Date: 2010-01-10 11:51+0100\n"
"Last-Translator: Marek Walczak <kubdat@poczta.fm>\n"
"Language-Team:  <pl@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"

#: ../bin/drakconnect-old:45
#, c-format
msgid "Network configuration (%d adapters)"
msgstr "Konfiguracja sieci (%d karty)"

#: ../bin/drakconnect-old:64 ../bin/drakinvictus:105
#, c-format
msgid "Interface"
msgstr "Interfejs"

#: ../bin/drakconnect-old:64 ../bin/drakconnect-old:208 ../bin/drakhosts:183
#: ../lib/network/connection/ethernet.pm:141
#: ../lib/network/drakconnect/edit.pm:151 ../lib/network/netconnect.pm:632
#: ../lib/network/vpn/openvpn.pm:223
#, c-format
msgid "IP address"
msgstr "Adres IP"

#: ../bin/drakconnect-old:64 ../bin/drakids:261
#: ../lib/network/drakconnect/edit.pm:135
#: ../lib/network/drakconnect/edit.pm:393 ../lib/network/netconnect.pm:476
#, c-format
msgid "Protocol"
msgstr "Protokół"

#: ../bin/drakconnect-old:64 ../lib/network/netconnect.pm:462
#, c-format
msgid "Driver"
msgstr "Sterownik"

#: ../bin/drakconnect-old:64
#, c-format
msgid "State"
msgstr "Stan"

#: ../bin/drakconnect-old:79
#, c-format
msgid "Hostname: "
msgstr "Nazwa komputera:"

#: ../bin/drakconnect-old:81
#, c-format
msgid "Configure hostname..."
msgstr "Konfiguracja nazwy komputera..."

#: ../bin/drakconnect-old:95 ../bin/drakconnect-old:171
#, c-format
msgid "LAN configuration"
msgstr "Konfiguracja sieci lokalnej"

#: ../bin/drakconnect-old:100
#, c-format
msgid "Configure Local Area Network..."
msgstr "Konfiguracja sieci lokalnej..."

#: ../bin/drakconnect-old:106 ../bin/draknfs:193 ../bin/net_applet:217
#: ../lib/network/drakconnect/edit.pm:71
#, c-format
msgid "Help"
msgstr "Pomoc"

#: ../bin/drakconnect-old:108 ../bin/drakinvictus:140
#: ../lib/network/drakconnect/edit.pm:72 ../lib/network/drakconnect/edit.pm:76
#, c-format
msgid "Apply"
msgstr "Zastosuj"

#: ../bin/drakconnect-old:110 ../bin/drakconnect-old:263
#: ../bin/draknetprofile:164 ../bin/net_monitor:388
#: ../lib/network/drakconnect/global.pm:88
#, c-format
msgid "Cancel"
msgstr "Anuluj"

#: ../bin/drakconnect-old:111 ../bin/drakconnect-old:178
#: ../bin/drakconnect-old:265 ../bin/draknetprofile:166 ../bin/net_monitor:389
#: ../lib/network/drakconnect/global.pm:89
#, c-format
msgid "Ok"
msgstr "Ok"

#: ../bin/drakconnect-old:113 ../bin/drakgw:351 ../bin/draknfs:585
#: ../bin/draksambashare:229 ../lib/network/connection_manager.pm:74
#: ../lib/network/connection_manager.pm:89
#: ../lib/network/connection_manager.pm:207
#: ../lib/network/connection_manager.pm:236
#: ../lib/network/connection_manager.pm:354
#: ../lib/network/drakconnect/edit.pm:466 ../lib/network/drakvpn.pm:49
#: ../lib/network/netcenter.pm:150 ../lib/network/netconnect.pm:186
#: ../lib/network/netconnect.pm:208 ../lib/network/netconnect.pm:305
#: ../lib/network/netconnect.pm:732 ../lib/network/thirdparty.pm:352
#: ../lib/network/thirdparty.pm:367
#, c-format
msgid "Please wait"
msgstr "Proszę czekać"

#: ../bin/drakconnect-old:115 ../lib/network/drakconnect/edit.pm:468
#, c-format
msgid "Please Wait... Applying the configuration"
msgstr "Proszę czekać... Stosowanie konfiguracji"

#: ../bin/drakconnect-old:141
#, c-format
msgid "Deactivate now"
msgstr "Wyłącz teraz"

#: ../bin/drakconnect-old:141
#, c-format
msgid "Activate now"
msgstr "Aktywuj teraz"

#: ../bin/drakconnect-old:175
#, c-format
msgid ""
"You do not have any configured interface.\n"
"Configure them first by clicking on 'Configure'"
msgstr ""
"Nie skonfigurowano jeszcze żadnego interfejsu.\n"
"Zacznij konfigurację przez kliknięcie na \"Konfiguruj\""

#: ../bin/drakconnect-old:189
#, c-format
msgid "LAN Configuration"
msgstr "Konfiguracja sieci lokalnej"

#: ../bin/drakconnect-old:201
#, c-format
msgid "Adapter %s: %s"
msgstr "Karta %s: %s"

#: ../bin/drakconnect-old:209 ../bin/drakgw:181
#: ../lib/network/connection/ethernet.pm:148
#: ../lib/network/drakconnect/edit.pm:156
#, c-format
msgid "Netmask"
msgstr "Maska"

#: ../bin/drakconnect-old:210
#, c-format
msgid "Boot Protocol"
msgstr "Protokół uruchamiania"

#: ../bin/drakconnect-old:211
#, c-format
msgid "Started on boot"
msgstr "Uruchamiany przy starcie"

#: ../bin/drakconnect-old:212 ../lib/network/connection/ethernet.pm:159
#: ../lib/network/drakconnect/edit.pm:199
#, c-format
msgid "DHCP client"
msgstr "Klient DHCP"

#: ../bin/drakconnect-old:247
#, fuzzy, c-format
msgid ""
"This interface has not been configured yet.\n"
"Run the \"%s\" assistant from the Mageia Linux Control Center"
msgstr ""
"Ten interfejs nie został jeszcze skonfigurowany.\n"
"Uruchom druida \"%s\" z Centrum Sterowania Mageia"

#: ../bin/drakconnect-old:247 ../bin/net_applet:105
#: ../lib/network/drakconnect/global.pm:36
#, c-format
msgid "Set up a new network interface (LAN, ISDN, ADSL, ...)"
msgstr "Konfiguracja nowego interfejsu sieciowego (LAN, ISDN, ADSL, ...)"

#: ../bin/drakconnect-old:273 ../bin/drakconnect-old:305
#: ../lib/network/drakconnect.pm:16 ../lib/network/drakconnect/edit.pm:515
#, c-format
msgid "No IP"
msgstr "Brak IP"

#: ../bin/drakconnect-old:306 ../lib/network/drakconnect.pm:17
#: ../lib/network/drakconnect/edit.pm:516
#, c-format
msgid "No Mask"
msgstr "Brak maski"

#: ../bin/drakconnect-old:307 ../lib/network/drakconnect.pm:18
#, c-format
msgid "up"
msgstr "w górę"

#: ../bin/drakconnect-old:307 ../lib/network/drakconnect.pm:18
#, c-format
msgid "down"
msgstr "w dół"

#: ../bin/drakgw:71
#, c-format
msgid "Internet Connection Sharing"
msgstr "Udostępnianie połączenia z Internetem"

#: ../bin/drakgw:75
#, c-format
msgid ""
"You are about to configure your computer to share its Internet connection.\n"
"With that feature, other computers on your local network will be able to use "
"this computer's Internet connection.\n"
"\n"
"Make sure you have configured your Network/Internet access using drakconnect "
"before going any further.\n"
"\n"
"Note: you need a dedicated Network Adapter to set up a Local Area Network "
"(LAN). Please disable Mageia Firewall for the network adapter connected to "
"your LAN connection before proceeding."
msgstr ""
"Chcesz skonfigurować komputer jako udostępniający połączenie z Internetem\n"
"Ta usługa pozwala innym komputerom w sieci lokalnej na używanie połączenia\n"
"tego komputera z Internetem.\n"
"\n"
"Upewnij się, że skonfigurowano dostęp do sieci/Internetu przy użyciu\n"
"programu drakconnect, zanim dokonasz dalszych czynności.\n"
"\n"
"Uwaga:  wymagana jest dedykowana karta sieciowa włączająca komputer w sieć "
"lokalną (LAN). Zanim rozpoczniesz konfigurację wyłącz zaporę sieciową dla "
"karty sieciowej podłączonej do sieci lokalnej."

#: ../bin/drakgw:91
#, c-format
msgid ""
"The setup of Internet Connection Sharing has already been done.\n"
"It's currently enabled.\n"
"\n"
"What would you like to do?"
msgstr ""
"Konfiguracja udostępniania połączenia z Internetem została już wykonana.\n"
"Jest teraz uaktywniona.\n"
"\n"
"Co chcesz zrobić?"

#: ../bin/drakgw:95
#, c-format
msgid ""
"The setup of Internet connection sharing has already been done.\n"
"It's currently disabled.\n"
"\n"
"What would you like to do?"
msgstr ""
"Konfiguracja udostępniania połączenia z Internetem została już wykonana.\n"
"Usługa ta jest teraz wyłączona.\n"
"\n"
"Co chcesz zrobić?"

#: ../bin/drakgw:101 ../lib/network/drakconnect/edit.pm:373
#, c-format
msgid "Disable"
msgstr "Wyłącz"

#: ../bin/drakgw:101 ../lib/network/drakconnect/edit.pm:373
#, c-format
msgid "Enable"
msgstr "Włącz"

#: ../bin/drakgw:101
#, c-format
msgid "Reconfigure"
msgstr "Rekonfigurować"

#: ../bin/drakgw:122
#, c-format
msgid "Please select the network interface directly connected to the internet."
msgstr "Wybierz interfejs sieciowy podłączony do Internetu."

#: ../bin/drakgw:123 ../lib/network/drakconnect/delete.pm:26
#: ../lib/network/netconnect.pm:378 ../lib/network/netconnect.pm:413
#, c-format
msgid "Net Device"
msgstr "Urządzenie sieciowe"

#: ../bin/drakgw:141
#, c-format
msgid ""
"There is only one network adapter on your system configured for LAN "
"connections:\n"
"\n"
"%s\n"
"\n"
"I am about to setup your Local Area Network with that adapter.\n"
"\n"
"If you have any other adapter connected to Local Area Network,\n"
"disable the firewall protection on it using drakfirewall before\n"
"configuring Internet Connection sharing."
msgstr ""
"Wykryto tylko jedną kartę sieciową skonfigurowaną dla połączeń LAN:\n"
"\n"
"%s\n"
"\n"
"Sieć lokalna zostanie skonfigurowana z użyciem tej karty.\n"
"\n"
"Jeżeli posiadasz inne karty podłączone do sieci lokalnej,\n"
"przed rozpoczęciem konfiguracji udostępniania połączenia\n"
"użyj programu drakfirewall, aby wyłączyć ochronę sieciową dla tej karty."

#: ../bin/drakgw:156
#, c-format
msgid ""
"Please choose what network adapter will be connected to your Local Area "
"Network."
msgstr ""
"Wskaż, która karta sieciowa będzie połączona\n"
"z siecią lokalną (LAN)."

#: ../bin/drakgw:177
#, c-format
msgid "Local Area Network settings"
msgstr "Ustawienia sieci lokalnej"

#: ../bin/drakgw:180 ../lib/network/vpn/openvpn.pm:229
#, c-format
msgid "Local IP address"
msgstr "Lokalny adres IP"

#: ../bin/drakgw:182
#, c-format
msgid "The internal domain name"
msgstr "Wewnętrzna nazwa domeny"

#: ../bin/drakgw:188 ../bin/drakhosts:98 ../bin/drakhosts:232
#: ../bin/drakhosts:239 ../bin/drakhosts:246 ../bin/drakinvictus:72
#: ../bin/draknetprofile:171 ../bin/draknetprofile:191 ../bin/draknfs:93
#: ../bin/draknfs:283 ../bin/draknfs:430 ../bin/draknfs:432 ../bin/draknfs:435
#: ../bin/draknfs:527 ../bin/draknfs:534 ../bin/draknfs:606 ../bin/draknfs:613
#: ../bin/draknfs:620 ../bin/draksambashare:394 ../bin/draksambashare:401
#: ../bin/draksambashare:404 ../bin/draksambashare:456
#: ../bin/draksambashare:480 ../bin/draksambashare:553
#: ../bin/draksambashare:630 ../bin/draksambashare:696
#: ../bin/draksambashare:796 ../bin/draksambashare:804
#: ../bin/draksambashare:943 ../bin/draksambashare:1098
#: ../bin/draksambashare:1117 ../bin/draksambashare:1149
#: ../bin/draksambashare:1276 ../bin/draksambashare:1378
#: ../bin/draksambashare:1387 ../bin/draksambashare:1409
#: ../bin/draksambashare:1418 ../bin/draksambashare:1437
#: ../bin/draksambashare:1446 ../bin/draksambashare:1458
#: ../lib/network/connection/xdsl.pm:361
#: ../lib/network/connection_manager.pm:62
#: ../lib/network/connection_manager.pm:68
#: ../lib/network/connection_manager.pm:84
#: ../lib/network/connection_manager.pm:92
#: ../lib/network/connection_manager.pm:178
#: ../lib/network/connection_manager.pm:182
#: ../lib/network/connection_manager.pm:224
#: ../lib/network/connection_manager.pm:482
#: ../lib/network/drakconnect/delete.pm:12
#: ../lib/network/drakconnect/edit.pm:506
#: ../lib/network/drakconnect/edit.pm:510
#: ../lib/network/drakconnect/edit.pm:519 ../lib/network/drakvpn.pm:45
#: ../lib/network/drakvpn.pm:52 ../lib/network/ndiswrapper.pm:30
#: ../lib/network/ndiswrapper.pm:47 ../lib/network/ndiswrapper.pm:120
#: ../lib/network/ndiswrapper.pm:126 ../lib/network/netconnect.pm:135
#: ../lib/network/netconnect.pm:188 ../lib/network/netconnect.pm:234
#: ../lib/network/netconnect.pm:275 ../lib/network/netconnect.pm:846
#: ../lib/network/thirdparty.pm:123 ../lib/network/thirdparty.pm:141
#: ../lib/network/thirdparty.pm:230 ../lib/network/thirdparty.pm:232
#: ../lib/network/thirdparty.pm:253
#, c-format
msgid "Error"
msgstr "Błąd"

#: ../bin/drakgw:188
#, c-format
msgid "Potential LAN address conflict found in current config of %s!\n"
msgstr ""
"W bieżącej konfiguracji wykryto możliwy konflikt adresów sieciowych: %s!\n"

#: ../bin/drakgw:204
#, c-format
msgid "Domain Name Server (DNS) configuration"
msgstr "Konfiguracja serwera nazw domen (DNS)"

#: ../bin/drakgw:208
#, c-format
msgid "Use this gateway as domain name server"
msgstr "Wykorzystaj poniższą bramę jako serwer nazw domen"

#: ../bin/drakgw:209
#, c-format
msgid "The DNS Server IP"
msgstr "Numer IP serwera DNS"

#: ../bin/drakgw:236
#, c-format
msgid ""
"DHCP Server Configuration.\n"
"\n"
"Here you can select different options for the DHCP server configuration.\n"
"If you do not know the meaning of an option, simply leave it as it is."
msgstr ""
"Konfiguracja serwera DHCP.\n"
"\n"
"W tym miejscu można określić różne opcje dla konfiguracji serwera DHCP.\n"
"Jeśli nie rozumiesz znaczenia opcji, po prostu nie zmieniaj jej wartości."

#: ../bin/drakgw:243
#, c-format
msgid "Use automatic configuration (DHCP)"
msgstr "Wykorzystaj automatyczną konfigurację (DHCP)"

#: ../bin/drakgw:244
#, c-format
msgid "The DHCP start range"
msgstr "Zakres początkowy DHCP"

#: ../bin/drakgw:245
#, c-format
msgid "The DHCP end range"
msgstr "Zakres końcowy DHCP"

#: ../bin/drakgw:246
#, c-format
msgid "The default lease (in seconds)"
msgstr "Domyślna dzierżawa (w sekundach)"

#: ../bin/drakgw:247
#, c-format
msgid "The maximum lease (in seconds)"
msgstr "Maksymalna dzierżawa (w sekundach)"

#: ../bin/drakgw:270
#, c-format
msgid "Proxy caching server (SQUID)"
msgstr "Serwer buforujący proxy (SQUID)"

#: ../bin/drakgw:274
#, c-format
msgid "Use this gateway as proxy caching server"
msgstr "Użyj poniższej bramy jako serwer buforujący proxy"

#: ../bin/drakgw:275
#, c-format
msgid "Admin mail"
msgstr "Adres e-mail administratora"

#: ../bin/drakgw:276
#, c-format
msgid "Visible hostname"
msgstr "Wyświetlana nazwa komputera"

#: ../bin/drakgw:277
#, c-format
msgid "Proxy port"
msgstr "Port proxy"

#: ../bin/drakgw:278
#, c-format
msgid "Cache size (MB)"
msgstr "Rozmiar cache (MB)"

#: ../bin/drakgw:297
#, c-format
msgid "Broadcast printer information"
msgstr "Informacja rozgłoszeniowa o drukarce"

#: ../bin/drakgw:308
#, c-format
msgid ""
"No ethernet network adapter configured for LAN has been detected on your "
"system.\n"
"\n"
"Please run the hardware configuration tool to configure it, and ensure that "
"the Mageia firewall is not enabled for network adapter connected to your LAN "
"network."
msgstr ""
"Nie wykryto karty sieciowej skonfigurowanej dla połączeń w sieci lokalnej.\n"
"\n"
"Uruchom program do konfiguracji sprzętu, aby skonfigurować kartę. Sprawdź "
"także czy zapora sieciowa nie jest włączona dla karty sieciowej podłączonej "
"do sieci lokalnej."

#: ../bin/drakgw:316
#, c-format
msgid "Internet Connection Sharing is now enabled."
msgstr "Udostępnianie połączenia z Internetem jest teraz włączone."

#: ../bin/drakgw:322
#, c-format
msgid "Internet Connection Sharing is now disabled."
msgstr "Udostępnianie połączenia z Internetem jest wyłączone."

#: ../bin/drakgw:328
#, c-format
msgid ""
"Everything has been configured.\n"
"You may now share Internet connection with other computers on your Local "
"Area Network, using automatic network configuration (DHCP) and\n"
" a Transparent Proxy Cache server (SQUID)."
msgstr ""
"Wszystko zostało skonfigurowane.\n"
"Możesz udostępniać połączenie z Internetem innym komputerem w sieci\n"
"lokalnej, używając automatycznej konfiguracji sieci (DHCP) oraz serwera\n"
"przezroczystego pośrednika (SQUID)."

#: ../bin/drakgw:351
#, c-format
msgid "Disabling servers..."
msgstr "Wyłączenie serwerów..."

#: ../bin/drakgw:365
#, c-format
msgid "Firewalling configuration detected!"
msgstr "Wykryto konfigurację zapory ogniowej!"

#: ../bin/drakgw:366
#, c-format
msgid ""
"Warning! An existing firewalling configuration has been detected. You may "
"need some manual fixes after installation."
msgstr ""
"Ostrzeżenie! Została wykryta istniejąca konfiguracja zapory ogniowej. Może "
"być konieczne dokonanie kilku ręcznych poprawek po instalacji."

#: ../bin/drakgw:371
#, c-format
msgid "Configuring..."
msgstr "Konfiguracja..."

#: ../bin/drakgw:372
#, c-format
msgid "Configuring firewall..."
msgstr "Konfiguracja zapory sieciowej..."

#: ../bin/drakhosts:98
#, c-format
msgid "Please add an host to be able to modify it."
msgstr "Dodaj komputer, aby umożliwić jego modyfikację."

#: ../bin/drakhosts:107
#, c-format
msgid "Please modify information"
msgstr "Zmień informację"

#: ../bin/drakhosts:108
#, c-format
msgid "Please delete information"
msgstr "Usuń informację"

#: ../bin/drakhosts:109
#, c-format
msgid "Please add information"
msgstr "Dodaj informację"

#: ../bin/drakhosts:113
#, c-format
msgid "IP address:"
msgstr "Adres IP:"

#: ../bin/drakhosts:114
#, c-format
msgid "Host name:"
msgstr "Nazwa komputera:"

#: ../bin/drakhosts:115
#, c-format
msgid "Host Aliases:"
msgstr "Aliasy komputera:"

#: ../bin/drakhosts:119 ../bin/draknfs:117 ../bin/draksambashare:230
#: ../bin/draksambashare:254 ../bin/draksambashare:398
#: ../bin/draksambashare:626 ../bin/draksambashare:792
#, c-format
msgid "Error!"
msgstr "Błąd!"

#: ../bin/drakhosts:119
#, c-format
msgid "Please enter a valid IP address."
msgstr "Wprowadź prawidłowy adres IP."

#: ../bin/drakhosts:183 ../lib/network/connection/ethernet.pm:225
#, c-format
msgid "Host name"
msgstr "Nazwa komputera"

#: ../bin/drakhosts:183
#, c-format
msgid "Host Aliases"
msgstr "Aliasy komputera"

#: ../bin/drakhosts:193 ../bin/drakhosts:223
#, c-format
msgid "Manage hosts definitions"
msgstr "Zarządzanie definicjami hostów"

#: ../bin/drakhosts:209 ../bin/drakhosts:236 ../bin/draknfs:370
#, c-format
msgid "Modify entry"
msgstr "Edytuj wpis"

#: ../bin/drakhosts:228 ../bin/draknfs:602 ../bin/draksambashare:1371
#: ../bin/draksambashare:1402 ../bin/draksambashare:1433
#, c-format
msgid "Add"
msgstr "Dodaj"

#: ../bin/drakhosts:229
#, c-format
msgid "Add entry"
msgstr "Dodaj wpis"

#: ../bin/drakhosts:232
#, c-format
msgid "Failed to add host."
msgstr "Dodanie komputera nie powiodło się."

#: ../bin/drakhosts:235 ../bin/draknfs:609 ../bin/draksambashare:1328
#: ../bin/draksambashare:1373 ../bin/draksambashare:1404
#: ../bin/draksambashare:1441
#, c-format
msgid "Modify"
msgstr "Modyfikuj"

#: ../bin/drakhosts:239
#, c-format
msgid "Failed to Modify host."
msgstr "Zmiana ustawień komputera nie powiodła się."

#: ../bin/drakhosts:242 ../bin/drakids:95 ../bin/drakids:104
#: ../bin/draknfs:616 ../bin/draksambashare:1329 ../bin/draksambashare:1381
#: ../bin/draksambashare:1412 ../bin/draksambashare:1449
#, c-format
msgid "Remove"
msgstr "Usuń"

#: ../bin/drakhosts:246
#, c-format
msgid "Failed to remove host."
msgstr "Usunięcie komputera nie powiodło się."

#: ../bin/drakhosts:249 ../bin/drakinvictus:141 ../bin/draknetprofile:224
#: ../bin/net_applet:221 ../lib/network/drakroam.pm:93
#: ../lib/network/netcenter.pm:178
#, c-format
msgid "Quit"
msgstr "Zakończ"

#: ../bin/drakids:28
#, c-format
msgid "Allowed addresses"
msgstr "Akceptowane adresy"

#: ../bin/drakids:40 ../bin/drakids:71 ../bin/drakids:190 ../bin/drakids:199
#: ../bin/drakids:224 ../bin/drakids:233 ../bin/drakids:243 ../bin/drakids:335
#: ../bin/net_applet:145 ../bin/net_applet:353
#: ../lib/network/drakfirewall.pm:309 ../lib/network/drakfirewall.pm:313
#: ../lib/network/net_applet/ifw.pm:61 ../lib/network/net_applet/ifw.pm:89
#, c-format
msgid "Interactive Firewall"
msgstr "Interaktywna zapora sieciowa"

#: ../bin/drakids:71 ../bin/drakids:190 ../bin/drakids:199 ../bin/drakids:224
#: ../bin/drakids:233 ../bin/drakids:243 ../bin/drakids:335
#: ../bin/net_applet:353 ../lib/network/net_applet/ifw.pm:61
#, c-format
msgid "Unable to contact daemon"
msgstr "Nie można skontaktować się z demonem"

#: ../bin/drakids:82 ../bin/drakids:110
#, c-format
msgid "Log"
msgstr "Logi"

#: ../bin/drakids:86 ../bin/drakids:105 ../lib/network/net_applet/ifw.pm:219
#, c-format
msgid "Allow"
msgstr "Pozwalaj"

#: ../bin/drakids:87 ../bin/drakids:96 ../lib/network/net_applet/ifw.pm:220
#, c-format
msgid "Block"
msgstr "Blokuj"

#: ../bin/drakids:88 ../bin/drakids:97 ../bin/drakids:106 ../bin/drakids:117
#: ../bin/drakids:130 ../bin/drakids:138 ../bin/draknfs:198
#: ../bin/net_monitor:122
#, c-format
msgid "Close"
msgstr "Zamknij"

#: ../bin/drakids:91
#, c-format
msgid "Allowed services"
msgstr "Akceptowane usługi"

#: ../bin/drakids:100
#, c-format
msgid "Blocked services"
msgstr "Blokowane usługi"

#: ../bin/drakids:114
#, c-format
msgid "Clear logs"
msgstr "Wyczyść logi"

#: ../bin/drakids:115 ../bin/drakids:120 ../lib/network/net_applet/ifw.pm:158
#, c-format
msgid "Blacklist"
msgstr "Czarna lista"

#: ../bin/drakids:116 ../bin/drakids:133 ../lib/network/net_applet/ifw.pm:163
#, c-format
msgid "Whitelist"
msgstr "Lista zaufanych"

#: ../bin/drakids:124
#, c-format
msgid "Remove from blacklist"
msgstr "Usuń z czarnej listy"

#: ../bin/drakids:125
#, c-format
msgid "Move to whitelist"
msgstr "Przenieś do listy zaufanych"

#: ../bin/drakids:137
#, c-format
msgid "Remove from whitelist"
msgstr "Usuń z listy zaufanych"

#: ../bin/drakids:256
#, c-format
msgid "Date"
msgstr "Data"

#: ../bin/drakids:257
#, c-format
msgid "Remote host"
msgstr "Usuń hosta"

#: ../bin/drakids:258 ../lib/network/vpn/openvpn.pm:117
#, c-format
msgid "Type"
msgstr "Rodzaj"

#: ../bin/drakids:259 ../bin/drakids:292
#, c-format
msgid "Service"
msgstr "Usługa"

#: ../bin/drakids:260
#, c-format
msgid "Network interface"
msgstr "Interfejs sieciowy"

#: ../bin/drakids:291
#, c-format
msgid "Application"
msgstr "Aplikacja"

#: ../bin/drakids:293
#, c-format
msgid "Status"
msgstr "Stan"

#: ../bin/drakids:295
#, c-format
msgid "Allowed"
msgstr "Dozwolone"

#: ../bin/drakids:296
#, c-format
msgid "Blocked"
msgstr "Zablokowane"

#: ../bin/drakinvictus:36
#, c-format
msgid "Invictus Firewall"
msgstr "Firewall Invictus"

#: ../bin/drakinvictus:53
#, c-format
msgid "Start as master"
msgstr "Uruchamiaj jako master"

#: ../bin/drakinvictus:72
#, c-format
msgid "A password is required."
msgstr "Wymagane hasło."

#: ../bin/drakinvictus:100
#, c-format
msgid ""
"This tool allows to set up network interfaces failover and firewall "
"replication."
msgstr ""
"To narzędzie umożliwia konfigurację obsługi awarii interfejsu sieciowego i "
"replikacji zapory."

#: ../bin/drakinvictus:102
#, c-format
msgid "Network redundancy (leave empty if interface is not used)"
msgstr ""
"Redundancja sieciowa (pozostaw niewypełnione jeżeli interfejs jest "
"niewykorzystywany)"

#: ../bin/drakinvictus:105
#, c-format
msgid "Real address"
msgstr "Prawdziwy adres"

#: ../bin/drakinvictus:105
#, c-format
msgid "Virtual shared address"
msgstr "Adres współdzielony wirtualnie"

#: ../bin/drakinvictus:105
#, c-format
msgid "Virtual ID"
msgstr "Wirtualne ID"

#: ../bin/drakinvictus:110 ../lib/network/netconnect.pm:614
#: ../lib/network/vpn/vpnc.pm:56
#, c-format
msgid "Password"
msgstr "Hasło"

#: ../bin/drakinvictus:114
#, c-format
msgid "Firewall replication"
msgstr "Replikacja zapory ogniowej"

#: ../bin/drakinvictus:116
#, c-format
msgid "Synchronize firewall conntrack tables"
msgstr "Synchronizacja tabel śledzących zapory ogniowej"

#: ../bin/drakinvictus:123
#, c-format
msgid "Synchronization network interface"
msgstr "Sychronizacja interfejsu sieciowego"

#: ../bin/drakinvictus:132
#, c-format
msgid "Connection mark bit"
msgstr "Bit oznaczający połączenie"

#: ../bin/draknetprofile:37
#, c-format
msgid "Network profiles"
msgstr "Profile sieciowe"

#: ../bin/draknetprofile:66
#, c-format
msgid "Module"
msgstr "Moduł"

#: ../bin/draknetprofile:67
#, c-format
msgid "Enabled"
msgstr "Włącz"

#: ../bin/draknetprofile:68 ../lib/network/drakconnect/edit.pm:423
#, c-format
msgid "Description"
msgstr "Opis"

#: ../bin/draknetprofile:84
#, c-format
msgid "Profile"
msgstr "Profil"

#: ../bin/draknetprofile:96
#, c-format
msgid "Save and restore the active services"
msgstr ""

#: ../bin/draknetprofile:97
#, fuzzy, c-format
msgid "Network connection settings"
msgstr "Połączenie sieciowe"

#: ../bin/draknetprofile:97
#, fuzzy, c-format
msgid "Firewall settings"
msgstr "Ustawienia połączenia bezprzewodowego"

#: ../bin/draknetprofile:97
#, fuzzy, c-format
msgid "Firewall settings (IPv6)"
msgstr "Ustawienia połączenia bezprzewodowego"

#: ../bin/draknetprofile:98
#, fuzzy, c-format
msgid "Proxy settings"
msgstr "Ustawienia IP"

#: ../bin/draknetprofile:98
#, fuzzy, c-format
msgid "Urpmi settings"
msgstr "Ustawienia IP"

#: ../bin/draknetprofile:98
#, fuzzy, c-format
msgid "Networkmanager connection settings"
msgstr "Połączenie sieciowe"

#: ../bin/draknetprofile:157
#, c-format
msgid "New profile..."
msgstr "Nowy profil..."

#: ../bin/draknetprofile:160
#, c-format
msgid ""
"Please specify the name of the new network profile to be created (e.g., "
"work, home, roaming, ..). This new profile will be created based on current "
"settings, and you'll be able to configure your system configuration as usual "
"afterwards."
msgstr ""
"Proszę wprowadzić nazwę dla nowego profilu sieciowego (np: praca, dome ,"
"roaming, ..). Nowy profil sieciowy będzie bazował na aktualnych "
"ustawieniach, później będzie go można skonfigurować według własnych potrzeb."

#: ../bin/draknetprofile:171
#, c-format
msgid "The \"%s\" profile already exists!"
msgstr "Profil \"%s\" już istnieje!"

#: ../bin/draknetprofile:177
#, c-format
msgid "New profile created"
msgstr "Nowy profil"

#: ../bin/draknetprofile:177
#, c-format
msgid ""
"You are now using network profile %s. You can configure your system as "
"usual, and all your network settings from now on will be saved into this "
"profile."
msgstr ""
"Aktualnie używany profil sieciowy %s. Możesz skonfigurować swój system, a "
"wszystkie sieciowe ustawienia będą zapisane w tym profilu sieciowym."

#: ../bin/draknetprofile:188 ../lib/network/drakconnect/global.pm:34
#: ../lib/network/drakvpn.pm:70 ../lib/network/drakvpn.pm:100
#: ../lib/network/ndiswrapper.pm:105 ../lib/network/netconnect.pm:499
#, c-format
msgid "Warning"
msgstr "Ostrzeżenie"

#: ../bin/draknetprofile:188
#, c-format
msgid "Are you sure you want to delete the default profile?"
msgstr "Czy na pewno chcesz usunąć domyślny profil?"

#: ../bin/draknetprofile:191
#, c-format
msgid ""
"You can not delete the current profile. Please switch to a different profile "
"first."
msgstr ""
"Nie można usunąć bieżącego profilu. W pierwszej kolejności proszę przełączyć "
"się na inny profil."

#: ../bin/draknetprofile:199 ../bin/draknfs:357
#, c-format
msgid "Advanced"
msgstr "Zaawansowane"

#: ../bin/draknetprofile:203
#, c-format
msgid "Select the netprofile modules:"
msgstr "Wybierz moduł do skonfigurowania:"

#: ../bin/draknetprofile:216
#, c-format
msgid "This tool allows you to control network profiles."
msgstr "Ten program pozwala zarządzać profilami sieciowymi."

#: ../bin/draknetprofile:217
#, c-format
msgid "Select a network profile:"
msgstr "Wybierz profil sieciowy:"

#: ../bin/draknetprofile:221
#, c-format
msgid "Activate"
msgstr "Uaktywnij"

#: ../bin/draknetprofile:222
#, c-format
msgid "New"
msgstr "Nowy"

#: ../bin/draknetprofile:223
#, c-format
msgid "Delete"
msgstr "Usuń"

#: ../bin/draknfs:49
#, c-format
msgid "map root user as anonymous"
msgstr "mapuj użytkownika root jako użytkownika anonimowego (anonymous)"

#: ../bin/draknfs:50
#, c-format
msgid "map all users to anonymous user"
msgstr "mapuj wszystkich użytkowników jako użytkownika anonimowego (anonymous)"

#: ../bin/draknfs:51
#, c-format
msgid "No user UID mapping"
msgstr "Bez mapowania UID użytkownika "

#: ../bin/draknfs:52
#, c-format
msgid "allow real remote root access"
msgstr "zezwól użytkownikowi root na zdalny dostęp"

#: ../bin/draknfs:66 ../bin/draknfs:67 ../bin/draknfs:68
#: ../bin/draksambashare:175 ../bin/draksambashare:176
#: ../bin/draksambashare:177
#, c-format
msgid "/_File"
msgstr "/_Plik"

#: ../bin/draknfs:67 ../bin/draksambashare:176
#, c-format
msgid "/_Write conf"
msgstr "/_Zapisz konfigurację"

#: ../bin/draknfs:68 ../bin/draksambashare:177
#, c-format
msgid "/_Quit"
msgstr "/_Zakończ"

#: ../bin/draknfs:68 ../bin/draksambashare:177
#, c-format
msgid "<control>Q"
msgstr "<control>Q"

#: ../bin/draknfs:71 ../bin/draknfs:72 ../bin/draknfs:73
#, c-format
msgid "/_NFS Server"
msgstr "/Serwer _NFS"

#: ../bin/draknfs:72 ../bin/draksambashare:181
#, c-format
msgid "/_Restart"
msgstr "/U_ruchom ponownie"

#: ../bin/draknfs:73 ../bin/draksambashare:182
#, c-format
msgid "/R_eload"
msgstr "/Prz_eładuj"

#: ../bin/draknfs:92
#, c-format
msgid "NFS server"
msgstr "Serwer NFS"

#: ../bin/draknfs:92
#, c-format
msgid "Restarting/Reloading NFS server..."
msgstr "Ponowne uruchamianie/przeładowanie serwera NFS..."

#: ../bin/draknfs:93
#, c-format
msgid "Error Restarting/Reloading NFS server"
msgstr "Błąd podczas ponownego uruchamiania/przeładowania serwera NFS"

#: ../bin/draknfs:109 ../bin/draksambashare:246
#, c-format
msgid "Directory selection"
msgstr "Wybór katalogu"

#: ../bin/draknfs:117 ../bin/draksambashare:254
#, c-format
msgid "Should be a directory."
msgstr "Obiekt powinien być katalogiem."

#: ../bin/draknfs:147
#, c-format
msgid ""
"<span weight=\"bold\">NFS clients</span> may be specified in a number of "
"ways:\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">single host:</span> a host either by an "
"abbreviated name recognized be the resolver, fully qualified domain name, or "
"an IP address\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">netgroups:</span> NIS netgroups may be given "
"as @group.\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">wildcards:</span> machine names may contain "
"the wildcard characters * and ?. For instance: *.cs.foo.edu  matches all  "
"hosts  in the domain cs.foo.edu.\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">IP networks:</span> you can also export "
"directories to all hosts on an IP (sub-)network simultaneously. for example, "
"either `/255.255.252.0' or  `/22'  appended to the network base address "
"result.\n"
msgstr ""
"<span weight=\"bold\">Klienty NFS</span> mogą być określone na kilka "
"sposobów::\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">pojedynczy komputer:</span> może to być "
"skrócona nazwa hosta  rozpoznawana przez odpowiedni system rozpoznawania, "
"program host either by an abbreviated name recognized be the resolver, pełna "
"złożona nazwa domeny (FQDN) lub adres IP\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">grupy sieciowe:</span> grupy sieciowe NIS "
"mogą być określone jako @nazwa_grupy.\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">wzorce:</span> nazwy komputerów mogą "
"zawierać znaki wieloznaczne * i ? Na przykład: *.cs.foo.edu odnosi się do "
"wszystkich kompuerów w domenie cs.foo.edu.\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">sieci IP:</span> katalogi można eksportować "
"równocześnie dla wszystkich komputerów w danej (pod-) sieci IP. Na przykład: "
"dodanie `/255.255.252.0' lub  `/22'  do bazowego adresu sieciowego.\n"

#: ../bin/draknfs:162
#, c-format
msgid ""
"<span weight=\"bold\">User ID options</span>\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">map root user as anonymous:</span> map "
"requests from uid/gid 0 to the anonymous uid/gid (root_squash).\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">allow real remote root access:</span> turn "
"off root squashing. This option is mainly useful for diskless clients "
"(no_root_squash).\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">map all users to anonymous user:</span> map "
"all uids and gids to the anonymous  user (all_squash). Useful for NFS-"
"exported public FTP directories, news spool directories, etc. The opposite "
"option is no user UID mapping (no_all_squash), which is the default "
"setting.\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">anonuid and anongid:</span> explicitly set "
"the uid and gid of the anonymous account.\n"
msgstr ""
"<span weight=\"bold\">Opcje ID użytkownika</span>\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">mapuj użytkownika root na użytownika "
"anominowego:</span> mapuje żądania od uid/gip 0 na anonimowy uid/gid "
"(root_squash).\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">zezwajaj na zdalny dostęp użytkownika root:</"
"span> wyłącza mapowanie  roota. Ta opcja jest przydatna głównie w "
"zastosowaniach na klientach bezdyskowych (no_root_squash).\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">mapuj wszystkich użytkowników na użytkownika "
"anonimowego:</span> mapuje wszystkie identyfikatory uid i gid na użytkownika "
"anonimowego. Przydane w przypadku publicznych katalogów FTP eksportowanych "
"przez NFS itd. Opcja ta jest przeciwieństwem opcji wyłączającej mapowanie "
"UID użytkowniak (no_all_squash), która jest aktywowana domyślnie.\n"
"\n"
"\n"
"<span foreground=\"royalblue3\">anonuid i anongid:</span> dokładnie określa "
"identyfikatory uid i gid anonimowego konta.\n"

#: ../bin/draknfs:178
#, c-format
msgid "Synchronous access:"
msgstr "Dostęp synchroniczny:"

#: ../bin/draknfs:179
#, c-format
msgid "Secured Connection:"
msgstr "Bezpieczne połączenie:"

#: ../bin/draknfs:180
#, c-format
msgid "Read-Only share:"
msgstr "Udział tylko do odczytu:"

#: ../bin/draknfs:181
#, c-format
msgid "Subtree checking:"
msgstr "Sprawdzanie lokalizacji podrzędnych:"

#: ../bin/draknfs:183
#, c-format
msgid "Advanced Options"
msgstr "Opcje zaawansowane"

#: ../bin/draknfs:184
#, c-format
msgid ""
"<span foreground=\"royalblue3\">%s</span> this option requires that requests "
"originate on an internet port less than IPPORT_RESERVED (1024). This option "
"is on by default."
msgstr ""
"<span foreground=\"royalblue3\">%s</span> ta opcja wymaga, aby żądanie "
"pochodziło z portu niższego niż IPPORT_RESERVED (1024). Opcja ta jest "
"domyślnie włączona."

#: ../bin/draknfs:185
#, c-format
msgid ""
"<span foreground=\"royalblue3\">%s</span> allow either only read or both "
"read and write requests on this NFS volume. The default is to disallow any "
"request which changes the filesystem. This can also be made explicit by "
"using this option."
msgstr ""
"<span foreground=\"royalblue3\">%s</span> zezwala tylko na odczyt lub na "
"odczyt i zapis na woluminach NFS. Ustawieniem domyślnym jest niedopuszczanie "
"żądań wywołujących zmiany w systemie plików. Zachowanie takie może być "
"jednoznacznie wskazane z wykorzystaniem tej opcji."

#: ../bin/draknfs:186
#, c-format
msgid ""
"<span foreground=\"royalblue3\">%s</span> disallows the NFS server to "
"violate the NFS protocol and to reply to requests before any changes made by "
"these requests have been committed to stable storage (e.g. disc drive)."
msgstr ""
"<span foreground=\"royalblue3\">%s</span> nie dopuszcza do naruszenia "
"protokołu NFS przez serwer NFS oraz do udzielenia odpowiedzi przed "
"przesłaniem żądania na stabilne miejsce przechowywania (np. dysk trwardy)."

#: ../bin/draknfs:187
#, c-format
msgid ""
"<span foreground=\"royalblue3\">%s</span> enable subtree checking which can "
"help improve security in some cases, but can decrease reliability. See "
"exports(5) man page for more details."
msgstr ""
"<span foreground=\"royalblue3\">%s</span> włącz sprawdzanie lokalizacji "
"podrzędnych. W pewnych przypadkach może to poprawić bezpieczeństwo, ale "
"zmniejszyć niezawodność. Przeczytaj stronę podręcznika systemowego man "
"exports(5), aby uzyskać więcej szczegółów."

#: ../bin/draknfs:192 ../bin/draksambashare:624 ../bin/draksambashare:790
#, c-format
msgid "Information"
msgstr "Informacje"

#: ../bin/draknfs:272
#, c-format
msgid "Directory"
msgstr "Katalog"

#: ../bin/draknfs:283
#, c-format
msgid "Please add an NFS share to be able to modify it."
msgstr "Dodaj udział NFS, aby umożliwić jego modyfikację."

#: ../bin/draknfs:380
#, c-format
msgid "NFS directory"
msgstr "Katalog NFS"

#: ../bin/draknfs:381 ../bin/draksambashare:383 ../bin/draksambashare:589
#: ../bin/draksambashare:767
#, c-format
msgid "Directory:"
msgstr "Katalog:"

#: ../bin/draknfs:382
#, c-format
msgid "Host access"
msgstr "Dostęp do komputera"

#: ../bin/draknfs:383
#, c-format
msgid "Access:"
msgstr "Dostęp:"

#: ../bin/draknfs:384
#, c-format
msgid "User ID Mapping"
msgstr "Mapowanie ID użytkownika"

#: ../bin/draknfs:385
#, c-format
msgid "User ID:"
msgstr "ID użytkownika:"

#: ../bin/draknfs:386
#, c-format
msgid "Anonymous user ID:"
msgstr "ID użytkownika anonimowego:"

#: ../bin/draknfs:387
#, c-format
msgid "Anonymous Group ID:"
msgstr "ID anonimowej grupy:"

#: ../bin/draknfs:430
#, c-format
msgid "Please specify a directory to share."
msgstr "Wybierz katalog do udostępniania."

#: ../bin/draknfs:432
#, c-format
msgid "Can't create this directory."
msgstr "Utworzenie katalogu nie jest możliwe."

#: ../bin/draknfs:435
#, c-format
msgid "You must specify hosts access."
msgstr "Wybierz rodzaj dostępu hostów."

#: ../bin/draknfs:475
#, fuzzy, c-format
msgid "Remove entry?"
msgstr "Usuń"

#: ../bin/draknfs:475
#, fuzzy, c-format
msgid "Remove %s"
msgstr "Usuń"

#: ../bin/draknfs:515
#, c-format
msgid "Share Directory"
msgstr "Udostępniany katalog"

#: ../bin/draknfs:515
#, c-format
msgid "Hosts Wildcard"
msgstr "Wzorce nazw komputerów"

#: ../bin/draknfs:515
#, c-format
msgid "General Options"
msgstr "Opcje ogólne"

#: ../bin/draknfs:515
#, c-format
msgid "Custom Options"
msgstr "Różne opcje"

#: ../bin/draknfs:527 ../bin/draksambashare:398 ../bin/draksambashare:626
#: ../bin/draksambashare:792
#, c-format
msgid "Please enter a directory to share."
msgstr "Wprowadź nazwę udostępnianego katalogu."

#: ../bin/draknfs:534
#, c-format
msgid "Please use the modify button to set right access."
msgstr "Użyj przycisku Modyfikuj, aby skonfigurować zasady dostępu."

#: ../bin/draknfs:549
#, c-format
msgid "Manage NFS shares"
msgstr "Zarządzanie udziałami NFS"

#: ../bin/draknfs:585
#, c-format
msgid "Starting the NFS-server"
msgstr "Uruchamianie serwera NFS"

#: ../bin/draknfs:597
#, c-format
msgid "DrakNFS manage NFS shares"
msgstr "DrakNFS służy do konfiguracji udziałów NFS"

#: ../bin/draknfs:606
#, c-format
msgid "Failed to add NFS share."
msgstr "Dodanie udziału NFS nie powiodło się."

#: ../bin/draknfs:613
#, c-format
msgid "Failed to Modify NFS share."
msgstr "Zmiana ustawień udziału NFS nie powiodła się."

#: ../bin/draknfs:620
#, c-format
msgid "Failed to remove an NFS share."
msgstr "Usunięcie udziału NFS nie powiodło się."

#: ../bin/draksambashare:65
#, c-format
msgid "User name"
msgstr "Identyfikator"

#: ../bin/draksambashare:72 ../bin/draksambashare:100
#, c-format
msgid "Share name"
msgstr "Nazwa drukarki"

#: ../bin/draksambashare:73 ../bin/draksambashare:101
#, c-format
msgid "Share directory"
msgstr "Katalog udziału"

#: ../bin/draksambashare:74 ../bin/draksambashare:102
#: ../bin/draksambashare:119
#, c-format
msgid "Comment"
msgstr "Komentarz"

#: ../bin/draksambashare:75 ../bin/draksambashare:120
#, c-format
msgid "Browseable"
msgstr "Możliwe przeglądanie udziału"

#: ../bin/draksambashare:76
#, c-format
msgid "Public"
msgstr "Publiczny"

#: ../bin/draksambashare:77 ../bin/draksambashare:125
#, c-format
msgid "Writable"
msgstr "Dostęp do zapisu"

#: ../bin/draksambashare:78 ../bin/draksambashare:166
#, c-format
msgid "Create mask"
msgstr "Maska tworzenia"

#: ../bin/draksambashare:79 ../bin/draksambashare:167
#, c-format
msgid "Directory mask"
msgstr "Maska katalogu"

#: ../bin/draksambashare:80
#, c-format
msgid "Read list"
msgstr "Lista do odczytu"

#: ../bin/draksambashare:81 ../bin/draksambashare:126
#: ../bin/draksambashare:603
#, c-format
msgid "Write list"
msgstr "Lista do zapisu"

#: ../bin/draksambashare:82 ../bin/draksambashare:158
#, c-format
msgid "Admin users"
msgstr "Administratorzy"

#: ../bin/draksambashare:83 ../bin/draksambashare:159
#, c-format
msgid "Valid users"
msgstr "Uprawnieni użytkownicy "

#: ../bin/draksambashare:84
#, c-format
msgid "Inherit Permissions"
msgstr "Dziedziczenie uprawnień"

#: ../bin/draksambashare:85 ../bin/draksambashare:160
#, c-format
msgid "Hide dot files"
msgstr "Ukryj pliki zaczynające się od kropki"

#: ../bin/draksambashare:86 ../bin/draksambashare:161
#, c-format
msgid "Hide files"
msgstr "Ukryj pliki"

#: ../bin/draksambashare:87 ../bin/draksambashare:165
#, c-format
msgid "Preserve case"
msgstr "Zachowaj wielkość znaków"

#: ../bin/draksambashare:88
#, c-format
msgid "Force create mode"
msgstr "Wymuś tryb tworzenia"

#: ../bin/draksambashare:89
#, c-format
msgid "Force group"
msgstr "Wymuś grupę"

#: ../bin/draksambashare:90 ../bin/draksambashare:164
#, c-format
msgid "Default case"
msgstr "Ustawienie domyślne"

#: ../bin/draksambashare:117
#, c-format
msgid "Printer name"
msgstr "Nazwa drukarki"

#: ../bin/draksambashare:118
#, c-format
msgid "Path"
msgstr "Ścieżka"

#: ../bin/draksambashare:121 ../bin/draksambashare:595
#, c-format
msgid "Printable"
msgstr "Drukowanie możliwe"

#: ../bin/draksambashare:122
#, c-format
msgid "Print Command"
msgstr "Polecenie drukowania"

#: ../bin/draksambashare:123
#, c-format
msgid "LPQ command"
msgstr "Polecenie LPQ"

#: ../bin/draksambashare:124
#, c-format
msgid "Guest ok"
msgstr "Dostęp dla gości"

#: ../bin/draksambashare:127 ../bin/draksambashare:168
#: ../bin/draksambashare:604
#, c-format
msgid "Inherit permissions"
msgstr "Uprawnienia dziedziczone"

#: ../bin/draksambashare:128
#, c-format
msgid "Printing"
msgstr "Drukowanie"

#: ../bin/draksambashare:129
#, c-format
msgid "Create mode"
msgstr "Tryb tworzenia"

#: ../bin/draksambashare:130
#, c-format
msgid "Use client driver"
msgstr "Korzystaj ze strownika klienta"

#: ../bin/draksambashare:156
#, c-format
msgid "Read List"
msgstr "Lista do odczytu"

#: ../bin/draksambashare:157
#, c-format
msgid "Write List"
msgstr "Lista do zapisu"

#: ../bin/draksambashare:162
#, c-format
msgid "Force Group"
msgstr "Wymuś grupę"

#: ../bin/draksambashare:163
#, c-format
msgid "Force create group"
msgstr "Wymuś grupę dla tworzenia"

#: ../bin/draksambashare:179 ../bin/draksambashare:180
#: ../bin/draksambashare:181 ../bin/draksambashare:182
#, c-format
msgid "/_Samba Server"
msgstr "/_Serwer Samba"

#: ../bin/draksambashare:180
#, c-format
msgid "/_Configure"
msgstr "/_Konfiguruj"

#: ../bin/draksambashare:184
#, c-format
msgid "/_Help"
msgstr "/_Pomoc"

#: ../bin/draksambashare:184
#, c-format
msgid "/_Samba Documentation"
msgstr "/_Dokumentacja Samby"

#: ../bin/draksambashare:190 ../bin/draksambashare:191
#, c-format
msgid "/_About"
msgstr "/_Informacje o"

#: ../bin/draksambashare:190
#, c-format
msgid "/_Report Bug"
msgstr "/_Zgłoś błąd"

#: ../bin/draksambashare:191
#, c-format
msgid "/_About..."
msgstr "/O _programie..."

#: ../bin/draksambashare:194
#, c-format
msgid "Draksambashare"
msgstr "Draksambashare"

#: ../bin/draksambashare:196
#, fuzzy, c-format
msgid "Copyright (C) %s by Mandriva"
msgstr "Copyright (C) %s by Mageia"

#: ../bin/draksambashare:198
#, c-format
msgid "This is a simple tool to easily manage Samba configuration."
msgstr ""
"Jest to proste narzędzie do łatwego zarządzania konfiguracją serwera Samba."

#: ../bin/draksambashare:200
#, c-format
msgid "Mageia"
msgstr "Mageia"

#. -PO: put here name(s) and email(s) of translator(s) (eg: "John Smith <jsmith@nowhere.com>")
#: ../bin/draksambashare:205
#, c-format
msgid "_: Translator(s) name(s) & email(s)\n"
msgstr "_: Translator(s) name(s) & email(s)\n"

#: ../bin/draksambashare:229
#, c-format
msgid "Restarting/Reloading Samba server..."
msgstr "Ponowne uruchamianie/przeładowanie serwera Samba..."

#: ../bin/draksambashare:230
#, c-format
msgid "Error Restarting/Reloading Samba server"
msgstr "Błąd podczas ponownego uruchamiania/przeładowania serwera Samba"

#: ../bin/draksambashare:371 ../bin/draksambashare:568
#: ../bin/draksambashare:688
#, c-format
msgid "Open"
msgstr "Otwórz"

#: ../bin/draksambashare:374
#, c-format
msgid "DrakSamba add entry"
msgstr "Dodaj wpis DrakSamba"

#: ../bin/draksambashare:378
#, c-format
msgid "Add a share"
msgstr "Dodaj udział"

#: ../bin/draksambashare:381
#, c-format
msgid "Name of the share:"
msgstr "Nazwa udziału:"

#: ../bin/draksambashare:382 ../bin/draksambashare:588
#: ../bin/draksambashare:768
#, c-format
msgid "Comment:"
msgstr "Komentarz:"

#: ../bin/draksambashare:394
#, c-format
msgid ""
"Share with the same name already exist or share name empty, please choose "
"another name."
msgstr ""
"Udział posiadają taką samą nazwę już istnieje lub nazwa jest pusta. Wybierz "
"inną nazwę."

#: ../bin/draksambashare:401
#, c-format
msgid "Can't create the directory, please enter a correct path."
msgstr "Utworzenie katalogu było niemożliwe. Wprowadź prawidłową ścieżkę."

#: ../bin/draksambashare:404 ../bin/draksambashare:624
#: ../bin/draksambashare:790
#, c-format
msgid "Please enter a Comment for this share."
msgstr "Wprowadź komentarz dla tego udziału."

#: ../bin/draksambashare:441
#, c-format
msgid "pdf-gen - a PDF generator"
msgstr "pdf-gen - generator plików PDF"

#: ../bin/draksambashare:442
#, c-format
msgid "printers - all printers available"
msgstr "drukarki - wszystkie dostępne drukarki"

#: ../bin/draksambashare:446
#, c-format
msgid "Add Special Printer share"
msgstr "Dodaj specjalną drukarkę"

#: ../bin/draksambashare:449
#, c-format
msgid ""
"Goal of this wizard is to easily create a new special printer Samba share."
msgstr ""
"Zadaniem tego druida jest łatwe tworzenie nowej specjalnej drukarki jako "
"udziału serwera Samba."

#: ../bin/draksambashare:456
#, c-format
msgid "A PDF generator already exists."
msgstr "Generator plików PDF już istnieje."

#: ../bin/draksambashare:480
#, c-format
msgid "Printers and print$ already exist."
msgstr "Udział Printers i print$ już istnieje."

#: ../bin/draksambashare:530 ../bin/draksambashare:1204
#, c-format
msgid "Congratulations"
msgstr "Gratulacje"

#: ../bin/draksambashare:531
#, c-format
msgid "The wizard successfully added the printer Samba share"
msgstr "Druid dodał drukarkę do konfiguracji serwera Samba"

#: ../bin/draksambashare:553
#, c-format
msgid "Please add or select a Samba printer share to be able to modify it."
msgstr "Dodaj lub zaznacz drukarkę serwera Samba, aby ją zmodyfikować."

#: ../bin/draksambashare:571
#, c-format
msgid "DrakSamba Printers entry"
msgstr "Konfiguracja drukarek DrakSamba"

#: ../bin/draksambashare:584
#, c-format
msgid "Printer share"
msgstr "Udostępiona drukarka"

#: ../bin/draksambashare:587
#, c-format
msgid "Printer name:"
msgstr "Nazwa drukarki:"

#: ../bin/draksambashare:593 ../bin/draksambashare:773
#, c-format
msgid "Writable:"
msgstr "Dostępny do zapisu:"

#: ../bin/draksambashare:594 ../bin/draksambashare:774
#, c-format
msgid "Browseable:"
msgstr "Możliwe przeglądanie udziału:"

#: ../bin/draksambashare:599 ../bin/draksambashare:778
#, c-format
msgid "Advanced options"
msgstr "Opcje zaawansowane"

#: ../bin/draksambashare:601
#, c-format
msgid "Printer access"
msgstr "Dostęp do drukarki"

#: ../bin/draksambashare:605
#, c-format
msgid "Guest ok:"
msgstr "Dostęp dla gości:"

#: ../bin/draksambashare:606
#, c-format
msgid "Create mode:"
msgstr "Tryb tworzenia:"

#: ../bin/draksambashare:610
#, c-format
msgid "Printer command"
msgstr "Polecenie drukarki"

#: ../bin/draksambashare:612
#, c-format
msgid "Print command:"
msgstr "Polecenie drukowania:"

#: ../bin/draksambashare:613
#, c-format
msgid "LPQ command:"
msgstr "Polecenie LPQ:"

#: ../bin/draksambashare:614
#, c-format
msgid "Printing:"
msgstr "Drukowanie:"

#: ../bin/draksambashare:630
#, c-format
msgid "create mode should be numeric. ie: 0755."
msgstr "tryb tworzenia powinien mieć formę liczbową. Np. 0755."

#: ../bin/draksambashare:691
#, c-format
msgid "DrakSamba entry"
msgstr "Wpis DrakSamba"

#: ../bin/draksambashare:696
#, c-format
msgid "Please add or select a Samba share to be able to modify it."
msgstr "Dodaj lub zaznacz udział serwera Samba, aby go zmodyfikować."

#: ../bin/draksambashare:717
#, c-format
msgid "User options (user access, mask option, force mode)"
msgstr ""

#: ../bin/draksambashare:719
#, c-format
msgid "Samba user access"
msgstr "Dostęp użytkowników do serwera Samba"

#: ../bin/draksambashare:727
#, c-format
msgid "Mask options"
msgstr "Opcje maskowania"

#: ../bin/draksambashare:739
#, c-format
msgid "File options (hide files, case)"
msgstr ""

#: ../bin/draksambashare:741
#, c-format
msgid "Display options"
msgstr "Opcje wyświetlania"

#: ../bin/draksambashare:763
#, c-format
msgid "Samba share directory"
msgstr "Katalog udziału serwera Samba"

#: ../bin/draksambashare:766
#, c-format
msgid "Share name:"
msgstr "Nazwa udziału:"

#: ../bin/draksambashare:772
#, c-format
msgid "Public:"
msgstr "Publiczny:"

#: ../bin/draksambashare:796
#, c-format
msgid ""
"Create mask, create mode and directory mask should be numeric. ie: 0755."
msgstr ""
"Maska tworzenia, tryb tworzenia lub maska katalogu powinna być liczbą. Np. "
"0755."

#: ../bin/draksambashare:804
#, c-format
msgid "Please create this Samba user: %s"
msgstr "Utwórz następującego użytkowniak serwera Samba: %s"

#: ../bin/draksambashare:916
#, c-format
msgid "Add Samba user"
msgstr "Dodaj użytkownika serwera Samba"

#: ../bin/draksambashare:931
#, c-format
msgid "User information"
msgstr "Informacje o użytkowniku"

#: ../bin/draksambashare:933
#, c-format
msgid "User name:"
msgstr "Nazwa użytkownika:"

#: ../bin/draksambashare:934
#, c-format
msgid "Password:"
msgstr "Hasło:"

#: ../bin/draksambashare:1048
#, c-format
msgid "PDC - primary domain controller"
msgstr "PDC - główny kontroler domeny"

#: ../bin/draksambashare:1049
#, c-format
msgid "Standalone - standalone server"
msgstr "Samodzielny - serwer samodzielny"

#: ../bin/draksambashare:1056
#, c-format
msgid "Samba Wizard"
msgstr "Druid konfiguracji serwera Samba"

#: ../bin/draksambashare:1059
#, c-format
msgid "Samba server configuration Wizard"
msgstr "Druid konfiguracji serwera Samba"

#: ../bin/draksambashare:1059
#, c-format
msgid ""
"Samba allows your server to behave as a file and print server for "
"workstations running non-Linux systems."
msgstr ""
"Samba umożliwia udostępnianie plików i drukarek komputerom, które działają "
"pod kontrolą systemów innych niż Linux."

#: ../bin/draksambashare:1075
#, c-format
msgid "PDC server: primary domain controller"
msgstr "Serwer PDC: główny kontroler domeny"

#: ../bin/draksambashare:1075
#, c-format
msgid ""
"Server configured as a PDC is responsible for Windows authentication "
"throughout the domain."
msgstr ""
"Serwer skonfigurowany jako PDC jest odpowiedzialny za uwierzytelnianie "
"klientów Windows działających w domenie."

#: ../bin/draksambashare:1075
#, c-format
msgid ""
"Single server installations may use smbpasswd or tdbsam password backends"
msgstr ""
"Samodzielne serwery mogą używać pliku smbpasswd lub tdbsam do obsługi haseł"

#: ../bin/draksambashare:1075
#, c-format
msgid ""
"Domain master = yes, causes the server to register the NetBIOS name <pdc "
"name>. This name will be recognized by other servers."
msgstr ""
"Domain master = yes. Tak ustawiona opcja umożliwia zarejestrowanie nazwy "
"NetBIOS <nazwa pdc>. Nazwa ta będzie rozpoznawana przez inne serwery."

#: ../bin/draksambashare:1092
#, c-format
msgid "Wins support:"
msgstr "Obsługa Wins:"

#: ../bin/draksambashare:1093
#, c-format
msgid "admin users:"
msgstr "administratorzy:"

#: ../bin/draksambashare:1093
#, c-format
msgid "root @adm"
msgstr "root @adm"

#: ../bin/draksambashare:1094
#, c-format
msgid "Os level:"
msgstr "Poziom systemu:"

#: ../bin/draksambashare:1094
#, c-format
msgid ""
"The global os level option dictates the operating system level at which "
"Samba will masquerade during a browser election. If you wish to have Samba "
"win an election and become the master browser, you can set the level above "
"that of the operating system on your network with the highest current value. "
"ie: os level = 34"
msgstr ""
"Opcja globalna os level określa poziom systemu operacyjnego, jaki Samba "
"wykorzysta podczas procesu wyborów przeglądarki (w sieci). Jeżeli chcesz, "
"aby serwer Samba wygrał wybory i został główną przeglądarką (w sieci)  "
"możesz ustawić poziom wyższy niż obecnie posiadany przez jakiś komputer w "
"sieci, np. os level = 34"

#: ../bin/draksambashare:1098
#, c-format
msgid "The domain is wrong."
msgstr "Nieprawidłowa domena."

#: ../bin/draksambashare:1105
#, c-format
msgid "Workgroup"
msgstr "Grupa robocza"

#: ../bin/draksambashare:1105
#, c-format
msgid "Samba needs to know the Windows Workgroup it will serve."
msgstr ""
"Samba musi uzyskać informację jaką grupę roboczą Windows będzie obsługiwać."

#: ../bin/draksambashare:1112 ../bin/draksambashare:1179
#, c-format
msgid "Workgroup:"
msgstr "Grupa robocza:"

#: ../bin/draksambashare:1113
#, c-format
msgid "Netbios name:"
msgstr "Nazwa NetBIOS komputera:"

#: ../bin/draksambashare:1117
#, c-format
msgid "The Workgroup is wrong."
msgstr "Nieprawidłowa grupa robocza."

#: ../bin/draksambashare:1124 ../bin/draksambashare:1134
#, c-format
msgid "Security mode"
msgstr "Tryb bezpieczeństwa"

#: ../bin/draksambashare:1124
#, c-format
msgid ""
"User level: the client sends a session setup request directly following "
"protocol negotiation. This request provides a username and password."
msgstr ""
"Na poziomie użytkownika: klient wysyła żądanie połączenia, które zawiera "
"nazwę użytkownika i hasło."

#: ../bin/draksambashare:1124
#, c-format
msgid "Share level: the client authenticates itself separately for each share"
msgstr ""
"Na poziomie udziału: klient uwierzytelnia się dla każdego udziału osobno."

#: ../bin/draksambashare:1124
#, c-format
msgid ""
"Domain level: provides a mechanism for storing all user and group accounts "
"in a central, shared, account repository. The centralized account repository "
"is shared between domain (security) controllers."
msgstr ""
"Na poziomie domeny: umożliwia przechowywanie wszystkich kont użytkowników i "
"grup w jednym, centralnym, współdzielonym repozytorium kont. Jest ono "
"wykorzystywane przez wszystkie kontrolery domeny. "

#: ../bin/draksambashare:1135
#, c-format
msgid "Hosts allow"
msgstr "Uprawnione komputery "

#: ../bin/draksambashare:1140
#, c-format
msgid "Server Banner."
msgstr "Baner serwera."

#: ../bin/draksambashare:1140
#, c-format
msgid ""
"The banner is the way this server will be described in the Windows "
"workstations."
msgstr "Baner to opis komputera, który będzie widoczny w systemach Windows."

#: ../bin/draksambashare:1145
#, c-format
msgid "Banner:"
msgstr "Baner:"

#: ../bin/draksambashare:1149
#, c-format
msgid "The Server Banner is incorrect."
msgstr "Baner serwera jest nieprawidłowy."

#: ../bin/draksambashare:1156
#, c-format
msgid "Samba Log"
msgstr "Dziennik serwera Samba"

#: ../bin/draksambashare:1156
#, fuzzy, c-format
msgid ""
"Log file: use %s to use a separate log file for each machine that connects"
msgstr ""
"Plik dziennika: podaj plik.%m, aby skorzystać z osobnego pliku dziennika dla "
"każdego komputera, który łączy się z serwerem"

#: ../bin/draksambashare:1156
#, c-format
msgid "file.%m"
msgstr ""

#: ../bin/draksambashare:1156
#, c-format
msgid "Log level: set the log (verbosity) level (0 <= log level <= 10)"
msgstr ""
"Ilość informacji: ustaw ilość informacji zbieranych w dzienniku (0 <= ilość "
"informacji <= 10)"

#: ../bin/draksambashare:1156
#, c-format
msgid "Max Log size: put a capping on the size of the log files (in Kb)."
msgstr ""
"Max. rozmiar dziennika: podaj ograniczenie dla rozmiaru plików z dziennikiem "
"(w Kb)."

#: ../bin/draksambashare:1163 ../bin/draksambashare:1181
#, c-format
msgid "Log file:"
msgstr "Plik dziennika:"

#: ../bin/draksambashare:1164
#, c-format
msgid "Max log size:"
msgstr "Maksymalny rozmiar pliku dziennika:"

#: ../bin/draksambashare:1165
#, c-format
msgid "Log level:"
msgstr "Poziom logowania:"

#: ../bin/draksambashare:1170
#, c-format
msgid "The wizard collected the following parameters to configure Samba."
msgstr ""
"Druid zebrał następujące informacje na temat konfiguracji serwera Samba."

#: ../bin/draksambashare:1170
#, c-format
msgid ""
"To accept these values, and configure your server, click the Next button or "
"use the Back button to correct them."
msgstr ""
"Aby zaakceptować te wartości i skonfigurować serwer kliknij przycisk Dalej "
"lub kliknij przycisk Wstecz, aby wprowadzić poprawki."

#: ../bin/draksambashare:1170
#, c-format
msgid ""
"If you have previously create some shares, they will appear in this "
"configuration. Run 'drakwizard sambashare' to manage your shares."
msgstr ""
"Jeżeli już wcześniej udostępniałeś katalogi będą one uwzględnione w bieżącej "
"konfiguracji. Uruchom program 'drakwizard sambashare', aby zarządzać "
"udostępnionymi katalogami."

#: ../bin/draksambashare:1178
#, c-format
msgid "Samba type:"
msgstr "Rodzaj serwera Samba:"

#: ../bin/draksambashare:1180
#, c-format
msgid "Server banner:"
msgstr "Baner serwera:"

#: ../bin/draksambashare:1182
#, c-format
msgid " "
msgstr " "

#: ../bin/draksambashare:1183
#, c-format
msgid "Unix Charset:"
msgstr "Uniksowy zestaw znaków:"

#: ../bin/draksambashare:1184
#, c-format
msgid "Dos Charset:"
msgstr "Dosowy zestaw znaków:"

#: ../bin/draksambashare:1185
#, c-format
msgid "Display Charset:"
msgstr "Wyświetlany zestaw znaków:"

#: ../bin/draksambashare:1204
#, c-format
msgid "The wizard successfully configured your Samba server."
msgstr "Konfiguracja serwera Samba została zakończona prawidłowo."

#: ../bin/draksambashare:1276
#, c-format
msgid "The Samba wizard has unexpectedly failed:"
msgstr "Druid konfiguracji serwera Samba nieoczekiwanie zakończył działanie:"

#: ../bin/draksambashare:1290
#, c-format
msgid "Manage Samba configuration"
msgstr "Zarządzanie konfiguracją serwera Samba"

#: ../bin/draksambashare:1378
#, c-format
msgid "Failed to Modify Samba share."
msgstr "Zmiana ustawień udziału serwera Samba nie powiodła się."

#: ../bin/draksambashare:1387
#, c-format
msgid "Failed to remove a Samba share."
msgstr "Usunięcie udziału serwera Samba nie powiodło się."

#: ../bin/draksambashare:1394
#, c-format
msgid "File share"
msgstr "Udostępnianie plików"

#: ../bin/draksambashare:1409
#, c-format
msgid "Failed to Modify."
msgstr "Zmiana nie powiodła się."

#: ../bin/draksambashare:1418
#, c-format
msgid "Failed to remove."
msgstr "Usunięcie nie powiodło się."

#: ../bin/draksambashare:1425
#, c-format
msgid "Printers"
msgstr "Drukarki"

#: ../bin/draksambashare:1437
#, c-format
msgid "Failed to add user."
msgstr "Dodanie użytkownika nie powiodło się."

#: ../bin/draksambashare:1446
#, c-format
msgid "Failed to change user password."
msgstr "Zmiana hasła użytkownika nie powiodła się."

#: ../bin/draksambashare:1458
#, c-format
msgid "Failed to delete user."
msgstr "Usunięcie użytkownika nie powiodło się."

#: ../bin/draksambashare:1463
#, c-format
msgid "Userdrake"
msgstr "Userdrake"

#: ../bin/draksambashare:1471
#, c-format
msgid "Samba Users"
msgstr "Użytkownicy serwera Samba"

#: ../bin/draksambashare:1479
#, c-format
msgid "Please configure your Samba server"
msgstr "Konfiguruj serwer Samby"

#: ../bin/draksambashare:1479
#, c-format
msgid ""
"It seems this is the first time you run this tool.\n"
"A wizard will appear to configure a basic Samba server"
msgstr ""
"Wygląda na to, że uruchamiasz ten program po raz pierwszy.\n"
"Zostanie uruchomiony druid podstawowe konfiguracji serwera Samba"

#: ../bin/draksambashare:1488
#, c-format
msgid "DrakSamba manage Samba shares"
msgstr "DrakSamba służy do konfiguracji udziałów serwera Samba"

#: ../bin/net_applet:96
#, c-format
msgid "Network is up on interface %s."
msgstr "Sieć jest dostępna przez interfejs %s."

#: ../bin/net_applet:97
#, c-format
msgid "IP address: %s"
msgstr "Adres IP: %s"

#: ../bin/net_applet:98
#, c-format
msgid "Gateway: %s"
msgstr "Brama: %s"

#: ../bin/net_applet:99
#, c-format
msgid "DNS: %s"
msgstr "DNS: %s"

#: ../bin/net_applet:100
#, c-format
msgid "Connected to %s (link level: %d %%)"
msgstr "Podłączony do %s (poziom połączenia: %d % %)"

#: ../bin/net_applet:102
#, c-format
msgid "Network is down on interface %s."
msgstr "Sieć jest niedostępna na interfejsie %s."

#: ../bin/net_applet:104
#, fuzzy, c-format
msgid ""
"You do not have any configured Internet connection.\n"
"Run the \"%s\" assistant from the Mageia Linux Control Center"
msgstr ""
"Nie posiadasz żadnego skonfigurowanego połączenia internetowego. Uruchom "
"asystenta \"%s\" z Centrum Sterowania Mageia"

#: ../bin/net_applet:107 ../lib/network/connection_manager.pm:207
#, c-format
msgid "Connecting..."
msgstr "Łączenie..."

#: ../bin/net_applet:133 ../bin/net_monitor:519
#, c-format
msgid "Connect %s"
msgstr "Połącz %s"

#: ../bin/net_applet:137 ../bin/net_monitor:519
#, c-format
msgid "Disconnect %s"
msgstr "Rozłącz %s"

#: ../bin/net_applet:141
#, c-format
msgid "Monitor Network"
msgstr "Monitorowanie sieci"

#: ../bin/net_applet:149
#, c-format
msgid "Manage wireless networks"
msgstr "Zarządzanie sieciami bezprzewodowymi"

#: ../bin/net_applet:153
#, c-format
msgid "Manage VPN connections"
msgstr "Zarządzanie połączeniami VPN"

#: ../bin/net_applet:157
#, c-format
msgid "Configure Network"
msgstr "Konfiguracja sieci"

#: ../bin/net_applet:161
#, c-format
msgid "Watched interface"
msgstr "Monitorowane interfejsy"

#: ../bin/net_applet:162 ../bin/net_applet:165 ../bin/net_applet:168
#, c-format
msgid "Auto-detect"
msgstr "Wykryj automatycznie"

#: ../bin/net_applet:173
#, c-format
msgid "Active interfaces"
msgstr "Aktywne interfejsy"

#: ../bin/net_applet:193
#, c-format
msgid "Profiles"
msgstr "Profile"

#: ../bin/net_applet:203 ../lib/network/connection.pm:232
#: ../lib/network/drakvpn.pm:62 ../lib/network/vpn/openvpn.pm:367
#: ../lib/network/vpn/openvpn.pm:381 ../lib/network/vpn/openvpn.pm:392
#, c-format
msgid "VPN connection"
msgstr "Połączenie VPN"

#: ../bin/net_applet:434
#, c-format
msgid "Network connection"
msgstr "Połączenie sieciowe"

#: ../bin/net_applet:521
#, c-format
msgid "More networks"
msgstr "Więcej sieci"

#: ../bin/net_applet:548
#, c-format
msgid "Interactive Firewall automatic mode"
msgstr "Tryb automatyczny interaktywnej zapory sieciowej"

#: ../bin/net_applet:553
#, c-format
msgid "Always launch on startup"
msgstr "Uruchamiaj przy starcie"

#: ../bin/net_applet:558
#, c-format
msgid "Wireless networks"
msgstr "Sieci bezprzewodowe"

#: ../bin/net_applet:565 ../bin/net_monitor:96
#, c-format
msgid "Settings"
msgstr "Ustawienia"

#: ../bin/net_monitor:60 ../bin/net_monitor:65
#, c-format
msgid "Network Monitoring"
msgstr "Monitorowanie sieci"

#: ../bin/net_monitor:99
#, c-format
msgid "Default connection: "
msgstr "Połączenie domyślne: "

#: ../bin/net_monitor:101
#, c-format
msgid "Wait please"
msgstr "Czekaj"

#: ../bin/net_monitor:104
#, c-format
msgid "Global statistics"
msgstr "Statystyki globalne"

#: ../bin/net_monitor:107
#, c-format
msgid "Instantaneous"
msgstr "Chwilowa"

#: ../bin/net_monitor:107
#, c-format
msgid "Average"
msgstr "Średnio"

#: ../bin/net_monitor:108
#, c-format
msgid ""
"Sending\n"
"speed:"
msgstr ""
"Szybkość\n"
"wysyłania:"

#: ../bin/net_monitor:108 ../bin/net_monitor:109 ../bin/net_monitor:114
#, c-format
msgid "unknown"
msgstr "nieznany"

#: ../bin/net_monitor:109
#, c-format
msgid ""
"Receiving\n"
"speed:"
msgstr ""
"Szybkość\n"
"odbierania:"

#: ../bin/net_monitor:113
#, c-format
msgid "Connection time: "
msgstr "Czas połączenia: "

#: ../bin/net_monitor:120
#, c-format
msgid "Use same scale for received and transmitted"
msgstr "Używanie tej samej skali dla odebranych i przesłanych"

#: ../bin/net_monitor:138
#, c-format
msgid "Wait please, testing your connection..."
msgstr "Proszę czekać, testowanie połączenia..."

#: ../bin/net_monitor:210 ../bin/net_monitor:223
#, c-format
msgid "Disconnecting from Internet "
msgstr "Odłączanie od Internetu "

#: ../bin/net_monitor:210 ../bin/net_monitor:223
#, c-format
msgid "Connecting to Internet "
msgstr "Połączenie z Internetem "

#: ../bin/net_monitor:254
#, c-format
msgid "Disconnection from Internet failed."
msgstr "Odłączanie od Internetu zakończone niepowodzeniem."

#: ../bin/net_monitor:255
#, c-format
msgid "Disconnection from Internet complete."
msgstr "Odłączanie od Internetu zakończone powodzeniem."

#: ../bin/net_monitor:257
#, c-format
msgid "Connection complete."
msgstr "Próba połączenia zakończona powodzeniem."

#: ../bin/net_monitor:258
#, fuzzy, c-format
msgid ""
"Connection failed.\n"
"Verify your configuration in the Mageia Linux Control Center."
msgstr ""
"Próba połączenia zakończona niepowodzeniem.\n"
"Sprawdź konfigurację w Centrum Sterowania Mageia."

#: ../bin/net_monitor:360
#, c-format
msgid "%s (%s)"
msgstr "%s (%s)"

#: ../bin/net_monitor:385
#, c-format
msgid "Color configuration"
msgstr "Konfiguracja kolorów"

#: ../bin/net_monitor:444 ../bin/net_monitor:457
#, c-format
msgid "sent: "
msgstr "wysłano: "

#: ../bin/net_monitor:447 ../bin/net_monitor:461
#, c-format
msgid "received: "
msgstr "odebrano: "

#: ../bin/net_monitor:450
#, c-format
msgid "average"
msgstr "średnio"

#: ../bin/net_monitor:451
#, c-format
msgid "Reset counters"
msgstr "Reset liczników"

#: ../bin/net_monitor:454
#, c-format
msgid "Local measure"
msgstr "Pomiar lokalny"

#: ../bin/net_monitor:512
#, c-format
msgid ""
"Warning, another internet connection has been detected, maybe using your "
"network"
msgstr ""
"Ostrzeżenie, wykryto inne połączenie Internetowe, być może używające twojej "
"sieci"

#: ../bin/net_monitor:516 ../lib/network/drakconnect/global.pm:18
#, c-format
msgid "Connected"
msgstr "Połączony"

#: ../bin/net_monitor:516 ../lib/network/drakconnect/global.pm:18
#, c-format
msgid "Not connected"
msgstr "Nie połączony"

#: ../bin/net_monitor:523
#, c-format
msgid "No internet connection configured"
msgstr "Nie skonfigurowano połączenia z Internetem"

#: ../lib/network/connection.pm:16
#, c-format
msgid "Unknown connection type"
msgstr "Nieznany typ połączenia"

#: ../lib/network/connection.pm:165
#, c-format
msgid "Network access settings"
msgstr "Ustawienia dostępu do sieci"

#: ../lib/network/connection.pm:166
#, c-format
msgid "Access settings"
msgstr "Ustawienia dostępu"

#: ../lib/network/connection.pm:167
#, c-format
msgid "Address settings"
msgstr "Ustawienia adresu"

#: ../lib/network/connection.pm:181 ../lib/network/connection.pm:201
#: ../lib/network/connection/isdn.pm:156 ../lib/network/netconnect.pm:217
#: ../lib/network/netconnect.pm:491 ../lib/network/netconnect.pm:587
#: ../lib/network/netconnect.pm:590
#, c-format
msgid "Unlisted - edit manually"
msgstr "Nie wypisane - zmodyfikuj ręcznie"

#: ../lib/network/connection.pm:234 ../lib/network/connection/cable.pm:41
#: ../lib/network/connection/wireless.pm:46 ../lib/network/vpn/openvpn.pm:129
#: ../lib/network/vpn/openvpn.pm:173 ../lib/network/vpn/openvpn.pm:341
#, c-format
msgid "None"
msgstr "Brak"

#: ../lib/network/connection.pm:246
#, c-format
msgid "Allow users to manage the connection"
msgstr "Pozwól użytkownikom na zarządzanie połączeniem"

#: ../lib/network/connection.pm:247
#, c-format
msgid "Start the connection at boot"
msgstr "Uruchom połączenia przy starcie systemu"

#: ../lib/network/connection.pm:248
#, c-format
msgid "Enable traffic accounting"
msgstr "Włącz koszty ruchu sieciowego"

#: ../lib/network/connection.pm:249
#, c-format
msgid "Allow interface to be controlled by Network Manager"
msgstr ""

#: ../lib/network/connection.pm:250 ../lib/network/drakconnect/edit.pm:292
#, c-format
msgid "Metric"
msgstr "Miernik"

#: ../lib/network/connection.pm:251
#, c-format
msgid "MTU"
msgstr "MTU"

#: ../lib/network/connection.pm:252
#, c-format
msgid "Maximum size of network message (MTU). If unsure, left blank."
msgstr ""
"Maksymalny rozmiar wiadomości sieciowej (MTU). Pozostaw puste jeżeli nie "
"jesteś pewien."

#: ../lib/network/connection.pm:332
#, c-format
msgid "Link detected on interface %s"
msgstr "Wykryto połączenie na interfejsie %s"

#: ../lib/network/connection.pm:333 ../lib/network/connection/ethernet.pm:305
#, c-format
msgid "Link beat lost on interface %s"
msgstr "Utrata danych połączenia  na interfejsie %s"

#: ../lib/network/connection/cable.pm:10
#, c-format
msgid "Cable"
msgstr "Kablówka"

#: ../lib/network/connection/cable.pm:11
#, c-format
msgid "Cable modem"
msgstr "Modem kablowy"

#: ../lib/network/connection/cable.pm:42
#, c-format
msgid "Use BPALogin (needed for Telstra)"
msgstr "Użycie BPALogin (niezbędne w Telstra)"

#: ../lib/network/connection/cable.pm:45
#: ../lib/network/drakconnect/edit.pm:312 ../lib/network/netconnect.pm:615
#, c-format
msgid "Authentication"
msgstr "Uwierzytelnianie"

#: ../lib/network/connection/cable.pm:47 ../lib/network/connection/ppp.pm:13
#: ../lib/network/drakconnect/edit.pm:322 ../lib/network/netconnect.pm:354
#: ../lib/network/vpn/openvpn.pm:395
#, c-format
msgid "Account Login (user name)"
msgstr "Konto (nazwa użytkownika)"

#: ../lib/network/connection/cable.pm:49 ../lib/network/connection/ppp.pm:14
#: ../lib/network/drakconnect/edit.pm:323 ../lib/network/netconnect.pm:355
#: ../lib/network/vpn/openvpn.pm:396
#, c-format
msgid "Account Password"
msgstr "Hasło do konta"

#: ../lib/network/connection/cellular.pm:75
#, c-format
msgid "Access Point Name"
msgstr "Nazwa punktu dostępowego"

#: ../lib/network/connection/cellular_bluetooth.pm:10
#, c-format
msgid "Bluetooth"
msgstr "Bluetooth"

#: ../lib/network/connection/cellular_bluetooth.pm:11
#, c-format
msgid "Bluetooth Dial Up Networking"
msgstr "Połączenia Dial Up dla Bluetooth"

#: ../lib/network/connection/cellular_card.pm:8
#, c-format
msgid "Wrong PIN number format: it should be 4 digits."
msgstr "Nieprawidłowy format numeru PIN: powinien składać się z czterech cyfr."

#: ../lib/network/connection/cellular_card.pm:10
#, c-format
msgid "GPRS/Edge/3G"
msgstr "GPRS/Edge/3G"

#: ../lib/network/connection/cellular_card.pm:140
#, c-format
msgid "PIN number (4 digits). Leave empty if PIN is not required."
msgstr "Numer PIN (4 cyfry). Pozostaw puste jeżeli PIN nie jest wymagany."

#: ../lib/network/connection/cellular_card.pm:216
#, c-format
msgid "Unable to open device %s"
msgstr "Połączenie z urządzeniem %s było niemożliwe"

#: ../lib/network/connection/cellular_card.pm:248
#, c-format
msgid "Please check that your SIM card is inserted."
msgstr "Sprawdź czy karta SIM została włożona."

#: ../lib/network/connection/cellular_card.pm:259
#, c-format
msgid ""
"You entered a wrong PIN code.\n"
"Entering the wrong PIN code multiple times may lock your SIM card!"
msgstr ""
"Podano nieprawidłowy numer PIN.\n"
"Kilkukrotne wprowadzenie nieprawidłowego PIN-u może zablokować kartę SIM!"

#: ../lib/network/connection/dvb.pm:9
#, c-format
msgid "DVB"
msgstr "DVB"

#: ../lib/network/connection/dvb.pm:10
#, c-format
msgid "Satellite (DVB)"
msgstr "Satelita (DVB)"

#: ../lib/network/connection/dvb.pm:53
#, c-format
msgid "Adapter card"
msgstr "Adapter"

#: ../lib/network/connection/dvb.pm:54
#, c-format
msgid "Net demux"
msgstr "Demultipleksowanie sieciowe"

#: ../lib/network/connection/dvb.pm:55
#, c-format
msgid "PID"
msgstr "PID"

#: ../lib/network/connection/ethernet.pm:11
#, c-format
msgid "Ethernet"
msgstr "Ethernet"

#: ../lib/network/connection/ethernet.pm:12
#, c-format
msgid "Wired (Ethernet)"
msgstr "Przewodowy (Ethernet)"

#: ../lib/network/connection/ethernet.pm:30
#, c-format
msgid "Virtual interface"
msgstr "Interfejs wirtualny"

#: ../lib/network/connection/ethernet.pm:60
#, c-format
msgid "Unable to find network interface for selected device (using %s driver)."
msgstr ""
"Nie odnaleziono interfejsu sieciowego dla wybranego urządzenia (wykorzystano "
"sterownik %s)."

#: ../lib/network/connection/ethernet.pm:70 ../lib/network/vpn/openvpn.pm:209
#, c-format
msgid "Manual configuration"
msgstr "Konfiguracja ręczna"

#: ../lib/network/connection/ethernet.pm:71
#, c-format
msgid "Automatic IP (BOOTP/DHCP)"
msgstr "Automatyczne IP (BOOTP/DHCP)"

#: ../lib/network/connection/ethernet.pm:132
#, c-format
msgid "IP settings"
msgstr "Ustawienia IP"

#: ../lib/network/connection/ethernet.pm:145
#, c-format
msgid ""
"Please enter the IP configuration for this machine.\n"
"Each item should be entered as an IP address in dotted-decimal\n"
"notation (for example, 1.2.3.4)."
msgstr ""
"Podaj konfigurację IP dla komputera.\n"
"Każda pozycja powinna być wpisana w formacie dziesiętnym\n"
"oddzielonym kropkami (np. 192.168.1.1)."

#: ../lib/network/connection/ethernet.pm:149
#: ../lib/network/drakconnect/edit.pm:162 ../lib/network/netconnect.pm:664
#: ../lib/network/vpn/openvpn.pm:214 ../lib/network/vpn/vpnc.pm:39
#, c-format
msgid "Gateway"
msgstr "Router"

#: ../lib/network/connection/ethernet.pm:152
#: ../lib/network/drakconnect/edit.pm:212
#, c-format
msgid "Get DNS servers from DHCP"
msgstr "Pobierz z serwera DHCP numer IP serwera DNS"

#: ../lib/network/connection/ethernet.pm:154
#, c-format
msgid "DNS server 1"
msgstr "Serwer DNS 1"

#: ../lib/network/connection/ethernet.pm:155
#, c-format
msgid "DNS server 2"
msgstr "Serwer DNS 2"

#: ../lib/network/connection/ethernet.pm:156
#, c-format
msgid "Search domain"
msgstr "Domena wyszukiwania"

#: ../lib/network/connection/ethernet.pm:157
#, c-format
msgid "By default search domain will be set from the fully-qualified host name"
msgstr ""
"Domyślnie domena wyszukiwania zostanie ustawiona na podstawie pełnej nazwy "
"komputera"

#: ../lib/network/connection/ethernet.pm:160
#: ../lib/network/drakconnect/edit.pm:209
#, c-format
msgid "DHCP timeout (in seconds)"
msgstr "Limit czasu bezczynności DHCP (w sek.)"

#: ../lib/network/connection/ethernet.pm:161
#: ../lib/network/drakconnect/edit.pm:213
#, c-format
msgid "Get YP servers from DHCP"
msgstr "Pobierz z serwera DHCP adres IP serwera YP "

#: ../lib/network/connection/ethernet.pm:162
#: ../lib/network/drakconnect/edit.pm:214
#, c-format
msgid "Get NTPD servers from DHCP"
msgstr "Pobierz z serwera DHCP adres IP serwera NTPD"

#: ../lib/network/connection/ethernet.pm:163
#: ../lib/network/drakconnect/edit.pm:205
#, c-format
msgid "DHCP host name"
msgstr "Nazwa DHCP komputera"

#: ../lib/network/connection/ethernet.pm:165
#, c-format
msgid "Do not fallback to Zeroconf (169.254.0.0 network)"
msgstr "Nie powracaj do konfiguracji Zerocont (sieć 169.254.0.0)"

#: ../lib/network/connection/ethernet.pm:176
#: ../lib/network/drakconnect/edit.pm:506
#, c-format
msgid "IP address should be in format 1.2.3.4"
msgstr "Adres IP powinien być w formacie typu 192.168.1.1"

#: ../lib/network/connection/ethernet.pm:181
#: ../lib/network/drakconnect/edit.pm:510
#, c-format
msgid "Netmask should be in format 255.255.224.0"
msgstr "Maska sieci powinna mieć następujący format 255.255.224.0"

#: ../lib/network/connection/ethernet.pm:186
#, c-format
msgid "Warning: IP address %s is usually reserved!"
msgstr "Ostrzeżenie : Adres IP %s jest zazwyczaj zarezerwowany !"

#: ../lib/network/connection/ethernet.pm:195
#, c-format
msgid ""
"%s is already used by a connection that starts on boot (%s). To use this "
"address with this connection, first disable all other devices which use it, "
"or configure them not to start at boot"
msgstr ""
"%s jest już wykorzystywany przez połączenie uruchamiane podczas startu "
"systemu (%s). Aby użyć tego adresu do tego połączenia wyłącz wszystkie inne "
"urządzenia, które z niego korzystają, lub skonfiguruj je tak, aby nie "
"uruchamiały się podczas startu systemu."

#: ../lib/network/connection/ethernet.pm:222
#: ../lib/network/drakconnect/edit.pm:203
#, c-format
msgid "Assign host name from DHCP server (or generate a unique one)"
msgstr ""
"Przypisywanie nazwy komputera z adresu DHCP (lub utwórz unikalną nazwę)"

#: ../lib/network/connection/ethernet.pm:223
#, c-format
msgid ""
"This will allow the server to attribute a name for this machine. If the "
"server does not provides a valid host name, it will be generated "
"automatically."
msgstr ""
"Pozwoli to na przypisanie tego komputera do serwera. Jeśli serwer nie "
"zapewnia prawidłowej nazwy hosta, zostanie on automatycznie wygenerowany."

#: ../lib/network/connection/ethernet.pm:226
#, c-format
msgid ""
"You should define a hostname for this machine, which will identify this PC. "
"Note that this hostname will be shared among all network connections.  If "
"left blank, 'localhost.localdomain' will be used."
msgstr ""
"Nazwa hostname powinna być wprowadzona, pozwoli to na łatwą identyfikację "
"tego komputera w sieci. Nazwa komputera będzie widoczna we wszystkich "
"połączeniach sieciowych. W przypadku pozostawienia tego pola pustego nazwa "
"komputera będzie następująca 'localhost.localdomain'."

#: ../lib/network/connection/ethernet.pm:244
#: ../lib/network/drakconnect/edit.pm:270
#, c-format
msgid "Network Hotplugging"
msgstr "Hotplugging sieci"

#: ../lib/network/connection/ethernet.pm:248
#, c-format
msgid "Enable IPv6 to IPv4 tunnel"
msgstr "Włącz tunelowanie IPv6 do IPv4"

#: ../lib/network/connection/ethernet.pm:304
#, c-format
msgid "Link beat detected on interface %s"
msgstr "Wykryto połączenie na interfejsie %s"

#: ../lib/network/connection/ethernet.pm:307
#, c-format
msgid "Requesting a network address on interface %s (%s protocol)..."
msgstr "Żądanie adresu sieciowego dla interfejsu %s (protokół %s)..."

#: ../lib/network/connection/ethernet.pm:308
#, c-format
msgid "Got a network address on interface %s (%s protocol)"
msgstr "Uzyskano adres sieciowy dla interfejsu %s (protokół %s)"

#: ../lib/network/connection/ethernet.pm:309
#, c-format
msgid "Failed to get a network address on interface %s (%s protocol)"
msgstr ""
"Uzyskanie adresu sieciowego dla interfejsu %s nie powiodło się (protokół %s)"

#: ../lib/network/connection/isdn.pm:8
#, c-format
msgid "ISDN"
msgstr "ISDN"

#: ../lib/network/connection/isdn.pm:199 ../lib/network/netconnect.pm:423
#, c-format
msgid "ISA / PCMCIA"
msgstr "ISA / PCMCIA"

#: ../lib/network/connection/isdn.pm:199 ../lib/network/netconnect.pm:423
#, c-format
msgid "I do not know"
msgstr "Nie wiem"

#: ../lib/network/connection/isdn.pm:200 ../lib/network/netconnect.pm:423
#, c-format
msgid "PCI"
msgstr "PCI"

#: ../lib/network/connection/isdn.pm:201 ../lib/network/netconnect.pm:423
#, c-format
msgid "USB"
msgstr "USB"

#. -PO: POTS means "Plain old telephone service"
#: ../lib/network/connection/pots.pm:10
#, c-format
msgid "POTS"
msgstr "POTS"

#. -PO: POTS means "Plain old telephone service"
#. -PO: remove it if it doesn't have an equivalent in your language
#. -PO: for example, in French, it can be translated as "RTC"
#: ../lib/network/connection/pots.pm:16
#, c-format
msgid "Analog telephone modem (POTS)"
msgstr "Analogowy modem telefoniczny (POTS)"

#: ../lib/network/connection/providers/cellular.pm:15
#: ../lib/network/connection/providers/cellular_extra.pm:250
#: ../lib/network/connection/providers/cellular_extra.pm:255
#: ../lib/network/connection/providers/cellular_extra.pm:259
#: ../lib/network/connection/providers/cellular_extra.pm:266
#: ../lib/network/connection/providers/cellular_extra.pm:271
#: ../lib/network/connection/providers/cellular_extra.pm:277
#: ../lib/network/connection/providers/xdsl.pm:191
#: ../lib/network/connection/providers/xdsl.pm:201
#: ../lib/network/connection/providers/xdsl.pm:210
#: ../lib/network/connection/providers/xdsl.pm:219
#, c-format
msgid "Brazil"
msgstr "Brazylia"

#: ../lib/network/connection/providers/cellular.pm:20
#: ../lib/network/connection/providers/cellular.pm:23
#: ../lib/network/connection/providers/cellular.pm:26
#: ../lib/network/connection/providers/cellular.pm:29
#: ../lib/network/connection/providers/cellular.pm:32
#: ../lib/network/connection/providers/cellular.pm:35
#: ../lib/network/connection/providers/cellular.pm:38
#: ../lib/network/connection/providers/cellular_extra.pm:608
#: ../lib/network/connection/providers/cellular_extra.pm:613
#: ../lib/network/connection/providers/cellular_extra.pm:616
#: ../lib/network/connection/providers/cellular_extra.pm:620
#: ../lib/network/connection/providers/cellular_extra.pm:623
#, c-format
msgid "Estonia"
msgstr "Estonia"

#: ../lib/network/connection/providers/cellular.pm:42
#: ../lib/network/connection/providers/cellular.pm:46
#: ../lib/network/connection/providers/cellular.pm:54
#: ../lib/network/connection/providers/cellular.pm:60
#: ../lib/network/connection/providers/cellular.pm:65
#: ../lib/network/connection/providers/cellular.pm:71
#: ../lib/network/connection/providers/cellular.pm:75
#: ../lib/network/connection/providers/cellular.pm:79
#: ../lib/network/connection/providers/cellular.pm:85
#: ../lib/network/connection/providers/cellular.pm:89
#: ../lib/network/connection/providers/cellular_extra.pm:685
#: ../lib/network/connection/providers/cellular_extra.pm:690
#: ../lib/network/connection/providers/cellular_extra.pm:693
#: ../lib/network/connection/providers/cellular_extra.pm:696
#: ../lib/network/connection/providers/cellular_extra.pm:701
#: ../lib/network/connection/providers/xdsl.pm:483
#, c-format
msgid "Finland"
msgstr "Finlandia"

#: ../lib/network/connection/providers/cellular.pm:92
#: ../lib/network/connection/providers/cellular.pm:95
#: ../lib/network/connection/providers/cellular.pm:100
#: ../lib/network/connection/providers/cellular.pm:105
#: ../lib/network/connection/providers/cellular.pm:112
#: ../lib/network/connection/providers/cellular.pm:117
#: ../lib/network/connection/providers/cellular.pm:122
#: ../lib/network/connection/providers/cellular.pm:125
#: ../lib/network/connection/providers/cellular.pm:128
#: ../lib/network/connection/providers/cellular_extra.pm:709
#: ../lib/network/connection/providers/cellular_extra.pm:713
#: ../lib/network/connection/providers/cellular_extra.pm:718
#: ../lib/network/connection/providers/cellular_extra.pm:722
#: ../lib/network/connection/providers/cellular_extra.pm:729
#: ../lib/network/connection/providers/cellular_extra.pm:734
#: ../lib/network/connection/providers/cellular_extra.pm:741
#: ../lib/network/connection/providers/cellular_extra.pm:748
#: ../lib/network/connection/providers/cellular_extra.pm:753
#: ../lib/network/connection/providers/cellular_extra.pm:756
#: ../lib/network/connection/providers/cellular_extra.pm:761
#: ../lib/network/connection/providers/cellular_extra.pm:764
#: ../lib/network/connection/providers/cellular_extra.pm:769
#: ../lib/network/connection/providers/cellular_extra.pm:774
#: ../lib/network/connection/providers/cellular_extra.pm:781
#: ../lib/network/connection/providers/xdsl.pm:492
#: ../lib/network/connection/providers/xdsl.pm:504
#: ../lib/network/connection/providers/xdsl.pm:516
#: ../lib/network/connection/providers/xdsl.pm:528
#: ../lib/network/connection/providers/xdsl.pm:539
#: ../lib/network/connection/providers/xdsl.pm:551
#: ../lib/network/connection/providers/xdsl.pm:563
#: ../lib/network/connection/providers/xdsl.pm:575
#: ../lib/network/connection/providers/xdsl.pm:588
#: ../lib/network/connection/providers/xdsl.pm:599
#: ../lib/network/connection/providers/xdsl.pm:610
#: ../lib/network/netconnect.pm:33
#, c-format
msgid "France"
msgstr "Francja"

#: ../lib/network/connection/providers/cellular.pm:131
#: ../lib/network/connection/providers/cellular.pm:134
#: ../lib/network/connection/providers/cellular_extra.pm:505
#: ../lib/network/connection/providers/cellular_extra.pm:512
#: ../lib/network/connection/providers/cellular_extra.pm:519
#: ../lib/network/connection/providers/cellular_extra.pm:526
#: ../lib/network/connection/providers/cellular_extra.pm:531
#: ../lib/network/connection/providers/cellular_extra.pm:536
#: ../lib/network/connection/providers/cellular_extra.pm:541
#: ../lib/network/connection/providers/cellular_extra.pm:547
#: ../lib/network/connection/providers/cellular_extra.pm:554
#: ../lib/network/connection/providers/cellular_extra.pm:561
#: ../lib/network/connection/providers/xdsl.pm:621
#: ../lib/network/connection/providers/xdsl.pm:630
#: ../lib/network/connection/providers/xdsl.pm:640
#, c-format
msgid "Germany"
msgstr "Niemcy"

#: ../lib/network/connection/providers/cellular.pm:137
#: ../lib/network/connection/providers/cellular.pm:142
#: ../lib/network/connection/providers/cellular.pm:147
#: ../lib/network/connection/providers/cellular.pm:152
#: ../lib/network/connection/providers/cellular_extra.pm:1213
#: ../lib/network/connection/providers/cellular_extra.pm:1216
#: ../lib/network/connection/providers/cellular_extra.pm:1219
#: ../lib/network/connection/providers/cellular_extra.pm:1225
#: ../lib/network/connection/providers/cellular_extra.pm:1228
#: ../lib/network/connection/providers/cellular_extra.pm:1231
#: ../lib/network/connection/providers/cellular_extra.pm:1234
#: ../lib/network/connection/providers/cellular_extra.pm:1237
#: ../lib/network/connection/providers/cellular_extra.pm:1240
#: ../lib/network/connection/providers/xdsl.pm:814
#: ../lib/network/connection/providers/xdsl.pm:825
#: ../lib/network/connection/providers/xdsl.pm:835
#: ../lib/network/connection/providers/xdsl.pm:846
#: ../lib/network/netconnect.pm:35
#, c-format
msgid "Italy"
msgstr "Włochy"

#: ../lib/network/connection/providers/cellular.pm:157
#: ../lib/network/connection/providers/cellular.pm:162
#: ../lib/network/connection/providers/cellular.pm:167
#: ../lib/network/connection/providers/cellular.pm:170
#: ../lib/network/connection/providers/cellular_extra.pm:1711
#: ../lib/network/connection/providers/cellular_extra.pm:1718
#: ../lib/network/connection/providers/cellular_extra.pm:1725
#: ../lib/network/connection/providers/cellular_extra.pm:1728
#: ../lib/network/connection/providers/cellular_extra.pm:1733
#: ../lib/network/connection/providers/cellular_extra.pm:1740
#: ../lib/network/connection/providers/cellular_extra.pm:1747
#: ../lib/network/connection/providers/xdsl.pm:1001
#: ../lib/network/connection/providers/xdsl.pm:1011
#, c-format
msgid "Poland"
msgstr "Polska"

#: ../lib/network/connection/providers/cellular.pm:173
#: ../lib/network/connection/providers/cellular_extra.pm:788
#: ../lib/network/connection/providers/cellular_extra.pm:791
#: ../lib/network/connection/providers/cellular_extra.pm:798
#: ../lib/network/connection/providers/cellular_extra.pm:805
#: ../lib/network/connection/providers/cellular_extra.pm:810
#: ../lib/network/connection/providers/cellular_extra.pm:817
#: ../lib/network/connection/providers/cellular_extra.pm:822
#: ../lib/network/connection/providers/cellular_extra.pm:829
#: ../lib/network/connection/providers/cellular_extra.pm:834
#: ../lib/network/connection/providers/cellular_extra.pm:841
#: ../lib/network/connection/providers/cellular_extra.pm:848
#: ../lib/network/connection/providers/cellular_extra.pm:851
#: ../lib/network/connection/providers/cellular_extra.pm:858
#: ../lib/network/connection/providers/cellular_extra.pm:861
#: ../lib/network/connection/providers/cellular_extra.pm:864
#: ../lib/network/connection/providers/cellular_extra.pm:871
#: ../lib/network/connection/providers/xdsl.pm:1330
#: ../lib/network/connection/providers/xdsl.pm:1340
#: ../lib/network/netconnect.pm:38
#, c-format
msgid "United Kingdom"
msgstr "Wielka Brytania"

#: ../lib/network/connection/providers/cellular.pm:178
#: ../lib/network/connection/providers/cellular_extra.pm:2175
#: ../lib/network/connection/providers/cellular_extra.pm:2180
#: ../lib/network/connection/providers/cellular_extra.pm:2185
#: ../lib/network/connection/providers/cellular_extra.pm:2190
#: ../lib/network/connection/providers/cellular_extra.pm:2193
#: ../lib/network/connection/providers/cellular_extra.pm:2196
#: ../lib/network/connection/providers/cellular_extra.pm:2199
#: ../lib/network/connection/providers/cellular_extra.pm:2202
#: ../lib/network/connection/providers/cellular_extra.pm:2205
#: ../lib/network/connection/providers/cellular_extra.pm:2208
#: ../lib/network/connection/providers/cellular_extra.pm:2211
#: ../lib/network/connection/providers/cellular_extra.pm:2214
#: ../lib/network/connection/providers/cellular_extra.pm:2217
#: ../lib/network/connection/providers/cellular_extra.pm:2220
#: ../lib/network/connection/providers/cellular_extra.pm:2223
#: ../lib/network/netconnect.pm:37
#, c-format
msgid "United States"
msgstr "Stany Zjednoczone"

#: ../lib/network/connection/providers/cellular_extra.pm:11
#: ../lib/network/connection/providers/cellular_extra.pm:18
#: ../lib/network/connection/providers/xdsl.pm:1320
#, c-format
msgid "United Arab Emirates"
msgstr "Zjednoczone Emiraty Arabskie"

#: ../lib/network/connection/providers/cellular_extra.pm:23
#, c-format
msgid "Albania"
msgstr "Albania"

#: ../lib/network/connection/providers/cellular_extra.pm:26
#: ../lib/network/connection/providers/cellular_extra.pm:48
#, c-format
msgid "Angola"
msgstr "Angola"

#: ../lib/network/connection/providers/cellular_extra.pm:30
#: ../lib/network/connection/providers/cellular_extra.pm:37
#: ../lib/network/connection/providers/cellular_extra.pm:43
#: ../lib/network/connection/providers/xdsl.pm:67
#: ../lib/network/connection/providers/xdsl.pm:77
#, c-format
msgid "Argentina"
msgstr "Argentyna"

#: ../lib/network/connection/providers/cellular_extra.pm:51
#: ../lib/network/connection/providers/cellular_extra.pm:57
#: ../lib/network/connection/providers/cellular_extra.pm:63
#: ../lib/network/connection/providers/cellular_extra.pm:69
#: ../lib/network/connection/providers/cellular_extra.pm:75
#: ../lib/network/connection/providers/cellular_extra.pm:82
#: ../lib/network/connection/providers/cellular_extra.pm:89
#: ../lib/network/connection/providers/cellular_extra.pm:96
#: ../lib/network/connection/providers/cellular_extra.pm:103
#: ../lib/network/connection/providers/cellular_extra.pm:106
#: ../lib/network/connection/providers/xdsl.pm:87
#: ../lib/network/connection/providers/xdsl.pm:96
#: ../lib/network/connection/providers/xdsl.pm:105
#, c-format
msgid "Austria"
msgstr "Austria"

#: ../lib/network/connection/providers/cellular_extra.pm:109
#: ../lib/network/connection/providers/cellular_extra.pm:112
#: ../lib/network/connection/providers/cellular_extra.pm:117
#: ../lib/network/connection/providers/cellular_extra.pm:122
#: ../lib/network/connection/providers/cellular_extra.pm:127
#: ../lib/network/connection/providers/cellular_extra.pm:133
#: ../lib/network/connection/providers/cellular_extra.pm:138
#: ../lib/network/connection/providers/cellular_extra.pm:144
#: ../lib/network/connection/providers/cellular_extra.pm:148
#: ../lib/network/connection/providers/cellular_extra.pm:155
#: ../lib/network/connection/providers/cellular_extra.pm:162
#: ../lib/network/connection/providers/cellular_extra.pm:168
#: ../lib/network/connection/providers/xdsl.pm:114
#: ../lib/network/connection/providers/xdsl.pm:124
#: ../lib/network/connection/providers/xdsl.pm:134
#, c-format
msgid "Australia"
msgstr "Australia"

#: ../lib/network/connection/providers/cellular_extra.pm:173
#: ../lib/network/connection/providers/cellular_extra.pm:176
#, c-format
msgid "Azerbaijan"
msgstr "Azerbejdżan"

#: ../lib/network/connection/providers/cellular_extra.pm:179
#, c-format
msgid "Bosnia and Herzegovina"
msgstr "Bośnia i Hercegowina"

#: ../lib/network/connection/providers/cellular_extra.pm:182
#, c-format
msgid "Bahamas"
msgstr "Bahamy"

#: ../lib/network/connection/providers/cellular_extra.pm:185
#: ../lib/network/connection/providers/cellular_extra.pm:189
#: ../lib/network/connection/providers/cellular_extra.pm:192
#, c-format
msgid "Bangladesh"
msgstr "Bangladesz"

#: ../lib/network/connection/providers/cellular_extra.pm:197
#, c-format
msgid "Barbados"
msgstr "Barbados"

#: ../lib/network/connection/providers/cellular_extra.pm:200
#: ../lib/network/connection/providers/cellular_extra.pm:207
#: ../lib/network/connection/providers/cellular_extra.pm:210
#: ../lib/network/connection/providers/cellular_extra.pm:215
#: ../lib/network/connection/providers/cellular_extra.pm:220
#: ../lib/network/connection/providers/cellular_extra.pm:225
#: ../lib/network/connection/providers/xdsl.pm:144
#: ../lib/network/connection/providers/xdsl.pm:153
#: ../lib/network/connection/providers/xdsl.pm:164
#: ../lib/network/connection/providers/xdsl.pm:173
#: ../lib/network/connection/providers/xdsl.pm:182
#: ../lib/network/netconnect.pm:36
#, c-format
msgid "Belgium"
msgstr "Belgia"

#: ../lib/network/connection/providers/cellular_extra.pm:232
#: ../lib/network/connection/providers/cellular_extra.pm:237
#: ../lib/network/connection/providers/cellular_extra.pm:244
#: ../lib/network/connection/providers/xdsl.pm:228
#: ../lib/network/connection/providers/xdsl.pm:237
#, c-format
msgid "Bulgaria"
msgstr "Bułgaria"

#: ../lib/network/connection/providers/cellular_extra.pm:282
#: ../lib/network/connection/providers/cellular_extra.pm:287
#: ../lib/network/connection/providers/cellular_extra.pm:294
#: ../lib/network/connection/providers/cellular_extra.pm:299
#: ../lib/network/connection/providers/cellular_extra.pm:304
#, c-format
msgid "Belarus"
msgstr "Białoruś"

#: ../lib/network/connection/providers/cellular_extra.pm:309
#, c-format
msgid "Botswana"
msgstr "Bostwana"

#: ../lib/network/connection/providers/cellular_extra.pm:312
#: ../lib/network/connection/providers/cellular_extra.pm:319
#, c-format
msgid "Canada"
msgstr "Kanada"

#: ../lib/network/connection/providers/cellular_extra.pm:326
#, c-format
msgid "Congo (Kinshasa)"
msgstr "Kongo (Kinszasa)"

#: ../lib/network/connection/providers/cellular_extra.pm:331
#, c-format
msgid "Congo (Brazzaville)"
msgstr "Kongo (Brazzaville)"

#: ../lib/network/connection/providers/cellular_extra.pm:336
#: ../lib/network/connection/providers/cellular_extra.pm:341
#: ../lib/network/connection/providers/cellular_extra.pm:348
#: ../lib/network/connection/providers/xdsl.pm:1258
#: ../lib/network/connection/providers/xdsl.pm:1267
#: ../lib/network/connection/providers/xdsl.pm:1277
#, c-format
msgid "Switzerland"
msgstr "Szwajcaria"

#: ../lib/network/connection/providers/cellular_extra.pm:355
#, c-format
msgid "Cote d'Ivoire"
msgstr "Wybrzeże Kości Słoniowej"

#: ../lib/network/connection/providers/cellular_extra.pm:358
#: ../lib/network/connection/providers/cellular_extra.pm:363
#: ../lib/network/connection/providers/cellular_extra.pm:368
#: ../lib/network/connection/providers/cellular_extra.pm:373
#: ../lib/network/connection/providers/cellular_extra.pm:378
#: ../lib/network/connection/providers/cellular_extra.pm:383
#: ../lib/network/connection/providers/cellular_extra.pm:388
#, c-format
msgid "Chile"
msgstr "Chile"

#: ../lib/network/connection/providers/cellular_extra.pm:393
#: ../lib/network/connection/providers/cellular_extra.pm:398
#, c-format
msgid "Cameroon"
msgstr "Kamerun"

#: ../lib/network/connection/providers/cellular_extra.pm:402
#: ../lib/network/connection/providers/cellular_extra.pm:407
#: ../lib/network/connection/providers/xdsl.pm:246
#: ../lib/network/connection/providers/xdsl.pm:255
#: ../lib/network/connection/providers/xdsl.pm:264
#: ../lib/network/connection/providers/xdsl.pm:273
#: ../lib/network/connection/providers/xdsl.pm:282
#: ../lib/network/connection/providers/xdsl.pm:291
#: ../lib/network/connection/providers/xdsl.pm:300
#: ../lib/network/connection/providers/xdsl.pm:309
#: ../lib/network/connection/providers/xdsl.pm:318
#: ../lib/network/connection/providers/xdsl.pm:327
#: ../lib/network/connection/providers/xdsl.pm:336
#: ../lib/network/connection/providers/xdsl.pm:345
#: ../lib/network/connection/providers/xdsl.pm:354
#: ../lib/network/connection/providers/xdsl.pm:363
#: ../lib/network/connection/providers/xdsl.pm:372
#: ../lib/network/connection/providers/xdsl.pm:381
#: ../lib/network/connection/providers/xdsl.pm:390
#: ../lib/network/connection/providers/xdsl.pm:399
#: ../lib/network/connection/providers/xdsl.pm:408
#: ../lib/network/connection/providers/xdsl.pm:417
#, c-format
msgid "China"
msgstr "Chiny"

#: ../lib/network/connection/providers/cellular_extra.pm:412
#, c-format
msgid "Costa Rica"
msgstr "Kostaryka"

#: ../lib/network/connection/providers/cellular_extra.pm:417
#: ../lib/network/connection/providers/cellular_extra.pm:422
#: ../lib/network/connection/providers/cellular_extra.pm:425
#, c-format
msgid "Colombia"
msgstr "Kolumbia"

#: ../lib/network/connection/providers/cellular_extra.pm:430
#: ../lib/network/connection/providers/cellular_extra.pm:435
#: ../lib/network/connection/providers/cellular_extra.pm:440
#: ../lib/network/connection/providers/cellular_extra.pm:445
#: ../lib/network/connection/providers/cellular_extra.pm:452
#: ../lib/network/connection/providers/cellular_extra.pm:457
#: ../lib/network/connection/providers/cellular_extra.pm:462
#: ../lib/network/connection/providers/cellular_extra.pm:467
#: ../lib/network/connection/providers/cellular_extra.pm:470
#: ../lib/network/connection/providers/cellular_extra.pm:475
#: ../lib/network/connection/providers/cellular_extra.pm:480
#: ../lib/network/connection/providers/cellular_extra.pm:485
#: ../lib/network/connection/providers/cellular_extra.pm:490
#: ../lib/network/connection/providers/cellular_extra.pm:495
#: ../lib/network/connection/providers/cellular_extra.pm:500
#: ../lib/network/connection/providers/xdsl.pm:426
#: ../lib/network/connection/providers/xdsl.pm:436
#, c-format
msgid "Czech Republic"
msgstr "Republika Czeska"

#: ../lib/network/connection/providers/cellular_extra.pm:564
#: ../lib/network/connection/providers/cellular_extra.pm:567
#: ../lib/network/connection/providers/cellular_extra.pm:570
#: ../lib/network/connection/providers/cellular_extra.pm:573
#: ../lib/network/connection/providers/cellular_extra.pm:576
#: ../lib/network/connection/providers/cellular_extra.pm:581
#: ../lib/network/connection/providers/cellular_extra.pm:586
#: ../lib/network/connection/providers/cellular_extra.pm:591
#: ../lib/network/connection/providers/cellular_extra.pm:596
#: ../lib/network/connection/providers/cellular_extra.pm:599
#: ../lib/network/connection/providers/xdsl.pm:446
#: ../lib/network/connection/providers/xdsl.pm:455
#: ../lib/network/connection/providers/xdsl.pm:464
#, c-format
msgid "Denmark"
msgstr "Dania"

#: ../lib/network/connection/providers/cellular_extra.pm:602
#, c-format
msgid "Dominican Republic"
msgstr "Dominikana"

#: ../lib/network/connection/providers/cellular_extra.pm:605
#, c-format
msgid "Ecuador"
msgstr "Ekwador"

#: ../lib/network/connection/providers/cellular_extra.pm:628
#: ../lib/network/connection/providers/cellular_extra.pm:633
#: ../lib/network/connection/providers/cellular_extra.pm:636
#: ../lib/network/connection/providers/xdsl.pm:473
#, c-format
msgid "Egypt"
msgstr "Egipt"

#: ../lib/network/connection/providers/cellular_extra.pm:641
#: ../lib/network/connection/providers/cellular_extra.pm:648
#: ../lib/network/connection/providers/cellular_extra.pm:655
#: ../lib/network/connection/providers/cellular_extra.pm:658
#: ../lib/network/connection/providers/cellular_extra.pm:665
#: ../lib/network/connection/providers/cellular_extra.pm:672
#: ../lib/network/connection/providers/cellular_extra.pm:679
#: ../lib/network/connection/providers/cellular_extra.pm:682
#: ../lib/network/connection/providers/xdsl.pm:1072
#: ../lib/network/connection/providers/xdsl.pm:1084
#: ../lib/network/connection/providers/xdsl.pm:1096
#: ../lib/network/connection/providers/xdsl.pm:1109
#: ../lib/network/connection/providers/xdsl.pm:1119
#: ../lib/network/connection/providers/xdsl.pm:1129
#: ../lib/network/connection/providers/xdsl.pm:1140
#: ../lib/network/connection/providers/xdsl.pm:1150
#: ../lib/network/connection/providers/xdsl.pm:1160
#: ../lib/network/connection/providers/xdsl.pm:1170
#: ../lib/network/connection/providers/xdsl.pm:1180
#: ../lib/network/connection/providers/xdsl.pm:1190
#: ../lib/network/connection/providers/xdsl.pm:1201
#: ../lib/network/connection/providers/xdsl.pm:1212
#: ../lib/network/connection/providers/xdsl.pm:1224
#: ../lib/network/connection/providers/xdsl.pm:1236
#, c-format
msgid "Spain"
msgstr "Hiszpania"

#: ../lib/network/connection/providers/cellular_extra.pm:706
#, c-format
msgid "Fiji"
msgstr "Fidżi"

#: ../lib/network/connection/providers/cellular_extra.pm:878
#, c-format
msgid "Georgia"
msgstr "Gruzja"

#: ../lib/network/connection/providers/cellular_extra.pm:883
#: ../lib/network/connection/providers/cellular_extra.pm:888
#: ../lib/network/connection/providers/cellular_extra.pm:891
#: ../lib/network/connection/providers/cellular_extra.pm:896
#, c-format
msgid "Ghana"
msgstr "Ghana"

#: ../lib/network/connection/providers/cellular_extra.pm:899
#: ../lib/network/connection/providers/cellular_extra.pm:903
#: ../lib/network/connection/providers/cellular_extra.pm:909
#: ../lib/network/connection/providers/cellular_extra.pm:912
#: ../lib/network/connection/providers/xdsl.pm:650
#, c-format
msgid "Greece"
msgstr "Grecja"

#: ../lib/network/connection/providers/cellular_extra.pm:917
#: ../lib/network/connection/providers/cellular_extra.pm:922
#, c-format
msgid "Guatemala"
msgstr "Gwatemala"

#: ../lib/network/connection/providers/cellular_extra.pm:925
#, c-format
msgid "Guyana"
msgstr "Gujana"

#: ../lib/network/connection/providers/cellular_extra.pm:930
#: ../lib/network/connection/providers/cellular_extra.pm:935
#: ../lib/network/connection/providers/cellular_extra.pm:938
#: ../lib/network/connection/providers/cellular_extra.pm:941
#: ../lib/network/connection/providers/cellular_extra.pm:946
#: ../lib/network/connection/providers/cellular_extra.pm:949
#: ../lib/network/connection/providers/cellular_extra.pm:952
#, c-format
msgid "Hong Kong"
msgstr "Hongkong"

#: ../lib/network/connection/providers/cellular_extra.pm:955
#, c-format
msgid "Honduras"
msgstr "Honduras"

#: ../lib/network/connection/providers/cellular_extra.pm:958
#: ../lib/network/connection/providers/cellular_extra.pm:962
#: ../lib/network/connection/providers/cellular_extra.pm:968
#: ../lib/network/connection/providers/cellular_extra.pm:974
#, c-format
msgid "Croatia"
msgstr "Chorwacja"

#: ../lib/network/connection/providers/cellular_extra.pm:981
#: ../lib/network/connection/providers/cellular_extra.pm:986
#: ../lib/network/connection/providers/cellular_extra.pm:991
#: ../lib/network/connection/providers/cellular_extra.pm:996
#: ../lib/network/connection/providers/cellular_extra.pm:1001
#: ../lib/network/connection/providers/cellular_extra.pm:1007
#: ../lib/network/connection/providers/cellular_extra.pm:1014
#: ../lib/network/connection/providers/cellular_extra.pm:1021
#: ../lib/network/connection/providers/cellular_extra.pm:1026
#: ../lib/network/connection/providers/xdsl.pm:659
#, c-format
msgid "Hungary"
msgstr "Węgry"

#: ../lib/network/connection/providers/cellular_extra.pm:1031
#: ../lib/network/connection/providers/cellular_extra.pm:1036
#: ../lib/network/connection/providers/cellular_extra.pm:1043
#: ../lib/network/connection/providers/cellular_extra.pm:1047
#: ../lib/network/connection/providers/cellular_extra.pm:1054
#: ../lib/network/connection/providers/cellular_extra.pm:1061
#, c-format
msgid "Indonesia"
msgstr "Indonezja"

#: ../lib/network/connection/providers/cellular_extra.pm:1066
#: ../lib/network/connection/providers/cellular_extra.pm:1073
#: ../lib/network/connection/providers/cellular_extra.pm:1080
#: ../lib/network/connection/providers/cellular_extra.pm:1085
#: ../lib/network/connection/providers/cellular_extra.pm:1090
#: ../lib/network/connection/providers/cellular_extra.pm:1095
#: ../lib/network/connection/providers/cellular_extra.pm:1101
#: ../lib/network/connection/providers/xdsl.pm:668
#, c-format
msgid "Ireland"
msgstr "Irlandia"

#: ../lib/network/connection/providers/cellular_extra.pm:1106
#: ../lib/network/connection/providers/cellular_extra.pm:1112
#: ../lib/network/connection/providers/cellular_extra.pm:1117
#: ../lib/network/connection/providers/xdsl.pm:677
#: ../lib/network/connection/providers/xdsl.pm:687
#: ../lib/network/connection/providers/xdsl.pm:697
#: ../lib/network/connection/providers/xdsl.pm:707
#: ../lib/network/connection/providers/xdsl.pm:717
#: ../lib/network/connection/providers/xdsl.pm:727
#: ../lib/network/connection/providers/xdsl.pm:737
#: ../lib/network/connection/providers/xdsl.pm:747
#: ../lib/network/connection/providers/xdsl.pm:757
#: ../lib/network/connection/providers/xdsl.pm:767
#: ../lib/network/connection/providers/xdsl.pm:777
#, c-format
msgid "Israel"
msgstr "Izrael"

#: ../lib/network/connection/providers/cellular_extra.pm:1121
#: ../lib/network/connection/providers/cellular_extra.pm:1126
#: ../lib/network/connection/providers/cellular_extra.pm:1132
#: ../lib/network/connection/providers/cellular_extra.pm:1136
#: ../lib/network/connection/providers/cellular_extra.pm:1141
#: ../lib/network/connection/providers/cellular_extra.pm:1146
#: ../lib/network/connection/providers/cellular_extra.pm:1151
#: ../lib/network/connection/providers/cellular_extra.pm:1155
#: ../lib/network/connection/providers/cellular_extra.pm:1160
#: ../lib/network/connection/providers/cellular_extra.pm:1165
#: ../lib/network/connection/providers/cellular_extra.pm:1170
#: ../lib/network/connection/providers/cellular_extra.pm:1175
#: ../lib/network/connection/providers/cellular_extra.pm:1180
#: ../lib/network/connection/providers/cellular_extra.pm:1185
#: ../lib/network/connection/providers/cellular_extra.pm:1188
#: ../lib/network/connection/providers/cellular_extra.pm:1193
#: ../lib/network/connection/providers/cellular_extra.pm:1198
#: ../lib/network/connection/providers/xdsl.pm:787
#, c-format
msgid "India"
msgstr "Indie"

#: ../lib/network/connection/providers/cellular_extra.pm:1203
#: ../lib/network/connection/providers/cellular_extra.pm:1208
#: ../lib/network/connection/providers/xdsl.pm:796
#: ../lib/network/connection/providers/xdsl.pm:805
#, c-format
msgid "Iceland"
msgstr "Islandia"

#: ../lib/network/connection/providers/cellular_extra.pm:1243
#: ../lib/network/connection/providers/cellular_extra.pm:1246
#, c-format
msgid "Jamaica"
msgstr "Jamajka"

#: ../lib/network/connection/providers/cellular_extra.pm:1253
#: ../lib/network/connection/providers/cellular_extra.pm:1260
#: ../lib/network/connection/providers/cellular_extra.pm:1265
#: ../lib/network/connection/providers/cellular_extra.pm:1270
#: ../lib/network/connection/providers/cellular_extra.pm:1273
#, c-format
msgid "Japan"
msgstr "Japonia"

#: ../lib/network/connection/providers/cellular_extra.pm:1280
#: ../lib/network/connection/providers/cellular_extra.pm:1283
#: ../lib/network/connection/providers/cellular_extra.pm:1288
#, c-format
msgid "Kenya"
msgstr "Kenia"

#: ../lib/network/connection/providers/cellular_extra.pm:1291
#: ../lib/network/connection/providers/cellular_extra.pm:1295
#, c-format
msgid "Kuwait"
msgstr "Kuwejt"

#: ../lib/network/connection/providers/cellular_extra.pm:1298
#, c-format
msgid "Kazakhstan"
msgstr "Kazachstan"

#: ../lib/network/connection/providers/cellular_extra.pm:1304
#, c-format
msgid "Laos"
msgstr "Laos"

#: ../lib/network/connection/providers/cellular_extra.pm:1308
#: ../lib/network/connection/providers/cellular_extra.pm:1313
#: ../lib/network/connection/providers/cellular_extra.pm:1316
#, c-format
msgid "Lebanon"
msgstr "Liban"

#: ../lib/network/connection/providers/cellular_extra.pm:1319
#, c-format
msgid "Saint Lucia"
msgstr "Saint Lucia"

#: ../lib/network/connection/providers/cellular_extra.pm:1323
#: ../lib/network/connection/providers/cellular_extra.pm:1326
#: ../lib/network/connection/providers/cellular_extra.pm:1329
#: ../lib/network/connection/providers/cellular_extra.pm:1332
#: ../lib/network/connection/providers/cellular_extra.pm:1335
#: ../lib/network/connection/providers/cellular_extra.pm:1338
#: ../lib/network/connection/providers/xdsl.pm:858
#, c-format
msgid "Sri Lanka"
msgstr "Sri Lanka"

#: ../lib/network/connection/providers/cellular_extra.pm:1341
#: ../lib/network/connection/providers/cellular_extra.pm:1347
#: ../lib/network/connection/providers/cellular_extra.pm:1351
#: ../lib/network/connection/providers/cellular_extra.pm:1356
#: ../lib/network/connection/providers/xdsl.pm:870
#, c-format
msgid "Lithuania"
msgstr "Litwa"

#: ../lib/network/connection/providers/cellular_extra.pm:1363
#: ../lib/network/connection/providers/cellular_extra.pm:1368
#: ../lib/network/connection/providers/cellular_extra.pm:1373
#, c-format
msgid "Luxembourg"
msgstr "Luksemburg"

#: ../lib/network/connection/providers/cellular_extra.pm:1376
#: ../lib/network/connection/providers/cellular_extra.pm:1381
#, c-format
msgid "Latvia"
msgstr "Łotwa"

#: ../lib/network/connection/providers/cellular_extra.pm:1386
#: ../lib/network/connection/providers/cellular_extra.pm:1391
#: ../lib/network/connection/providers/xdsl.pm:900
#, c-format
msgid "Morocco"
msgstr "Maroko"

#: ../lib/network/connection/providers/cellular_extra.pm:1396
#: ../lib/network/connection/providers/cellular_extra.pm:1401
#, c-format
msgid "Moldova"
msgstr "Mołdowa"

#: ../lib/network/connection/providers/cellular_extra.pm:1404
#: ../lib/network/connection/providers/cellular_extra.pm:1411
#: ../lib/network/connection/providers/cellular_extra.pm:1414
#: ../lib/network/connection/providers/cellular_extra.pm:1419
#: ../lib/network/connection/providers/cellular_extra.pm:1425
#: ../lib/network/connection/providers/cellular_extra.pm:1431
#, c-format
msgid "Montenegro"
msgstr "Montenegro"

#: ../lib/network/connection/providers/cellular_extra.pm:1437
#, c-format
msgid "Mongolia"
msgstr "Mongolia"

#: ../lib/network/connection/providers/cellular_extra.pm:1440
#: ../lib/network/connection/providers/cellular_extra.pm:1443
#: ../lib/network/connection/providers/cellular_extra.pm:1448
#: ../lib/network/connection/providers/cellular_extra.pm:1451
#, c-format
msgid "Macao"
msgstr "Makao"

#: ../lib/network/connection/providers/cellular_extra.pm:1456
#: ../lib/network/connection/providers/cellular_extra.pm:1459
#: ../lib/network/connection/providers/cellular_extra.pm:1462
#, c-format
msgid "Malta"
msgstr "Malta"

#: ../lib/network/connection/providers/cellular_extra.pm:1467
#: ../lib/network/connection/providers/xdsl.pm:879
#: ../lib/network/connection/providers/xdsl.pm:889
#, c-format
msgid "Mauritius"
msgstr "Mauritius"

#: ../lib/network/connection/providers/cellular_extra.pm:1470
#, c-format
msgid "Maldives"
msgstr "Malediwy"

#: ../lib/network/connection/providers/cellular_extra.pm:1473
#: ../lib/network/connection/providers/cellular_extra.pm:1480
#, c-format
msgid "Mexico"
msgstr "Meksyk"

#: ../lib/network/connection/providers/cellular_extra.pm:1483
#: ../lib/network/connection/providers/cellular_extra.pm:1488
#: ../lib/network/connection/providers/cellular_extra.pm:1493
#: ../lib/network/connection/providers/cellular_extra.pm:1498
#: ../lib/network/connection/providers/cellular_extra.pm:1503
#: ../lib/network/connection/providers/cellular_extra.pm:1507
#: ../lib/network/connection/providers/cellular_extra.pm:1510
#, c-format
msgid "Malaysia"
msgstr "Malezja"

#: ../lib/network/connection/providers/cellular_extra.pm:1517
#, c-format
msgid "Mozambique"
msgstr "Mozambik"

#: ../lib/network/connection/providers/cellular_extra.pm:1524
#: ../lib/network/connection/providers/cellular_extra.pm:1529
#: ../lib/network/connection/providers/cellular_extra.pm:1534
#, c-format
msgid "Nigeria"
msgstr "Nigeria"

#: ../lib/network/connection/providers/cellular_extra.pm:1540
#: ../lib/network/connection/providers/cellular_extra.pm:1545
#, c-format
msgid "Nicaragua"
msgstr "Nikaragua"

#: ../lib/network/connection/providers/cellular_extra.pm:1550
#: ../lib/network/connection/providers/cellular_extra.pm:1553
#: ../lib/network/connection/providers/cellular_extra.pm:1560
#: ../lib/network/connection/providers/cellular_extra.pm:1565
#: ../lib/network/connection/providers/cellular_extra.pm:1570
#: ../lib/network/connection/providers/cellular_extra.pm:1574
#: ../lib/network/connection/providers/cellular_extra.pm:1579
#: ../lib/network/connection/providers/cellular_extra.pm:1584
#: ../lib/network/connection/providers/xdsl.pm:910
#: ../lib/network/connection/providers/xdsl.pm:919
#: ../lib/network/connection/providers/xdsl.pm:928
#: ../lib/network/connection/providers/xdsl.pm:937
#: ../lib/network/netconnect.pm:34
#, c-format
msgid "Netherlands"
msgstr "Holandia"

#: ../lib/network/connection/providers/cellular_extra.pm:1587
#: ../lib/network/connection/providers/cellular_extra.pm:1594
#: ../lib/network/connection/providers/cellular_extra.pm:1599
#: ../lib/network/connection/providers/cellular_extra.pm:1604
#: ../lib/network/connection/providers/cellular_extra.pm:1609
#: ../lib/network/connection/providers/cellular_extra.pm:1612
#: ../lib/network/connection/providers/cellular_extra.pm:1615
#: ../lib/network/connection/providers/cellular_extra.pm:1618
#: ../lib/network/connection/providers/cellular_extra.pm:1621
#: ../lib/network/connection/providers/cellular_extra.pm:1624
#: ../lib/network/connection/providers/xdsl.pm:946
#: ../lib/network/connection/providers/xdsl.pm:952
#: ../lib/network/connection/providers/xdsl.pm:958
#: ../lib/network/connection/providers/xdsl.pm:964
#: ../lib/network/connection/providers/xdsl.pm:970
#: ../lib/network/connection/providers/xdsl.pm:976
#: ../lib/network/connection/providers/xdsl.pm:982
#, c-format
msgid "Norway"
msgstr "Norwegia"

#: ../lib/network/connection/providers/cellular_extra.pm:1627
#, c-format
msgid "Nepal"
msgstr "Nepal"

#: ../lib/network/connection/providers/cellular_extra.pm:1630
#: ../lib/network/connection/providers/cellular_extra.pm:1635
#: ../lib/network/connection/providers/cellular_extra.pm:1640
#, c-format
msgid "New Zealand"
msgstr "Nowa Zelandia"

#: ../lib/network/connection/providers/cellular_extra.pm:1645
#: ../lib/network/connection/providers/cellular_extra.pm:1650
#, c-format
msgid "Panama"
msgstr "Panama"

#: ../lib/network/connection/providers/cellular_extra.pm:1655
#, c-format
msgid "Oman"
msgstr "Oman"

#: ../lib/network/connection/providers/cellular_extra.pm:1658
#, c-format
msgid "Peru"
msgstr "Peru"

#: ../lib/network/connection/providers/cellular_extra.pm:1663
#: ../lib/network/connection/providers/cellular_extra.pm:1670
#: ../lib/network/connection/providers/cellular_extra.pm:1677
#: ../lib/network/connection/providers/cellular_extra.pm:1680
#, c-format
msgid "Philippines"
msgstr "Filipiny"

#: ../lib/network/connection/providers/cellular_extra.pm:1687
#: ../lib/network/connection/providers/cellular_extra.pm:1692
#: ../lib/network/connection/providers/cellular_extra.pm:1695
#: ../lib/network/connection/providers/cellular_extra.pm:1698
#: ../lib/network/connection/providers/cellular_extra.pm:1703
#: ../lib/network/connection/providers/cellular_extra.pm:1708
#: ../lib/network/connection/providers/xdsl.pm:990
#, c-format
msgid "Pakistan"
msgstr "Pakistan"

#: ../lib/network/connection/providers/cellular_extra.pm:1752
#: ../lib/network/connection/providers/cellular_extra.pm:1757
#: ../lib/network/connection/providers/cellular_extra.pm:1762
#: ../lib/network/connection/providers/cellular_extra.pm:1766
#: ../lib/network/connection/providers/cellular_extra.pm:1771
#: ../lib/network/connection/providers/xdsl.pm:1022
#, c-format
msgid "Portugal"
msgstr "Portugalia"

#: ../lib/network/connection/providers/cellular_extra.pm:1776
#, c-format
msgid "Paraguay"
msgstr "Paragwaj"

#: ../lib/network/connection/providers/cellular_extra.pm:1781
#: ../lib/network/connection/providers/cellular_extra.pm:1786
#: ../lib/network/connection/providers/cellular_extra.pm:1793
#, c-format
msgid "Romania"
msgstr "Rumunia"

#: ../lib/network/connection/providers/cellular_extra.pm:1798
#: ../lib/network/connection/providers/cellular_extra.pm:1805
#: ../lib/network/connection/providers/cellular_extra.pm:1811
#: ../lib/network/connection/providers/cellular_extra.pm:1817
#, c-format
msgid "Serbia"
msgstr "Serbia"

#: ../lib/network/connection/providers/cellular_extra.pm:1823
#: ../lib/network/connection/providers/cellular_extra.pm:1830
#: ../lib/network/connection/providers/cellular_extra.pm:1837
#: ../lib/network/connection/providers/cellular_extra.pm:1842
#: ../lib/network/connection/providers/cellular_extra.pm:1849
#: ../lib/network/connection/providers/cellular_extra.pm:1852
#: ../lib/network/connection/providers/cellular_extra.pm:1857
#: ../lib/network/connection/providers/cellular_extra.pm:1862
#: ../lib/network/connection/providers/cellular_extra.pm:1867
#: ../lib/network/connection/providers/cellular_extra.pm:1872
#: ../lib/network/connection/providers/cellular_extra.pm:1877
#: ../lib/network/connection/providers/cellular_extra.pm:1882
#: ../lib/network/connection/providers/cellular_extra.pm:1887
#: ../lib/network/connection/providers/cellular_extra.pm:1892
#: ../lib/network/connection/providers/cellular_extra.pm:1898
#: ../lib/network/connection/providers/cellular_extra.pm:1903
#: ../lib/network/connection/providers/cellular_extra.pm:1908
#: ../lib/network/connection/providers/cellular_extra.pm:1914
#: ../lib/network/connection/providers/cellular_extra.pm:1920
#: ../lib/network/connection/providers/cellular_extra.pm:1927
#: ../lib/network/connection/providers/cellular_extra.pm:1933
#, c-format
msgid "Russian Federation"
msgstr "Federacja Rosyjska"

#: ../lib/network/connection/providers/cellular_extra.pm:1938
#: ../lib/network/connection/providers/cellular_extra.pm:1941
#, c-format
msgid "Saudi Arabia"
msgstr "Arabia Saudyjska"

#: ../lib/network/connection/providers/cellular_extra.pm:1946
#: ../lib/network/connection/providers/cellular_extra.pm:1949
#: ../lib/network/connection/providers/cellular_extra.pm:1952
#: ../lib/network/connection/providers/cellular_extra.pm:1955
#: ../lib/network/connection/providers/cellular_extra.pm:1958
#: ../lib/network/connection/providers/cellular_extra.pm:1961
#: ../lib/network/connection/providers/cellular_extra.pm:1966
#: ../lib/network/connection/providers/cellular_extra.pm:1969
#: ../lib/network/connection/providers/cellular_extra.pm:1972
#: ../lib/network/connection/providers/xdsl.pm:1249
#, c-format
msgid "Sweden"
msgstr "Szwecja"

#: ../lib/network/connection/providers/cellular_extra.pm:1975
#: ../lib/network/connection/providers/cellular_extra.pm:1982
#: ../lib/network/connection/providers/cellular_extra.pm:1987
#: ../lib/network/connection/providers/xdsl.pm:1042
#, c-format
msgid "Singapore"
msgstr "Singapur"

#: ../lib/network/connection/providers/cellular_extra.pm:1993
#: ../lib/network/connection/providers/cellular_extra.pm:2000
#: ../lib/network/connection/providers/cellular_extra.pm:2007
#: ../lib/network/connection/providers/xdsl.pm:1061
#, c-format
msgid "Slovenia"
msgstr "Słowenia"

#: ../lib/network/connection/providers/cellular_extra.pm:2012
#: ../lib/network/connection/providers/cellular_extra.pm:2017
#: ../lib/network/connection/providers/cellular_extra.pm:2022
#: ../lib/network/connection/providers/cellular_extra.pm:2029
#, c-format
msgid "Slovakia"
msgstr "Słowacja"

#: ../lib/network/connection/providers/cellular_extra.pm:2034
#: ../lib/network/connection/providers/xdsl.pm:1051
#, c-format
msgid "Senegal"
msgstr "Senegal"

#: ../lib/network/connection/providers/cellular_extra.pm:2039
#, c-format
msgid "El Salvador"
msgstr "El Salwator"

#: ../lib/network/connection/providers/cellular_extra.pm:2044
#: ../lib/network/connection/providers/cellular_extra.pm:2049
#: ../lib/network/connection/providers/cellular_extra.pm:2054
#: ../lib/network/connection/providers/xdsl.pm:1286
#, c-format
msgid "Thailand"
msgstr "Tajlandia"

#: ../lib/network/connection/providers/cellular_extra.pm:2059
#: ../lib/network/connection/providers/cellular_extra.pm:2064
#: ../lib/network/connection/providers/cellular_extra.pm:2069
#: ../lib/network/connection/providers/cellular_extra.pm:2076
#: ../lib/network/connection/providers/cellular_extra.pm:2083
#: ../lib/network/connection/providers/xdsl.pm:1307
#, c-format
msgid "Turkey"
msgstr "Turcja"

#: ../lib/network/connection/providers/cellular_extra.pm:2088
#: ../lib/network/connection/providers/cellular_extra.pm:2093
#, c-format
msgid "Trinidad and Tobago"
msgstr "Trynidad i Tobago"

#: ../lib/network/connection/providers/cellular_extra.pm:2098
#: ../lib/network/connection/providers/cellular_extra.pm:2101
#: ../lib/network/connection/providers/cellular_extra.pm:2104
#: ../lib/network/connection/providers/cellular_extra.pm:2107
#: ../lib/network/connection/providers/cellular_extra.pm:2110
#, c-format
msgid "Taiwan"
msgstr "Tajwan"

#: ../lib/network/connection/providers/cellular_extra.pm:2113
#: ../lib/network/connection/providers/cellular_extra.pm:2118
#: ../lib/network/connection/providers/cellular_extra.pm:2123
#: ../lib/network/connection/providers/cellular_extra.pm:2128
#: ../lib/network/connection/providers/cellular_extra.pm:2133
#: ../lib/network/connection/providers/cellular_extra.pm:2138
#: ../lib/network/connection/providers/cellular_extra.pm:2141
#: ../lib/network/connection/providers/cellular_extra.pm:2146
#: ../lib/network/connection/providers/cellular_extra.pm:2151
#: ../lib/network/connection/providers/cellular_extra.pm:2156
#: ../lib/network/connection/providers/cellular_extra.pm:2162
#: ../lib/network/connection/providers/cellular_extra.pm:2167
#, c-format
msgid "Ukraine"
msgstr "Ukraina"

#: ../lib/network/connection/providers/cellular_extra.pm:2170
#, c-format
msgid "Uganda"
msgstr "Uganda"

#: ../lib/network/connection/providers/cellular_extra.pm:2226
#: ../lib/network/connection/providers/cellular_extra.pm:2231
#: ../lib/network/connection/providers/cellular_extra.pm:2236
#, c-format
msgid "Uruguay"
msgstr "Urugwaj"

#: ../lib/network/connection/providers/cellular_extra.pm:2241
#, c-format
msgid "Uzbekistan"
msgstr "Uzbekistan"

#: ../lib/network/connection/providers/cellular_extra.pm:2246
#, c-format
msgid "Saint Vincent and the Grenadines"
msgstr "Saint Vincent i Grenadiny"

#: ../lib/network/connection/providers/cellular_extra.pm:2251
#, c-format
msgid "Venezuela"
msgstr "Wenezuela"

#: ../lib/network/connection/providers/cellular_extra.pm:2255
#: ../lib/network/connection/providers/cellular_extra.pm:2262
#: ../lib/network/connection/providers/cellular_extra.pm:2267
#: ../lib/network/connection/providers/cellular_extra.pm:2272
#: ../lib/network/connection/providers/cellular_extra.pm:2277
#, c-format
msgid "South Africa"
msgstr "Afryka Południowa"

#: ../lib/network/connection/providers/xdsl.pm:47
#: ../lib/network/connection/providers/xdsl.pm:57
#, c-format
msgid "Algeria"
msgstr "Algieria"

#: ../lib/network/connection/providers/xdsl.pm:87
#: ../lib/network/connection/providers/xdsl.pm:446
#: ../lib/network/connection/providers/xdsl.pm:650
#: ../lib/network/connection/providers/xdsl.pm:668
#: ../lib/network/connection/providers/xdsl.pm:787
#: ../lib/network/connection/providers/xdsl.pm:1258
#, c-format
msgid "Any"
msgstr "dowolny"

#: ../lib/network/connection/providers/xdsl.pm:1031
#, c-format
msgid "Russia"
msgstr "Rosja"

#: ../lib/network/connection/providers/xdsl.pm:1296
#, c-format
msgid "Tunisia"
msgstr "Tunezja"

#: ../lib/network/connection/wireless.pm:13
#, c-format
msgid "Wireless"
msgstr "Bezprzewodowy"

#: ../lib/network/connection/wireless.pm:14
#, c-format
msgid "Wireless (Wi-Fi)"
msgstr "Bezprzewodowy (Wi-Fi)"

#: ../lib/network/connection/wireless.pm:30
#, c-format
msgid "Use a Windows driver (with ndiswrapper)"
msgstr "Użycie sterownika dla systemu Windows (z wykorzystaniem ndiswrapper)"

#: ../lib/network/connection/wireless.pm:47
#, c-format
msgid "Open WEP"
msgstr "Otwarty WEP"

#: ../lib/network/connection/wireless.pm:48
#, c-format
msgid "Restricted WEP"
msgstr "Zastrzeżony WEP"

#: ../lib/network/connection/wireless.pm:49
#, c-format
msgid "WPA/WPA2 Pre-Shared Key"
msgstr "Klucz WPA/WPA2 Pre-Shared Key"

#: ../lib/network/connection/wireless.pm:50
#, c-format
msgid "WPA/WPA2 Enterprise"
msgstr "WPA/WPA2 Enterprise"

#: ../lib/network/connection/wireless.pm:292
#, c-format
msgid "Windows driver"
msgstr "Sterownik Windows"

#: ../lib/network/connection/wireless.pm:366
#, c-format
msgid ""
"Your wireless card is disabled, please enable the wireless switch (RF kill "
"switch) first."
msgstr ""
"Bezprzewodowa karta sieciowa została wyłączona. Musisz uruchomić "
"bezprzewodowy switch."

#: ../lib/network/connection/wireless.pm:456
#, c-format
msgid "Wireless settings"
msgstr "Ustawienia połączenia bezprzewodowego"

#: ../lib/network/connection/wireless.pm:461
#: ../lib/network/connection_manager.pm:281
#: ../lib/network/drakconnect/edit.pm:236
#, c-format
msgid "Operating Mode"
msgstr "Tryb operacyjny"

#: ../lib/network/connection/wireless.pm:462
#, c-format
msgid "Ad-hoc"
msgstr "Ad-hoc"

#: ../lib/network/connection/wireless.pm:462
#, c-format
msgid "Managed"
msgstr "Zarządzany"

#: ../lib/network/connection/wireless.pm:462
#, c-format
msgid "Master"
msgstr "Główny"

#: ../lib/network/connection/wireless.pm:462
#, c-format
msgid "Repeater"
msgstr "Powielający"

#: ../lib/network/connection/wireless.pm:462
#, c-format
msgid "Secondary"
msgstr "Zapasowy"

#: ../lib/network/connection/wireless.pm:462
#, c-format
msgid "Auto"
msgstr "Automatyczny"

#: ../lib/network/connection/wireless.pm:465
#: ../lib/network/drakconnect/edit.pm:237
#, c-format
msgid "Network name (ESSID)"
msgstr "Nazwa sieci (ESSID)"

#: ../lib/network/connection/wireless.pm:467
#, c-format
msgid "Encryption mode"
msgstr "Tryb szyfrowania"

#: ../lib/network/connection/wireless.pm:469
#: ../lib/network/drakconnect/edit.pm:251
#, c-format
msgid "Encryption key"
msgstr "Klucz szyfrujący"

#: ../lib/network/connection/wireless.pm:472
#, c-format
msgid "Hide password"
msgstr "Ukryj hasło"

#: ../lib/network/connection/wireless.pm:474
#, c-format
msgid "Force using this key as ASCII string (e.g. for Livebox)"
msgstr ""
"Wymuś zastosowanie tego klucza jako ciągu znaków ASCII (np. dla Livebox)"

#: ../lib/network/connection/wireless.pm:481
#, c-format
msgid "EAP Login/Username"
msgstr "Nazwa użytkownika/login (EAP)"

#: ../lib/network/connection/wireless.pm:483
#, c-format
msgid ""
"The login or username. Format is plain text. If you\n"
"need to specify domain then try the untested syntax\n"
"  DOMAIN\\username"
msgstr ""
"Login lub nazwa użytkownika. W czystym formacie tekstowym. \n"
"Jeżeli chcesz wybrać domenę spróbuj składni\n"
"DOMENA\n"
"azwa_uzytkownika"

#: ../lib/network/connection/wireless.pm:486
#, c-format
msgid "EAP Password"
msgstr "Hasło (EAP)"

#: ../lib/network/connection/wireless.pm:489
#, c-format
msgid ""
" Password: A string.\n"
"Note that this is not the same thing as a psk.\n"
"____________________________________________________\n"
"RELATED ADDITIONAL INFORMATION:\n"
"In the Advanced Page, you can select which EAP mode\n"
"is used for authentication. For the eap mode setting\n"
"   Auto Detect: implies all possible modes are tried.\n"
"\n"
"If Auto Detect fails, try the PEAP TTLS combo bofore others\n"
"Note:\n"
"\tThe settings MD5, MSCHAPV2, OTP and GTC imply\n"
"automatically PEAP and TTLS modes.\n"
"  TLS mode is completely certificate based and may ignore\n"
"the username and password values specified here."
msgstr ""
"Hasło: ciąg znaków.\n"
"Zwróć uwagę, że nie jest to to samo co psk.\n"
"____________________________________________________\n"
"DODATKOWA INFORMACJA\n"
"W części Zaawansowane możesz wybrać tryb EAP\n"
"wykorzystywany do uwierzytelniania. Dla trybu EAP\n"
"   Wykryj automatycznie: sprawdzane są wszystkie dostępne tryby.\n"
"\n"
"Jeżeli wykrywanie automatyczne nie powiedzie się, zaznacz opcję PEAP TTLS.\n"
"Informacja:\n"
"\t Opcja MD5, MSCHAPV2, OTP i GTC powodują\n"
"automatyczne włączenie trybów PEAP i TTLS.\n"
" Tryb TLS wykorzystuje certyfikat i może zignorować\n"
"podaną nazwę użytkownika i hasło."

#: ../lib/network/connection/wireless.pm:503
#, c-format
msgid "EAP client certificate"
msgstr "Certyfikat klienta (EAP)"

#: ../lib/network/connection/wireless.pm:505
#, c-format
msgid ""
"The complete path and filename of client certificate. This is\n"
"only used for EAP certificate based authentication. It could be\n"
"considered as the alternative to username/password combo.\n"
" Note: other related settings are shown on the Advanced page."
msgstr ""
"Pełna ścieżka i nazwa pliku zawierającego certyfikat klienta. \n"
"Używany jest tylko dla uwierzytelniania opartego na certyfikacie\n"
"EAP. Może być wykorzystywany jako alternatywa dla pary \n"
"nazwa użytkownika/hasło. \n"
"Informacja: pozostałe powiązane ustawienia są przedstawione na stronie "
"Zaawansowane."

#: ../lib/network/connection/wireless.pm:509
#: ../lib/network/drakconnect/edit.pm:238
#, c-format
msgid "Network ID"
msgstr "ID Sieci"

#: ../lib/network/connection/wireless.pm:510
#: ../lib/network/drakconnect/edit.pm:239
#, c-format
msgid "Operating frequency"
msgstr "Częstotliwość operacyjna"

#: ../lib/network/connection/wireless.pm:511
#: ../lib/network/drakconnect/edit.pm:240
#, c-format
msgid "Sensitivity threshold"
msgstr "Próg czułości"

#: ../lib/network/connection/wireless.pm:512
#: ../lib/network/drakconnect/edit.pm:241
#, c-format
msgid "Bitrate (in b/s)"
msgstr "Stopa bitowa (w b/s)"

#: ../lib/network/connection/wireless.pm:513
#: ../lib/network/drakconnect/edit.pm:252
#, c-format
msgid "RTS/CTS"
msgstr "RTS/CTS"

#: ../lib/network/connection/wireless.pm:514
#, c-format
msgid ""
"RTS/CTS adds a handshake before each packet transmission to make sure that "
"the\n"
"channel is clear. This adds overhead, but increase performance in case of "
"hidden\n"
"nodes or large number of active nodes. This parameter sets the size of the\n"
"smallest packet for which the node sends RTS, a value equal to the maximum\n"
"packet size disable the scheme. You may also set this parameter to auto, "
"fixed\n"
"or off."
msgstr ""
"RTS/CTS dodaje uzgadnianie połączenia przed transmisją każdego pakietu\n"
"w celu upewnienia się, że kanał jest czysty. To zwiększa ruch lecz\n"
"także zwiększa wydajność w przypadku ukrytych węzłów lub dużej liczby\n"
"aktywnych węzłów. Te parametry ustawiają rozmiar najmniejszego pakietu\n"
"dla którego węzeł wysyła RTS, wartość równą maksymalnemu rozmiarowi\n"
"pakietu wyłączającego schemat. Można ustawić ten parametr na wartość\n"
"automatyczną, ustaloną lub wyłączyć go."

#: ../lib/network/connection/wireless.pm:521
#: ../lib/network/drakconnect/edit.pm:253
#, c-format
msgid "Fragmentation"
msgstr "Fragmentacja"

#: ../lib/network/connection/wireless.pm:522
#: ../lib/network/drakconnect/edit.pm:254
#, c-format
msgid "iwconfig command extra arguments"
msgstr "Dodatkowe argumenty dla polecenia iwconfig"

#: ../lib/network/connection/wireless.pm:523
#, c-format
msgid ""
"Here, one can configure some extra wireless parameters such as:\n"
"ap, channel, commit, enc, power, retry, sens, txpower (nick is already set "
"as the hostname).\n"
"\n"
"See iwconfig(8) man page for further information."
msgstr ""
"Tutaj można skonfigurować kilka dodatkowych parametrów sieci bezprzewodowej\n"
"takich jak:\n"
"ap, channel, commit, enc, power, retry, sens, txpower (pseudonim jest już\n"
"ustawiany jako nazwa komputera).\n"
"\n"
"Zobacz stronę podręcznikową man iwconfig(8) aby uzyskać więcej informacji."

#. -PO: split the "xyz command extra argument" translated string into two lines if it's bigger than the english one
#: ../lib/network/connection/wireless.pm:530
#: ../lib/network/drakconnect/edit.pm:255
#, c-format
msgid "iwspy command extra arguments"
msgstr "Dodatkowe argumenty polecenia iwspy"

#: ../lib/network/connection/wireless.pm:531
#, c-format
msgid ""
"iwspy is used to set a list of addresses in a wireless network\n"
"interface and to read back quality of link information for each of those.\n"
"\n"
"This information is the same as the one available in /proc/net/wireless :\n"
"quality of the link, signal strength and noise level.\n"
"\n"
"See iwpspy(8) man page for further information."
msgstr ""
"lwspy jest używany do ustawienia listy adresów w interfejsie sieci\n"
"bezprzewodowej oraz do odczytu informacji o jakości połączenia dla każdego z "
"nich.\n"
"\n"
"Te informacje są takie same co dostępne w pliku /proc/net/wireless:\n"
"jakość łącza, siła sygnału oraz poziom szumu.\n"
"\n"
"Zajrzyj na stronę manuala iwpspy(8) aby uzyskać więcej informacji."

#: ../lib/network/connection/wireless.pm:539
#: ../lib/network/drakconnect/edit.pm:256
#, c-format
msgid "iwpriv command extra arguments"
msgstr "Dodatkowe argumenty polecenia iwpriv"

#: ../lib/network/connection/wireless.pm:541
#, c-format
msgid ""
"iwpriv enable to set up optionals (private) parameters of a wireless "
"network\n"
"interface.\n"
"\n"
"iwpriv deals with parameters and setting specific to each driver (as opposed "
"to\n"
"iwconfig which deals with generic ones).\n"
"\n"
"In theory, the documentation of each device driver should indicate how to "
"use\n"
"those interface specific commands and their effect.\n"
"\n"
"See iwpriv(8) man page for further information."
msgstr ""
"lwpriv włącza konfigurację opcjonalnych (prywatnych) parametrów interfejsu\n"
"sieci bezprzewodowej.\n"
"\n"
"lwpriv radzi sobie z parametrami i ustawieniami specyficznymi dla każdego\n"
"sterownika (w przeciwieństwie do iwconfig radzącymi sobie ze zwykłymi).\n"
"\n"
"W teorii, dokumentacja każdego sterownika sprzętowego powinna wskazywać\n"
"w jaki sposób należy używać polecenia specyficzne dla interfejsu i ich "
"efekty.\n"
"\n"
"Zajrzyj na stronę manuala iwpriv(8) aby uzyskać więcej informacji."

#: ../lib/network/connection/wireless.pm:552
#, c-format
msgid "EAP Protocol"
msgstr "Protokół EAP"

#: ../lib/network/connection/wireless.pm:553
#: ../lib/network/connection/wireless.pm:558
#, c-format
msgid "Auto Detect"
msgstr "Wykryj automatycznie"

#: ../lib/network/connection/wireless.pm:553
#, c-format
msgid "WPA2"
msgstr "WPA2"

#: ../lib/network/connection/wireless.pm:553
#, c-format
msgid "WPA"
msgstr "WPA"

#: ../lib/network/connection/wireless.pm:555
#, c-format
msgid ""
"Auto Detect is recommended as it first tries WPA version 2 with\n"
"a fallback to WPA version 1"
msgstr ""
"Wykrywanie automatyczne jest zalecane ponieważ w pierwszej kolejności\n"
"sprawdza WPA w wersji 2, a następnie WPA w wersji 1"

#: ../lib/network/connection/wireless.pm:557
#, c-format
msgid "EAP Mode"
msgstr "Tryb EAP"

#: ../lib/network/connection/wireless.pm:558
#, c-format
msgid "PEAP"
msgstr "PEAP"

#: ../lib/network/connection/wireless.pm:558
#, c-format
msgid "TTLS"
msgstr "TTLS"

#: ../lib/network/connection/wireless.pm:558
#, c-format
msgid "TLS"
msgstr "TLS"

#: ../lib/network/connection/wireless.pm:558
#, c-format
msgid "MSCHAPV2"
msgstr "MSCHAPV2"

#: ../lib/network/connection/wireless.pm:558
#, c-format
msgid "MD5"
msgstr "MD5"

#: ../lib/network/connection/wireless.pm:558
#, c-format
msgid "OTP"
msgstr "OTP"

#: ../lib/network/connection/wireless.pm:558
#, c-format
msgid "GTC"
msgstr "GTC"

#: ../lib/network/connection/wireless.pm:558
#, c-format
msgid "LEAP"
msgstr "LEAP"

#: ../lib/network/connection/wireless.pm:558
#, c-format
msgid "PEAP TTLS"
msgstr "PEAP TTLS"

#: ../lib/network/connection/wireless.pm:558
#, c-format
msgid "TTLS TLS"
msgstr "TTLS TLS"

#: ../lib/network/connection/wireless.pm:560
#, c-format
msgid "EAP key_mgmt"
msgstr "EAP key_mgmt"

#: ../lib/network/connection/wireless.pm:562
#, c-format
msgid ""
"list of accepted authenticated key management protocols.\n"
"possible values are WPA-EAP, IEEE8021X, NONE"
msgstr ""
"lista zaakceptowanych uwierzytelnionych kluczy zarządzania protokołami.\n"
"Możliwe wartości to WPA-EAP, IEEE8021X, BRAK"

#: ../lib/network/connection/wireless.pm:564
#, c-format
msgid "EAP outer identity"
msgstr "Zewnętrzna tożsamość EAP"

#: ../lib/network/connection/wireless.pm:566
#, c-format
msgid ""
"Anonymous identity string for EAP: to be used as the\n"
"unencrypted identity with EAP types that support different\n"
"tunnelled identity, e.g., TTLS"
msgstr ""
"Identyfikator  anonimowego dostępu dla EAP: do wykorzystania \n"
"jako niezabezpieczony identyfikator w połączeniu z trybami EAP, które\n"
"obsługują tunelowanie, np. TTLS"

#: ../lib/network/connection/wireless.pm:569
#, c-format
msgid "EAP phase2"
msgstr "EAP phase2"

#: ../lib/network/connection/wireless.pm:571
#, c-format
msgid ""
"Inner authentication with TLS tunnel parameters.\n"
"input is string with field-value pairs, Examples:\n"
"auth=MSCHAPV2 for PEAP or\n"
"autheap=MSCHAPV2 autheap=MD5 for TTLS"
msgstr ""
"Wewnętrzne uwierzytelnianie z parametrami przekazywanymi przez tunel TLS.\n"
"Dane wejściowe to para ciągów znaków. Przykłady:\n"
"auth=MSCHAPV2 dla PEAP lub\n"
"autheap=MSCHAPV2 autheap=MD5 dla TTLS"

#: ../lib/network/connection/wireless.pm:575
#, c-format
msgid "EAP CA certificate"
msgstr "Certyfikat EAP CA"

#: ../lib/network/connection/wireless.pm:577
#, c-format
msgid ""
"Full file path to CA certificate file (PEM/DER). This file\n"
"can have one or more trusted CA certificates. If ca_cert are not\n"
"included, server certificate will not be verified. If possible,\n"
"a trusted CA certificate should always be configured\n"
"when using TLS or TTLS or PEAP."
msgstr ""
"Pełna ścieżka do certyfikatu CA (PEM/DER). Plik ten\n"
"może zawierać jeden lub więcej certyfikatów. Jeżeli\n"
"nie zawiera certyfikatów CA, certyfikat serwera nie zostanie\n"
"zweryfikowany. Jeżeli będzie to możliwe, certyfikat \n"
"zaufanego CA powinien być zawsze skonfigurowany\n"
"jeżeli wykorzystywany jest TLS, TTLS lub PEAP."

#: ../lib/network/connection/wireless.pm:582
#, c-format
msgid "EAP certificate subject match"
msgstr "Oznaczenie tematu certyfikatu EAP"

#: ../lib/network/connection/wireless.pm:584
#, c-format
msgid ""
" Substring to be matched against the subject of\n"
"the authentication server certificate. If this string is set,\n"
"the server certificate is only accepted if it contains this\n"
"string in the subject.  The subject string is in following format:\n"
"/C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com"
msgstr ""
"Tekst, który ma pasować do tematu certyfikatu uwierzytelniającego\n"
"serwer. Jeżeli tekst ten jest ustawiony certyfikat serwera będzie "
"zaakceptowany\n"
"jeżeli zawiera go w temacie. Treść tematu certyfikatu ma następujący\n"
"format:\n"
"/C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@przyklad.com"

#: ../lib/network/connection/wireless.pm:589
#, c-format
msgid "Extra directives"
msgstr "Dodatkowe dyrektywy"

#: ../lib/network/connection/wireless.pm:590
#, c-format
msgid ""
"Here one can pass extra settings to wpa_supplicant\n"
"The expected format is a string field=value pair. Multiple values\n"
"maybe specified, separating each value with the # character.\n"
"Note: directives are passed unchecked and may cause the wpa\n"
"negotiation to fail silently. Supported directives are preserved\n"
"across editing.\n"
"Supported directives are :\n"
"\tdisabled, id_str, bssid, priority, auth_alg, eapol_flags,\n"
"\tproactive_key_caching, peerkey, ca_path, private_key,\n"
"\tprivate_key_passwd, dh_file, altsubject_match, phase1,\n"
"\tfragment_size and eap_workaround, pairwise, group\n"
"\tOthers such as key_mgmt, eap maybe used to force\n"
"\tspecial settings different from the U.I settings."
msgstr ""
"Tutaj można podać dodatkowe ustawienia dla suplikanta WPA\n"
"Format ciągu znaków powinien mieć formę pole=para wartości.\n"
"Mogą być określane różne wartości, oddzielane znakiem #.\n"
"Uwaga: podane wartości są przekazywane bez sprawdzenia\n"
"i mogą spowodować błąd podczas nogocjowania WPA bez \n"
"podania przyczyn i dodatkowych informacji. Obsługiwane \n"
"instrukcje są chronione podczas edycji.\n"
"Obsługiwane instrukcje:\n"
"\tdisabled, id_str, bssid, priority, auth_alg, eapol_flags,\n"
"\tproactive_key_caching, peerkey, ca_path, private_key,\n"
"\tprivate_key_passwd, dh_file, altsubject_match, phase1,\n"
"\tfragment_size and eap_workaround, pairwise, group\n"
"\tInne, takie jak key_mgmt, eap mogą być wykorzystywane\n"
"\tdo wymuszenia specjalnych ustawień, odmiennych od \n"
"ustawień U.I."

#: ../lib/network/connection/wireless.pm:610
#, c-format
msgid "An encryption key is required."
msgstr "Wymagany jest klucz szyfrujący."

#: ../lib/network/connection/wireless.pm:617
#, c-format
msgid ""
"The pre-shared key should have between 8 and 63 ASCII characters, or 64 "
"hexadecimal characters."
msgstr ""
"Wspólny klucz powinien mieć długość od 8 do 63 znaków ASCII lub 64 znaki "
"szesnastkowe"

#: ../lib/network/connection/wireless.pm:623
#, c-format
msgid ""
"The WEP key should have at most %d ASCII characters or %d hexadecimal "
"characters."
msgstr ""
"Klucz WEP powinien mieć maksymalnie %d znaków ASCII lub %d znaków "
"szesnastkowych."

#: ../lib/network/connection/wireless.pm:630
#, c-format
msgid ""
"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
"frequency), or add enough '0' (zeroes)."
msgstr ""
"Częstotliwość powinna posiadać przyrostek k, M lub G (na przykład \"2.46G\" "
"dla częstotliwości 2.46GHz, lub też dodaj wystarczającą ilość zer."

#: ../lib/network/connection/wireless.pm:636
#, c-format
msgid ""
"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
"enough '0' (zeroes)."
msgstr ""
"Współczynnik powinien posiadać przyrostek k, M lub G (na przykład, \"11M\" "
"oznaczający 11M), lub też wystarczy podać wystarczającą liczbę zer."

#: ../lib/network/connection/wireless.pm:648
#, c-format
msgid "Allow access point roaming"
msgstr "Zezwalaj na roaming między punktami dostępowymi"

#: ../lib/network/connection/wireless.pm:773
#, c-format
msgid "Associated to wireless network \"%s\" on interface %s"
msgstr "Przypisany do sieci bezprzewodowej \"%s\" na interfejsie %s"

#: ../lib/network/connection/wireless.pm:774
#, c-format
msgid "Lost association to wireless network on interface %s"
msgstr "Utracono przypisanie do sieci bezprzewodowej na interfejsie %s"

#: ../lib/network/connection/xdsl.pm:8
#, c-format
msgid "DSL"
msgstr "DSL"

#: ../lib/network/connection/xdsl.pm:97 ../lib/network/netconnect.pm:788
#, c-format
msgid "Alcatel speedtouch USB modem"
msgstr "Modem Alcatel speedtouch usb"

#: ../lib/network/connection/xdsl.pm:125
#, c-format
msgid ""
"The ECI Hi-Focus modem cannot be supported due to binary driver distribution "
"problem.\n"
"\n"
"You can find a driver on http://eciadsl.flashtux.org/"
msgstr ""
"Modem ECI Hi-Focus nie może zostać obsłużony z uwagi na problem binarnego "
"rozpowszechniania sterownika.\n"
"\n"
"Można go znaleźć na stronie http://eciadsl.flashtux.org/"

#: ../lib/network/connection/xdsl.pm:185
#, c-format
msgid ""
"Modems using Conexant AccessRunner chipsets cannot be supported due to "
"binary firmware distribution problem."
msgstr ""
"Modemy oparte na czipsetach  Conexant AccessRunner nie są obsługiwane ze "
"względu na problemy związane z dystrybucją oprogramowania sprzętowego."

#: ../lib/network/connection/xdsl.pm:205
#, c-format
msgid "DSL over CAPI"
msgstr "DSL przez CAPI"

#: ../lib/network/connection/xdsl.pm:208
#, c-format
msgid "Dynamic Host Configuration Protocol (DHCP)"
msgstr "Protokół dynamicznej konfiguracji komputera (DHCP)"

#: ../lib/network/connection/xdsl.pm:209
#, c-format
msgid "Manual TCP/IP configuration"
msgstr "Konfiguracja ręczna TCP/IP"

#: ../lib/network/connection/xdsl.pm:210
#, c-format
msgid "Point to Point Tunneling Protocol (PPTP)"
msgstr "Protokół tunelowania punkt-do-punktu (PPTP)"

#: ../lib/network/connection/xdsl.pm:211
#, c-format
msgid "PPP over Ethernet (PPPoE)"
msgstr "PPP przez Ethernet (PPPoE)"

#: ../lib/network/connection/xdsl.pm:212
#, c-format
msgid "PPP over ATM (PPPoA)"
msgstr "PPP przez ATM (PPPoA)"

#: ../lib/network/connection/xdsl.pm:252
#, c-format
msgid "Virtual Path ID (VPI):"
msgstr "ID wirtualnej ścieżki (VPI):"

#: ../lib/network/connection/xdsl.pm:253
#, c-format
msgid "Virtual Circuit ID (VCI):"
msgstr "ID wirtualnego obwodu (VCI):"

#: ../lib/network/connection/xdsl.pm:361
#: ../lib/network/connection_manager.pm:62 ../lib/network/drakvpn.pm:45
#: ../lib/network/netconnect.pm:135 ../lib/network/thirdparty.pm:123
#, c-format
msgid "Could not install the packages (%s)!"
msgstr "Instalacja pakietów jest niemożliwa (%s)!"

#: ../lib/network/connection_manager.pm:74
#: ../lib/network/connection_manager.pm:89 ../lib/network/netconnect.pm:186
#, c-format
msgid "Configuring device..."
msgstr "Konfiguracja urządzenia..."

#: ../lib/network/connection_manager.pm:79
#: ../lib/network/connection_manager.pm:145
#, c-format
msgid "Network settings"
msgstr "Ustawienia sieci"

#: ../lib/network/connection_manager.pm:80
#: ../lib/network/connection_manager.pm:146
#, c-format
msgid "Please enter settings for network"
msgstr "Wprowadź ustawienia sieci"

#: ../lib/network/connection_manager.pm:224
#: ../lib/network/connection_manager.pm:482 ../lib/network/drakvpn.pm:100
#, c-format
msgid "Connection failed."
msgstr "Połączenie nie powiodło się."

#: ../lib/network/connection_manager.pm:236
#, c-format
msgid "Disconnecting..."
msgstr "Rozłączanie..."

#: ../lib/network/connection_manager.pm:278
#, c-format
msgid "SSID"
msgstr "SSID"

#: ../lib/network/connection_manager.pm:279
#, c-format
msgid "Signal strength"
msgstr "Moc sygnału"

#: ../lib/network/connection_manager.pm:280
#, c-format
msgid "Encryption"
msgstr "Szyfrowanie"

#: ../lib/network/connection_manager.pm:354 ../lib/network/netconnect.pm:208
#, c-format
msgid "Scanning for networks..."
msgstr "Skanowanie sieci..."

#: ../lib/network/connection_manager.pm:403 ../lib/network/drakroam.pm:91
#, c-format
msgid "Disconnect"
msgstr "Rozłącz"

#: ../lib/network/connection_manager.pm:403 ../lib/network/drakroam.pm:90
#, c-format
msgid "Connect"
msgstr "Połącz"

#: ../lib/network/connection_manager.pm:448
#, c-format
msgid "Hostname changed to \"%s\""
msgstr "Nazwa komputera została zmieniona na \"%s\""

#: ../lib/network/drakconnect/delete.pm:12
#, c-format
msgid ""
"No ethernet network adapter has been detected on your system. Please run the "
"hardware configuration tool."
msgstr ""

#: ../lib/network/drakconnect/delete.pm:21
#, fuzzy, c-format
msgid "Remove a network interface"
msgstr "Interfejs sieciowy"

#: ../lib/network/drakconnect/delete.pm:25
#, fuzzy, c-format
msgid "Select the network interface to remove:"
msgstr "Wybierz interfejs sieciowy do skonfigurowania:"

#: ../lib/network/drakconnect/delete.pm:58
#, fuzzy, c-format
msgid ""
"An error occurred while deleting the \"%s\" network interface:\n"
"\n"
"%s"
msgstr ""
"Wystąpił problem podczas uruchamiania sieci: \n"
"\n"
"%s"

#: ../lib/network/drakconnect/delete.pm:59
#, fuzzy, c-format
msgid ""
"Congratulations, the \"%s\" network interface has been successfully deleted"
msgstr "Gratulacje, konfiguracja sieci została zakończona."

#: ../lib/network/drakconnect/edit.pm:23
#, fuzzy, c-format
msgid "Manage connections"
msgstr "Zarządzanie połączeniami VPN"

#: ../lib/network/drakconnect/edit.pm:50 ../lib/network/drakroam.pm:85
#, c-format
msgid "Device: "
msgstr "Urządzenie: "

#: ../lib/network/drakconnect/edit.pm:132
#, fuzzy, c-format
msgid "IP configuration"
msgstr "Konfiguracja VPN"

#: ../lib/network/drakconnect/edit.pm:167
#, fuzzy, c-format
msgid "DNS servers"
msgstr "Serwer DNS 1"

#: ../lib/network/drakconnect/edit.pm:173
#, fuzzy, c-format
msgid "Search Domain"
msgstr "Domena wyszukiwania"

#: ../lib/network/drakconnect/edit.pm:181
#, c-format
msgid "none"
msgstr ""

#: ../lib/network/drakconnect/edit.pm:181
#, fuzzy, c-format
msgid "static"
msgstr "Automatycznie"

#: ../lib/network/drakconnect/edit.pm:181
#, c-format
msgid "DHCP"
msgstr ""

#: ../lib/network/drakconnect/edit.pm:264
#, fuzzy, c-format
msgid "Start at boot"
msgstr "Uruchamiany przy starcie"

#: ../lib/network/drakconnect/edit.pm:276 ../lib/network/netconnect.pm:351
#, c-format
msgid "Dialing mode"
msgstr "Sposób wybierania"

#: ../lib/network/drakconnect/edit.pm:281
#: ../lib/network/drakconnect/edit.pm:348 ../lib/network/netconnect.pm:352
#, c-format
msgid "Connection speed"
msgstr "Szybkość połączenia"

#: ../lib/network/drakconnect/edit.pm:286 ../lib/network/netconnect.pm:353
#, c-format
msgid "Connection timeout (in sec)"
msgstr "Limit czasu bezczynności (w sek.)"

#: ../lib/network/drakconnect/edit.pm:324 ../lib/network/netconnect.pm:348
#, c-format
msgid "Provider phone number"
msgstr "Numer telefonu dostawcy usług"

#: ../lib/network/drakconnect/edit.pm:329 ../lib/network/netconnect.pm:79
#, c-format
msgid "PAP"
msgstr "PAP"

#: ../lib/network/drakconnect/edit.pm:329 ../lib/network/netconnect.pm:80
#, c-format
msgid "Terminal-based"
msgstr "Poprzez terminal"

#: ../lib/network/drakconnect/edit.pm:329 ../lib/network/netconnect.pm:78
#, c-format
msgid "Script-based"
msgstr "Oparta o skrypt"

#: ../lib/network/drakconnect/edit.pm:329 ../lib/network/netconnect.pm:81
#, c-format
msgid "CHAP"
msgstr "CHAP"

#: ../lib/network/drakconnect/edit.pm:329 ../lib/network/netconnect.pm:82
#, c-format
msgid "PAP/CHAP"
msgstr "PAP/CHAP"

#: ../lib/network/drakconnect/edit.pm:346
#, fuzzy, c-format
msgid "Flow control"
msgstr "<control>Q"

#: ../lib/network/drakconnect/edit.pm:347
#, c-format
msgid "Line termination"
msgstr ""

#: ../lib/network/drakconnect/edit.pm:358
#, fuzzy, c-format
msgid "Modem timeout"
msgstr "Połączenie modemowe"

#: ../lib/network/drakconnect/edit.pm:362
#, fuzzy, c-format
msgid "Use lock file"
msgstr "Wybierz plik"

#: ../lib/network/drakconnect/edit.pm:364
#, c-format
msgid "Wait for dialup tone before dialing"
msgstr ""

#: ../lib/network/drakconnect/edit.pm:367
#, fuzzy, c-format
msgid "Busy wait"
msgstr "Kuwejt"

#: ../lib/network/drakconnect/edit.pm:372
#, fuzzy, c-format
msgid "Modem sound"
msgstr "Modem"

#: ../lib/network/drakconnect/edit.pm:385 ../lib/network/netconnect.pm:356
#, c-format
msgid "Card IRQ"
msgstr "IRQ karty"

#: ../lib/network/drakconnect/edit.pm:386 ../lib/network/netconnect.pm:357
#, c-format
msgid "Card mem (DMA)"
msgstr "DMA karty"

#: ../lib/network/drakconnect/edit.pm:387 ../lib/network/netconnect.pm:358
#, c-format
msgid "Card IO"
msgstr "IO karty"

#: ../lib/network/drakconnect/edit.pm:388 ../lib/network/netconnect.pm:359
#, c-format
msgid "Card IO_0"
msgstr "IO_0 karty"

#: ../lib/network/drakconnect/edit.pm:394 ../lib/network/netconnect.pm:71
#, c-format
msgid "European protocol (EDSS1)"
msgstr "Protokół europejski (EDSS1)"

#: ../lib/network/drakconnect/edit.pm:395 ../lib/network/netconnect.pm:72
#, c-format
msgid ""
"Protocol for the rest of the world\n"
"No D-Channel (leased lines)"
msgstr ""
"Protokół reszty świata\n"
"Bez kanału D (linie dzierżawione)"

#: ../lib/network/drakconnect/edit.pm:422
#, c-format
msgid "Vendor"
msgstr "Dostawca"

#: ../lib/network/drakconnect/edit.pm:424
#, c-format
msgid "Media class"
msgstr "Klasa nośnika"

#: ../lib/network/drakconnect/edit.pm:425
#, fuzzy, c-format
msgid "Module name"
msgstr "Moduł"

#: ../lib/network/drakconnect/edit.pm:426
#, fuzzy, c-format
msgid "Mac Address"
msgstr "Prawdziwy adres"

#: ../lib/network/drakconnect/edit.pm:427
#, c-format
msgid "Bus"
msgstr "Szyna"

#: ../lib/network/drakconnect/edit.pm:428
#, c-format
msgid "Location on the bus"
msgstr "Położenie na szynie"

#: ../lib/network/drakconnect/edit.pm:519 ../lib/network/netconnect.pm:831
#, c-format
msgid "Gateway address should be in format 1.2.3.4"
msgstr "Adres IP bramy powinien być w formacie typu 1.2.3.4"

#: ../lib/network/drakconnect/global.pm:27
#, fuzzy, c-format
msgid "Gateway:"
msgstr "Router"

#: ../lib/network/drakconnect/global.pm:27
#, fuzzy, c-format
msgid "Interface:"
msgstr "Interfejs"

#: ../lib/network/drakconnect/global.pm:30
#, fuzzy, c-format
msgid "Internet connection configuration"
msgstr "Nie skonfigurowano połączenia z Internetem"

#: ../lib/network/drakconnect/global.pm:35
#, fuzzy, c-format
msgid ""
"You do not have any configured Internet connection.\n"
"Run the \"%s\" assistant from the Mageia Control Center"
msgstr ""
"Nie posiadasz żadnego skonfigurowanego połączenia internetowego. Uruchom "
"asystenta \"%s\" z Centrum Sterowania Mageia"

#: ../lib/network/drakconnect/global.pm:50
#, fuzzy, c-format
msgid "Host name (optional)"
msgstr "Pierwszy serwer DNS (opcjonalnie)"

#: ../lib/network/drakconnect/global.pm:51 ../lib/network/netconnect.pm:650
#, c-format
msgid "First DNS Server (optional)"
msgstr "Pierwszy serwer DNS (opcjonalnie)"

#: ../lib/network/drakconnect/global.pm:52 ../lib/network/netconnect.pm:651
#, c-format
msgid "Second DNS Server (optional)"
msgstr "Drugi serwer DNS (opcjonalnie)"

#: ../lib/network/drakconnect/global.pm:53
#, fuzzy, c-format
msgid "Third DNS server (optional)"
msgstr "Pierwszy serwer DNS (opcjonalnie)"

#: ../lib/network/drakconnect/global.pm:75
#, fuzzy, c-format
msgid "Internet Connection Configuration"
msgstr "Konfiguracja połączenia"

#: ../lib/network/drakconnect/global.pm:76
#, fuzzy, c-format
msgid "Internet access"
msgstr "Dostęp do drukarki"

#: ../lib/network/drakconnect/global.pm:78
#, fuzzy, c-format
msgid "Connection type: "
msgstr "Czas połączenia: "

#: ../lib/network/drakconnect/global.pm:81
#, fuzzy, c-format
msgid "Status:"
msgstr "Stan"

#: ../lib/network/drakconnect/global.pm:82 ../lib/network/netconnect.pm:305
#: ../lib/network/netconnect.pm:732
#, c-format
msgid "Testing your connection..."
msgstr "Testowanie połączenia..."

#: ../lib/network/drakconnect/global.pm:86
#, fuzzy, c-format
msgid "Parameters"
msgstr "Parametry IP"

#: ../lib/network/drakfirewall.pm:14
#, c-format
msgid "Web Server"
msgstr "Serwer WWW"

#: ../lib/network/drakfirewall.pm:19
#, c-format
msgid "Domain Name Server"
msgstr "Serwer DNS"

#: ../lib/network/drakfirewall.pm:24
#, c-format
msgid "SSH server"
msgstr "Serwer SSH"

#: ../lib/network/drakfirewall.pm:29
#, c-format
msgid "FTP server"
msgstr "Serwer FTP"

#: ../lib/network/drakfirewall.pm:34
#, c-format
msgid "DHCP Server"
msgstr "Serwer DHCP"

#: ../lib/network/drakfirewall.pm:40
#, c-format
msgid "Mail Server"
msgstr "Serwer pocztowy"

#: ../lib/network/drakfirewall.pm:45
#, c-format
msgid "POP and IMAP Server"
msgstr "Serwery POP oraz IMAP"

#: ../lib/network/drakfirewall.pm:50
#, c-format
msgid "Telnet server"
msgstr "Serwer telnet"

#: ../lib/network/drakfirewall.pm:56
#, c-format
msgid "NFS Server"
msgstr "Serwer NFS"

#: ../lib/network/drakfirewall.pm:64
#, c-format
msgid "Windows Files Sharing (SMB)"
msgstr "Windowsowy system współdzielenia plików (SMB)"

#: ../lib/network/drakfirewall.pm:70
#, c-format
msgid "Bacula backup"
msgstr "Kopie zapasowe Bacula"

#: ../lib/network/drakfirewall.pm:76
#, c-format
msgid "Syslog network logging"
msgstr "Zapisywanie dziennika sieci do syslog"

#: ../lib/network/drakfirewall.pm:82
#, c-format
msgid "CUPS server"
msgstr "Serwer CUPS"

#: ../lib/network/drakfirewall.pm:88
#, c-format
msgid "MySQL server"
msgstr "Serwer MySQL"

#: ../lib/network/drakfirewall.pm:94
#, c-format
msgid "PostgreSQL server"
msgstr "Serwer PostgreSQL"

#: ../lib/network/drakfirewall.pm:100
#, c-format
msgid "Echo request (ping)"
msgstr "Żądanie echa (ping)"

#: ../lib/network/drakfirewall.pm:105
#, c-format
msgid "Network services autodiscovery (zeroconf and slp)"
msgstr "Automatyczne wykrywanie usług sieciowych (zeroconf i slp)"

#: ../lib/network/drakfirewall.pm:110
#, c-format
msgid "BitTorrent"
msgstr "BitTorrent"

#: ../lib/network/drakfirewall.pm:116
#, c-format
msgid "Windows Mobile device synchronization"
msgstr "Synchronizacja urządzeń Windows Mobile"

#: ../lib/network/drakfirewall.pm:125
#, c-format
msgid "Port scan detection"
msgstr "Skanowanie portów"

#: ../lib/network/drakfirewall.pm:224 ../lib/network/drakfirewall.pm:228
#: ../lib/network/shorewall.pm:80
#, c-format
msgid "Firewall configuration"
msgstr "Konfiguracja zapory ogniowej (firewall)"

#: ../lib/network/drakfirewall.pm:224
#, c-format
msgid ""
"drakfirewall configurator\n"
"\n"
"This configures a personal firewall for this Mageia machine."
msgstr ""

#: ../lib/network/drakfirewall.pm:228
#, c-format
msgid ""
"drakfirewall configurator\n"
"\n"
"Make sure you have configured your Network/Internet access with\n"
"drakconnect before going any further."
msgstr ""
"Konfiguracja zapory sieciowej\n"
"\n"
"Upewnij się, że skonfigurowany został dostęp do sieci/Internetu\n"
"za pomocą programu drakconnect zanim dokonasz dalszych czynności."

#: ../lib/network/drakfirewall.pm:245 ../lib/network/drakfirewall.pm:247
#: ../lib/network/shorewall.pm:172
#, c-format
msgid "Firewall"
msgstr "Zapora sieciowa"

#: ../lib/network/drakfirewall.pm:248
#, c-format
msgid ""
"You can enter miscellaneous ports. \n"
"Valid examples are: 139/tcp 139/udp 600:610/tcp 600:610/udp.\n"
"Have a look at /etc/services for information."
msgstr ""
"Tutaj można wpisać różne porty \n"
"Oto prawidłowe przykłady: 139/tcp, 139/udp.\n"
"Więcej informacji znajdziesz w /etc/services."

#: ../lib/network/drakfirewall.pm:254
#, c-format
msgid ""
"Invalid port given: %s.\n"
"The proper format is \"port/tcp\" or \"port/udp\", \n"
"where port is between 1 and 65535.\n"
"\n"
"You can also give a range of ports (eg: 24300:24350/udp)"
msgstr ""
"Podano nieprawidłowy port: %s.\n"
"Właściwy format to \"port/tcp\" lub \"port/udp\", \n"
"gdzie port to liczba pomiędzy 1 a 65535.\n"
"\n"
"Można podać również zakres portów (np.: 24300:24350/udp)"

#: ../lib/network/drakfirewall.pm:264
#, c-format
msgid "Which services would you like to allow the Internet to connect to?"
msgstr "Które usługi mają być dostępne z Internetu?"

#: ../lib/network/drakfirewall.pm:265 ../lib/network/netconnect.pm:127
#: ../lib/network/network.pm:552
#, c-format
msgid "Those settings will be saved for the network profile <b>%s</b>"
msgstr "Poniższe ustawienia będą zapisane w tym profilu sieciowym <b>%s</b>"

#: ../lib/network/drakfirewall.pm:266
#, c-format
msgid "Everything (no firewall)"
msgstr "Wszystko (brak zapory)"

#: ../lib/network/drakfirewall.pm:268
#, c-format
msgid "Other ports"
msgstr "Inne porty"

#: ../lib/network/drakfirewall.pm:269
#, c-format
msgid "Log firewall messages in system logs"
msgstr "Informacje z zapory zapisuj w logu systemowym"

#: ../lib/network/drakfirewall.pm:311
#, c-format
msgid ""
"You can be warned when someone accesses to a service or tries to intrude "
"into your computer.\n"
"Please select which network activities should be watched."
msgstr ""
"Możesz otrzymać ostrzeżenie jeżeli ktoś będzie próbował uzyskać dostęp do do "
"twojego komputera.\n"
"Wybierz jaki rodzaj aktywności sieciowej ma być obserwowany."

#: ../lib/network/drakfirewall.pm:316
#, c-format
msgid "Use Interactive Firewall"
msgstr "Użyj interaktywnej zapory sieciowej"

#: ../lib/network/drakroam.pm:22
#, c-format
msgid "No device found"
msgstr "Nie znaleziono urządzeń"

#: ../lib/network/drakroam.pm:89 ../lib/network/netcenter.pm:66
#, c-format
msgid "Configure"
msgstr "Konfiguruj"

#: ../lib/network/drakroam.pm:92 ../lib/network/netcenter.pm:71
#, c-format
msgid "Refresh"
msgstr "Odśwież"

#: ../lib/network/drakroam.pm:103 ../lib/network/netconnect.pm:794
#, c-format
msgid "Wireless connection"
msgstr "Połączenie bezprzewodowe"

#: ../lib/network/drakvpn.pm:30
#, c-format
msgid "VPN configuration"
msgstr "Konfiguracja VPN"

#: ../lib/network/drakvpn.pm:34
#, c-format
msgid "Choose the VPN type"
msgstr "Określ rodzaj połączenia VPN"

#: ../lib/network/drakvpn.pm:49
#, c-format
msgid "Initializing tools and detecting devices for %s..."
msgstr "Inicjowanie narzędzi i wykrywanie urządzeń dla %s..."

#: ../lib/network/drakvpn.pm:52
#, c-format
msgid "Unable to initialize %s connection type!"
msgstr "Ustanowienie połączenia %s jest niemożliwe!"

#: ../lib/network/drakvpn.pm:60
#, c-format
msgid "Please select an existing VPN connection or enter a new name."
msgstr "Wprowadź istniejące połączenie VPN lub wprowadź nową nazwę."

#: ../lib/network/drakvpn.pm:64
#, c-format
msgid "Configure a new connection..."
msgstr "Konfiguracja nowego połączenia..."

#: ../lib/network/drakvpn.pm:66
#, c-format
msgid "New name"
msgstr "Nowa nazwa"

#: ../lib/network/drakvpn.pm:70
#, c-format
msgid "You must select an existing connection or enter a new name."
msgstr "Wprowadź istniejące połączenie lub wprowadź nową nazwę."

#: ../lib/network/drakvpn.pm:81
#, c-format
msgid "Please enter the required key(s)"
msgstr "Wprowadź wymagany klucz/klucze"

#: ../lib/network/drakvpn.pm:86
#, c-format
msgid "Please enter the settings of your VPN connection"
msgstr "Wprowadź ustawienia połączenia VPN"

#: ../lib/network/drakvpn.pm:94 ../lib/network/netconnect.pm:298
#, c-format
msgid "Do you want to start the connection now?"
msgstr "Czy chcesz rozpocząć połączenie w tej chwili?"

#: ../lib/network/drakvpn.pm:108
#, c-format
msgid ""
"The VPN connection is now configured.\n"
"\n"
"This VPN connection can be automatically started together with a network "
"connection.\n"
"It can be done by reconfiguring the network connection and selecting this "
"VPN connection.\n"
msgstr ""
"Połączenie VPN nie powiodło się.\n"
"\n"
"To połączenie VPN może być automatycznie uruchamiane podczas ustanawiania "
"połączenia sieciowego.\n"
"Można to uaktywnić wskazując połączenie VPN podczas ponownej konfiguracji "
"połączenia sieciowego.\n"

#: ../lib/network/ifw.pm:132
#, c-format
msgid "Port scanning"
msgstr "Skanowanie portów"

#: ../lib/network/ifw.pm:133
#, c-format
msgid "Service attack"
msgstr "Zaatakowana usługa"

#: ../lib/network/ifw.pm:134
#, c-format
msgid "Password cracking"
msgstr "Łamanie haseł"

#: ../lib/network/ifw.pm:135
#, c-format
msgid "New connection"
msgstr "Nowe połączenie"

#: ../lib/network/ifw.pm:136
#, c-format
msgid "\"%s\" attack"
msgstr "Atak \"%s\" "

#: ../lib/network/ifw.pm:138
#, c-format
msgid "A port scanning attack has been attempted by %s."
msgstr "Atak skanowania portów został przeprowadzony przez %s."

#: ../lib/network/ifw.pm:139
#, c-format
msgid "The %s service has been attacked by %s."
msgstr "Usługa %s została zaatakowana przez %s."

#: ../lib/network/ifw.pm:140
#, c-format
msgid "A password cracking attack has been attempted by %s."
msgstr "Atak na hasła został przeprowadzony przez %s."

#: ../lib/network/ifw.pm:141
#, c-format
msgid "%s is connecting on the %s service."
msgstr "%s łączy się z usługą %s."

#: ../lib/network/ifw.pm:142
#, c-format
msgid "A \"%s\" attack has been attempted by %s"
msgstr "Atak \"%s\" został przeprowadzony przez %s"

#: ../lib/network/ifw.pm:151
#, c-format
msgid ""
"The \"%s\" application is trying to make a service (%s) available to the "
"network."
msgstr "Program \"%s\" próbuje udostępnić usługę (%s) w sieci."

#. -PO: this should be kept lowercase since the expression is meant to be used between brackets
#: ../lib/network/ifw.pm:155
#, c-format
msgid "port %d"
msgstr "port %d"

#: ../lib/network/modem.pm:42 ../lib/network/modem.pm:43
#: ../lib/network/modem.pm:44 ../lib/network/netconnect.pm:631
#: ../lib/network/netconnect.pm:648 ../lib/network/netconnect.pm:664
#, c-format
msgid "Manual"
msgstr "Ręcznie"

#: ../lib/network/modem.pm:42 ../lib/network/modem.pm:43
#: ../lib/network/modem.pm:44 ../lib/network/modem.pm:63
#: ../lib/network/modem.pm:76 ../lib/network/modem.pm:81
#: ../lib/network/modem.pm:110 ../lib/network/netconnect.pm:626
#: ../lib/network/netconnect.pm:631 ../lib/network/netconnect.pm:643
#: ../lib/network/netconnect.pm:648 ../lib/network/netconnect.pm:664
#: ../lib/network/netconnect.pm:666
#, c-format
msgid "Automatic"
msgstr "Automatycznie"

#: ../lib/network/ndiswrapper.pm:30
#, c-format
msgid "No device supporting the %s ndiswrapper driver is present!"
msgstr "Brak urządzeń obsługiwanych przez sterownik ndiswrapper %s!"

#: ../lib/network/ndiswrapper.pm:36
#, c-format
msgid "Please select the correct driver"
msgstr "Proszę wybrać prawidłowy sterownik"

#: ../lib/network/ndiswrapper.pm:36
#, c-format
msgid ""
"Please select the Windows driver description (.inf) file, or corresponding "
"driver file (.dll or .o files). Note that only drivers up to Windows XP are "
"supported."
msgstr ""
"Wybierz plik opisu sterownika Windows (.inf) lub odpowiedni plik sterownika "
"(pliki .dll lub .o). Obsługiwane są tylko sterowniki systemu Windows XP."

#: ../lib/network/ndiswrapper.pm:47
#, c-format
msgid "Unable to install the %s ndiswrapper driver!"
msgstr "Instalacja sterownika ndiswrapper dla urządzenia %s jest niemożliwa!"

#: ../lib/network/ndiswrapper.pm:105
#, c-format
msgid ""
"The selected device has already been configured with the %s driver.\n"
"Do you really want to use a ndiswrapper driver?"
msgstr ""
"Wybrane urządzenie zostało już skonfigurowane z wykorzystaniem sterownika "
"%s.\n"
"Czy na pewno chcesz użyć sterownika ndiswrapper?"

#: ../lib/network/ndiswrapper.pm:120
#, c-format
msgid "Unable to load the ndiswrapper module!"
msgstr "Załadowanie modułu ndiswrapper jest niemożliwe!"

#: ../lib/network/ndiswrapper.pm:126
#, c-format
msgid "Unable to find the ndiswrapper interface!"
msgstr "Odszukanie interfejsu modułu ndiswrapper jest niemożliwe!"

#: ../lib/network/ndiswrapper.pm:139
#, c-format
msgid "Choose an ndiswrapper driver"
msgstr "Wybieranie sterownika ndiswrapper"

#: ../lib/network/ndiswrapper.pm:142
#, c-format
msgid "Use the ndiswrapper driver %s"
msgstr "Użyj sterownika ndiswrapper %s"

#: ../lib/network/ndiswrapper.pm:142
#, c-format
msgid "Install a new driver"
msgstr "Instalacja nowego sterownika"

#: ../lib/network/ndiswrapper.pm:153
#, c-format
msgid "Select a device:"
msgstr "Wybierz urządzenie:"

#. -PO: "Process" is a verb
#: ../lib/network/net_applet/ifw.pm:100
#, fuzzy, c-format
msgid "Process attack"
msgstr "Zaatakowana usługa"

#: ../lib/network/net_applet/ifw.pm:113
#, fuzzy, c-format
msgid "Interactive Firewall: intrusion detected"
msgstr "Tryb automatyczny interaktywnej zapory sieciowej"

#: ../lib/network/net_applet/ifw.pm:130
#, fuzzy, c-format
msgid "What do you want to do with this attacker?"
msgstr "W jaki sposób chcesz nawiązywać to połączenie?"

#: ../lib/network/net_applet/ifw.pm:133
#, c-format
msgid "Attack details"
msgstr ""

#: ../lib/network/net_applet/ifw.pm:137
#, c-format
msgid "Attack time: %s"
msgstr ""

#: ../lib/network/net_applet/ifw.pm:138
#, fuzzy, c-format
msgid "Network interface: %s"
msgstr "Interfejs sieciowy"

#: ../lib/network/net_applet/ifw.pm:139
#, c-format
msgid "Attack type: %s"
msgstr ""

#: ../lib/network/net_applet/ifw.pm:140
#, fuzzy, c-format
msgid "Protocol: %s"
msgstr "Protokół"

#: ../lib/network/net_applet/ifw.pm:141
#, fuzzy, c-format
msgid "Attacker IP address: %s"
msgstr "Adres IP: %s"

#: ../lib/network/net_applet/ifw.pm:142
#, c-format
msgid "Attacker hostname: %s"
msgstr ""

#: ../lib/network/net_applet/ifw.pm:145
#, fuzzy, c-format
msgid "Service attacked: %s"
msgstr "Zaatakowana usługa"

#: ../lib/network/net_applet/ifw.pm:146
#, c-format
msgid "Port attacked: %s"
msgstr ""

#: ../lib/network/net_applet/ifw.pm:148
#, c-format
msgid "Type of ICMP attack: %s"
msgstr ""

#: ../lib/network/net_applet/ifw.pm:153
#, c-format
msgid "Always blacklist (do not ask again)"
msgstr ""

#: ../lib/network/net_applet/ifw.pm:168
#, c-format
msgid "Ignore"
msgstr "Ignorowanie"

#: ../lib/network/net_applet/ifw.pm:186 ../lib/network/net_applet/ifw.pm:204
#, fuzzy, c-format
msgid "Interactive Firewall: new service"
msgstr "Interaktywna zapora sieciowa"

#. -PO: "Process" is a verb
#: ../lib/network/net_applet/ifw.pm:192
#, fuzzy, c-format
msgid "Process connection"
msgstr "Połączenie bezprzewodowe"

#: ../lib/network/net_applet/ifw.pm:214
#, fuzzy, c-format
msgid "Do you want to open this service?"
msgstr "W jaki sposób chcesz nawiązywać to połączenie?"

#: ../lib/network/net_applet/ifw.pm:217
#, c-format
msgid "Remember this answer"
msgstr ""

#: ../lib/network/netcenter.pm:55 ../lib/network/netconnect.pm:211
#, c-format
msgid "Please select your network:"
msgstr "Wybierz swoją sieć:"

#: ../lib/network/netcenter.pm:62
#, c-format
msgid ""
"_: This is a verb\n"
"Monitor"
msgstr "Monitorowanie"

#: ../lib/network/netcenter.pm:152
#, c-format
msgid "Network Center"
msgstr "Centrum sieciowe"

#: ../lib/network/netcenter.pm:171
#, c-format
msgid "You are currently using the network profile <b>%s</b>"
msgstr "Używasz następującego profilu sieciowego <b>%s</b>"

#: ../lib/network/netcenter.pm:177
#, c-format
msgid "Advanced settings"
msgstr "Ustawienia zaawansowane"

#: ../lib/network/netconnect.pm:60 ../lib/network/netconnect.pm:521
#: ../lib/network/netconnect.pm:535
#, c-format
msgid "Manual choice"
msgstr "Ręczny wybór"

#: ../lib/network/netconnect.pm:60
#, c-format
msgid "Internal ISDN card"
msgstr "Wewnętrzna karta ISDN"

#: ../lib/network/netconnect.pm:69
#, c-format
msgid "Protocol for the rest of the world"
msgstr "Reszta świata"

#: ../lib/network/netconnect.pm:122
#, c-format
msgid "Network & Internet Configuration"
msgstr "Konfiguracja sieci i Internetu"

#: ../lib/network/netconnect.pm:127
#, c-format
msgid "Choose the connection you want to configure"
msgstr "Wybierz połączenie, które chcesz skonfigurować"

#: ../lib/network/netconnect.pm:149 ../lib/network/netconnect.pm:376
#: ../lib/network/netconnect.pm:821
#, c-format
msgid "Select the network interface to configure:"
msgstr "Wybierz interfejs sieciowy do skonfigurowania:"

#: ../lib/network/netconnect.pm:151
#, c-format
msgid "%s: %s"
msgstr "%s: %s"

#: ../lib/network/netconnect.pm:168
#, c-format
msgid "No device can be found for this connection type."
msgstr "Nie odnaleziono urządzenia dla połączenia tego typu."

#: ../lib/network/netconnect.pm:177
#, c-format
msgid "Hardware Configuration"
msgstr "Konfiguracja sprzętu"

#: ../lib/network/netconnect.pm:201
#, c-format
msgid "Please select your provider:"
msgstr "Wybierz dostawcę usług:"

#: ../lib/network/netconnect.pm:248
#, c-format
msgid ""
"Please select your connection protocol.\n"
"If you do not know it, keep the preselected protocol."
msgstr ""
"Wybierz protokół połączenia. \n"
"Jeżeli nie znasz go zachowaj aktualne ustawienie."

#: ../lib/network/netconnect.pm:292 ../lib/network/netconnect.pm:683
#, c-format
msgid "Connection control"
msgstr "Kontrola połączenia"

#: ../lib/network/netconnect.pm:343
#, c-format
msgid "Connection Configuration"
msgstr "Konfiguracja połączenia"

#: ../lib/network/netconnect.pm:343
#, c-format
msgid "Please fill or check the field below"
msgstr "Wypełnij lub zaznacz pole poniżej"

#: ../lib/network/netconnect.pm:346
#, c-format
msgid "Your personal phone number"
msgstr "Numer Twojego telefonu"

#: ../lib/network/netconnect.pm:347
#, c-format
msgid "Provider name (ex provider.net)"
msgstr "Nazwa dostawcy usług (np. Dialog, Netia, TPSA)"

#: ../lib/network/netconnect.pm:349
#, c-format
msgid "Provider DNS 1 (optional)"
msgstr "1 DNS dostawcy (opcjonalnie)"

#: ../lib/network/netconnect.pm:350
#, c-format
msgid "Provider DNS 2 (optional)"
msgstr "2 DNS dostawcy (opcjonalnie)"

#: ../lib/network/netconnect.pm:360
#, c-format
msgid "Card IO_1"
msgstr "IO_1 karty"

#: ../lib/network/netconnect.pm:379 ../lib/network/netconnect.pm:384
#, c-format
msgid "External ISDN modem"
msgstr "Zewnętrzny modem ISDN"

#: ../lib/network/netconnect.pm:412
#, c-format
msgid "Select a device!"
msgstr "Wybierz urządzenie !"

#: ../lib/network/netconnect.pm:421 ../lib/network/netconnect.pm:431
#: ../lib/network/netconnect.pm:441 ../lib/network/netconnect.pm:474
#: ../lib/network/netconnect.pm:488
#, c-format
msgid "ISDN Configuration"
msgstr "Konfiguracja ISDN"

#: ../lib/network/netconnect.pm:422
#, c-format
msgid "What kind of card do you have?"
msgstr "Jaki rodzaj karty posiadasz?"

#: ../lib/network/netconnect.pm:432
#, c-format
msgid ""
"\n"
"If you have an ISA card, the values on the next screen should be right.\n"
"\n"
"If you have a PCMCIA card, you have to know the \"irq\" and \"io\" of your "
"card.\n"
msgstr ""
"\n"
"Jeśli posiadasz kartę ISA, wartości wyświetlone na następnym ekranie\n"
"powinny być odpowiednie.\n"
"Jeśli posiadasz kartę PCMCIA, trzeba znać IRQ i IO swojej karty.\n"

#: ../lib/network/netconnect.pm:436
#, c-format
msgid "Continue"
msgstr "Kontynuuj"

#: ../lib/network/netconnect.pm:436
#, c-format
msgid "Abort"
msgstr "Przerwij"

#: ../lib/network/netconnect.pm:442
#, c-format
msgid "Which of the following is your ISDN card?"
msgstr "Która z poniższych, jest twoją kartą ISDN?"

#: ../lib/network/netconnect.pm:460
#, c-format
msgid ""
"A CAPI driver is available for this modem. This CAPI driver can offer more "
"capabilities than the free driver (like sending faxes). Which driver do you "
"want to use?"
msgstr ""
"Istnieje sterownik CAPI dla tego modemu. Sterownik CAPI może posiadać "
"większe możliwości niż otwarty sterownik (np. wysyłanie faksów). Którego "
"sterownika chcesz użyć?"

#: ../lib/network/netconnect.pm:474
#, c-format
msgid "Which protocol do you want to use?"
msgstr "Którego protokołu chcesz użyć?"

#: ../lib/network/netconnect.pm:488
#, c-format
msgid ""
"Select your provider.\n"
"If it is not listed, choose Unlisted."
msgstr ""
"Wybierz dostawcę Internetu.\n"
"Jeśli nie ma go na liście, wybierz opcję \"Nie wypisany\"."

#: ../lib/network/netconnect.pm:490 ../lib/network/netconnect.pm:586
#, c-format
msgid "Provider:"
msgstr "Dostawca:"

#: ../lib/network/netconnect.pm:499
#, c-format
msgid ""
"Your modem is not supported by the system.\n"
"Take a look at http://www.linmodems.org"
msgstr ""
"Twój modem nie jest obsługiwany przez system.\n"
"Zajrzyj na stronę http://www.linmodems.org"

#: ../lib/network/netconnect.pm:518
#, c-format
msgid "Select the modem to configure:"
msgstr "Wybierz modem do skonfigurowania:"

#: ../lib/network/netconnect.pm:520
#, c-format
msgid "Modem"
msgstr "Modem"

#: ../lib/network/netconnect.pm:555
#, c-format
msgid "Please choose which serial port your modem is connected to."
msgstr "Wskaż port szeregowy, do którego podłączony jest modem."

#: ../lib/network/netconnect.pm:584
#, c-format
msgid "Select your provider:"
msgstr "Wybierz system wydruku:"

#: ../lib/network/netconnect.pm:608
#, c-format
msgid "Dialup: account options"
msgstr "Połączenie wdzwaniane: opcje konta"

#: ../lib/network/netconnect.pm:611
#, c-format
msgid "Connection name"
msgstr "Nazwa połączenia"

#: ../lib/network/netconnect.pm:612
#, c-format
msgid "Phone number"
msgstr "Numer telefonu"

#: ../lib/network/netconnect.pm:613
#, c-format
msgid "Login ID"
msgstr "Identyfikator logowania"

#: ../lib/network/netconnect.pm:628 ../lib/network/netconnect.pm:661
#, c-format
msgid "Dialup: IP parameters"
msgstr "Połączenie wdzwaniane: parametry IP"

#: ../lib/network/netconnect.pm:631
#, c-format
msgid "IP parameters"
msgstr "Parametry IP"

#: ../lib/network/netconnect.pm:633
#, c-format
msgid "Subnet mask"
msgstr "Maska podsieci"

#: ../lib/network/netconnect.pm:645
#, c-format
msgid "Dialup: DNS parameters"
msgstr "Połączenie wdzwaniane: parametry DNS"

#: ../lib/network/netconnect.pm:648
#, c-format
msgid "DNS"
msgstr "DNS"

#: ../lib/network/netconnect.pm:649
#, c-format
msgid "Domain name"
msgstr "Domena"

#: ../lib/network/netconnect.pm:652
#, c-format
msgid "Set hostname from IP"
msgstr "Ustaw nazwę komputera na podstawie IP"

#: ../lib/network/netconnect.pm:665
#, c-format
msgid "Gateway IP address"
msgstr "Adres IP bramy"

#: ../lib/network/netconnect.pm:698
#, c-format
msgid "Automatically at boot"
msgstr "Automatycznie przy uruchamianiu"

#: ../lib/network/netconnect.pm:700
#, c-format
msgid "By using Net Applet in the system tray"
msgstr "Poprzez użycie apletu sieci w obszarze powiadamiania"

#: ../lib/network/netconnect.pm:702
#, c-format
msgid "Manually (the interface would still be activated at boot)"
msgstr "Ręcznie (interfejs wciąż może być aktywowany przy uruchomieniu)"

#: ../lib/network/netconnect.pm:711
#, c-format
msgid "How do you want to dial this connection?"
msgstr "W jaki sposób chcesz nawiązywać to połączenie?"

#: ../lib/network/netconnect.pm:724
#, c-format
msgid "Do you want to try to connect to the Internet now?"
msgstr "Czy chcesz teraz spróbować połączyć się Internetem?"

#: ../lib/network/netconnect.pm:751
#, c-format
msgid "The system is now connected to the Internet."
msgstr "System jest teraz połączony z Internetem."

#: ../lib/network/netconnect.pm:752
#, c-format
msgid "For security reasons, it will be disconnected now."
msgstr "Ze względów bezpieczeństwa połączenie zostanie teraz rozłączone."

#: ../lib/network/netconnect.pm:753
#, c-format
msgid ""
"The system does not seem to be connected to the Internet.\n"
"Try to reconfigure your connection."
msgstr ""
"Wygląda na to, że system nie został połączony z Internetem.\n"
"Spróbuj zmienić konfigurację połączenia."

#: ../lib/network/netconnect.pm:769
#, c-format
msgid "Problems occurred during the network connectivity test."
msgstr "Wystąpił problem podczas testu połączenia sieciowego."

#: ../lib/network/netconnect.pm:770
#, c-format
msgid ""
"This can be caused by invalid network configuration, or problems with your "
"modem or router."
msgstr ""
"Powodem może być nieprawidłowa konfiguracja sieci lub problemy z modemem "
"albo routerem."

#: ../lib/network/netconnect.pm:771
#, c-format
msgid ""
"You might want to relaunch the configuration to verify the connection "
"settings."
msgstr ""
"Być może konieczne jest ponowne dokonanie konfiguracji w celu weryfikacji "
"ustawień sieci."

#: ../lib/network/netconnect.pm:774
#, c-format
msgid "Congratulations, the network configuration is finished."
msgstr "Gratulacje, konfiguracja sieci została zakończona."

#: ../lib/network/netconnect.pm:774
#, c-format
msgid ""
"However, the Internet connectivity test failed. You should test your "
"connection manually, and verify your Internet modem or router."
msgstr ""
"Jednakże test połączenia z internetem nie powiódł się. Przetestuj połączenie "
"ręcznie i sprawdź działanie modemu lub routera internetowego."

#: ../lib/network/netconnect.pm:775
#, c-format
msgid ""
"If your connection does not work, you might want to relaunch the "
"configuration."
msgstr ""
"Jeśli twoje połączenie nie działa, być może należy ponownie uruchomić "
"program konfiguracyjny."

#: ../lib/network/netconnect.pm:777
#, c-format
msgid "Congratulations, the network and Internet configuration are finished."
msgstr "Gratulacje, konfiguracja sieci i Internetu została zakończona."

#: ../lib/network/netconnect.pm:778
#, c-format
msgid ""
"After this is done, we recommend that you restart your X environment to "
"avoid any hostname-related problems."
msgstr ""
"Po zakończeniu zalecane jest ponowne uruchomienie X w celu pominięcia "
"problemów wynikających ze zmianą nazwy komputera."

#: ../lib/network/netconnect.pm:789
#, c-format
msgid "Sagem USB modem"
msgstr "Modem Sagem USB"

#: ../lib/network/netconnect.pm:790 ../lib/network/netconnect.pm:791
#, c-format
msgid "Bewan modem"
msgstr "Modem Bewan"

#: ../lib/network/netconnect.pm:792
#, c-format
msgid "ECI Hi-Focus modem"
msgstr "Modem ECI Hi-Focus"

#: ../lib/network/netconnect.pm:793
#, c-format
msgid "LAN connection"
msgstr "Sieć lokalna"

#: ../lib/network/netconnect.pm:795
#, c-format
msgid "ADSL connection"
msgstr "Połączenie ADSL"

#: ../lib/network/netconnect.pm:796
#, c-format
msgid "Cable connection"
msgstr "Połączenie przez kablówkę"

#: ../lib/network/netconnect.pm:797
#, c-format
msgid "ISDN connection"
msgstr "Połączenie ISDN"

#: ../lib/network/netconnect.pm:798
#, c-format
msgid "Modem connection"
msgstr "Połączenie modemowe"

#: ../lib/network/netconnect.pm:799
#, c-format
msgid "DVB connection"
msgstr "Połączenie DVB"

#: ../lib/network/netconnect.pm:801
#, c-format
msgid "(detected on port %s)"
msgstr "(wykryto na porcie %s)"

#. -PO: here, "(detected)" string will be appended to eg "ADSL connection"
#: ../lib/network/netconnect.pm:803
#, c-format
msgid "(detected %s)"
msgstr "(wykryto %s)"

#: ../lib/network/netconnect.pm:803
#, c-format
msgid "(detected)"
msgstr "(wykryto)"

#: ../lib/network/netconnect.pm:804
#, c-format
msgid "Network Configuration"
msgstr "Konfiguracja sieci"

#: ../lib/network/netconnect.pm:805
#, c-format
msgid "Zeroconf hostname resolution"
msgstr "Rozwiązywanie nazw komputerów Zeroconf"

#: ../lib/network/netconnect.pm:806
#, c-format
msgid ""
"If desired, enter a Zeroconf hostname.\n"
"This is the name your machine will use to advertise any of\n"
"its shared resources that are not managed by the network.\n"
"It is not necessary on most networks."
msgstr ""
"W razie potrzeby podaj nazwę komputera Zeroconf.\n"
"To jest nazwa komputera używana do rozgłaszania\n"
"dowolnego ze współdzielonych zasobów, które\n"
"nie są zarządzane przez sieć. \n"
"W przypadku większości sieci, nie jest to konieczne."

#: ../lib/network/netconnect.pm:810
#, c-format
msgid "Zeroconf Host name"
msgstr "Nazwa komputera zeroconf"

#: ../lib/network/netconnect.pm:811
#, c-format
msgid "Zeroconf host name must not contain a ."
msgstr "Nazwa komputera zeroconf nie może zawierać kropki."

#: ../lib/network/netconnect.pm:812
#, c-format
msgid ""
"Because you are doing a network installation, your network is already "
"configured.\n"
"Click on Ok to keep your configuration, or cancel to reconfigure your "
"Internet & Network connection.\n"
msgstr ""
"Ponieważ przeprowadzasz instalację przez sieć, jest ona już skonfigurowana.\n"
"Wybierz OK by zachować konfigurację, lub Anuluj by ponownie skonfigurować "
"sieć/połączenie z Internetem.\n"

#: ../lib/network/netconnect.pm:815
#, c-format
msgid "The network needs to be restarted. Do you want to restart it?"
msgstr ""
"Sieć musi zostać ponownie uruchomiona. Czy chcesz ją ponownie uruchomić ?"

#: ../lib/network/netconnect.pm:816
#, c-format
msgid ""
"A problem occurred while restarting the network: \n"
"\n"
"%s"
msgstr ""
"Wystąpił problem podczas uruchamiania sieci: \n"
"\n"
"%s"

#: ../lib/network/netconnect.pm:817
#, c-format
msgid ""
"We are now going to configure the %s connection.\n"
"\n"
"\n"
"Press \"%s\" to continue."
msgstr ""
"Teraz zostanie przeprowadzona konfiguracja połączenia %s.\n"
"\n"
"\n"
"Aby kontynuować naciśnij \"%s\"."

#: ../lib/network/netconnect.pm:818
#, c-format
msgid "Configuration is complete, do you want to apply settings?"
msgstr "Konfiguracja została zakończona, czy chcesz zastosować ustawienia?"

#: ../lib/network/netconnect.pm:819
#, c-format
msgid ""
"You have configured multiple ways to connect to the Internet.\n"
"Choose the one you want to use.\n"
"\n"
msgstr ""
"Skonfigurowano różne sposoby połączenia z Internetem.\n"
"Wybierz ten, z którego chcesz korzystać.\n"
"\n"

#: ../lib/network/netconnect.pm:820
#, c-format
msgid "Internet connection"
msgstr "Połączenie z Internetem"

#: ../lib/network/netconnect.pm:822
#, c-format
msgid "Configuring network device %s (driver %s)"
msgstr "Konfiguracja urządzenia sieciowego %s (sterownik %s)"

#: ../lib/network/netconnect.pm:823
#, c-format
msgid ""
"The following protocols can be used to configure a LAN connection. Please "
"choose the one you want to use."
msgstr ""
"Do konfiguracji połączenia sieci lokalnej można użyć poniższych protokołów. "
"Wybierz ten, który ma zostać użyty."

#: ../lib/network/netconnect.pm:824
#, c-format
msgid ""
"Please enter your host name.\n"
"Your host name should be a fully-qualified host name,\n"
"such as ``mybox.mylab.myco.com''.\n"
"You may also enter the IP address of the gateway if you have one."
msgstr ""
"Wpisz nazwę komputera.\n"
"Nazwa ta powinna być w pełnej postaci,\n"
"np. \"mojkomputer.mojadomena.pl\". (bez używania polskich liter)\n"
"Jeśli jest to konieczne, należy wpisać też adres routera."

#: ../lib/network/netconnect.pm:829
#, c-format
msgid "Last but not least you can also type in your DNS server IP addresses."
msgstr "Na końcu, lecz nie mniej ważne jest wpisanie adresów IP serwera DNS."

#: ../lib/network/netconnect.pm:830
#, c-format
msgid "DNS server address should be in format 1.2.3.4"
msgstr "Adres serwera DNS powinien być w formacie typu 1.2.3.4"

#: ../lib/network/netconnect.pm:832
#, c-format
msgid "Gateway device"
msgstr "Interfejs bramy (np. eth0)"

#: ../lib/network/netconnect.pm:846
#, c-format
msgid ""
"An unexpected error has happened:\n"
"%s"
msgstr ""
"Wystąpił nieoczekiwany błąd:\n"
"%s"

#: ../lib/network/network.pm:526
#, c-format
msgid "Advanced network settings"
msgstr "Zaawansowane ustawienia sieci"

#: ../lib/network/network.pm:527
#, c-format
msgid ""
"Here you can configure advanced network settings. Please note that you have "
"to reboot the machine for changes to take effect."
msgstr ""
"Tutaj możesz skonfigurować zaawansowane ustawienia sieci. Musisz ponownie "
"uruchomić komputer, aby ustawienia zostały zastosowane."

#: ../lib/network/network.pm:529
#, c-format
msgid "Wireless regulatory domain"
msgstr "Domena sieci bezprzewodowej"

#: ../lib/network/network.pm:530
#, c-format
msgid "TCP/IP settings"
msgstr "Ustawienia TCP/IP"

#: ../lib/network/network.pm:531
#, c-format
msgid "Disable IPv6"
msgstr "Wyłącz IPv6"

#: ../lib/network/network.pm:532
#, c-format
msgid "Disable TCP Window Scaling"
msgstr "Wyłącz skalowanie okna TCP"

#: ../lib/network/network.pm:533
#, c-format
msgid "Disable TCP Timestamps"
msgstr "Wyłącz znaczniki czasu TCP"

#: ../lib/network/network.pm:534
#, c-format
msgid "Security settings (defined by MSEC policy)"
msgstr "Ustawienia bezpieczeństwa (zdefiniowane w polityce MSEC)"

#: ../lib/network/network.pm:535
#, c-format
msgid "Disable ICMP echo"
msgstr "Wyłącz komunikaty ICMP"

#: ../lib/network/network.pm:536
#, c-format
msgid "Disable ICMP echo for broadcasting messages"
msgstr "Wyłącz komunikaty ICMP wiadomości rozgłoszeniowych"

#: ../lib/network/network.pm:537
#, c-format
msgid "Disable invalid ICMP error responses"
msgstr "Wyłącz  odpowiedzi na nieprawidłowe komunikaty ICMP"

#: ../lib/network/network.pm:538
#, c-format
msgid "Log strange packets"
msgstr "Rejestracja dziwnych pakietów"

#: ../lib/network/network.pm:551
#, c-format
msgid "Proxies configuration"
msgstr "Konfiguracja pośredników (proxy)"

#: ../lib/network/network.pm:552
#, c-format
msgid ""
"Here you can set up your proxies configuration (eg: http://"
"my_caching_server:8080)"
msgstr "Konfiguracja połączenia proxy (np. http://moj_serwer_buforujacy:8080)"

#: ../lib/network/network.pm:553
#, c-format
msgid "HTTP proxy"
msgstr "Pośrednik HTTP"

#: ../lib/network/network.pm:554
#, c-format
msgid "Use HTTP proxy for HTTPS connections"
msgstr "Użyj proxy HTTP dla połączeń HTTPS"

#: ../lib/network/network.pm:555
#, c-format
msgid "HTTPS proxy"
msgstr "Proxy HTTPS"

#: ../lib/network/network.pm:556
#, c-format
msgid "FTP proxy"
msgstr "Pośrednik FTP"

#: ../lib/network/network.pm:557
#, c-format
msgid "No proxy for (comma separated list):"
msgstr "Nie stosuj proxy dla (lista oddzielona przecinkami):"

#: ../lib/network/network.pm:562
#, c-format
msgid "Proxy should be http://..."
msgstr "Nazwa pośrednika powinna być typu: http://..."

#: ../lib/network/network.pm:563
#, c-format
msgid "Proxy should be http://... or https://..."
msgstr "Nazwa pośrednika powinna mieś formę: http://... lub https://"

#: ../lib/network/network.pm:564
#, c-format
msgid "URL should begin with 'ftp:' or 'http:'"
msgstr "URL powinien zaczynać się od \"ftp:\" lub \"http:\""

#: ../lib/network/shorewall.pm:82
#, c-format
msgid ""
"Please select the interfaces that will be protected by the firewall.\n"
"\n"
"All interfaces directly connected to Internet should be selected,\n"
"while interfaces connected to a local network may be unselected.\n"
"\n"
"If you intend to use Mageia Internet Connection sharing,\n"
"unselect interfaces which will be connected to local network.\n"
"\n"
"Which interfaces should be protected?\n"
msgstr ""
"Wybierz interfejsy, które mają być chronione przez zaporę ogniową "
"(firewall).\n"
"\n"
"Wskazany jest wybór interfejsów bezpośrednio połączone z Internetem.\n"
"Interfejsy połączone z siecią lokalną nie muszą być chronione.\n"
"\n"
"Jeżeli chcesz korzystać z opcji udostępniania połączenia internetowego\n"
"odznacz interfejsy (karty), które będą podłączone do sieci lokalnej.\n"
"\n"
"Które interfejsy chronić?\n"

#: ../lib/network/shorewall.pm:163
#, c-format
msgid "Keep custom rules"
msgstr "Zachowaj zindywidualizowane reguły"

#: ../lib/network/shorewall.pm:164
#, c-format
msgid "Drop custom rules"
msgstr "Odrzuć zindywidualizowane reguły"

#: ../lib/network/shorewall.pm:169
#, c-format
msgid ""
"Your firewall configuration has been manually edited and contains\n"
"rules that may conflict with the configuration that has just been set up.\n"
"What do you want to do?"
msgstr ""
"Konfiguracja zapory ogniowej została zmieniona ręcznie i zawiera\n"
"reguły, które mogą nie być zgodne z właśnie ustawioną konfiguracją.\n"
"Co chcesz zrobić?"

#: ../lib/network/thirdparty.pm:144
#, c-format
msgid "Some components (%s) are required but aren't available for %s hardware."
msgstr ""
"Niektóre z wymaganych komponentów (%s) są niedostępne dla urządzenia %s."

#: ../lib/network/thirdparty.pm:145
#, c-format
msgid "Some packages (%s) are required but aren't available."
msgstr "Niektóre pakiety (%s) są wymagane, ale są niedostępne."

#. -PO: first argument is a list of Mageia distributions
#. -PO: second argument is a package media name
#: ../lib/network/thirdparty.pm:150
#, c-format
msgid ""
"These packages can be found in %s, or in the official %s package repository."
msgstr ""
"Pakiety te można znaleźć w %s lub oficjalnych repozytoriach pakietów dla %s."

#: ../lib/network/thirdparty.pm:152
#, c-format
msgid "The following component is missing: %s"
msgstr "Następujące komponenty są niedostępne: %s"

#: ../lib/network/thirdparty.pm:154
#, c-format
msgid ""
"The required files can also be installed from this URL:\n"
"%s"
msgstr ""
"Wymagane pliki mogą zostać zainstalowane również z tego adresu URL:\n"
"%s"

#: ../lib/network/thirdparty.pm:190
#, c-format
msgid "Firmware files are required for this device."
msgstr ""
"Dla tego urządzenia wymagane są pliki z oprogramowaniem sprzętowym "
"(firmware)."

#: ../lib/network/thirdparty.pm:193 ../lib/network/thirdparty.pm:198
#, c-format
msgid "Use a floppy"
msgstr "Użycie dyskietki"

#: ../lib/network/thirdparty.pm:194 ../lib/network/thirdparty.pm:201
#, c-format
msgid "Use my Windows partition"
msgstr "Użycie partycji Windows"

#: ../lib/network/thirdparty.pm:195
#, c-format
msgid "Select file"
msgstr "Wybierz plik"

#: ../lib/network/thirdparty.pm:206
#, c-format
msgid "Please select the firmware file (for example: %s)"
msgstr "Wybierz plik z oprogramowaniem sprzętowym (np. %s)"

#: ../lib/network/thirdparty.pm:230
#, c-format
msgid "Unable to find \"%s\" on your Windows system!"
msgstr "Odszukanie \"%s\" w systemie Windows jest niemożliwe!"

#: ../lib/network/thirdparty.pm:232
#, c-format
msgid "No Windows system has been detected!"
msgstr "Nie wykryto systemu Windows!"

#: ../lib/network/thirdparty.pm:242
#, c-format
msgid "Insert floppy"
msgstr "Włóż dyskietkę"

#: ../lib/network/thirdparty.pm:243
#, c-format
msgid ""
"Insert a FAT formatted floppy in drive %s with %s in root directory and "
"press %s"
msgstr ""
"Włóż sformatowaną (FAT) dyskietkę do stacji %s z %s w katalogu roota i "
"naciśnij %s"

#: ../lib/network/thirdparty.pm:243
#, c-format
msgid "Next"
msgstr "Dalej"

#: ../lib/network/thirdparty.pm:253
#, c-format
msgid "Floppy access error, unable to mount device %s"
msgstr "Błąd dostępu do dyskietki, nie można zamontować urządzenia %s"

#: ../lib/network/thirdparty.pm:352
#, c-format
msgid "Looking for required software and drivers..."
msgstr "Wyszukiwanie wymaganego oprogramowania i sterowników..."

#: ../lib/network/thirdparty.pm:367
#, c-format
msgid "Please wait, running device configuration commands..."
msgstr "Proszę czekać, wykonywanie instrukcji konfiguracyjnych..."

#: ../lib/network/vpn/openvpn.pm:109
#, c-format
msgid "X509 Public Key Infrastructure"
msgstr "Infrastruktura Klucza Publicznego X509"

#: ../lib/network/vpn/openvpn.pm:110
#, c-format
msgid "Static Key"
msgstr "Klucz statyczny"

#. -PO: please don't translate the CA acronym
#: ../lib/network/vpn/openvpn.pm:144
#, c-format
msgid "Certificate Authority (CA)"
msgstr "Ośrodek certyfikacji (CA)"

#: ../lib/network/vpn/openvpn.pm:150
#, c-format
msgid "Certificate"
msgstr "Certyfikat"

#: ../lib/network/vpn/openvpn.pm:156
#, c-format
msgid "Key"
msgstr "Klucz"

#: ../lib/network/vpn/openvpn.pm:162
#, c-format
msgid "TLS control channel key"
msgstr "Klucz tunelu TLS"

#: ../lib/network/vpn/openvpn.pm:169
#, c-format
msgid "Key direction"
msgstr "Kierunek klucza"

#: ../lib/network/vpn/openvpn.pm:177
#, c-format
msgid "Authenticate using username and password"
msgstr "Uwierzytelnianie z użyciem nazwy użytkownika i hasła"

#: ../lib/network/vpn/openvpn.pm:183
#, c-format
msgid "Check server certificate"
msgstr "Sprawdź certyfikat serwera"

#: ../lib/network/vpn/openvpn.pm:189
#, c-format
msgid "Cipher algorithm"
msgstr "Algorytm szyfrowania"

#: ../lib/network/vpn/openvpn.pm:193
#, c-format
msgid "Default"
msgstr "Domyślne"

#: ../lib/network/vpn/openvpn.pm:197
#, c-format
msgid "Size of cipher key"
msgstr "Rozmiar klucza szyfrującego"

#: ../lib/network/vpn/openvpn.pm:208
#, c-format
msgid "Get from server"
msgstr "Pobierz z serwera"

#: ../lib/network/vpn/openvpn.pm:218
#, c-format
msgid "Gateway port"
msgstr "Port bramy"

#: ../lib/network/vpn/openvpn.pm:234
#, c-format
msgid "Remote IP address"
msgstr "Zdalny adres IP"

#: ../lib/network/vpn/openvpn.pm:239
#, c-format
msgid "Use TCP protocol"
msgstr "Użyj protokołu TCP"

#: ../lib/network/vpn/openvpn.pm:245
#, c-format
msgid "Virtual network device type"
msgstr "Rodzaj urządzenia sieci wirtualnej"

#: ../lib/network/vpn/openvpn.pm:252
#, c-format
msgid "Virtual network device number (optional)"
msgstr "Numer urządzenia sieci wirtualnej (opcjonalnie)"

#: ../lib/network/vpn/openvpn.pm:367
#, c-format
msgid "Starting connection.."
msgstr "Uruchamianie połączenia..."

#: ../lib/network/vpn/openvpn.pm:382
#, c-format
msgid "Please insert your token"
msgstr "Włóż token"

#: ../lib/network/vpn/openvpn.pm:393
#, c-format
msgid "PIN number"
msgstr "Numer PIN"

#: ../lib/network/vpn/vpnc.pm:9
#, c-format
msgid "Cisco VPN Concentrator"
msgstr "Koncentrator VPN Cisco"

#: ../lib/network/vpn/vpnc.pm:43
#, c-format
msgid "Group name"
msgstr "Nazwa grupy"

#: ../lib/network/vpn/vpnc.pm:47
#, c-format
msgid "Group secret"
msgstr "Hasło grupy"

#: ../lib/network/vpn/vpnc.pm:52
#, c-format
msgid "Username"
msgstr "Nazwa użytkownika"

#: ../lib/network/vpn/vpnc.pm:61
#, c-format
msgid "NAT Mode"
msgstr "Tryb NAT"

#: ../lib/network/vpn/vpnc.pm:67
#, c-format
msgid "Use specific UDP port"
msgstr "Użyj określonego portu UDP"

#~ msgid "Same IP is already in %s file."
#~ msgstr "Taki sam numer IP znajduje się już w pliku %s."

#~ msgid ""
#~ "drakfirewall configurator\n"
#~ "\n"
#~ "This configures a personal firewall for this Mageia machine.\n"
#~ "For a powerful and dedicated firewall solution, please look to the\n"
#~ "specialized Mageia Security Firewall distribution."
#~ msgstr ""
#~ "Konfiguracja zapory sieciowej\n"
#~ "\n"
#~ "Narzędzie to umożliwia konfigurację prostej zapory ogniowej.\n"
#~ "Jeśli potrzebujesz silnego dedykowanego rozwiązania,\n"
#~ "skorzystaj z dystrybucji Mageia Security Firewall."

#, fuzzy
#~ msgid "Do you want to apply new wireless regulation settings now?"
#~ msgstr "Czy chcesz rozpocząć połączenie w tej chwili?"

#, fuzzy
#~ msgid "Connecting.."
#~ msgstr "Łączenie..."

#, fuzzy
#~ msgid "Account network traffic"
#~ msgstr "Sychronizacja interfejsu sieciowego"

#~ msgid ""
#~ "Name of the profile to create (the new profile is created as a copy of "
#~ "the current one):"
#~ msgstr ""
#~ "Nazwa tworzonego profilu (nowy profil jest tworzony jako kopia "
#~ "aktualnego):"

#~ msgid ""
#~ "This tool allows to activate an existing network profile, and to manage "
#~ "(clone, delete) profiles."
#~ msgstr ""
#~ "To narzędzie umożliwia aktywację istniejącego profilu sieciowego oraz "
#~ "zarządzanie profilami (kopiowanie, usuwanie)."

#~ msgid "To modify a profile, you have to activate it first."
#~ msgstr "Aby edytować profil należy go aktywować."

#~ msgid "Clone"
#~ msgstr "Klonuj"

#~ msgid "Please select the Windows driver (.inf file)"
#~ msgstr "Wybierz sterownik dla systemu Windows (plik .inf)"