tor-commits
Threads by month
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
January 2015
- 20 participants
- 935 discussions
commit c9653bcfc88082e66ca8a6b151741dd6a33e07da
Author: Damian Johnson <atagar(a)torproject.org>
Date: Sat Jan 3 12:34:47 2015 -0800
Dropping unnecessary list() calls
Python's 2to3 converter wraps quite a few things with list() to be safe...
https://stackoverflow.com/questions/17695456/why-python-3-needs-wrap-dict-i…
More often than not this is the right thing. In particular...
* If we return the value then we need the list() call, since dict's keys(),
values(), and items() now return a different type.
* If we concurrently modify the dictionary *or* it's an argument provided
from our caller (so they might concurrently modify it) then we need this
shallow copy so we don't raise an exception due to concurrent modification.
That is to say, the only time we *don't* need the list() call is when it's a
local variable that won't be concurrently modified. There's quite a few
instances of this, so dropping the extraneous list() when we can.
---
run_tests.py | 6 ++---
stem/__init__.py | 2 +-
stem/control.py | 18 +++++++-------
stem/descriptor/microdescriptor.py | 2 +-
stem/descriptor/networkstatus.py | 12 ++++-----
stem/descriptor/remote.py | 8 +++---
stem/exit_policy.py | 4 +--
stem/interpreter/arguments.py | 2 +-
stem/interpreter/autocomplete.py | 2 +-
stem/interpreter/help.py | 2 +-
stem/response/__init__.py | 2 +-
stem/response/events.py | 2 +-
stem/util/conf.py | 2 +-
stem/util/connection.py | 2 +-
stem/util/system.py | 2 +-
stem/util/test_tools.py | 2 +-
test/integ/control/controller.py | 2 +-
test/integ/descriptor/remote.py | 2 +-
test/mocking.py | 4 +--
test/unit/control/controller.py | 2 +-
.../descriptor/networkstatus/bridge_document.py | 2 +-
test/unit/descriptor/networkstatus/document_v3.py | 10 ++++----
test/unit/descriptor/router_status_entry.py | 16 ++++++------
test/unit/exit_policy/policy.py | 10 ++++----
test/unit/exit_policy/rule.py | 26 ++++++++++----------
test/unit/tutorial.py | 2 +-
test/unit/tutorial_examples.py | 14 +++++------
test/unit/util/connection.py | 4 +--
test/unit/util/str_tools.py | 2 +-
test/util.py | 4 +--
30 files changed, 85 insertions(+), 85 deletions(-)
diff --git a/run_tests.py b/run_tests.py
index c881f66..2bf2744 100755
--- a/run_tests.py
+++ b/run_tests.py
@@ -300,14 +300,14 @@ def main():
static_check_issues = {}
if pyflakes_task and pyflakes_task.is_successful:
- for path, issues in list(pyflakes_task.result.items()):
+ for path, issues in pyflakes_task.result.items():
for issue in issues:
static_check_issues.setdefault(path, []).append(issue)
elif not stem.util.test_tools.is_pyflakes_available():
println("Static error checking requires pyflakes version 0.7.3 or later. Please install it from ...\n http://pypi.python.org/pypi/pyflakes\n", ERROR)
if pep8_task and pep8_task.is_successful:
- for path, issues in list(pep8_task.result.items()):
+ for path, issues in pep8_task.result.items():
for issue in issues:
static_check_issues.setdefault(path, []).append(issue)
elif not stem.util.test_tools.is_pep8_available():
@@ -403,7 +403,7 @@ def _get_args(argv):
# translates our args dict into a named tuple
- Args = collections.namedtuple('Args', list(args.keys()))
+ Args = collections.namedtuple('Args', args.keys())
return Args(**args)
diff --git a/stem/__init__.py b/stem/__init__.py
index 3ac4565..baa2ef8 100644
--- a/stem/__init__.py
+++ b/stem/__init__.py
@@ -712,7 +712,7 @@ StreamStatus = stem.util.enum.UppercaseEnum(
)
# StreamClosureReason is a superset of RelayEndReason
-StreamClosureReason = stem.util.enum.UppercaseEnum(*(list(RelayEndReason.keys()) + [
+StreamClosureReason = stem.util.enum.UppercaseEnum(*(RelayEndReason.keys() + [
'END',
'PRIVATE_ADDR',
]))
diff --git a/stem/control.py b/stem/control.py
index 993d5c3..6c34671 100644
--- a/stem/control.py
+++ b/stem/control.py
@@ -926,7 +926,7 @@ class Controller(BaseController):
if self.is_caching_enabled():
self._set_cache(dict((k, None) for k in event.config), 'getconf')
- if 'exitpolicy' in list(event.config.keys()):
+ if 'exitpolicy' in event.config.keys():
self._set_cache({'exitpolicy': None})
self.add_event_listener(_confchanged_listener, EventType.CONF_CHANGED)
@@ -1020,7 +1020,7 @@ class Controller(BaseController):
# if everything was cached then short circuit making the query
if not params:
- log.trace('GETINFO %s (cache fetch)' % ' '.join(list(reply.keys())))
+ log.trace('GETINFO %s (cache fetch)' % ' '.join(reply.keys()))
if is_multiple:
return reply
@@ -1035,14 +1035,14 @@ class Controller(BaseController):
# usually we want unicode values under python 3.x
if stem.prereq.is_python_3() and not get_bytes:
- response.entries = dict((k, stem.util.str_tools._to_unicode(v)) for (k, v) in list(response.entries.items()))
+ response.entries = dict((k, stem.util.str_tools._to_unicode(v)) for (k, v) in response.entries.items())
reply.update(response.entries)
if self.is_caching_enabled():
to_cache = {}
- for key, value in list(response.entries.items()):
+ for key, value in response.entries.items():
key = key.lower() # make case insensitive
if key in CACHEABLE_GETINFO_PARAMS:
@@ -1911,7 +1911,7 @@ class Controller(BaseController):
# if everything was cached then short circuit making the query
if not lookup_params:
- log.trace('GETCONF %s (cache fetch)' % ' '.join(list(reply.keys())))
+ log.trace('GETCONF %s (cache fetch)' % ' '.join(reply.keys()))
return self._get_conf_dict_to_response(reply, default, multiple)
try:
@@ -1920,7 +1920,7 @@ class Controller(BaseController):
reply.update(response.entries)
if self.is_caching_enabled():
- to_cache = dict((k.lower(), v) for k, v in list(response.entries.items()))
+ to_cache = dict((k.lower(), v) for k, v in response.entries.items())
for key in UNCACHEABLE_GETCONF_PARAMS:
if key in to_cache:
@@ -1939,7 +1939,7 @@ class Controller(BaseController):
# be sure what they wanted.
for key in reply:
- if not key.lower() in list(MAPPED_CONFIG_KEYS.values()):
+ if not key.lower() in MAPPED_CONFIG_KEYS.values():
user_expected_key = _case_insensitive_lookup(params, key, key)
if key != user_expected_key:
@@ -2447,7 +2447,7 @@ class Controller(BaseController):
del self._event_listeners[event_type]
if event_types_changed:
- response = self.msg('SETEVENTS %s' % ' '.join(list(self._event_listeners.keys())))
+ response = self.msg('SETEVENTS %s' % ' '.join(self._event_listeners.keys()))
if not response.is_ok():
raise stem.ProtocolError('SETEVENTS received unexpected response\n%s' % response)
@@ -3158,7 +3158,7 @@ class Controller(BaseController):
with self._event_listeners_lock:
if self.is_authenticated():
# try to set them all
- response = self.msg('SETEVENTS %s' % ' '.join(list(self._event_listeners.keys())))
+ response = self.msg('SETEVENTS %s' % ' '.join(self._event_listeners.keys()))
if response.is_ok():
set_events = list(self._event_listeners.keys())
diff --git a/stem/descriptor/microdescriptor.py b/stem/descriptor/microdescriptor.py
index e5d690f..093e6f0 100644
--- a/stem/descriptor/microdescriptor.py
+++ b/stem/descriptor/microdescriptor.py
@@ -302,7 +302,7 @@ class Microdescriptor(Descriptor):
if keyword in entries and len(entries[keyword]) > 1:
raise ValueError("The '%s' entry can only appear once in a microdescriptor" % keyword)
- if "onion-key" != list(entries.keys())[0]:
+ if 'onion-key' != list(entries.keys())[0]:
raise ValueError("Microdescriptor must start with a 'onion-key' entry")
def _name(self, is_plural = False):
diff --git a/stem/descriptor/networkstatus.py b/stem/descriptor/networkstatus.py
index 65bf5cc..33beb4a 100644
--- a/stem/descriptor/networkstatus.py
+++ b/stem/descriptor/networkstatus.py
@@ -516,7 +516,7 @@ class NetworkStatusDocumentV3(NetworkStatusDocument):
self._header = _DocumentHeader(document_file, validate, default_params)
# merge header attributes into us
- for attr, value in list(vars(self._header).items()):
+ for attr, value in vars(self._header).items():
if attr != '_unrecognized_lines':
setattr(self, attr, value)
else:
@@ -553,7 +553,7 @@ class NetworkStatusDocumentV3(NetworkStatusDocument):
self._footer = _DocumentFooter(document_file, validate, self._header)
# merge header attributes into us
- for attr, value in list(vars(self._footer).items()):
+ for attr, value in vars(self._footer).items():
if attr != '_unrecognized_lines':
setattr(self, attr, value)
else:
@@ -795,7 +795,7 @@ class _DocumentHeader(object):
Checks that the params we know about are within their documented ranges.
"""
- for key, value in list(self.params.items()):
+ for key, value in self.params.items():
# all parameters are constrained to int32 range
minimum, maximum = -2147483648, 2147483647
@@ -941,11 +941,11 @@ def _check_for_missing_and_disallowed_fields(header, entries, fields):
for field, in_votes, in_consensus, mandatory in fields:
if mandatory and ((header.is_consensus and in_consensus) or (header.is_vote and in_votes)):
# mandatory field, check that we have it
- if field not in list(entries.keys()):
+ if field not in entries.keys():
missing_fields.append(field)
elif (header.is_consensus and not in_consensus) or (header.is_vote and not in_votes):
# field we shouldn't have, check that we don't
- if field in list(entries.keys()):
+ if field in entries.keys():
disallowed_fields.append(field)
if missing_fields:
@@ -972,7 +972,7 @@ def _check_for_misordered_fields(entries, expected):
# document type or are unknown. Remove the unknown fields since they
# reflect a spec change and can appear anywhere in the document.
- actual = [field for field in list(entries.keys()) if field in expected]
+ actual = [field for field in entries.keys() if field in expected]
# Narrow the expected to just what we have. If the lists then match then the
# order's valid.
diff --git a/stem/descriptor/remote.py b/stem/descriptor/remote.py
index fa0a672..058741f 100644
--- a/stem/descriptor/remote.py
+++ b/stem/descriptor/remote.py
@@ -344,7 +344,7 @@ class Query(object):
"""
if use_authority or not self.endpoints:
- authority = random.choice(list(filter(HAS_V3IDENT, list(get_authorities().values()))))
+ authority = random.choice(filter(HAS_V3IDENT, get_authorities().values()))
address, dirport = authority.address, authority.dir_port
else:
address, dirport = random.choice(self.endpoints)
@@ -394,7 +394,7 @@ class DescriptorDownloader(object):
def __init__(self, use_mirrors = False, **default_args):
self._default_args = default_args
- authorities = list(filter(HAS_V3IDENT, list(get_authorities().values())))
+ authorities = filter(HAS_V3IDENT, get_authorities().values())
self._endpoints = [(auth.address, auth.dir_port) for auth in authorities]
if use_mirrors:
@@ -416,12 +416,12 @@ class DescriptorDownloader(object):
:raises: **Exception** if unable to determine the directory mirrors
"""
- authorities = list(filter(HAS_V3IDENT, list(get_authorities().values())))
+ authorities = filter(HAS_V3IDENT, get_authorities().values())
new_endpoints = set([(auth.address, auth.dir_port) for auth in authorities])
consensus = list(self.get_consensus(document_handler = stem.descriptor.DocumentHandler.DOCUMENT).run())[0]
- for desc in list(consensus.routers.values()):
+ for desc in consensus.routers.values():
if Flag.V2DIR in desc.flags:
new_endpoints.add((desc.address, desc.dir_port))
diff --git a/stem/exit_policy.py b/stem/exit_policy.py
index 06b2b53..afcd81d 100644
--- a/stem/exit_policy.py
+++ b/stem/exit_policy.py
@@ -306,7 +306,7 @@ class ExitPolicy(object):
if rule.is_port_wildcard():
return False
else:
- rejected_ports.update(list(range(rule.min_port, rule.max_port + 1)))
+ rejected_ports.update(range(rule.min_port, rule.max_port + 1))
return self._is_allowed_default
@@ -1026,7 +1026,7 @@ def _address_type_to_int(address_type):
def _int_to_address_type(address_type_int):
- return AddressType[list(AddressType.keys())[address_type_int]]
+ return list(AddressType)[address_type_int]
class MicroExitPolicyRule(ExitPolicyRule):
diff --git a/stem/interpreter/arguments.py b/stem/interpreter/arguments.py
index d36d618..d62a386 100644
--- a/stem/interpreter/arguments.py
+++ b/stem/interpreter/arguments.py
@@ -77,7 +77,7 @@ def parse(argv):
# translates our args dict into a named tuple
- Args = collections.namedtuple('Args', list(args.keys()))
+ Args = collections.namedtuple('Args', args.keys())
return Args(**args)
diff --git a/stem/interpreter/autocomplete.py b/stem/interpreter/autocomplete.py
index c014ef3..3a9b40b 100644
--- a/stem/interpreter/autocomplete.py
+++ b/stem/interpreter/autocomplete.py
@@ -70,7 +70,7 @@ def _get_commands(controller, config):
usage_info = config.get('help.usage', {})
- for cmd in list(usage_info.keys()):
+ for cmd in usage_info.keys():
commands.append('/help ' + cmd)
return commands
diff --git a/stem/interpreter/help.py b/stem/interpreter/help.py
index 174bc43..983da3e 100644
--- a/stem/interpreter/help.py
+++ b/stem/interpreter/help.py
@@ -97,7 +97,7 @@ def _response(controller, arg, config):
elif arg == 'SIGNAL':
signal_options = config.get('help.signal.options', {})
- for signal, summary in list(signal_options.items()):
+ for signal, summary in signal_options.items():
output += format('%-15s' % signal, *BOLD_OUTPUT)
output += format(' - %s' % summary, *STANDARD_OUTPUT) + '\n'
elif arg == 'SETEVENTS':
diff --git a/stem/response/__init__.py b/stem/response/__init__.py
index 38d7d8e..6a91698 100644
--- a/stem/response/__init__.py
+++ b/stem/response/__init__.py
@@ -532,7 +532,7 @@ def _unescape(entry):
#
# (unescaped prefix, remaining entry)
- for esc_sequence, replacement in list(CONTROL_ESCAPES.items()):
+ for esc_sequence, replacement in CONTROL_ESCAPES.items():
if entry.startswith(esc_sequence):
return (replacement, entry[len(esc_sequence):])
diff --git a/stem/response/events.py b/stem/response/events.py
index 55c73e3..3e54281 100644
--- a/stem/response/events.py
+++ b/stem/response/events.py
@@ -123,7 +123,7 @@ class Event(stem.response.ControlMessage):
setattr(self, attr_name, attr_value)
- for controller_attr_name, attr_name in list(self._KEYWORD_ARGS.items()):
+ for controller_attr_name, attr_name in self._KEYWORD_ARGS.items():
setattr(self, attr_name, self.keyword_args.get(controller_attr_name))
# method overwritten by our subclasses for special handling that they do
diff --git a/stem/util/conf.py b/stem/util/conf.py
index c74361c..0b1e937 100644
--- a/stem/util/conf.py
+++ b/stem/util/conf.py
@@ -576,7 +576,7 @@ class Config(object):
self._listeners.append(listener)
if backfill:
- for key in list(self.keys()):
+ for key in self.keys():
listener(self, key)
def clear_listeners(self):
diff --git a/stem/util/connection.py b/stem/util/connection.py
index ded09b3..2165b45 100644
--- a/stem/util/connection.py
+++ b/stem/util/connection.py
@@ -304,7 +304,7 @@ def port_usage(port):
config.load(config_path)
port_uses = {}
- for key, value in list(config.get('port', {}).items()):
+ for key, value in config.get('port', {}).items():
if key.isdigit():
port_uses[int(key)] = value
elif '-' in key:
diff --git a/stem/util/system.py b/stem/util/system.py
index 315c39e..66f46a9 100644
--- a/stem/util/system.py
+++ b/stem/util/system.py
@@ -243,7 +243,7 @@ def is_running(command):
command_listing = call(secondary_resolver, None)
if command_listing:
- command_listing = list(map(str_type.strip, command_listing))
+ command_listing = map(str_type.strip, command_listing)
return command in command_listing
return None
diff --git a/stem/util/test_tools.py b/stem/util/test_tools.py
index 624f445..8209c58 100644
--- a/stem/util/test_tools.py
+++ b/stem/util/test_tools.py
@@ -262,7 +262,7 @@ def pyflakes_issues(paths):
# Paths in pyflakes_ignore are relative, so we need to check to see if our
# path ends with any of them.
- for ignored_path, ignored_issues in list(self._ignored_issues.items()):
+ for ignored_path, ignored_issues in self._ignored_issues.items():
if path.endswith(ignored_path) and issue in ignored_issues:
return True
diff --git a/test/integ/control/controller.py b/test/integ/control/controller.py
index fbe66e5..0839bc1 100644
--- a/test/integ/control/controller.py
+++ b/test/integ/control/controller.py
@@ -420,7 +420,7 @@ class TestController(unittest.TestCase):
self.assertEqual(expected, controller.get_conf_map([config_key], 'la-di-dah'))
request_params = ['ControlPORT', 'dirport', 'datadirectory']
- reply_params = list(controller.get_conf_map(request_params, multiple=False).keys())
+ reply_params = controller.get_conf_map(request_params, multiple=False).keys()
self.assertEqual(set(request_params), set(reply_params))
# queries an option that is unset
diff --git a/test/integ/descriptor/remote.py b/test/integ/descriptor/remote.py
index d1700a5..d1a377c 100644
--- a/test/integ/descriptor/remote.py
+++ b/test/integ/descriptor/remote.py
@@ -31,7 +31,7 @@ class TestDescriptorDownloader(unittest.TestCase):
queries = []
- for nickname, authority in list(stem.descriptor.remote.get_authorities().items()):
+ for nickname, authority in stem.descriptor.remote.get_authorities().items():
queries.append((stem.descriptor.remote.Query(
'/tor/server/fp/9695DFC35FFEB861329B9F1AB04C46397020CE31',
'server-descriptor 1.0',
diff --git a/test/mocking.py b/test/mocking.py
index 3d6ac16..28a2e65 100644
--- a/test/mocking.py
+++ b/test/mocking.py
@@ -323,7 +323,7 @@ def _get_descriptor_content(attr = None, exclude = (), header_template = (), foo
remainder = []
- for k, v in list(attr.items()):
+ for k, v in attr.items():
if v:
remainder.append('%s %s' % (k, v))
else:
@@ -605,7 +605,7 @@ def get_network_status_document_v3(attr = None, exclude = (), authorities = None
'consensus-method': '9',
}
- for k, v in list(extra_defaults.items()):
+ for k, v in extra_defaults.items():
if not (k in attr or (exclude and k in exclude)):
attr[k] = v
diff --git a/test/unit/control/controller.py b/test/unit/control/controller.py
index 3dd57d3..58df2d4 100644
--- a/test/unit/control/controller.py
+++ b/test/unit/control/controller.py
@@ -585,7 +585,7 @@ class TestControl(unittest.TestCase):
],
}
- for test_input, expected in list(pydoc_examples.items()):
+ for test_input, expected in pydoc_examples.items():
self.assertEqual(expected, _parse_circ_path(test_input))
# exercise with some invalid inputs
diff --git a/test/unit/descriptor/networkstatus/bridge_document.py b/test/unit/descriptor/networkstatus/bridge_document.py
index 2ec2a22..1ba53e7 100644
--- a/test/unit/descriptor/networkstatus/bridge_document.py
+++ b/test/unit/descriptor/networkstatus/bridge_document.py
@@ -111,5 +111,5 @@ GM9hAsAMRX9Ogqhq5UjDNqEsvDKuyVeyh7unSZEOip9Zr6K/+7VsVPNb8vfBRBjo
self.assertEqual(datetime.datetime(2012, 6, 1, 4, 7, 4), document.published)
self.assertEqual(2, len(document.routers))
- self.assertEqual(set(['Unnamed', 'TolFuin']), set([desc.nickname for desc in list(document.routers.values())]))
+ self.assertEqual(set(['Unnamed', 'TolFuin']), set([desc.nickname for desc in document.routers.values()]))
self.assertEqual([], document.get_unrecognized_lines())
diff --git a/test/unit/descriptor/networkstatus/document_v3.py b/test/unit/descriptor/networkstatus/document_v3.py
index fafd455..9e6f510 100644
--- a/test/unit/descriptor/networkstatus/document_v3.py
+++ b/test/unit/descriptor/networkstatus/document_v3.py
@@ -383,7 +383,7 @@ DnN5aFtYKiTc19qIC7Nmo+afPdDEf0MlJvEOP5EWl3w=
consensus = NetworkStatusDocumentV3(consensus_file.read())
consensus_file.close()
- for router in list(consensus.routers.values()):
+ for router in consensus.routers.values():
self.assertEqual('caerSidi', router.nickname)
# second example: using stem.descriptor.parse_file
@@ -1048,8 +1048,8 @@ DnN5aFtYKiTc19qIC7Nmo+afPdDEf0MlJvEOP5EWl3w=
document = get_network_status_document_v3(routers = (entry1, entry2))
- self.assertTrue(entry1 in list(document.routers.values()))
- self.assertTrue(entry2 in list(document.routers.values()))
+ self.assertTrue(entry1 in document.routers.values())
+ self.assertTrue(entry2 in document.routers.values())
# try with an invalid RouterStatusEntry
@@ -1082,8 +1082,8 @@ DnN5aFtYKiTc19qIC7Nmo+afPdDEf0MlJvEOP5EWl3w=
document = get_network_status_document_v3({'network-status-version': '3 microdesc'}, routers = (entry1, entry2))
- self.assertTrue(entry1 in list(document.routers.values()))
- self.assertTrue(entry2 in list(document.routers.values()))
+ self.assertTrue(entry1 in document.routers.values())
+ self.assertTrue(entry2 in document.routers.values())
# try with an invalid RouterStatusEntry
diff --git a/test/unit/descriptor/router_status_entry.py b/test/unit/descriptor/router_status_entry.py
index 603cb86..50924de 100644
--- a/test/unit/descriptor/router_status_entry.py
+++ b/test/unit/descriptor/router_status_entry.py
@@ -34,7 +34,7 @@ class TestRouterStatusEntry(unittest.TestCase):
'/nHdqoKZ6bKZixxAPzYt9Qen+Is': 'FE71DDAA8299E9B2998B1C403F362DF507A7F88B',
}
- for arg, expected in list(test_values.items()):
+ for arg, expected in test_values.items():
self.assertEqual(expected, _base64_to_hex(arg, True))
# checks with some malformed inputs
@@ -319,7 +319,7 @@ class TestRouterStatusEntry(unittest.TestCase):
('2607:fcd0:daaa:101::602c:bd62', 443, True)],
}
- for a_line, expected in list(test_values.items()):
+ for a_line, expected in test_values.items():
entry = get_router_status_entry_v3({'a': a_line})
self.assertEqual(expected, entry.or_addresses)
@@ -360,7 +360,7 @@ class TestRouterStatusEntry(unittest.TestCase):
'Ugabuga': ['Ugabuga'],
}
- for s_line, expected in list(test_values.items()):
+ for s_line, expected in test_values.items():
entry = get_router_status_entry_v3({'s': s_line})
self.assertEqual(expected, entry.flags)
@@ -371,7 +371,7 @@ class TestRouterStatusEntry(unittest.TestCase):
'Fast Fast': [Flag.FAST, Flag.FAST],
}
- for s_line, expected in list(test_values.items()):
+ for s_line, expected in test_values.items():
content = get_router_status_entry_v3({'s': s_line}, content = True)
self._expect_invalid_attr(content, 'flags', expected)
@@ -387,7 +387,7 @@ class TestRouterStatusEntry(unittest.TestCase):
'new_stuff and stuff': None,
}
- for v_line, expected in list(test_values.items()):
+ for v_line, expected in test_values.items():
entry = get_router_status_entry_v3({'v': v_line})
self.assertEqual(expected, entry.version)
self.assertEqual(v_line, entry.version_line)
@@ -409,7 +409,7 @@ class TestRouterStatusEntry(unittest.TestCase):
'Bandwidth=11111 Measured=482 Unmeasured=1 Blarg!': (11111, 482, True, ['Blarg!']),
}
- for w_line, expected in list(test_values.items()):
+ for w_line, expected in test_values.items():
entry = get_router_status_entry_v3({'w': w_line})
self.assertEqual(expected[0], entry.bandwidth)
self.assertEqual(expected[1], entry.measured)
@@ -449,7 +449,7 @@ class TestRouterStatusEntry(unittest.TestCase):
'accept 80,110,143,443': MicroExitPolicy('accept 80,110,143,443'),
}
- for p_line, expected in list(test_values.items()):
+ for p_line, expected in test_values.items():
entry = get_router_status_entry_v3({'p': p_line})
self.assertEqual(expected, entry.exit_policy)
@@ -484,7 +484,7 @@ class TestRouterStatusEntry(unittest.TestCase):
setattr(mock_document, 'is_vote', True)
setattr(mock_document, 'is_consensus', False)
- for m_line, expected in list(test_values.items()):
+ for m_line, expected in test_values.items():
content = get_router_status_entry_v3({'m': m_line}, content = True)
entry = RouterStatusEntryV3(content, document = mock_document)
self.assertEqual(expected, entry.microdescriptor_hashes)
diff --git a/test/unit/exit_policy/policy.py b/test/unit/exit_policy/policy.py
index 3eef79b..d4eaa75 100644
--- a/test/unit/exit_policy/policy.py
+++ b/test/unit/exit_policy/policy.py
@@ -78,7 +78,7 @@ class TestExitPolicy(unittest.TestCase):
('reject 127.0.0.1:*', 'accept *:80', 'reject *:*'): True,
}
- for rules, expected_result in list(test_inputs.items()):
+ for rules, expected_result in test_inputs.items():
policy = ExitPolicy(*rules)
self.assertEqual(expected_result, policy.is_exiting_allowed())
@@ -190,7 +190,7 @@ class TestExitPolicy(unittest.TestCase):
'bar 80,443': False,
}
- for policy_arg, expect_success in list(test_inputs.items()):
+ for policy_arg, expect_success in test_inputs.items():
try:
policy = MicroExitPolicy(policy_arg)
@@ -225,10 +225,10 @@ class TestExitPolicy(unittest.TestCase):
'reject 1-1024': {1: False, 1024: False, 1025: True},
}
- for policy_arg, attr in list(test_inputs.items()):
+ for policy_arg, attr in test_inputs.items():
policy = MicroExitPolicy(policy_arg)
- for port, expected_value in list(attr.items()):
+ for port, expected_value in attr.items():
self.assertEqual(expected_value, policy.can_exit_to(port = port))
# address argument should be ignored
@@ -261,7 +261,7 @@ class TestExitPolicy(unittest.TestCase):
),
}
- for test_input, expected in list(test_inputs.items()):
+ for test_input, expected in test_inputs.items():
self.assertEqual(expected, get_config_policy(test_input, '12.34.56.78'))
test_inputs = (
diff --git a/test/unit/exit_policy/rule.py b/test/unit/exit_policy/rule.py
index 39b6de9..1661442 100644
--- a/test/unit/exit_policy/rule.py
+++ b/test/unit/exit_policy/rule.py
@@ -58,7 +58,7 @@ class TestExitPolicyRule(unittest.TestCase):
'accept [::]/128:*': 'accept [0000:0000:0000:0000:0000:0000:0000:0000]:*',
}
- for rule_arg, expected_str in list(test_inputs.items()):
+ for rule_arg, expected_str in test_inputs.items():
rule = ExitPolicyRule(rule_arg)
self.assertEqual(expected_str, str(rule))
@@ -83,7 +83,7 @@ class TestExitPolicyRule(unittest.TestCase):
'accept 192.168.0.1:1-65534': (False, False),
}
- for rule_arg, attr in list(test_inputs.items()):
+ for rule_arg, attr in test_inputs.items():
is_address_wildcard, is_port_wildcard = attr
rule = ExitPolicyRule(rule_arg)
@@ -128,7 +128,7 @@ class TestExitPolicyRule(unittest.TestCase):
'255.255.255.255/0': ('255.255.255.255', '0.0.0.0', 0),
}
- for rule_addr, attr in list(test_inputs.items()):
+ for rule_addr, attr in test_inputs.items():
address, mask, masked_bits = attr
rule = ExitPolicyRule('accept %s:*' % rule_addr)
@@ -167,7 +167,7 @@ class TestExitPolicyRule(unittest.TestCase):
'FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF', 128),
}
- for rule_addr, attr in list(test_inputs.items()):
+ for rule_addr, attr in test_inputs.items():
address, mask, masked_bits = attr
rule = ExitPolicyRule('accept %s:*' % rule_addr)
@@ -199,7 +199,7 @@ class TestExitPolicyRule(unittest.TestCase):
'80-443': (80, 443),
}
- for rule_port, attr in list(test_inputs.items()):
+ for rule_port, attr in test_inputs.items():
min_port, max_port = attr
rule = ExitPolicyRule('accept 127.0.0.1:%s' % rule_port)
@@ -246,11 +246,11 @@ class TestExitPolicyRule(unittest.TestCase):
},
}
- for rule_arg, matches in list(test_inputs.items()):
+ for rule_arg, matches in test_inputs.items():
rule = ExitPolicyRule(rule_arg)
rule._submask_wildcard = False
- for match_args, expected_result in list(matches.items()):
+ for match_args, expected_result in matches.items():
self.assertEqual(expected_result, rule.is_match(*match_args))
# port zero is special in that exit policies can include it, but it's not
@@ -282,10 +282,10 @@ class TestExitPolicyRule(unittest.TestCase):
},
}
- for rule_arg, matches in list(test_inputs.items()):
+ for rule_arg, matches in test_inputs.items():
rule = ExitPolicyRule(rule_arg)
- for match_args, expected_result in list(matches.items()):
+ for match_args, expected_result in matches.items():
self.assertEqual(expected_result, rule.is_match(*match_args))
def test_is_match_ipv6(self):
@@ -313,10 +313,10 @@ class TestExitPolicyRule(unittest.TestCase):
},
}
- for rule_arg, matches in list(test_inputs.items()):
+ for rule_arg, matches in test_inputs.items():
rule = ExitPolicyRule(rule_arg)
- for match_args, expected_result in list(matches.items()):
+ for match_args, expected_result in matches.items():
self.assertEqual(expected_result, rule.is_match(*match_args))
def test_is_match_port(self):
@@ -341,8 +341,8 @@ class TestExitPolicyRule(unittest.TestCase):
},
}
- for rule_arg, matches in list(test_inputs.items()):
+ for rule_arg, matches in test_inputs.items():
rule = ExitPolicyRule(rule_arg)
- for match_args, expected_result in list(matches.items()):
+ for match_args, expected_result in matches.items():
self.assertEqual(expected_result, rule.is_match(*match_args))
diff --git a/test/unit/tutorial.py b/test/unit/tutorial.py
index 98d2a1a..55a170b 100644
--- a/test/unit/tutorial.py
+++ b/test/unit/tutorial.py
@@ -227,7 +227,7 @@ class TestTutorial(unittest.TestCase):
bw_to_relay = get_bw_to_relay()
count = 1
- for bw_value in sorted(list(bw_to_relay.keys()), reverse = True):
+ for bw_value in sorted(bw_to_relay.keys(), reverse = True):
for nickname in bw_to_relay[bw_value]:
print('%i. %s (%s/s)' % (count, nickname, str_tools.size_label(bw_value, 2)))
count += 1
diff --git a/test/unit/tutorial_examples.py b/test/unit/tutorial_examples.py
index 99b4466..d1f8673 100644
--- a/test/unit/tutorial_examples.py
+++ b/test/unit/tutorial_examples.py
@@ -284,7 +284,7 @@ class TestTutorialExamples(unittest.TestCase):
downloader = remote.DescriptorDownloader(document_handler = DocumentHandler.DOCUMENT)
queries = {}
- for name, authority in list(remote.get_authorities().items()):
+ for name, authority in remote.get_authorities().items():
if authority.v3ident is None:
continue # authority doens't vote if it lacks a v3ident
@@ -293,14 +293,14 @@ class TestTutorialExamples(unittest.TestCase):
# Wait for the votes to finish being downloaded, this produces a dictionary of
# authority nicknames to their vote.
- votes = dict((name, query.run()[0]) for (name, query) in list(queries.items()))
+ votes = dict((name, query.run()[0]) for (name, query) in queries.items())
# Get a superset of all the fingerprints in all the votes.
all_fingerprints = set()
- for vote in list(votes.values()):
- all_fingerprints.update(list(vote.routers.keys()))
+ for vote in votes.values():
+ all_fingerprints.update(vote.routers.keys())
# Finally, compare moria1's votes to maatuska.
@@ -367,14 +367,14 @@ class TestTutorialExamples(unittest.TestCase):
queries = {}
downloader = remote.DescriptorDownloader()
- for authority in list(remote.get_authorities().values()):
+ for authority in remote.get_authorities().values():
if authority.is_bandwidth_authority:
queries[authority.nickname] = downloader.query(
'/tor/status-vote/current/authority',
endpoints = [(authority.address, authority.dir_port)],
)
- for authority_name, query in list(queries.items()):
+ for authority_name, query in queries.items():
try:
print("Getting %s's vote from %s:" % (authority_name, query.download_url))
@@ -448,7 +448,7 @@ class TestTutorialExamples(unittest.TestCase):
document_handler = DocumentHandler.DOCUMENT,
))
- for fingerprint, relay in list(consensus.routers.items()):
+ for fingerprint, relay in consensus.routers.items():
print("%s: %s" % (fingerprint, relay.nickname))
network_status = get_network_status_document_v3(routers = (get_router_status_entry_v3(),))
diff --git a/test/unit/util/connection.py b/test/unit/util/connection.py
index 710122b..582e747 100644
--- a/test/unit/util/connection.py
+++ b/test/unit/util/connection.py
@@ -403,7 +403,7 @@ class TestConnection(unittest.TestCase):
'1::1': '0001:0000:0000:0000:0000:0000:0000:0001',
}
- for test_arg, expected in list(test_values.items()):
+ for test_arg, expected in test_values.items():
self.assertEqual(expected, stem.util.connection.expand_ipv6_address(test_arg))
self.assertRaises(ValueError, stem.util.connection.expand_ipv6_address, '127.0.0.1')
@@ -462,7 +462,7 @@ class TestConnection(unittest.TestCase):
'2001:db8::ff00:42:8329': '00100000000000010000110110111000000000000000000000000000000000000000000000000000111111110000000000000000010000101000001100101001',
}
- for test_arg, expected in list(test_values.items()):
+ for test_arg, expected in test_values.items():
self.assertEqual(expected, stem.util.connection._get_address_binary(test_arg))
self.assertRaises(ValueError, stem.util.connection._get_address_binary, '')
diff --git a/test/unit/util/str_tools.py b/test/unit/util/str_tools.py
index 1805d56..922026c 100644
--- a/test/unit/util/str_tools.py
+++ b/test/unit/util/str_tools.py
@@ -143,7 +143,7 @@ class TestStrTools(unittest.TestCase):
datetime.datetime(2012, 11, 8, 16, 48, 41, 0),
}
- for arg, expected in list(test_inputs.items()):
+ for arg, expected in test_inputs.items():
self.assertEqual(expected, str_tools._parse_iso_timestamp(arg))
invalid_input = [
diff --git a/test/util.py b/test/util.py
index 314b5e7..714d949 100644
--- a/test/util.py
+++ b/test/util.py
@@ -141,7 +141,7 @@ def get_help_message():
help_msg = CONFIG['msg.help']
# gets the longest target length so we can show the entries in columns
- target_name_length = max(list(map(len, Target)))
+ target_name_length = max(map(len, Target))
description_format = '\n %%-%is - %%s' % target_name_length
for target in Target:
@@ -192,7 +192,7 @@ def get_torrc_entries(target):
for opt in config_csv.split(','):
opt = opt.strip()
- if opt in list(test.runner.Torrc.keys()):
+ if opt in test.runner.Torrc.keys():
torrc_opts.append(test.runner.Torrc[opt])
else:
raise ValueError("'%s' isn't a test.runner.Torrc enumeration" % opt)
1
0
commit e4d38f6a4f0a44152b49ec4e1378e57c62091cfc
Author: Damian Johnson <atagar(a)torproject.org>
Date: Sat Jan 3 14:43:40 2015 -0800
Revert changes to ordereddict.py
Our only reason for having ordereddict.py is python 2.6 compatibility (in
python 2.7 and 3.x OrderedDict is a builtin). As such no reason to make this
python 3.x compatible.
---
stem/util/ordereddict.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/stem/util/ordereddict.py b/stem/util/ordereddict.py
index f3f278a..07c7d4e 100644
--- a/stem/util/ordereddict.py
+++ b/stem/util/ordereddict.py
@@ -76,9 +76,9 @@ class OrderedDict(dict, DictMixin):
if not self:
raise KeyError('dictionary is empty')
if last:
- key = next(reversed(self))
+ key = reversed(self).next()
else:
- key = next(iter(self))
+ key = iter(self).next()
value = self.pop(key)
return key, value
@@ -107,7 +107,7 @@ class OrderedDict(dict, DictMixin):
def __repr__(self):
if not self:
return '%s()' % (self.__class__.__name__,)
- return '%s(%r)' % (self.__class__.__name__, list(self.items()))
+ return '%s(%r)' % (self.__class__.__name__, self.items())
def copy(self):
return self.__class__(self)
@@ -123,7 +123,7 @@ class OrderedDict(dict, DictMixin):
if isinstance(other, OrderedDict):
if len(self) != len(other):
return False
- for p, q in zip(list(self.items()), list(other.items())):
+ for p, q in zip(self.items(), other.items()):
if p != q:
return False
return True
1
0
[stem/master] Reader's targets weren't expanded to be an absolute path
by atagar@torproject.org 04 Jan '15
by atagar@torproject.org 04 Jan '15
04 Jan '15
commit c2308b5db19285ddf90d6c64d1bccbcd3c9184f3
Author: Damian Johnson <atagar(a)torproject.org>
Date: Sat Jan 3 14:36:17 2015 -0800
Reader's targets weren't expanded to be an absolute path
Not an issue with the python2/3 unification. Just an error I spotted while code
reviewing this: we didn't preserve the aboslute paths to self._targets, so that
line of code was a no-op.
---
stem/descriptor/reader.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/stem/descriptor/reader.py b/stem/descriptor/reader.py
index 0022d89..743771b 100644
--- a/stem/descriptor/reader.py
+++ b/stem/descriptor/reader.py
@@ -270,7 +270,7 @@ class DescriptorReader(object):
# expand any relative paths we got
- target = list(map(os.path.abspath, target))
+ self._targets = list(map(os.path.abspath, self._targets))
self._validate = validate
self._follow_links = follow_links
1
0
[translation/gettor_completed] Update translations for gettor_completed
by translation@torproject.org 03 Jan '15
by translation@torproject.org 03 Jan '15
03 Jan '15
commit 8313660df89a4dd37dbca5837eef01816e8d0c01
Author: Translation commit bot <translation(a)torproject.org>
Date: Sat Jan 3 21:15:08 2015 +0000
Update translations for gettor_completed
---
az/gettor.po | 503 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 503 insertions(+)
diff --git a/az/gettor.po b/az/gettor.po
new file mode 100644
index 0000000..4fc080b
--- /dev/null
+++ b/az/gettor.po
@@ -0,0 +1,503 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# E <ehuseynzade(a)gmail.com>, 2014-2015
+msgid ""
+msgstr ""
+"Project-Id-Version: The Tor Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-01-19 13:40+0100\n"
+"PO-Revision-Date: 2015-01-03 20:51+0000\n"
+"Last-Translator: E <ehuseynzade(a)gmail.com>\n"
+"Language-Team: Azerbaijani (http://www.transifex.com/projects/p/torproject/language/az/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: az\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/gettor/i18n.py:27
+msgid "Hello, This is the \"GetTor\" robot."
+msgstr "Salam, Bu \"TorƏldəEt\" robotudur."
+
+#: lib/gettor/i18n.py:29
+msgid "Thank you for your request."
+msgstr "Tələbin üçün minnətdarıq."
+
+#: lib/gettor/i18n.py:31
+msgid ""
+"Unfortunately, we won't answer you at this address. You should make\n"
+"an account with GMAIL.COM, YAHOO.COM or YAHOO.CN and send the mail from\n"
+"one of those."
+msgstr "Təəssüflər olsun ki, biz sənə bu ünvanda cavab verə bilməyəcəyik. Sən GMAIL.COM, \nYAHOO.COM ya da YAHOO.CN hesabı açmalı və onlardan biri vasitəsilə \nməktub göndər."
+
+#: lib/gettor/i18n.py:35
+msgid ""
+"We only process requests from email services that support \"DKIM\",\n"
+"which is an email feature that lets us verify that the address in the\n"
+"\"From\" line is actually the one who sent the mail."
+msgstr "Biz yalnız \"Haradan\" sətirində məktubun göndərildiyi şəxsin ünvanının \ndoğruluğunu müəyyənləşdirən \"DKIM\"-i dəstəkləyən email servislərindən \ngələn tələblər üzərində işləyirik."
+
+#: lib/gettor/i18n.py:39
+msgid ""
+"(We apologize if you didn't ask for this mail. Since your email is from\n"
+"a service that doesn't use DKIM, we're sending a short explanation,\n"
+"and then we'll ignore this email address for the next day or so.)"
+msgstr "(Bu məktubu istəməmisinizsə, üzr istəyirik. Sənin emailin DKIM dəstəkləməyən \nxidmətdən olduğu üçün biz sənə qısa izah göndəririk və daha sonra bu emaili \nnövbəti gün və ya daha çox müddət üçün gözdən itirəcəyik.)"
+
+#: lib/gettor/i18n.py:43 lib/gettor/i18n.py:135
+msgid ""
+"If you have any questions or it doesn't work, you can contact a\n"
+"human at this support email address: help(a)rt.torproject.org"
+msgstr "Hər hansı sualın olsa, ya da bu işləməsə, dəstək email ünvanındakı \ninsanla əlaqə saxlaya bilərsən: help(a)rt.torproject.org"
+
+#: lib/gettor/i18n.py:46
+msgid ""
+"I will mail you a Tor package, if you tell me which one you want.\n"
+"Please select one of the following package names:\n"
+"\n"
+" windows\n"
+" macos-i386\n"
+" macos-ppc\n"
+" linux-i386\n"
+" linux-x86_64\n"
+" obfs-windows\n"
+" obfs-macos-i386\n"
+" obfs-macos-x86_64\n"
+" obfs-linux-i386\n"
+" obfs-linux-x86_64\n"
+" source"
+msgstr "Sən mənə hansını istədiyini desən, sənə Tor paketi göndərərəm.\nLütfən, paket adlarından birini seç:\n\nwindows\nmacos-i386\nmacos-ppc\nlinux-i386\nlinux-x86_64\nobfs-windows\nobfs-macos-i386\nobfs-macos-x86_64\nobfs-linux-i386\nobfs-linux-x86_64\nsource"
+
+#: lib/gettor/i18n.py:61
+msgid ""
+"Please reply to this mail, and tell me a single package name anywhere \n"
+"in the body of your email."
+msgstr "Lütfən bu emailə cavab yaz və mətnin hər hansı yerində seçdiyin bir\npaketin adını qeyd et."
+
+#: lib/gettor/i18n.py:64
+msgid ""
+"OBTAINING LOCALIZED VERSIONS OF TOR\n"
+"==================================="
+msgstr "TOR-UN YERLİ VERSİYASININ ƏLDƏ EDİLMƏSİ\n==================================="
+
+#: lib/gettor/i18n.py:67
+msgid ""
+"To get a version of Tor translated into your language, specify the\n"
+"language you want in the address you send the mail to:\n"
+"\n"
+" gettor+fa(a)torproject.org"
+msgstr "Tor-un öz dilində olan versiyasını əldə etmək üçün məktub göndərdiyin \nünvana istədiyin dilin hansı olduğunu da qeyd et:\n\ngettor+fa@torproject.org"
+
+#: lib/gettor/i18n.py:72
+msgid ""
+"This example will give you the requested package in a localized\n"
+"version for Farsi (Persian). Check below for a list of supported language\n"
+"codes. "
+msgstr "Bu nümunə seçdiyin paketin yerli versiyasının Fars (Persian) paketini \ngörmək şansını verəcək. Dəstəklənən dil şifrələri üçün aşağıdakı siyahıya\nbax."
+
+#: lib/gettor/i18n.py:76
+msgid " List of supported locales:"
+msgstr "Dəstəklənən yerlilərin siyahısı:"
+
+#: lib/gettor/i18n.py:78
+msgid "Here is a list of all available languages:"
+msgstr "Mümkün dillərin siyahısı budur:"
+
+#: lib/gettor/i18n.py:80
+msgid ""
+" gettor+ar(a)torproject.org: Arabic\n"
+" gettor+de(a)torproject.org: German\n"
+" gettor+en(a)torproject.org: English\n"
+" gettor+es(a)torproject.org: Spanish\n"
+" gettor+fa(a)torproject.org: Farsi (Iran)\n"
+" gettor+fr(a)torproject.org: French\n"
+" gettor+it(a)torproject.org: Italian\n"
+" gettor+nl(a)torproject.org: Dutch\n"
+" gettor+pl(a)torproject.org: Polish\n"
+" gettor+ru(a)torproject.org: Russian\n"
+" gettor+zh(a)torproject.org: Chinese"
+msgstr "gettor+ar(a)torproject.org: Arabic\ngettor+de(a)torproject.org: German\ngettor+en(a)torproject.org: English\ngettor+es(a)torproject.org: Spanish\ngettor+fa(a)torproject.org: Farsi (Iran)\ngettor+fr(a)torproject.org: French\ngettor+it(a)torproject.org: Italian\ngettor+nl(a)torproject.org: Dutch\ngettor+pl(a)torproject.org: Polish\ngettor+ru(a)torproject.org: Russian\ngettor+zh(a)torproject.org: Chinese"
+
+#: lib/gettor/i18n.py:92
+msgid "If you select no language, you will receive the English version."
+msgstr "Dil seçimi etməsən, İngilis dili versiyasını əldə edəcəksən."
+
+#: lib/gettor/i18n.py:94
+msgid ""
+"SMALLER SIZED PACKAGES\n"
+"======================"
+msgstr "DAHA KİÇİK ÖLÇÜLÜ PAKETLƏR\n======================"
+
+#: lib/gettor/i18n.py:97
+msgid ""
+"If your bandwith is low or your provider doesn't allow you to\n"
+"receive large attachments in your email, GetTor can send you several\n"
+"small packages instead of one big one."
+msgstr "Sənin giriş icazən aşağıdırsa, ya da sənin provayderin böyük faylları \nemail vasitəsilə qəbul etmənə qadağa qoyursa, GetTor bir iri fayl əvəzinə \nsənə bir neçə kiçik paketlər də göndərə bilər."
+
+#: lib/gettor/i18n.py:101
+msgid ""
+"Simply include the keyword 'split' in a new line on its own (this part\n"
+"is important!) like so: \n"
+" \n"
+" windows\n"
+" split"
+msgstr "Sadəcə olaraq bu şəkildə 'split' açar sözünü yeni sətirə daxil et (bu \nhissə vacibdir!):\n\nwindows\nsplit"
+
+#: lib/gettor/i18n.py:107
+msgid ""
+"Sending this text in an email to GetTor will cause it to send you \n"
+"the Tor Browser Bundle in a number of 1,4MB attachments."
+msgstr "GetTor-a bu mətnin emaillə göndərilməsi sənə Tor Browser Bundle \ntərəfindən bir neçə 1,4MB həcmdə faylın göndərilməsi ilə nəticələnəcək."
+
+#: lib/gettor/i18n.py:110
+msgid ""
+"After having received all parts, you need to re-assemble them to \n"
+"one package again. This is done as follows:"
+msgstr "Bütün hissələri əldə etdikdən sonra sən onların hamısını yenidən \nbir paketdə birləşdirməlisən. Bu belə edilir:"
+
+#: lib/gettor/i18n.py:113
+msgid "1.) Save all received attachments into one folder on your disk."
+msgstr "1.) Bütün əlavələri yaddaş diskində bir qovluqda saxla."
+
+#: lib/gettor/i18n.py:115
+msgid ""
+"2.) Unzip all files ending in \".z\". If you saved all attachments to\n"
+"a fresh folder before, simply unzip all files in that folder. If you don't\n"
+"know how to unzip the .z files, please see the UNPACKING THE FILES section."
+msgstr "2.) \".z\" ilə bitən faylların hamısını \"unzip\" et. Faylların hamısını boş qovluqda \nsaxlamısansa, onları elə həmin qovluğa unzip et. Əgər .z əlavələrin necə unzip \nediləcəyini bilmirsənsə, FAYLLARIN PAKETİNİN AÇILMASI bölməsinə bax."
+
+#: lib/gettor/i18n.py:119
+msgid ""
+"3.) Verify all files as described in the mail you received with \n"
+"each package. (gpg --verify)"
+msgstr "3.) Hər paketlə birlikdə aldığın məktubda yazıldığı qaydada \nbütün faylları yoxla. (gpg --yoxla)"
+
+#: lib/gettor/i18n.py:122
+msgid ""
+"4.) Now unpack the multi-volume archive into one file by double-\n"
+"clicking the file ending in \"..split.part01.exe\". This should start the \n"
+"process automatically."
+msgstr "4.) İndi çox-həcmli arxivi \"..split.part01.exe\" faylını iki dəfə klikləməklə \npaketini aç. Bu prosesi avtomatik başlatmalıdır."
+
+#: lib/gettor/i18n.py:126
+msgid ""
+"5.) After unpacking is finished, you should find a newly created \n"
+"\".exe\" file in your destination folder. Simply doubleclick\n"
+"that and Tor Browser Bundle should start within a few seconds."
+msgstr "5.) Paketin açılması başa çatdıqdan sonra təyinat ünvünında yeni \n\".exe\" faylını tap. Onu iki dəfə kliklə və bir neçə saniyə ərzindən \nTor Browser Bundle açılacaqdır."
+
+#: lib/gettor/i18n.py:130
+msgid "6.) That's it. You're done. Thanks for using Tor and have fun!"
+msgstr "6.) Bu qədər. Sən bunu etdin. Tor istifadə etdiyin üçün minnətdarıq!"
+
+#: lib/gettor/i18n.py:132
+msgid ""
+"SUPPORT\n"
+"======="
+msgstr "DƏSTƏK\n======="
+
+#: lib/gettor/i18n.py:138
+msgid ""
+"Here's your requested software as a zip file. Please unzip the\n"
+"package and verify the signature."
+msgstr "Sənin tələb etdiyin proqram zip fayl kimi buradadır. Lütfən,\npaketi unzip et və imzanı yoxla."
+
+#: lib/gettor/i18n.py:141
+msgid ""
+"VERIFY SIGNATURE\n"
+"================\n"
+"If your computer has GnuPG installed, use the gpg commandline \n"
+"tool as follows after unpacking the zip file:\n"
+"\n"
+" gpg --verify tor-browser-1.3.24_en-US.exe.asc tor-browser-1.3.24_en-US.exe"
+msgstr "İMZANI YOXLA\n================\nƏgər sənin kompüterin GnuPG-i quraşdırıbsa, gpg commanline qurğusunu\nzip paketlərin açılmasından sonra istifadə et:\n\ngpg --verify tor-browser-1.3.24_en-US.exe.asc tor-browser-1.3.24_en-US.exe"
+
+#: lib/gettor/i18n.py:148
+msgid ""
+"The output should look somewhat like this:\n"
+"\n"
+" gpg: Good signature from 'Erinn Clark <...>'"
+msgstr "Son məhsul təqribən belə görunməlidir:\n\npgp: Erinn Clark tərəfindən yaxşı imza <...>'"
+
+#: lib/gettor/i18n.py:152
+msgid ""
+"If you're not familiar with commandline tools, try looking for\n"
+"a graphical user interface for GnuPG on this website:\n"
+"\n"
+" http://www.gnupg.org/related_software/frontends.html"
+msgstr "Commandline qurğusu ilə tanış deyilsənsə, GnuPG üçün qrafik\nistifadəçi interfeysinə bu veb səhifədə bax:\n\nhttp://www.gnupg.org/related_software/frontends.html"
+
+#: lib/gettor/i18n.py:157
+msgid ""
+"BLOCKED ACCESS / CENSORSHIP\n"
+"==========================="
+msgstr "KİLİDLİ GİRİŞ / SENZURA\n==========================="
+
+#: lib/gettor/i18n.py:160
+msgid ""
+"If your Internet connection blocks access to the Tor network, you\n"
+"may need a bridge relay. Bridge relays (or \"bridges\" for short)\n"
+"are Tor relays that aren't listed in the main directory. Since there\n"
+"is no complete public list of them, even if your ISP is filtering\n"
+"connections to all the known Tor relays, they probably won't be able\n"
+"to block all the bridges."
+msgstr "İnternet əlaqən Tor şəbəkəsinə girişi kilidləyirsə, sənin körpü keçidlərinə \nehtiyacın var. Körpü keçidləri (qısaca \"körpülər\") əsas kataloqda \ngöstərilməyən Tor keçidləridir. Onların hamısı ictimaiyyətə açıq olmadığı \nüçün, sənin İXT bütün tanınmış Tor keçidlərini filtləsə də, o bütün körpüləri \nkilidləyə bilməyəcək."
+
+#: lib/gettor/i18n.py:167
+msgid ""
+"You can acquire a bridge by sending an email that contains \"get bridges\"\n"
+"in the body of the email to the following email address:\n"
+"\n"
+" bridges(a)torproject.org"
+msgstr "Sən mətnində \"körpü əldə et\" yazılmış maillə aşağıdakı email ünvana məktub \ngöndərməklə körpü əldə edə bilərsən:\n\nbridges@torproject.org"
+
+#: lib/gettor/i18n.py:172
+msgid ""
+"It is also possible to fetch bridges with a web browser at the following\n"
+"url: https://bridges.torproject.org/"
+msgstr "Körpü əldə etmək üçün həmçinin bu linki də istifadə etmək mümkündür:\nhttps://bridges.torproject.org/"
+
+#: lib/gettor/i18n.py:175
+msgid ""
+"Another censorship circumvention tool you can request from GetTor is\n"
+"the Tor Obfsproxy Browser Bundle. Please read the package descriptions for\n"
+"which package you should request to receive this."
+msgstr "GetTor-dan senzuranı aldada biləcək bir başqa xahiş edə biləcəyin qurğu isə \nTor Obfsproxy Browser Bundle-dır. Lütfən, hansı paketlər üçün onu tələb edə\nbiləcəyini izahda oxu."
+
+#: lib/gettor/i18n.py:179
+msgid ""
+"IMPORTANT NOTE:\n"
+"Since this is part of a split-file request, you need to wait for\n"
+"all split files to be received by you before you can save them all\n"
+"into the same directory and unpack them by double-clicking the\n"
+"first file."
+msgstr "VACIB QEYD:\nBu split-fayl tələbi olduğu üçün sən onları eyni kataloqa saxlamazdan \nəvvəl bütün split faylları əldə edənə qədər gözləməli, daha sonra isə\nilk fayla iki dəfə klikləməklə onların paketi i açmalısan."
+
+#: lib/gettor/i18n.py:185
+msgid ""
+"Packages might arrive out of order! Please make sure you received\n"
+"all packages before you attempt to unpack them!"
+msgstr "Paket sıralamanın pozulması ilə də gələ bilər! Hamısının paketini \naçmazdan əvvəl bütün faylları əldə etdiyinə əmin ol!"
+
+#: lib/gettor/i18n.py:188
+#, python-format
+msgid ""
+"It was successfully understood. Your request is currently being processed.\n"
+"Your package (%s) should arrive within the next ten minutes."
+msgstr "Bu tam anlaşıldı. Sənin tələbin hazırda işlənilir. Sənin paketinin (%s)\non dəqiqə ərzində əldə edilməsi gözlənilir."
+
+#: lib/gettor/i18n.py:191
+msgid ""
+"If it doesn't arrive, the package might be too big for your mail provider.\n"
+"Try resending the mail from a GMAIL.COM, YAHOO.CN or YAHOO.COM account."
+msgstr "Paket gəlib çıxmasa, ola bilsin onun ölçüsü sənin email təqdimatçın üçün böyük olsun.\nMəktubu yenidən GMAIL.COM, YAHOO.CN və ya YAHOO.COM hesabından göndərməyə çalış."
+
+#: lib/gettor/i18n.py:194
+msgid ""
+"Unfortunately we are currently experiencing problems and we can't fulfill\n"
+"your request right now. Please be patient as we try to resolve this issue."
+msgstr "Təəssüflər olsun ki, hazırda biz problemlə üzləşmişik və sənin tələbini yerinə \nyetirə bilmirik. Lütfən biz bu məsələni həll edənə qədər səbrli ol."
+
+#: lib/gettor/i18n.py:197
+msgid ""
+"Unfortunately there is no split package available for the package you\n"
+"requested. Please send us another package name or request the same package \n"
+"again, but remove the 'split' keyword. In that case we'll send you the whole \n"
+"package. Make sure this is what you want."
+msgstr "Təəssüf ki, sənin tələb etdiyin paket üçün split-paket mövcud deyil.\nLütfən, bizə başqa paket adı göndər, ya da eyni paketin adını 'split' sözü \nçıxarılmaqla yenidən göndər. O halda biz sənə tam paketi göndərəcəyik. \nBunu etmək istədiyinə əmin ol."
+
+#: lib/gettor/i18n.py:202
+msgid ""
+"UNPACKING THE FILES\n"
+"==================="
+msgstr "FAYLLARIN PAKETİNİN AÇILMASI\n==================="
+
+#: lib/gettor/i18n.py:205
+msgid ""
+"The easiest way to unpack the files you received is to install 7-Zip,\n"
+"a free file compression/uncompression tool. If it isn't installed on\n"
+"your computer yet, you can download it here:\n"
+"\n"
+" http://www.7-zip.org/"
+msgstr "Əldə etdiyin paketin ən asan üsulla açılması üçün pulzuz \nsıxışdırma/genişləndirmə qurğusu olan 7-Zip-i yüklə. Bu hələ də sənin\nkompüterinə yüklənməyibsə, onu buradan tapa bilərsən:\n\nhttp://www.7-zip.org/"
+
+#: lib/gettor/i18n.py:211
+msgid ""
+"When 7-Zip is installed, you can open the .z archive you received from\n"
+"us by double-clicking on it."
+msgstr "7-Zip quraşdırıldıqda bizdən əldə etdiyin .z faylını iki dəfə klikləməklə\naça bilərsən."
+
+#: lib/gettor/i18n.py:214
+msgid ""
+"An alternative way to get the .z files extraced is to rename them to\n"
+".zip. For example, if you recevied a file called \"windows.z\", rename it to \n"
+"\"windows.zip\". You should then be able to extract the archive with common \n"
+"file archiver programs that probably are already installed on your computer."
+msgstr ".z faylların ixracını həyata keçirməyin alternativ yolu onların adını .zip-ə \ndəyişməkdir. Məsələn, əgər sən \"windows.z\" faylını əldə etmisənsə, onun adını\n\"windows.zip\" kimi dəyiş. Ondan sonra çox güman ki, artıq sənin kompüterində\nquraşdırılmış arxiv proqramları vasitəsilə onları ixrac edə bilərsən."
+
+#: lib/gettor/i18n.py:219
+msgid ""
+"Please reply to this mail, and tell me a single package name anywhere\n"
+"in your reply. Here's a short explanation of what these packages are:"
+msgstr "Lütfən, bu emailə cavab yaz və cavabının hər hansı hissəsində bir paketin \nadını yaz. Bu paketlərin nə olduğu haqqında qısaca burada baxa bilərsən:"
+
+#: lib/gettor/i18n.py:222
+msgid ""
+"windows:\n"
+"The Tor Browser Bundle package for Windows operating systems. If you're \n"
+"running some version of Windows, like Windows XP, Windows Vista or \n"
+"Windows 7, this is the package you should get."
+msgstr "windows:\nWindows əməliyyat sistemləri üçün The Tor Browser Bundle paketidir. Əgər sən \nWindows XP, Windows Vista və ya Windows 7 kimi hər hansı Windows versiyasını \nistifadə edirsənsə, sən bu paketi əldə etməlisən."
+
+#: lib/gettor/i18n.py:227
+msgid ""
+"macos-i386:\n"
+"The Tor Browser Bundle package for OS X, Intel CPU architecture. In \n"
+"general, newer Mac hardware will require you to use this package."
+msgstr "macos-i386:\nOS X, Intel CPU architecture üçün The Tor Browser Bundle paketidir. \nÜmumiyyətlə, ən son Mac qurğuları bu paketi tələb edəcəkdir."
+
+#: lib/gettor/i18n.py:231
+msgid ""
+"macos-ppc:\n"
+"This is an older installer (the \"Vidalia bundle\") for older Macs running\n"
+"OS X on PowerPC CPUs. Note that this package will be deprecated soon."
+msgstr "macos-ppc:\nBu OS X on PowerPC CPUs istifadə edən köhnə Mac üçün köhnə quraşdırmadır \n(the \"Vidalia bundle\"). Nəzərə al ki, bu paket tezliklə ləğv olacaq."
+
+#: lib/gettor/i18n.py:235
+msgid ""
+"linux-i386:\n"
+"The Tor Browser Bundle package for Linux, 32bit versions."
+msgstr "linux-i386:\nLinux, 32bit versiyası üçün The Tor Browser Bundle paketi."
+
+#: lib/gettor/i18n.py:238
+msgid ""
+"Note that this package is rather large and needs your email provider to \n"
+"allow for attachments of about 30MB in size."
+msgstr "Nəzərə al ki, bu paket nisbətdə daha genişdir və sənin email provayderinin \n30MB həcmini tələb edəcəkdir."
+
+#: lib/gettor/i18n.py:241
+msgid ""
+"linux-x86_64:\n"
+"The Tor Browser Bundle package for Linux, 64bit versions."
+msgstr "linux-x86_64:\nLinux, 64bit versiyası üçün The Tor Browser Bundle paketi."
+
+#: lib/gettor/i18n.py:244
+msgid ""
+"obfs-windows:\n"
+"The Tor Obfsproxy Browser Bundle for Windows operating systems. If you need\n"
+"strong censorship circumvention and you are running some version of the \n"
+"Windows, like Windows XP, Windows Vista or Windows 7, this is the package\n"
+"you should get."
+msgstr "obfs-windows:\nWindows əməliyyat sistemləri üçün The Tor Obfsproxy Browser Bundle. Əgər sən \nWindows XP, Windows Vista və ya Windows 7 kimi Windows versiyalarını istifadə \nedirsənsə və daha güclü senzura aldadıcıya ehtiyacın varsa, bu paket sənə görədir."
+
+#: lib/gettor/i18n.py:250
+msgid ""
+"obfs-macos-i386:\n"
+"The Tor Obfsproxy Browser Bundle package for OS X, 32bit Intel CPU \n"
+"architecture."
+msgstr "obfs-macos-i386:\nOS X, 32bit Intel CPU architecture üçün The Tor Obfsproxy Browser Bundle paketi."
+
+#: lib/gettor/i18n.py:254
+msgid ""
+"obfs-macos-x86_64:\n"
+"The Tor Obfsproxy Browser Bundle package for OS X, 64bit Intel CPU \n"
+"architecture."
+msgstr "obfs-macos-x86_64:\nOS X, 64bit Intel CPU architecture üçün The Tor Obfsproxy Browser Bundle paketi."
+
+#: lib/gettor/i18n.py:258
+msgid ""
+"obfs-linux-i386:\n"
+"The Tor Obfsproxy Browser Bundle package for Linux, 32bit Intel CPU \n"
+"architecture."
+msgstr "obfs-linux-i386:\nLinux, 32bit Intel CPU architecture üçün The Tor Obfsproxy Browser Bundle paketi."
+
+#: lib/gettor/i18n.py:262
+msgid ""
+"obfs-linux-x86_64:\n"
+"The Tor Obfsproxy Browser Bundle package for Linux, 64bit Intel CPU \n"
+"architecture."
+msgstr "obfs-linux-x86_64:\nLinux, 64bit Intel CPU architecture üçün The Tor Obfsproxy Browser \nBundle paketi."
+
+#: lib/gettor/i18n.py:266
+msgid ""
+"source:\n"
+"The Tor source code, for experts. Most users do not want this package."
+msgstr "source:\nEkspertlər üçün The Tor mənbə şifrəsi. İstifadəçilərin çoxu bu paketi istəmir."
+
+#: lib/gettor/i18n.py:269
+msgid ""
+"FREQUENTLY ASKED QUESTIONS\n"
+"=========================="
+msgstr "TEZ-TEZ VERİLƏN SUALLAR:\n=========================="
+
+#: lib/gettor/i18n.py:272
+msgid "What is Tor?"
+msgstr "Tor nədir?"
+
+#: lib/gettor/i18n.py:274
+msgid "The name \"Tor\" can refer to several different components."
+msgstr "\"Tor\" adı bir neçə müxtəlif komponentlərə tətbiq edilə bilər."
+
+#: lib/gettor/i18n.py:276
+msgid ""
+"The Tor software is a program you can run on your computer that helps \n"
+"keep you safe on the Internet. Tor protects you by bouncing your \n"
+"communications around a distributed network of relays run by volunteers \n"
+"all around the world: it prevents somebody watching your Internet connection \n"
+"from learning what sites you visit, and it prevents the sites you visit from \n"
+"learning your physical location. This set of volunteer relays is called the \n"
+"Tor network. You can read more about how Tor works here:\n"
+"\n"
+" https://www.torproject.org/about/overview.html.en"
+msgstr "Tor proqramı internetdə daha təhlükəsiz şəraitdə olmağını təmin edən, \nkompüterində saxlaya biləcəyin proqramdır. Tor dünyanın hər yerində mövcud \nolan könüllülərin keçidlərini istifadə edərək bağlantıların sıçrayışla əlaqələnməsi \nnəticəsində səni müdafiə edir: bu sənin internet bağlantılarını, ya da sənin hansı \nsaytları istifadə etdiyini izləmək istəyənləri, həmçinin daxil olduğun saytların sənin \nməkanını müəyyənləşdirməsinə mane olur. Bu könüllü küçidləri dəsti Tor şəbəkəsi\nadlanır. Tor-un necə işlədiyini daha ətraflı burada öyrənə bilərsən:\n\nhttps://www.torproject.org/about/overview.html.en"
+
+#: lib/gettor/i18n.py:286
+msgid "What is the Tor Browser Bundle?"
+msgstr "Tor Browser Bundle nədir?"
+
+#: lib/gettor/i18n.py:288
+msgid ""
+"The Browser Bundle (TBB) is the package we recommend to most users. \n"
+"The bundle comes with everything you need to safely browse the Internet.\n"
+"Just extract it and run."
+msgstr "The Browser Bundle (TBB) istifadəçilərin çoxuna məsləhət etdiyimiz paketdir.\nBu paket internetdə təhlükəsiz işləməyin üçün ehtiyacın olan bütün xüsusiyyətlərə malikdir.\nSadəcə ixrac et və işlət."
+
+#: lib/gettor/i18n.py:292
+msgid "What package should I request?"
+msgstr "Hansı paketi xahiş etməliyəm?"
+
+#: lib/gettor/i18n.py:294
+msgid ""
+"This depends on the operating system you use. For instance, if your\n"
+"operating system is Microsoft Windows, you should request \"windows\". Here\n"
+"is a short explanation of all packages to request and what operating \n"
+"systems there are suitable for:"
+msgstr "Bu sənin istifadə etdiyin əməliyyat sistemindən asılıdır. Məsələn, sənin \nəməliyyat sistemin Microsoft Windows-dursa, sən windows paketini sifariş verməlisən.\nBurada bütün paketlərin qısa izahı və onlara uyğun əməliyyat sistemləri\nhaqqında məlumat vardır:"
+
+#: lib/gettor/i18n.py:299
+msgid "How do I extract the file(s) you sent me?"
+msgstr "Sizin mənə göndərdiyiniz fayl(lar)ı necə ixrac etməliyəm?"
+
+#: lib/gettor/i18n.py:301
+msgid "QUESTION:"
+msgstr "SUAL:"
+
+#: lib/gettor/i18n.py:303
+msgid "ANSWER:"
+msgstr "CAVAB:"
+
+#: lib/gettor/i18n.py:305
+#, python-format
+msgid ""
+"Sorry, but the package you requested (%s) is too large for your \n"
+"provider to accept as an attachment. Try using another provider that allows \n"
+"for larger email attachments. Or try one of the following mirrors:\n"
+"\n"
+" https://www.oignon.net/dist/torbrowser/\n"
+" https://tor.beme-it.de/dist/torbrowser/\n"
+" https://www.torservers.net/mirrors/torproject.org/dist/torbrowser/"
+msgstr "Üzr istəyirik, xahiş etdiyin paket (%s) sənin provayderinə əlavələri\nqəbul etmək üçün çox böyükdür. Daha böyük email əlavələrinə icazə verən başqa\nprovayder istifadə etməyə çalış. Ya da bu gücgülərdən birini istifadə et:\n\nhttps://www.oignon.net/dist/torbrowser/\nhttps://tor.beme-it.de/dist…"
1
0
03 Jan '15
commit eceb516046884be8c869a38df936b9207ea1ee4b
Author: Translation commit bot <translation(a)torproject.org>
Date: Sat Jan 3 21:15:05 2015 +0000
Update translations for gettor
---
az/gettor.po | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/az/gettor.po b/az/gettor.po
index a286526..4fc080b 100644
--- a/az/gettor.po
+++ b/az/gettor.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-01-19 13:40+0100\n"
-"PO-Revision-Date: 2015-01-03 20:44+0000\n"
+"PO-Revision-Date: 2015-01-03 20:51+0000\n"
"Last-Translator: E <ehuseynzade(a)gmail.com>\n"
"Language-Team: Azerbaijani (http://www.transifex.com/projects/p/torproject/language/az/)\n"
"MIME-Version: 1.0\n"
@@ -500,4 +500,4 @@ msgid ""
" https://www.oignon.net/dist/torbrowser/\n"
" https://tor.beme-it.de/dist/torbrowser/\n"
" https://www.torservers.net/mirrors/torproject.org/dist/torbrowser/"
-msgstr ""
+msgstr "Üzr istəyirik, xahiş etdiyin paket (%s) sənin provayderinə əlavələri\nqəbul etmək üçün çox böyükdür. Daha böyük email əlavələrinə icazə verən başqa\nprovayder istifadə etməyə çalış. Ya da bu gücgülərdən birini istifadə et:\n\nhttps://www.oignon.net/dist/torbrowser/\nhttps://tor.beme-it.de/dist…"
1
0
03 Jan '15
commit 3ce20400ba4d9fe54317b0bce5f43310828bc683
Author: Translation commit bot <translation(a)torproject.org>
Date: Sat Jan 3 20:45:05 2015 +0000
Update translations for gettor
---
az/gettor.po | 50 +++++++++++++++++++++++++-------------------------
1 file changed, 25 insertions(+), 25 deletions(-)
diff --git a/az/gettor.po b/az/gettor.po
index 13130c2..a286526 100644
--- a/az/gettor.po
+++ b/az/gettor.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-01-19 13:40+0100\n"
-"PO-Revision-Date: 2015-01-03 20:14+0000\n"
+"PO-Revision-Date: 2015-01-03 20:44+0000\n"
"Last-Translator: E <ehuseynzade(a)gmail.com>\n"
"Language-Team: Azerbaijani (http://www.transifex.com/projects/p/torproject/language/az/)\n"
"MIME-Version: 1.0\n"
@@ -323,13 +323,13 @@ msgid ""
"your computer yet, you can download it here:\n"
"\n"
" http://www.7-zip.org/"
-msgstr ""
+msgstr "Əldə etdiyin paketin ən asan üsulla açılması üçün pulzuz \nsıxışdırma/genişləndirmə qurğusu olan 7-Zip-i yüklə. Bu hələ də sənin\nkompüterinə yüklənməyibsə, onu buradan tapa bilərsən:\n\nhttp://www.7-zip.org/"
#: lib/gettor/i18n.py:211
msgid ""
"When 7-Zip is installed, you can open the .z archive you received from\n"
"us by double-clicking on it."
-msgstr ""
+msgstr "7-Zip quraşdırıldıqda bizdən əldə etdiyin .z faylını iki dəfə klikləməklə\naça bilərsən."
#: lib/gettor/i18n.py:214
msgid ""
@@ -337,13 +337,13 @@ msgid ""
".zip. For example, if you recevied a file called \"windows.z\", rename it to \n"
"\"windows.zip\". You should then be able to extract the archive with common \n"
"file archiver programs that probably are already installed on your computer."
-msgstr ""
+msgstr ".z faylların ixracını həyata keçirməyin alternativ yolu onların adını .zip-ə \ndəyişməkdir. Məsələn, əgər sən \"windows.z\" faylını əldə etmisənsə, onun adını\n\"windows.zip\" kimi dəyiş. Ondan sonra çox güman ki, artıq sənin kompüterində\nquraşdırılmış arxiv proqramları vasitəsilə onları ixrac edə bilərsən."
#: lib/gettor/i18n.py:219
msgid ""
"Please reply to this mail, and tell me a single package name anywhere\n"
"in your reply. Here's a short explanation of what these packages are:"
-msgstr ""
+msgstr "Lütfən, bu emailə cavab yaz və cavabının hər hansı hissəsində bir paketin \nadını yaz. Bu paketlərin nə olduğu haqqında qısaca burada baxa bilərsən:"
#: lib/gettor/i18n.py:222
msgid ""
@@ -351,39 +351,39 @@ msgid ""
"The Tor Browser Bundle package for Windows operating systems. If you're \n"
"running some version of Windows, like Windows XP, Windows Vista or \n"
"Windows 7, this is the package you should get."
-msgstr ""
+msgstr "windows:\nWindows əməliyyat sistemləri üçün The Tor Browser Bundle paketidir. Əgər sən \nWindows XP, Windows Vista və ya Windows 7 kimi hər hansı Windows versiyasını \nistifadə edirsənsə, sən bu paketi əldə etməlisən."
#: lib/gettor/i18n.py:227
msgid ""
"macos-i386:\n"
"The Tor Browser Bundle package for OS X, Intel CPU architecture. In \n"
"general, newer Mac hardware will require you to use this package."
-msgstr ""
+msgstr "macos-i386:\nOS X, Intel CPU architecture üçün The Tor Browser Bundle paketidir. \nÜmumiyyətlə, ən son Mac qurğuları bu paketi tələb edəcəkdir."
#: lib/gettor/i18n.py:231
msgid ""
"macos-ppc:\n"
"This is an older installer (the \"Vidalia bundle\") for older Macs running\n"
"OS X on PowerPC CPUs. Note that this package will be deprecated soon."
-msgstr ""
+msgstr "macos-ppc:\nBu OS X on PowerPC CPUs istifadə edən köhnə Mac üçün köhnə quraşdırmadır \n(the \"Vidalia bundle\"). Nəzərə al ki, bu paket tezliklə ləğv olacaq."
#: lib/gettor/i18n.py:235
msgid ""
"linux-i386:\n"
"The Tor Browser Bundle package for Linux, 32bit versions."
-msgstr ""
+msgstr "linux-i386:\nLinux, 32bit versiyası üçün The Tor Browser Bundle paketi."
#: lib/gettor/i18n.py:238
msgid ""
"Note that this package is rather large and needs your email provider to \n"
"allow for attachments of about 30MB in size."
-msgstr ""
+msgstr "Nəzərə al ki, bu paket nisbətdə daha genişdir və sənin email provayderinin \n30MB həcmini tələb edəcəkdir."
#: lib/gettor/i18n.py:241
msgid ""
"linux-x86_64:\n"
"The Tor Browser Bundle package for Linux, 64bit versions."
-msgstr ""
+msgstr "linux-x86_64:\nLinux, 64bit versiyası üçün The Tor Browser Bundle paketi."
#: lib/gettor/i18n.py:244
msgid ""
@@ -392,7 +392,7 @@ msgid ""
"strong censorship circumvention and you are running some version of the \n"
"Windows, like Windows XP, Windows Vista or Windows 7, this is the package\n"
"you should get."
-msgstr ""
+msgstr "obfs-windows:\nWindows əməliyyat sistemləri üçün The Tor Obfsproxy Browser Bundle. Əgər sən \nWindows XP, Windows Vista və ya Windows 7 kimi Windows versiyalarını istifadə \nedirsənsə və daha güclü senzura aldadıcıya ehtiyacın varsa, bu paket sənə görədir."
#: lib/gettor/i18n.py:250
msgid ""
@@ -420,27 +420,27 @@ msgid ""
"obfs-linux-x86_64:\n"
"The Tor Obfsproxy Browser Bundle package for Linux, 64bit Intel CPU \n"
"architecture."
-msgstr ""
+msgstr "obfs-linux-x86_64:\nLinux, 64bit Intel CPU architecture üçün The Tor Obfsproxy Browser \nBundle paketi."
#: lib/gettor/i18n.py:266
msgid ""
"source:\n"
"The Tor source code, for experts. Most users do not want this package."
-msgstr ""
+msgstr "source:\nEkspertlər üçün The Tor mənbə şifrəsi. İstifadəçilərin çoxu bu paketi istəmir."
#: lib/gettor/i18n.py:269
msgid ""
"FREQUENTLY ASKED QUESTIONS\n"
"=========================="
-msgstr ""
+msgstr "TEZ-TEZ VERİLƏN SUALLAR:\n=========================="
#: lib/gettor/i18n.py:272
msgid "What is Tor?"
-msgstr ""
+msgstr "Tor nədir?"
#: lib/gettor/i18n.py:274
msgid "The name \"Tor\" can refer to several different components."
-msgstr ""
+msgstr "\"Tor\" adı bir neçə müxtəlif komponentlərə tətbiq edilə bilər."
#: lib/gettor/i18n.py:276
msgid ""
@@ -453,22 +453,22 @@ msgid ""
"Tor network. You can read more about how Tor works here:\n"
"\n"
" https://www.torproject.org/about/overview.html.en"
-msgstr ""
+msgstr "Tor proqramı internetdə daha təhlükəsiz şəraitdə olmağını təmin edən, \nkompüterində saxlaya biləcəyin proqramdır. Tor dünyanın hər yerində mövcud \nolan könüllülərin keçidlərini istifadə edərək bağlantıların sıçrayışla əlaqələnməsi \nnəticəsində səni müdafiə edir: bu sənin internet bağlantılarını, ya da sənin hansı \nsaytları istifadə etdiyini izləmək istəyənləri, həmçinin daxil olduğun saytların sənin \nməkanını müəyyənləşdirməsinə mane olur. Bu könüllü küçidləri dəsti Tor şəbəkəsi\nadlanır. Tor-un necə işlədiyini daha ətraflı burada öyrənə bilərsən:\n\nhttps://www.torproject.org/about/overview.html.en"
#: lib/gettor/i18n.py:286
msgid "What is the Tor Browser Bundle?"
-msgstr ""
+msgstr "Tor Browser Bundle nədir?"
#: lib/gettor/i18n.py:288
msgid ""
"The Browser Bundle (TBB) is the package we recommend to most users. \n"
"The bundle comes with everything you need to safely browse the Internet.\n"
"Just extract it and run."
-msgstr ""
+msgstr "The Browser Bundle (TBB) istifadəçilərin çoxuna məsləhət etdiyimiz paketdir.\nBu paket internetdə təhlükəsiz işləməyin üçün ehtiyacın olan bütün xüsusiyyətlərə malikdir.\nSadəcə ixrac et və işlət."
#: lib/gettor/i18n.py:292
msgid "What package should I request?"
-msgstr ""
+msgstr "Hansı paketi xahiş etməliyəm?"
#: lib/gettor/i18n.py:294
msgid ""
@@ -476,19 +476,19 @@ msgid ""
"operating system is Microsoft Windows, you should request \"windows\". Here\n"
"is a short explanation of all packages to request and what operating \n"
"systems there are suitable for:"
-msgstr ""
+msgstr "Bu sənin istifadə etdiyin əməliyyat sistemindən asılıdır. Məsələn, sənin \nəməliyyat sistemin Microsoft Windows-dursa, sən windows paketini sifariş verməlisən.\nBurada bütün paketlərin qısa izahı və onlara uyğun əməliyyat sistemləri\nhaqqında məlumat vardır:"
#: lib/gettor/i18n.py:299
msgid "How do I extract the file(s) you sent me?"
-msgstr ""
+msgstr "Sizin mənə göndərdiyiniz fayl(lar)ı necə ixrac etməliyəm?"
#: lib/gettor/i18n.py:301
msgid "QUESTION:"
-msgstr ""
+msgstr "SUAL:"
#: lib/gettor/i18n.py:303
msgid "ANSWER:"
-msgstr ""
+msgstr "CAVAB:"
#: lib/gettor/i18n.py:305
#, python-format
1
0
03 Jan '15
commit fbc2bdf1fc6811e9b1e6630c16593e8ff209f3ff
Author: Translation commit bot <translation(a)torproject.org>
Date: Sat Jan 3 20:15:05 2015 +0000
Update translations for gettor
---
az/gettor.po | 46 +++++++++++++++++++++++-----------------------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/az/gettor.po b/az/gettor.po
index ec311a9..13130c2 100644
--- a/az/gettor.po
+++ b/az/gettor.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-01-19 13:40+0100\n"
-"PO-Revision-Date: 2015-01-03 19:44+0000\n"
+"PO-Revision-Date: 2015-01-03 20:14+0000\n"
"Last-Translator: E <ehuseynzade(a)gmail.com>\n"
"Language-Team: Azerbaijani (http://www.transifex.com/projects/p/torproject/language/az/)\n"
"MIME-Version: 1.0\n"
@@ -188,23 +188,23 @@ msgid ""
"5.) After unpacking is finished, you should find a newly created \n"
"\".exe\" file in your destination folder. Simply doubleclick\n"
"that and Tor Browser Bundle should start within a few seconds."
-msgstr ""
+msgstr "5.) Paketin açılması başa çatdıqdan sonra təyinat ünvünında yeni \n\".exe\" faylını tap. Onu iki dəfə kliklə və bir neçə saniyə ərzindən \nTor Browser Bundle açılacaqdır."
#: lib/gettor/i18n.py:130
msgid "6.) That's it. You're done. Thanks for using Tor and have fun!"
-msgstr ""
+msgstr "6.) Bu qədər. Sən bunu etdin. Tor istifadə etdiyin üçün minnətdarıq!"
#: lib/gettor/i18n.py:132
msgid ""
"SUPPORT\n"
"======="
-msgstr ""
+msgstr "DƏSTƏK\n======="
#: lib/gettor/i18n.py:138
msgid ""
"Here's your requested software as a zip file. Please unzip the\n"
"package and verify the signature."
-msgstr ""
+msgstr "Sənin tələb etdiyin proqram zip fayl kimi buradadır. Lütfən,\npaketi unzip et və imzanı yoxla."
#: lib/gettor/i18n.py:141
msgid ""
@@ -214,14 +214,14 @@ msgid ""
"tool as follows after unpacking the zip file:\n"
"\n"
" gpg --verify tor-browser-1.3.24_en-US.exe.asc tor-browser-1.3.24_en-US.exe"
-msgstr ""
+msgstr "İMZANI YOXLA\n================\nƏgər sənin kompüterin GnuPG-i quraşdırıbsa, gpg commanline qurğusunu\nzip paketlərin açılmasından sonra istifadə et:\n\ngpg --verify tor-browser-1.3.24_en-US.exe.asc tor-browser-1.3.24_en-US.exe"
#: lib/gettor/i18n.py:148
msgid ""
"The output should look somewhat like this:\n"
"\n"
" gpg: Good signature from 'Erinn Clark <...>'"
-msgstr ""
+msgstr "Son məhsul təqribən belə görunməlidir:\n\npgp: Erinn Clark tərəfindən yaxşı imza <...>'"
#: lib/gettor/i18n.py:152
msgid ""
@@ -229,13 +229,13 @@ msgid ""
"a graphical user interface for GnuPG on this website:\n"
"\n"
" http://www.gnupg.org/related_software/frontends.html"
-msgstr ""
+msgstr "Commandline qurğusu ilə tanış deyilsənsə, GnuPG üçün qrafik\nistifadəçi interfeysinə bu veb səhifədə bax:\n\nhttp://www.gnupg.org/related_software/frontends.html"
#: lib/gettor/i18n.py:157
msgid ""
"BLOCKED ACCESS / CENSORSHIP\n"
"==========================="
-msgstr ""
+msgstr "KİLİDLİ GİRİŞ / SENZURA\n==========================="
#: lib/gettor/i18n.py:160
msgid ""
@@ -245,7 +245,7 @@ msgid ""
"is no complete public list of them, even if your ISP is filtering\n"
"connections to all the known Tor relays, they probably won't be able\n"
"to block all the bridges."
-msgstr ""
+msgstr "İnternet əlaqən Tor şəbəkəsinə girişi kilidləyirsə, sənin körpü keçidlərinə \nehtiyacın var. Körpü keçidləri (qısaca \"körpülər\") əsas kataloqda \ngöstərilməyən Tor keçidləridir. Onların hamısı ictimaiyyətə açıq olmadığı \nüçün, sənin İXT bütün tanınmış Tor keçidlərini filtləsə də, o bütün körpüləri \nkilidləyə bilməyəcək."
#: lib/gettor/i18n.py:167
msgid ""
@@ -253,20 +253,20 @@ msgid ""
"in the body of the email to the following email address:\n"
"\n"
" bridges(a)torproject.org"
-msgstr ""
+msgstr "Sən mətnində \"körpü əldə et\" yazılmış maillə aşağıdakı email ünvana məktub \ngöndərməklə körpü əldə edə bilərsən:\n\nbridges@torproject.org"
#: lib/gettor/i18n.py:172
msgid ""
"It is also possible to fetch bridges with a web browser at the following\n"
"url: https://bridges.torproject.org/"
-msgstr ""
+msgstr "Körpü əldə etmək üçün həmçinin bu linki də istifadə etmək mümkündür:\nhttps://bridges.torproject.org/"
#: lib/gettor/i18n.py:175
msgid ""
"Another censorship circumvention tool you can request from GetTor is\n"
"the Tor Obfsproxy Browser Bundle. Please read the package descriptions for\n"
"which package you should request to receive this."
-msgstr ""
+msgstr "GetTor-dan senzuranı aldada biləcək bir başqa xahiş edə biləcəyin qurğu isə \nTor Obfsproxy Browser Bundle-dır. Lütfən, hansı paketlər üçün onu tələb edə\nbiləcəyini izahda oxu."
#: lib/gettor/i18n.py:179
msgid ""
@@ -275,32 +275,32 @@ msgid ""
"all split files to be received by you before you can save them all\n"
"into the same directory and unpack them by double-clicking the\n"
"first file."
-msgstr ""
+msgstr "VACIB QEYD:\nBu split-fayl tələbi olduğu üçün sən onları eyni kataloqa saxlamazdan \nəvvəl bütün split faylları əldə edənə qədər gözləməli, daha sonra isə\nilk fayla iki dəfə klikləməklə onların paketi i açmalısan."
#: lib/gettor/i18n.py:185
msgid ""
"Packages might arrive out of order! Please make sure you received\n"
"all packages before you attempt to unpack them!"
-msgstr ""
+msgstr "Paket sıralamanın pozulması ilə də gələ bilər! Hamısının paketini \naçmazdan əvvəl bütün faylları əldə etdiyinə əmin ol!"
#: lib/gettor/i18n.py:188
#, python-format
msgid ""
"It was successfully understood. Your request is currently being processed.\n"
"Your package (%s) should arrive within the next ten minutes."
-msgstr ""
+msgstr "Bu tam anlaşıldı. Sənin tələbin hazırda işlənilir. Sənin paketinin (%s)\non dəqiqə ərzində əldə edilməsi gözlənilir."
#: lib/gettor/i18n.py:191
msgid ""
"If it doesn't arrive, the package might be too big for your mail provider.\n"
"Try resending the mail from a GMAIL.COM, YAHOO.CN or YAHOO.COM account."
-msgstr ""
+msgstr "Paket gəlib çıxmasa, ola bilsin onun ölçüsü sənin email təqdimatçın üçün böyük olsun.\nMəktubu yenidən GMAIL.COM, YAHOO.CN və ya YAHOO.COM hesabından göndərməyə çalış."
#: lib/gettor/i18n.py:194
msgid ""
"Unfortunately we are currently experiencing problems and we can't fulfill\n"
"your request right now. Please be patient as we try to resolve this issue."
-msgstr ""
+msgstr "Təəssüflər olsun ki, hazırda biz problemlə üzləşmişik və sənin tələbini yerinə \nyetirə bilmirik. Lütfən biz bu məsələni həll edənə qədər səbrli ol."
#: lib/gettor/i18n.py:197
msgid ""
@@ -308,13 +308,13 @@ msgid ""
"requested. Please send us another package name or request the same package \n"
"again, but remove the 'split' keyword. In that case we'll send you the whole \n"
"package. Make sure this is what you want."
-msgstr ""
+msgstr "Təəssüf ki, sənin tələb etdiyin paket üçün split-paket mövcud deyil.\nLütfən, bizə başqa paket adı göndər, ya da eyni paketin adını 'split' sözü \nçıxarılmaqla yenidən göndər. O halda biz sənə tam paketi göndərəcəyik. \nBunu etmək istədiyinə əmin ol."
#: lib/gettor/i18n.py:202
msgid ""
"UNPACKING THE FILES\n"
"==================="
-msgstr ""
+msgstr "FAYLLARIN PAKETİNİN AÇILMASI\n==================="
#: lib/gettor/i18n.py:205
msgid ""
@@ -399,21 +399,21 @@ msgid ""
"obfs-macos-i386:\n"
"The Tor Obfsproxy Browser Bundle package for OS X, 32bit Intel CPU \n"
"architecture."
-msgstr ""
+msgstr "obfs-macos-i386:\nOS X, 32bit Intel CPU architecture üçün The Tor Obfsproxy Browser Bundle paketi."
#: lib/gettor/i18n.py:254
msgid ""
"obfs-macos-x86_64:\n"
"The Tor Obfsproxy Browser Bundle package for OS X, 64bit Intel CPU \n"
"architecture."
-msgstr ""
+msgstr "obfs-macos-x86_64:\nOS X, 64bit Intel CPU architecture üçün The Tor Obfsproxy Browser Bundle paketi."
#: lib/gettor/i18n.py:258
msgid ""
"obfs-linux-i386:\n"
"The Tor Obfsproxy Browser Bundle package for Linux, 32bit Intel CPU \n"
"architecture."
-msgstr ""
+msgstr "obfs-linux-i386:\nLinux, 32bit Intel CPU architecture üçün The Tor Obfsproxy Browser Bundle paketi."
#: lib/gettor/i18n.py:262
msgid ""
1
0
03 Jan '15
commit 0bc706647e578e011a72ef868b1b01a7ef082956
Author: Translation commit bot <translation(a)torproject.org>
Date: Sat Jan 3 19:45:05 2015 +0000
Update translations for gettor
---
az/gettor.po | 46 +++++++++++++++++++++++-----------------------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/az/gettor.po b/az/gettor.po
index d02dad0..ec311a9 100644
--- a/az/gettor.po
+++ b/az/gettor.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# E <ehuseynzade(a)gmail.com>, 2014
+# E <ehuseynzade(a)gmail.com>, 2014-2015
msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-01-19 13:40+0100\n"
-"PO-Revision-Date: 2014-12-30 18:00+0000\n"
+"PO-Revision-Date: 2015-01-03 19:44+0000\n"
"Last-Translator: E <ehuseynzade(a)gmail.com>\n"
"Language-Team: Azerbaijani (http://www.transifex.com/projects/p/torproject/language/az/)\n"
"MIME-Version: 1.0\n"
@@ -38,20 +38,20 @@ msgid ""
"We only process requests from email services that support \"DKIM\",\n"
"which is an email feature that lets us verify that the address in the\n"
"\"From\" line is actually the one who sent the mail."
-msgstr ""
+msgstr "Biz yalnız \"Haradan\" sətirində məktubun göndərildiyi şəxsin ünvanının \ndoğruluğunu müəyyənləşdirən \"DKIM\"-i dəstəkləyən email servislərindən \ngələn tələblər üzərində işləyirik."
#: lib/gettor/i18n.py:39
msgid ""
"(We apologize if you didn't ask for this mail. Since your email is from\n"
"a service that doesn't use DKIM, we're sending a short explanation,\n"
"and then we'll ignore this email address for the next day or so.)"
-msgstr ""
+msgstr "(Bu məktubu istəməmisinizsə, üzr istəyirik. Sənin emailin DKIM dəstəkləməyən \nxidmətdən olduğu üçün biz sənə qısa izah göndəririk və daha sonra bu emaili \nnövbəti gün və ya daha çox müddət üçün gözdən itirəcəyik.)"
#: lib/gettor/i18n.py:43 lib/gettor/i18n.py:135
msgid ""
"If you have any questions or it doesn't work, you can contact a\n"
"human at this support email address: help(a)rt.torproject.org"
-msgstr ""
+msgstr "Hər hansı sualın olsa, ya da bu işləməsə, dəstək email ünvanındakı \ninsanla əlaqə saxlaya bilərsən: help(a)rt.torproject.org"
#: lib/gettor/i18n.py:46
msgid ""
@@ -69,19 +69,19 @@ msgid ""
" obfs-linux-i386\n"
" obfs-linux-x86_64\n"
" source"
-msgstr ""
+msgstr "Sən mənə hansını istədiyini desən, sənə Tor paketi göndərərəm.\nLütfən, paket adlarından birini seç:\n\nwindows\nmacos-i386\nmacos-ppc\nlinux-i386\nlinux-x86_64\nobfs-windows\nobfs-macos-i386\nobfs-macos-x86_64\nobfs-linux-i386\nobfs-linux-x86_64\nsource"
#: lib/gettor/i18n.py:61
msgid ""
"Please reply to this mail, and tell me a single package name anywhere \n"
"in the body of your email."
-msgstr ""
+msgstr "Lütfən bu emailə cavab yaz və mətnin hər hansı yerində seçdiyin bir\npaketin adını qeyd et."
#: lib/gettor/i18n.py:64
msgid ""
"OBTAINING LOCALIZED VERSIONS OF TOR\n"
"==================================="
-msgstr ""
+msgstr "TOR-UN YERLİ VERSİYASININ ƏLDƏ EDİLMƏSİ\n==================================="
#: lib/gettor/i18n.py:67
msgid ""
@@ -89,22 +89,22 @@ msgid ""
"language you want in the address you send the mail to:\n"
"\n"
" gettor+fa(a)torproject.org"
-msgstr ""
+msgstr "Tor-un öz dilində olan versiyasını əldə etmək üçün məktub göndərdiyin \nünvana istədiyin dilin hansı olduğunu da qeyd et:\n\ngettor+fa@torproject.org"
#: lib/gettor/i18n.py:72
msgid ""
"This example will give you the requested package in a localized\n"
"version for Farsi (Persian). Check below for a list of supported language\n"
"codes. "
-msgstr ""
+msgstr "Bu nümunə seçdiyin paketin yerli versiyasının Fars (Persian) paketini \ngörmək şansını verəcək. Dəstəklənən dil şifrələri üçün aşağıdakı siyahıya\nbax."
#: lib/gettor/i18n.py:76
msgid " List of supported locales:"
-msgstr ""
+msgstr "Dəstəklənən yerlilərin siyahısı:"
#: lib/gettor/i18n.py:78
msgid "Here is a list of all available languages:"
-msgstr ""
+msgstr "Mümkün dillərin siyahısı budur:"
#: lib/gettor/i18n.py:80
msgid ""
@@ -119,24 +119,24 @@ msgid ""
" gettor+pl(a)torproject.org: Polish\n"
" gettor+ru(a)torproject.org: Russian\n"
" gettor+zh(a)torproject.org: Chinese"
-msgstr ""
+msgstr "gettor+ar(a)torproject.org: Arabic\ngettor+de(a)torproject.org: German\ngettor+en(a)torproject.org: English\ngettor+es(a)torproject.org: Spanish\ngettor+fa(a)torproject.org: Farsi (Iran)\ngettor+fr(a)torproject.org: French\ngettor+it(a)torproject.org: Italian\ngettor+nl(a)torproject.org: Dutch\ngettor+pl(a)torproject.org: Polish\ngettor+ru(a)torproject.org: Russian\ngettor+zh(a)torproject.org: Chinese"
#: lib/gettor/i18n.py:92
msgid "If you select no language, you will receive the English version."
-msgstr ""
+msgstr "Dil seçimi etməsən, İngilis dili versiyasını əldə edəcəksən."
#: lib/gettor/i18n.py:94
msgid ""
"SMALLER SIZED PACKAGES\n"
"======================"
-msgstr ""
+msgstr "DAHA KİÇİK ÖLÇÜLÜ PAKETLƏR\n======================"
#: lib/gettor/i18n.py:97
msgid ""
"If your bandwith is low or your provider doesn't allow you to\n"
"receive large attachments in your email, GetTor can send you several\n"
"small packages instead of one big one."
-msgstr ""
+msgstr "Sənin giriş icazən aşağıdırsa, ya da sənin provayderin böyük faylları \nemail vasitəsilə qəbul etmənə qadağa qoyursa, GetTor bir iri fayl əvəzinə \nsənə bir neçə kiçik paketlər də göndərə bilər."
#: lib/gettor/i18n.py:101
msgid ""
@@ -145,43 +145,43 @@ msgid ""
" \n"
" windows\n"
" split"
-msgstr ""
+msgstr "Sadəcə olaraq bu şəkildə 'split' açar sözünü yeni sətirə daxil et (bu \nhissə vacibdir!):\n\nwindows\nsplit"
#: lib/gettor/i18n.py:107
msgid ""
"Sending this text in an email to GetTor will cause it to send you \n"
"the Tor Browser Bundle in a number of 1,4MB attachments."
-msgstr ""
+msgstr "GetTor-a bu mətnin emaillə göndərilməsi sənə Tor Browser Bundle \ntərəfindən bir neçə 1,4MB həcmdə faylın göndərilməsi ilə nəticələnəcək."
#: lib/gettor/i18n.py:110
msgid ""
"After having received all parts, you need to re-assemble them to \n"
"one package again. This is done as follows:"
-msgstr ""
+msgstr "Bütün hissələri əldə etdikdən sonra sən onların hamısını yenidən \nbir paketdə birləşdirməlisən. Bu belə edilir:"
#: lib/gettor/i18n.py:113
msgid "1.) Save all received attachments into one folder on your disk."
-msgstr ""
+msgstr "1.) Bütün əlavələri yaddaş diskində bir qovluqda saxla."
#: lib/gettor/i18n.py:115
msgid ""
"2.) Unzip all files ending in \".z\". If you saved all attachments to\n"
"a fresh folder before, simply unzip all files in that folder. If you don't\n"
"know how to unzip the .z files, please see the UNPACKING THE FILES section."
-msgstr ""
+msgstr "2.) \".z\" ilə bitən faylların hamısını \"unzip\" et. Faylların hamısını boş qovluqda \nsaxlamısansa, onları elə həmin qovluğa unzip et. Əgər .z əlavələrin necə unzip \nediləcəyini bilmirsənsə, FAYLLARIN PAKETİNİN AÇILMASI bölməsinə bax."
#: lib/gettor/i18n.py:119
msgid ""
"3.) Verify all files as described in the mail you received with \n"
"each package. (gpg --verify)"
-msgstr ""
+msgstr "3.) Hər paketlə birlikdə aldığın məktubda yazıldığı qaydada \nbütün faylları yoxla. (gpg --yoxla)"
#: lib/gettor/i18n.py:122
msgid ""
"4.) Now unpack the multi-volume archive into one file by double-\n"
"clicking the file ending in \"..split.part01.exe\". This should start the \n"
"process automatically."
-msgstr ""
+msgstr "4.) İndi çox-həcmli arxivi \"..split.part01.exe\" faylını iki dəfə klikləməklə \npaketini aç. Bu prosesi avtomatik başlatmalıdır."
#: lib/gettor/i18n.py:126
msgid ""
1
0
[translation/tor-launcher-properties_completed] Update translations for tor-launcher-properties_completed
by translation@torproject.org 03 Jan '15
by translation@torproject.org 03 Jan '15
03 Jan '15
commit c1f816c1c7a6d4135b65cb6819f16cfc4bbcb5c4
Author: Translation commit bot <translation(a)torproject.org>
Date: Sat Jan 3 19:15:38 2015 +0000
Update translations for tor-launcher-properties_completed
---
az/torlauncher.properties | 61 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/az/torlauncher.properties b/az/torlauncher.properties
new file mode 100644
index 0000000..55df92f
--- /dev/null
+++ b/az/torlauncher.properties
@@ -0,0 +1,61 @@
+### Copyright (c) 2014, The Tor Project, Inc.
+### See LICENSE for licensing information.
+
+torlauncher.error_title=Tor İşlədici
+
+torlauncher.tor_exited=Tor gözlənilmədən dayandı. Bu Tor-un özündəki problemlə, sistemindəki başqa proqramla və ya avadanlıqdakı xətayla bağlı ola bilər. Tor-u yenidən başlatmadığın vaxt ərzində Tor Browser heç bir sayta daxil ola bilməyəcək. Bu problem olduğu kimi qalarsa, öz Tor Girişinin üzünü dəstək komandasına göndər.
+torlauncher.tor_exited2=Tor-un yenidən başladılması sənin brauzerlərinə təsir etməyəcək.
+torlauncher.tor_controlconn_failed=Tor yoxlama portu ilə bağlantı yarada bilmədi.
+torlauncher.tor_failed_to_start=Tor başlaya bilmədi.
+torlauncher.tor_control_failed=Tor-a nəzarət alınmadı.
+torlauncher.tor_bootstrap_failed=Tor şəbəkə əlaqəsini Tor quraşdıra bilmədi.
+torlauncher.tor_bootstrap_failed_details=%1$S xətası (%2$S).
+
+torlauncher.unable_to_start_tor=Tor başlaya bilmir.\n\n%S
+torlauncher.tor_missing=İcra edilə bilən Tor çatışmır.
+torlauncher.torrc_missing=Torrc faylı çatışmır.
+torlauncher.datadir_missing=Tor məlumat kataloqu mövcud deyil.
+torlauncher.password_hash_missing=Qarışıd şifrə əldə edə bilmədi.
+
+torlauncher.failed_to_get_settings=Tor parametrlərinin bərpası mümkün olmadı.\n\n%S
+torlauncher.failed_to_save_settings=Tor parametrlərini saxlamaq mümkün olmadı.\n\n%S
+torlauncher.ensure_tor_is_running=Tor-un işlədiyindən əmin ol.
+
+torlauncher.error_proxy_addr_missing=Tor internetə daxil olmaq üçün proksi istifadə etsin deyə sən hər ikisini - IP ünvan və ya host adını və port nömrəsini qeyd etməlisən.
+torlauncher.error_proxy_type_missing=Sən proksi növünü seçməlisən.
+torlauncher.error_bridges_missing=Sən bir və ya daha çox körpü seçməlisən.
+torlauncher.error_default_bridges_type_missing=Təqdim edilmiş körpülər üçün nəqliyyat növünü seçməlisən.
+torlauncher.error_bridge_bad_default_type=%S növ nəqliyyata sahib olan təqdim edilmiş körpü yoxdur. Lütfən, parametrlərini quraşdır.
+
+torlauncher.recommended_bridge=(məsləhət edilən)
+
+torlauncher.connect=Qoşul
+torlauncher.restart_tor=Tor`u yenidən başlat
+torlauncher.quit=Bitir
+torlauncher.quit_win=Çıx
+torlauncher.done=Oldu
+
+torlauncher.forAssistance=Dəstək üçün %S ilə əlaqə saxla
+
+torlauncher.copiedNLogMessages=Köçürülmə tamamlandı. %S Tor giriş mesajları mətn dəyişdiricisi və ya email mesajına daxil edilməyə hazırdır.
+
+torlauncher.bootstrapStatus.conn_dir=Keçid kataloqu ilə əlaqə
+torlauncher.bootstrapStatus.handshake_dir=Şifrələnmiş kataloq əlaqəsinin yaradılması
+torlauncher.bootstrapStatus.requesting_status=Şəbəkə statusunun bərpası
+torlauncher.bootstrapStatus.loading_status=Şəbəkə statusunun yüklənməsi
+torlauncher.bootstrapStatus.loading_keys=Səlahiyyət sertifikatlarının yüklənməsi
+torlauncher.bootstrapStatus.requesting_descriptors=Keçid məlumatının tələb edilməsi
+torlauncher.bootstrapStatus.loading_descriptors=Keçid məlumatının yüklənməsi
+torlauncher.bootstrapStatus.conn_or=Tor şəbəkəsinə qoşulur
+torlauncher.bootstrapStatus.handshake_or=Tor dövrəsinin yaradılması
+torlauncher.bootstrapStatus.done=Tor şəbəkəsi ilə əlaqə!
+
+torlauncher.bootstrapWarning.done=oldu
+torlauncher.bootstrapWarning.connectrefused=əlaqə rədd edildi
+torlauncher.bootstrapWarning.misc=qarışıq
+torlauncher.bootstrapWarning.resourcelimit=qeyri-kafi mənbə
+torlauncher.bootstrapWarning.identity=müəyyənəşdirmə uyğunsuzluğu
+torlauncher.bootstrapWarning.timeout=əlaqə vaxtının bitməsi
+torlauncher.bootstrapWarning.noroute=host üçün istiqamət yoxdur
+torlauncher.bootstrapWarning.ioerror=oxuma/yazma xətası
+torlauncher.bootstrapWarning.pt_missing=çatışmayan pluggable transport
1
0
[translation/tor-launcher-properties] Update translations for tor-launcher-properties
by translation@torproject.org 03 Jan '15
by translation@torproject.org 03 Jan '15
03 Jan '15
commit 6fb165db137d875b1f27094af10812db207084b5
Author: Translation commit bot <translation(a)torproject.org>
Date: Sat Jan 3 19:15:34 2015 +0000
Update translations for tor-launcher-properties
---
az/torlauncher.properties | 98 ++++++++++++++++++++++-----------------------
1 file changed, 49 insertions(+), 49 deletions(-)
diff --git a/az/torlauncher.properties b/az/torlauncher.properties
index 50c98ed..55df92f 100644
--- a/az/torlauncher.properties
+++ b/az/torlauncher.properties
@@ -1,61 +1,61 @@
### Copyright (c) 2014, The Tor Project, Inc.
### See LICENSE for licensing information.
-torlauncher.error_title=Tor Launcher
-
-torlauncher.tor_exited=Tor unexpectedly exited. This might be due to a bug in Tor itself, another program on your system, or faulty hardware. Until you restart Tor, the Tor Browser will not able to reach any websites. If the problem persists, please send a copy of your Tor Log to the support team.
-torlauncher.tor_exited2=Restarting Tor will not close your browser tabs.
-torlauncher.tor_controlconn_failed=Could not connect to Tor control port.
-torlauncher.tor_failed_to_start=Tor failed to start.
-torlauncher.tor_control_failed=Failed to take control of Tor.
-torlauncher.tor_bootstrap_failed=Tor failed to establish a Tor network connection.
-torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S).
-
-torlauncher.unable_to_start_tor=Unable to start Tor.\n\n%S
-torlauncher.tor_missing=The Tor executable is missing.
-torlauncher.torrc_missing=The torrc file is missing.
-torlauncher.datadir_missing=The Tor data directory does not exist.
-torlauncher.password_hash_missing=Failed to get hashed password.
-
-torlauncher.failed_to_get_settings=Unable to retrieve Tor settings.\n\n%S
-torlauncher.failed_to_save_settings=Unable to save Tor settings.\n\n%S
-torlauncher.ensure_tor_is_running=Please ensure that Tor is running.
-
-torlauncher.error_proxy_addr_missing=You must specify both an IP address or hostname and a port number to configure Tor to use a proxy to access the Internet.
-torlauncher.error_proxy_type_missing=You must select the proxy type.
-torlauncher.error_bridges_missing=You must specify one or more bridges.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
-
-torlauncher.recommended_bridge=(recommended)
+torlauncher.error_title=Tor İşlədici
+
+torlauncher.tor_exited=Tor gözlənilmədən dayandı. Bu Tor-un özündəki problemlə, sistemindəki başqa proqramla və ya avadanlıqdakı xətayla bağlı ola bilər. Tor-u yenidən başlatmadığın vaxt ərzində Tor Browser heç bir sayta daxil ola bilməyəcək. Bu problem olduğu kimi qalarsa, öz Tor Girişinin üzünü dəstək komandasına göndər.
+torlauncher.tor_exited2=Tor-un yenidən başladılması sənin brauzerlərinə təsir etməyəcək.
+torlauncher.tor_controlconn_failed=Tor yoxlama portu ilə bağlantı yarada bilmədi.
+torlauncher.tor_failed_to_start=Tor başlaya bilmədi.
+torlauncher.tor_control_failed=Tor-a nəzarət alınmadı.
+torlauncher.tor_bootstrap_failed=Tor şəbəkə əlaqəsini Tor quraşdıra bilmədi.
+torlauncher.tor_bootstrap_failed_details=%1$S xətası (%2$S).
+
+torlauncher.unable_to_start_tor=Tor başlaya bilmir.\n\n%S
+torlauncher.tor_missing=İcra edilə bilən Tor çatışmır.
+torlauncher.torrc_missing=Torrc faylı çatışmır.
+torlauncher.datadir_missing=Tor məlumat kataloqu mövcud deyil.
+torlauncher.password_hash_missing=Qarışıd şifrə əldə edə bilmədi.
+
+torlauncher.failed_to_get_settings=Tor parametrlərinin bərpası mümkün olmadı.\n\n%S
+torlauncher.failed_to_save_settings=Tor parametrlərini saxlamaq mümkün olmadı.\n\n%S
+torlauncher.ensure_tor_is_running=Tor-un işlədiyindən əmin ol.
+
+torlauncher.error_proxy_addr_missing=Tor internetə daxil olmaq üçün proksi istifadə etsin deyə sən hər ikisini - IP ünvan və ya host adını və port nömrəsini qeyd etməlisən.
+torlauncher.error_proxy_type_missing=Sən proksi növünü seçməlisən.
+torlauncher.error_bridges_missing=Sən bir və ya daha çox körpü seçməlisən.
+torlauncher.error_default_bridges_type_missing=Təqdim edilmiş körpülər üçün nəqliyyat növünü seçməlisən.
+torlauncher.error_bridge_bad_default_type=%S növ nəqliyyata sahib olan təqdim edilmiş körpü yoxdur. Lütfən, parametrlərini quraşdır.
+
+torlauncher.recommended_bridge=(məsləhət edilən)
torlauncher.connect=Qoşul
torlauncher.restart_tor=Tor`u yenidən başlat
-torlauncher.quit=Quit
+torlauncher.quit=Bitir
torlauncher.quit_win=Çıx
torlauncher.done=Oldu
-torlauncher.forAssistance=For assistance, contact %S
+torlauncher.forAssistance=Dəstək üçün %S ilə əlaqə saxla
-torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
+torlauncher.copiedNLogMessages=Köçürülmə tamamlandı. %S Tor giriş mesajları mətn dəyişdiricisi və ya email mesajına daxil edilməyə hazırdır.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
-torlauncher.bootstrapStatus.requesting_status=Retrieving network status
-torlauncher.bootstrapStatus.loading_status=Loading network status
-torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
-torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
-torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
+torlauncher.bootstrapStatus.conn_dir=Keçid kataloqu ilə əlaqə
+torlauncher.bootstrapStatus.handshake_dir=Şifrələnmiş kataloq əlaqəsinin yaradılması
+torlauncher.bootstrapStatus.requesting_status=Şəbəkə statusunun bərpası
+torlauncher.bootstrapStatus.loading_status=Şəbəkə statusunun yüklənməsi
+torlauncher.bootstrapStatus.loading_keys=Səlahiyyət sertifikatlarının yüklənməsi
+torlauncher.bootstrapStatus.requesting_descriptors=Keçid məlumatının tələb edilməsi
+torlauncher.bootstrapStatus.loading_descriptors=Keçid məlumatının yüklənməsi
torlauncher.bootstrapStatus.conn_or=Tor şəbəkəsinə qoşulur
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
-torlauncher.bootstrapStatus.done=Connected to the Tor network!
-
-torlauncher.bootstrapWarning.done=done
-torlauncher.bootstrapWarning.connectrefused=connection refused
-torlauncher.bootstrapWarning.misc=miscellaneous
-torlauncher.bootstrapWarning.resourcelimit=insufficient resources
-torlauncher.bootstrapWarning.identity=identity mismatch
-torlauncher.bootstrapWarning.timeout=connection timeout
-torlauncher.bootstrapWarning.noroute=no route to host
-torlauncher.bootstrapWarning.ioerror=read/write error
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
+torlauncher.bootstrapStatus.handshake_or=Tor dövrəsinin yaradılması
+torlauncher.bootstrapStatus.done=Tor şəbəkəsi ilə əlaqə!
+
+torlauncher.bootstrapWarning.done=oldu
+torlauncher.bootstrapWarning.connectrefused=əlaqə rədd edildi
+torlauncher.bootstrapWarning.misc=qarışıq
+torlauncher.bootstrapWarning.resourcelimit=qeyri-kafi mənbə
+torlauncher.bootstrapWarning.identity=müəyyənəşdirmə uyğunsuzluğu
+torlauncher.bootstrapWarning.timeout=əlaqə vaxtının bitməsi
+torlauncher.bootstrapWarning.noroute=host üçün istiqamət yoxdur
+torlauncher.bootstrapWarning.ioerror=oxuma/yazma xətası
+torlauncher.bootstrapWarning.pt_missing=çatışmayan pluggable transport
1
0