Merge lp:~pierre-hanselmann/ufw/ufw-debian into lp:~jdstrand/ufw/ufw-debian
- ufw-debian
- Merge into ufw-debian
Proposed by
Pierre Hanselmann
Status: | Rejected |
---|---|
Rejected by: | Jamie Strandboge |
Proposed branch: | lp:~pierre-hanselmann/ufw/ufw-debian |
Merge into: | lp:~jdstrand/ufw/ufw-debian |
Diff against target: |
35108 lines (+7481/-6791) 71 files modified
AUTHORS (+1/-2) ChangeLog (+32/-0) Makefile (+9/-5) README (+18/-13) README.design (+5/-3) README.translations (+10/-5) doc/skel-ui.example (+8/-2) doc/ufw.8 (+9/-3) locales/po/ar.po (+186/-186) locales/po/ast.po (+189/-183) locales/po/bg.po (+186/-186) locales/po/bs.po (+300/-271) locales/po/ca.po (+192/-189) locales/po/cs.po (+192/-189) locales/po/da.po (+192/-189) locales/po/de.po (+192/-189) locales/po/el.po (+181/-174) locales/po/en_AU.po (+260/-219) locales/po/en_GB.po (+203/-197) locales/po/es.po (+208/-191) locales/po/fi.po (+192/-189) locales/po/fr.po (+181/-174) locales/po/he.po (+192/-189) locales/po/hu.po (+192/-189) locales/po/id.po (+186/-186) locales/po/it.po (+184/-178) locales/po/ja.po (+192/-189) locales/po/nb.po (+192/-189) locales/po/nl.po (+188/-182) locales/po/pl.po (+186/-186) locales/po/pt.po (+340/-320) locales/po/pt_BR.po (+200/-194) locales/po/ru.po (+149/-145) locales/po/sk.po (+184/-178) locales/po/sl.po (+191/-185) locales/po/sr.po (+186/-186) locales/po/sv.po (+189/-183) locales/po/tl.po (+186/-186) locales/po/ufw.pot (+164/-139) locales/po/ur.po (+186/-186) locales/po/zh_CN.po (+189/-183) run_tests.sh (+1/-1) setup.py (+17/-16) src/applications.py (+18/-9) src/backend.py (+55/-25) src/backend_iptables.py (+60/-42) src/frontend.py (+59/-34) src/parser.py (+13/-11) src/ufw (+30/-24) src/util.py (+137/-28) tests/bad/policy/result (+0/-6) tests/bad/policy/runtest.sh (+1/-7) tests/bugs/misc/result (+5/-1) tests/bugs/misc/runtest.sh (+7/-2) tests/check-requirements (+29/-17) tests/destructive/bugs/result (+22/-7) tests/destructive/bugs/runtest.sh (+12/-8) tests/good/apps/result (+14/-4) tests/good/policy/result (+183/-191) tests/good/policy/runtest.sh (+2/-5) tests/good/reports/bin/show_listening_debug (+2/-2) tests/good/reports/result (+46/-0) tests/good/reports/runtest.sh (+12/-0) tests/root/live/result (+75/-0) tests/root/live/runtest.sh (+28/-3) tests/root/live_apps/runtest.sh (+4/-0) tests/root/logging/runtest.sh (+3/-0) tests/root/valid6/runtest.sh (+3/-0) tests/util/addresses/runtest.sh (+8/-6) tests/util/internal/runtest.sh (+3/-2) tests/util/normalization/runtest.sh (+10/-8) |
To merge this branch: | bzr merge lp:~pierre-hanselmann/ufw/ufw-debian |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jamie Strandboge | Disapprove | ||
Review via email: mp+194713@code.launchpad.net |
Commit message
Description of the change
- New upstream version (0.33)
It will serve to package the new version on Debian.
To post a comment you must log in.
Unmerged revisions
- 542. By Pierre Hanselmann
-
* New upstream release (0.33)
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'AUTHORS' |
2 | --- AUTHORS 2008-05-08 16:12:08 +0000 |
3 | +++ AUTHORS 2013-11-11 16:00:06 +0000 |
4 | @@ -1,3 +1,2 @@ |
5 | ufw, its documentation and supporting files are written by Jamie Strandboge |
6 | -<jamie@canonical.com> and copyright Canonical Ltd. 2007-2008. |
7 | - |
8 | +<jamie@canonical.com> and copyright Canonical Ltd. 2007-2012. |
9 | |
10 | === modified file 'ChangeLog' |
11 | --- ChangeLog 2012-04-04 20:44:20 +0000 |
12 | +++ ChangeLog 2013-11-11 16:00:06 +0000 |
13 | @@ -1,3 +1,35 @@ |
14 | +ufw (0.33) RELEASED; urgency=low |
15 | + |
16 | + * conf/after6.rules: also use correct ports for DHCPv6. Thanks to Marco |
17 | + Davids (LP: #1007326) |
18 | + * src/util.py: add get_netfilter_capabilities() for getting the capabilities |
19 | + set for things we want to support but may not be in all kernels/iptables |
20 | + versions |
21 | + * add IPv6 limit support (LP: #951462) |
22 | + * import new and updated Launchpad translations: |
23 | + - po/ast.po, po/bs.po, po/cs.po, po/de.po, po/el.po, po/en_AU.po, |
24 | + po/en_GB.po, po/es.po, po/fi.po, po/fr.po, po/he.po, po/hu.po, po/it.po, |
25 | + po/nb.po, po/nl.po, po/pt_BR.po, po/pt.po, po/sk.po, po/sl.po, po/sv.po, |
26 | + po/zh_CN.po, po/zh_TW.po (new, LP: #868195) |
27 | + - thanks to all contributors: https://translations.launchpad.net/ufw |
28 | + * README.translations: updated for paths and testing |
29 | + * add 'show added' report (LP: #987784) |
30 | + * remove ACCEPT_NO_TRACK option since it never worked (LP: #787955) |
31 | + * src/backend_iptables.py: display output of ufw-init if it fails |
32 | + * don't traceback if can't determine iptables version |
33 | + |
34 | + -- Jamie Strandboge <jamie@ubuntu.com> Sun, 12 Aug 2012 10:58:04 -0500 |
35 | + |
36 | +ufw (0.32) RELEASED; urgency=low |
37 | + |
38 | + * Obsolete python2.5 in preparation for python3 support |
39 | + * Adjust gettext initialization so that _() always returns unicode. Patch |
40 | + thanks to Barry Warsaw |
41 | + * Add python3 support (LP: #1001657) |
42 | + * profiles/ufw-directoryserver: use LDAPS key for LDAPS |
43 | + |
44 | + -- Jamie Strandboge <jamie@ubuntu.com> Sat, 19 May 2012 08:48:15 -0500 |
45 | + |
46 | ufw (0.31.1) RELEASED; urgency=low |
47 | |
48 | * src/util.py: revert revert r752 which introduced problems with other |
49 | |
50 | === modified file 'Makefile' |
51 | --- Makefile 2012-04-04 20:44:20 +0000 |
52 | +++ Makefile 2013-11-11 16:00:06 +0000 |
53 | @@ -10,6 +10,10 @@ |
54 | PYFLAKES = $(TMPDIR)/pyflakes.out |
55 | PYFLAKES_EXE = pyflakes |
56 | |
57 | +ifndef $(PYTHON) |
58 | +export PYTHON=python |
59 | +endif |
60 | + |
61 | all: |
62 | # Use setup.py to install. See README for details |
63 | exit 1 |
64 | @@ -24,7 +28,7 @@ |
65 | make -C locales all |
66 | |
67 | test: |
68 | - ./run_tests.sh -s |
69 | + ./run_tests.sh -s -i $(PYTHON) |
70 | |
71 | syntax-check: clean |
72 | $(shell mkdir $(TMPDIR) && $(PYFLAKES_EXE) src 2>&1 | grep -v "undefined name '_'" > $(PYFLAKES)) |
73 | @@ -55,13 +59,13 @@ |
74 | |
75 | evaluate: clean |
76 | mkdir -p $(TMPDIR)/ufw/usr $(TMPDIR)/ufw/etc |
77 | - python ./setup.py install --home=$(TMPDIR)/ufw |
78 | - PYTHONPATH=$(PYTHONPATH):$(TMPDIR)/ufw/lib/python $(TMPDIR)/ufw/usr/sbin/ufw version |
79 | + $(PYTHON) ./setup.py install --home=$(TMPDIR)/ufw |
80 | + PYTHONPATH=$(PYTHONPATH):$(TMPDIR)/ufw/lib/python $(PYTHON) $(TMPDIR)/ufw/usr/sbin/ufw version |
81 | sed -i 's/self.do_checks = True/self.do_checks = False/' $(TMPDIR)/ufw/lib/python/ufw/backend.py |
82 | cp ./examples/* $(TMPDIR)/ufw/etc/ufw/applications.d |
83 | # Test with: |
84 | - # PYTHONPATH=$$PYTHONPATH:$(TMPDIR)/ufw/lib/python $(TMPDIR)/ufw/usr/sbin/ufw ... |
85 | - # sudo sh -c "PYTHONPATH=$$PYTHONPATH:$(TMPDIR)/ufw/lib/python $(TMPDIR)/ufw/usr/sbin/ufw ..." |
86 | + # PYTHONPATH=$$PYTHONPATH:$(TMPDIR)/ufw/lib/python $(PYTHON) $(TMPDIR)/ufw/usr/sbin/ufw ... |
87 | + # sudo sh -c "PYTHONPATH=$$PYTHONPATH:$(TMPDIR)/ufw/lib/python $(PYTHON) $(TMPDIR)/ufw/usr/sbin/ufw ..." |
88 | |
89 | devel: evaluate |
90 | cp -f ./tests/defaults/profiles/* $(TMPDIR)/ufw/etc/ufw/applications.d |
91 | |
92 | === modified file 'README' |
93 | --- README 2011-07-18 15:52:03 +0000 |
94 | +++ README 2013-11-11 16:00:06 +0000 |
95 | @@ -13,8 +13,8 @@ |
96 | |
97 | Requirements |
98 | ------------ |
99 | -python 2.5-2.7 (known to work with 2.5+, 2.6.2+, and 2.7.0) |
100 | -iptables 1.4* |
101 | +python 2.6-2.7, 3.1-3.2 (known to work with 2.6.2+, 2.7.0+, 3.1.2, 3.2+)* |
102 | +iptables 1.4** |
103 | gettext |
104 | /proc filesystem support |
105 | Linux kernel configured with the following modules (not exhaustive): |
106 | @@ -26,10 +26,11 @@ |
107 | recent |
108 | state |
109 | |
110 | -* Systems with iptables below 1.4 will not have IPv6 application rule support. |
111 | - ufw will give a warning when users try to use this functionality, but ufw |
112 | - will otherwise work fine. ufw is known to work with iptables 1.3.8 in this |
113 | - degraded mode. |
114 | +* python2.5 is no longer supported |
115 | +** Systems with iptables below 1.4 will not have IPv6 application rule support. |
116 | + ufw will give a warning when users try to use this functionality, but ufw |
117 | + will otherwise work fine. ufw is known to work with iptables 1.3.8 in this |
118 | + degraded mode. |
119 | |
120 | ufw has been widely tested on Linux 2.6.24 and higher kernels. You may also |
121 | use the check-requirements script in the tests/ directory to see if your |
122 | @@ -43,8 +44,8 @@ |
123 | $ python ./setup.py install --home=PREFIX |
124 | |
125 | The interpreter used for setup.py is the one used for ufw. So if your system |
126 | -python is 2.4, but you have python2.5 available, use something like: |
127 | -$ python2.5 ./setup.py install --home=PREFIX |
128 | +python is 2.6, but you have python2.7 available, use something like: |
129 | +$ python2.7 ./setup.py install --home=PREFIX |
130 | |
131 | Distributions which install to a build directory for packaging can install |
132 | with: |
133 | @@ -321,13 +322,17 @@ |
134 | Can also just run from the source directory: |
135 | $ ./run_tests.sh -s |
136 | |
137 | +You may also specify an interpreter for the tests. Eg: |
138 | +$ ./run_tests.sh -s -i /usr/local/bin/python2.7 |
139 | + |
140 | Or for the root tests (these are iptables version dependent, will modify your |
141 | existing firewall and insert kernel modules, so they require root privileges |
142 | and aren't run by default): |
143 | # ./run_tests.sh -s root |
144 | |
145 | -You may also specify an interpreter for the tests. Eg: |
146 | -$ ./run_tests.sh -s -i /usr/local/bin/python2.5 |
147 | - |
148 | - |
149 | -Copyright 2008-2011 Canonical Ltd. |
150 | +Finally, ufw's behavior may differ based on available kernel features. The |
151 | +root_kern tests assume all kernel features supported by check-requirements |
152 | +are enabled. They behave just like the root tests. |
153 | + |
154 | + |
155 | +Copyright 2008-2012 Canonical Ltd. |
156 | |
157 | === modified file 'README.design' |
158 | --- README.design 2012-04-04 20:44:20 +0000 |
159 | +++ README.design 2013-11-11 16:00:06 +0000 |
160 | @@ -34,9 +34,11 @@ |
161 | ------------ |
162 | Before submitting patches for ufw, please do the following: |
163 | |
164 | -$ make syntax-check # basic syntax checker |
165 | -$ make check # runs non-root tests |
166 | -# ./run-tests -r root # runs root tests (modifies running firewall) |
167 | +$ make syntax-check # basic syntax checker |
168 | +$ make check # runs non-root tests |
169 | +$ make PYTHON=python3 check # runs non-root tests with python3 interpreter |
170 | +# ./run-tests -r root # runs root tests (modifies running firewall) |
171 | +# ./tests/check-locales # runs locales tests (assumes Ubuntu) |
172 | |
173 | CAUTION: root tests will flush the firewall and use iptables commands on the |
174 | host. |
175 | |
176 | === modified file 'README.translations' |
177 | --- README.translations 2009-05-08 16:09:41 +0000 |
178 | +++ README.translations 2013-11-11 16:00:06 +0000 |
179 | @@ -1,12 +1,17 @@ |
180 | Internationalization |
181 | -------------------- |
182 | -gettext files are placed in messages/. To update the main .pot file, do: |
183 | -$ pygettext -d ufw -p messages -S GNU src/ufw src/[a-z]*.py |
184 | +gettext files are placed in locales/po/. To update the main .pot file, do: |
185 | +$ pygettext -d ufw -p locales/po -S GNU src/ufw src/[a-z]*.py |
186 | |
187 | -and adjust messages/ufw.pot accordingly. |
188 | +and adjust locales/po/ufw.pot accordingly. |
189 | |
190 | Translations are handled in Launchpad. Please see: |
191 | https://translations.launchpad.net/ufw/ |
192 | |
193 | - |
194 | -Copyright 2008 Canonical Ltd. |
195 | +Testing locales can be done like so (typically in a chroot or VM): |
196 | +$ make mo |
197 | +$ sudo ./tests/check-locales -d locales/mo -l es # a specify locale |
198 | +$ sudo ./tests/check-locales -d locales/mo # all locales |
199 | + |
200 | + |
201 | +Copyright 2008-2012 Canonical Ltd. |
202 | |
203 | === modified file 'doc/skel-ui.example' |
204 | --- doc/skel-ui.example 2009-05-08 16:09:41 +0000 |
205 | +++ doc/skel-ui.example 2013-11-11 16:00:06 +0000 |
206 | @@ -24,8 +24,14 @@ |
207 | ufw.common.programName = "skel-ui" |
208 | |
209 | import gettext |
210 | -gettext.install(ufw.common.programName) |
211 | +kwargs = {} |
212 | +if sys.version_info[0] < 3: |
213 | + # In Python 2, ensure that the _() that gets installed into built-ins |
214 | + # always returns unicodes. This matches the default behavior under Python |
215 | + # 3, although that keyword argument is not present in the Python 3 API. |
216 | + kwargs['unicode'] = True |
217 | +gettext.install(ufw.common.programName, **kwargs) |
218 | |
219 | if __name__ == "__main__": |
220 | - print ufw.frontend.get_command_help() |
221 | + print(ufw.frontend.get_command_help()) |
222 | |
223 | |
224 | === modified file 'doc/ufw.8' |
225 | --- doc/ufw.8 2011-07-18 15:45:00 +0000 |
226 | +++ doc/ufw.8 2013-11-11 16:00:06 +0000 |
227 | @@ -351,6 +351,7 @@ |
228 | after\-rules |
229 | logging\-rules |
230 | listening |
231 | + added |
232 | |
233 | The \fBraw\fR report shows the complete firewall, while the others show a |
234 | subset of what is in the \fBraw\fR report. |
235 | @@ -364,14 +365,19 @@ |
236 | evaluated by the kernel, and the first match wins. Please note that the |
237 | default policy is not listed and tcp6 and udp6 are shown only if IPV6 is |
238 | enabled. |
239 | +.PP |
240 | +The \fBadded\fR report displays the list of rules as they were added on the |
241 | +command\-line. This report does not show the status of the running firewall |
242 | +(use '\fBufw status\fR' instead). Because rules are normalized by \fBufw\fR, |
243 | +rules may look different than the originally added rule. Also, \fBufw\fR does |
244 | +not record command ordering, so an equivalent ordering is used which lists |
245 | +IPv6\-only rules after other rules. |
246 | |
247 | .SH NOTES |
248 | .PP |
249 | On installation, \fBufw\fR is disabled with a default incoming policy of deny |
250 | and a default outgoing policy of allow, with stateful tracking for NEW |
251 | -connections. Having a default policy of allow without stateful tracking can be |
252 | -achieved by using ACCEPT_NO_TRACK instead of ACCEPT in |
253 | -#CONFIG_PREFIX#/default/ufw. |
254 | +connections. |
255 | |
256 | .PP |
257 | Rule ordering is important and the first match wins. Therefore when adding |
258 | |
259 | === modified file 'locales/po/ar.po' |
260 | --- locales/po/ar.po 2012-04-04 20:44:20 +0000 |
261 | +++ locales/po/ar.po 2013-11-11 16:00:06 +0000 |
262 | @@ -7,169 +7,168 @@ |
263 | msgstr "" |
264 | "Project-Id-Version: ufw\n" |
265 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
266 | -"POT-Creation-Date: 2011-03-22 10:34-0500\n" |
267 | +"POT-Creation-Date: 2012-07-29 09:48-0500\n" |
268 | "PO-Revision-Date: 2009-08-26 19:15+0000\n" |
269 | "Last-Translator: Nizar Kerkeni <nizarus@ubuntu.com>\n" |
270 | "Language-Team: Arabic <ar@li.org>\n" |
271 | "MIME-Version: 1.0\n" |
272 | "Content-Type: text/plain; charset=UTF-8\n" |
273 | "Content-Transfer-Encoding: 8bit\n" |
274 | -"X-Launchpad-Export-Date: 2012-02-13 23:52+0000\n" |
275 | -"X-Generator: Launchpad (build 14781)\n" |
276 | +"X-Launchpad-Export-Date: 2012-08-12 01:56+0000\n" |
277 | +"X-Generator: Launchpad (build 15780)\n" |
278 | |
279 | -#: src/ufw:46 |
280 | -msgid ": Need at least python 2.5)\n" |
281 | +#: src/ufw:56 |
282 | +msgid ": Need at least python 2.6)\n" |
283 | msgstr "" |
284 | |
285 | -#: src/ufw:103 src/frontend.py:554 src/frontend.py:854 |
286 | +#: src/ufw:109 src/frontend.py:550 src/frontend.py:850 |
287 | msgid "Aborted" |
288 | msgstr "" |
289 | |
290 | -#: src/applications.py:32 |
291 | +#: src/applications.py:36 |
292 | msgid "Profiles directory does not exist" |
293 | msgstr "" |
294 | |
295 | -#: src/applications.py:64 |
296 | +#: src/applications.py:68 |
297 | #, python-format |
298 | msgid "Skipping '%s': couldn't stat" |
299 | msgstr "" |
300 | |
301 | -#: src/applications.py:69 |
302 | +#: src/applications.py:73 |
303 | #, python-format |
304 | msgid "Skipping '%s': too big" |
305 | msgstr "" |
306 | |
307 | -#: src/applications.py:74 |
308 | +#: src/applications.py:78 |
309 | #, python-format |
310 | msgid "Skipping '%s': too many files read already" |
311 | msgstr "" |
312 | |
313 | -#: src/applications.py:84 |
314 | +#: src/applications.py:92 |
315 | #, python-format |
316 | msgid "Skipping '%s': couldn't process" |
317 | msgstr "" |
318 | |
319 | -#: src/applications.py:91 |
320 | +#: src/applications.py:99 |
321 | #, python-format |
322 | msgid "Skipping '%s': name too long" |
323 | msgstr "" |
324 | |
325 | -#: src/applications.py:96 |
326 | +#: src/applications.py:104 |
327 | #, python-format |
328 | msgid "Skipping '%s': invalid name" |
329 | msgstr "" |
330 | |
331 | -#: src/applications.py:102 |
332 | +#: src/applications.py:110 |
333 | #, python-format |
334 | msgid "Skipping '%s': also in /etc/services" |
335 | msgstr "" |
336 | |
337 | -#: src/applications.py:111 |
338 | +#: src/applications.py:119 |
339 | #, python-format |
340 | msgid "Skipping '%s': field too long" |
341 | msgstr "" |
342 | |
343 | -#: src/applications.py:116 |
344 | +#: src/applications.py:124 |
345 | #, python-format |
346 | msgid "Skipping '%(value)s': value too long for '%(field)s'" |
347 | msgstr "" |
348 | |
349 | -#: src/applications.py:126 |
350 | +#: src/applications.py:134 |
351 | #, python-format |
352 | msgid "Duplicate profile '%s', using last found" |
353 | msgstr "" |
354 | |
355 | -#: src/applications.py:156 |
356 | +#: src/applications.py:171 |
357 | #, python-format |
358 | msgid "Profile '%(fn)s' missing required field '%(f)s'" |
359 | msgstr "" |
360 | |
361 | -#: src/applications.py:161 |
362 | +#: src/applications.py:176 |
363 | #, python-format |
364 | msgid "Profile '%(fn)s' has empty required field '%(f)s'" |
365 | msgstr "" |
366 | |
367 | -#: src/applications.py:167 |
368 | +#: src/applications.py:182 |
369 | #, python-format |
370 | msgid "No ports found in profile '%s'" |
371 | msgstr "" |
372 | |
373 | -#: src/applications.py:180 |
374 | +#: src/applications.py:195 |
375 | #, python-format |
376 | msgid "Invalid ports in profile '%s'" |
377 | msgstr "" |
378 | |
379 | -#: src/backend_iptables.py:87 |
380 | +#: src/backend_iptables.py:72 |
381 | msgid "New profiles:" |
382 | msgstr "" |
383 | |
384 | -#: src/backend_iptables.py:103 src/backend.py:275 |
385 | +#: src/backend_iptables.py:88 src/backend.py:315 |
386 | #, python-format |
387 | msgid "Unsupported policy '%s'" |
388 | msgstr "" |
389 | |
390 | -#: src/backend_iptables.py:107 |
391 | +#: src/backend_iptables.py:92 |
392 | #, python-format |
393 | msgid "Unsupported policy for direction '%s'" |
394 | msgstr "" |
395 | |
396 | -#: src/backend_iptables.py:165 |
397 | +#: src/backend_iptables.py:150 |
398 | #, python-format |
399 | msgid "Default %(direction)s policy changed to '%(policy)s'\n" |
400 | msgstr "" |
401 | |
402 | -#: src/backend_iptables.py:167 |
403 | +#: src/backend_iptables.py:152 |
404 | msgid "(be sure to update your rules accordingly)" |
405 | msgstr "" |
406 | |
407 | -#: src/backend_iptables.py:174 |
408 | +#: src/backend_iptables.py:159 |
409 | msgid "Checking raw iptables\n" |
410 | msgstr "" |
411 | |
412 | -#: src/backend_iptables.py:175 |
413 | +#: src/backend_iptables.py:160 |
414 | msgid "Checking raw ip6tables\n" |
415 | msgstr "" |
416 | |
417 | -#: src/backend_iptables.py:178 src/backend_iptables.py:269 |
418 | -#: src/backend_iptables.py:448 src/backend_iptables.py:459 |
419 | -#: src/backend_iptables.py:507 |
420 | -msgid "problem running" |
421 | -msgstr "" |
422 | - |
423 | -#: src/backend_iptables.py:264 |
424 | +#: src/backend_iptables.py:250 |
425 | msgid "Checking iptables\n" |
426 | msgstr "" |
427 | |
428 | -#: src/backend_iptables.py:266 |
429 | +#: src/backend_iptables.py:252 |
430 | msgid "Checking ip6tables\n" |
431 | msgstr "" |
432 | |
433 | -#: src/backend_iptables.py:275 |
434 | +#: src/backend_iptables.py:255 src/backend_iptables.py:435 |
435 | +#: src/backend_iptables.py:446 src/backend_iptables.py:497 |
436 | +msgid "problem running" |
437 | +msgstr "" |
438 | + |
439 | +#: src/backend_iptables.py:261 |
440 | msgid "Status: inactive" |
441 | msgstr "" |
442 | |
443 | -#: src/backend_iptables.py:411 |
444 | +#: src/backend_iptables.py:397 |
445 | msgid "To" |
446 | msgstr "إلى" |
447 | |
448 | -#: src/backend_iptables.py:412 |
449 | +#: src/backend_iptables.py:398 |
450 | msgid "From" |
451 | msgstr "من" |
452 | |
453 | -#: src/backend_iptables.py:413 |
454 | +#: src/backend_iptables.py:399 |
455 | msgid "Action" |
456 | msgstr "الإجراء" |
457 | |
458 | -#: src/backend_iptables.py:428 |
459 | +#: src/backend_iptables.py:415 |
460 | msgid "\n" |
461 | msgstr "\n" |
462 | |
463 | -#: src/backend_iptables.py:436 |
464 | +#: src/backend_iptables.py:423 |
465 | #, python-format |
466 | msgid "Default: %(in)s (incoming), %(out)s (outgoing)" |
467 | msgstr "" |
468 | |
469 | -#: src/backend_iptables.py:440 |
470 | +#: src/backend_iptables.py:427 |
471 | #, python-format |
472 | msgid "" |
473 | "Status: active\n" |
474 | @@ -178,262 +177,267 @@ |
475 | "%(app)s%(status)s" |
476 | msgstr "" |
477 | |
478 | -#: src/backend_iptables.py:444 |
479 | +#: src/backend_iptables.py:431 |
480 | #, python-format |
481 | msgid "Status: active%s" |
482 | msgstr "" |
483 | |
484 | -#: src/backend_iptables.py:450 src/backend_iptables.py:461 |
485 | +#: src/backend_iptables.py:437 src/backend_iptables.py:448 |
486 | msgid "running ufw-init" |
487 | msgstr "" |
488 | |
489 | -#: src/backend_iptables.py:474 |
490 | +#: src/backend_iptables.py:461 |
491 | msgid "Could not set LOGLEVEL" |
492 | msgstr "" |
493 | |
494 | -#: src/backend_iptables.py:480 |
495 | +#: src/backend_iptables.py:467 |
496 | msgid "Could not load logging rules" |
497 | msgstr "" |
498 | |
499 | -#: src/backend_iptables.py:629 src/backend.py:181 |
500 | +#: src/backend_iptables.py:619 src/backend.py:221 |
501 | #, python-format |
502 | msgid "Couldn't open '%s' for reading" |
503 | msgstr "" |
504 | |
505 | -#: src/backend_iptables.py:638 |
506 | +#: src/backend_iptables.py:628 |
507 | #, python-format |
508 | msgid "Skipping malformed tuple (bad length): %s" |
509 | msgstr "" |
510 | |
511 | -#: src/backend_iptables.py:668 |
512 | +#: src/backend_iptables.py:659 |
513 | #, python-format |
514 | msgid "Skipping malformed tuple: %s" |
515 | msgstr "" |
516 | |
517 | -#: src/backend_iptables.py:690 src/backend.py:213 |
518 | +#: src/backend_iptables.py:681 src/backend.py:253 |
519 | #, python-format |
520 | msgid "'%s' is not writable" |
521 | msgstr "" |
522 | |
523 | -#: src/backend_iptables.py:830 |
524 | +#: src/backend_iptables.py:839 |
525 | msgid "Adding IPv6 rule failed: IPv6 not enabled" |
526 | msgstr "" |
527 | |
528 | -#: src/backend_iptables.py:834 |
529 | +#: src/backend_iptables.py:843 |
530 | #, python-format |
531 | msgid "Skipping unsupported IPv6 '%s' rule" |
532 | msgstr "" |
533 | |
534 | -#: src/backend_iptables.py:837 |
535 | +#: src/backend_iptables.py:847 |
536 | +#, python-format |
537 | +msgid "Skipping unsupported IPv4 '%s' rule" |
538 | +msgstr "" |
539 | + |
540 | +#: src/backend_iptables.py:850 |
541 | msgid "Must specify 'tcp' or 'udp' with multiple ports" |
542 | msgstr "" |
543 | |
544 | -#: src/backend_iptables.py:849 |
545 | +#: src/backend_iptables.py:862 |
546 | msgid "Skipping IPv6 application rule. Need at least iptables 1.4" |
547 | msgstr "" |
548 | |
549 | -#: src/backend_iptables.py:854 |
550 | +#: src/backend_iptables.py:867 |
551 | #, python-format |
552 | msgid "Invalid position '%d'" |
553 | msgstr "" |
554 | |
555 | -#: src/backend_iptables.py:858 |
556 | +#: src/backend_iptables.py:871 |
557 | msgid "Cannot specify insert and delete" |
558 | msgstr "" |
559 | |
560 | -#: src/backend_iptables.py:861 |
561 | +#: src/backend_iptables.py:874 |
562 | #, python-format |
563 | msgid "Cannot insert rule at position '%d'" |
564 | msgstr "" |
565 | |
566 | -#: src/backend_iptables.py:919 |
567 | +#: src/backend_iptables.py:932 |
568 | msgid "Skipping inserting existing rule" |
569 | msgstr "" |
570 | |
571 | -#: src/backend_iptables.py:930 src/frontend.py:365 |
572 | +#: src/backend_iptables.py:943 src/frontend.py:361 |
573 | msgid "Could not delete non-existent rule" |
574 | msgstr "" |
575 | |
576 | -#: src/backend_iptables.py:935 |
577 | +#: src/backend_iptables.py:948 |
578 | msgid "Skipping adding existing rule" |
579 | msgstr "" |
580 | |
581 | -#: src/backend_iptables.py:951 |
582 | +#: src/backend_iptables.py:964 |
583 | msgid "Couldn't update rules file" |
584 | msgstr "" |
585 | |
586 | -#: src/backend_iptables.py:956 |
587 | +#: src/backend_iptables.py:969 |
588 | msgid "Rules updated" |
589 | msgstr "" |
590 | |
591 | -#: src/backend_iptables.py:958 |
592 | +#: src/backend_iptables.py:971 |
593 | msgid "Rules updated (v6)" |
594 | msgstr "" |
595 | |
596 | -#: src/backend_iptables.py:966 |
597 | +#: src/backend_iptables.py:979 |
598 | msgid "Rule inserted" |
599 | msgstr "" |
600 | |
601 | -#: src/backend_iptables.py:968 |
602 | +#: src/backend_iptables.py:981 |
603 | msgid "Rule updated" |
604 | msgstr "" |
605 | |
606 | -#: src/backend_iptables.py:978 |
607 | +#: src/backend_iptables.py:991 |
608 | msgid " (skipped reloading firewall)" |
609 | msgstr "" |
610 | |
611 | -#: src/backend_iptables.py:981 |
612 | +#: src/backend_iptables.py:994 |
613 | msgid "Rule deleted" |
614 | msgstr "" |
615 | |
616 | -#: src/backend_iptables.py:984 |
617 | +#: src/backend_iptables.py:997 |
618 | msgid "Rule added" |
619 | msgstr "" |
620 | |
621 | -#: src/backend_iptables.py:999 src/backend_iptables.py:1087 |
622 | +#: src/backend_iptables.py:1012 src/backend_iptables.py:1100 |
623 | msgid "Could not update running firewall" |
624 | msgstr "" |
625 | |
626 | -#: src/backend_iptables.py:1054 |
627 | +#: src/backend_iptables.py:1067 |
628 | #, python-format |
629 | msgid "Could not perform '%s'" |
630 | msgstr "" |
631 | |
632 | -#: src/backend_iptables.py:1078 |
633 | +#: src/backend_iptables.py:1091 |
634 | msgid "Couldn't update rules file for logging" |
635 | msgstr "" |
636 | |
637 | -#: src/backend_iptables.py:1132 src/backend.py:530 |
638 | +#: src/backend_iptables.py:1149 src/backend.py:571 |
639 | #, python-format |
640 | msgid "Invalid log level '%s'" |
641 | msgstr "" |
642 | |
643 | -#: src/backend_iptables.py:1228 |
644 | +#: src/backend_iptables.py:1246 |
645 | #, python-format |
646 | msgid "Could not find '%s'. Aborting" |
647 | msgstr "" |
648 | |
649 | -#: src/backend_iptables.py:1240 |
650 | +#: src/backend_iptables.py:1258 |
651 | #, python-format |
652 | msgid "'%s' already exists. Aborting" |
653 | msgstr "" |
654 | |
655 | -#: src/backend_iptables.py:1246 |
656 | +#: src/backend_iptables.py:1264 |
657 | #, python-format |
658 | msgid "Backing up '%(old)s' to '%(new)s'\n" |
659 | msgstr "" |
660 | |
661 | -#: src/backend_iptables.py:1262 src/backend.py:140 |
662 | +#: src/backend_iptables.py:1280 src/backend.py:180 |
663 | #, python-format |
664 | msgid "Couldn't stat '%s'" |
665 | msgstr "" |
666 | |
667 | -#: src/backend_iptables.py:1267 |
668 | +#: src/backend_iptables.py:1285 |
669 | #, python-format |
670 | msgid "WARN: '%s' is world writable" |
671 | msgstr "" |
672 | |
673 | -#: src/backend_iptables.py:1269 |
674 | +#: src/backend_iptables.py:1287 |
675 | #, python-format |
676 | msgid "WARN: '%s' is world readable" |
677 | msgstr "" |
678 | |
679 | -#: src/backend.py:96 |
680 | +#: src/backend.py:136 |
681 | msgid "Checks disabled" |
682 | msgstr "" |
683 | |
684 | -#: src/backend.py:102 |
685 | +#: src/backend.py:142 |
686 | msgid "ERROR: this script should not be SUID" |
687 | msgstr "" |
688 | |
689 | -#: src/backend.py:105 |
690 | +#: src/backend.py:145 |
691 | msgid "ERROR: this script should not be SGID" |
692 | msgstr "" |
693 | |
694 | -#: src/backend.py:110 |
695 | +#: src/backend.py:150 |
696 | msgid "You need to be root to run this script" |
697 | msgstr "" |
698 | |
699 | -#: src/backend.py:120 |
700 | +#: src/backend.py:160 |
701 | #, python-format |
702 | msgid "'%s' does not exist" |
703 | msgstr "" |
704 | |
705 | -#: src/backend.py:146 |
706 | +#: src/backend.py:186 |
707 | #, python-format |
708 | msgid "uid is %(uid)s but '%(path)s' is owned by %(st_uid)s" |
709 | msgstr "" |
710 | |
711 | -#: src/backend.py:153 |
712 | +#: src/backend.py:193 |
713 | #, python-format |
714 | msgid "%s is world writable!" |
715 | msgstr "" |
716 | |
717 | -#: src/backend.py:157 |
718 | +#: src/backend.py:197 |
719 | #, python-format |
720 | msgid "%s is group writable!" |
721 | msgstr "" |
722 | |
723 | -#: src/backend.py:170 |
724 | +#: src/backend.py:210 |
725 | #, python-format |
726 | msgid "'%(f)s' file '%(name)s' does not exist" |
727 | msgstr "" |
728 | |
729 | -#: src/backend.py:195 |
730 | +#: src/backend.py:235 |
731 | #, python-format |
732 | msgid "Missing policy for '%s'" |
733 | msgstr "" |
734 | |
735 | -#: src/backend.py:200 |
736 | +#: src/backend.py:240 |
737 | #, python-format |
738 | msgid "Invalid policy '%(policy)s' for '%(chain)s'" |
739 | msgstr "" |
740 | |
741 | -#: src/backend.py:207 |
742 | +#: src/backend.py:247 |
743 | msgid "Invalid option" |
744 | msgstr "" |
745 | |
746 | -#: src/backend.py:278 |
747 | +#: src/backend.py:318 |
748 | #, python-format |
749 | msgid "Default application policy changed to '%s'" |
750 | msgstr "" |
751 | |
752 | -#: src/backend.py:360 |
753 | +#: src/backend.py:400 |
754 | msgid "No rules found for application profile" |
755 | msgstr "" |
756 | |
757 | -#: src/backend.py:419 |
758 | +#: src/backend.py:459 |
759 | #, python-format |
760 | msgid "Rules updated for profile '%s'" |
761 | msgstr "" |
762 | |
763 | -#: src/backend.py:425 |
764 | +#: src/backend.py:465 |
765 | msgid "Couldn't update application rules" |
766 | msgstr "" |
767 | |
768 | -#: src/backend.py:447 |
769 | +#: src/backend.py:487 |
770 | #, python-format |
771 | msgid "Found multiple matches for '%s'. Please use exact profile name" |
772 | msgstr "" |
773 | |
774 | -#: src/backend.py:448 |
775 | +#: src/backend.py:489 |
776 | #, python-format |
777 | msgid "Could not find a profile matching '%s'" |
778 | msgstr "" |
779 | |
780 | -#: src/backend.py:514 |
781 | +#: src/backend.py:555 |
782 | msgid "Logging: " |
783 | msgstr "" |
784 | |
785 | -#: src/backend.py:518 |
786 | +#: src/backend.py:559 |
787 | msgid "unknown" |
788 | msgstr "" |
789 | |
790 | -#: src/backend.py:548 |
791 | +#: src/backend.py:589 |
792 | msgid "Logging disabled" |
793 | msgstr "التسجيل معطّل" |
794 | |
795 | -#: src/backend.py:550 |
796 | +#: src/backend.py:591 |
797 | msgid "Logging enabled" |
798 | msgstr "التسجيل مفعّل" |
799 | |
800 | @@ -482,24 +486,20 @@ |
801 | msgid "Unsupported direction '%s'" |
802 | msgstr "" |
803 | |
804 | -#: src/common.py:346 |
805 | -msgid "Could not normalize source address" |
806 | -msgstr "" |
807 | - |
808 | -#: src/common.py:356 |
809 | +#: src/common.py:355 |
810 | msgid "Could not normalize destination address" |
811 | msgstr "" |
812 | |
813 | -#: src/common.py:417 |
814 | +#: src/common.py:416 |
815 | msgid "Found exact match" |
816 | msgstr "وجدتُ مطابقة تامة" |
817 | |
818 | -#: src/common.py:421 |
819 | +#: src/common.py:420 |
820 | #, python-format |
821 | msgid "Found non-action/non-logtype match (%(xa)s/%(ya)s %(xl)s/%(yl)s)" |
822 | msgstr "" |
823 | |
824 | -#: src/frontend.py:93 |
825 | +#: src/frontend.py:88 |
826 | #, python-format |
827 | msgid "" |
828 | "\n" |
829 | @@ -530,77 +530,77 @@ |
830 | " %(appdefault)-31s set default application policy\n" |
831 | msgstr "" |
832 | |
833 | -#: src/frontend.py:168 |
834 | +#: src/frontend.py:160 |
835 | msgid "n" |
836 | msgstr "" |
837 | |
838 | -#: src/frontend.py:169 |
839 | +#: src/frontend.py:161 |
840 | msgid "y" |
841 | msgstr "" |
842 | |
843 | -#: src/frontend.py:170 |
844 | +#: src/frontend.py:162 |
845 | msgid "yes" |
846 | msgstr "" |
847 | |
848 | -#: src/frontend.py:215 |
849 | +#: src/frontend.py:207 |
850 | msgid "Firewall is active and enabled on system startup" |
851 | msgstr "" |
852 | |
853 | -#: src/frontend.py:222 |
854 | +#: src/frontend.py:214 |
855 | msgid "Firewall stopped and disabled on system startup" |
856 | msgstr "" |
857 | |
858 | -#: src/frontend.py:273 |
859 | +#: src/frontend.py:265 |
860 | msgid "Could not get listening status" |
861 | msgstr "" |
862 | |
863 | -#: src/frontend.py:360 src/frontend.py:458 src/frontend.py:468 |
864 | +#: src/frontend.py:356 src/frontend.py:454 src/frontend.py:464 |
865 | #, python-format |
866 | msgid "Invalid IP version '%s'" |
867 | msgstr "" |
868 | |
869 | -#: src/frontend.py:391 |
870 | +#: src/frontend.py:387 |
871 | msgid "Invalid position '" |
872 | msgstr "" |
873 | |
874 | -#: src/frontend.py:465 |
875 | +#: src/frontend.py:461 |
876 | msgid "IPv6 support not enabled" |
877 | msgstr "" |
878 | |
879 | -#: src/frontend.py:476 |
880 | +#: src/frontend.py:472 |
881 | msgid "Rule changed after normalization" |
882 | msgstr "" |
883 | |
884 | +#: src/frontend.py:496 |
885 | +#, python-format |
886 | +msgid "Could not back out rule '%s'" |
887 | +msgstr "" |
888 | + |
889 | #: src/frontend.py:500 |
890 | -#, python-format |
891 | -msgid "Could not back out rule '%s'" |
892 | -msgstr "" |
893 | - |
894 | -#: src/frontend.py:504 |
895 | msgid "" |
896 | "\n" |
897 | "Error applying application rules." |
898 | msgstr "" |
899 | |
900 | -#: src/frontend.py:506 |
901 | +#: src/frontend.py:502 |
902 | msgid " Some rules could not be unapplied." |
903 | msgstr "" |
904 | |
905 | -#: src/frontend.py:508 |
906 | +#: src/frontend.py:504 |
907 | msgid " Attempted rules successfully unapplied." |
908 | msgstr "" |
909 | |
910 | -#: src/frontend.py:519 |
911 | +#: src/frontend.py:515 |
912 | #, python-format |
913 | msgid "Could not find rule '%s'" |
914 | msgstr "" |
915 | |
916 | -#: src/frontend.py:524 src/frontend.py:529 |
917 | +#: src/frontend.py:520 src/frontend.py:525 |
918 | #, python-format |
919 | msgid "Could not find rule '%d'" |
920 | msgstr "" |
921 | |
922 | -#: src/frontend.py:541 |
923 | +#: src/frontend.py:537 |
924 | #, python-format |
925 | msgid "" |
926 | "Deleting:\n" |
927 | @@ -608,229 +608,229 @@ |
928 | "Proceed with operation (%(yes)s|%(no)s)? " |
929 | msgstr "" |
930 | |
931 | -#: src/frontend.py:572 |
932 | +#: src/frontend.py:568 |
933 | msgid "Unsupported default policy" |
934 | msgstr "" |
935 | |
936 | -#: src/frontend.py:599 src/frontend.py:744 |
937 | +#: src/frontend.py:595 src/frontend.py:740 |
938 | msgid "Firewall reloaded" |
939 | msgstr "" |
940 | |
941 | -#: src/frontend.py:601 |
942 | +#: src/frontend.py:597 |
943 | msgid "Firewall not enabled (skipping reload)" |
944 | msgstr "" |
945 | |
946 | -#: src/frontend.py:618 src/frontend.py:632 src/frontend.py:669 |
947 | +#: src/frontend.py:614 src/frontend.py:628 src/frontend.py:665 |
948 | msgid "Invalid profile name" |
949 | msgstr "" |
950 | |
951 | -#: src/frontend.py:637 src/frontend.py:819 |
952 | +#: src/frontend.py:633 src/frontend.py:815 |
953 | #, python-format |
954 | msgid "Unsupported action '%s'" |
955 | msgstr "" |
956 | |
957 | -#: src/frontend.py:656 |
958 | +#: src/frontend.py:652 |
959 | msgid "Available applications:" |
960 | msgstr "" |
961 | |
962 | -#: src/frontend.py:677 |
963 | +#: src/frontend.py:673 |
964 | #, python-format |
965 | msgid "Could not find profile '%s'" |
966 | msgstr "" |
967 | |
968 | -#: src/frontend.py:682 |
969 | +#: src/frontend.py:678 |
970 | msgid "Invalid profile" |
971 | msgstr "" |
972 | |
973 | -#: src/frontend.py:685 |
974 | +#: src/frontend.py:681 |
975 | #, python-format |
976 | msgid "Profile: %s\n" |
977 | msgstr "" |
978 | |
979 | -#: src/frontend.py:686 |
980 | +#: src/frontend.py:682 |
981 | #, python-format |
982 | msgid "Title: %s\n" |
983 | msgstr "" |
984 | |
985 | -#: src/frontend.py:689 |
986 | +#: src/frontend.py:685 |
987 | #, python-format |
988 | msgid "" |
989 | "Description: %s\n" |
990 | "\n" |
991 | msgstr "" |
992 | |
993 | -#: src/frontend.py:695 |
994 | +#: src/frontend.py:691 |
995 | msgid "Ports:" |
996 | msgstr "" |
997 | |
998 | -#: src/frontend.py:697 |
999 | +#: src/frontend.py:693 |
1000 | msgid "Port:" |
1001 | msgstr "" |
1002 | |
1003 | -#: src/frontend.py:746 |
1004 | +#: src/frontend.py:742 |
1005 | msgid "Skipped reloading firewall" |
1006 | msgstr "" |
1007 | |
1008 | -#: src/frontend.py:756 |
1009 | +#: src/frontend.py:752 |
1010 | msgid "Cannot specify 'all' with '--add-new'" |
1011 | msgstr "" |
1012 | |
1013 | -#: src/frontend.py:771 |
1014 | +#: src/frontend.py:767 |
1015 | #, python-format |
1016 | msgid "Unknown policy '%s'" |
1017 | msgstr "" |
1018 | |
1019 | -#: src/frontend.py:828 |
1020 | +#: src/frontend.py:824 |
1021 | #, python-format |
1022 | msgid "" |
1023 | "Command may disrupt existing ssh connections. Proceed with operation " |
1024 | "(%(yes)s|%(no)s)? " |
1025 | msgstr "" |
1026 | |
1027 | +#: src/frontend.py:837 |
1028 | +#, python-format |
1029 | +msgid "" |
1030 | +"Resetting all rules to installed defaults. Proceed with operation " |
1031 | +"(%(yes)s|%(no)s)? " |
1032 | +msgstr "" |
1033 | + |
1034 | #: src/frontend.py:841 |
1035 | #, python-format |
1036 | msgid "" |
1037 | -"Resetting all rules to installed defaults. Proceed with operation " |
1038 | -"(%(yes)s|%(no)s)? " |
1039 | -msgstr "" |
1040 | - |
1041 | -#: src/frontend.py:845 |
1042 | -#, python-format |
1043 | -msgid "" |
1044 | "Resetting all rules to installed defaults. This may disrupt existing ssh " |
1045 | "connections. Proceed with operation (%(yes)s|%(no)s)? " |
1046 | msgstr "" |
1047 | |
1048 | -#: src/parser.py:109 |
1049 | +#: src/parser.py:107 |
1050 | #, python-format |
1051 | msgid "Cannot insert rule at position '%s'" |
1052 | msgstr "" |
1053 | |
1054 | -#: src/parser.py:147 |
1055 | +#: src/parser.py:145 |
1056 | msgid "Invalid interface clause" |
1057 | msgstr "" |
1058 | |
1059 | -#: src/parser.py:173 |
1060 | +#: src/parser.py:171 |
1061 | msgid "Option 'log' not allowed here" |
1062 | msgstr "" |
1063 | |
1064 | -#: src/parser.py:177 |
1065 | +#: src/parser.py:175 |
1066 | msgid "Option 'log-all' not allowed here" |
1067 | msgstr "" |
1068 | |
1069 | -#: src/parser.py:210 src/parser.py:224 |
1070 | +#: src/parser.py:208 src/parser.py:222 |
1071 | msgid "Bad port" |
1072 | msgstr "" |
1073 | |
1074 | -#: src/parser.py:215 src/parser.py:335 |
1075 | +#: src/parser.py:213 src/parser.py:333 |
1076 | msgid "Port ranges must be numeric" |
1077 | msgstr "" |
1078 | |
1079 | -#: src/parser.py:229 src/parser.py:426 |
1080 | +#: src/parser.py:227 src/parser.py:419 |
1081 | #, python-format |
1082 | msgid "Invalid port with protocol '%s'" |
1083 | msgstr "" |
1084 | |
1085 | -#: src/parser.py:233 |
1086 | +#: src/parser.py:231 |
1087 | msgid "Wrong number of arguments" |
1088 | msgstr "" |
1089 | |
1090 | -#: src/parser.py:237 |
1091 | +#: src/parser.py:235 |
1092 | msgid "Need 'to' or 'from' clause" |
1093 | msgstr "" |
1094 | |
1095 | -#: src/parser.py:252 |
1096 | +#: src/parser.py:250 |
1097 | msgid "Improper rule syntax" |
1098 | msgstr "" |
1099 | |
1100 | -#: src/parser.py:259 |
1101 | +#: src/parser.py:257 |
1102 | #, python-format |
1103 | msgid "Invalid token '%s'" |
1104 | msgstr "" |
1105 | |
1106 | -#: src/parser.py:268 |
1107 | +#: src/parser.py:266 |
1108 | msgid "Invalid 'proto' clause" |
1109 | msgstr "" |
1110 | |
1111 | -#: src/parser.py:280 |
1112 | +#: src/parser.py:278 |
1113 | #, python-format |
1114 | msgid "Invalid '%s' clause" |
1115 | msgstr "" |
1116 | |
1117 | -#: src/parser.py:299 |
1118 | +#: src/parser.py:297 |
1119 | msgid "Invalid 'from' clause" |
1120 | msgstr "" |
1121 | |
1122 | -#: src/parser.py:318 |
1123 | +#: src/parser.py:316 |
1124 | msgid "Invalid 'to' clause" |
1125 | msgstr "" |
1126 | |
1127 | -#: src/parser.py:323 |
1128 | +#: src/parser.py:321 |
1129 | #, python-format |
1130 | msgid "Need 'from' or 'to' with '%s'" |
1131 | msgstr "" |
1132 | |
1133 | -#: src/parser.py:347 |
1134 | +#: src/parser.py:345 |
1135 | msgid "Invalid 'port' clause" |
1136 | msgstr "" |
1137 | |
1138 | -#: src/parser.py:356 |
1139 | +#: src/parser.py:354 |
1140 | msgid "Mixed IP versions for 'from' and 'to'" |
1141 | msgstr "" |
1142 | |
1143 | -#: src/parser.py:370 src/parser.py:377 src/parser.py:383 |
1144 | +#: src/parser.py:368 src/parser.py:375 src/parser.py:381 |
1145 | msgid "Could not find protocol" |
1146 | msgstr "" |
1147 | |
1148 | -#: src/parser.py:390 |
1149 | +#: src/parser.py:388 |
1150 | msgid "Protocol mismatch (from/to)" |
1151 | msgstr "" |
1152 | |
1153 | -#: src/parser.py:397 |
1154 | +#: src/parser.py:395 |
1155 | #, python-format |
1156 | msgid "Protocol mismatch with specified protocol %s" |
1157 | msgstr "" |
1158 | |
1159 | +#: src/parser.py:402 |
1160 | +#, python-format |
1161 | +msgid "Improper rule syntax ('%s' specified with app rule)" |
1162 | +msgstr "" |
1163 | + |
1164 | #: src/parser.py:409 |
1165 | #, python-format |
1166 | -msgid "Improper rule syntax ('%s' specified with app rule)" |
1167 | -msgstr "" |
1168 | - |
1169 | -#: src/parser.py:416 |
1170 | -#, python-format |
1171 | msgid "Invalid IPv6 address with protocol '%s'" |
1172 | msgstr "" |
1173 | |
1174 | -#: src/parser.py:745 |
1175 | +#: src/parser.py:738 |
1176 | #, python-format |
1177 | msgid "Invalid command '%s'" |
1178 | msgstr "" |
1179 | |
1180 | -#: src/parser.py:767 |
1181 | +#: src/parser.py:760 |
1182 | #, python-format |
1183 | msgid "Command '%s' already exists" |
1184 | msgstr "" |
1185 | |
1186 | -#: src/util.py:386 |
1187 | +#: src/util.py:414 |
1188 | msgid "Couldn't find pid (is /proc mounted?)" |
1189 | msgstr "" |
1190 | |
1191 | -#: src/util.py:390 |
1192 | +#: src/util.py:418 |
1193 | #, python-format |
1194 | msgid "Couldn't find parent pid for '%s'" |
1195 | msgstr "" |
1196 | |
1197 | -#: src/util.py:400 |
1198 | +#: src/util.py:428 |
1199 | #, python-format |
1200 | msgid "Couldn't find '%s'" |
1201 | msgstr "" |
1202 | |
1203 | -#: src/util.py:406 |
1204 | +#: src/util.py:434 |
1205 | #, python-format |
1206 | msgid "Could not find executable for '%s'" |
1207 | msgstr "" |
1208 | |
1209 | -#: src/util.py:871 |
1210 | +#: src/util.py:985 |
1211 | #, python-format |
1212 | msgid "Could not get statistics for '%s'" |
1213 | msgstr "" |
1214 | |
1215 | === modified file 'locales/po/ast.po' |
1216 | --- locales/po/ast.po 2012-04-04 20:44:20 +0000 |
1217 | +++ locales/po/ast.po 2013-11-11 16:00:06 +0000 |
1218 | @@ -7,169 +7,168 @@ |
1219 | msgstr "" |
1220 | "Project-Id-Version: ufw\n" |
1221 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
1222 | -"POT-Creation-Date: 2011-03-22 10:34-0500\n" |
1223 | +"POT-Creation-Date: 2012-07-29 09:48-0500\n" |
1224 | "PO-Revision-Date: 2010-04-08 14:07+0000\n" |
1225 | "Last-Translator: Costales <costales.marcos@gmail.com>\n" |
1226 | "Language-Team: Asturian <ast@li.org>\n" |
1227 | "MIME-Version: 1.0\n" |
1228 | "Content-Type: text/plain; charset=UTF-8\n" |
1229 | "Content-Transfer-Encoding: 8bit\n" |
1230 | -"X-Launchpad-Export-Date: 2012-02-13 23:52+0000\n" |
1231 | -"X-Generator: Launchpad (build 14781)\n" |
1232 | - |
1233 | -#: src/ufw:46 |
1234 | -msgid ": Need at least python 2.5)\n" |
1235 | -msgstr ": Necesitase como mínimo Python 2.5)\n" |
1236 | - |
1237 | -#: src/ufw:103 src/frontend.py:554 src/frontend.py:854 |
1238 | +"X-Launchpad-Export-Date: 2012-08-12 01:56+0000\n" |
1239 | +"X-Generator: Launchpad (build 15780)\n" |
1240 | + |
1241 | +#: src/ufw:56 |
1242 | +msgid ": Need at least python 2.6)\n" |
1243 | +msgstr "" |
1244 | + |
1245 | +#: src/ufw:109 src/frontend.py:550 src/frontend.py:850 |
1246 | msgid "Aborted" |
1247 | msgstr "Albortáu" |
1248 | |
1249 | -#: src/applications.py:32 |
1250 | +#: src/applications.py:36 |
1251 | msgid "Profiles directory does not exist" |
1252 | msgstr "Nun esiste'l direutoriu de perfiles" |
1253 | |
1254 | -#: src/applications.py:64 |
1255 | +#: src/applications.py:68 |
1256 | #, python-format |
1257 | msgid "Skipping '%s': couldn't stat" |
1258 | msgstr "Saltando «%s»: nun puede llese" |
1259 | |
1260 | -#: src/applications.py:69 |
1261 | +#: src/applications.py:73 |
1262 | #, python-format |
1263 | msgid "Skipping '%s': too big" |
1264 | msgstr "Saltando «%s»: enforma grande" |
1265 | |
1266 | -#: src/applications.py:74 |
1267 | +#: src/applications.py:78 |
1268 | #, python-format |
1269 | msgid "Skipping '%s': too many files read already" |
1270 | msgstr "Saltando «%s»: yá se lleeron abondos ficheros" |
1271 | |
1272 | -#: src/applications.py:84 |
1273 | +#: src/applications.py:92 |
1274 | #, python-format |
1275 | msgid "Skipping '%s': couldn't process" |
1276 | msgstr "Saltando «%s»: nun puede procesase" |
1277 | |
1278 | -#: src/applications.py:91 |
1279 | +#: src/applications.py:99 |
1280 | #, python-format |
1281 | msgid "Skipping '%s': name too long" |
1282 | msgstr "Saltando «%s»: nome enforma llargu" |
1283 | |
1284 | -#: src/applications.py:96 |
1285 | +#: src/applications.py:104 |
1286 | #, python-format |
1287 | msgid "Skipping '%s': invalid name" |
1288 | msgstr "Saltando «%s»: nome incorreutu" |
1289 | |
1290 | -#: src/applications.py:102 |
1291 | +#: src/applications.py:110 |
1292 | #, python-format |
1293 | msgid "Skipping '%s': also in /etc/services" |
1294 | msgstr "Saltando «%s»: ta tamién en /etc/services" |
1295 | |
1296 | -#: src/applications.py:111 |
1297 | +#: src/applications.py:119 |
1298 | #, python-format |
1299 | msgid "Skipping '%s': field too long" |
1300 | msgstr "Saltando «%s»: campu enforma llargu" |
1301 | |
1302 | -#: src/applications.py:116 |
1303 | +#: src/applications.py:124 |
1304 | #, python-format |
1305 | msgid "Skipping '%(value)s': value too long for '%(field)s'" |
1306 | msgstr "Saltando '%(value)s': valor enforma llargu pa '%(field)s'" |
1307 | |
1308 | -#: src/applications.py:126 |
1309 | +#: src/applications.py:134 |
1310 | #, python-format |
1311 | msgid "Duplicate profile '%s', using last found" |
1312 | msgstr "Perfil «%s» duplicáu; usaráse l'últimu alcontráu" |
1313 | |
1314 | -#: src/applications.py:156 |
1315 | +#: src/applications.py:171 |
1316 | #, python-format |
1317 | msgid "Profile '%(fn)s' missing required field '%(f)s'" |
1318 | msgstr "Nel perfil «%(fn)s» falta'l campu obligatoriu '%(f)s'" |
1319 | |
1320 | -#: src/applications.py:161 |
1321 | +#: src/applications.py:176 |
1322 | #, python-format |
1323 | msgid "Profile '%(fn)s' has empty required field '%(f)s'" |
1324 | msgstr "El perfil «%(fn)s» tienn ermu'l campu obligatoriu «%(f)s»" |
1325 | |
1326 | -#: src/applications.py:167 |
1327 | +#: src/applications.py:182 |
1328 | #, python-format |
1329 | msgid "No ports found in profile '%s'" |
1330 | msgstr "Nun s'alcontraron puertos nel perfil «%s»" |
1331 | |
1332 | -#: src/applications.py:180 |
1333 | +#: src/applications.py:195 |
1334 | #, python-format |
1335 | msgid "Invalid ports in profile '%s'" |
1336 | msgstr "Hai puertos incorreutos nel perfil «%s»" |
1337 | |
1338 | -#: src/backend_iptables.py:87 |
1339 | +#: src/backend_iptables.py:72 |
1340 | msgid "New profiles:" |
1341 | msgstr "Perfiles nuevos:" |
1342 | |
1343 | -#: src/backend_iptables.py:103 src/backend.py:275 |
1344 | +#: src/backend_iptables.py:88 src/backend.py:315 |
1345 | #, python-format |
1346 | msgid "Unsupported policy '%s'" |
1347 | msgstr "Política «%s» non sofitada" |
1348 | |
1349 | -#: src/backend_iptables.py:107 |
1350 | +#: src/backend_iptables.py:92 |
1351 | #, python-format |
1352 | msgid "Unsupported policy for direction '%s'" |
1353 | msgstr "Politica pa direición '%s' non sofitada" |
1354 | |
1355 | -#: src/backend_iptables.py:165 |
1356 | +#: src/backend_iptables.py:150 |
1357 | #, python-format |
1358 | msgid "Default %(direction)s policy changed to '%(policy)s'\n" |
1359 | msgstr "La política %(direction)s predeterminada camudó a '%(policy)s'\n" |
1360 | |
1361 | -#: src/backend_iptables.py:167 |
1362 | +#: src/backend_iptables.py:152 |
1363 | msgid "(be sure to update your rules accordingly)" |
1364 | msgstr "(asegúrate d'anovar les regles consecuentemente)" |
1365 | |
1366 | -#: src/backend_iptables.py:174 |
1367 | +#: src/backend_iptables.py:159 |
1368 | msgid "Checking raw iptables\n" |
1369 | msgstr "Comprobando iptables en bruto\n" |
1370 | |
1371 | -#: src/backend_iptables.py:175 |
1372 | +#: src/backend_iptables.py:160 |
1373 | msgid "Checking raw ip6tables\n" |
1374 | msgstr "Comprobando ip6tables en bruto\n" |
1375 | |
1376 | -#: src/backend_iptables.py:178 src/backend_iptables.py:269 |
1377 | -#: src/backend_iptables.py:448 src/backend_iptables.py:459 |
1378 | -#: src/backend_iptables.py:507 |
1379 | -msgid "problem running" |
1380 | -msgstr "problema executando" |
1381 | - |
1382 | -#: src/backend_iptables.py:264 |
1383 | +#: src/backend_iptables.py:250 |
1384 | msgid "Checking iptables\n" |
1385 | msgstr "Verificando les regles d'iptables\n" |
1386 | |
1387 | -#: src/backend_iptables.py:266 |
1388 | +#: src/backend_iptables.py:252 |
1389 | msgid "Checking ip6tables\n" |
1390 | msgstr "Verificando les regles d'ip6tables\n" |
1391 | |
1392 | -#: src/backend_iptables.py:275 |
1393 | +#: src/backend_iptables.py:255 src/backend_iptables.py:435 |
1394 | +#: src/backend_iptables.py:446 src/backend_iptables.py:497 |
1395 | +msgid "problem running" |
1396 | +msgstr "problema executando" |
1397 | + |
1398 | +#: src/backend_iptables.py:261 |
1399 | msgid "Status: inactive" |
1400 | msgstr "Estáu: inactivu" |
1401 | |
1402 | -#: src/backend_iptables.py:411 |
1403 | +#: src/backend_iptables.py:397 |
1404 | msgid "To" |
1405 | msgstr "A" |
1406 | |
1407 | -#: src/backend_iptables.py:412 |
1408 | +#: src/backend_iptables.py:398 |
1409 | msgid "From" |
1410 | msgstr "Dende" |
1411 | |
1412 | -#: src/backend_iptables.py:413 |
1413 | +#: src/backend_iptables.py:399 |
1414 | msgid "Action" |
1415 | msgstr "Aición" |
1416 | |
1417 | -#: src/backend_iptables.py:428 |
1418 | +#: src/backend_iptables.py:415 |
1419 | msgid "\n" |
1420 | msgstr "\n" |
1421 | |
1422 | -#: src/backend_iptables.py:436 |
1423 | +#: src/backend_iptables.py:423 |
1424 | #, python-format |
1425 | msgid "Default: %(in)s (incoming), %(out)s (outgoing)" |
1426 | msgstr "Por defeuto: %(in)s (Entrada), %(out)s (Salida)" |
1427 | |
1428 | -#: src/backend_iptables.py:440 |
1429 | +#: src/backend_iptables.py:427 |
1430 | #, python-format |
1431 | msgid "" |
1432 | "Status: active\n" |
1433 | @@ -182,265 +181,270 @@ |
1434 | "%(pol)s\n" |
1435 | "%(app)s%(status)s" |
1436 | |
1437 | -#: src/backend_iptables.py:444 |
1438 | +#: src/backend_iptables.py:431 |
1439 | #, python-format |
1440 | msgid "Status: active%s" |
1441 | msgstr "Estáu: activu%s" |
1442 | |
1443 | -#: src/backend_iptables.py:450 src/backend_iptables.py:461 |
1444 | +#: src/backend_iptables.py:437 src/backend_iptables.py:448 |
1445 | msgid "running ufw-init" |
1446 | msgstr "executando ufw-init" |
1447 | |
1448 | -#: src/backend_iptables.py:474 |
1449 | +#: src/backend_iptables.py:461 |
1450 | msgid "Could not set LOGLEVEL" |
1451 | msgstr "Nun pudo afitase LOGLEVEL" |
1452 | |
1453 | -#: src/backend_iptables.py:480 |
1454 | +#: src/backend_iptables.py:467 |
1455 | msgid "Could not load logging rules" |
1456 | msgstr "Nun pudieron cargase les regles de rexistru" |
1457 | |
1458 | -#: src/backend_iptables.py:629 src/backend.py:181 |
1459 | +#: src/backend_iptables.py:619 src/backend.py:221 |
1460 | #, python-format |
1461 | msgid "Couldn't open '%s' for reading" |
1462 | msgstr "Nun puede abrise «%s» pa llectura" |
1463 | |
1464 | -#: src/backend_iptables.py:638 |
1465 | +#: src/backend_iptables.py:628 |
1466 | #, python-format |
1467 | msgid "Skipping malformed tuple (bad length): %s" |
1468 | msgstr "" |
1469 | "Saltando regla errónea (llonxitú errónea): %s. Verifica'l to tornafueos" |
1470 | |
1471 | -#: src/backend_iptables.py:668 |
1472 | +#: src/backend_iptables.py:659 |
1473 | #, python-format |
1474 | msgid "Skipping malformed tuple: %s" |
1475 | msgstr "Saltando llínia erróna: %s. Verifica'l to tornafueos" |
1476 | |
1477 | -#: src/backend_iptables.py:690 src/backend.py:213 |
1478 | +#: src/backend_iptables.py:681 src/backend.py:253 |
1479 | #, python-format |
1480 | msgid "'%s' is not writable" |
1481 | msgstr "" |
1482 | |
1483 | -#: src/backend_iptables.py:830 |
1484 | +#: src/backend_iptables.py:839 |
1485 | msgid "Adding IPv6 rule failed: IPv6 not enabled" |
1486 | msgstr "Fallu al amestar la regla IPv6: IPv6 nun activao" |
1487 | |
1488 | -#: src/backend_iptables.py:834 |
1489 | +#: src/backend_iptables.py:843 |
1490 | #, python-format |
1491 | msgid "Skipping unsupported IPv6 '%s' rule" |
1492 | msgstr "Saltando regla IPv6 «%s» non sofitada" |
1493 | |
1494 | -#: src/backend_iptables.py:837 |
1495 | +#: src/backend_iptables.py:847 |
1496 | +#, python-format |
1497 | +msgid "Skipping unsupported IPv4 '%s' rule" |
1498 | +msgstr "" |
1499 | + |
1500 | +#: src/backend_iptables.py:850 |
1501 | msgid "Must specify 'tcp' or 'udp' with multiple ports" |
1502 | msgstr "Tien d'especificase «tcp» o «udp» con varios puertos" |
1503 | |
1504 | -#: src/backend_iptables.py:849 |
1505 | +#: src/backend_iptables.py:862 |
1506 | msgid "Skipping IPv6 application rule. Need at least iptables 1.4" |
1507 | msgstr "" |
1508 | "Saltando les regles d'aplicación IPv6. Necesitase iptables 1.4 como mínimo" |
1509 | |
1510 | -#: src/backend_iptables.py:854 |
1511 | +#: src/backend_iptables.py:867 |
1512 | #, python-format |
1513 | msgid "Invalid position '%d'" |
1514 | msgstr "Posición «%d» incorreuta" |
1515 | |
1516 | -#: src/backend_iptables.py:858 |
1517 | +#: src/backend_iptables.py:871 |
1518 | msgid "Cannot specify insert and delete" |
1519 | msgstr "Nun puede especificase inxertar y desaniciar" |
1520 | |
1521 | -#: src/backend_iptables.py:861 |
1522 | +#: src/backend_iptables.py:874 |
1523 | #, python-format |
1524 | msgid "Cannot insert rule at position '%d'" |
1525 | msgstr "Nun pudo inxertase la regla na posición «%d»" |
1526 | |
1527 | -#: src/backend_iptables.py:919 |
1528 | +#: src/backend_iptables.py:932 |
1529 | msgid "Skipping inserting existing rule" |
1530 | msgstr "Saltando l'inxertáu de regla ya existente" |
1531 | |
1532 | -#: src/backend_iptables.py:930 src/frontend.py:365 |
1533 | +#: src/backend_iptables.py:943 src/frontend.py:361 |
1534 | msgid "Could not delete non-existent rule" |
1535 | msgstr "Nun puede desaniciase una regla inesistente" |
1536 | |
1537 | -#: src/backend_iptables.py:935 |
1538 | +#: src/backend_iptables.py:948 |
1539 | msgid "Skipping adding existing rule" |
1540 | msgstr "Saltando l'añader d'una regla ya existente" |
1541 | |
1542 | -#: src/backend_iptables.py:951 |
1543 | +#: src/backend_iptables.py:964 |
1544 | msgid "Couldn't update rules file" |
1545 | msgstr "Nun pudo anovase'l ficheru de regles" |
1546 | |
1547 | -#: src/backend_iptables.py:956 |
1548 | +#: src/backend_iptables.py:969 |
1549 | msgid "Rules updated" |
1550 | msgstr "Regles anovaes" |
1551 | |
1552 | -#: src/backend_iptables.py:958 |
1553 | +#: src/backend_iptables.py:971 |
1554 | msgid "Rules updated (v6)" |
1555 | msgstr "Regles anovaes (v6)" |
1556 | |
1557 | -#: src/backend_iptables.py:966 |
1558 | +#: src/backend_iptables.py:979 |
1559 | msgid "Rule inserted" |
1560 | msgstr "Regla inxertada" |
1561 | |
1562 | -#: src/backend_iptables.py:968 |
1563 | +#: src/backend_iptables.py:981 |
1564 | msgid "Rule updated" |
1565 | msgstr "Regla anovada" |
1566 | |
1567 | -#: src/backend_iptables.py:978 |
1568 | +#: src/backend_iptables.py:991 |
1569 | msgid " (skipped reloading firewall)" |
1570 | msgstr " (saltando la recarga del tornafueos)" |
1571 | |
1572 | -#: src/backend_iptables.py:981 |
1573 | +#: src/backend_iptables.py:994 |
1574 | msgid "Rule deleted" |
1575 | msgstr "Regla desaniciada" |
1576 | |
1577 | -#: src/backend_iptables.py:984 |
1578 | +#: src/backend_iptables.py:997 |
1579 | msgid "Rule added" |
1580 | msgstr "Regla amestada" |
1581 | |
1582 | -#: src/backend_iptables.py:999 src/backend_iptables.py:1087 |
1583 | +#: src/backend_iptables.py:1012 src/backend_iptables.py:1100 |
1584 | msgid "Could not update running firewall" |
1585 | msgstr "El tortafueos NON foi anováu" |
1586 | |
1587 | -#: src/backend_iptables.py:1054 |
1588 | +#: src/backend_iptables.py:1067 |
1589 | #, python-format |
1590 | msgid "Could not perform '%s'" |
1591 | msgstr "Nun puedes facer «%s»" |
1592 | |
1593 | -#: src/backend_iptables.py:1078 |
1594 | +#: src/backend_iptables.py:1091 |
1595 | msgid "Couldn't update rules file for logging" |
1596 | msgstr "" |
1597 | |
1598 | -#: src/backend_iptables.py:1132 src/backend.py:530 |
1599 | +#: src/backend_iptables.py:1149 src/backend.py:571 |
1600 | #, python-format |
1601 | msgid "Invalid log level '%s'" |
1602 | msgstr "Nivel de rexistru «%s» incorreutu" |
1603 | |
1604 | -#: src/backend_iptables.py:1228 |
1605 | +#: src/backend_iptables.py:1246 |
1606 | #, python-format |
1607 | msgid "Could not find '%s'. Aborting" |
1608 | msgstr "" |
1609 | |
1610 | -#: src/backend_iptables.py:1240 |
1611 | +#: src/backend_iptables.py:1258 |
1612 | #, python-format |
1613 | msgid "'%s' already exists. Aborting" |
1614 | msgstr "" |
1615 | |
1616 | -#: src/backend_iptables.py:1246 |
1617 | +#: src/backend_iptables.py:1264 |
1618 | #, python-format |
1619 | msgid "Backing up '%(old)s' to '%(new)s'\n" |
1620 | msgstr "" |
1621 | |
1622 | -#: src/backend_iptables.py:1262 src/backend.py:140 |
1623 | +#: src/backend_iptables.py:1280 src/backend.py:180 |
1624 | #, python-format |
1625 | msgid "Couldn't stat '%s'" |
1626 | msgstr "Nun se pudo facer stat «%s»" |
1627 | |
1628 | -#: src/backend_iptables.py:1267 |
1629 | +#: src/backend_iptables.py:1285 |
1630 | #, python-format |
1631 | msgid "WARN: '%s' is world writable" |
1632 | msgstr "" |
1633 | |
1634 | -#: src/backend_iptables.py:1269 |
1635 | +#: src/backend_iptables.py:1287 |
1636 | #, python-format |
1637 | msgid "WARN: '%s' is world readable" |
1638 | msgstr "" |
1639 | |
1640 | -#: src/backend.py:96 |
1641 | +#: src/backend.py:136 |
1642 | msgid "Checks disabled" |
1643 | msgstr "Verificación desactivada" |
1644 | |
1645 | -#: src/backend.py:102 |
1646 | +#: src/backend.py:142 |
1647 | msgid "ERROR: this script should not be SUID" |
1648 | msgstr "ERROR: esti guión nun tendría de ser SUID" |
1649 | |
1650 | -#: src/backend.py:105 |
1651 | +#: src/backend.py:145 |
1652 | msgid "ERROR: this script should not be SGID" |
1653 | msgstr "ERROR: esti guión nun tendría de ser SGID" |
1654 | |
1655 | -#: src/backend.py:110 |
1656 | +#: src/backend.py:150 |
1657 | msgid "You need to be root to run this script" |
1658 | msgstr "Necesita permisos d'alministrador pa executar esti guión" |
1659 | |
1660 | -#: src/backend.py:120 |
1661 | +#: src/backend.py:160 |
1662 | #, python-format |
1663 | msgid "'%s' does not exist" |
1664 | msgstr "«%s» nun esiste" |
1665 | |
1666 | -#: src/backend.py:146 |
1667 | +#: src/backend.py:186 |
1668 | #, python-format |
1669 | msgid "uid is %(uid)s but '%(path)s' is owned by %(st_uid)s" |
1670 | msgstr "l'uid ye %(uid)s pero «%(path)s» pertenez a %(st_uid)s" |
1671 | |
1672 | -#: src/backend.py:153 |
1673 | +#: src/backend.py:193 |
1674 | #, python-format |
1675 | msgid "%s is world writable!" |
1676 | msgstr "¡%s tien concedíos permisos d'escritura pa tol mundu!" |
1677 | |
1678 | -#: src/backend.py:157 |
1679 | +#: src/backend.py:197 |
1680 | #, python-format |
1681 | msgid "%s is group writable!" |
1682 | msgstr "¡El grupu tien drechu d'escritura en %s!" |
1683 | |
1684 | -#: src/backend.py:170 |
1685 | +#: src/backend.py:210 |
1686 | #, python-format |
1687 | msgid "'%(f)s' file '%(name)s' does not exist" |
1688 | msgstr "'%(f)s' el ficheru '%(name)s' nun esiste" |
1689 | |
1690 | -#: src/backend.py:195 |
1691 | +#: src/backend.py:235 |
1692 | #, python-format |
1693 | msgid "Missing policy for '%s'" |
1694 | msgstr "Falta política pa '%s'" |
1695 | |
1696 | -#: src/backend.py:200 |
1697 | +#: src/backend.py:240 |
1698 | #, python-format |
1699 | msgid "Invalid policy '%(policy)s' for '%(chain)s'" |
1700 | msgstr "Política «%(policy)s» incorreuta pa «%(chain)s»" |
1701 | |
1702 | -#: src/backend.py:207 |
1703 | +#: src/backend.py:247 |
1704 | msgid "Invalid option" |
1705 | msgstr "Opción inválida" |
1706 | |
1707 | -#: src/backend.py:278 |
1708 | +#: src/backend.py:318 |
1709 | #, python-format |
1710 | msgid "Default application policy changed to '%s'" |
1711 | msgstr "Directives d'aplicación predeterminaes camudaes a «%s»" |
1712 | |
1713 | -#: src/backend.py:360 |
1714 | +#: src/backend.py:400 |
1715 | msgid "No rules found for application profile" |
1716 | msgstr "Nun s'alcontraron regles pal perfil de l'aplicación" |
1717 | |
1718 | -#: src/backend.py:419 |
1719 | +#: src/backend.py:459 |
1720 | #, python-format |
1721 | msgid "Rules updated for profile '%s'" |
1722 | msgstr "Anovaronse les regles pal perfil «%s»" |
1723 | |
1724 | -#: src/backend.py:425 |
1725 | +#: src/backend.py:465 |
1726 | msgid "Couldn't update application rules" |
1727 | msgstr "Nun pudieron anovase les regles de la aplicación" |
1728 | |
1729 | -#: src/backend.py:447 |
1730 | +#: src/backend.py:487 |
1731 | #, python-format |
1732 | msgid "Found multiple matches for '%s'. Please use exact profile name" |
1733 | msgstr "" |
1734 | "Alcontraronse varies coincidencise pa «%s». Usa un nome de perfil esautu" |
1735 | |
1736 | -#: src/backend.py:448 |
1737 | +#: src/backend.py:489 |
1738 | #, python-format |
1739 | msgid "Could not find a profile matching '%s'" |
1740 | msgstr "Nun pudo alcontrase un perfil que concase con «%s»" |
1741 | |
1742 | -#: src/backend.py:514 |
1743 | +#: src/backend.py:555 |
1744 | msgid "Logging: " |
1745 | msgstr "Accesu: " |
1746 | |
1747 | -#: src/backend.py:518 |
1748 | +#: src/backend.py:559 |
1749 | msgid "unknown" |
1750 | msgstr "desconocíu" |
1751 | |
1752 | -#: src/backend.py:548 |
1753 | +#: src/backend.py:589 |
1754 | msgid "Logging disabled" |
1755 | msgstr "Rexistru desactiváu" |
1756 | |
1757 | -#: src/backend.py:550 |
1758 | +#: src/backend.py:591 |
1759 | msgid "Logging enabled" |
1760 | msgstr "Registru activáu" |
1761 | |
1762 | @@ -489,25 +493,21 @@ |
1763 | msgid "Unsupported direction '%s'" |
1764 | msgstr "Direición '%s' non sofitada" |
1765 | |
1766 | -#: src/common.py:346 |
1767 | -msgid "Could not normalize source address" |
1768 | -msgstr "Nun pudo normalizase la direición d'orixe" |
1769 | - |
1770 | -#: src/common.py:356 |
1771 | +#: src/common.py:355 |
1772 | msgid "Could not normalize destination address" |
1773 | msgstr "Nun pudo normalizase la direición de destín" |
1774 | |
1775 | -#: src/common.py:417 |
1776 | +#: src/common.py:416 |
1777 | msgid "Found exact match" |
1778 | msgstr "Alcontrada una coincidencia esauta" |
1779 | |
1780 | -#: src/common.py:421 |
1781 | +#: src/common.py:420 |
1782 | #, python-format |
1783 | msgid "Found non-action/non-logtype match (%(xa)s/%(ya)s %(xl)s/%(yl)s)" |
1784 | msgstr "" |
1785 | "Coincidencia alcontrada non-action/non-logtype (%(xa)s/%(ya)s %(xl)s/%(yl)s)" |
1786 | |
1787 | -#: src/frontend.py:93 |
1788 | +#: src/frontend.py:88 |
1789 | #, python-format |
1790 | msgid "" |
1791 | "\n" |
1792 | @@ -538,53 +538,53 @@ |
1793 | " %(appdefault)-31s set default application policy\n" |
1794 | msgstr "" |
1795 | |
1796 | -#: src/frontend.py:168 |
1797 | +#: src/frontend.py:160 |
1798 | msgid "n" |
1799 | msgstr "n" |
1800 | |
1801 | -#: src/frontend.py:169 |
1802 | +#: src/frontend.py:161 |
1803 | msgid "y" |
1804 | msgstr "y" |
1805 | |
1806 | -#: src/frontend.py:170 |
1807 | +#: src/frontend.py:162 |
1808 | msgid "yes" |
1809 | msgstr "sí" |
1810 | |
1811 | -#: src/frontend.py:215 |
1812 | +#: src/frontend.py:207 |
1813 | msgid "Firewall is active and enabled on system startup" |
1814 | msgstr "El tornafueos ta activo y activáu nel arranque del sistema" |
1815 | |
1816 | -#: src/frontend.py:222 |
1817 | +#: src/frontend.py:214 |
1818 | msgid "Firewall stopped and disabled on system startup" |
1819 | msgstr "El tornafueos ta paráu y desactiváu nel arranque del sistema" |
1820 | |
1821 | -#: src/frontend.py:273 |
1822 | +#: src/frontend.py:265 |
1823 | msgid "Could not get listening status" |
1824 | msgstr "" |
1825 | |
1826 | -#: src/frontend.py:360 src/frontend.py:458 src/frontend.py:468 |
1827 | +#: src/frontend.py:356 src/frontend.py:454 src/frontend.py:464 |
1828 | #, python-format |
1829 | msgid "Invalid IP version '%s'" |
1830 | msgstr "La versión d'IP «%s» nun ye válida" |
1831 | |
1832 | -#: src/frontend.py:391 |
1833 | +#: src/frontend.py:387 |
1834 | msgid "Invalid position '" |
1835 | msgstr "Posición ' incorreuta" |
1836 | |
1837 | -#: src/frontend.py:465 |
1838 | +#: src/frontend.py:461 |
1839 | msgid "IPv6 support not enabled" |
1840 | msgstr "El sofitu pa IPv6 nun ta activao" |
1841 | |
1842 | -#: src/frontend.py:476 |
1843 | +#: src/frontend.py:472 |
1844 | msgid "Rule changed after normalization" |
1845 | msgstr "Camudóse una regla tres la normalización" |
1846 | |
1847 | -#: src/frontend.py:500 |
1848 | +#: src/frontend.py:496 |
1849 | #, python-format |
1850 | msgid "Could not back out rule '%s'" |
1851 | msgstr "Nun pudo revertise la regla «%s»" |
1852 | |
1853 | -#: src/frontend.py:504 |
1854 | +#: src/frontend.py:500 |
1855 | msgid "" |
1856 | "\n" |
1857 | "Error applying application rules." |
1858 | @@ -592,25 +592,25 @@ |
1859 | "\n" |
1860 | "Hebo un fallu al aplicar les regles de l'aplicación." |
1861 | |
1862 | -#: src/frontend.py:506 |
1863 | +#: src/frontend.py:502 |
1864 | msgid " Some rules could not be unapplied." |
1865 | msgstr " Ye posible que dalgunes regles nun s'heban revertío." |
1866 | |
1867 | -#: src/frontend.py:508 |
1868 | +#: src/frontend.py:504 |
1869 | msgid " Attempted rules successfully unapplied." |
1870 | msgstr " Les regles pudieron revertise." |
1871 | |
1872 | -#: src/frontend.py:519 |
1873 | +#: src/frontend.py:515 |
1874 | #, python-format |
1875 | msgid "Could not find rule '%s'" |
1876 | msgstr "" |
1877 | |
1878 | -#: src/frontend.py:524 src/frontend.py:529 |
1879 | +#: src/frontend.py:520 src/frontend.py:525 |
1880 | #, python-format |
1881 | msgid "Could not find rule '%d'" |
1882 | msgstr "" |
1883 | |
1884 | -#: src/frontend.py:541 |
1885 | +#: src/frontend.py:537 |
1886 | #, python-format |
1887 | msgid "" |
1888 | "Deleting:\n" |
1889 | @@ -618,51 +618,51 @@ |
1890 | "Proceed with operation (%(yes)s|%(no)s)? " |
1891 | msgstr "" |
1892 | |
1893 | -#: src/frontend.py:572 |
1894 | +#: src/frontend.py:568 |
1895 | msgid "Unsupported default policy" |
1896 | msgstr "Política predeterminada non sofitada" |
1897 | |
1898 | -#: src/frontend.py:599 src/frontend.py:744 |
1899 | +#: src/frontend.py:595 src/frontend.py:740 |
1900 | msgid "Firewall reloaded" |
1901 | msgstr "El tornafueos reaniciose" |
1902 | |
1903 | -#: src/frontend.py:601 |
1904 | +#: src/frontend.py:597 |
1905 | msgid "Firewall not enabled (skipping reload)" |
1906 | msgstr "El tornafueos nun ta activáu (nun puede recargase)" |
1907 | |
1908 | -#: src/frontend.py:618 src/frontend.py:632 src/frontend.py:669 |
1909 | +#: src/frontend.py:614 src/frontend.py:628 src/frontend.py:665 |
1910 | msgid "Invalid profile name" |
1911 | msgstr "El nome del perfil ye incorreutu" |
1912 | |
1913 | -#: src/frontend.py:637 src/frontend.py:819 |
1914 | +#: src/frontend.py:633 src/frontend.py:815 |
1915 | #, python-format |
1916 | msgid "Unsupported action '%s'" |
1917 | msgstr "Aición «%s» non sofitada" |
1918 | |
1919 | -#: src/frontend.py:656 |
1920 | +#: src/frontend.py:652 |
1921 | msgid "Available applications:" |
1922 | msgstr "Aplicaciones disponibles:" |
1923 | |
1924 | -#: src/frontend.py:677 |
1925 | +#: src/frontend.py:673 |
1926 | #, python-format |
1927 | msgid "Could not find profile '%s'" |
1928 | msgstr "Nun pudo alcontrase'l perfil «%s»" |
1929 | |
1930 | -#: src/frontend.py:682 |
1931 | +#: src/frontend.py:678 |
1932 | msgid "Invalid profile" |
1933 | msgstr "Perfil incorreutu" |
1934 | |
1935 | -#: src/frontend.py:685 |
1936 | +#: src/frontend.py:681 |
1937 | #, python-format |
1938 | msgid "Profile: %s\n" |
1939 | msgstr "Perfil: %s\n" |
1940 | |
1941 | -#: src/frontend.py:686 |
1942 | +#: src/frontend.py:682 |
1943 | #, python-format |
1944 | msgid "Title: %s\n" |
1945 | msgstr "Títulu: %s\n" |
1946 | |
1947 | -#: src/frontend.py:689 |
1948 | +#: src/frontend.py:685 |
1949 | #, python-format |
1950 | msgid "" |
1951 | "Description: %s\n" |
1952 | @@ -671,180 +671,180 @@ |
1953 | "Descripción: %s\n" |
1954 | "\n" |
1955 | |
1956 | -#: src/frontend.py:695 |
1957 | +#: src/frontend.py:691 |
1958 | msgid "Ports:" |
1959 | msgstr "Puertos:" |
1960 | |
1961 | -#: src/frontend.py:697 |
1962 | +#: src/frontend.py:693 |
1963 | msgid "Port:" |
1964 | msgstr "Puertu:" |
1965 | |
1966 | -#: src/frontend.py:746 |
1967 | +#: src/frontend.py:742 |
1968 | msgid "Skipped reloading firewall" |
1969 | msgstr "Saltase la recarga del tornafueos" |
1970 | |
1971 | -#: src/frontend.py:756 |
1972 | +#: src/frontend.py:752 |
1973 | msgid "Cannot specify 'all' with '--add-new'" |
1974 | msgstr "Nun puede especificase «all» con «--add-new»" |
1975 | |
1976 | -#: src/frontend.py:771 |
1977 | +#: src/frontend.py:767 |
1978 | #, python-format |
1979 | msgid "Unknown policy '%s'" |
1980 | msgstr "La política «%s» ye desconocida" |
1981 | |
1982 | -#: src/frontend.py:828 |
1983 | +#: src/frontend.py:824 |
1984 | #, python-format |
1985 | msgid "" |
1986 | "Command may disrupt existing ssh connections. Proceed with operation " |
1987 | "(%(yes)s|%(no)s)? " |
1988 | msgstr "" |
1989 | |
1990 | +#: src/frontend.py:837 |
1991 | +#, python-format |
1992 | +msgid "" |
1993 | +"Resetting all rules to installed defaults. Proceed with operation " |
1994 | +"(%(yes)s|%(no)s)? " |
1995 | +msgstr "" |
1996 | + |
1997 | #: src/frontend.py:841 |
1998 | #, python-format |
1999 | msgid "" |
2000 | -"Resetting all rules to installed defaults. Proceed with operation " |
2001 | -"(%(yes)s|%(no)s)? " |
2002 | -msgstr "" |
2003 | - |
2004 | -#: src/frontend.py:845 |
2005 | -#, python-format |
2006 | -msgid "" |
2007 | "Resetting all rules to installed defaults. This may disrupt existing ssh " |
2008 | "connections. Proceed with operation (%(yes)s|%(no)s)? " |
2009 | msgstr "" |
2010 | |
2011 | -#: src/parser.py:109 |
2012 | +#: src/parser.py:107 |
2013 | #, python-format |
2014 | msgid "Cannot insert rule at position '%s'" |
2015 | msgstr "Nun pudo inxertase la regla na posición «%s»" |
2016 | |
2017 | -#: src/parser.py:147 |
2018 | +#: src/parser.py:145 |
2019 | msgid "Invalid interface clause" |
2020 | msgstr "Cláusula d'interface incorreuta" |
2021 | |
2022 | -#: src/parser.py:173 |
2023 | +#: src/parser.py:171 |
2024 | msgid "Option 'log' not allowed here" |
2025 | msgstr "Opción «log» non permitida equí" |
2026 | |
2027 | -#: src/parser.py:177 |
2028 | +#: src/parser.py:175 |
2029 | msgid "Option 'log-all' not allowed here" |
2030 | msgstr "Opción 'log-all' non permitida equí" |
2031 | |
2032 | -#: src/parser.py:210 src/parser.py:224 |
2033 | +#: src/parser.py:208 src/parser.py:222 |
2034 | msgid "Bad port" |
2035 | msgstr "Puertu erróneu" |
2036 | |
2037 | -#: src/parser.py:215 src/parser.py:335 |
2038 | +#: src/parser.py:213 src/parser.py:333 |
2039 | msgid "Port ranges must be numeric" |
2040 | msgstr "Los rangos de puertos deben ser numbéricos" |
2041 | |
2042 | -#: src/parser.py:229 src/parser.py:426 |
2043 | +#: src/parser.py:227 src/parser.py:419 |
2044 | #, python-format |
2045 | msgid "Invalid port with protocol '%s'" |
2046 | msgstr "" |
2047 | |
2048 | -#: src/parser.py:233 |
2049 | +#: src/parser.py:231 |
2050 | msgid "Wrong number of arguments" |
2051 | msgstr "Númberu incorreutu d'argumentos" |
2052 | |
2053 | -#: src/parser.py:237 |
2054 | +#: src/parser.py:235 |
2055 | msgid "Need 'to' or 'from' clause" |
2056 | msgstr "Necesitase la cláusula «to» o «from»" |
2057 | |
2058 | -#: src/parser.py:252 |
2059 | +#: src/parser.py:250 |
2060 | msgid "Improper rule syntax" |
2061 | msgstr "Fallu de sintáxis na regla" |
2062 | |
2063 | -#: src/parser.py:259 |
2064 | +#: src/parser.py:257 |
2065 | #, python-format |
2066 | msgid "Invalid token '%s'" |
2067 | msgstr "El token «%s» ye incorreutu" |
2068 | |
2069 | -#: src/parser.py:268 |
2070 | +#: src/parser.py:266 |
2071 | msgid "Invalid 'proto' clause" |
2072 | msgstr "La cláusula «proto» ye incorreuta" |
2073 | |
2074 | -#: src/parser.py:280 |
2075 | +#: src/parser.py:278 |
2076 | #, python-format |
2077 | msgid "Invalid '%s' clause" |
2078 | msgstr "Cláusula '%s' non válida" |
2079 | |
2080 | -#: src/parser.py:299 |
2081 | +#: src/parser.py:297 |
2082 | msgid "Invalid 'from' clause" |
2083 | msgstr "La cláusula «from» ye incorreuta" |
2084 | |
2085 | -#: src/parser.py:318 |
2086 | +#: src/parser.py:316 |
2087 | msgid "Invalid 'to' clause" |
2088 | msgstr "La cláusula «to» ye incorreuta" |
2089 | |
2090 | -#: src/parser.py:323 |
2091 | +#: src/parser.py:321 |
2092 | #, python-format |
2093 | msgid "Need 'from' or 'to' with '%s'" |
2094 | msgstr "Necesitase usar «from» o «to» con «%s»" |
2095 | |
2096 | -#: src/parser.py:347 |
2097 | +#: src/parser.py:345 |
2098 | msgid "Invalid 'port' clause" |
2099 | msgstr "La cláusula «port» ye incorreuta" |
2100 | |
2101 | -#: src/parser.py:356 |
2102 | +#: src/parser.py:354 |
2103 | msgid "Mixed IP versions for 'from' and 'to'" |
2104 | msgstr "Les versiones IP de «from» y «to» tan amestaes" |
2105 | |
2106 | -#: src/parser.py:370 src/parser.py:377 src/parser.py:383 |
2107 | +#: src/parser.py:368 src/parser.py:375 src/parser.py:381 |
2108 | msgid "Could not find protocol" |
2109 | msgstr "Nun pudo alcontrase'l protocolu" |
2110 | |
2111 | -#: src/parser.py:390 |
2112 | +#: src/parser.py:388 |
2113 | msgid "Protocol mismatch (from/to)" |
2114 | msgstr "Nun concasa l'usu del protocolu (from/to)" |
2115 | |
2116 | -#: src/parser.py:397 |
2117 | +#: src/parser.py:395 |
2118 | #, python-format |
2119 | msgid "Protocol mismatch with specified protocol %s" |
2120 | msgstr "El protocolu nun concasa col especificáu («%s»)" |
2121 | |
2122 | -#: src/parser.py:409 |
2123 | +#: src/parser.py:402 |
2124 | #, python-format |
2125 | msgid "Improper rule syntax ('%s' specified with app rule)" |
2126 | msgstr "" |
2127 | "Sintaxis inapropiada pa la regla (especificóse «%s» con una regla " |
2128 | "d'aplicación)" |
2129 | |
2130 | -#: src/parser.py:416 |
2131 | +#: src/parser.py:409 |
2132 | #, python-format |
2133 | msgid "Invalid IPv6 address with protocol '%s'" |
2134 | msgstr "" |
2135 | |
2136 | -#: src/parser.py:745 |
2137 | +#: src/parser.py:738 |
2138 | #, python-format |
2139 | msgid "Invalid command '%s'" |
2140 | msgstr "" |
2141 | |
2142 | -#: src/parser.py:767 |
2143 | +#: src/parser.py:760 |
2144 | #, python-format |
2145 | msgid "Command '%s' already exists" |
2146 | msgstr "" |
2147 | |
2148 | -#: src/util.py:386 |
2149 | +#: src/util.py:414 |
2150 | msgid "Couldn't find pid (is /proc mounted?)" |
2151 | msgstr "Nun alcontráu'l PID (¿ta montáu /proc?)" |
2152 | |
2153 | -#: src/util.py:390 |
2154 | +#: src/util.py:418 |
2155 | #, python-format |
2156 | msgid "Couldn't find parent pid for '%s'" |
2157 | msgstr "Nun alcontráu'l PID del padre de «%s»" |
2158 | |
2159 | -#: src/util.py:400 |
2160 | +#: src/util.py:428 |
2161 | #, python-format |
2162 | msgid "Couldn't find '%s'" |
2163 | msgstr "Nun alcontráu «%s»" |
2164 | |
2165 | -#: src/util.py:406 |
2166 | +#: src/util.py:434 |
2167 | #, python-format |
2168 | msgid "Could not find executable for '%s'" |
2169 | msgstr "Nun alcontráu l'executable pa «%s»" |
2170 | |
2171 | -#: src/util.py:871 |
2172 | +#: src/util.py:985 |
2173 | #, python-format |
2174 | msgid "Could not get statistics for '%s'" |
2175 | msgstr "" |
2176 | @@ -861,9 +861,15 @@ |
2177 | #~ msgid "uid is %s but '%s' is owned by %s" |
2178 | #~ msgstr "El UID ye %s pero «%s» pertenez a %s" |
2179 | |
2180 | +#~ msgid ": Need at least python 2.5)\n" |
2181 | +#~ msgstr ": Necesitase como mínimo Python 2.5)\n" |
2182 | + |
2183 | #~ msgid "No match" |
2184 | #~ msgstr "Nun concasa" |
2185 | |
2186 | +#~ msgid "Could not normalize source address" |
2187 | +#~ msgstr "Nun pudo normalizase la direición d'orixe" |
2188 | + |
2189 | #~ msgid "Command may disrupt existing ssh connections." |
2190 | #~ msgstr "Esa orden puede afectar a les conexones SSH en cursu." |
2191 | |
2192 | |
2193 | === modified file 'locales/po/bg.po' |
2194 | --- locales/po/bg.po 2012-04-04 20:44:20 +0000 |
2195 | +++ locales/po/bg.po 2013-11-11 16:00:06 +0000 |
2196 | @@ -7,169 +7,168 @@ |
2197 | msgstr "" |
2198 | "Project-Id-Version: ufw\n" |
2199 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
2200 | -"POT-Creation-Date: 2011-03-22 10:34-0500\n" |
2201 | +"POT-Creation-Date: 2012-07-29 09:48-0500\n" |
2202 | "PO-Revision-Date: 2009-08-26 19:14+0000\n" |
2203 | "Last-Translator: Siyan Panayotov <xsisqox@gmail.com>\n" |
2204 | "Language-Team: Bulgarian <bg@li.org>\n" |
2205 | "MIME-Version: 1.0\n" |
2206 | "Content-Type: text/plain; charset=UTF-8\n" |
2207 | "Content-Transfer-Encoding: 8bit\n" |
2208 | -"X-Launchpad-Export-Date: 2012-02-13 23:52+0000\n" |
2209 | -"X-Generator: Launchpad (build 14781)\n" |
2210 | +"X-Launchpad-Export-Date: 2012-08-12 01:56+0000\n" |
2211 | +"X-Generator: Launchpad (build 15780)\n" |
2212 | |
2213 | -#: src/ufw:46 |
2214 | -msgid ": Need at least python 2.5)\n" |
2215 | +#: src/ufw:56 |
2216 | +msgid ": Need at least python 2.6)\n" |
2217 | msgstr "" |
2218 | |
2219 | -#: src/ufw:103 src/frontend.py:554 src/frontend.py:854 |
2220 | +#: src/ufw:109 src/frontend.py:550 src/frontend.py:850 |
2221 | msgid "Aborted" |
2222 | msgstr "" |
2223 | |
2224 | -#: src/applications.py:32 |
2225 | +#: src/applications.py:36 |
2226 | msgid "Profiles directory does not exist" |
2227 | msgstr "" |
2228 | |
2229 | -#: src/applications.py:64 |
2230 | +#: src/applications.py:68 |
2231 | #, python-format |
2232 | msgid "Skipping '%s': couldn't stat" |
2233 | msgstr "" |
2234 | |
2235 | -#: src/applications.py:69 |
2236 | +#: src/applications.py:73 |
2237 | #, python-format |
2238 | msgid "Skipping '%s': too big" |
2239 | msgstr "" |
2240 | |
2241 | -#: src/applications.py:74 |
2242 | +#: src/applications.py:78 |
2243 | #, python-format |
2244 | msgid "Skipping '%s': too many files read already" |
2245 | msgstr "" |
2246 | |
2247 | -#: src/applications.py:84 |
2248 | +#: src/applications.py:92 |
2249 | #, python-format |
2250 | msgid "Skipping '%s': couldn't process" |
2251 | msgstr "" |
2252 | |
2253 | -#: src/applications.py:91 |
2254 | +#: src/applications.py:99 |
2255 | #, python-format |
2256 | msgid "Skipping '%s': name too long" |
2257 | msgstr "" |
2258 | |
2259 | -#: src/applications.py:96 |
2260 | +#: src/applications.py:104 |
2261 | #, python-format |
2262 | msgid "Skipping '%s': invalid name" |
2263 | msgstr "" |
2264 | |
2265 | -#: src/applications.py:102 |
2266 | +#: src/applications.py:110 |
2267 | #, python-format |
2268 | msgid "Skipping '%s': also in /etc/services" |
2269 | msgstr "" |
2270 | |
2271 | -#: src/applications.py:111 |
2272 | +#: src/applications.py:119 |
2273 | #, python-format |
2274 | msgid "Skipping '%s': field too long" |
2275 | msgstr "" |
2276 | |
2277 | -#: src/applications.py:116 |
2278 | +#: src/applications.py:124 |
2279 | #, python-format |
2280 | msgid "Skipping '%(value)s': value too long for '%(field)s'" |
2281 | msgstr "" |
2282 | |
2283 | -#: src/applications.py:126 |
2284 | +#: src/applications.py:134 |
2285 | #, python-format |
2286 | msgid "Duplicate profile '%s', using last found" |
2287 | msgstr "" |
2288 | |
2289 | -#: src/applications.py:156 |
2290 | +#: src/applications.py:171 |
2291 | #, python-format |
2292 | msgid "Profile '%(fn)s' missing required field '%(f)s'" |
2293 | msgstr "" |
2294 | |
2295 | -#: src/applications.py:161 |
2296 | +#: src/applications.py:176 |
2297 | #, python-format |
2298 | msgid "Profile '%(fn)s' has empty required field '%(f)s'" |
2299 | msgstr "" |
2300 | |
2301 | -#: src/applications.py:167 |
2302 | +#: src/applications.py:182 |
2303 | #, python-format |
2304 | msgid "No ports found in profile '%s'" |
2305 | msgstr "" |
2306 | |
2307 | -#: src/applications.py:180 |
2308 | +#: src/applications.py:195 |
2309 | #, python-format |
2310 | msgid "Invalid ports in profile '%s'" |
2311 | msgstr "" |
2312 | |
2313 | -#: src/backend_iptables.py:87 |
2314 | +#: src/backend_iptables.py:72 |
2315 | msgid "New profiles:" |
2316 | msgstr "" |
2317 | |
2318 | -#: src/backend_iptables.py:103 src/backend.py:275 |
2319 | +#: src/backend_iptables.py:88 src/backend.py:315 |
2320 | #, python-format |
2321 | msgid "Unsupported policy '%s'" |
2322 | msgstr "" |
2323 | |
2324 | -#: src/backend_iptables.py:107 |
2325 | +#: src/backend_iptables.py:92 |
2326 | #, python-format |
2327 | msgid "Unsupported policy for direction '%s'" |
2328 | msgstr "" |
2329 | |
2330 | -#: src/backend_iptables.py:165 |
2331 | +#: src/backend_iptables.py:150 |
2332 | #, python-format |
2333 | msgid "Default %(direction)s policy changed to '%(policy)s'\n" |
2334 | msgstr "" |
2335 | |
2336 | -#: src/backend_iptables.py:167 |
2337 | +#: src/backend_iptables.py:152 |
2338 | msgid "(be sure to update your rules accordingly)" |
2339 | msgstr "" |
2340 | |
2341 | -#: src/backend_iptables.py:174 |
2342 | +#: src/backend_iptables.py:159 |
2343 | msgid "Checking raw iptables\n" |
2344 | msgstr "" |
2345 | |
2346 | -#: src/backend_iptables.py:175 |
2347 | +#: src/backend_iptables.py:160 |
2348 | msgid "Checking raw ip6tables\n" |
2349 | msgstr "" |
2350 | |
2351 | -#: src/backend_iptables.py:178 src/backend_iptables.py:269 |
2352 | -#: src/backend_iptables.py:448 src/backend_iptables.py:459 |
2353 | -#: src/backend_iptables.py:507 |
2354 | -msgid "problem running" |
2355 | -msgstr "" |
2356 | - |
2357 | -#: src/backend_iptables.py:264 |
2358 | +#: src/backend_iptables.py:250 |
2359 | msgid "Checking iptables\n" |
2360 | msgstr "" |
2361 | |
2362 | -#: src/backend_iptables.py:266 |
2363 | +#: src/backend_iptables.py:252 |
2364 | msgid "Checking ip6tables\n" |
2365 | msgstr "" |
2366 | |
2367 | -#: src/backend_iptables.py:275 |
2368 | +#: src/backend_iptables.py:255 src/backend_iptables.py:435 |
2369 | +#: src/backend_iptables.py:446 src/backend_iptables.py:497 |
2370 | +msgid "problem running" |
2371 | +msgstr "" |
2372 | + |
2373 | +#: src/backend_iptables.py:261 |
2374 | msgid "Status: inactive" |
2375 | msgstr "" |
2376 | |
2377 | -#: src/backend_iptables.py:411 |
2378 | +#: src/backend_iptables.py:397 |
2379 | msgid "To" |
2380 | msgstr "До" |
2381 | |
2382 | -#: src/backend_iptables.py:412 |
2383 | +#: src/backend_iptables.py:398 |
2384 | msgid "From" |
2385 | msgstr "От" |
2386 | |
2387 | -#: src/backend_iptables.py:413 |
2388 | +#: src/backend_iptables.py:399 |
2389 | msgid "Action" |
2390 | msgstr "Действие" |
2391 | |
2392 | -#: src/backend_iptables.py:428 |
2393 | +#: src/backend_iptables.py:415 |
2394 | msgid "\n" |
2395 | msgstr "\n" |
2396 | |
2397 | -#: src/backend_iptables.py:436 |
2398 | +#: src/backend_iptables.py:423 |
2399 | #, python-format |
2400 | msgid "Default: %(in)s (incoming), %(out)s (outgoing)" |
2401 | msgstr "" |
2402 | |
2403 | -#: src/backend_iptables.py:440 |
2404 | +#: src/backend_iptables.py:427 |
2405 | #, python-format |
2406 | msgid "" |
2407 | "Status: active\n" |
2408 | @@ -178,262 +177,267 @@ |
2409 | "%(app)s%(status)s" |
2410 | msgstr "" |
2411 | |
2412 | -#: src/backend_iptables.py:444 |
2413 | +#: src/backend_iptables.py:431 |
2414 | #, python-format |
2415 | msgid "Status: active%s" |
2416 | msgstr "" |
2417 | |
2418 | -#: src/backend_iptables.py:450 src/backend_iptables.py:461 |
2419 | +#: src/backend_iptables.py:437 src/backend_iptables.py:448 |
2420 | msgid "running ufw-init" |
2421 | msgstr "" |
2422 | |
2423 | -#: src/backend_iptables.py:474 |
2424 | +#: src/backend_iptables.py:461 |
2425 | msgid "Could not set LOGLEVEL" |
2426 | msgstr "" |
2427 | |
2428 | -#: src/backend_iptables.py:480 |
2429 | +#: src/backend_iptables.py:467 |
2430 | msgid "Could not load logging rules" |
2431 | msgstr "" |
2432 | |
2433 | -#: src/backend_iptables.py:629 src/backend.py:181 |
2434 | +#: src/backend_iptables.py:619 src/backend.py:221 |
2435 | #, python-format |
2436 | msgid "Couldn't open '%s' for reading" |
2437 | msgstr "" |
2438 | |
2439 | -#: src/backend_iptables.py:638 |
2440 | +#: src/backend_iptables.py:628 |
2441 | #, python-format |
2442 | msgid "Skipping malformed tuple (bad length): %s" |
2443 | msgstr "" |
2444 | |
2445 | -#: src/backend_iptables.py:668 |
2446 | +#: src/backend_iptables.py:659 |
2447 | #, python-format |
2448 | msgid "Skipping malformed tuple: %s" |
2449 | msgstr "" |
2450 | |
2451 | -#: src/backend_iptables.py:690 src/backend.py:213 |
2452 | +#: src/backend_iptables.py:681 src/backend.py:253 |
2453 | #, python-format |
2454 | msgid "'%s' is not writable" |
2455 | msgstr "" |
2456 | |
2457 | -#: src/backend_iptables.py:830 |
2458 | +#: src/backend_iptables.py:839 |
2459 | msgid "Adding IPv6 rule failed: IPv6 not enabled" |
2460 | msgstr "" |
2461 | |
2462 | -#: src/backend_iptables.py:834 |
2463 | +#: src/backend_iptables.py:843 |
2464 | #, python-format |
2465 | msgid "Skipping unsupported IPv6 '%s' rule" |
2466 | msgstr "" |
2467 | |
2468 | -#: src/backend_iptables.py:837 |
2469 | +#: src/backend_iptables.py:847 |
2470 | +#, python-format |
2471 | +msgid "Skipping unsupported IPv4 '%s' rule" |
2472 | +msgstr "" |
2473 | + |
2474 | +#: src/backend_iptables.py:850 |
2475 | msgid "Must specify 'tcp' or 'udp' with multiple ports" |
2476 | msgstr "" |
2477 | |
2478 | -#: src/backend_iptables.py:849 |
2479 | +#: src/backend_iptables.py:862 |
2480 | msgid "Skipping IPv6 application rule. Need at least iptables 1.4" |
2481 | msgstr "" |
2482 | |
2483 | -#: src/backend_iptables.py:854 |
2484 | +#: src/backend_iptables.py:867 |
2485 | #, python-format |
2486 | msgid "Invalid position '%d'" |
2487 | msgstr "" |
2488 | |
2489 | -#: src/backend_iptables.py:858 |
2490 | +#: src/backend_iptables.py:871 |
2491 | msgid "Cannot specify insert and delete" |
2492 | msgstr "" |
2493 | |
2494 | -#: src/backend_iptables.py:861 |
2495 | +#: src/backend_iptables.py:874 |
2496 | #, python-format |
2497 | msgid "Cannot insert rule at position '%d'" |
2498 | msgstr "" |
2499 | |
2500 | -#: src/backend_iptables.py:919 |
2501 | +#: src/backend_iptables.py:932 |
2502 | msgid "Skipping inserting existing rule" |
2503 | msgstr "" |
2504 | |
2505 | -#: src/backend_iptables.py:930 src/frontend.py:365 |
2506 | +#: src/backend_iptables.py:943 src/frontend.py:361 |
2507 | msgid "Could not delete non-existent rule" |
2508 | msgstr "" |
2509 | |
2510 | -#: src/backend_iptables.py:935 |
2511 | +#: src/backend_iptables.py:948 |
2512 | msgid "Skipping adding existing rule" |
2513 | msgstr "" |
2514 | |
2515 | -#: src/backend_iptables.py:951 |
2516 | +#: src/backend_iptables.py:964 |
2517 | msgid "Couldn't update rules file" |
2518 | msgstr "" |
2519 | |
2520 | -#: src/backend_iptables.py:956 |
2521 | +#: src/backend_iptables.py:969 |
2522 | msgid "Rules updated" |
2523 | msgstr "" |
2524 | |
2525 | -#: src/backend_iptables.py:958 |
2526 | +#: src/backend_iptables.py:971 |
2527 | msgid "Rules updated (v6)" |
2528 | msgstr "" |
2529 | |
2530 | -#: src/backend_iptables.py:966 |
2531 | +#: src/backend_iptables.py:979 |
2532 | msgid "Rule inserted" |
2533 | msgstr "" |
2534 | |
2535 | -#: src/backend_iptables.py:968 |
2536 | +#: src/backend_iptables.py:981 |
2537 | msgid "Rule updated" |
2538 | msgstr "Правилото е обновено" |
2539 | |
2540 | -#: src/backend_iptables.py:978 |
2541 | +#: src/backend_iptables.py:991 |
2542 | msgid " (skipped reloading firewall)" |
2543 | msgstr "" |
2544 | |
2545 | -#: src/backend_iptables.py:981 |
2546 | +#: src/backend_iptables.py:994 |
2547 | msgid "Rule deleted" |
2548 | msgstr "Правилото е изтрито" |
2549 | |
2550 | -#: src/backend_iptables.py:984 |
2551 | +#: src/backend_iptables.py:997 |
2552 | msgid "Rule added" |
2553 | msgstr "Правилото е добавено" |
2554 | |
2555 | -#: src/backend_iptables.py:999 src/backend_iptables.py:1087 |
2556 | +#: src/backend_iptables.py:1012 src/backend_iptables.py:1100 |
2557 | msgid "Could not update running firewall" |
2558 | msgstr "" |
2559 | |
2560 | -#: src/backend_iptables.py:1054 |
2561 | +#: src/backend_iptables.py:1067 |
2562 | #, python-format |
2563 | msgid "Could not perform '%s'" |
2564 | msgstr "" |
2565 | |
2566 | -#: src/backend_iptables.py:1078 |
2567 | +#: src/backend_iptables.py:1091 |
2568 | msgid "Couldn't update rules file for logging" |
2569 | msgstr "" |
2570 | |
2571 | -#: src/backend_iptables.py:1132 src/backend.py:530 |
2572 | +#: src/backend_iptables.py:1149 src/backend.py:571 |
2573 | #, python-format |
2574 | msgid "Invalid log level '%s'" |
2575 | msgstr "" |
2576 | |
2577 | -#: src/backend_iptables.py:1228 |
2578 | +#: src/backend_iptables.py:1246 |
2579 | #, python-format |
2580 | msgid "Could not find '%s'. Aborting" |
2581 | msgstr "" |
2582 | |
2583 | -#: src/backend_iptables.py:1240 |
2584 | +#: src/backend_iptables.py:1258 |
2585 | #, python-format |
2586 | msgid "'%s' already exists. Aborting" |
2587 | msgstr "" |
2588 | |
2589 | -#: src/backend_iptables.py:1246 |
2590 | +#: src/backend_iptables.py:1264 |
2591 | #, python-format |
2592 | msgid "Backing up '%(old)s' to '%(new)s'\n" |
2593 | msgstr "" |
2594 | |
2595 | -#: src/backend_iptables.py:1262 src/backend.py:140 |
2596 | +#: src/backend_iptables.py:1280 src/backend.py:180 |
2597 | #, python-format |
2598 | msgid "Couldn't stat '%s'" |
2599 | msgstr "" |
2600 | |
2601 | -#: src/backend_iptables.py:1267 |
2602 | +#: src/backend_iptables.py:1285 |
2603 | #, python-format |
2604 | msgid "WARN: '%s' is world writable" |
2605 | msgstr "" |
2606 | |
2607 | -#: src/backend_iptables.py:1269 |
2608 | +#: src/backend_iptables.py:1287 |
2609 | #, python-format |
2610 | msgid "WARN: '%s' is world readable" |
2611 | msgstr "" |
2612 | |
2613 | -#: src/backend.py:96 |
2614 | +#: src/backend.py:136 |
2615 | msgid "Checks disabled" |
2616 | msgstr "" |
2617 | |
2618 | -#: src/backend.py:102 |
2619 | +#: src/backend.py:142 |
2620 | msgid "ERROR: this script should not be SUID" |
2621 | msgstr "" |
2622 | |
2623 | -#: src/backend.py:105 |
2624 | +#: src/backend.py:145 |
2625 | msgid "ERROR: this script should not be SGID" |
2626 | msgstr "" |
2627 | |
2628 | -#: src/backend.py:110 |
2629 | +#: src/backend.py:150 |
2630 | msgid "You need to be root to run this script" |
2631 | msgstr "" |
2632 | |
2633 | -#: src/backend.py:120 |
2634 | +#: src/backend.py:160 |
2635 | #, python-format |
2636 | msgid "'%s' does not exist" |
2637 | msgstr "" |
2638 | |
2639 | -#: src/backend.py:146 |
2640 | +#: src/backend.py:186 |
2641 | #, python-format |
2642 | msgid "uid is %(uid)s but '%(path)s' is owned by %(st_uid)s" |
2643 | msgstr "" |
2644 | |
2645 | -#: src/backend.py:153 |
2646 | +#: src/backend.py:193 |
2647 | #, python-format |
2648 | msgid "%s is world writable!" |
2649 | msgstr "" |
2650 | |
2651 | -#: src/backend.py:157 |
2652 | +#: src/backend.py:197 |
2653 | #, python-format |
2654 | msgid "%s is group writable!" |
2655 | msgstr "" |
2656 | |
2657 | -#: src/backend.py:170 |
2658 | +#: src/backend.py:210 |
2659 | #, python-format |
2660 | msgid "'%(f)s' file '%(name)s' does not exist" |
2661 | msgstr "" |
2662 | |
2663 | -#: src/backend.py:195 |
2664 | +#: src/backend.py:235 |
2665 | #, python-format |
2666 | msgid "Missing policy for '%s'" |
2667 | msgstr "" |
2668 | |
2669 | -#: src/backend.py:200 |
2670 | +#: src/backend.py:240 |
2671 | #, python-format |
2672 | msgid "Invalid policy '%(policy)s' for '%(chain)s'" |
2673 | msgstr "" |
2674 | |
2675 | -#: src/backend.py:207 |
2676 | +#: src/backend.py:247 |
2677 | msgid "Invalid option" |
2678 | msgstr "Невалидна опция" |
2679 | |
2680 | -#: src/backend.py:278 |
2681 | +#: src/backend.py:318 |
2682 | #, python-format |
2683 | msgid "Default application policy changed to '%s'" |
2684 | msgstr "" |
2685 | |
2686 | -#: src/backend.py:360 |
2687 | +#: src/backend.py:400 |
2688 | msgid "No rules found for application profile" |
2689 | msgstr "" |
2690 | |
2691 | -#: src/backend.py:419 |
2692 | +#: src/backend.py:459 |
2693 | #, python-format |
2694 | msgid "Rules updated for profile '%s'" |
2695 | msgstr "" |
2696 | |
2697 | -#: src/backend.py:425 |
2698 | +#: src/backend.py:465 |
2699 | msgid "Couldn't update application rules" |
2700 | msgstr "" |
2701 | |
2702 | -#: src/backend.py:447 |
2703 | +#: src/backend.py:487 |
2704 | #, python-format |
2705 | msgid "Found multiple matches for '%s'. Please use exact profile name" |
2706 | msgstr "" |
2707 | |
2708 | -#: src/backend.py:448 |
2709 | +#: src/backend.py:489 |
2710 | #, python-format |
2711 | msgid "Could not find a profile matching '%s'" |
2712 | msgstr "" |
2713 | |
2714 | -#: src/backend.py:514 |
2715 | +#: src/backend.py:555 |
2716 | msgid "Logging: " |
2717 | msgstr "" |
2718 | |
2719 | -#: src/backend.py:518 |
2720 | +#: src/backend.py:559 |
2721 | msgid "unknown" |
2722 | msgstr "" |
2723 | |
2724 | -#: src/backend.py:548 |
2725 | +#: src/backend.py:589 |
2726 | msgid "Logging disabled" |
2727 | msgstr "" |
2728 | |
2729 | -#: src/backend.py:550 |
2730 | +#: src/backend.py:591 |
2731 | msgid "Logging enabled" |
2732 | msgstr "" |
2733 | |
2734 | @@ -482,24 +486,20 @@ |
2735 | msgid "Unsupported direction '%s'" |
2736 | msgstr "" |
2737 | |
2738 | -#: src/common.py:346 |
2739 | -msgid "Could not normalize source address" |
2740 | -msgstr "" |
2741 | - |
2742 | -#: src/common.py:356 |
2743 | +#: src/common.py:355 |
2744 | msgid "Could not normalize destination address" |
2745 | msgstr "" |
2746 | |
2747 | -#: src/common.py:417 |
2748 | +#: src/common.py:416 |
2749 | msgid "Found exact match" |
2750 | msgstr "Намерено е точно съответствие" |
2751 | |
2752 | -#: src/common.py:421 |
2753 | +#: src/common.py:420 |
2754 | #, python-format |
2755 | msgid "Found non-action/non-logtype match (%(xa)s/%(ya)s %(xl)s/%(yl)s)" |
2756 | msgstr "" |
2757 | |
2758 | -#: src/frontend.py:93 |
2759 | +#: src/frontend.py:88 |
2760 | #, python-format |
2761 | msgid "" |
2762 | "\n" |
2763 | @@ -530,77 +530,77 @@ |
2764 | " %(appdefault)-31s set default application policy\n" |
2765 | msgstr "" |
2766 | |
2767 | -#: src/frontend.py:168 |
2768 | +#: src/frontend.py:160 |
2769 | msgid "n" |
2770 | msgstr "" |
2771 | |
2772 | -#: src/frontend.py:169 |
2773 | +#: src/frontend.py:161 |
2774 | msgid "y" |
2775 | msgstr "" |
2776 | |
2777 | -#: src/frontend.py:170 |
2778 | +#: src/frontend.py:162 |
2779 | msgid "yes" |
2780 | msgstr "" |
2781 | |
2782 | -#: src/frontend.py:215 |
2783 | +#: src/frontend.py:207 |
2784 | msgid "Firewall is active and enabled on system startup" |
2785 | msgstr "" |
2786 | |
2787 | -#: src/frontend.py:222 |
2788 | +#: src/frontend.py:214 |
2789 | msgid "Firewall stopped and disabled on system startup" |
2790 | msgstr "" |
2791 | |
2792 | -#: src/frontend.py:273 |
2793 | +#: src/frontend.py:265 |
2794 | msgid "Could not get listening status" |
2795 | msgstr "" |
2796 | |
2797 | -#: src/frontend.py:360 src/frontend.py:458 src/frontend.py:468 |
2798 | +#: src/frontend.py:356 src/frontend.py:454 src/frontend.py:464 |
2799 | #, python-format |
2800 | msgid "Invalid IP version '%s'" |
2801 | msgstr "" |
2802 | |
2803 | -#: src/frontend.py:391 |
2804 | +#: src/frontend.py:387 |
2805 | msgid "Invalid position '" |
2806 | msgstr "" |
2807 | |
2808 | -#: src/frontend.py:465 |
2809 | +#: src/frontend.py:461 |
2810 | msgid "IPv6 support not enabled" |
2811 | msgstr "" |
2812 | |
2813 | -#: src/frontend.py:476 |
2814 | +#: src/frontend.py:472 |
2815 | msgid "Rule changed after normalization" |
2816 | msgstr "" |
2817 | |
2818 | +#: src/frontend.py:496 |
2819 | +#, python-format |
2820 | +msgid "Could not back out rule '%s'" |
2821 | +msgstr "" |
2822 | + |
2823 | #: src/frontend.py:500 |
2824 | -#, python-format |
2825 | -msgid "Could not back out rule '%s'" |
2826 | -msgstr "" |
2827 | - |
2828 | -#: src/frontend.py:504 |
2829 | msgid "" |
2830 | "\n" |
2831 | "Error applying application rules." |
2832 | msgstr "" |
2833 | |
2834 | -#: src/frontend.py:506 |
2835 | +#: src/frontend.py:502 |
2836 | msgid " Some rules could not be unapplied." |
2837 | msgstr "" |
2838 | |
2839 | -#: src/frontend.py:508 |
2840 | +#: src/frontend.py:504 |
2841 | msgid " Attempted rules successfully unapplied." |
2842 | msgstr "" |
2843 | |
2844 | -#: src/frontend.py:519 |
2845 | +#: src/frontend.py:515 |
2846 | #, python-format |
2847 | msgid "Could not find rule '%s'" |
2848 | msgstr "" |
2849 | |
2850 | -#: src/frontend.py:524 src/frontend.py:529 |
2851 | +#: src/frontend.py:520 src/frontend.py:525 |
2852 | #, python-format |
2853 | msgid "Could not find rule '%d'" |
2854 | msgstr "" |
2855 | |
2856 | -#: src/frontend.py:541 |
2857 | +#: src/frontend.py:537 |
2858 | #, python-format |
2859 | msgid "" |
2860 | "Deleting:\n" |
2861 | @@ -608,229 +608,229 @@ |
2862 | "Proceed with operation (%(yes)s|%(no)s)? " |
2863 | msgstr "" |
2864 | |
2865 | -#: src/frontend.py:572 |
2866 | +#: src/frontend.py:568 |
2867 | msgid "Unsupported default policy" |
2868 | msgstr "" |
2869 | |
2870 | -#: src/frontend.py:599 src/frontend.py:744 |
2871 | +#: src/frontend.py:595 src/frontend.py:740 |
2872 | msgid "Firewall reloaded" |
2873 | msgstr "" |
2874 | |
2875 | -#: src/frontend.py:601 |
2876 | +#: src/frontend.py:597 |
2877 | msgid "Firewall not enabled (skipping reload)" |
2878 | msgstr "" |
2879 | |
2880 | -#: src/frontend.py:618 src/frontend.py:632 src/frontend.py:669 |
2881 | +#: src/frontend.py:614 src/frontend.py:628 src/frontend.py:665 |
2882 | msgid "Invalid profile name" |
2883 | msgstr "" |
2884 | |
2885 | -#: src/frontend.py:637 src/frontend.py:819 |
2886 | +#: src/frontend.py:633 src/frontend.py:815 |
2887 | #, python-format |
2888 | msgid "Unsupported action '%s'" |
2889 | msgstr "" |
2890 | |
2891 | -#: src/frontend.py:656 |
2892 | +#: src/frontend.py:652 |
2893 | msgid "Available applications:" |
2894 | msgstr "" |
2895 | |
2896 | -#: src/frontend.py:677 |
2897 | +#: src/frontend.py:673 |
2898 | #, python-format |
2899 | msgid "Could not find profile '%s'" |
2900 | msgstr "" |
2901 | |
2902 | -#: src/frontend.py:682 |
2903 | +#: src/frontend.py:678 |
2904 | msgid "Invalid profile" |
2905 | msgstr "" |
2906 | |
2907 | -#: src/frontend.py:685 |
2908 | +#: src/frontend.py:681 |
2909 | #, python-format |
2910 | msgid "Profile: %s\n" |
2911 | msgstr "" |
2912 | |
2913 | -#: src/frontend.py:686 |
2914 | +#: src/frontend.py:682 |
2915 | #, python-format |
2916 | msgid "Title: %s\n" |
2917 | msgstr "" |
2918 | |
2919 | -#: src/frontend.py:689 |
2920 | +#: src/frontend.py:685 |
2921 | #, python-format |
2922 | msgid "" |
2923 | "Description: %s\n" |
2924 | "\n" |
2925 | msgstr "" |
2926 | |
2927 | -#: src/frontend.py:695 |
2928 | +#: src/frontend.py:691 |
2929 | msgid "Ports:" |
2930 | msgstr "" |
2931 | |
2932 | -#: src/frontend.py:697 |
2933 | +#: src/frontend.py:693 |
2934 | msgid "Port:" |
2935 | msgstr "" |
2936 | |
2937 | -#: src/frontend.py:746 |
2938 | +#: src/frontend.py:742 |
2939 | msgid "Skipped reloading firewall" |
2940 | msgstr "" |
2941 | |
2942 | -#: src/frontend.py:756 |
2943 | +#: src/frontend.py:752 |
2944 | msgid "Cannot specify 'all' with '--add-new'" |
2945 | msgstr "" |
2946 | |
2947 | -#: src/frontend.py:771 |
2948 | +#: src/frontend.py:767 |
2949 | #, python-format |
2950 | msgid "Unknown policy '%s'" |
2951 | msgstr "" |
2952 | |
2953 | -#: src/frontend.py:828 |
2954 | +#: src/frontend.py:824 |
2955 | #, python-format |
2956 | msgid "" |
2957 | "Command may disrupt existing ssh connections. Proceed with operation " |
2958 | "(%(yes)s|%(no)s)? " |
2959 | msgstr "" |
2960 | |
2961 | +#: src/frontend.py:837 |
2962 | +#, python-format |
2963 | +msgid "" |
2964 | +"Resetting all rules to installed defaults. Proceed with operation " |
2965 | +"(%(yes)s|%(no)s)? " |
2966 | +msgstr "" |
2967 | + |
2968 | #: src/frontend.py:841 |
2969 | #, python-format |
2970 | msgid "" |
2971 | -"Resetting all rules to installed defaults. Proceed with operation " |
2972 | -"(%(yes)s|%(no)s)? " |
2973 | -msgstr "" |
2974 | - |
2975 | -#: src/frontend.py:845 |
2976 | -#, python-format |
2977 | -msgid "" |
2978 | "Resetting all rules to installed defaults. This may disrupt existing ssh " |
2979 | "connections. Proceed with operation (%(yes)s|%(no)s)? " |
2980 | msgstr "" |
2981 | |
2982 | -#: src/parser.py:109 |
2983 | +#: src/parser.py:107 |
2984 | #, python-format |
2985 | msgid "Cannot insert rule at position '%s'" |
2986 | msgstr "" |
2987 | |
2988 | -#: src/parser.py:147 |
2989 | +#: src/parser.py:145 |
2990 | msgid "Invalid interface clause" |
2991 | msgstr "" |
2992 | |
2993 | -#: src/parser.py:173 |
2994 | +#: src/parser.py:171 |
2995 | msgid "Option 'log' not allowed here" |
2996 | msgstr "" |
2997 | |
2998 | -#: src/parser.py:177 |
2999 | +#: src/parser.py:175 |
3000 | msgid "Option 'log-all' not allowed here" |
3001 | msgstr "" |
3002 | |
3003 | -#: src/parser.py:210 src/parser.py:224 |
3004 | +#: src/parser.py:208 src/parser.py:222 |
3005 | msgid "Bad port" |
3006 | msgstr "" |
3007 | |
3008 | -#: src/parser.py:215 src/parser.py:335 |
3009 | +#: src/parser.py:213 src/parser.py:333 |
3010 | msgid "Port ranges must be numeric" |
3011 | msgstr "" |
3012 | |
3013 | -#: src/parser.py:229 src/parser.py:426 |
3014 | +#: src/parser.py:227 src/parser.py:419 |
3015 | #, python-format |
3016 | msgid "Invalid port with protocol '%s'" |
3017 | msgstr "" |
3018 | |
3019 | -#: src/parser.py:233 |
3020 | +#: src/parser.py:231 |
3021 | msgid "Wrong number of arguments" |
3022 | msgstr "Грешен брои аргументи" |
3023 | |
3024 | -#: src/parser.py:237 |
3025 | +#: src/parser.py:235 |
3026 | msgid "Need 'to' or 'from' clause" |
3027 | msgstr "" |
3028 | |
3029 | -#: src/parser.py:252 |
3030 | +#: src/parser.py:250 |
3031 | msgid "Improper rule syntax" |
3032 | msgstr "Неправилен синтаксис на правилото" |
3033 | |
3034 | -#: src/parser.py:259 |
3035 | +#: src/parser.py:257 |
3036 | #, python-format |
3037 | msgid "Invalid token '%s'" |
3038 | msgstr "" |
3039 | |
3040 | -#: src/parser.py:268 |
3041 | +#: src/parser.py:266 |
3042 | msgid "Invalid 'proto' clause" |
3043 | msgstr "" |
3044 | |
3045 | -#: src/parser.py:280 |
3046 | +#: src/parser.py:278 |
3047 | #, python-format |
3048 | msgid "Invalid '%s' clause" |
3049 | msgstr "" |
3050 | |
3051 | -#: src/parser.py:299 |
3052 | +#: src/parser.py:297 |
3053 | msgid "Invalid 'from' clause" |
3054 | msgstr "" |
3055 | |
3056 | -#: src/parser.py:318 |
3057 | +#: src/parser.py:316 |
3058 | msgid "Invalid 'to' clause" |
3059 | msgstr "" |
3060 | |
3061 | -#: src/parser.py:323 |
3062 | +#: src/parser.py:321 |
3063 | #, python-format |
3064 | msgid "Need 'from' or 'to' with '%s'" |
3065 | msgstr "" |
3066 | |
3067 | -#: src/parser.py:347 |
3068 | +#: src/parser.py:345 |
3069 | msgid "Invalid 'port' clause" |
3070 | msgstr "" |
3071 | |
3072 | -#: src/parser.py:356 |
3073 | +#: src/parser.py:354 |
3074 | msgid "Mixed IP versions for 'from' and 'to'" |
3075 | msgstr "" |
3076 | |
3077 | -#: src/parser.py:370 src/parser.py:377 src/parser.py:383 |
3078 | +#: src/parser.py:368 src/parser.py:375 src/parser.py:381 |
3079 | msgid "Could not find protocol" |
3080 | msgstr "" |
3081 | |
3082 | -#: src/parser.py:390 |
3083 | +#: src/parser.py:388 |
3084 | msgid "Protocol mismatch (from/to)" |
3085 | msgstr "" |
3086 | |
3087 | -#: src/parser.py:397 |
3088 | +#: src/parser.py:395 |
3089 | #, python-format |
3090 | msgid "Protocol mismatch with specified protocol %s" |
3091 | msgstr "" |
3092 | |
3093 | +#: src/parser.py:402 |
3094 | +#, python-format |
3095 | +msgid "Improper rule syntax ('%s' specified with app rule)" |
3096 | +msgstr "" |
3097 | + |
3098 | #: src/parser.py:409 |
3099 | #, python-format |
3100 | -msgid "Improper rule syntax ('%s' specified with app rule)" |
3101 | -msgstr "" |
3102 | - |
3103 | -#: src/parser.py:416 |
3104 | -#, python-format |
3105 | msgid "Invalid IPv6 address with protocol '%s'" |
3106 | msgstr "" |
3107 | |
3108 | -#: src/parser.py:745 |
3109 | +#: src/parser.py:738 |
3110 | #, python-format |
3111 | msgid "Invalid command '%s'" |
3112 | msgstr "" |
3113 | |
3114 | -#: src/parser.py:767 |
3115 | +#: src/parser.py:760 |
3116 | #, python-format |
3117 | msgid "Command '%s' already exists" |
3118 | msgstr "" |
3119 | |
3120 | -#: src/util.py:386 |
3121 | +#: src/util.py:414 |
3122 | msgid "Couldn't find pid (is /proc mounted?)" |
3123 | msgstr "" |
3124 | |
3125 | -#: src/util.py:390 |
3126 | +#: src/util.py:418 |
3127 | #, python-format |
3128 | msgid "Couldn't find parent pid for '%s'" |
3129 | msgstr "" |
3130 | |
3131 | -#: src/util.py:400 |
3132 | +#: src/util.py:428 |
3133 | #, python-format |
3134 | msgid "Couldn't find '%s'" |
3135 | msgstr "" |
3136 | |
3137 | -#: src/util.py:406 |
3138 | +#: src/util.py:434 |
3139 | #, python-format |
3140 | msgid "Could not find executable for '%s'" |
3141 | msgstr "" |
3142 | |
3143 | -#: src/util.py:871 |
3144 | +#: src/util.py:985 |
3145 | #, python-format |
3146 | msgid "Could not get statistics for '%s'" |
3147 | msgstr "" |
3148 | |
3149 | === modified file 'locales/po/bs.po' |
3150 | --- locales/po/bs.po 2012-04-04 20:44:20 +0000 |
3151 | +++ locales/po/bs.po 2013-11-11 16:00:06 +0000 |
3152 | @@ -7,169 +7,168 @@ |
3153 | msgstr "" |
3154 | "Project-Id-Version: ufw\n" |
3155 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
3156 | -"POT-Creation-Date: 2011-03-22 10:34-0500\n" |
3157 | -"PO-Revision-Date: 2011-05-03 16:15+0000\n" |
3158 | -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
3159 | +"POT-Creation-Date: 2012-07-29 09:48-0500\n" |
3160 | +"PO-Revision-Date: 2012-04-21 19:16+0000\n" |
3161 | +"Last-Translator: Ema Begulic <ema.begulic@edu.fit.ba>\n" |
3162 | "Language-Team: Bosnian <bs@li.org>\n" |
3163 | "MIME-Version: 1.0\n" |
3164 | "Content-Type: text/plain; charset=UTF-8\n" |
3165 | "Content-Transfer-Encoding: 8bit\n" |
3166 | -"X-Launchpad-Export-Date: 2012-02-13 23:52+0000\n" |
3167 | -"X-Generator: Launchpad (build 14781)\n" |
3168 | +"X-Launchpad-Export-Date: 2012-08-12 01:56+0000\n" |
3169 | +"X-Generator: Launchpad (build 15780)\n" |
3170 | |
3171 | -#: src/ufw:46 |
3172 | -msgid ": Need at least python 2.5)\n" |
3173 | +#: src/ufw:56 |
3174 | +msgid ": Need at least python 2.6)\n" |
3175 | msgstr "" |
3176 | |
3177 | -#: src/ufw:103 src/frontend.py:554 src/frontend.py:854 |
3178 | +#: src/ufw:109 src/frontend.py:550 src/frontend.py:850 |
3179 | msgid "Aborted" |
3180 | -msgstr "" |
3181 | +msgstr "Prekinuto" |
3182 | |
3183 | -#: src/applications.py:32 |
3184 | +#: src/applications.py:36 |
3185 | msgid "Profiles directory does not exist" |
3186 | -msgstr "" |
3187 | +msgstr "Profil direktorij ne postoji" |
3188 | |
3189 | -#: src/applications.py:64 |
3190 | +#: src/applications.py:68 |
3191 | #, python-format |
3192 | msgid "Skipping '%s': couldn't stat" |
3193 | -msgstr "" |
3194 | +msgstr "Preskakanje '%s': nije moglo biti održano" |
3195 | |
3196 | -#: src/applications.py:69 |
3197 | +#: src/applications.py:73 |
3198 | #, python-format |
3199 | msgid "Skipping '%s': too big" |
3200 | -msgstr "" |
3201 | +msgstr "Preskakanje '%s': preveliko" |
3202 | |
3203 | -#: src/applications.py:74 |
3204 | +#: src/applications.py:78 |
3205 | #, python-format |
3206 | msgid "Skipping '%s': too many files read already" |
3207 | -msgstr "" |
3208 | +msgstr "Preskakanje '%s': previše datoteka već učitano" |
3209 | |
3210 | -#: src/applications.py:84 |
3211 | +#: src/applications.py:92 |
3212 | #, python-format |
3213 | msgid "Skipping '%s': couldn't process" |
3214 | -msgstr "" |
3215 | +msgstr "Preskakanje '%s': nije moguće obraditi" |
3216 | |
3217 | -#: src/applications.py:91 |
3218 | +#: src/applications.py:99 |
3219 | #, python-format |
3220 | msgid "Skipping '%s': name too long" |
3221 | -msgstr "" |
3222 | +msgstr "Preskakanje '%s': ime je predugo" |
3223 | |
3224 | -#: src/applications.py:96 |
3225 | +#: src/applications.py:104 |
3226 | #, python-format |
3227 | msgid "Skipping '%s': invalid name" |
3228 | -msgstr "" |
3229 | +msgstr "Preskakanje '%s': pogrešno ime" |
3230 | |
3231 | -#: src/applications.py:102 |
3232 | +#: src/applications.py:110 |
3233 | #, python-format |
3234 | msgid "Skipping '%s': also in /etc/services" |
3235 | -msgstr "" |
3236 | +msgstr "Preskakanje '%s': također u /etc/services" |
3237 | |
3238 | -#: src/applications.py:111 |
3239 | +#: src/applications.py:119 |
3240 | #, python-format |
3241 | msgid "Skipping '%s': field too long" |
3242 | -msgstr "" |
3243 | +msgstr "Preskakanje '%s': polje predugo" |
3244 | |
3245 | -#: src/applications.py:116 |
3246 | +#: src/applications.py:124 |
3247 | #, python-format |
3248 | msgid "Skipping '%(value)s': value too long for '%(field)s'" |
3249 | msgstr "" |
3250 | |
3251 | -#: src/applications.py:126 |
3252 | +#: src/applications.py:134 |
3253 | #, python-format |
3254 | msgid "Duplicate profile '%s', using last found" |
3255 | -msgstr "" |
3256 | +msgstr "Umnoži profil '%s', koristeći zadnji pronađeni" |
3257 | |
3258 | -#: src/applications.py:156 |
3259 | +#: src/applications.py:171 |
3260 | #, python-format |
3261 | msgid "Profile '%(fn)s' missing required field '%(f)s'" |
3262 | msgstr "" |
3263 | |
3264 | -#: src/applications.py:161 |
3265 | +#: src/applications.py:176 |
3266 | #, python-format |
3267 | msgid "Profile '%(fn)s' has empty required field '%(f)s'" |
3268 | msgstr "" |
3269 | |
3270 | -#: src/applications.py:167 |
3271 | +#: src/applications.py:182 |
3272 | #, python-format |
3273 | msgid "No ports found in profile '%s'" |
3274 | -msgstr "" |
3275 | +msgstr "Nema pronađenih ulaza u profilu '%s'" |
3276 | |
3277 | -#: src/applications.py:180 |
3278 | +#: src/applications.py:195 |
3279 | #, python-format |
3280 | msgid "Invalid ports in profile '%s'" |
3281 | -msgstr "" |
3282 | +msgstr "Nevažeći ulaz u profilu '%s'" |
3283 | |
3284 | -#: src/backend_iptables.py:87 |
3285 | +#: src/backend_iptables.py:72 |
3286 | msgid "New profiles:" |
3287 | -msgstr "" |
3288 | +msgstr "Novi profili:" |
3289 | |
3290 | -#: src/backend_iptables.py:103 src/backend.py:275 |
3291 | +#: src/backend_iptables.py:88 src/backend.py:315 |
3292 | #, python-format |
3293 | msgid "Unsupported policy '%s'" |
3294 | -msgstr "" |
3295 | +msgstr "Nepodržana politika '%s'" |
3296 | |
3297 | -#: src/backend_iptables.py:107 |
3298 | +#: src/backend_iptables.py:92 |
3299 | #, python-format |
3300 | msgid "Unsupported policy for direction '%s'" |
3301 | msgstr "" |
3302 | |
3303 | -#: src/backend_iptables.py:165 |
3304 | +#: src/backend_iptables.py:150 |
3305 | #, python-format |
3306 | msgid "Default %(direction)s policy changed to '%(policy)s'\n" |
3307 | msgstr "" |
3308 | |
3309 | -#: src/backend_iptables.py:167 |
3310 | +#: src/backend_iptables.py:152 |
3311 | msgid "(be sure to update your rules accordingly)" |
3312 | -msgstr "" |
3313 | +msgstr "(budite sigurni da ažurirate pravila u skladu sa)" |
3314 | |
3315 | -#: src/backend_iptables.py:174 |
3316 | +#: src/backend_iptables.py:159 |
3317 | msgid "Checking raw iptables\n" |
3318 | msgstr "" |
3319 | |
3320 | -#: src/backend_iptables.py:175 |
3321 | +#: src/backend_iptables.py:160 |
3322 | msgid "Checking raw ip6tables\n" |
3323 | -msgstr "" |
3324 | - |
3325 | -#: src/backend_iptables.py:178 src/backend_iptables.py:269 |
3326 | -#: src/backend_iptables.py:448 src/backend_iptables.py:459 |
3327 | -#: src/backend_iptables.py:507 |
3328 | -msgid "problem running" |
3329 | -msgstr "" |
3330 | - |
3331 | -#: src/backend_iptables.py:264 |
3332 | +msgstr "Provjera sirovih ip6tables\n" |
3333 | + |
3334 | +#: src/backend_iptables.py:250 |
3335 | msgid "Checking iptables\n" |
3336 | msgstr "Provjera iptables\n" |
3337 | |
3338 | -#: src/backend_iptables.py:266 |
3339 | +#: src/backend_iptables.py:252 |
3340 | msgid "Checking ip6tables\n" |
3341 | msgstr "Provjera ip6tables\n" |
3342 | |
3343 | -#: src/backend_iptables.py:275 |
3344 | +#: src/backend_iptables.py:255 src/backend_iptables.py:435 |
3345 | +#: src/backend_iptables.py:446 src/backend_iptables.py:497 |
3346 | +msgid "problem running" |
3347 | +msgstr "Problem u toku" |
3348 | + |
3349 | +#: src/backend_iptables.py:261 |
3350 | msgid "Status: inactive" |
3351 | msgstr "Status:neaktivno" |
3352 | |
3353 | -#: src/backend_iptables.py:411 |
3354 | +#: src/backend_iptables.py:397 |
3355 | msgid "To" |
3356 | -msgstr "" |
3357 | +msgstr "Za" |
3358 | |
3359 | -#: src/backend_iptables.py:412 |
3360 | +#: src/backend_iptables.py:398 |
3361 | msgid "From" |
3362 | msgstr "Od" |
3363 | |
3364 | -#: src/backend_iptables.py:413 |
3365 | +#: src/backend_iptables.py:399 |
3366 | msgid "Action" |
3367 | msgstr "Radnja" |
3368 | |
3369 | -#: src/backend_iptables.py:428 |
3370 | +#: src/backend_iptables.py:415 |
3371 | msgid "\n" |
3372 | -msgstr "" |
3373 | +msgstr "\n" |
3374 | |
3375 | -#: src/backend_iptables.py:436 |
3376 | +#: src/backend_iptables.py:423 |
3377 | #, python-format |
3378 | msgid "Default: %(in)s (incoming), %(out)s (outgoing)" |
3379 | -msgstr "" |
3380 | +msgstr "Zadana: %(in)s (dolazne), %(out)s (odlazne)" |
3381 | |
3382 | -#: src/backend_iptables.py:440 |
3383 | +#: src/backend_iptables.py:427 |
3384 | #, python-format |
3385 | msgid "" |
3386 | "Status: active\n" |
3387 | @@ -177,265 +176,276 @@ |
3388 | "%(pol)s\n" |
3389 | "%(app)s%(status)s" |
3390 | msgstr "" |
3391 | +"Status: Aktivno\n" |
3392 | +"%(log)s\n" |
3393 | +"%(pol)s\n" |
3394 | +"%(app)s%(status)s" |
3395 | |
3396 | -#: src/backend_iptables.py:444 |
3397 | +#: src/backend_iptables.py:431 |
3398 | #, python-format |
3399 | msgid "Status: active%s" |
3400 | -msgstr "" |
3401 | +msgstr "Status: aktivan%s" |
3402 | |
3403 | -#: src/backend_iptables.py:450 src/backend_iptables.py:461 |
3404 | +#: src/backend_iptables.py:437 src/backend_iptables.py:448 |
3405 | msgid "running ufw-init" |
3406 | -msgstr "" |
3407 | +msgstr "U toku ufw-init" |
3408 | |
3409 | -#: src/backend_iptables.py:474 |
3410 | +#: src/backend_iptables.py:461 |
3411 | msgid "Could not set LOGLEVEL" |
3412 | -msgstr "" |
3413 | +msgstr "Nemoguće postaviti LOGLEVEL" |
3414 | |
3415 | -#: src/backend_iptables.py:480 |
3416 | +#: src/backend_iptables.py:467 |
3417 | msgid "Could not load logging rules" |
3418 | -msgstr "" |
3419 | +msgstr "Nije moguće unijeti logging pravila" |
3420 | |
3421 | -#: src/backend_iptables.py:629 src/backend.py:181 |
3422 | +#: src/backend_iptables.py:619 src/backend.py:221 |
3423 | #, python-format |
3424 | msgid "Couldn't open '%s' for reading" |
3425 | -msgstr "" |
3426 | +msgstr "Nije moguće otvoriti '%s' za čitanje" |
3427 | |
3428 | -#: src/backend_iptables.py:638 |
3429 | +#: src/backend_iptables.py:628 |
3430 | #, python-format |
3431 | msgid "Skipping malformed tuple (bad length): %s" |
3432 | -msgstr "" |
3433 | +msgstr "Preskakanje pogrešne n-torke (pogrešna dužina): %s" |
3434 | |
3435 | -#: src/backend_iptables.py:668 |
3436 | +#: src/backend_iptables.py:659 |
3437 | #, python-format |
3438 | msgid "Skipping malformed tuple: %s" |
3439 | -msgstr "" |
3440 | +msgstr "Preskakanje pogrešne n-torke: %s" |
3441 | |
3442 | -#: src/backend_iptables.py:690 src/backend.py:213 |
3443 | +#: src/backend_iptables.py:681 src/backend.py:253 |
3444 | #, python-format |
3445 | msgid "'%s' is not writable" |
3446 | msgstr "" |
3447 | |
3448 | -#: src/backend_iptables.py:830 |
3449 | +#: src/backend_iptables.py:839 |
3450 | msgid "Adding IPv6 rule failed: IPv6 not enabled" |
3451 | -msgstr "" |
3452 | +msgstr "Dodavanje IPv6 pravila: IPv6 nije dozvoljeno" |
3453 | |
3454 | -#: src/backend_iptables.py:834 |
3455 | +#: src/backend_iptables.py:843 |
3456 | #, python-format |
3457 | msgid "Skipping unsupported IPv6 '%s' rule" |
3458 | +msgstr "Preskakanje nepodržanog IPv6 '%s' pravila" |
3459 | + |
3460 | +#: src/backend_iptables.py:847 |
3461 | +#, python-format |
3462 | +msgid "Skipping unsupported IPv4 '%s' rule" |
3463 | msgstr "" |
3464 | |
3465 | -#: src/backend_iptables.py:837 |
3466 | +#: src/backend_iptables.py:850 |
3467 | msgid "Must specify 'tcp' or 'udp' with multiple ports" |
3468 | -msgstr "" |
3469 | +msgstr "Morate specificirat 'tcp' ili 'udp' sa više portova" |
3470 | |
3471 | -#: src/backend_iptables.py:849 |
3472 | +#: src/backend_iptables.py:862 |
3473 | msgid "Skipping IPv6 application rule. Need at least iptables 1.4" |
3474 | -msgstr "" |
3475 | +msgstr "Preskačem IPv6 aplikacijsko pravilo. Potrebno najmanje iptables 1.4" |
3476 | |
3477 | -#: src/backend_iptables.py:854 |
3478 | +#: src/backend_iptables.py:867 |
3479 | #, python-format |
3480 | msgid "Invalid position '%d'" |
3481 | -msgstr "" |
3482 | +msgstr "Pogrešna pozicija '%d'" |
3483 | |
3484 | -#: src/backend_iptables.py:858 |
3485 | +#: src/backend_iptables.py:871 |
3486 | msgid "Cannot specify insert and delete" |
3487 | -msgstr "" |
3488 | +msgstr "Nije moguće specificirati ubaci i izbriši" |
3489 | |
3490 | -#: src/backend_iptables.py:861 |
3491 | +#: src/backend_iptables.py:874 |
3492 | #, python-format |
3493 | msgid "Cannot insert rule at position '%d'" |
3494 | -msgstr "" |
3495 | +msgstr "Nije moguće ubaciti pravilo na poziciju '%d'" |
3496 | |
3497 | -#: src/backend_iptables.py:919 |
3498 | +#: src/backend_iptables.py:932 |
3499 | msgid "Skipping inserting existing rule" |
3500 | -msgstr "" |
3501 | +msgstr "Preskakanje umetanja postojećeg pravila" |
3502 | |
3503 | -#: src/backend_iptables.py:930 src/frontend.py:365 |
3504 | +#: src/backend_iptables.py:943 src/frontend.py:361 |
3505 | msgid "Could not delete non-existent rule" |
3506 | -msgstr "" |
3507 | +msgstr "Nije moguće izbrisati pravilo koje ne postoji" |
3508 | |
3509 | -#: src/backend_iptables.py:935 |
3510 | +#: src/backend_iptables.py:948 |
3511 | msgid "Skipping adding existing rule" |
3512 | -msgstr "" |
3513 | +msgstr "Preskačem dodavanje već postojećeg pravila" |
3514 | |
3515 | -#: src/backend_iptables.py:951 |
3516 | +#: src/backend_iptables.py:964 |
3517 | msgid "Couldn't update rules file" |
3518 | -msgstr "" |
3519 | +msgstr "Nije moguće ažuriranje dokumenta s pravilima" |
3520 | |
3521 | -#: src/backend_iptables.py:956 |
3522 | +#: src/backend_iptables.py:969 |
3523 | msgid "Rules updated" |
3524 | -msgstr "" |
3525 | +msgstr "Pravila ažurirana" |
3526 | |
3527 | -#: src/backend_iptables.py:958 |
3528 | +#: src/backend_iptables.py:971 |
3529 | msgid "Rules updated (v6)" |
3530 | -msgstr "" |
3531 | +msgstr "Pravila ažurirana (v6)" |
3532 | |
3533 | -#: src/backend_iptables.py:966 |
3534 | +#: src/backend_iptables.py:979 |
3535 | msgid "Rule inserted" |
3536 | -msgstr "" |
3537 | +msgstr "Pravilo ubačeno" |
3538 | |
3539 | -#: src/backend_iptables.py:968 |
3540 | +#: src/backend_iptables.py:981 |
3541 | msgid "Rule updated" |
3542 | -msgstr "" |
3543 | +msgstr "Pravilo ažurirano" |
3544 | |
3545 | -#: src/backend_iptables.py:978 |
3546 | +#: src/backend_iptables.py:991 |
3547 | msgid " (skipped reloading firewall)" |
3548 | -msgstr "" |
3549 | +msgstr " (preskočeno ponovno učitavanje firewall-a)" |
3550 | |
3551 | -#: src/backend_iptables.py:981 |
3552 | +#: src/backend_iptables.py:994 |
3553 | msgid "Rule deleted" |
3554 | -msgstr "" |
3555 | +msgstr "Pravilo uklonjeno" |
3556 | |
3557 | -#: src/backend_iptables.py:984 |
3558 | +#: src/backend_iptables.py:997 |
3559 | msgid "Rule added" |
3560 | -msgstr "" |
3561 | +msgstr "Pravilo dodano" |
3562 | |
3563 | -#: src/backend_iptables.py:999 src/backend_iptables.py:1087 |
3564 | +#: src/backend_iptables.py:1012 src/backend_iptables.py:1100 |
3565 | msgid "Could not update running firewall" |
3566 | -msgstr "" |
3567 | +msgstr "Nije moguće ažuriranje aktivnog firewall-a" |
3568 | |
3569 | -#: src/backend_iptables.py:1054 |
3570 | +#: src/backend_iptables.py:1067 |
3571 | #, python-format |
3572 | msgid "Could not perform '%s'" |
3573 | -msgstr "" |
3574 | +msgstr "Nije moguće izvršiti '% s'" |
3575 | |
3576 | -#: src/backend_iptables.py:1078 |
3577 | +#: src/backend_iptables.py:1091 |
3578 | msgid "Couldn't update rules file for logging" |
3579 | msgstr "" |
3580 | |
3581 | -#: src/backend_iptables.py:1132 src/backend.py:530 |
3582 | +#: src/backend_iptables.py:1149 src/backend.py:571 |
3583 | #, python-format |
3584 | msgid "Invalid log level '%s'" |
3585 | -msgstr "" |
3586 | +msgstr "Nevažeća prijava nivo '%s'" |
3587 | |
3588 | -#: src/backend_iptables.py:1228 |
3589 | +#: src/backend_iptables.py:1246 |
3590 | #, python-format |
3591 | msgid "Could not find '%s'. Aborting" |
3592 | msgstr "" |
3593 | |
3594 | -#: src/backend_iptables.py:1240 |
3595 | +#: src/backend_iptables.py:1258 |
3596 | #, python-format |
3597 | msgid "'%s' already exists. Aborting" |
3598 | msgstr "" |
3599 | |
3600 | -#: src/backend_iptables.py:1246 |
3601 | +#: src/backend_iptables.py:1264 |
3602 | #, python-format |
3603 | msgid "Backing up '%(old)s' to '%(new)s'\n" |
3604 | msgstr "" |
3605 | |
3606 | -#: src/backend_iptables.py:1262 src/backend.py:140 |
3607 | +#: src/backend_iptables.py:1280 src/backend.py:180 |
3608 | #, python-format |
3609 | msgid "Couldn't stat '%s'" |
3610 | -msgstr "" |
3611 | +msgstr "Nije moguće stat '%s'" |
3612 | |
3613 | -#: src/backend_iptables.py:1267 |
3614 | +#: src/backend_iptables.py:1285 |
3615 | #, python-format |
3616 | msgid "WARN: '%s' is world writable" |
3617 | msgstr "" |
3618 | |
3619 | -#: src/backend_iptables.py:1269 |
3620 | +#: src/backend_iptables.py:1287 |
3621 | #, python-format |
3622 | msgid "WARN: '%s' is world readable" |
3623 | msgstr "" |
3624 | |
3625 | -#: src/backend.py:96 |
3626 | +#: src/backend.py:136 |
3627 | msgid "Checks disabled" |
3628 | msgstr "Provjere isključene" |
3629 | |
3630 | -#: src/backend.py:102 |
3631 | +#: src/backend.py:142 |
3632 | msgid "ERROR: this script should not be SUID" |
3633 | msgstr "GREŠKA:ova skripta ne treba imati SUID" |
3634 | |
3635 | -#: src/backend.py:105 |
3636 | +#: src/backend.py:145 |
3637 | msgid "ERROR: this script should not be SGID" |
3638 | -msgstr "" |
3639 | +msgstr "GREŠKA:ova skripta netreba imati SGID" |
3640 | |
3641 | -#: src/backend.py:110 |
3642 | +#: src/backend.py:150 |
3643 | msgid "You need to be root to run this script" |
3644 | msgstr "Trebaš biti root da pokreneš ovu skriptu" |
3645 | |
3646 | -#: src/backend.py:120 |
3647 | +#: src/backend.py:160 |
3648 | #, python-format |
3649 | msgid "'%s' does not exist" |
3650 | msgstr "'%s' ne postoji" |
3651 | |
3652 | -#: src/backend.py:146 |
3653 | +#: src/backend.py:186 |
3654 | #, python-format |
3655 | msgid "uid is %(uid)s but '%(path)s' is owned by %(st_uid)s" |
3656 | msgstr "" |
3657 | |
3658 | -#: src/backend.py:153 |
3659 | +#: src/backend.py:193 |
3660 | #, python-format |
3661 | msgid "%s is world writable!" |
3662 | -msgstr "" |
3663 | +msgstr "%s je svjetski zapisivo!" |
3664 | |
3665 | -#: src/backend.py:157 |
3666 | +#: src/backend.py:197 |
3667 | #, python-format |
3668 | msgid "%s is group writable!" |
3669 | -msgstr "" |
3670 | +msgstr "%s je upisiv za grupu!" |
3671 | |
3672 | -#: src/backend.py:170 |
3673 | +#: src/backend.py:210 |
3674 | #, python-format |
3675 | msgid "'%(f)s' file '%(name)s' does not exist" |
3676 | msgstr "" |
3677 | |
3678 | -#: src/backend.py:195 |
3679 | +#: src/backend.py:235 |
3680 | #, python-format |
3681 | msgid "Missing policy for '%s'" |
3682 | msgstr "" |
3683 | |
3684 | -#: src/backend.py:200 |
3685 | +#: src/backend.py:240 |
3686 | #, python-format |
3687 | msgid "Invalid policy '%(policy)s' for '%(chain)s'" |
3688 | msgstr "" |
3689 | |
3690 | -#: src/backend.py:207 |
3691 | +#: src/backend.py:247 |
3692 | msgid "Invalid option" |
3693 | -msgstr "" |
3694 | +msgstr "Nevažeća opcija" |
3695 | |
3696 | -#: src/backend.py:278 |
3697 | +#: src/backend.py:318 |
3698 | #, python-format |
3699 | msgid "Default application policy changed to '%s'" |
3700 | -msgstr "" |
3701 | +msgstr "zadana politika za aplikacije promijenjena u '%s'" |
3702 | |
3703 | -#: src/backend.py:360 |
3704 | +#: src/backend.py:400 |
3705 | msgid "No rules found for application profile" |
3706 | -msgstr "" |
3707 | +msgstr "Nisu pronađena pravila za aplikacijski profil" |
3708 | |
3709 | -#: src/backend.py:419 |
3710 | +#: src/backend.py:459 |
3711 | #, python-format |
3712 | msgid "Rules updated for profile '%s'" |
3713 | -msgstr "" |
3714 | +msgstr "Pravila ažurirana za profil '%s'" |
3715 | |
3716 | -#: src/backend.py:425 |
3717 | +#: src/backend.py:465 |
3718 | msgid "Couldn't update application rules" |
3719 | -msgstr "" |
3720 | +msgstr "Nije moguće ažurirati aplikacijska pravila" |
3721 | |
3722 | -#: src/backend.py:447 |
3723 | +#: src/backend.py:487 |
3724 | #, python-format |
3725 | msgid "Found multiple matches for '%s'. Please use exact profile name" |
3726 | msgstr "" |
3727 | +"Pronađena višestruka poklapanja za '%s'. Molimo vas koristite isto ime " |
3728 | +"profila" |
3729 | |
3730 | -#: src/backend.py:448 |
3731 | +#: src/backend.py:489 |
3732 | #, python-format |
3733 | msgid "Could not find a profile matching '%s'" |
3734 | -msgstr "" |
3735 | +msgstr "Nije moguće pronaći profil koji se poklapa sa '%s'" |
3736 | |
3737 | -#: src/backend.py:514 |
3738 | +#: src/backend.py:555 |
3739 | msgid "Logging: " |
3740 | -msgstr "" |
3741 | +msgstr "Prijavljivanje: " |
3742 | |
3743 | -#: src/backend.py:518 |
3744 | +#: src/backend.py:559 |
3745 | msgid "unknown" |
3746 | -msgstr "" |
3747 | +msgstr "Nepoznato" |
3748 | |
3749 | -#: src/backend.py:548 |
3750 | +#: src/backend.py:589 |
3751 | msgid "Logging disabled" |
3752 | -msgstr "" |
3753 | +msgstr "Prijava je onemogućena" |
3754 | |
3755 | -#: src/backend.py:550 |
3756 | +#: src/backend.py:591 |
3757 | msgid "Logging enabled" |
3758 | -msgstr "" |
3759 | +msgstr "Prijava je omogućena" |
3760 | |
3761 | #: src/common.py:186 |
3762 | #, python-format |
3763 | @@ -445,15 +455,15 @@ |
3764 | #: src/common.py:251 |
3765 | #, python-format |
3766 | msgid "Unsupported protocol '%s'" |
3767 | -msgstr "" |
3768 | +msgstr "Nepodržan protokol '%s'" |
3769 | |
3770 | #: src/common.py:279 |
3771 | msgid "Bad source address" |
3772 | -msgstr "" |
3773 | +msgstr "Pogrešna izvorna adresa" |
3774 | |
3775 | #: src/common.py:289 |
3776 | msgid "Bad destination address" |
3777 | -msgstr "" |
3778 | +msgstr "Pogrešna odredišna adresa" |
3779 | |
3780 | #: src/common.py:297 |
3781 | msgid "Bad interface type" |
3782 | @@ -475,31 +485,27 @@ |
3783 | #: src/common.py:326 |
3784 | #, python-format |
3785 | msgid "Invalid log type '%s'" |
3786 | -msgstr "" |
3787 | +msgstr "Nevažeći tip prijave '%s'" |
3788 | |
3789 | #: src/common.py:334 |
3790 | #, python-format |
3791 | msgid "Unsupported direction '%s'" |
3792 | msgstr "" |
3793 | |
3794 | -#: src/common.py:346 |
3795 | -msgid "Could not normalize source address" |
3796 | -msgstr "" |
3797 | - |
3798 | -#: src/common.py:356 |
3799 | +#: src/common.py:355 |
3800 | msgid "Could not normalize destination address" |
3801 | -msgstr "" |
3802 | +msgstr "Nije moguće normalizirati destinacijsku adresu" |
3803 | |
3804 | -#: src/common.py:417 |
3805 | +#: src/common.py:416 |
3806 | msgid "Found exact match" |
3807 | -msgstr "" |
3808 | +msgstr "Pronađeno tačno poklapanje" |
3809 | |
3810 | -#: src/common.py:421 |
3811 | +#: src/common.py:420 |
3812 | #, python-format |
3813 | msgid "Found non-action/non-logtype match (%(xa)s/%(ya)s %(xl)s/%(yl)s)" |
3814 | msgstr "" |
3815 | |
3816 | -#: src/frontend.py:93 |
3817 | +#: src/frontend.py:88 |
3818 | #, python-format |
3819 | msgid "" |
3820 | "\n" |
3821 | @@ -530,77 +536,77 @@ |
3822 | " %(appdefault)-31s set default application policy\n" |
3823 | msgstr "" |
3824 | |
3825 | -#: src/frontend.py:168 |
3826 | +#: src/frontend.py:160 |
3827 | msgid "n" |
3828 | -msgstr "" |
3829 | +msgstr "n" |
3830 | |
3831 | -#: src/frontend.py:169 |
3832 | +#: src/frontend.py:161 |
3833 | msgid "y" |
3834 | -msgstr "" |
3835 | +msgstr "d" |
3836 | |
3837 | -#: src/frontend.py:170 |
3838 | +#: src/frontend.py:162 |
3839 | msgid "yes" |
3840 | -msgstr "" |
3841 | +msgstr "da" |
3842 | |
3843 | -#: src/frontend.py:215 |
3844 | +#: src/frontend.py:207 |
3845 | msgid "Firewall is active and enabled on system startup" |
3846 | msgstr "" |
3847 | |
3848 | -#: src/frontend.py:222 |
3849 | +#: src/frontend.py:214 |
3850 | msgid "Firewall stopped and disabled on system startup" |
3851 | msgstr "" |
3852 | |
3853 | -#: src/frontend.py:273 |
3854 | +#: src/frontend.py:265 |
3855 | msgid "Could not get listening status" |
3856 | msgstr "" |
3857 | |
3858 | -#: src/frontend.py:360 src/frontend.py:458 src/frontend.py:468 |
3859 | +#: src/frontend.py:356 src/frontend.py:454 src/frontend.py:464 |
3860 | #, python-format |
3861 | msgid "Invalid IP version '%s'" |
3862 | msgstr "" |
3863 | |
3864 | -#: src/frontend.py:391 |
3865 | +#: src/frontend.py:387 |
3866 | msgid "Invalid position '" |
3867 | msgstr "" |
3868 | |
3869 | -#: src/frontend.py:465 |
3870 | +#: src/frontend.py:461 |
3871 | msgid "IPv6 support not enabled" |
3872 | msgstr "" |
3873 | |
3874 | -#: src/frontend.py:476 |
3875 | +#: src/frontend.py:472 |
3876 | msgid "Rule changed after normalization" |
3877 | msgstr "" |
3878 | |
3879 | +#: src/frontend.py:496 |
3880 | +#, python-format |
3881 | +msgid "Could not back out rule '%s'" |
3882 | +msgstr "Nije moguće povratiti pravilo '%s'" |
3883 | + |
3884 | #: src/frontend.py:500 |
3885 | -#, python-format |
3886 | -msgid "Could not back out rule '%s'" |
3887 | -msgstr "" |
3888 | - |
3889 | -#: src/frontend.py:504 |
3890 | msgid "" |
3891 | "\n" |
3892 | "Error applying application rules." |
3893 | msgstr "" |
3894 | |
3895 | -#: src/frontend.py:506 |
3896 | +#: src/frontend.py:502 |
3897 | msgid " Some rules could not be unapplied." |
3898 | msgstr "" |
3899 | |
3900 | -#: src/frontend.py:508 |
3901 | +#: src/frontend.py:504 |
3902 | msgid " Attempted rules successfully unapplied." |
3903 | msgstr "" |
3904 | |
3905 | -#: src/frontend.py:519 |
3906 | +#: src/frontend.py:515 |
3907 | #, python-format |
3908 | msgid "Could not find rule '%s'" |
3909 | msgstr "" |
3910 | |
3911 | -#: src/frontend.py:524 src/frontend.py:529 |
3912 | +#: src/frontend.py:520 src/frontend.py:525 |
3913 | #, python-format |
3914 | msgid "Could not find rule '%d'" |
3915 | msgstr "" |
3916 | |
3917 | -#: src/frontend.py:541 |
3918 | +#: src/frontend.py:537 |
3919 | #, python-format |
3920 | msgid "" |
3921 | "Deleting:\n" |
3922 | @@ -608,229 +614,252 @@ |
3923 | "Proceed with operation (%(yes)s|%(no)s)? " |
3924 | msgstr "" |
3925 | |
3926 | -#: src/frontend.py:572 |
3927 | +#: src/frontend.py:568 |
3928 | msgid "Unsupported default policy" |
3929 | msgstr "" |
3930 | |
3931 | -#: src/frontend.py:599 src/frontend.py:744 |
3932 | +#: src/frontend.py:595 src/frontend.py:740 |
3933 | msgid "Firewall reloaded" |
3934 | -msgstr "" |
3935 | +msgstr "Ponovno učitavanje Firewall-a" |
3936 | |
3937 | -#: src/frontend.py:601 |
3938 | +#: src/frontend.py:597 |
3939 | msgid "Firewall not enabled (skipping reload)" |
3940 | msgstr "" |
3941 | |
3942 | -#: src/frontend.py:618 src/frontend.py:632 src/frontend.py:669 |
3943 | +#: src/frontend.py:614 src/frontend.py:628 src/frontend.py:665 |
3944 | msgid "Invalid profile name" |
3945 | msgstr "" |
3946 | |
3947 | -#: src/frontend.py:637 src/frontend.py:819 |
3948 | +#: src/frontend.py:633 src/frontend.py:815 |
3949 | #, python-format |
3950 | msgid "Unsupported action '%s'" |
3951 | -msgstr "" |
3952 | +msgstr "Nepodržana akcija '%s'" |
3953 | |
3954 | -#: src/frontend.py:656 |
3955 | +#: src/frontend.py:652 |
3956 | msgid "Available applications:" |
3957 | msgstr "" |
3958 | |
3959 | -#: src/frontend.py:677 |
3960 | +#: src/frontend.py:673 |
3961 | #, python-format |
3962 | msgid "Could not find profile '%s'" |
3963 | msgstr "" |
3964 | |
3965 | -#: src/frontend.py:682 |
3966 | +#: src/frontend.py:678 |
3967 | msgid "Invalid profile" |
3968 | -msgstr "" |
3969 | +msgstr "Nevažeći profil" |
3970 | |
3971 | -#: src/frontend.py:685 |
3972 | +#: src/frontend.py:681 |
3973 | #, python-format |
3974 | msgid "Profile: %s\n" |
3975 | -msgstr "" |
3976 | +msgstr "Profil: %s\n" |
3977 | |
3978 | -#: src/frontend.py:686 |
3979 | +#: src/frontend.py:682 |
3980 | #, python-format |
3981 | msgid "Title: %s\n" |
3982 | -msgstr "" |
3983 | +msgstr "Naslov: %s\n" |
3984 | |
3985 | -#: src/frontend.py:689 |
3986 | +#: src/frontend.py:685 |
3987 | #, python-format |
3988 | msgid "" |
3989 | "Description: %s\n" |
3990 | "\n" |
3991 | msgstr "" |
3992 | +"Opis: %s\n" |
3993 | +"\n" |
3994 | |
3995 | -#: src/frontend.py:695 |
3996 | +#: src/frontend.py:691 |
3997 | msgid "Ports:" |
3998 | -msgstr "" |
3999 | +msgstr "Portovi:" |
4000 | |
4001 | -#: src/frontend.py:697 |
4002 | +#: src/frontend.py:693 |
4003 | msgid "Port:" |
4004 | -msgstr "" |
4005 | +msgstr "Port:" |
4006 | |
4007 | -#: src/frontend.py:746 |
4008 | +#: src/frontend.py:742 |
4009 | msgid "Skipped reloading firewall" |
4010 | msgstr "" |
4011 | |
4012 | -#: src/frontend.py:756 |
4013 | +#: src/frontend.py:752 |
4014 | msgid "Cannot specify 'all' with '--add-new'" |
4015 | msgstr "" |
4016 | |
4017 | -#: src/frontend.py:771 |
4018 | +#: src/frontend.py:767 |
4019 | #, python-format |
4020 | msgid "Unknown policy '%s'" |
4021 | msgstr "" |
4022 | |
4023 | -#: src/frontend.py:828 |
4024 | +#: src/frontend.py:824 |
4025 | #, python-format |
4026 | msgid "" |
4027 | "Command may disrupt existing ssh connections. Proceed with operation " |
4028 | "(%(yes)s|%(no)s)? " |
4029 | msgstr "" |
4030 | |
4031 | +#: src/frontend.py:837 |
4032 | +#, python-format |
4033 | +msgid "" |
4034 | +"Resetting all rules to installed defaults. Proceed with operation " |
4035 | +"(%(yes)s|%(no)s)? " |
4036 | +msgstr "" |
4037 | + |
4038 | #: src/frontend.py:841 |
4039 | #, python-format |
4040 | msgid "" |
4041 | -"Resetting all rules to installed defaults. Proceed with operation " |
4042 | -"(%(yes)s|%(no)s)? " |
4043 | -msgstr "" |
4044 | - |
4045 | -#: src/frontend.py:845 |
4046 | -#, python-format |
4047 | -msgid "" |
4048 | "Resetting all rules to installed defaults. This may disrupt existing ssh " |
4049 | "connections. Proceed with operation (%(yes)s|%(no)s)? " |
4050 | msgstr "" |
4051 | |
4052 | -#: src/parser.py:109 |
4053 | +#: src/parser.py:107 |
4054 | #, python-format |
4055 | msgid "Cannot insert rule at position '%s'" |
4056 | msgstr "" |
4057 | |
4058 | -#: src/parser.py:147 |
4059 | +#: src/parser.py:145 |
4060 | msgid "Invalid interface clause" |
4061 | msgstr "" |
4062 | |
4063 | -#: src/parser.py:173 |
4064 | +#: src/parser.py:171 |
4065 | msgid "Option 'log' not allowed here" |
4066 | msgstr "" |
4067 | |
4068 | -#: src/parser.py:177 |
4069 | +#: src/parser.py:175 |
4070 | msgid "Option 'log-all' not allowed here" |
4071 | msgstr "" |
4072 | |
4073 | -#: src/parser.py:210 src/parser.py:224 |
4074 | +#: src/parser.py:208 src/parser.py:222 |
4075 | msgid "Bad port" |
4076 | -msgstr "" |
4077 | +msgstr "Pogrešan port" |
4078 | |
4079 | -#: src/parser.py:215 src/parser.py:335 |
4080 | +#: src/parser.py:213 src/parser.py:333 |
4081 | msgid "Port ranges must be numeric" |
4082 | -msgstr "" |
4083 | +msgstr "Domet portova mora biti numerički" |
4084 | |
4085 | -#: src/parser.py:229 src/parser.py:426 |
4086 | +#: src/parser.py:227 src/parser.py:419 |
4087 | #, python-format |
4088 | msgid "Invalid port with protocol '%s'" |
4089 | msgstr "" |
4090 | |
4091 | -#: src/parser.py:233 |
4092 | +#: src/parser.py:231 |
4093 | msgid "Wrong number of arguments" |
4094 | -msgstr "" |
4095 | +msgstr "Netačan broj argumenata" |
4096 | |
4097 | -#: src/parser.py:237 |
4098 | +#: src/parser.py:235 |
4099 | msgid "Need 'to' or 'from' clause" |
4100 | -msgstr "" |
4101 | +msgstr "Potrebna 'to' ili 'from' klauzula" |
4102 | |
4103 | -#: src/parser.py:252 |
4104 | +#: src/parser.py:250 |
4105 | msgid "Improper rule syntax" |
4106 | msgstr "" |
4107 | |
4108 | -#: src/parser.py:259 |
4109 | +#: src/parser.py:257 |
4110 | #, python-format |
4111 | msgid "Invalid token '%s'" |
4112 | msgstr "" |
4113 | |
4114 | -#: src/parser.py:268 |
4115 | +#: src/parser.py:266 |
4116 | msgid "Invalid 'proto' clause" |
4117 | msgstr "" |
4118 | |
4119 | -#: src/parser.py:280 |
4120 | +#: src/parser.py:278 |
4121 | #, python-format |
4122 | msgid "Invalid '%s' clause" |
4123 | msgstr "" |
4124 | |
4125 | -#: src/parser.py:299 |
4126 | +#: src/parser.py:297 |
4127 | msgid "Invalid 'from' clause" |
4128 | msgstr "" |
4129 | |
4130 | -#: src/parser.py:318 |
4131 | +#: src/parser.py:316 |
4132 | msgid "Invalid 'to' clause" |
4133 | msgstr "" |
4134 | |
4135 | -#: src/parser.py:323 |
4136 | +#: src/parser.py:321 |
4137 | #, python-format |
4138 | msgid "Need 'from' or 'to' with '%s'" |
4139 | msgstr "" |
4140 | |
4141 | -#: src/parser.py:347 |
4142 | +#: src/parser.py:345 |
4143 | msgid "Invalid 'port' clause" |
4144 | msgstr "" |
4145 | |
4146 | -#: src/parser.py:356 |
4147 | +#: src/parser.py:354 |
4148 | msgid "Mixed IP versions for 'from' and 'to'" |
4149 | msgstr "" |
4150 | |
4151 | -#: src/parser.py:370 src/parser.py:377 src/parser.py:383 |
4152 | +#: src/parser.py:368 src/parser.py:375 src/parser.py:381 |
4153 | msgid "Could not find protocol" |
4154 | msgstr "" |
4155 | |
4156 | -#: src/parser.py:390 |
4157 | +#: src/parser.py:388 |
4158 | msgid "Protocol mismatch (from/to)" |
4159 | msgstr "" |
4160 | |
4161 | -#: src/parser.py:397 |
4162 | +#: src/parser.py:395 |
4163 | #, python-format |
4164 | msgid "Protocol mismatch with specified protocol %s" |
4165 | msgstr "" |
4166 | |
4167 | +#: src/parser.py:402 |
4168 | +#, python-format |
4169 | +msgid "Improper rule syntax ('%s' specified with app rule)" |
4170 | +msgstr "" |
4171 | + |
4172 | #: src/parser.py:409 |
4173 | #, python-format |
4174 | -msgid "Improper rule syntax ('%s' specified with app rule)" |
4175 | -msgstr "" |
4176 | - |
4177 | -#: src/parser.py:416 |
4178 | -#, python-format |
4179 | msgid "Invalid IPv6 address with protocol '%s'" |
4180 | msgstr "" |
4181 | |
4182 | -#: src/parser.py:745 |
4183 | +#: src/parser.py:738 |
4184 | #, python-format |
4185 | msgid "Invalid command '%s'" |
4186 | msgstr "" |
4187 | |
4188 | -#: src/parser.py:767 |
4189 | +#: src/parser.py:760 |
4190 | #, python-format |
4191 | msgid "Command '%s' already exists" |
4192 | msgstr "" |
4193 | |
4194 | -#: src/util.py:386 |
4195 | +#: src/util.py:414 |
4196 | msgid "Couldn't find pid (is /proc mounted?)" |
4197 | msgstr "" |
4198 | |
4199 | -#: src/util.py:390 |
4200 | +#: src/util.py:418 |
4201 | #, python-format |
4202 | msgid "Couldn't find parent pid for '%s'" |
4203 | msgstr "" |
4204 | |
4205 | -#: src/util.py:400 |
4206 | +#: src/util.py:428 |
4207 | #, python-format |
4208 | msgid "Couldn't find '%s'" |
4209 | -msgstr "" |
4210 | +msgstr "Nije moguće pronaći '%s'" |
4211 | |
4212 | -#: src/util.py:406 |
4213 | +#: src/util.py:434 |
4214 | #, python-format |
4215 | msgid "Could not find executable for '%s'" |
4216 | msgstr "" |
4217 | |
4218 | -#: src/util.py:871 |
4219 | +#: src/util.py:985 |
4220 | #, python-format |
4221 | msgid "Could not get statistics for '%s'" |
4222 | msgstr "" |
4223 | + |
4224 | +#~ msgid "Profile '%s' has empty required field '%s'" |
4225 | +#~ msgstr "Profil '%s' ima prazno potrebno polje '%s'" |
4226 | + |
4227 | +#~ msgid "Skipping '%s': value too long for '%s'" |
4228 | +#~ msgstr "Preskakanje '%s': vrijednost prevelika za '%s'" |
4229 | + |
4230 | +#~ msgid "Profile '%s' missing required field '%s'" |
4231 | +#~ msgstr "Profil '%s' nedostaje potrebno polje '%s'" |
4232 | + |
4233 | +#~ msgid "'%s' file '%s' does not exist" |
4234 | +#~ msgstr "'&s' datoteka '&s' ne postoji" |
4235 | + |
4236 | +#~ msgid "uid is %s but '%s' is owned by %s" |
4237 | +#~ msgstr "uid je %s ali '%s' je u vlasništvu %s" |
4238 | + |
4239 | +#~ msgid "--" |
4240 | +#~ msgstr "--" |
4241 | + |
4242 | +#~ msgid "No match" |
4243 | +#~ msgstr "Nema poklapanja" |
4244 | |
4245 | === modified file 'locales/po/ca.po' |
4246 | --- locales/po/ca.po 2012-04-04 20:44:20 +0000 |
4247 | +++ locales/po/ca.po 2013-11-11 16:00:06 +0000 |
4248 | @@ -7,169 +7,168 @@ |
4249 | msgstr "" |
4250 | "Project-Id-Version: ufw\n" |
4251 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
4252 | -"POT-Creation-Date: 2011-03-22 10:34-0500\n" |
4253 | +"POT-Creation-Date: 2012-07-29 09:48-0500\n" |
4254 | "PO-Revision-Date: 2009-08-26 19:14+0000\n" |
4255 | "Last-Translator: Xan <dxpublica@telefonica.net>\n" |
4256 | "Language-Team: Catalan <ca@li.org>\n" |
4257 | "MIME-Version: 1.0\n" |
4258 | "Content-Type: text/plain; charset=UTF-8\n" |
4259 | "Content-Transfer-Encoding: 8bit\n" |
4260 | -"X-Launchpad-Export-Date: 2012-02-13 23:52+0000\n" |
4261 | -"X-Generator: Launchpad (build 14781)\n" |
4262 | - |
4263 | -#: src/ufw:46 |
4264 | -msgid ": Need at least python 2.5)\n" |
4265 | -msgstr ": Almenys es necessita python 2.5)\n" |
4266 | - |
4267 | -#: src/ufw:103 src/frontend.py:554 src/frontend.py:854 |
4268 | +"X-Launchpad-Export-Date: 2012-08-12 01:56+0000\n" |
4269 | +"X-Generator: Launchpad (build 15780)\n" |
4270 | + |
4271 | +#: src/ufw:56 |
4272 | +msgid ": Need at least python 2.6)\n" |
4273 | +msgstr "" |
4274 | + |
4275 | +#: src/ufw:109 src/frontend.py:550 src/frontend.py:850 |
4276 | msgid "Aborted" |
4277 | msgstr "" |
4278 | |
4279 | -#: src/applications.py:32 |
4280 | +#: src/applications.py:36 |
4281 | msgid "Profiles directory does not exist" |
4282 | msgstr "" |
4283 | |
4284 | -#: src/applications.py:64 |
4285 | +#: src/applications.py:68 |
4286 | #, python-format |
4287 | msgid "Skipping '%s': couldn't stat" |
4288 | msgstr "" |
4289 | |
4290 | -#: src/applications.py:69 |
4291 | +#: src/applications.py:73 |
4292 | #, python-format |
4293 | msgid "Skipping '%s': too big" |
4294 | msgstr "" |
4295 | |
4296 | -#: src/applications.py:74 |
4297 | +#: src/applications.py:78 |
4298 | #, python-format |
4299 | msgid "Skipping '%s': too many files read already" |
4300 | msgstr "" |
4301 | |
4302 | -#: src/applications.py:84 |
4303 | +#: src/applications.py:92 |
4304 | #, python-format |
4305 | msgid "Skipping '%s': couldn't process" |
4306 | msgstr "" |
4307 | |
4308 | -#: src/applications.py:91 |
4309 | +#: src/applications.py:99 |
4310 | #, python-format |
4311 | msgid "Skipping '%s': name too long" |
4312 | msgstr "" |
4313 | |
4314 | -#: src/applications.py:96 |
4315 | +#: src/applications.py:104 |
4316 | #, python-format |
4317 | msgid "Skipping '%s': invalid name" |
4318 | msgstr "" |
4319 | |
4320 | -#: src/applications.py:102 |
4321 | +#: src/applications.py:110 |
4322 | #, python-format |
4323 | msgid "Skipping '%s': also in /etc/services" |
4324 | msgstr "" |
4325 | |
4326 | -#: src/applications.py:111 |
4327 | +#: src/applications.py:119 |
4328 | #, python-format |
4329 | msgid "Skipping '%s': field too long" |
4330 | msgstr "" |
4331 | |
4332 | -#: src/applications.py:116 |
4333 | +#: src/applications.py:124 |
4334 | #, python-format |
4335 | msgid "Skipping '%(value)s': value too long for '%(field)s'" |
4336 | msgstr "" |
4337 | |
4338 | -#: src/applications.py:126 |
4339 | +#: src/applications.py:134 |
4340 | #, python-format |
4341 | msgid "Duplicate profile '%s', using last found" |
4342 | msgstr "" |
4343 | |
4344 | -#: src/applications.py:156 |
4345 | +#: src/applications.py:171 |
4346 | #, python-format |
4347 | msgid "Profile '%(fn)s' missing required field '%(f)s'" |
4348 | msgstr "" |
4349 | |
4350 | -#: src/applications.py:161 |
4351 | +#: src/applications.py:176 |
4352 | #, python-format |
4353 | msgid "Profile '%(fn)s' has empty required field '%(f)s'" |
4354 | msgstr "" |
4355 | |
4356 | -#: src/applications.py:167 |
4357 | +#: src/applications.py:182 |
4358 | #, python-format |
4359 | msgid "No ports found in profile '%s'" |
4360 | msgstr "" |
4361 | |
4362 | -#: src/applications.py:180 |
4363 | +#: src/applications.py:195 |
4364 | #, python-format |
4365 | msgid "Invalid ports in profile '%s'" |
4366 | msgstr "" |
4367 | |
4368 | -#: src/backend_iptables.py:87 |
4369 | +#: src/backend_iptables.py:72 |
4370 | msgid "New profiles:" |
4371 | msgstr "" |
4372 | |
4373 | -#: src/backend_iptables.py:103 src/backend.py:275 |
4374 | +#: src/backend_iptables.py:88 src/backend.py:315 |
4375 | #, python-format |
4376 | msgid "Unsupported policy '%s'" |
4377 | msgstr "Política '%s' no suportada" |
4378 | |
4379 | -#: src/backend_iptables.py:107 |
4380 | +#: src/backend_iptables.py:92 |
4381 | #, python-format |
4382 | msgid "Unsupported policy for direction '%s'" |
4383 | msgstr "" |
4384 | |
4385 | -#: src/backend_iptables.py:165 |
4386 | +#: src/backend_iptables.py:150 |
4387 | #, python-format |
4388 | msgid "Default %(direction)s policy changed to '%(policy)s'\n" |
4389 | msgstr "" |
4390 | |
4391 | -#: src/backend_iptables.py:167 |
4392 | +#: src/backend_iptables.py:152 |
4393 | msgid "(be sure to update your rules accordingly)" |
4394 | msgstr "(aneu amb compte d'actualitzar les vostres regles consegüentment)" |
4395 | |
4396 | -#: src/backend_iptables.py:174 |
4397 | +#: src/backend_iptables.py:159 |
4398 | msgid "Checking raw iptables\n" |
4399 | msgstr "" |
4400 | |
4401 | -#: src/backend_iptables.py:175 |
4402 | +#: src/backend_iptables.py:160 |
4403 | msgid "Checking raw ip6tables\n" |
4404 | msgstr "" |
4405 | |
4406 | -#: src/backend_iptables.py:178 src/backend_iptables.py:269 |
4407 | -#: src/backend_iptables.py:448 src/backend_iptables.py:459 |
4408 | -#: src/backend_iptables.py:507 |
4409 | -msgid "problem running" |
4410 | -msgstr "" |
4411 | - |
4412 | -#: src/backend_iptables.py:264 |
4413 | +#: src/backend_iptables.py:250 |
4414 | msgid "Checking iptables\n" |
4415 | msgstr "Verificant iptables\n" |
4416 | |
4417 | -#: src/backend_iptables.py:266 |
4418 | +#: src/backend_iptables.py:252 |
4419 | msgid "Checking ip6tables\n" |
4420 | msgstr "Verificant ip6tables\n" |
4421 | |
4422 | -#: src/backend_iptables.py:275 |
4423 | +#: src/backend_iptables.py:255 src/backend_iptables.py:435 |
4424 | +#: src/backend_iptables.py:446 src/backend_iptables.py:497 |
4425 | +msgid "problem running" |
4426 | +msgstr "" |
4427 | + |
4428 | +#: src/backend_iptables.py:261 |
4429 | msgid "Status: inactive" |
4430 | msgstr "" |
4431 | |
4432 | -#: src/backend_iptables.py:411 |
4433 | +#: src/backend_iptables.py:397 |
4434 | msgid "To" |
4435 | msgstr "A" |
4436 | |
4437 | -#: src/backend_iptables.py:412 |
4438 | +#: src/backend_iptables.py:398 |
4439 | msgid "From" |
4440 | msgstr "Des de" |
4441 | |
4442 | -#: src/backend_iptables.py:413 |
4443 | +#: src/backend_iptables.py:399 |
4444 | msgid "Action" |
4445 | msgstr "Acció" |
4446 | |
4447 | -#: src/backend_iptables.py:428 |
4448 | +#: src/backend_iptables.py:415 |
4449 | msgid "\n" |
4450 | msgstr "\n" |
4451 | |
4452 | -#: src/backend_iptables.py:436 |
4453 | +#: src/backend_iptables.py:423 |
4454 | #, python-format |
4455 | msgid "Default: %(in)s (incoming), %(out)s (outgoing)" |
4456 | msgstr "" |
4457 | |
4458 | -#: src/backend_iptables.py:440 |
4459 | +#: src/backend_iptables.py:427 |
4460 | #, python-format |
4461 | msgid "" |
4462 | "Status: active\n" |
4463 | @@ -178,262 +177,267 @@ |
4464 | "%(app)s%(status)s" |
4465 | msgstr "" |
4466 | |
4467 | -#: src/backend_iptables.py:444 |
4468 | +#: src/backend_iptables.py:431 |
4469 | #, python-format |
4470 | msgid "Status: active%s" |
4471 | msgstr "" |
4472 | |
4473 | -#: src/backend_iptables.py:450 src/backend_iptables.py:461 |
4474 | +#: src/backend_iptables.py:437 src/backend_iptables.py:448 |
4475 | msgid "running ufw-init" |
4476 | msgstr "" |
4477 | |
4478 | -#: src/backend_iptables.py:474 |
4479 | +#: src/backend_iptables.py:461 |
4480 | msgid "Could not set LOGLEVEL" |
4481 | msgstr "" |
4482 | |
4483 | -#: src/backend_iptables.py:480 |
4484 | +#: src/backend_iptables.py:467 |
4485 | msgid "Could not load logging rules" |
4486 | msgstr "" |
4487 | |
4488 | -#: src/backend_iptables.py:629 src/backend.py:181 |
4489 | +#: src/backend_iptables.py:619 src/backend.py:221 |
4490 | #, python-format |
4491 | msgid "Couldn't open '%s' for reading" |
4492 | msgstr "No es pot obrir '%s' per a llegir" |
4493 | |
4494 | -#: src/backend_iptables.py:638 |
4495 | +#: src/backend_iptables.py:628 |
4496 | #, python-format |
4497 | msgid "Skipping malformed tuple (bad length): %s" |
4498 | msgstr "" |
4499 | |
4500 | -#: src/backend_iptables.py:668 |
4501 | +#: src/backend_iptables.py:659 |
4502 | #, python-format |
4503 | msgid "Skipping malformed tuple: %s" |
4504 | msgstr "" |
4505 | |
4506 | -#: src/backend_iptables.py:690 src/backend.py:213 |
4507 | +#: src/backend_iptables.py:681 src/backend.py:253 |
4508 | #, python-format |
4509 | msgid "'%s' is not writable" |
4510 | msgstr "" |
4511 | |
4512 | -#: src/backend_iptables.py:830 |
4513 | +#: src/backend_iptables.py:839 |
4514 | msgid "Adding IPv6 rule failed: IPv6 not enabled" |
4515 | msgstr "" |
4516 | |
4517 | -#: src/backend_iptables.py:834 |
4518 | +#: src/backend_iptables.py:843 |
4519 | #, python-format |
4520 | msgid "Skipping unsupported IPv6 '%s' rule" |
4521 | msgstr "" |
4522 | |
4523 | -#: src/backend_iptables.py:837 |
4524 | +#: src/backend_iptables.py:847 |
4525 | +#, python-format |
4526 | +msgid "Skipping unsupported IPv4 '%s' rule" |
4527 | +msgstr "" |
4528 | + |
4529 | +#: src/backend_iptables.py:850 |
4530 | msgid "Must specify 'tcp' or 'udp' with multiple ports" |
4531 | msgstr "" |
4532 | |
4533 | -#: src/backend_iptables.py:849 |
4534 | +#: src/backend_iptables.py:862 |
4535 | msgid "Skipping IPv6 application rule. Need at least iptables 1.4" |
4536 | msgstr "" |
4537 | |
4538 | -#: src/backend_iptables.py:854 |
4539 | +#: src/backend_iptables.py:867 |
4540 | #, python-format |
4541 | msgid "Invalid position '%d'" |
4542 | msgstr "" |
4543 | |
4544 | -#: src/backend_iptables.py:858 |
4545 | +#: src/backend_iptables.py:871 |
4546 | msgid "Cannot specify insert and delete" |
4547 | msgstr "" |
4548 | |
4549 | -#: src/backend_iptables.py:861 |
4550 | +#: src/backend_iptables.py:874 |
4551 | #, python-format |
4552 | msgid "Cannot insert rule at position '%d'" |
4553 | msgstr "" |
4554 | |
4555 | -#: src/backend_iptables.py:919 |
4556 | +#: src/backend_iptables.py:932 |
4557 | msgid "Skipping inserting existing rule" |
4558 | msgstr "" |
4559 | |
4560 | -#: src/backend_iptables.py:930 src/frontend.py:365 |
4561 | +#: src/backend_iptables.py:943 src/frontend.py:361 |
4562 | msgid "Could not delete non-existent rule" |
4563 | msgstr "" |
4564 | |
4565 | -#: src/backend_iptables.py:935 |
4566 | +#: src/backend_iptables.py:948 |
4567 | msgid "Skipping adding existing rule" |
4568 | msgstr "" |
4569 | |
4570 | -#: src/backend_iptables.py:951 |
4571 | +#: src/backend_iptables.py:964 |
4572 | msgid "Couldn't update rules file" |
4573 | msgstr "No es pot actualitzar l'arxiu de regles" |
4574 | |
4575 | -#: src/backend_iptables.py:956 |
4576 | +#: src/backend_iptables.py:969 |
4577 | msgid "Rules updated" |
4578 | msgstr "Regles actualitzades" |
4579 | |
4580 | -#: src/backend_iptables.py:958 |
4581 | +#: src/backend_iptables.py:971 |
4582 | msgid "Rules updated (v6)" |
4583 | msgstr "Regles actualitzades (v6)" |
4584 | |
4585 | -#: src/backend_iptables.py:966 |
4586 | +#: src/backend_iptables.py:979 |
4587 | msgid "Rule inserted" |
4588 | msgstr "" |
4589 | |
4590 | -#: src/backend_iptables.py:968 |
4591 | +#: src/backend_iptables.py:981 |
4592 | msgid "Rule updated" |
4593 | msgstr "Regla actualitzada" |
4594 | |
4595 | -#: src/backend_iptables.py:978 |
4596 | +#: src/backend_iptables.py:991 |
4597 | msgid " (skipped reloading firewall)" |
4598 | msgstr "" |
4599 | |
4600 | -#: src/backend_iptables.py:981 |
4601 | +#: src/backend_iptables.py:994 |
4602 | msgid "Rule deleted" |
4603 | msgstr "Regla esborrada" |
4604 | |
4605 | -#: src/backend_iptables.py:984 |
4606 | +#: src/backend_iptables.py:997 |
4607 | msgid "Rule added" |
4608 | msgstr "Regla afegida" |
4609 | |
4610 | -#: src/backend_iptables.py:999 src/backend_iptables.py:1087 |
4611 | +#: src/backend_iptables.py:1012 src/backend_iptables.py:1100 |
4612 | msgid "Could not update running firewall" |
4613 | msgstr "No es pot actualitzar el tallafocs en execució" |
4614 | |
4615 | -#: src/backend_iptables.py:1054 |
4616 | +#: src/backend_iptables.py:1067 |
4617 | #, python-format |
4618 | msgid "Could not perform '%s'" |
4619 | msgstr "" |
4620 | |
4621 | -#: src/backend_iptables.py:1078 |
4622 | +#: src/backend_iptables.py:1091 |
4623 | msgid "Couldn't update rules file for logging" |
4624 | msgstr "" |
4625 | |
4626 | -#: src/backend_iptables.py:1132 src/backend.py:530 |
4627 | +#: src/backend_iptables.py:1149 src/backend.py:571 |
4628 | #, python-format |
4629 | msgid "Invalid log level '%s'" |
4630 | msgstr "" |
4631 | |
4632 | -#: src/backend_iptables.py:1228 |
4633 | +#: src/backend_iptables.py:1246 |
4634 | #, python-format |
4635 | msgid "Could not find '%s'. Aborting" |
4636 | msgstr "" |
4637 | |
4638 | -#: src/backend_iptables.py:1240 |
4639 | +#: src/backend_iptables.py:1258 |
4640 | #, python-format |
4641 | msgid "'%s' already exists. Aborting" |
4642 | msgstr "" |
4643 | |
4644 | -#: src/backend_iptables.py:1246 |
4645 | +#: src/backend_iptables.py:1264 |
4646 | #, python-format |
4647 | msgid "Backing up '%(old)s' to '%(new)s'\n" |
4648 | msgstr "" |
4649 | |
4650 | -#: src/backend_iptables.py:1262 src/backend.py:140 |
4651 | +#: src/backend_iptables.py:1280 src/backend.py:180 |
4652 | #, python-format |
4653 | msgid "Couldn't stat '%s'" |
4654 | msgstr "" |
4655 | |
4656 | -#: src/backend_iptables.py:1267 |
4657 | +#: src/backend_iptables.py:1285 |
4658 | #, python-format |
4659 | msgid "WARN: '%s' is world writable" |
4660 | msgstr "" |
4661 | |
4662 | -#: src/backend_iptables.py:1269 |
4663 | +#: src/backend_iptables.py:1287 |
4664 | #, python-format |
4665 | msgid "WARN: '%s' is world readable" |
4666 | msgstr "" |
4667 | |
4668 | -#: src/backend.py:96 |
4669 | +#: src/backend.py:136 |
4670 | msgid "Checks disabled" |
4671 | msgstr "Comprovació desactivada" |
4672 | |
4673 | -#: src/backend.py:102 |
4674 | +#: src/backend.py:142 |
4675 | msgid "ERROR: this script should not be SUID" |
4676 | msgstr "" |
4677 | |
4678 | -#: src/backend.py:105 |
4679 | +#: src/backend.py:145 |
4680 | msgid "ERROR: this script should not be SGID" |
4681 | msgstr "" |
4682 | |
4683 | -#: src/backend.py:110 |
4684 | +#: src/backend.py:150 |
4685 | msgid "You need to be root to run this script" |
4686 | msgstr "Necessiteu ser root per executar aquest programa" |
4687 | |
4688 | -#: src/backend.py:120 |
4689 | +#: src/backend.py:160 |
4690 | #, python-format |
4691 | msgid "'%s' does not exist" |
4692 | msgstr "" |
4693 | |
4694 | -#: src/backend.py:146 |
4695 | +#: src/backend.py:186 |
4696 | #, python-format |
4697 | msgid "uid is %(uid)s but '%(path)s' is owned by %(st_uid)s" |
4698 | msgstr "" |
4699 | |
4700 | -#: src/backend.py:153 |
4701 | +#: src/backend.py:193 |
4702 | #, python-format |
4703 | msgid "%s is world writable!" |
4704 | msgstr "" |
4705 | |
4706 | -#: src/backend.py:157 |
4707 | +#: src/backend.py:197 |
4708 | #, python-format |
4709 | msgid "%s is group writable!" |
4710 | msgstr "" |
4711 | |
4712 | -#: src/backend.py:170 |
4713 | +#: src/backend.py:210 |
4714 | #, python-format |
4715 | msgid "'%(f)s' file '%(name)s' does not exist" |
4716 | msgstr "" |
4717 | |
4718 | -#: src/backend.py:195 |
4719 | +#: src/backend.py:235 |
4720 | #, python-format |
4721 | msgid "Missing policy for '%s'" |
4722 | msgstr "" |
4723 | |
4724 | -#: src/backend.py:200 |
4725 | +#: src/backend.py:240 |
4726 | #, python-format |
4727 | msgid "Invalid policy '%(policy)s' for '%(chain)s'" |
4728 | msgstr "" |
4729 | |
4730 | -#: src/backend.py:207 |
4731 | +#: src/backend.py:247 |
4732 | msgid "Invalid option" |
4733 | msgstr "Opció invàlida" |
4734 | |
4735 | -#: src/backend.py:278 |
4736 | +#: src/backend.py:318 |
4737 | #, python-format |
4738 | msgid "Default application policy changed to '%s'" |
4739 | msgstr "" |
4740 | |
4741 | -#: src/backend.py:360 |
4742 | +#: src/backend.py:400 |
4743 | msgid "No rules found for application profile" |
4744 | msgstr "" |
4745 | |
4746 | -#: src/backend.py:419 |
4747 | +#: src/backend.py:459 |
4748 | #, python-format |
4749 | msgid "Rules updated for profile '%s'" |
4750 | msgstr "" |
4751 | |
4752 | -#: src/backend.py:425 |
4753 | +#: src/backend.py:465 |
4754 | msgid "Couldn't update application rules" |
4755 | msgstr "" |
4756 | |
4757 | -#: src/backend.py:447 |
4758 | +#: src/backend.py:487 |
4759 | #, python-format |
4760 | msgid "Found multiple matches for '%s'. Please use exact profile name" |
4761 | msgstr "" |
4762 | |
4763 | -#: src/backend.py:448 |
4764 | +#: src/backend.py:489 |
4765 | #, python-format |
4766 | msgid "Could not find a profile matching '%s'" |
4767 | msgstr "" |
4768 | |
4769 | -#: src/backend.py:514 |
4770 | +#: src/backend.py:555 |
4771 | msgid "Logging: " |
4772 | msgstr "" |
4773 | |
4774 | -#: src/backend.py:518 |
4775 | +#: src/backend.py:559 |
4776 | msgid "unknown" |
4777 | msgstr "" |
4778 | |
4779 | -#: src/backend.py:548 |
4780 | +#: src/backend.py:589 |
4781 | msgid "Logging disabled" |
4782 | msgstr "" |
4783 | |
4784 | -#: src/backend.py:550 |
4785 | +#: src/backend.py:591 |
4786 | msgid "Logging enabled" |
4787 | msgstr "" |
4788 | |
4789 | @@ -482,24 +486,20 @@ |
4790 | msgid "Unsupported direction '%s'" |
4791 | msgstr "" |
4792 | |
4793 | -#: src/common.py:346 |
4794 | -msgid "Could not normalize source address" |
4795 | -msgstr "" |
4796 | - |
4797 | -#: src/common.py:356 |
4798 | +#: src/common.py:355 |
4799 | msgid "Could not normalize destination address" |
4800 | msgstr "" |
4801 | |
4802 | -#: src/common.py:417 |
4803 | +#: src/common.py:416 |
4804 | msgid "Found exact match" |
4805 | msgstr "S'ha trobat una coincidència exacta" |
4806 | |
4807 | -#: src/common.py:421 |
4808 | +#: src/common.py:420 |
4809 | #, python-format |
4810 | msgid "Found non-action/non-logtype match (%(xa)s/%(ya)s %(xl)s/%(yl)s)" |
4811 | msgstr "" |
4812 | |
4813 | -#: src/frontend.py:93 |
4814 | +#: src/frontend.py:88 |
4815 | #, python-format |
4816 | msgid "" |
4817 | "\n" |
4818 | @@ -530,77 +530,77 @@ |
4819 | " %(appdefault)-31s set default application policy\n" |
4820 | msgstr "" |
4821 | |
4822 | -#: src/frontend.py:168 |
4823 | +#: src/frontend.py:160 |
4824 | msgid "n" |
4825 | msgstr "" |
4826 | |
4827 | -#: src/frontend.py:169 |
4828 | +#: src/frontend.py:161 |
4829 | msgid "y" |
4830 | msgstr "" |
4831 | |
4832 | -#: src/frontend.py:170 |
4833 | +#: src/frontend.py:162 |
4834 | msgid "yes" |
4835 | msgstr "" |
4836 | |
4837 | -#: src/frontend.py:215 |
4838 | +#: src/frontend.py:207 |
4839 | msgid "Firewall is active and enabled on system startup" |
4840 | msgstr "" |
4841 | |
4842 | -#: src/frontend.py:222 |
4843 | +#: src/frontend.py:214 |
4844 | msgid "Firewall stopped and disabled on system startup" |
4845 | msgstr "" |
4846 | |
4847 | -#: src/frontend.py:273 |
4848 | +#: src/frontend.py:265 |
4849 | msgid "Could not get listening status" |
4850 | msgstr "" |
4851 | |
4852 | -#: src/frontend.py:360 src/frontend.py:458 src/frontend.py:468 |
4853 | +#: src/frontend.py:356 src/frontend.py:454 src/frontend.py:464 |
4854 | #, python-format |
4855 | msgid "Invalid IP version '%s'" |
4856 | msgstr "La versió de la IP '%s' no és vàlida" |
4857 | |
4858 | -#: src/frontend.py:391 |
4859 | +#: src/frontend.py:387 |
4860 | msgid "Invalid position '" |
4861 | msgstr "" |
4862 | |
4863 | -#: src/frontend.py:465 |
4864 | +#: src/frontend.py:461 |
4865 | msgid "IPv6 support not enabled" |
4866 | msgstr "El suport per a IPv6 no està habilitat" |
4867 | |
4868 | -#: src/frontend.py:476 |
4869 | +#: src/frontend.py:472 |
4870 | msgid "Rule changed after normalization" |
4871 | msgstr "" |
4872 | |
4873 | +#: src/frontend.py:496 |
4874 | +#, python-format |
4875 | +msgid "Could not back out rule '%s'" |
4876 | +msgstr "" |
4877 | + |
4878 | #: src/frontend.py:500 |
4879 | -#, python-format |
4880 | -msgid "Could not back out rule '%s'" |
4881 | -msgstr "" |
4882 | - |
4883 | -#: src/frontend.py:504 |
4884 | msgid "" |
4885 | "\n" |
4886 | "Error applying application rules." |
4887 | msgstr "" |
4888 | |
4889 | -#: src/frontend.py:506 |
4890 | +#: src/frontend.py:502 |
4891 | msgid " Some rules could not be unapplied." |
4892 | msgstr "" |
4893 | |
4894 | -#: src/frontend.py:508 |
4895 | +#: src/frontend.py:504 |
4896 | msgid " Attempted rules successfully unapplied." |
4897 | msgstr "" |
4898 | |
4899 | -#: src/frontend.py:519 |
4900 | +#: src/frontend.py:515 |
4901 | #, python-format |
4902 | msgid "Could not find rule '%s'" |
4903 | msgstr "" |
4904 | |
4905 | -#: src/frontend.py:524 src/frontend.py:529 |
4906 | +#: src/frontend.py:520 src/frontend.py:525 |
4907 | #, python-format |
4908 | msgid "Could not find rule '%d'" |
4909 | msgstr "" |
4910 | |
4911 | -#: src/frontend.py:541 |
4912 | +#: src/frontend.py:537 |
4913 | #, python-format |
4914 | msgid "" |
4915 | "Deleting:\n" |
4916 | @@ -608,229 +608,229 @@ |
4917 | "Proceed with operation (%(yes)s|%(no)s)? " |
4918 | msgstr "" |
4919 | |
4920 | -#: src/frontend.py:572 |
4921 | +#: src/frontend.py:568 |
4922 | msgid "Unsupported default policy" |
4923 | msgstr "" |
4924 | |
4925 | -#: src/frontend.py:599 src/frontend.py:744 |
4926 | +#: src/frontend.py:595 src/frontend.py:740 |
4927 | msgid "Firewall reloaded" |
4928 | msgstr "" |
4929 | |
4930 | -#: src/frontend.py:601 |
4931 | +#: src/frontend.py:597 |
4932 | msgid "Firewall not enabled (skipping reload)" |
4933 | msgstr "" |
4934 | |
4935 | -#: src/frontend.py:618 src/frontend.py:632 src/frontend.py:669 |
4936 | +#: src/frontend.py:614 src/frontend.py:628 src/frontend.py:665 |
4937 | msgid "Invalid profile name" |
4938 | msgstr "" |
4939 | |
4940 | -#: src/frontend.py:637 src/frontend.py:819 |
4941 | +#: src/frontend.py:633 src/frontend.py:815 |
4942 | #, python-format |
4943 | msgid "Unsupported action '%s'" |
4944 | msgstr "" |
4945 | |
4946 | -#: src/frontend.py:656 |
4947 | +#: src/frontend.py:652 |
4948 | msgid "Available applications:" |
4949 | msgstr "" |
4950 | |
4951 | -#: src/frontend.py:677 |
4952 | +#: src/frontend.py:673 |
4953 | #, python-format |
4954 | msgid "Could not find profile '%s'" |
4955 | msgstr "" |
4956 | |
4957 | -#: src/frontend.py:682 |
4958 | +#: src/frontend.py:678 |
4959 | msgid "Invalid profile" |
4960 | msgstr "" |
4961 | |
4962 | -#: src/frontend.py:685 |
4963 | +#: src/frontend.py:681 |
4964 | #, python-format |
4965 | msgid "Profile: %s\n" |
4966 | msgstr "" |
4967 | |
4968 | -#: src/frontend.py:686 |
4969 | +#: src/frontend.py:682 |
4970 | #, python-format |
4971 | msgid "Title: %s\n" |
4972 | msgstr "" |
4973 | |
4974 | -#: src/frontend.py:689 |
4975 | +#: src/frontend.py:685 |
4976 | #, python-format |
4977 | msgid "" |
4978 | "Description: %s\n" |
4979 | "\n" |
4980 | msgstr "" |
4981 | |
4982 | -#: src/frontend.py:695 |
4983 | +#: src/frontend.py:691 |
4984 | msgid "Ports:" |
4985 | msgstr "" |
4986 | |
4987 | -#: src/frontend.py:697 |
4988 | +#: src/frontend.py:693 |
4989 | msgid "Port:" |
4990 | msgstr "" |
4991 | |
4992 | -#: src/frontend.py:746 |
4993 | +#: src/frontend.py:742 |
4994 | msgid "Skipped reloading firewall" |
4995 | msgstr "" |
4996 | |
4997 | -#: src/frontend.py:756 |
4998 | +#: src/frontend.py:752 |
4999 | msgid "Cannot specify 'all' with '--add-new'" |
5000 | msgstr "" |
The diff has been truncated for viewing.
Thanks for your work on this. I'd like to get the Ubuntu and Debian packaging back in sync and will probably not use this branch. The Ubuntu packaging has several packaging updates for python3 that would be useful for Debian. It is true that the Debian version is lagging (this happened due to Debian's release schedule at the time 0.33 was released). I hope to release a new 0.34 soon and will update both Debian and Ubuntu to this version. I am going to mark this as 'Disapprove' for now, but if the release of 0.34 doesn't happen soon, then I will merge this branch in the meantime.
Thanks again!