Compare commits

...

173 commits

Author SHA1 Message Date
Hannu Nyman
7b230b08eb timezone data: update to 2019c
Update timezone data to 2019c

http://mm.icann.org/pipermail/tz-announce/2019-September/000057.html

2019c:
* Fiji observes DST from 2019-11-10 to 2020-01-12.
* Norfolk Island starts observing Australian-style DST.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit cf887ba62f)
2019-09-28 23:01:20 +03:00
Hannu Nyman
ffd98d34f0 timezone data: update to 2019b
Update timezone data to 2019b

http://mm.icann.org/pipermail/tz-announce/2018-December/000055.html
http://mm.icann.org/pipermail/tz/2019-July/028249.html

2019a:
* Palestine "springs forward" on 2019-03-30 instead of 2019-03-23.
* Brazil no longer observes DST.

2019b:
* Palestine's 2019 spring-forward transition was on 03-29, not 03-30.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 2f769ee087)
2019-09-28 23:00:58 +03:00
Hannu Nyman
71e2af4f51 treewide: fix datetype/datatype typo
Fix the "datetype" typo also in 17.01

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2019-06-16 18:07:58 +03:00
Hannu Nyman
0cc62b447f
Merge pull request #2559 from dragon100a/patch-1
luci-base: update Chinese translate
2019-02-24 19:23:54 +02:00
dragon100a
2d5a402bd6
fill a translate in Chinese
for msgid "Obtain IPv6-Address"
2019-02-24 11:27:17 +08:00
Hannu Nyman
0aaa0c2384 i18n: sync translations
Sync translations to add few new strings.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2019-02-21 17:58:13 +02:00
Jo-Philipp Wich
c87900c6a0 luci-app-nlbwmon: Fixed incorrect period parameter/display
Switch from using the unreliable string data constructor syntax to
a more explicit year / month / day variant and pass through the
period value as-is in order to ensure that the proper start date
is requested from the backend.

This should fix issues with prevent the display of older data
periods in the nlbwmon gui.

Ref: https://github.com/jow-/nlbwmon/issues/25
Ref: https://github.com/openwrt/luci/pull/2496
Suggested-by: Aktanusa <chanam.geo@yahoo.com>
[squashed commits, add a more thorough commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>

(backported from commit bd56c1aac6)

(cherry picked from commit 30d9bc02b2)
2019-02-15 12:21:51 +01:00
Florian Eckert
e1e3e238b0 luci-proto-ppp: add translation to ipv6 handling
If there is no translation set, then on material theme the dropdown
selection displaced. To fix this add an translation to this dropdown.

The commit also changes source code whitespace shifting.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
(cherry picked from commit 54455719e5)
2019-01-30 10:32:03 +01:00
Hannu Nyman
e86fedb7dd timezone data: update to 2018i
Update timezone data to 2018i

http://mm.icann.org/pipermail/tz-announce/2018-December/000053.html
http://mm.icann.org/pipermail/tz-announce/2018-December/000054.html

2018h:
* Qyzylorda, Kazakhstan moved from +06 to +05 on 2018-12-21.
* New zone Asia/Qostanay because Qostanay, Kazakhstan didn't move.
* Metlakatla, Alaska observes PST this winter only.
* Guess Morocco will continue to adjust clocks around Ramadan.
* Add predictions for Iran from 2038 through 2090.

2018i:
* São Tomé and Príncipe switches from +01 to +00 on 2019-01-01.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit c7776c8959)
2019-01-02 21:36:47 +02:00
Jo-Philipp Wich
8a3100c146
Merge pull request #2354 from pmelange/freifunk_backport_17.01
Freifunk-berlin backport 17.01 - update community-profiles
2018-12-07 00:10:11 +01:00
Philipp Borgers
f4f0632522 community-profiles: change subnet of mesh_network option for Berlin
The mesh_network option is used to check the user input. The wizard
checks if the input ip address is part of the mesh_network. We use
multiple /16 networks. There is no support for multiple ranges so we the
10.0.0.0/8.

For reference the ip list:

https://wiki.freifunk.net/IP-Netze

Signed-off-by: Philipp Borgers <borgers@mi.fu-berlin.de>
2018-12-06 20:45:54 +01:00
Martin Hübner
3f16979c24 community-profiles: create profile for Fürstenwalde
New profile for Fürstenwalde. At the moment we use parts of the Berlin-
infrastructure. Thus I have not changed the ip-address-related things.

Signed-off-by: Martin Hübner <martin.hubner@web.de>
[reword and rewrap commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-12-06 20:45:41 +01:00
pmelange
27ff6e930f freifunk profiles: add nameserver 80.67.169.40 from www.fdn.fr/actions/dns
Signed-off-by: pmelange <isprotejesvalkata@gmail.com>
(cherry picked from commit 400bb53e6e)
2018-11-21 11:23:53 +01:00
Hannu Nyman
883f66f70f timezone data: update to 2018g
Update timezone data to 2018g

http://mm.icann.org/pipermail/tz-announce/2018-October/000052.html

 * Morocco switches to permanent +01 on 2018-10-27.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 111ebe2f62)
2018-10-30 19:50:25 +02:00
Hannu Nyman
2cb704f635 timezone data: update to 2018f
Update timezone data to 2018f

http://mm.icann.org/pipermail/tz-announce/2018-October/000051.html

   Volgograd moves from +03 to +04 on 2018-10-28.
   Fiji ends DST 2019-01-13, not 2019-01-20.
   Most of Chile changes DST dates, effective 2019-04-06.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 651937c166)
2018-10-25 18:49:54 +03:00
Hannu Nyman
c04c81f0d9 timezone data: update to 2018e
Update timezone data to 2018e

http://mm.icann.org/pipermail/tz-announce/2018-May/000050.html

  North Korea switches back to +09 on 2018-05-05.
  The main format uses negative DST again, for Ireland

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 701f6b0819)
2018-10-09 18:27:46 +03:00
Mathias Kresin
7bf0367500 luci-mod-admin-full: set 0 db DSL SNR offset by default
If no DSL SNR offset is set for the dsl line the first entry from the
dropdown list is pre-selected by default, which would apply a -10 db
offset by default.

Pre-select the 0 db option if nothing else is specified in the uci config
files.

Signed-off-by: Mathias Kresin <dev@kresin.me>
(backported from commit cfdeaa91fa)
2018-07-20 09:32:06 +02:00
Jo-Philipp Wich
6d349c5f70 luci-mod-admin-full: allow setting DSL SNR offset for VDSL
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 08b40acc4e)
2018-07-20 09:31:23 +02:00
Jo-Philipp Wich
46b9d83d9b luci-mod-admin-full: allow a wider range of DSL SNR margins
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit dbb694c699)
2018-07-20 09:30:34 +02:00
Andrea Merello
87a74eedc6 luci-mod-admin-full: add SNR tweak option to DSL
Reported-by: Andrea Merello <andrea.merello@gmail.com>
[rebase onto master, fix indentation, commit subject, depend on adsl mode]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>

(backported from commit f0716ecd6e)
2018-07-20 09:28:49 +02:00
Hannu Nyman
b78664c2cd luci-app-transmission: fix typo
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-06-29 18:22:46 +03:00
Ansuel Smith
36945b5b03 luci-base: fix broken translation
Currently this translation refer to an old string, sync to the new one.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
(cherry picked from commit c29ffe4dfc)
2018-05-27 22:11:37 +03:00
Hannu Nyman
d585fd7cca
Merge pull request #1708 from guidosarducci/lede-17.01-add-luci-isolate-mac80211
luci-mod-admin-full: backport add missing "isolate" option for mac80211
2018-05-23 08:30:15 +03:00
Hannu Nyman
cfba791c81
Merge pull request #1756 from fy1128/lede-17.01
luci-app-ddns: 'CRTL' should be 'CTRL'
2018-04-28 08:48:39 +03:00
pmelange
09ae638e4b Removed retired nameserver 213.73.91.35 from the Freifunk profiles
See issue openwrt/luci#1757

Signed-off-by: Perry Melange <isprotejesvalkata@gmail.com>
(cherry picked from commit c2d3fe8a97)
2018-04-23 22:54:29 +03:00
fy1128
54dd15839f luci-app-ddns: PKG_RELEASE increased. 2018-04-24 01:05:34 +08:00
fy1128
d9cd43fee1 'CRTL' should be 'CTRL' 2018-04-22 23:55:17 +08:00
Hannu Nyman
575e327b0f luci-app-statistics: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-04-08 23:13:49 +03:00
Hannu Nyman
3737637a65 timezone data: update to 2018d
Update timezone data to 2018d

http://mm.icann.org/pipermail/tz-announce/2018-March/000049.html

  In 2018, Palestine starts DST on March 24, not March 31.
     Adjust future predictions accordingly.
  Casey Station in Antarctica changed from +11 to +08

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-04-07 23:30:52 +03:00
Hannu Nyman
7f77a31293
Merge pull request #1710 from guidosarducci/lede-17.01-fix-luci-fwknopd
luci-app-fwknop:  backport a check to not overwrite user configured keys
2018-04-02 18:45:16 +03:00
Hannu Nyman
38e36f2d82
Merge pull request #1707 from guidosarducci/lede-17.01-fix-apcups-statistics
luci-app-statistics: backport completed support for apcups plugin
2018-04-02 18:43:28 +03:00
fantom-x
d01ad2bdf6 luci-mod-admin-full: "isolate" option is missing for mac80211
Signed-off-by: Marc Benoit marcb6218@gmail.com
[Tony Ambardar: backported from aee99ce9 ('luci-mod-admin-full: "isolate"
                option is missing for mac80211')]
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2018-03-29 21:12:31 -07:00
guidosarducci
387b89e6f9 luci-app-statistics: only graph data supported by APC UPS
Some graph definitions rely on data not supported across all APC UPSes.
Due to recent upstream changes in collectd, the daemon no longer creates
a NaN-filled .rrd file corresponding to any missing UPS data. Depending
on the connected UPS, this may result in some "broken" graphs on the Luci
Statistics page since rrdtool cannot find the expected .rrd file.

Include the add_supported() function to determine the UPS data available
at runtime and update any definitions of graphs to include only supported
data. For example, the whole chart stack of AC input and output voltages
will normally be "broken" if the UPS only measures AC input voltage. With
these changes, the output voltage graph definition is stripped out,
allowing the chart to render.

Make consistent use of data types and instances in graph definitions. All
definitions now use the same format with the 'instances' key. Unnecessary
'types' and 'sources' keys are removed.

Fix the definition of 'line frequency' graph, based on upstream collectd
apcups plugin code: type is 'frequency' but instance should be 'input'.

This also includes some code and whitespace cleanup.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
(cherry picked from commit fa1f4c42a6)
2018-03-29 20:44:22 -07:00
bobmseagithub
176f5fb94c luci-app-statistics: Voltage graphs - AC and DC
The Voltage graph combines Battery, Input Voltage and Output Voltage.
The Y-Axis scale masks changes in Input/Output voltages over time.
This patch splits the graphs into 2 graphs.
This makes it possible to see variations in AC Input/Output voltages.

Signed-off-by: Bob Meizlik <bobmseagithub@squakmt.com>
(cherry picked from commit 2145b7b33b)
2018-03-29 20:44:22 -07:00
guidosarducci
0187bdcd82 luci-app-statistics: add support for apcups plugin
OpenWRT/LEDE support for APC UPSes is only partial: although the collectd
apcups plugin is included, related lua/luci code is missing. These changes
add the lua side and have been used for ~2 years, both on OpenWRT and LEDE.

Reworked from patches submitted by James Klaas to the luci development list
in 2015.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
(cherry picked from commit 808f261793)
2018-03-29 20:44:22 -07:00
Jonathan Bennett
2561f2a85a luci-app-fwknop: Adds a check to not overwrite user configured keys
Signed-off-by: Jonathan Bennett <JBennett@Incomsystems.biz>
[Tony Ambardar: backported from master branch 4b7a0085 ("luci-app-fwknop:
                Adds a check to not overwrite user configured keys")]
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2018-03-29 20:22:41 -07:00
Jian Chang
d09277299c luci-base: add missing conffiles
Signed-off-by: Jian Chang <aa65535@live.com>
[Yousong Zhou: Backported from master branch 37b11db ("luci-base: add
               missing conffiles")]
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2018-03-02 12:57:12 +08:00
Hannu Nyman
dceab3b59e
Merge pull request #1650 from hafu/ffp-profile
community-profiles: potsdam - changed SSID
2018-02-28 17:08:15 +02:00
Hannes Fuchs
aeb8ce5610 community-profiles: potsdam - changed SSID
After some discussion in our meetings and on the maling list we decided to
change the SSID to a fixed one.

Signed-off-by: Hannes Fuchs <hannes.fuchs@gmx.org>
2018-02-27 23:00:18 +01:00
Hannes Fuchs
c1e6a3dd3a updated community-profile for potsdam
- fixed ssid
- disable IPv6
- added more interface settings
- added settings for 5GHz wifi
- added ssidscheme
- added dhcp leasetime setting
- added LinkQualityAlgorithm for olsrd

Signed-off-by: Hannes Fuchs <hannes.fuchs@gmx.org>

cherry picked from commit 892398692c
Reference to #1634
2018-02-25 09:03:26 +02:00
Hannu Nyman
1c94003cd6
Merge pull request #1619 from user7887/lede-17.01
i18n-ru: fixed and updated russian translation
2018-02-08 18:14:29 +02:00
Vladimir
8d0c09794c i18n-ru: fixed and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-02-07 01:12:52 +03:00
Hannu Nyman
3d46f2593a timezone data: update to 2018c
Update timezone data to 2018c

http://mm.icann.org/pipermail/tz-announce/2018-January/000048.html

   Briefly:
   Sao Tome and Príncipe switched from +00 to +01.
   Brazil's DST will now start on November's first Sunday.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit eae2f37b62)
2018-02-02 18:26:18 +02:00
Hannu Nyman
ee319993e2
Merge pull request #1613 from user7887/lede-17.01
i18n-ru: fixed and updated russian translation
2018-01-30 17:25:57 +02:00
Vladimir
9eee806f9f i18n-ru: fixed and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-30 17:48:14 +03:00
dibdot
43ab9c0a8d
Merge pull request #1608 from user7887/lede-17.01
luci-app-travelmate fixed
2018-01-29 19:35:15 +01:00
Vladimir
e58ce740d0 luci-app-travelmate fixed
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-29 20:55:17 +03:00
Hannu Nyman
f4d02b6983
Merge pull request #1604 from user7887/lede-17.01
i18n-ru: fixed and updated russian translation
2018-01-29 17:16:23 +02:00
Vladimir
a016dbcee1 i18n-ru: fixed and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-29 18:01:03 +03:00
Hannu Nyman
73abb7db50
Merge pull request #1590 from user7887/lede-17.01
i18n-ru: fixed and updated russian translation
2018-01-26 16:22:52 +02:00
Vladimir
b16253ed8f i18n-ru: fixed and updated russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-26 16:59:41 +03:00
Brian J. Murrell
f8682164c1 Fix bad argument #1 to 'tonumber'
Fixes [FS#1118](https://bugs.lede-project.org/index.php?do=details&task_id=1118)

Luci chokes on devices that do not have _iptables_ installed with:

/usr/lib/lua/luci/dispatcher.lua:460: Failed to execute function dispatcher target for entry '/'.
The called action terminated with an exception:
/usr/lib/lua/luci/dispatcher.lua:460: Failed to execute firstchild dispatcher target for entry '/admin'.
The called action terminated with an exception:
/usr/lib/lua/luci/dispatcher.lua:460: Failed to execute function dispatcher target for entry '/admin/status'.
The called action terminated with an exception:
/usr/lib/lua/luci/dispatcher.lua:460: Failed to execute template dispatcher target for entry '/admin/status/overview'.
The called action terminated with an exception:
/usr/lib/lua/luci/template.lua:97: Failed to execute template 'admin_status/index'.
A runtime error occured: [string "/usr/lib/lua/luci/view/admin_status/index.h..."]:34: bad argument #1 to 'tonumber' (string expected, got nil)
stack traceback:
	[C]: in function 'assert'
	/usr/lib/lua/luci/dispatcher.lua:460: in function 'dispatch'
	/usr/lib/lua/luci/dispatcher.lua:141: in function </usr/lib/lua/luci/dispatcher.lua:140>

The code should be more defensive.
2018-01-26 18:31:19 +08:00
Hannu Nyman
1472b81a00
Merge pull request #1589 from user7887/lede-17.01
i18n-sync changes base.po+fixed dynapoint.lua
2018-01-23 22:37:59 +02:00
Vladimir
67c571a1be i18n-sync changes base.po+fixed dynapoint.lua
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-23 23:25:01 +03:00
Sven Roederer
3f6a27fbf5 luci-mod-admin-full: Add mesh_fwding support
* make it only visible for 802.11s mesh-networks
* have it enabled by default

Signed-off-by: Sven Roederer <freifunk@it-solutions.geroedel.de>
[add empty line before meshfwd assignment]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 63255ec38b)
2018-01-23 18:18:25 +02:00
Kishan Gondaliya
33f6527ccf luci-mod-admin-full: Add meshId support
Signed-off-by: Kishan Gondaliya <kishanpgondaliya@gmail.com>
[move mode before the SSID / Mesh ID setting]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 267bf83db0)
2018-01-23 18:17:48 +02:00
Hannu Nyman
86f1bcee53
Merge pull request #1586 from user7887/lede-17.01
i18n-ru: fixed russian translation
2018-01-23 13:18:02 +02:00
Vladimir
070c297919 i18n-ru: fixed russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-23 13:32:48 +03:00
Hannu Nyman
d67aa10411
Merge pull request #1581 from user7887/lede-17.01
i18n-ru: fixed russian translation
2018-01-21 19:53:47 +02:00
Vladimir
c6c83abeea i18n-ru: fixed russian translation
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-21 19:41:59 +03:00
Hannu Nyman
7a68e3659b
Merge pull request #1574 from user7887/lede-17.01-ru
i18n-ru: fixed the difference between a trunk and 17.01
2018-01-21 08:22:40 +02:00
Vladimir
3894f12e2f i18n-ru: fixed the difference between a trunk and 17.01
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-21 01:36:33 +03:00
Hannu Nyman
df1710e7e0
Merge pull request #1573 from user7887/lede-17.01
i18n-ru: fixed and updated russian translation+update by script i18n-…
2018-01-20 22:21:46 +02:00
Vladimir
bf937ed97e i18n-ru: fixed and updated russian translation+update by script i18n-sync.sh
Signed-off-by: Vladimir <picfun@ya.ru>
2018-01-20 23:02:49 +03:00
Hannu Nyman
4e513f164c
Merge pull request #1564 from dibdot/travelmate-17.01
[17.01] luci-app-travelmate: release 1.0.2
2018-01-19 15:11:12 +02:00
Hannu Nyman
f72a0c5915
Merge pull request #1563 from dibdot/adblock-17.01
[17.01] luci-app-adblock: release 3.4.3
2018-01-19 15:11:00 +02:00
Dirk Brenken
e6c9b3746b [17.01] luci-app-travelmate: release 1.0.2
* bump travelmate version in stable tree as well

Signed-off-by: Dirk Brenken <dev@brenken.org>
2018-01-19 10:42:35 +01:00
Dirk Brenken
bf97f35db5 [17.01] luci-app-adblock: release 3.4.3
* bump adblock version in stable tree

Signed-off-by: Dirk Brenken <dev@brenken.org>
2018-01-19 10:33:01 +01:00
Hannu Nyman
3b79e9eaa7 luci-app-statistics: add advice about data directory permissions
Add advice about the permissions needed for the data directory:

  Pages are rendered as user 'nobody', so the *.rrd files,
  data directory and all its parent directories need to be
  world readable.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit eaafb4508c)
2018-01-15 23:06:51 +02:00
Hannu Nyman
ff21f2f0a3
Merge pull request #1506 from Borromini/lede-17.01
luci-app-wireguard: move to correct location
2018-01-07 10:54:24 +02:00
Stijn Segers
747a7c841c luci-app-wireguard: move to correct location
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
2018-01-07 07:53:41 +01:00
Hannu Nyman
6d821070a9
Merge pull request #1505 from Borromini/lede-17.01
luci-app-wireguard: add LuCI Wireguard status to 17.01 as well
2018-01-06 23:55:21 +02:00
Stijn Segers
6e60bb9d0e luci-app-wireguard: add LuCI Wireguard status to 17.01 as well
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
2018-01-06 21:02:40 +01:00
Hannu Nyman
d2dc32af31 luci-app-statistics: set logfile as first item in collectd.conf
Force logfile plugin to be evaluated first so that it gets placed
first in the collectd.conf file.

Reference to https://collectd.org/wiki/index.php/Plugin:LogFile

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit afa7a14caf)
2017-12-02 08:26:10 +02:00
Hannu Nyman
a9bddc408a timezone data: update to 2017c
Update timezone data to 2017c

http://mm.icann.org/pipermail/tz-announce/2017-October/000047.html

   Briefly:
   Northern Cyprus switches from +03 to +02/+03 on 2017-10-29.
   Fiji ends DST 2018-01-14, not 2018-01-21.
   Namibia switches from +01/+02 to +02 on 2018-04-01.
   Sudan switches from +03 to +02 on 2017-11-01.
   Tonga likely switches from +13/+14 to +13 on 2017-11-05.
   Turks & Caicos switches from -04 to -05/-04 on 2018-11-04.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-11-11 19:01:45 +02:00
Jo-Philipp Wich
07e7ff07aa Fixes #1413.
Reported-by: Wojciech Jowsa <wojciech.jowsa@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit fbe7f90eed)
2017-10-25 14:40:05 +02:00
Hannu Nyman
b74ef26bec Merge pull request #1411 from Cye3s/lede-17.01
luci_base: Update zh_CN zh_TW base.po, translate fix
2017-10-23 18:27:42 +03:00
Cye3s
4a0877b4e3 luci_base: Update zh_TW base.po, translate fix 2017-10-23 17:26:20 +08:00
Cye3s
1aae4e9c82 luci_base: Update zh_CN base.po, translate fix
Same as https://github.com/openwrt/luci/pull/1221
But commit to lede-17.01 branch
2017-10-23 17:21:33 +08:00
Hannu Nyman
0ed8086900 Merge pull request #1403 from StevenHessing/lede-17.01-noddos
luci-app-noddos: backport from master
2017-10-21 09:14:24 +03:00
Hannu Nyman
d685c2392f luci-app-noddos: backport from master
Signed-off-by: Steven Hessing <steven.hessing@gmail.com>
2017-10-20 16:45:56 -07:00
Jo-Philipp Wich
7fc88b4e6e luci-mod-admin-full: move KRACK countermeasures out of IEEE802.11w condition
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-18 15:51:51 +02:00
Jo-Philipp Wich
d3f0685d63 luci-mod-admin-full: tone down KRACK countermeasure description
Backport of b7be0b9d16.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-18 00:04:58 +02:00
Jo-Philipp Wich
701d40a76d i18n: update translations
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-17 22:57:57 +02:00
Jo-Philipp Wich
13ce0a1e21 luci-mod-admin-full: wifi: expose wpa_disable_eapol_key_retries option
Bacport of 48ed00e5b.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-17 22:54:18 +02:00
Hannu Nyman
e8e8544823 i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-10-16 16:31:50 +03:00
Alexander Schlarb
079f65a628 luci-app-uhttpd: Bump default key size to 2048 bits for certificates
More about the currently recommended key sizes: https://www.keylength.com/en/compare/

Signed-off-by: Alexander Schlarb <alexander@ninetailed.ninja>

Modified to maintain the old minimum of 1024 bits for low-end devices.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit ac8a957191)
2017-08-20 08:51:33 +03:00
Alexander Schlarb
2bb1abd5ec luci-app-uhttpd: Fix certificate parameter section
Signed-off-by: Alexander Schlarb <alexander@ninetailed.ninja>
(cherry picked from commit ab64856938)
2017-08-20 08:51:23 +03:00
Jo-Philipp Wich
9ee26ac818 luci-app-nlbw: make display template XHTML compliant
This allows proper rendering in OpenWrt theme. Fixes #1284.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-08-07 09:57:55 +02:00
Jo-Philipp Wich
21ae7f2181 luci-app-nlbwmon: always fetch latest data
When displaying the most current accounting period, pass an empty timestamp
to the backend in order to query the current in-memory data instead of the
latest committed values.

This ensures that the dashboard always renders the most current data in its
default view.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-08-05 14:27:27 +02:00
INAGAKI Hiroshi
ee54fd7784 luci-app-nlbwmon: Update Japanese translation
Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-08-05 14:27:27 +02:00
Jo-Philipp Wich
0b3e1e937b luci-app-nlbwmon: remove version marker from javascripts
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-08-05 14:27:27 +02:00
Jo-Philipp Wich
f0c83ab341 luci-app-nlbwmon: improve initial view
Make sure that placeholder pie charts are rendered, display a hint about
yet missing data in the tables and offer a link to force-commit ("Reload")
the data.

Also fix some mixed white space, an imbalanced dom operation and sync
translation template.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-08-05 14:27:27 +02:00
Jo-Philipp Wich
176e1ded23 luci-app-nlbwmon: add missing charting library
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-08-05 14:27:26 +02:00
INAGAKI Hiroshi
1f7def64f7 luci-app-nlbwmon: Add Japanese translation
Added po templates and Japanese translation.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-08-05 14:27:26 +02:00
Jo-Philipp Wich
51a9b0df48 luci-app-nlbwmon: new package
This commit introduces luci-app-nlbwmon, a frontend for nlbwmon, the
lightweight NetLink BandWidth Montor.

The nlbwmon daemon gathers per-host traffic statistics by querying netlink
accounting data. Due to this approach, the executable is very small and does
not rely on libpcap and CPU intensive raw sockets to monitor traffic.

Depends on PR https://github.com/openwrt/packages/pull/4646

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-08-05 14:27:26 +02:00
Stan Grishin
580f012cf4 luci-app-advanced-reboot: initial commit
Signed-off-by: Stan Grishin <stangri@melmac.net>
(cherry picked from commit f6505fc01c)
2017-07-13 17:42:44 +03:00
Yousong Zhou
5c59947d8f luci-app-upnp: fix setting ucitrack init option
Fixes FS#693

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>

(cherry picked from commit ed11130b84)
2017-07-05 23:16:46 +03:00
Kevin Darbyshire-Bryant
27dfff83cb luci-minuupnpd: use enable flag
Add a 'master' miniupnpd service enable flag rather than just relying on
rcS.d script existence.  This allows the service to be disabled
across sysupgrade, similar to minidlna.

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
(cherry picked from commit 1093327a4d)
2017-07-05 23:16:19 +03:00
Kevin Darbyshire-Bryant
6fbf4c7dae luci-app-miniupnpd: restore missing luci install file
Restore luci indexcache handling incorrect removed in
387a06bb73

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
(cherry picked from commit 5ef9a3a009)
2017-07-05 23:16:07 +03:00
Yousong Zhou
8955523f04 luci-proto-openconnect: remove "interface" field
It's not needed anymore and removed in the openconnect package

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
(cherry picked from commit dfd082c53b)
2017-06-19 17:48:56 +03:00
Yousong Zhou
914dfc32cc luci-proto-openconnect: allow setting mtu, password2
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
(cherry picked from commit cf8146ff67)
2017-06-19 17:48:47 +03:00
Christian Schoenebeck
c79bb9641c luci-app-ddns: fix to correct system status
preset network "wan", if not configured in ddns config to correct
display system status #1117

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
[Jo-Philipp Wich: cherry-pick of 3e0492f, fixes #1193]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-12 17:55:07 +02:00
Jo-Philipp Wich
8eadde5f3b luci-app-statistics: support specifying line width in graph definitions
This allows a graph definition to explicitely request LINE1, LINE2 or
LINE3 for a data source.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-10 20:39:26 +02:00
Jo-Philipp Wich
61bc034b8d luci-app-statistics: support graph menu entries without corresponding labels
Properly render menu items for plugin instances that do not have a
corresponding label defined.

This allows for registering new graph pages solely by dropping files
into /usr/lib/lua/luci/statistics/rrdtool/definitions/

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-10 20:33:32 +02:00
Jo-Philipp Wich
7f6fc1681f luci-mod-admin-full: automatically set dns=1 for static leases with hostname
Most users likely want the hostname of a static DHCP lease to be resolveable,
even if the corresponding host is currently offline.

Adjust the form logic to automatically set 'option dns 1' whenever a name is
specified in the static lease entry.

FIxes LEDE FS#815.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-02 01:03:07 +02:00
Jo-Philipp Wich
a6054eb38a i18n: sync with master
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-01 00:47:04 +02:00
t123yh
f113f1afa7 luci-app-commands: Allow executing without downloading on public links
Signed-off-by: t123yh <t123yh@outlook.com>
2017-06-01 00:45:09 +02:00
Florian Eckert
60d43a8f03 luci-theme-openwrt: fix JavaScript nameing
Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
2017-06-01 00:43:37 +02:00
fantom-x
1626305b63 luci-app-hd-idle: removed dashes in menu items and text labels
"hd-idle" replaced with "HDD Idle" in the menu and on the page. All translation files updated accordingly.

Signed-off-by: Marc Benoit marcb6218@gmail.com
2017-06-01 00:40:59 +02:00
Jo-Philipp Wich
1d93bad2c3 luci-theme-freifunk: fix a few broken translation directives
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-01 00:26:03 +02:00
Jo-Philipp Wich
4b75c8d44d luci-proto-wireguard: use "Optional" instead of "Optional." as translation
This allows sharing the translation string with other components.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-01 00:25:58 +02:00
Jo-Philipp Wich
b753cc503f luci-mod-admin-full: use "Lease time" instead of "Leasetime" as translation label
This allows sharing a common translation string between DHCP and interface pages.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-01 00:25:53 +02:00
Jo-Philipp Wich
433e76e425 luci-proto-ipv6: use "Automatic" instead as "automatic" as translation label
This allows sharing a common translation string with all other protocols.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-01 00:25:49 +02:00
Jo-Philipp Wich
d6e2e91824 luci-proto-openconnect: fix authgroup translation
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-01 00:25:44 +02:00
Jo-Philipp Wich
426c1043b1 luci-mod-admin-full: auto-migrate ifnames when changing VLAN configuration
This change extends the switch VLAN configuration page to automatically
adjust interface ifname options when altering VLAN settings.

For example "eth0" is changed to "eth0.1" when a previously untagged LAN
VLAN is switched to tagged on the CPU port and vice versa.

Notifications are displayed in the page header if an auto migration was
performed.

This change should make the switch configuration more user friendly and
less prone to soft bricking.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-06-01 00:25:38 +02:00
Cody R. Brown
e5ed0e7e78 luci-base: luci.tools.status: properly parse infinite dnsmasq leases
The expiry time in a dnsmasq lease file line may be 0 (i.e.
expiry date = 01/01/1970 00:00:00 GMT) to denote an infinite
lease time, so adjust the code to properly support that.

The expiry attribute of the lease object will be set to "false"
in case of an infinite lease. This is to mimic the odhcp code below.
If the expiry date is not equal to 0, then just do exactly what was
done before (return the os.diff of current time and ts).

Signed-off-by: Cody R. Brown <dev@codybrown.ca>
2017-06-01 00:17:32 +02:00
Daniel Dickinson
dbc1a1bfc1 base: status: For odhpcd leases display MAC formatted with colons
This should result in the MAC address display being the same
using odhcpd for v4 DHCP as when using DNSMasq for v4 DHCP.

Signed-off-by: Daniel Dickinson <lede@cshore.thecshore.com>
2017-06-01 00:17:26 +02:00
Thorsten M
71f55447bf changed stat to lstat in nixio_lstat function
Signed-off-by: Thorsten M. <thoto@devtal.de>
2017-06-01 00:17:19 +02:00
Hannu Nyman
dc8ef82e62 i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-05-24 23:47:12 +03:00
amitabha
778292ec65 luci.mk: Update language name for Chinese
Rectification of non-standard name for language Chinese.
Signed-off-by: Angus Ding angus.ding@gmail.com

(cherry picked from commit d3861e7f8d)
2017-05-24 23:44:55 +03:00
Hannu Nyman
10d1c5dbb3 luci-base: support ip6ifaceid option for proto_static
Add support for 'ip6ifaceid' option for proto_static in LuCI.

Information about the option:
 The option is optional and defaults to '::1'.
 Allowed values: 'eui64', 'random', fixed value like '::1' or '::1:2'

 When IPv6 prefix (like 'a🅱️c:d::') is received from a delegating
 server, the ip6ifaceid suffix (like '::1') is used to form
 the IPv6 address ('a🅱️c:d::1') for the interface.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>

(cherry picked from commit 5ca3864690)
2017-05-24 23:42:17 +03:00
Hannu Nyman
ad0585cbb4 luci-app-statistics: check that uci config sections exist
A missing or faulty luci_statistics config file may prevent
LuCI access completely already at the login phase as
the statistics config is parsed already then.

The error is like:
  .../statistics/datatree.lua:16: attempt to index upvalue 'sections' (a nil value)

User may be completely locked out of LuCI until he figures out
the need to have a proper luci_statistics config file.

Prevent the error by checking for the existence of
the uci config sections before trying to use values from them.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>

(cherry picked from commit d04f667383)
2017-05-18 12:10:14 +03:00
Hannu Nyman
d7d7503a39 luci-base: add Etc/GMT timezones
Add Etc/GMT timezones like GMT+5

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit f2cf516cf7)
2017-05-18 12:09:37 +03:00
Hannu Nyman
1ccb88d136 build/zoneinfo2lua.pl: logic for Etc/GMT timezones
Add logic to add Etc/GMT timezones (like GMT+5)
although the zones are not included in zone.tab

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit f8eee09f55)
2017-05-18 12:09:28 +03:00
Hannu Nyman
6467df385f i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-05-09 11:07:51 +03:00
Hannu Nyman
92c78f3e80 luci-app-statistics: processes: fix graph visibility
Fix graph visibility on processes page based on plugin
instance. The overview instance is empty, while monitored
processes have their own instances.

Original version of the patch created by @koblack and
discussed in #1021

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 0a6ce20423)
2017-05-09 09:54:14 +03:00
Hannu Nyman
97ad2a9286 luci-mod-admin-full: add advice to restart cron
Cron init script starts the service only if a crontab file
exists. If there is no crontab file at boot and the user
later creates one, he needs to manually restart the service.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 1970c21e3b)
2017-05-08 16:06:06 +03:00
Jo-Philipp Wich
596f47649c luci-base: luci.dispatcher: allow overriding sysauth template
In some cases it is useful to be able to override the template used for the
sysauth login dialog.

Add a new property "sysauth_template" which allows overriding the template
name from controller files.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-05-06 15:07:57 +02:00
Hannu Nyman
63d61d726c luci-app-statistics: fix whitespace
* fix whitespace in config file
* place the contextswitch item corerrctly
  in the sorted options list

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 2bc2f935a0)
2017-05-02 10:12:40 +03:00
Hannu Nyman
9686fd1cc4 luci-app-statistics: processes plugin: add labels, correct data
Enhance processes statistics page:
* add proper labels to graphs
* correct RSS memory stats title, add VSZ stats

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit b737831e56)
2017-04-30 19:07:38 +03:00
Hannu Nyman
e3bd7b5ee0 luci.mk: fix length of abbreviated hash in version
Fix the length of the abbreviated commit hash used in
the LuCI version string used in the package names.
Use the old standard of seven characters in hash.

New git versions vary the length of the abbreviated
commit hash based on the number of objects in repo. That
may lead into different hash lengths with e.g. having
full/shallow git history, having all/single branch or
having different git versions in different build hosts.

Different hash lengths in package name may lead to
sneaky opkg install errors, as opkg apparently preserves
info for removed packages and may prefer that.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit b9159c5347)
2017-04-30 11:48:05 +03:00
Hannu Nyman
71f669b3bd luci-app-statistics: remove non-functional links from graphs
The statistics graphs on the pages with multiple data sources
have contained links to the data sources, but those links
have not worked. Remove the links as they are unnecessary.

This commit fixes #1006

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>

(cherry picked from commit 298f838d39)
2017-04-30 11:11:18 +03:00
Hannu Nyman
ae565bc393 luci-app-adblock: backport updates to match 2.6.2
Backport updates to luci-app-adblock that correspond to
the adblock 2.6.2 version.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-04-30 00:09:39 +03:00
fantom-x
7fee975bb4 Support for collectd-mod-contextswitch
Signed-off-by: Marc Benoit marcb6218@gmail.com
(cherry picked from commit 5bf636732e)
2017-04-29 23:42:22 +03:00
Jo-Philipp Wich
16ffea4bf5 luci-mod-admin-full: use nf_conntrack_count for counting connections (#1114)
As suggested by PR #1114, use `/proc/sys/net/netfilter/nf_conntrack_count`
instead of counting the lines in `/proc/net/nf_conntrack` but use a slightly
more efficient approach which avoids spawning an extra `cat` command.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-04-20 16:57:58 +02:00
Hannu Nyman
29fabe2639 timezone data: update to 2017b
Update timezone data to 2017b.

http://mm.icann.org/pipermail/tz-announce/2017-February/000045.html
http://mm.icann.org/pipermail/tz-announce/2017-March/000046.html

Key changes in 2017a-2017b:

* Mongolia no longer observes DST.
* Chile's Region of Magallanes moves from -04/-03 to -03 year-round.
* Switch to numeric time zone abbreviations for South America, as
  part of the ongoing project of removing invented abbreviations.
* Haiti resumed observance of DST in 2017.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 54c97738bc)
2017-04-10 22:36:11 +03:00
Jo-Philipp Wich
b47a21fbbb luci-app-firewall: adjust drop_invalid default (#1068)
Since firewall3 commit b33f78371e7c7b6a131c2b6c01673cbd4b3c13d1 the
drop_invalid option is off by default.

Adjust LuCI view to properly handle the changed semantics.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-03-14 12:53:45 +01:00
Hannu Nyman
a5191efc7c i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-03-04 18:24:26 +02:00
Hannu Nyman
0d555e5cdf Merge pull request #1050 from luizluca/17.01/pt-br-translation
i18n: complete pt-br translation
2017-03-03 22:05:23 +02:00
Luiz Angelo Daros de Luca
de29b38cce i18n: complete pt-br translation
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
(partial cherry pick from commit fe9d39c06c)
2017-03-03 15:14:54 -03:00
Hannu Nyman
2fe510bceb Merge pull request #1041 from EricLuehrsen/unbound_17_01
[lede-17.01] luci-app-unbound: service updates coordinated with application package
2017-03-02 14:37:31 +02:00
Hannu Nyman
4d8b1352bf luci-mod-admin-full: new hostapd functionality for 80211w/r detection
Use the new hostapd functionality (in LEDE) to detect 802.11r and 802.11w
more properly. Leave the old logic in place for Openwrt.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(partial cherry pick from commit b0943391d8)
2017-03-01 10:20:30 +02:00
Hannu Nyman
5be88e0c3e luci-mod-admin-full: adjust 80211w option default value
Adjust 802.11w default value from "0" to "" in order to avoid unnecessary
"option ieee80211w 0" lines in /etc/config/wireless

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(partial cherry pick from commit b0943391d8)
2017-02-28 16:34:49 +02:00
Hannu Nyman
12f98db8ba luci-base: backport cbi datatype changes
Backport the new cbi datatypes and whitespace fixes from master.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-28 16:22:52 +02:00
Eric Luehrsen
e882e0d730 unbound: add uci-default script
Also if unbound-control is installed, then configure so
luci-app-commands can quickly show the "local zones" and
"local data" (aka hosts). This helps diagnose DHCP-DNS
zone data and adblock zone data.

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-02-25 15:44:36 -05:00
Eric Luehrsen
d29e395262 unbound: update UCI for odhcpd and hostname
Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-02-25 15:44:36 -05:00
Cody R. Brown
a100738163 mod-admin-full: Add IPv6 Prefix Delegation information to Status Pages
The Overview page and Network>Interfaces page currently do not give much
information about IPv6, particularly with Prefix Delegated setups. In these
setups, ISP will delegate a prefix to the router. Currently LuCI doesn't display
this Prefix Delegation from the ISP anywhere. A number of changes was added
to this commit:

1) self:_ubus("ipv6-prefix") was extracted and put into protocol.ip6prefix.
2) Network>Interfaces page, if a .ip6prefix is present, show it under Status.
   (IPv6-PD).
3) On the Overview page, "Type" and "Prefix Delegated" has been added to
  the IPv6 Network Overview Status:
  - Type will display the .proto, similar to the IPv4 case.
    If a .ip6prefix is present, it'll display a "-pd" at the end of
    the Type: i.e. dhcpv6-pd vs. dhcpv6.
  - If no .ip6prefix is present, it'll do what it does currently, and
    just show Address, or :: if no address is present.
  - If .ip6prefix is present, it'll show the "Prefix Delegated", it'll also
    hide "Address" if no address is present, else it'll show ifc6.ip6addr as well.

Signed-off-by: Cody R. Brown <dev@codybrown.ca>
(cherry picked from commit 5377d22b4a)
(commit message reformatted)
2017-02-20 16:48:19 +02:00
Eric Luehrsen
6c09d83406 luci: ignore '::1' in realtime connections
luci ignores only 127.0.0.1 in real time connections.
The dnsmasq.init script sets up resolv.conf(s) as such.
With alternate DNS servers configured 'localhost' will
resolve to '127.0.0.1' or '::1'. The connections graph
will spam itself. openwrt/luci#996

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
(cherry picked from commit 52771816a0)
2017-02-20 16:47:56 +02:00
Jo-Philipp Wich
a57a17ad8a luci.mk: only use remote branch detection
LEDE's scripts/feeds script creates local branches named after the checked
out commit hash, confusing local branch detection.

Solely use remote branch detection to avoid misidentifying such cases.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-02-20 14:35:54 +01:00
Jo-Philipp Wich
79992f1a67 luci.mk: fix branch detection in detached HEAD state
When LuCI is checked out via pinned feeds configuration, its source tree will
end up in detached head state, requiring some more magic to figure out the
proper branch.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-02-20 14:16:26 +01:00
Hannu Nyman
f535090ffc i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-02-16 14:49:25 +02:00
Hannu Nyman
a76564d973 luci-mod-admin-full: change html for compatibility with openwrt theme
Openwrt theme apparently accepts slightly different html than
Bootstrap or Material. Change code to <br /> to make it compatible.

This fixes #1011

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 6a2a62fa4f)
2017-02-15 08:54:59 +02:00
Hannu Nyman
7e6b3d1eb9 luci-mod-admin-full: place 80211w options behind a check for wpad-full
The default hostapd/wpad mini version does not support ieee80211w
and the option's visibility in LuCI may lead it to be placed in user's
/etc/config/wireless preventing wifi from starting.

Check for hostapd/wpad full before exposing the option.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 07e01d094e)
2017-02-14 23:43:05 +02:00
Hannu Nyman
3613236505 Merge pull request #998 from hnyman/backport-80211r-80211w
Backport 802.11r and 802.11w LuCI support to lede-17.01
2017-02-14 14:23:40 +02:00
Hannu Nyman
d1d3b8612e Backport: support for 802.11w Management Frame Protection
Add support for IEEE802.11w Management Frame Protection options
into the wireless config.

Mention in the help text that the full version of wpad/hostapd is
needed.

Currently supported in LEDE by ath9k and ath10k, mwlwifi and mt76.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>

(cherry picked from commit 4ddb6b2816)
(cherry picked from commit 4d31f7ca30)
2017-02-10 17:21:47 +02:00
Hannu Nyman
8dec864828 Backport: support for 802.11r fast transition in wireless config
Backports from master the commits that add support for
IEEE802.11r Fast Transition to luci.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>

(cherry picked from commit f02794f28c)
(cherry picked from commit 171c06146a)
(cherry picked from commit 02bed26188)
(cherry picked from commit c491c181ea)
2017-02-10 17:14:48 +02:00
Hannu Nyman
5e7b188ecb luci-base: add hexstring datatype
Add datatype 'hexstring' for input validaiton datatypes.

It will accept any hexadecimal string.

(no length validation, as rangelength can be used for that.)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 11f23559e4)
2017-02-10 17:12:57 +02:00
Daniel Dickinson
1f014bd218 Merge pull request #957 from musashino205/17-dynpnt-add-ja
luci-app-dynapoint: Add Japanese translation
2017-02-07 16:04:20 -05:00
Dirk Brenken
d5734c5abd luci-app-adblock: put backup options to global section
this PR reflect the changes made in adblock 2.3.0

Signed-off-by: Dirk Brenken <dev@brenken.org>
(cherry picked from commit d3a74836b7)
2017-02-07 19:22:24 +02:00
Hannu Nyman
e306ee6c93 luci-ssl-openssl: use OpenSSL for key generation, drop px5g
Replace a dependency for px5g with openssl-util. Both LEDE and
Openwrt have now uhttpd versions that can generate keys with
OpenSSL cmd tools if px5g is not found. This change enables an
"OpenSSL-only" version of LuCI without mbedTLS/PolarSSL.

(Note: if px5g is found, uhttpd will prefer that.)

Relevant commits in uhttpd:

LEDE:
3c4858eeb2
82132540a3
9097dc5ad8

Openwrt:
6ec32832d2

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit b6341bd197)
2017-02-02 08:41:25 +02:00
Jo-Philipp Wich
5f80115b2c luci-mod-admin-full: fixes for usbport LED triggers
The previous commit erroneously used "ports" instead of "port" as name for the
option widget, causing wrong uci values to be written.

Also work around some cbi idiosyncrasies regarding MultiValue widgets which
prevented rendering the correct initial selection state.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-02-02 00:40:43 +01:00
Jo-Philipp Wich
46fd88ec6c luci-base: fix logic errors in ipmask4 and ipmask6 datatype validators
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-30 19:14:54 +01:00
Jo-Philipp Wich
472dc4b9e2 luci-mod-admin-full: admin: change password in Map.parse()
Move the password setting into the .parse() callback to ensure that it is
updated regardless of whether "Save" or "Save & Apply" has been pressed.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-26 00:39:38 +01:00
Jo-Philipp Wich
af2c7d9ebe luci-mod-admin-full: support configuring usbport LED triggers
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-26 00:39:38 +01:00
Jo-Philipp Wich
0a6507d760 luci-base: mvalue: fix column wrapping
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-26 00:39:38 +01:00
Jo-Philipp Wich
6e412cc78c luci-mod-admin-full: reload wifi settings page after changing countey code
Reloading the page ensures that the allowed tx power values and channel select
lists are properly populated with the new effective values.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-26 00:39:38 +01:00
Rafał Miłecki
1cd096d291 luci-mod-admin-full: allow unset txpower value
Sometimes txpower is not set so we should have an option with empty
value to let it stay unset.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-01-26 00:39:38 +01:00
Jo-Philipp Wich
7cd9ecff00 luci-base: datatypes.lua: add missing parentheses in conditional
The missing parens lead to a wrong expression precedence, causing a runtime
error when attempting to compare nil with a number.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-24 13:52:12 +01:00
Jo-Philipp Wich
33a917f9c4 luci-app-firewall: use new ipmask validation types when applicable
This allows for address specifications like "fdca🔢0123::abcd/::ffff:ffff:ffff:ffff"
which only match the last 64 bits of an address. This syntax is legal and already supported
by iptables and firewall3.

Fixes https://bugs.lede-project.org/index.php?do=details&task_id=417

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-23 16:19:26 +01:00
Jo-Philipp Wich
8297be5485 luci-base: add ipmask, ipmask4 and ipmask6 validators
These validators accept IP address specifications in the form

 - address
 - address/bits
 - address/netmask

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-23 16:19:23 +01:00
Jo-Philipp Wich
07ceede1be luci-base: datatypes.lua: cleanup white space
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-23 16:18:56 +01:00
INAGAKI Hiroshi
7d1f875c25 luci-app-dynapoint: Add Japanese translation
Added Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2017-01-18 00:54:19 +09:00
324 changed files with 27000 additions and 5547 deletions

View file

@ -1,12 +1,10 @@
# Copyright (C) 2016 Openwrt.org
#
# This is free software, licensed under the Apache License, Version 2.0 .
#
# Copyright 2017 Dirk Brenken (dev@brenken.org)
# This is free software, licensed under the Apache License, Version 2.0
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI support for Adblock
LUCI_DEPENDS:=+adblock
LUCI_DEPENDS:=+adblock +luci-lib-jsonc
LUCI_PKGARCH:=all
include ../../luci.mk

View file

@ -1,12 +1,54 @@
-- Copyright 2016 Openwrt.org
-- Licensed to the public under the Apache License 2.0.
-- Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
module("luci.controller.adblock", package.seeall)
local fs = require("nixio.fs")
local util = require("luci.util")
local templ = require("luci.template")
local i18n = require("luci.i18n")
function index()
if not nixio.fs.access("/etc/config/adblock") then
return
end
entry({"admin", "services", "adblock"}, cbi("adblock"), _("Adblock"), 40)
entry({"admin", "services", "adblock"}, firstchild(), _("Adblock"), 30).dependent = false
entry({"admin", "services", "adblock", "tab_from_cbi"}, cbi("adblock/overview_tab", {hideresetbtn=true, hidesavebtn=true}), _("Overview"), 10).leaf = true
entry({"admin", "services", "adblock", "logfile"}, call("logread"), _("View Logfile"), 20).leaf = true
entry({"admin", "services", "adblock", "advanced"}, firstchild(), _("Advanced"), 100)
entry({"admin", "services", "adblock", "advanced", "blacklist"}, cbi("adblock/blacklist_tab"), _("Edit Blacklist"), 110).leaf = true
entry({"admin", "services", "adblock", "advanced", "whitelist"}, cbi("adblock/whitelist_tab"), _("Edit Whitelist"), 120).leaf = true
entry({"admin", "services", "adblock", "advanced", "configuration"}, cbi("adblock/configuration_tab"), _("Edit Configuration"), 130).leaf = true
entry({"admin", "services", "adblock", "advanced", "query"}, template("adblock/query"), _("Query domains"), 140).leaf = true
entry({"admin", "services", "adblock", "advanced", "result"}, call("queryData"), nil, 150).leaf = true
end
function logread()
local logfile
if nixio.fs.access("/var/log/messages") then
logfile = util.trim(util.exec("cat /var/log/messages | grep -F 'adblock-'"))
else
logfile = util.trim(util.exec("logread -e 'adblock-'"))
end
templ.render("adblock/logread", {title = i18n.translate("Adblock Logfile"), content = logfile})
end
function queryData(domain)
if domain and domain:match("^[a-zA-Z0-9%-%._]+$") then
luci.http.prepare_content("text/plain")
local cmd = "/etc/init.d/adblock query %q 2>&1"
local util = io.popen(cmd % domain)
if util then
while true do
local line = util:read("*l")
if not line then
break
end
luci.http.write(line)
luci.http.write("\n")
end
util:close()
end
end
end

View file

@ -1,63 +0,0 @@
-- Copyright 2016 Hannu Nyman
-- Licensed to the public under the Apache License 2.0.
m = Map("adblock", translate("Adblock"),
translate("Configuration of the adblock package to block ad/abuse domains by using DNS."))
-- General options
s = m:section(NamedSection, "global", "adblock", translate("Global options"))
o1 = s:option(Flag, "adb_enabled", translate("Enable adblock"))
o1.rmempty = false
o1.default = 0
o3 = s:option(Value, "adb_whitelist", translate("Whitelist file"),
translate("File with whitelisted hosts/domains that are allowed despite being on a blocklist."))
o3.rmempty = false
o3.datatype = "file"
-- Blocklist options
bl = m:section(TypedSection, "source", translate("Blocklist sources"),
translate("Available blocklist sources (")
.. [[<a href="https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md" target="_blank">]]
.. translate("see list details")
.. [[</a>]]
.. translate("). Note that list URLs and Shallalist category selections are not configurable via Luci."))
bl.template = "cbi/tblsection"
name = bl:option(Flag, "enabled", translate("Enabled"))
name.rmempty = false
des = bl:option(DummyValue, "adb_src_desc", translate("Description"))
-- Additional options
s2 = m:section(NamedSection, "backup", "service", translate("Backup options"))
o4 = s2:option(Flag, "enabled", translate("Enable blocklist backup"))
o4.rmempty = false
o4.default = 0
o5 = s2:option(Value, "adb_dir", translate("Backup directory"))
o5.rmempty = false
o5.datatype = "directory"
-- Extra options
e = m:section(NamedSection, "global", "adblock", translate("Extra options"),
translate("Options for further tweaking in case the defaults are not suitable for you."))
a = e:option(Flag, "adb_debug", translate("Enable verbose debug logging"))
a.default = a.disabled
a.rmempty = false
a = e:option(Value, "adb_iface", translate("Restrict reload trigger to certain interface(s)"),
translate("Space separated list of wan interfaces that trigger reload action. " ..
"To disable reload trigger set it to 'false'. Default: empty"))
a.datatype = "network"
a.rmempty = true
return m

View file

@ -0,0 +1,52 @@
-- Copyright 2017 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
local fs = require("nixio.fs")
local util = require("luci.util")
local uci = require("uci")
local adbinput = uci.get("adblock", "blacklist", "adb_src" or "/etc/adblock/adblock.blacklist")
if not nixio.fs.access(adbinput) then
m = SimpleForm("error", nil,
translate("Input file not found, please check your configuration."))
m.reset = false
m.submit = false
return m
end
if nixio.fs.stat(adbinput).size > 524288 then
m = SimpleForm("error", nil,
translate("The file size is too large for online editing in LuCI (&gt; 512 KB). ")
.. translate("Please edit this file directly in a terminal session."))
m.reset = false
m.submit = false
return m
end
m = SimpleForm("input", nil)
m:append(Template("adblock/config_css"))
m.submit = translate("Save")
m.reset = false
s = m:section(SimpleSection, nil,
translatef("This form allows you to modify the content of the adblock blacklist (%s).<br />", adbinput)
.. translate("Please add only one domain per line. Comments introduced with '#' are allowed - ip addresses, wildcards and regex are not."))
f = s:option(TextValue, "data")
f.datatype = "string"
f.rows = 20
f.rmempty = true
function f.cfgvalue()
return nixio.fs.readfile(adbinput) or ""
end
function f.write(self, section, data)
return nixio.fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
end
function s.handle(self, state, data)
return true
end
return m

View file

@ -0,0 +1,39 @@
-- Copyright 2017 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
local fs = require("nixio.fs")
local util = require("luci.util")
local adbinput = "/etc/config/adblock"
if not nixio.fs.access(adbinput) then
m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
m.reset = false
m.submit = false
return m
end
m = SimpleForm("input", nil)
m:append(Template("adblock/config_css"))
m.submit = translate("Save")
m.reset = false
s = m:section(SimpleSection, nil,
translate("This form allows you to modify the content of the main adblock configuration file (/etc/config/adblock)."))
f = s:option(TextValue, "data")
f.rows = 20
f.rmempty = true
function f.cfgvalue()
return nixio.fs.readfile(adbinput) or ""
end
function f.write(self, section, data)
return nixio.fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
end
function s.handle(self, state, data)
return true
end
return m

View file

@ -0,0 +1,273 @@
-- Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
local fs = require("nixio.fs")
local uci = require("luci.model.uci").cursor()
local sys = require("luci.sys")
local util = require("luci.util")
local dump = util.ubus("network.interface", "dump", {})
local json = require("luci.jsonc")
local adbinput = uci.get("adblock", "global", "adb_rtfile") or "/tmp/adb_runtime.json"
if not uci:get("adblock", "extra") then
m = SimpleForm("", nil, translate("Please update your adblock config file to use this package.<br />")
.. translatef("During opkg package installation use the '--force-maintainer' option to overwrite the pre-existing config file or download a fresh default config from "
.. "<a href=\"%s\" target=\"_blank\">"
.. "here</a>", "https://raw.githubusercontent.com/openwrt/packages/master/net/adblock/files/adblock.conf"))
m.submit = false
m.reset = false
return m
end
m = Map("adblock", translate("Adblock"),
translate("Configuration of the adblock package to block ad/abuse domains by using DNS. ")
.. translatef("For further information "
.. "<a href=\"%s\" target=\"_blank\">"
.. "check the online documentation</a>", "https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md"))
function m.on_after_commit(self)
luci.sys.call("/etc/init.d/adblock reload >/dev/null 2>&1")
luci.http.redirect(luci.dispatcher.build_url("admin", "services", "adblock"))
end
-- Main adblock options
s = m:section(NamedSection, "global", "adblock")
local parse = json.parse(fs.readfile(adbinput) or "")
if parse then
status = parse.data.adblock_status
version = parse.data.adblock_version
domains = parse.data.overall_domains
fetch = parse.data.fetch_utility
backend = parse.data.dns_backend
rundate = parse.data.last_rundate
end
o1 = s:option(Flag, "adb_enabled", translate("Enable Adblock"))
o1.default = o1.disabled
o1.rmempty = false
btn = s:option(Button, "", translate("Suspend / Resume Adblock"))
if parse and status == "enabled" then
btn.inputtitle = translate("Suspend")
btn.inputstyle = "reset"
btn.disabled = false
function btn.write()
luci.sys.call("/etc/init.d/adblock suspend >/dev/null 2>&1")
luci.http.redirect(luci.dispatcher.build_url("admin", "services", "adblock"))
end
elseif parse and status == "paused" then
btn.inputtitle = translate("Resume")
btn.inputstyle = "apply"
btn.disabled = false
function btn.write()
luci.sys.call("/etc/init.d/adblock resume >/dev/null 2>&1")
luci.http.redirect(luci.dispatcher.build_url("admin", "services", "adblock"))
end
else
btn.inputtitle = translate("-------")
btn.inputstyle = "button"
btn.disabled = true
end
o2 = s:option(ListValue, "adb_dns", translate("DNS Backend (DNS Directory)"),
translate("List of supported DNS backends with their default list export directory.<br />")
.. translate("To overwrite the default path use the 'DNS Directory' option in the extra section below."))
o2:value("dnsmasq", "dnsmasq (/tmp)")
o2:value("unbound", "unbound (/var/lib/unbound)")
o2:value("named", "named (/var/lib/bind)")
o2:value("kresd", "kresd (/etc/kresd)")
o2:value("dnscrypt-proxy","dnscrypt-proxy (/tmp)")
o2.default = "dnsmasq (/tmp)"
o2.rmempty = false
o3 = s:option(ListValue, "adb_fetchutil", translate("Download Utility"),
translate("List of supported and fully pre-configured download utilities."))
o3:value("uclient-fetch")
o3:value("wget")
o3:value("curl")
o3:value("aria2c")
o3:value("wget-nossl", "wget-nossl (noSSL)")
o3:value("busybox", "wget-busybox (noSSL)")
o3.default = "uclient-fetch"
o3.rmempty = false
o4 = s:option(ListValue, "adb_trigger", translate("Startup Trigger"),
translate("List of available network interfaces. Usually the startup will be triggered by the 'wan' interface.<br />")
.. translate("Choose 'none' to disable automatic startups, 'timed' to use a classic timeout (default 30 sec.) or select another trigger interface."))
o4:value("none")
o4:value("timed")
if dump then
local i, v
for i, v in ipairs(dump.interface) do
if v.interface ~= "loopback" then
o4:value(v.interface)
end
end
end
o4.rmempty = false
-- Runtime information
ds = m:section(NamedSection, "global", "adblock", translate("Runtime Information"))
dv1 = ds:option(DummyValue, "", translate("Adblock Status"))
dv1.template = "adblock/runtime"
if parse == nil then
dv1.value = translate("n/a")
else
if status == "error" then
dv1.value = translate("error")
elseif status == "disabled" then
dv1.value = translate("disabled")
elseif status == "paused" then
dv1.value = translate("paused")
elseif status == "running" then
dv1.value = translate("running")
else
dv1.value = translate("enabled")
end
end
dv2 = ds:option(DummyValue, "", translate("Adblock Version"))
dv2.template = "adblock/runtime"
if parse == nil then
dv2.value = translate("n/a")
else
dv2.value = version
end
dv3 = ds:option(DummyValue, "", translate("Download Utility (SSL Library)"),
translate("For SSL protected blocklist sources you need a suitable SSL library, e.g. 'libustream-ssl' or 'built-in'."))
dv3.template = "adblock/runtime"
if parse == nil then
dv3.value = translate("n/a")
else
dv3.value = fetch
end
dv4 = ds:option(DummyValue, "", translate("DNS Backend (DNS Directory)"))
dv4.template = "adblock/runtime"
if parse == nil then
dv4.value = translate("n/a")
else
dv4.value = backend
end
dv5 = ds:option(DummyValue, "", translate("Overall Domains"))
dv5.template = "adblock/runtime"
if parse == nil then
dv5.value = translate("n/a")
else
dv5.value = domains
end
dv6 = ds:option(DummyValue, "", translate("Last Run"))
dv6.template = "adblock/runtime"
if parse == nil then
dv6.value = translate("n/a")
else
dv6.value = rundate
end
-- Blocklist table
bl = m:section(TypedSection, "source", translate("Blocklist Sources"),
translate("Available blocklist sources. ")
.. translate("List URLs and Shallalist category selections are configurable in the 'Advanced' section.<br />")
.. translate("Caution: To prevent OOM exceptions on low memory devices with less than 64 MB free RAM, please do not select more than five blocklist sources!"))
bl.template = "adblock/blocklist"
name = bl:option(Flag, "enabled", translate("Enabled"))
name.rmempty = false
ssl = bl:option(DummyValue, "adb_src", translate("SSL req."))
function ssl.cfgvalue(self, section)
local source = self.map:get(section, "adb_src")
if source and source:match("https://") then
return translate("Yes")
else
return translate("No")
end
end
des = bl:option(DummyValue, "adb_src_desc", translate("Description"))
-- Extra options
e = m:section(NamedSection, "extra", "adblock", translate("Extra Options"),
translate("Options for further tweaking in case the defaults are not suitable for you."))
e1 = e:option(Flag, "adb_debug", translate("Verbose Debug Logging"),
translate("Enable verbose debug logging in case of any processing error."))
e1.default = e1.disabled
e1.rmempty = false
e2 = e:option(Flag, "adb_forcedns", translate("Force Local DNS"),
translate("Redirect all DNS queries from 'lan' zone to the local resolver."))
e2.default = e2.disabled
e2.rmempty = false
e3 = e:option(Flag, "adb_forcesrt", translate("Force Overall Sort"),
translate("Enable memory intense overall sort / duplicate removal on low memory devices (&lt; 64 MB free RAM)"))
e3.default = e3.disabled
e3.rmempty = false
e4 = e:option(Flag, "adb_backup", translate("Enable Blocklist Backup"),
translate("Create compressed blocklist backups, they will be used in case of download errors or during startup in backup mode."))
e4.default = e4.disabled
e4.rmempty = false
e5 = e:option(Value, "adb_backupdir", translate("Backup Directory"),
translate("Target directory for adblock backups. Please use only non-volatile disks, e.g. an external usb stick."))
e5:depends("adb_backup", 1)
e5.datatype = "directory"
e5.default = "/mnt"
e5.rmempty = true
e6 = e:option(Flag, "adb_backup_mode", translate("Backup Mode"),
translate("Do not automatically update blocklists during startup, use blocklist backups instead."))
e6:depends("adb_backup", 1)
e6.default = e6.disabled
e6.rmempty = true
e7 = e:option(Flag, "adb_whitelist_mode", translate("Whitelist Mode"),
translate("Block access to all domains except those explicitly listed in the whitelist file."))
e7.default = e7.disabled
e7.rmempty = true
e8 = e:option(Flag, "adb_dnsflush", translate("Flush DNS Cache"),
translate("Flush DNS Cache after adblock processing."))
e8.default = e8.disabled
e8.rmempty = true
e9 = e:option(Flag, "adb_notify", translate("Email Notification"),
translate("Send notification emails in case of a processing error or if domain count is &le; 0.<br />")
.. translate("Please note: this needs additional 'mstmp' installation and setup (see readme)."))
e9.default = e9.disabled
e9.rmempty = true
e10 = e:option(Value, "adb_notifycnt", translate("Email Notification Count"),
translate("Raise the minimum email notification count, to get emails if the overall count is less or equal to the given limit (default 0),<br />")
.. translate("e.g. to receive an email notification with every adblock update set this value to 150000."))
e10.default = 0
e10.datatype = "min(0)"
e10.optional = true
e11 = e:option(Value, "adb_dnsdir", translate("DNS Directory"),
translate("Target directory for the generated blocklist 'adb_list.overall'."))
e11.datatype = "directory"
e11.optional = true
e12 = e:option(Value, "adb_whitelist", translate("Whitelist File"),
translate("Full path to the whitelist file."))
e12.datatype = "file"
e12.default = "/etc/adblock/adblock.whitelist"
e12.optional = true
e13 = e:option(Value, "adb_triggerdelay", translate("Trigger Delay"),
translate("Additional trigger delay in seconds before adblock processing begins."))
e13.datatype = "range(1,60)"
e13.optional = true
return m

View file

@ -0,0 +1,51 @@
-- Copyright 2017 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
local fs = require("nixio.fs")
local util = require("luci.util")
local uci = require("uci")
local adbinput = uci.get("adblock", "global", "adb_whitelist") or "/etc/adblock/adblock.whitelist"
if not nixio.fs.access(adbinput) then
m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
m.reset = false
m.submit = false
return m
end
if nixio.fs.stat(adbinput).size > 524288 then
m = SimpleForm("error", nil,
translate("The file size is too large for online editing in LuCI (&gt; 512 KB). ")
.. translate("Please edit this file directly in a terminal session."))
m.reset = false
m.submit = false
return m
end
m = SimpleForm("input", nil)
m:append(Template("adblock/config_css"))
m.submit = translate("Save")
m.reset = false
s = m:section(SimpleSection, nil,
translatef("This form allows you to modify the content of the adblock whitelist (%s).<br />", adbinput)
.. translate("Please add only one domain per line. Comments introduced with '#' are allowed - ip addresses, wildcards and regex are not."))
f = s:option(TextValue, "data")
f.datatype = "string"
f.rows = 20
f.rmempty = true
function f.cfgvalue()
return nixio.fs.readfile(adbinput) or ""
end
function f.write(self, section, data)
return nixio.fs.writefile(adbinput, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
end
function s.handle(self, state, data)
return true
end
return m

View file

@ -0,0 +1,80 @@
<%#
Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
This is free software, licensed under the Apache License, Version 2.0
-%>
<%-
local rowcnt = 1
function rowstyle()
rowcnt = rowcnt + 1
return (rowcnt % 2) + 1
end
function width(o)
if o.width then
if type(o.width) == 'number' then
return ' style="width:%dpx"' % o.width
end
return ' style="width:%s"' % o.width
end
return ''
end
-%>
<style type="text/css">
<!--
.cbi-section-table-cell,
.cbi-section-table-row
{
text-align:left;
margin-right:auto;
margin-left:0px;
}
-->
</style>
<fieldset class="cbi-section" id="cbi-<%=self.config%>-<%=self.sectiontype%>">
<% if self.title then -%>
<legend><%=self.title%></legend>
<%- end %>
<div class="cbi-section-descr"><%=self.description%></div>
<div class="cbi-section-node">
<%- local count = 0 -%>
<table class="cbi-section-table">
<tr class="cbi-section-table-titles">
<%- if self.sectionhead then -%>
<th class="cbi-section-table-cell"><%=self.sectionhead%></th>
<%- else -%>
<th>&#160;</th>
<%- end -%>
<%- for i, k in pairs(self.children) do -%>
<th class="cbi-section-table-cell"<%=width(k)%>>
<%-=k.title-%>
</th>
<%- count = count + 1; end; -%>
</tr>
<%- local isempty = true
for i, k in ipairs(self:cfgsections()) do
section = k
isempty = false
scope = { valueheader = "cbi/cell_valueheader", valuefooter = "cbi/cell_valuefooter" }
-%>
<tr class="cbi-section-table-row" id="cbi-<%=self.config%>-<%=section%>">
<th><%=k%></th>
<%-
for k, node in ipairs(self.children) do
if not node.optional then
node:render(section, scope or {})
end
end
-%>
</tr>
<%- end -%>
<%- if isempty then -%>
<tr class="cbi-section-table-row">
<td colspan="<%=count%>"><em><br /><%:This section contains no values yet%></em></td>
</tr>
<%- end -%>
</table>
</div>
</fieldset>

View file

@ -0,0 +1,13 @@
<style type="text/css">
textarea
{
border: 1px solid #cccccc;
padding: 5px;
font-size: 12px;
font-family: monospace;
resize: none;
white-space: pre;
overflow-wrap: normal;
overflow-x: scroll;
}
</style>

View file

@ -0,0 +1,20 @@
<%#
Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
This is free software, licensed under the Apache License, Version 2.0
-%>
<%+header%>
<div class="cbi-map">
<fieldset class="cbi-section">
<div class="cbi-section-descr"><%:This form shows the syslog output, pre-filtered for adblock related messages only.%></div>
<textarea id="logread_id" style="width: 100%; height: 450px; border: 1px solid #cccccc; padding: 5px; font-size: 12px; font-family: monospace; resize: none;" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+2%>"><%=content:pcdata()%></textarea>
</fieldset>
</div>
<script type="text/javascript">
var textarea = document.getElementById('logread_id');
textarea.scrollTop = textarea.scrollHeight;
</script>
<%+footer%>

View file

@ -0,0 +1,65 @@
<%#
Copyright 2017 Dirk Brenken (dev@brenken.org)
This is free software, licensed under the Apache License, Version 2.0
-%>
<%+header%>
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<script type="text/javascript">
//<![CDATA[
var stxhr = new XHR();
function update_status(data)
{
var domain = data.value;
var input = document.getElementById('query_input');
var output = document.getElementById('query_output');
if (input && output)
{
output.innerHTML =
'<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> ' +
'<%:Waiting for command to complete...%>'
;
input.parentNode.style.display = 'block';
input.style.display = 'inline';
stxhr.post('<%=luci.dispatcher.build_url('admin/services/adblock/advanced/result/')%>' + domain, { token: '<%=token%>' },
function(x)
{
if (x.responseText)
{
input.style.display = 'none';
output.innerHTML = String.format('<pre>%h</pre>', x.responseText);
}
else
{
input.style.display = 'none';
output.innerHTML = '<span class="error"><%:Invalid domain specified!%></span>';
}
}
);
}
}
//]]>
</script>
<form method="post" action="<%=REQUEST_URI%>">
<div class="cbi-map">
<fieldset class="cbi-section">
<div class="cbi-section-descr"><%:This form allows you to query active block lists for certain domains, e.g. for whitelisting.%></div>
<div style="width:33%; float:left;">
<input style="margin: 5px 0" type="text" value="www.lede-project.org" name="input" />
<input type="button" value="<%:Query%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.input)" />
</div>
<br style="clear:both" />
<br />
</fieldset>
</div>
<fieldset class="cbi-section" style="display:none">
<legend id="query_input"><%:Collecting data...%></legend>
<span id="query_output"></span>
</fieldset>
</form>
<%+footer%>

View file

@ -0,0 +1,10 @@
<%#
Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
This is free software, licensed under the Apache License, Version 2.0
-%>
<%+cbi/valueheader%>
<input name="runtime" id="runtime" type="text" class="cbi-input-text" style="outline:none;border:none;box-shadow:none;background:transparent;color:#0069d6;font-weight:bold;line-height:30px;height:30px;" value="<%=self:cfgvalue(section)%>" disabled="disabled" />
<%+cbi/valuefooter%>

View file

@ -0,0 +1,445 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 17/09/2017\n"
"Last-Translator: Bubu83 <bubu83@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.3\n"
"Language: it\n"
msgid "-------"
msgstr ""
msgid "Adblock"
msgstr "Adblock"
msgid "Adblock Logfile"
msgstr "Registro Adblock"
msgid "Adblock Status"
msgstr "Status Adblock"
msgid "Adblock Version"
msgstr "Versione Adblock"
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr "Tempo addizionale in secondi di attesa prima che adblock si avvii."
msgid "Advanced"
msgstr "Avanzato"
msgid "Available blocklist sources."
msgstr "Fonti lista di blocco disponibili."
msgid "Backup Directory"
msgstr "Directory del Backup"
msgid "Backup Mode"
msgstr ""
msgid ""
"Block access to all domains except those explicitly listed in the whitelist "
"file."
msgstr ""
msgid "Blocklist Sources"
msgstr "Fonti lista di Blocco"
msgid ""
"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
"MB free RAM, please do not select more than five blocklist sources!"
msgstr ""
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
msgstr ""
"Scegli 'none' per disabilitare l'avvio automatico, 'timed' per usare un "
"classico timeout (default 30 sec.) o seleziona un'altra interfaccia di avvio."
msgid "Collecting data..."
msgstr "Raccogliendo dati..."
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr ""
"Configurazione del pacchetto adblock per bloccare domini pubblicità/abuso "
"usando i DNS."
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr ""
msgid "DNS Backend (DNS Directory)"
msgstr ""
msgid "DNS Directory"
msgstr "Directory DNS"
msgid "Description"
msgstr "Descrizione"
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
msgstr ""
"Non aggiornare automaticamente le liste durante l'avvio, usa invece i backup "
"della lista di blocco."
msgid "Download Utility"
msgstr ""
msgid "Download Utility (SSL Library)"
msgstr ""
msgid ""
"During opkg package installation use the '--force-maintainer' option to "
"overwrite the pre-existing config file or download a fresh default config "
"from <a href=\"%s\" target=\"_blank\">here</a>"
msgstr ""
msgid "Edit Blacklist"
msgstr "Modifica Lista Nera"
msgid "Edit Configuration"
msgstr "Modifica Configurazione"
msgid "Edit Whitelist"
msgstr "Modifica Lista Bianca"
msgid "Email Notification"
msgstr ""
msgid "Email Notification Count"
msgstr ""
msgid "Enable Adblock"
msgstr "Attiva Adblock"
msgid "Enable Blocklist Backup"
msgstr "Attiva Backup Lista di Blocco"
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
msgstr ""
msgid "Enable verbose debug logging in case of any processing error."
msgstr ""
"Abilita il registro dettagliato in caso di qualsiasi errore di processo."
msgid "Enabled"
msgstr "Abilitato"
msgid "Extra Options"
msgstr "Opzioni Extra"
msgid "Flush DNS Cache"
msgstr ""
msgid "Flush DNS Cache after adblock processing."
msgstr ""
msgid ""
"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"'libustream-ssl' or 'built-in'."
msgstr ""
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr ""
msgid "Force Local DNS"
msgstr "Forza DNS Locale"
msgid "Force Overall Sort"
msgstr "Forza Ordinamento Globale"
msgid "Full path to the whitelist file."
msgstr ""
msgid "Input file not found, please check your configuration."
msgstr "File di input non trovato, per favore controlla la tua configurazione."
msgid "Invalid domain specified!"
msgstr "Dominio invalido specificato!"
msgid "Last Run"
msgstr "Ultimo Avvio"
msgid ""
"List URLs and Shallalist category selections are configurable in the "
"'Advanced' section.<br />"
msgstr ""
"Le selezioni degli URL delle liste e categorie Shallalist sono configurabili "
"nella sezione 'Avanzato'.<br />"
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface.<br />"
msgstr ""
msgid ""
"List of supported DNS backends with their default list export directory.<br /"
">"
msgstr ""
"Lista dei backend DNS supportati con la loro directory di default di esporto "
"della lista.<br />"
msgid "List of supported and fully pre-configured download utilities."
msgstr ""
msgid "Loading"
msgstr "Caricando"
msgid "No"
msgstr "No"
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr ""
"Opzioni per ulteriori modifiche in caso che quelle di default non ti sono "
"adatte."
msgid "Overall Domains"
msgstr ""
msgid "Overview"
msgstr "Riassunto"
msgid ""
"Please add only one domain per line. Comments introduced with '#' are "
"allowed - ip addresses, wildcards and regex are not."
msgstr ""
"Per favore aggiungi solo un dominio per linea. I commenti introdotti con '#' "
"sono consentiti - indirizzi ip , jolly e regex non lo sono."
msgid "Please edit this file directly in a terminal session."
msgstr ""
"Per favore modifica questo file direttamente in una sessione al terminale."
msgid ""
"Please note: this needs additional 'mstmp' installation and setup (see "
"readme)."
msgstr ""
msgid "Please update your adblock config file to use this package.<br />"
msgstr ""
msgid "Query"
msgstr "Interrogazione"
msgid "Query domains"
msgstr "Interrogazione domini"
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),<br />"
msgstr ""
msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
msgstr ""
"Reindirizza tutte le richieste DNS dalla zona 'lan' al risolvitore locale."
msgid "Resume"
msgstr "Riprendi"
msgid "Runtime Information"
msgstr "Informazione di Runtime"
msgid "SSL req."
msgstr "Ric. SSL"
msgid "Save"
msgstr "Salva"
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0.<br />"
msgstr ""
msgid "Startup Trigger"
msgstr "Innesco d'Avvio"
msgid "Suspend"
msgstr "Sospendi"
msgid "Suspend / Resume Adblock"
msgstr "Sospendi / Riprendi Adblock"
msgid ""
"Target directory for adblock backups. Please use only non-volatile disks, e."
"g. an external usb stick."
msgstr ""
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr "Directory per la lista di blocco generata 'adb_list.overall'."
msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
msgstr ""
"La grandezza del file è troppo grande per modificarla online in LuCI (&gt; "
"512 KB)."
msgid ""
"This form allows you to modify the content of the adblock blacklist (%s)."
"<br />"
msgstr ""
"Questo form ti consente di modificare il contenuto della lista nera di "
"adblock (%s).<br />"
msgid ""
"This form allows you to modify the content of the adblock whitelist (%s)."
"<br />"
msgstr ""
"Questo form ti consente di modificare il contenuto della lista bianca di "
"adblock (%s).<br />"
msgid ""
"This form allows you to modify the content of the main adblock configuration "
"file (/etc/config/adblock)."
msgstr ""
"Questo form ti consente di modificare il contenuto del file principale di "
"configurazione di adblock (/etc/config/adblock)."
msgid ""
"This form allows you to query active block lists for certain domains, e.g. "
"for whitelisting."
msgstr ""
"Questo form ti consente di interrogare le liste di blocco attive per "
"determinati domini, p.e. per metterli nella lista bianca."
msgid ""
"This form shows the syslog output, pre-filtered for adblock related messages "
"only."
msgstr ""
"Questo form mostra l'output del registro, prefiltrato per messaggi relativi "
"solo ad adblock."
msgid "This section contains no values yet"
msgstr ""
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
msgstr ""
"Per sovrascrivere il percorso di default usa l'opzione 'Directory DNS' nella "
"sezione aggiuntiva sotto."
msgid "Trigger Delay"
msgstr "Ritardo Innesco"
msgid "Verbose Debug Logging"
msgstr "Registro di Debug Dettagliato"
msgid "View Logfile"
msgstr "Vedi Registro"
msgid "Waiting for command to complete..."
msgstr "Aspettando che il comando venga completato..."
msgid "Whitelist File"
msgstr ""
msgid "Whitelist Mode"
msgstr ""
msgid "Yes"
msgstr "Sì"
msgid "disabled"
msgstr "disabilitato"
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
msgstr ""
msgid "enabled"
msgstr "abilitato"
msgid "error"
msgstr "errore"
msgid "n/a"
msgstr "n/d"
msgid "paused"
msgstr "in pausa"
msgid "running"
msgstr ""
#~ msgid ""
#~ "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
#~ "'libustream-ssl' or the wget 'built-in'."
#~ msgstr ""
#~ "Per le fonti delle liste protette da SSL hai bisogno di una libreria SSL "
#~ "adatta, p.e. 'libustream-ssl' o wget 'built-in'."
#~ msgid ""
#~ "Caution: Please don't select big lists or many lists at once on low "
#~ "memory devices to prevent OOM exceptions!"
#~ msgstr ""
#~ "Attenzione: Per favore non selezionare grandi liste o molte liste alla "
#~ "volta su dispositivi con poca memoria per prevenire errori OOM!"
#~ msgid ""
#~ "Create compressed blocklist backups, they will be used in case of "
#~ "download errors or during startup in manual mode."
#~ msgstr ""
#~ "Crea i backup compressi delle liste di blocco, saranno usati in caso di "
#~ "errori di download o durante l'avvio in modalità manuale."
#~ msgid ""
#~ "Enable memory intense overall sort / duplicate removal on low memory "
#~ "devices (&lt; 64 MB RAM)"
#~ msgstr ""
#~ "Attiva l'ordinamento globale / rimozione duplicati stressante per la "
#~ "memoria su dispositivi con poca memoria (&lt; 64 MB RAM)"
#~ msgid ""
#~ "For further information <a href=\"%s\" target=\"_blank\">see online "
#~ "documentation</a>"
#~ msgstr ""
#~ "Per ulteriori informazioni <a href=\"%s\" target=\"_blank\">vedi "
#~ "documentazione online</a>"
#~ msgid ""
#~ "In OPKG use the '--force-maintainer' option to overwrite the pre-existing "
#~ "config file or download a fresh default config from <a href=\"%s\" target="
#~ "\"_blank\">here</a>"
#~ msgstr ""
#~ "In OPKG usa l'opzione '--force-maintainer' per sovrascrivere il pre-"
#~ "esistente file di configurazione o scarica una nuova configurazione di "
#~ "default da <a href=\"%s\" target=\"_blank\">qui</a>"
#~ msgid ""
#~ "List of available network interfaces. By default the startup will be "
#~ "triggered by the 'wan' interface.<br />"
#~ msgstr ""
#~ "Lista delle interfacce di rete disponibili. Per default l'avvio sarà "
#~ "innescato dall'interfaccia 'wan'.<br />"
#~ msgid "Manual / Backup mode"
#~ msgstr "Modalità Manuale / Backup"
#~ msgid "Overall Blocked Domains"
#~ msgstr "Totale Domini Bloccati"
#~ msgid "Please update your adblock config file to use this package."
#~ msgstr ""
#~ "Per favore aggiorna il tuo file configurazione di adblock per usare "
#~ "questo pacchetto."
#~ msgid ""
#~ "Target directory for adblock backups. Please use only non-volatile disks, "
#~ "no ram/tmpfs drives."
#~ msgstr ""
#~ "Directory per i backup di adblock. Per favore usa solo dischi non "
#~ "volatili, non dischi ram/tmpfs."

View file

@ -8,132 +8,412 @@ msgstr ""
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n"
"X-Generator: Poedit 2.0.5\n"
"Language: ja\n"
msgid ""
"). Note that list URLs and Shallalist category selections are not "
"configurable via Luci."
msgstr ""
"。これらのリストのURLおよびshallaリストのカテゴリー選択は、Luciによって設定"
"できないことに注意します。"
msgid "-------"
msgstr "(利用不可)"
msgid "Adblock"
msgstr "Adblock"
msgid "Available blocklist sources ("
msgstr "利用可能なブロックリスト提供元です("
msgid "Adblock Logfile"
msgstr "Adblock ログファイル"
msgid "Backup directory"
msgstr "バックアップ ディレクトリ"
msgid "Adblock Status"
msgstr "Adblock ステータス"
msgid "Backup options"
msgstr "バックアップ オプション"
msgid "Adblock Version"
msgstr "Adblock バージョン"
msgid "Blocklist sources"
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr "Adblock の処理が開始されるまでの、追加の遅延時間(秒)です。"
msgid "Advanced"
msgstr "詳細設定"
msgid "Available blocklist sources."
msgstr "利用可能なブロックリスト提供元です。"
msgid "Backup Directory"
msgstr "バックアップ先 ディレクトリ"
msgid "Backup Mode"
msgstr "バックアップ モード"
msgid ""
"Block access to all domains except those explicitly listed in the whitelist "
"file."
msgstr ""
"ホワイトリストに列記されていない全ドメインへのアクセスをブロックします。"
msgid "Blocklist Sources"
msgstr "ブロックリスト提供元"
msgid ""
"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
"MB free RAM, please do not select more than five blocklist sources!"
msgstr ""
"警告: RAM の空き容量が 64MB に満たないメモリー容量の小さいデバイスでは、 "
"OutOfMemory (OOM) 例外を防ぐために、5個よりも多くのリストを選択しないようにし"
"てください。"
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
msgstr ""
"自動スタートアップを無効にするには 'none' を、従来のタイムアウト(既定値: 30"
"秒)を使用するには 'timed' を選択してください。または、他のトリガとなるイン"
"ターフェースを選択してください。"
msgid "Collecting data..."
msgstr "データ収集中です..."
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr ""
"広告/不正ドメインをDNSを利用してブロックする、adblock パッケージの設定です。"
"DNS の利用によって広告/不正ドメインをブロックする、Adblock パッケージの設定で"
"す。"
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr ""
"圧縮されたブロックリストのバックアップを作成します。これは、リストのダウン"
"ロードがエラーの場合、またはバックアップ モードでサービスを起動した場合に使用"
"されます。"
msgid "DNS Backend (DNS Directory)"
msgstr "DNS バックエンドDNS ディレクトリ)"
msgid "DNS Directory"
msgstr "DNS ディレクトリ"
msgid "Description"
msgstr "説明"
msgid "Enable adblock"
msgstr "adblockの有効化"
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
msgstr ""
"サービス起動時にブロックリストを自動的に更新せず、代わりにバックアップされた"
"ブロックリストを使用します。"
msgid "Enable blocklist backup"
msgid "Download Utility"
msgstr "ダウンロード ユーティリティ"
msgid "Download Utility (SSL Library)"
msgstr "ダウンロード ユーティリティSSL ライブラリ)"
msgid ""
"During opkg package installation use the '--force-maintainer' option to "
"overwrite the pre-existing config file or download a fresh default config "
"from <a href=\"%s\" target=\"_blank\">here</a>"
msgstr ""
"opkg でパッケージをインストールする際に '--force-maintainer' オプションを使用"
"して既存の設定ファイルを上書きするか、 <a href=\"%s\" target=\"_blank\">ここ"
"</a> からデフォルトの設定ファイルをダウンロードしてください。"
msgid "Edit Blacklist"
msgstr "ブラックリストの編集"
msgid "Edit Configuration"
msgstr "設定の編集"
msgid "Edit Whitelist"
msgstr "ホワイトリストの編集"
msgid "Email Notification"
msgstr "メール通知"
msgid "Email Notification Count"
msgstr "メール通知カウント"
msgid "Enable Adblock"
msgstr "Adblock の有効化"
msgid "Enable Blocklist Backup"
msgstr "ブロックリスト バックアップの有効化"
msgid "Enable verbose debug logging"
msgstr "詳細なデバッグ ログの有効化"
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
msgstr ""
"メモリー容量の少ないデバイスRAM 空き領域 64MB 未満)において、一時ファイル"
"内の全体的なソート及び重複の除去を有効にします。"
msgid "Enable verbose debug logging in case of any processing error."
msgstr ""
"何らかの処理エラーが発生した場合に、詳細なデバッグ ログを有効にします。"
msgid "Enabled"
msgstr "有効"
msgid "Extra options"
msgstr "拡張設定"
msgid "Extra Options"
msgstr "拡張オプション"
msgid "Flush DNS Cache"
msgstr "DNS キャッシュのクリア"
msgid "Flush DNS Cache after adblock processing."
msgstr "Adblock 処理の後に DNS キャッシュをクリアします。"
msgid ""
"File with whitelisted hosts/domains that are allowed despite being on a "
"blocklist."
"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"'libustream-ssl' or 'built-in'."
msgstr ""
"ファイルのホワイトリスト ホスト/ドメインは、ブロックリストに登録されていても"
"許可されます。"
"SSLで保護されているブロックリストの取得には、適切なSSL ライブラリが必要です。"
"例: 'libustream-ssl' または 'built-in'"
msgid "Global options"
msgstr "一般設定"
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr ""
"詳細な情報は <a href=\"%s\" target=\"_blank\">オンライン ドキュメント</a> を"
"確認してください。"
msgid "Force Local DNS"
msgstr "ローカル DNS の強制"
msgid "Force Overall Sort"
msgstr "全体ソートの強制"
msgid "Full path to the whitelist file."
msgstr "ホワイトリスト ファイルへのフルパスです。"
msgid "Input file not found, please check your configuration."
msgstr "入力ファイルが見つかりません。設定を確認してください。"
msgid "Invalid domain specified!"
msgstr "無効なドメインが指定されています!"
msgid "Last Run"
msgstr "最終実行"
msgid ""
"List URLs and Shallalist category selections are configurable in the "
"'Advanced' section.<br />"
msgstr ""
"リストの URL 及び \"Shalla\" リストのカテゴリー設定は、'詳細設定' セクション"
"で設定することができます。<br />"
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface.<br />"
msgstr ""
"利用可能なネットワーク インターフェースの一覧です。通常、 'wan' インター"
"フェースによりスタートアップがトリガされます。<br />"
msgid ""
"List of supported DNS backends with their default list export directory.<br /"
">"
msgstr ""
"サポートされる DNS バックエンドと、それぞれのデフォルトのリスト出力先ディレク"
"トリのリストです<br />"
msgid "List of supported and fully pre-configured download utilities."
msgstr "サポートされ、かつ設定済のダウンロード ユーティリティの一覧です。"
msgid "Loading"
msgstr "読込中"
msgid "No"
msgstr "いいえ"
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr "デフォルト設定が適切でない場合、追加で設定するためのオプションです。"
msgid "Restrict reload trigger to certain interface(s)"
msgstr "リロードトリガを特定のインターフェースに限定する"
msgid "Overall Domains"
msgstr "全体のドメイン"
msgid "Overview"
msgstr "概要"
msgid ""
"Space separated list of wan interfaces that trigger reload action. To "
"disable reload trigger set it to 'false'. Default: empty"
"Please add only one domain per line. Comments introduced with '#' are "
"allowed - ip addresses, wildcards and regex are not."
msgstr ""
"リロード実行のトリガとなる、スペースで区切られたWANインターフェースのリストで"
"す。リロードトリガを無効にするには、 false を設定します。デフォルト:(空)"
"1行に1つのドメインを追加してください。'#' から始まるコメントを記述できます"
"が、IP アドレスやワイルドカード、正規表現を設定値として使用することはできませ"
"ん。"
msgid "Whitelist file"
msgid "Please edit this file directly in a terminal session."
msgstr "ターミナル セッションで直接このファイルを編集してください。"
msgid ""
"Please note: this needs additional 'mstmp' installation and setup (see "
"readme)."
msgstr ""
"注意: これには、追加で 'mstmp' のインストールとセットアップが必要です"
"readme を参照)。"
msgid "Please update your adblock config file to use this package.<br />"
msgstr ""
"このパッケージを使用するには、既存の Adblock 設定ファイルを更新してください。"
"<br />"
msgid "Query"
msgstr "検索"
msgid "Query domains"
msgstr "ドメインの検索"
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),<br />"
msgstr ""
"メール通知を行うドメイン カウントの下限を設定します。全体カウントが指定された"
"値以下の場合、メールを受け取ります(規定値: 0。<br />"
msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
msgstr ""
"'lan' ゾーンからの全 DNS クエリを、ローカル リゾルバにリダイレクトします。"
msgid "Resume"
msgstr "再開"
msgid "Runtime Information"
msgstr "実行情報"
msgid "SSL req."
msgstr "SSL 必須"
msgid "Save"
msgstr "保存"
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0.<br />"
msgstr ""
"処理エラーまたはドメイン カウントが0以下の場合、メールを送信します。<br />"
msgid "Startup Trigger"
msgstr "スタートアップ トリガ"
msgid "Suspend"
msgstr "一時停止"
msgid "Suspend / Resume Adblock"
msgstr "Adblock の一時停止 / 再開"
msgid ""
"Target directory for adblock backups. Please use only non-volatile disks, e."
"g. an external usb stick."
msgstr ""
"Adblock バックアップの保存先ディレクトリです。 外部 USB フラッシュメモリなど"
"の不揮発性ドライブのみを使用してください。"
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr "生成されたブロックリスト 'adb_list.overall' の保存先ディレクトリです。"
msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
msgstr ""
"ファイル サイズが大きすぎる512 KB超ため、 LuCI 上でオンライン編集できませ"
"ん。"
msgid ""
"This form allows you to modify the content of the adblock blacklist (%s)."
"<br />"
msgstr ""
"このフォームでは、Adblock ブラックリスト (%s) の内容を変更することができま"
"す。<br />"
msgid ""
"This form allows you to modify the content of the adblock whitelist (%s)."
"<br />"
msgstr ""
"このフォームでは、Adblock ホワイトリスト (%s) の内容を変更することができま"
"す。<br />"
msgid ""
"This form allows you to modify the content of the main adblock configuration "
"file (/etc/config/adblock)."
msgstr ""
"このフォームでは、メインのAdblock 設定ファイル (/etc/config/adblock) の内容を"
"変更することができます。"
msgid ""
"This form allows you to query active block lists for certain domains, e.g. "
"for whitelisting."
msgstr ""
"このフォームでは、現在有効なリスト内で特定のドメインを検索することができま"
"す。例: ホワイトリスト内"
msgid ""
"This form shows the syslog output, pre-filtered for adblock related messages "
"only."
msgstr ""
"このフォームには、システムログ内の Adblock に関連するメッセージのみが表示され"
"ます。"
msgid "This section contains no values yet"
msgstr "このセクションには、まだ値がありません"
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
msgstr ""
"デフォルトのパスを上書きするには、下記拡張セクションの 'DNS ディレクトリ' オ"
"プションを使用します。"
msgid "Trigger Delay"
msgstr "トリガ遅延"
msgid "Verbose Debug Logging"
msgstr "詳細なデバッグ ログ"
msgid "View Logfile"
msgstr "ログファイルを見る"
msgid "Waiting for command to complete..."
msgstr "コマンド実行中です..."
msgid "Whitelist File"
msgstr "ホワイトリスト ファイル"
msgid "see list details"
msgstr "リストの詳細を見る"
msgid "Whitelist Mode"
msgstr "ホワイトリスト モード"
#~ msgid "Count"
#~ msgstr "カウント"
msgid "Yes"
msgstr "はい"
#~ msgid "Do not write status info to flash"
#~ msgstr "ステータス情報をフラッシュに書き込まない"
msgid "disabled"
msgstr "無効"
#~ msgid "Last update of the blocklists"
#~ msgstr "ブロックリストの最終更新日時"
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
msgstr ""
"例: Adblock のアップデート毎にメールを受け取るには、150000 に設定します。"
#~ msgid "List date/state"
#~ msgstr "リスト日時/状態"
msgid "enabled"
msgstr "有効"
#~ msgid "Name of the logical lan interface"
#~ msgstr "論理LANインターフェース名"
msgid "error"
msgstr "エラー"
#~ msgid "Percentage of blocked packets (before last update, IPv4/IPv6)"
#~ msgstr "ブロック済みパケットの割合最終更新以前、IPv4/IPv6"
msgid "n/a"
msgstr "利用不可"
#~ msgid "Port of the adblock uhttpd instance"
#~ msgstr "adblock uhttpdインスタンスのポート"
msgid "paused"
msgstr "一時停止"
#~ msgid "Port of the adblock uhttpd instance for https links"
#~ msgstr "httpsリンク用adblock uhttpdインスタンスのポート"
#~ msgid "Redirect all DNS queries to the local resolver"
#~ msgstr "全てのDNSクエリをローカルリゾルバにリダイレクト"
msgid "running"
msgstr "実行中"
#~ msgid ""
#~ "Skip writing update status information to the config file. Status fields "
#~ "on this page will not be updated."
#~ "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
#~ "'libustream-ssl' or the wget 'built-in'."
#~ msgstr ""
#~ "更新ステータス情報をコンフィグファイルに書き込まず、スキップします。この"
#~ "ページのステータス画面は更新されなくなります。"
#~ msgid "Statistics"
#~ msgstr "ステータス"
#~ msgid "Timeout for blocklist fetch (seconds)"
#~ msgstr "ブロックリスト取得の制限時間(秒)"
#~ msgid "Total count of blocked domains"
#~ msgstr "ブロック済みドメインの合計"
#~ "SSLで保護されているブロックリストの取得には、適切なSSL ライブラリが必要で"
#~ "す。例: 'libustream-ssl' または wget 'built-in'"
#~ msgid ""
#~ "When adblock is active, all DNS queries are redirected to the local "
#~ "resolver in this server by default. You can disable that to allow queries "
#~ "to external DNS servers."
#~ "Caution: To prevent OOM exceptions on low memory devices with less than "
#~ "64 MB free RAM, please do not select too many lists - 5-6 should be "
#~ "sufficient!"
#~ msgstr ""
#~ "adblockがアクティブである時、全てのDNSクエリは既定でこのサーバー上のリゾル"
#~ "バにリダイレクトされます。外部DNSサーバーへのクエリを許可する場合、この設"
#~ "定を無効にすることもできます。"
#~ "警告: RAM の空き容量が 64MB に満たないメモリー容量の小さいデバイスでは、 "
#~ "OutOfMemory (OOM) 例外を防ぐために、多くのリストを選択しないようにしてくだ"
#~ "さい。5 - 6個のリストで十分です。"

View file

@ -0,0 +1,476 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n"
"Last-Translator: Luís Gabriel Lima Silva <gabrielima.si@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: pt_BR\n"
msgid "-------"
msgstr ""
msgid "Adblock"
msgstr "Adblock"
msgid "Adblock Logfile"
msgstr "Arquivo de log do Adblock"
msgid "Adblock Status"
msgstr ""
msgid "Adblock Version"
msgstr "Versão do Adblock"
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr ""
"Atraso de gatilho adicional em segundos antes do processamento do adblock "
"começar."
msgid "Advanced"
msgstr "Avançado"
msgid "Available blocklist sources."
msgstr "Fontes de listas de bloqueio disponíveis."
msgid "Backup Directory"
msgstr "Diretório da cópia de segurança"
msgid "Backup Mode"
msgstr ""
msgid ""
"Block access to all domains except those explicitly listed in the whitelist "
"file."
msgstr ""
msgid "Blocklist Sources"
msgstr "Fontes de listas de bloqueio"
msgid ""
"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
"MB free RAM, please do not select more than five blocklist sources!"
msgstr ""
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
msgstr ""
msgid "Collecting data..."
msgstr "Coletando dados..."
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr ""
"Configuração do pacote adblock para bloquear, usando o DNS, domínios que "
"distribuem propagandas abusivas."
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr ""
msgid "DNS Backend (DNS Directory)"
msgstr ""
msgid "DNS Directory"
msgstr ""
msgid "Description"
msgstr "Descrição"
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
msgstr ""
"Não atualize as listas de bloqueio automaticamente durante o início, use o "
"backup das listas como alternativa."
msgid "Download Utility"
msgstr ""
msgid "Download Utility (SSL Library)"
msgstr "Utilitário de Download (Biblioteca SSL)"
msgid ""
"During opkg package installation use the '--force-maintainer' option to "
"overwrite the pre-existing config file or download a fresh default config "
"from <a href=\"%s\" target=\"_blank\">here</a>"
msgstr ""
msgid "Edit Blacklist"
msgstr "Editar Lista de Bloqueio"
msgid "Edit Configuration"
msgstr "Editar Configuração"
msgid "Edit Whitelist"
msgstr "Editar Lista Permitida"
msgid "Email Notification"
msgstr ""
msgid "Email Notification Count"
msgstr ""
msgid "Enable Adblock"
msgstr "Habilitar adblock"
msgid "Enable Blocklist Backup"
msgstr "Habilitar cópia de segurança da lista de bloqueio"
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
msgstr ""
msgid "Enable verbose debug logging in case of any processing error."
msgstr ""
msgid "Enabled"
msgstr "Habilitado"
msgid "Extra Options"
msgstr "Opções adicionais"
msgid "Flush DNS Cache"
msgstr ""
msgid "Flush DNS Cache after adblock processing."
msgstr ""
msgid ""
"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"'libustream-ssl' or 'built-in'."
msgstr ""
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr ""
msgid "Force Local DNS"
msgstr "Force o DNS local"
msgid "Force Overall Sort"
msgstr "Force Tipo Geral"
msgid "Full path to the whitelist file."
msgstr ""
msgid "Input file not found, please check your configuration."
msgstr "Arquivo de entrada não encontrado, por favor cheque sua configuração."
msgid "Invalid domain specified!"
msgstr "Domínio especificado inválido!"
msgid "Last Run"
msgstr ""
msgid ""
"List URLs and Shallalist category selections are configurable in the "
"'Advanced' section.<br />"
msgstr ""
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface.<br />"
msgstr ""
msgid ""
"List of supported DNS backends with their default list export directory.<br /"
">"
msgstr ""
msgid "List of supported and fully pre-configured download utilities."
msgstr ""
msgid "Loading"
msgstr "Carregando"
msgid "No"
msgstr "Não"
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr ""
"Opções para aprimoramentos adicionais caso as opções padrão não sejam "
"suficientes para você."
msgid "Overall Domains"
msgstr ""
msgid "Overview"
msgstr "Visão geral"
msgid ""
"Please add only one domain per line. Comments introduced with '#' are "
"allowed - ip addresses, wildcards and regex are not."
msgstr ""
msgid "Please edit this file directly in a terminal session."
msgstr "Por favor edite esse arquivo direto em uma sessão de terminal."
msgid ""
"Please note: this needs additional 'mstmp' installation and setup (see "
"readme)."
msgstr ""
msgid "Please update your adblock config file to use this package.<br />"
msgstr ""
msgid "Query"
msgstr "Consulta"
msgid "Query domains"
msgstr "Consulta de domínios"
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),<br />"
msgstr ""
msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
msgstr ""
msgid "Resume"
msgstr ""
msgid "Runtime Information"
msgstr "Informação de execução"
msgid "SSL req."
msgstr "req. de SSL"
msgid "Save"
msgstr "Salvar"
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0.<br />"
msgstr ""
msgid "Startup Trigger"
msgstr ""
msgid "Suspend"
msgstr ""
msgid "Suspend / Resume Adblock"
msgstr "Suspender / Resumir adblock"
msgid ""
"Target directory for adblock backups. Please use only non-volatile disks, e."
"g. an external usb stick."
msgstr ""
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr ""
msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
msgstr ""
"O tamanho do arquivo é muito grande para edição online no LuCI (&gt; 512 KB)."
msgid ""
"This form allows you to modify the content of the adblock blacklist (%s)."
"<br />"
msgstr ""
"Esse formulário permite que você modifique o conteúdo das listas de bloqueio "
"do adblock (%s).<br />"
msgid ""
"This form allows you to modify the content of the adblock whitelist (%s)."
"<br />"
msgstr ""
"Esse formulário permite que você modifique o conteúdo das listas de "
"permissão do adblock (%s).<br />"
msgid ""
"This form allows you to modify the content of the main adblock configuration "
"file (/etc/config/adblock)."
msgstr ""
"Esse formulário permite que você modifique o conteúdo das do arquivo de "
"configuração principal (/etc/config/adblock)."
msgid ""
"This form allows you to query active block lists for certain domains, e.g. "
"for whitelisting."
msgstr ""
"Esse formulário permite que você consulte listas de blocos ativos para "
"certos domínios, e.x. para listas de permissão."
msgid ""
"This form shows the syslog output, pre-filtered for adblock related messages "
"only."
msgstr ""
"Esse formulário mostra a saída do syslog, pré-filtrado para mensagens do "
"adblock apenas."
msgid "This section contains no values yet"
msgstr ""
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
msgstr ""
msgid "Trigger Delay"
msgstr "Atraso no gatilho"
msgid "Verbose Debug Logging"
msgstr ""
msgid "View Logfile"
msgstr "Ver arquivo de log"
msgid "Waiting for command to complete..."
msgstr "Aguardando por comando para completar..."
msgid "Whitelist File"
msgstr ""
msgid "Whitelist Mode"
msgstr ""
msgid "Yes"
msgstr "Sim"
msgid "disabled"
msgstr ""
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
msgstr ""
msgid "enabled"
msgstr ""
msgid "error"
msgstr ""
msgid "n/a"
msgstr "n/d"
msgid "paused"
msgstr ""
msgid "running"
msgstr ""
#~ msgid ""
#~ "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
#~ "'libustream-ssl' or the wget 'built-in'."
#~ msgstr ""
#~ "Para uma lista de bloqueio protegida por SSL você precisa de uma "
#~ "biblioteca SSL adequada, e.x. 'libustream-ssl' ou o wget 'built-in'."
#~ msgid ""
#~ "Create compressed blocklist backups, they will be used in case of "
#~ "download errors or during startup in manual mode."
#~ msgstr ""
#~ "Crie backups comprimidos das listas de bloqueio, eles serão usados em "
#~ "caso de erro dedownload ou durante o início em modo manual."
#~ msgid ""
#~ "Enable memory intense overall sort / duplicate removal on low memory "
#~ "devices (&lt; 64 MB RAM)"
#~ msgstr ""
#~ "Ativar tipo geral intenso de memória / duplicar remoção em dispositivos "
#~ "com pouca memória (&lt; 64 MB RAM)"
#~ msgid ""
#~ "For further information <a href=\"%s\" target=\"_blank\">see online "
#~ "documentation</a>"
#~ msgstr ""
#~ "Para outras informações <a href=\"%s\" target=\"_blank\">veja a "
#~ "documentação online</a>"
#~ msgid "Manual / Backup mode"
#~ msgstr "Manual / Modo backup"
#~ msgid "Blocked domains (overall)"
#~ msgstr "Domínios bloqueados (total)"
#~ msgid "DNS backend"
#~ msgstr "Porta dos fundos de DNS"
#~ msgid "Enable verbose debug logging"
#~ msgstr "Habilite registros detalhados para depuração"
#~ msgid "Last rundate"
#~ msgstr "Última data de execução"
#~ msgid ""
#~ "Note that list URLs and Shallalist category selections are configurable "
#~ "in the 'Advanced' section."
#~ msgstr ""
#~ "Observe que as URLs da lista e as seleções da categoria Shallalist são "
#~ "configuráveis na secção 'Avançada'."
#~ msgid "Redirect all DNS queries to the local resolver."
#~ msgstr "Redirecione todas as consultas de DNS para o resolvedor local."
#~ msgid "Restrict interface trigger to certain interface(s)"
#~ msgstr "Restingir o gatilho de interface para certas interface(s)"
#~ msgid "Resume adblock"
#~ msgstr "Resumir adblock"
#~ msgid "Status"
#~ msgstr "Estado"
#~ msgid "active"
#~ msgstr "ativo"
#~ msgid "no domains blocked"
#~ msgstr "nenhum domínio bloqueado"
#~ msgid "suspended"
#~ msgstr "suspenso"
#~ msgid "Backup options"
#~ msgstr "Opções da cópia de segurança"
#~ msgid ""
#~ "). Note that list URLs and Shallalist category selections are not "
#~ "configurable via Luci."
#~ msgstr ""
#~ "). Note que a lista de URL e as seleções de categoria da Shallalist não "
#~ "são configuráveis pelo Luci."
#~ msgid "Available blocklist sources ("
#~ msgstr "Fontes de listas de bloqueio disponíveis ("
#~ msgid ""
#~ "File with whitelisted hosts/domains that are allowed despite being on a "
#~ "blocklist."
#~ msgstr ""
#~ "Arquivo com a lista branca dos equipamentos/domínios que serão "
#~ "autorizados mesmo estando na lista de bloqueio."
#~ msgid "Global options"
#~ msgstr "Opções Globais"
#~ msgid "Restrict reload trigger to certain interface(s)"
#~ msgstr "Restringir o gatilho de recarga para somente alguma(s) interface(s)"
#~ msgid ""
#~ "Space separated list of wan interfaces that trigger reload action. To "
#~ "disable reload trigger set it to 'false'. Default: empty"
#~ msgstr ""
#~ "Lista das interfaces WAN, separadas por espaço, que podem disparar uma "
#~ "ação de recarga. Para desabilitar este gatilho, defina-o como 'false'. "
#~ "Padrão: em branco"
#~ msgid "Whitelist file"
#~ msgstr "Arquivo da lista branca"
#~ msgid "see list details"
#~ msgstr "veja os detalhes da lista"

View file

@ -0,0 +1,402 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: LuCI: adblock\n"
"POT-Creation-Date: 2017-10-22 13:00+0300\n"
"PO-Revision-Date: 2018-01-14 11:42+0300\n"
"Language-Team: http://cyber-place.ru\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7.1\n"
"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Language: ru\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
msgid "-------"
msgstr "-------"
msgid "Adblock"
msgstr "AdBlock"
msgid "Adblock Logfile"
msgstr "Ведение системного журала Adblock-ом"
msgid "Adblock Status"
msgstr "Состояние Adblock-а"
msgid "Adblock Version"
msgstr "Версия Adblock-а"
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr "Дополнительная задержка в секундах до начала работы Adblock-a."
msgid "Advanced"
msgstr "Дополнительно"
msgid "Available blocklist sources."
msgstr "Источники списков блокировки. "
msgid "Backup Directory"
msgstr "Папка для бэкапа"
msgid "Backup Mode"
msgstr "Режим сохранения бекапа"
msgid ""
"Block access to all domains except those explicitly listed in the whitelist "
"file."
msgstr ""
"Блокировать доступ ко всем доменам кроме тех, которые явно перечислены в "
"файле Белого списка."
msgid "Blocklist Sources"
msgstr "Источники списков блокировки"
msgid ""
"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
"MB free RAM, please do not select more than five blocklist sources!"
msgstr ""
"ВНИМАНИЕ: Для предотвращения возможного программного сбоя и перезагрузки, на "
"устройствах с объемом оперативной памяти менее 64MB, не выбирайте больше 5 "
"списков."
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
msgstr ""
"Выберите 'none', чтобы отключить автоматический старт, 'timed', чтобы "
"использовать дефолтную задержку (по умолчанию 30 сек.) или выберите другой "
"интерфейс запуска."
msgid "Collecting data..."
msgstr "Сбор данных..."
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr ""
"Настройка Adblock. Приложения для блокировки ненадежных или добавления "
"доверенных доменов используя DNS. "
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr ""
"Создавайте сжатые резервные копии списков блокировки, они будут "
"использоваться в случае ошибок загрузки или при запуске в ручном режиме."
msgid "DNS Backend (DNS Directory)"
msgstr "DNS бэкенд (папка DNS)"
msgid "DNS Directory"
msgstr "Папка DNS"
msgid "Description"
msgstr "Описание"
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
msgstr ""
"Не обновляйте списки блокировок автоматически во время запуска, вместо этого "
"используйте резервные копии списков блокировок."
msgid "Download Utility"
msgstr "Скачать утилиту"
msgid "Download Utility (SSL Library)"
msgstr "Загрузить утилиту (библиотека SSL)"
msgid ""
"During opkg package installation use the '--force-maintainer' option to "
"overwrite the pre-existing config file or download a fresh default config "
"from <a href=\"%s\" target=\"_blank\">here</a>"
msgstr ""
"Устанавливая пакет с помощью opkg, используйте '--force-maintainer', чтобы "
"перезаписать существующий config файл или загрузить новый дефолтный config "
"файл <a href=\"%s\" target=\"_blank\">здесь</a>"
msgid "Edit Blacklist"
msgstr "Редактировать Черный список"
msgid "Edit Configuration"
msgstr "Редактировать config файл"
msgid "Edit Whitelist"
msgstr "Редактировать Белый список"
msgid "Email Notification"
msgstr "Уведомление на email"
msgid "Email Notification Count"
msgstr "Кол-во уведомлений на email"
msgid "Enable Adblock"
msgstr "Включить Adblock"
msgid "Enable Blocklist Backup"
msgstr "Включить сохранение<br />списка блокировок"
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
msgstr ""
"Включите полную сортировку / удаление дубликатов памяти на устройствах с "
"низким объемом памяти (&lt; 64 MB свободной оперативной памяти)."
msgid "Enable verbose debug logging in case of any processing error."
msgstr "Включите подробное ведение журнала отладки в случае ошибки обработки."
msgid "Enabled"
msgstr "Включено"
msgid "Extra Options"
msgstr "Дополнительные настройки"
msgid "Flush DNS Cache"
msgstr "Очистка кэша DNS"
msgid "Flush DNS Cache after adblock processing."
msgstr "Очистки DNS-кэша после обработки Adblock-ом."
msgid ""
"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"'libustream-ssl' or 'built-in'."
msgstr ""
"Для SSL-защищенных источников списков блокировки, вам нужны подходящие SSL "
"библиотеки, например 'libustream-ssl' или 'built-in'."
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr ""
"<br />Для получения дополнительной информации <a href=\"%s\" target=\"_blank"
"\"> смотрите онлайн документацию</a>."
msgid "Force Local DNS"
msgstr "Назначить локальный DNS"
msgid "Force Overall Sort"
msgstr "Назначить полную сортировку"
msgid "Full path to the whitelist file."
msgstr "Полный путь к файлу Белого списка."
msgid "Input file not found, please check your configuration."
msgstr "Config файл не найден, настройте config файл."
msgid "Invalid domain specified!"
msgstr "Задан недопустимый домен!"
msgid "Last Run"
msgstr "Последнее время запуска"
msgid ""
"List URLs and Shallalist category selections are configurable in the "
"'Advanced' section.<br />"
msgstr ""
"Список URL-адресов и настройка списка использования, настраиваются на "
"странице 'Дополнительно'.<br />"
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface.<br />"
msgstr ""
"Список доступных сетевых интерфейсов. По умолчанию установлен 'wan' "
"интерфейс.<br />"
msgid ""
"List of supported DNS backends with their default list export directory.<br /"
">"
msgstr ""
"Список поддерживаемых серверов DNS перемещается в папку по умолчанию.<br />"
msgid "List of supported and fully pre-configured download utilities."
msgstr ""
"Список поддерживаемых и полностью предварительно настроенных утилит загрузки."
msgid "Loading"
msgstr "Загрузка"
msgid "No"
msgstr "Нет"
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr ""
"Возможные варианты детальной настройки, если значения по умолчанию не "
"подходят для вас."
msgid "Overall Domains"
msgstr "Итоговые домены"
msgid "Overview"
msgstr "Главное меню"
msgid ""
"Please add only one domain per line. Comments introduced with '#' are "
"allowed - ip addresses, wildcards and regex are not."
msgstr ""
"Добавляйте только один домен в строке. Комментарии вводятся используя '#' "
"разрешенные - ip адреса, метасимволы и нерегулярные выражения."
msgid "Please edit this file directly in a terminal session."
msgstr "Отредактируйте данный файл, строго в терминале."
msgid ""
"Please note: this needs additional 'mstmp' installation and setup (see "
"readme)."
msgstr ""
"Внимание: для этого потребуется дополнительно установить и настроить "
"'mstmp' (см. readme)."
msgid "Please update your adblock config file to use this package.<br />"
msgstr "Обновите config файл Adblock, чтобы использовать этот пакет.<br />"
msgid "Query"
msgstr "Запрос"
msgid "Query domains"
msgstr "Запрос доменов"
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),<br />"
msgstr ""
"Увеличьте количество уведомлений по email, чтобы получить сообщения, если "
"общее количество меньше или равно заданному пределу (по умолчанию 0),<br />"
msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
msgstr ""
"Перенаправлять все DNS запросы с интерфейса 'lan' на обработку Adblock-ом."
msgid "Resume"
msgstr "Возобновить"
msgid "Runtime Information"
msgstr "Информация о состоянии"
msgid "SSL req."
msgstr "Запрос SSL"
msgid "Save"
msgstr "Сохранить"
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0.<br />"
msgstr ""
"Отправлять по email уведомления в случае ошибки обработки или если домен "
"&le; 0.<br />"
msgid "Startup Trigger"
msgstr "Назначить"
msgid "Suspend"
msgstr "Приостановить"
msgid "Suspend / Resume Adblock"
msgstr "Приостановить / Возобновить Adblock"
msgid ""
"Target directory for adblock backups. Please use only non-volatile disks, e."
"g. an external usb stick."
msgstr ""
"Назначить папку для резервного копирования Adblock. Используйте такие "
"накопители, как usb флешка."
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr "Назначить папку для создания списка блокировки 'adb_list.overall'."
msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
msgstr ""
"Размер файла слишком большой, для онлайн редактирования в LuCI (&gt; 512 KB)."
msgid ""
"This form allows you to modify the content of the adblock blacklist (%s)."
"<br />"
msgstr ""
"Страница позволяет изменять содержимое Черного списка Adblock (%s).<br />"
msgid ""
"This form allows you to modify the content of the adblock whitelist (%s)."
"<br />"
msgstr ""
"Страница позволяет изменять содержимое Белого списка Adblock (%s).<br />"
msgid ""
"This form allows you to modify the content of the main adblock configuration "
"file (/etc/config/adblock)."
msgstr ""
"Страница позволяет изменять содержимое главного config файла Adblock-a (/etc/"
"config/adblock)."
msgid ""
"This form allows you to query active block lists for certain domains, e.g. "
"for whitelisting."
msgstr ""
"Страница позволяет запросить домены для конкретных списков, например для "
"Белого списка."
msgid ""
"This form shows the syslog output, pre-filtered for adblock related messages "
"only."
msgstr "Страница системного журнала. Только сообщения связанные с Adblock."
msgid "This section contains no values yet"
msgstr "Здесь не содержатся необходимые значения"
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
msgstr ""
"Чтобы заменить дефолтный путь, используйте строку ниже 'Папка DNS' в разделе "
"'Дополнительные настройки'."
msgid "Trigger Delay"
msgstr "Задержка запуска"
msgid "Verbose Debug Logging"
msgstr "Подробное ведение<br />журнала отладки"
msgid "View Logfile"
msgstr "Показать системный журнал"
msgid "Waiting for command to complete..."
msgstr "Ожидание завершения выполнения команды..."
msgid "Whitelist File"
msgstr "Файл Белого списка"
msgid "Whitelist Mode"
msgstr "Режим Белого списка"
msgid "Yes"
msgstr "Да"
msgid "disabled"
msgstr "отключено"
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
msgstr ""
"например, чтобы получать уведомления по электронной почте при каждом "
"обновлении Adblock-а установите значение 150000."
msgid "enabled"
msgstr "включено"
msgid "error"
msgstr "ошибка"
msgid "n/a"
msgstr "нет данных"
msgid "paused"
msgstr "остановлено"
msgid "running"
msgstr "работает"

View file

@ -1,75 +1,428 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8\n"
msgid ""
"). Note that list URLs and Shallalist category selections are not "
"configurable via Luci."
msgstr ""
msgid "-------"
msgstr "-------"
msgid "Adblock"
msgstr "Blockering av annonser"
msgstr "Adblock"
msgid "Available blocklist sources ("
msgstr "Tillgängliga källor för blockeringslistor ("
msgid "Adblock Logfile"
msgstr "Adblock's loggfil"
msgid "Backup directory"
msgid "Adblock Status"
msgstr "Status för Adblock"
msgid "Adblock Version"
msgstr "Version av Adblock"
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr ""
msgid "Advanced"
msgstr "Avancerat"
msgid "Available blocklist sources."
msgstr "Tillgängliga källor för blockeringslistor"
msgid "Backup Directory"
msgstr "Säkerhetskopiera mapp"
msgid "Backup options"
msgstr "Alternativ för säkerhetskopiering"
msgid "Backup Mode"
msgstr ""
msgid "Blocklist sources"
msgid ""
"Block access to all domains except those explicitly listed in the whitelist "
"file."
msgstr ""
msgid "Blocklist Sources"
msgstr "Källor för blockeringslistor"
msgid ""
"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
"MB free RAM, please do not select more than five blocklist sources!"
msgstr ""
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
msgstr ""
"Välj 'inga' för att stänga av automatiska uppstarter, 'tidsinställd för att "
"använda ett klassiskt avbrott (30 sek. är standard) eller välj ett annat "
"utlösande gränssnitt."
msgid "Collecting data..."
msgstr "Samlar in data..."
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr ""
"Konfiguration av paket adblock för att blockera annons/otillåtna domäner "
"genom att användning DNS."
"Konfiguration av paketet adblock för att blockera annons/otillåtna domäner "
"genom att använda DNS."
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr ""
msgid "DNS Backend (DNS Directory)"
msgstr "DNS-bakände (DNS-mapp)"
msgid "DNS Directory"
msgstr "DNS-mapp"
msgid "Description"
msgstr "Beskrivning"
msgid "Enable adblock"
msgstr "Aktivera abblock"
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
msgstr ""
"Uppdatera inte automatiskt blockeringlistor vid uppstarten, använd "
"säkerhetskopierade blockeringslistor istället."
msgid "Enable blocklist backup"
msgid "Download Utility"
msgstr ""
msgid "Download Utility (SSL Library)"
msgstr "Nerladdningsprogram (SSL-bibliotek)"
msgid ""
"During opkg package installation use the '--force-maintainer' option to "
"overwrite the pre-existing config file or download a fresh default config "
"from <a href=\"%s\" target=\"_blank\">here</a>"
msgstr ""
msgid "Edit Blacklist"
msgstr "Redigera svartlista"
msgid "Edit Configuration"
msgstr "Redigerar konfigurationen"
msgid "Edit Whitelist"
msgstr "Redigera vitlista"
msgid "Email Notification"
msgstr ""
msgid "Email Notification Count"
msgstr ""
msgid "Enable Adblock"
msgstr "Aktivera adblock"
msgid "Enable Blocklist Backup"
msgstr "Aktivera säkerhetskopiering av blockeringslistan"
msgid "Enable verbose debug logging"
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
msgstr ""
msgid "Enable verbose debug logging in case of any processing error."
msgstr ""
msgid "Enabled"
msgstr "Aktiverad"
msgid "Extra options"
msgid "Extra Options"
msgstr "Extra alternativ"
msgid ""
"File with whitelisted hosts/domains that are allowed despite being on a "
"blocklist."
msgid "Flush DNS Cache"
msgstr ""
msgid "Global options"
msgstr "Globala alternativ"
msgid "Flush DNS Cache after adblock processing."
msgstr ""
msgid ""
"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"'libustream-ssl' or 'built-in'."
msgstr ""
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr ""
msgid "Force Local DNS"
msgstr "Tvinga lokal DNS"
msgid "Force Overall Sort"
msgstr ""
msgid "Full path to the whitelist file."
msgstr ""
msgid "Input file not found, please check your configuration."
msgstr ""
"Inmatningsfilen kunde inte hittas, var vänlig kontrollera din konfiguration."
msgid "Invalid domain specified!"
msgstr "Ogiltig domän angiven!"
msgid "Last Run"
msgstr "Kördes senast"
msgid ""
"List URLs and Shallalist category selections are configurable in the "
"'Advanced' section.<br />"
msgstr ""
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface.<br />"
msgstr ""
msgid ""
"List of supported DNS backends with their default list export directory.<br /"
">"
msgstr ""
msgid "List of supported and fully pre-configured download utilities."
msgstr ""
msgid "Loading"
msgstr "Laddar"
msgid "No"
msgstr "Nej"
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr ""
msgid "Restrict reload trigger to certain interface(s)"
msgid "Overall Domains"
msgstr ""
msgid "Overview"
msgstr "Översikt"
msgid ""
"Please add only one domain per line. Comments introduced with '#' are "
"allowed - ip addresses, wildcards and regex are not."
msgstr ""
msgid "Please edit this file directly in a terminal session."
msgstr "Vänligen redigera den här filen direkt i en terminal-session."
msgid ""
"Please note: this needs additional 'mstmp' installation and setup (see "
"readme)."
msgstr ""
msgid "Please update your adblock config file to use this package.<br />"
msgstr ""
msgid "Query"
msgstr "Fråga"
msgid "Query domains"
msgstr "Fråga efter domäner"
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),<br />"
msgstr ""
msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
msgstr ""
msgid "Resume"
msgstr "Återuppta"
msgid "Runtime Information"
msgstr "Information om körtid"
msgid "SSL req."
msgstr "SSL-rek."
msgid "Save"
msgstr "Spara"
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0.<br />"
msgstr ""
msgid "Startup Trigger"
msgstr "Uppstartslösare"
msgid "Suspend"
msgstr "Stäng av"
msgid "Suspend / Resume Adblock"
msgstr "Upphäv / Återuppta adblock"
msgid ""
"Target directory for adblock backups. Please use only non-volatile disks, e."
"g. an external usb stick."
msgstr ""
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr ""
msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
msgstr "Filstorleken är för stor för online-redigering i LuCi (&gt; 512 KB)."
msgid ""
"This form allows you to modify the content of the adblock blacklist (%s)."
"<br />"
msgstr ""
"Det här formuläret tillåter dig att förändra innehållet i adblock's "
"svartlista (%s).<br />"
msgid ""
"This form allows you to modify the content of the adblock whitelist (%s)."
"<br />"
msgstr ""
"Det här formuläret tillåter dig att förändra innehållet i adblock's vitlista "
"(%s).<br />"
msgid ""
"This form allows you to modify the content of the main adblock configuration "
"file (/etc/config/adblock)."
msgstr ""
"Det här formuläret tillåter dig att förändra innehållet i adblock's "
"huvudsakliga konfigurations fil (/etc/config/adblock)."
msgid ""
"This form allows you to query active block lists for certain domains, e.g. "
"for whitelisting."
msgstr ""
msgid ""
"Space separated list of wan interfaces that trigger reload action. To "
"disable reload trigger set it to 'false'. Default: empty"
"This form shows the syslog output, pre-filtered for adblock related messages "
"only."
msgstr ""
msgid "Whitelist file"
msgstr "Vitlista fil"
msgid "This section contains no values yet"
msgstr ""
msgid "see list details"
msgstr "se listans detaljer"
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
msgstr ""
msgid "Trigger Delay"
msgstr ""
msgid "Verbose Debug Logging"
msgstr ""
msgid "View Logfile"
msgstr "Visa loggfil"
msgid "Waiting for command to complete..."
msgstr "Väntar på att kommandot ska slutföras..."
msgid "Whitelist File"
msgstr ""
msgid "Whitelist Mode"
msgstr ""
msgid "Yes"
msgstr "Ja"
msgid "disabled"
msgstr "inaktiverad"
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
msgstr ""
msgid "enabled"
msgstr "aktiverad"
msgid "error"
msgstr "fel"
msgid "n/a"
msgstr "n/a"
msgid "paused"
msgstr "pausad"
msgid "running"
msgstr ""
#~ msgid ""
#~ "Caution: Please don't select big lists or many lists at once on low "
#~ "memory devices to prevent OOM exceptions!"
#~ msgstr ""
#~ "Försiktig: Vänligen välj inte stora listor eller många listor på samma "
#~ "gång för enheter med lite minne för att undvika OOM-undantag!"
#~ msgid ""
#~ "For further information <a href=\"%s\" target=\"_blank\">see online "
#~ "documentation</a>"
#~ msgstr ""
#~ "För mer information <a href=\"%s\" target=\"_blank\">se dokumentationen "
#~ "på internet</a>"
#~ msgid "Manual / Backup mode"
#~ msgstr "Manuell / Säkerhetskopieringsläge"
#~ msgid "Please update your adblock config file to use this package."
#~ msgstr ""
#~ "Vänligen uppdatera din adblock's konfigurationsfil till att använda det "
#~ "här paketet."
#~ msgid "Blocked domains (overall)"
#~ msgstr "Blockerade domäner (övergripande)"
#~ msgid "DNS backend"
#~ msgstr "Bakände för DNS"
#~ msgid "Enable verbose debug logging"
#~ msgstr "Aktivera utförlig loggning för avlusning"
#~ msgid "Last rundate"
#~ msgstr "Senaste kördatum"
#~ msgid "Redirect all DNS queries to the local resolver."
#~ msgstr "Dirigera om alla DNS-förfrågningar till den lokala "
#~ msgid "Resume adblock"
#~ msgstr "Återuppta adblock"
#~ msgid "Status"
#~ msgstr "Status"
#~ msgid "Suspend adblock"
#~ msgstr "Upphäv adblock"
#~ msgid "active"
#~ msgstr "aktiv"
#~ msgid "no domains blocked"
#~ msgstr "inga domäner blockerades"
#~ msgid "suspended"
#~ msgstr "upphävd"
#~ msgid "."
#~ msgstr "."
#~ msgid "For further information"
#~ msgstr "För mer information"
#~ msgid "Backup options"
#~ msgstr "Alternativ för säkerhetskopiering"
#~ msgid "Available blocklist sources ("
#~ msgstr "Tillgängliga källor för blockeringslistor ("
#~ msgid "Global options"
#~ msgstr "Globala alternativ"
#~ msgid "Whitelist file"
#~ msgstr "Vitlista fil"
#~ msgid "see list details"
#~ msgstr "se listans detaljer"
#~ msgid "Count"
#~ msgstr "Räkna"

View file

@ -1,70 +1,335 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
msgid ""
"). Note that list URLs and Shallalist category selections are not "
"configurable via Luci."
msgid "-------"
msgstr ""
msgid "Adblock"
msgstr ""
msgid "Available blocklist sources ("
msgid "Adblock Logfile"
msgstr ""
msgid "Backup directory"
msgid "Adblock Status"
msgstr ""
msgid "Backup options"
msgid "Adblock Version"
msgstr ""
msgid "Blocklist sources"
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr ""
msgid "Advanced"
msgstr ""
msgid "Available blocklist sources."
msgstr ""
msgid "Backup Directory"
msgstr ""
msgid "Backup Mode"
msgstr ""
msgid ""
"Block access to all domains except those explicitly listed in the whitelist "
"file."
msgstr ""
msgid "Blocklist Sources"
msgstr ""
msgid ""
"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
"MB free RAM, please do not select more than five blocklist sources!"
msgstr ""
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
msgstr ""
msgid "Collecting data..."
msgstr ""
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr ""
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr ""
msgid "DNS Backend (DNS Directory)"
msgstr ""
msgid "DNS Directory"
msgstr ""
msgid "Description"
msgstr ""
msgid "Enable adblock"
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
msgstr ""
msgid "Enable blocklist backup"
msgid "Download Utility"
msgstr ""
msgid "Enable verbose debug logging"
msgid "Download Utility (SSL Library)"
msgstr ""
msgid ""
"During opkg package installation use the '--force-maintainer' option to "
"overwrite the pre-existing config file or download a fresh default config "
"from <a href=\"%s\" target=\"_blank\">here</a>"
msgstr ""
msgid "Edit Blacklist"
msgstr ""
msgid "Edit Configuration"
msgstr ""
msgid "Edit Whitelist"
msgstr ""
msgid "Email Notification"
msgstr ""
msgid "Email Notification Count"
msgstr ""
msgid "Enable Adblock"
msgstr ""
msgid "Enable Blocklist Backup"
msgstr ""
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
msgstr ""
msgid "Enable verbose debug logging in case of any processing error."
msgstr ""
msgid "Enabled"
msgstr ""
msgid "Extra options"
msgid "Extra Options"
msgstr ""
msgid "Flush DNS Cache"
msgstr ""
msgid "Flush DNS Cache after adblock processing."
msgstr ""
msgid ""
"File with whitelisted hosts/domains that are allowed despite being on a "
"blocklist."
"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"'libustream-ssl' or 'built-in'."
msgstr ""
msgid "Global options"
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr ""
msgid "Force Local DNS"
msgstr ""
msgid "Force Overall Sort"
msgstr ""
msgid "Full path to the whitelist file."
msgstr ""
msgid "Input file not found, please check your configuration."
msgstr ""
msgid "Invalid domain specified!"
msgstr ""
msgid "Last Run"
msgstr ""
msgid ""
"List URLs and Shallalist category selections are configurable in the "
"'Advanced' section.<br />"
msgstr ""
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface.<br />"
msgstr ""
msgid ""
"List of supported DNS backends with their default list export directory.<br /"
">"
msgstr ""
msgid "List of supported and fully pre-configured download utilities."
msgstr ""
msgid "Loading"
msgstr ""
msgid "No"
msgstr ""
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr ""
msgid "Restrict reload trigger to certain interface(s)"
msgid "Overall Domains"
msgstr ""
msgid "Overview"
msgstr ""
msgid ""
"Space separated list of wan interfaces that trigger reload action. To "
"disable reload trigger set it to 'false'. Default: empty"
"Please add only one domain per line. Comments introduced with '#' are "
"allowed - ip addresses, wildcards and regex are not."
msgstr ""
msgid "Whitelist file"
msgid "Please edit this file directly in a terminal session."
msgstr ""
msgid "see list details"
msgid ""
"Please note: this needs additional 'mstmp' installation and setup (see "
"readme)."
msgstr ""
msgid "Please update your adblock config file to use this package.<br />"
msgstr ""
msgid "Query"
msgstr ""
msgid "Query domains"
msgstr ""
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),<br />"
msgstr ""
msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
msgstr ""
msgid "Resume"
msgstr ""
msgid "Runtime Information"
msgstr ""
msgid "SSL req."
msgstr ""
msgid "Save"
msgstr ""
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0.<br />"
msgstr ""
msgid "Startup Trigger"
msgstr ""
msgid "Suspend"
msgstr ""
msgid "Suspend / Resume Adblock"
msgstr ""
msgid ""
"Target directory for adblock backups. Please use only non-volatile disks, e."
"g. an external usb stick."
msgstr ""
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr ""
msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
msgstr ""
msgid ""
"This form allows you to modify the content of the adblock blacklist (%s)."
"<br />"
msgstr ""
msgid ""
"This form allows you to modify the content of the adblock whitelist (%s)."
"<br />"
msgstr ""
msgid ""
"This form allows you to modify the content of the main adblock configuration "
"file (/etc/config/adblock)."
msgstr ""
msgid ""
"This form allows you to query active block lists for certain domains, e.g. "
"for whitelisting."
msgstr ""
msgid ""
"This form shows the syslog output, pre-filtered for adblock related messages "
"only."
msgstr ""
msgid "This section contains no values yet"
msgstr ""
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
msgstr ""
msgid "Trigger Delay"
msgstr ""
msgid "Verbose Debug Logging"
msgstr ""
msgid "View Logfile"
msgstr ""
msgid "Waiting for command to complete..."
msgstr ""
msgid "Whitelist File"
msgstr ""
msgid "Whitelist Mode"
msgstr ""
msgid "Yes"
msgstr ""
msgid "disabled"
msgstr ""
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
msgstr ""
msgid "enabled"
msgstr ""
msgid "error"
msgstr ""
msgid "n/a"
msgstr ""
msgid "paused"
msgstr ""
msgid "running"
msgstr ""

View file

@ -1,84 +1,471 @@
# liushuyu <liushuyu_011@163.com>, 2017.
# Yangfl <mmyangfl@gmail.com>, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: kuoruan@gmail.com\n"
"Language-Team: none\n"
"PO-Revision-Date: 2017-10-28 16:06+0800\n"
"Last-Translator: Yangfl <mmyangfl@gmail.com>\n"
"Language-Team: <debian-l10n-chinese@lists.debian.org>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.5\n"
"X-Generator: Gtranslator 2.91.7\n"
"Plural-Forms: nplurals=1; plural=0;\n"
msgid ""
"). Note that list URLs and Shallalist category selections are not "
"configurable via Luci."
msgstr "。需要注意的是列表URL和列表类别选项无法通过Luci设置。"
msgid "-------"
msgstr "-------"
msgid "Adblock"
msgstr "Adblock"
msgid "Available blocklist sources ("
msgstr "可用拦截列表来源("
msgid "Adblock Logfile"
msgstr "Adblock 日志文件"
msgid "Backup directory"
msgid "Adblock Status"
msgstr "Adblock 状态"
msgid "Adblock Version"
msgstr "Adblock 版本"
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr "触发 Adblock 开始处理前的额外延迟(以秒为单位)。"
msgid "Advanced"
msgstr "高级"
msgid "Available blocklist sources."
msgstr "可用的 blocklist 来源。"
msgid "Backup Directory"
msgstr "备份目录"
msgid "Backup options"
msgstr "备份选项"
msgid "Backup Mode"
msgstr ""
msgid "Blocklist sources"
msgid ""
"Block access to all domains except those explicitly listed in the whitelist "
"file."
msgstr ""
msgid "Blocklist Sources"
msgstr "拦截列表来源"
msgid ""
"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
"MB free RAM, please do not select more than five blocklist sources!"
msgstr ""
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
msgstr ""
"选择“none”以禁用自动启动“timed”以使用默认的超时设定默认 30 秒),或选择另"
"一个触发接口。"
msgid "Collecting data..."
msgstr "正在收集数据..."
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr "Adblock 配置工具,通过 DNS 来拦截广告和阻止域名。"
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr ""
msgid "DNS Backend (DNS Directory)"
msgstr "DNS 后端DNS 目录)"
msgid "DNS Directory"
msgstr "DNS 目录"
msgid "Description"
msgstr "描述"
msgid "Enable adblock"
msgstr "启用Adblock"
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
msgstr "启动期间不要自动更新 blocklists改用 blocklists 的备份。"
msgid "Enable blocklist backup"
msgstr "启用拦截规则备份"
msgid "Enable verbose debug logging"
msgid "Download Utility"
msgstr ""
msgid "Enabled"
msgstr "启用"
msgid "Extra options"
msgstr "额外选项"
msgid "Download Utility (SSL Library)"
msgstr "下载实用程序SSL 库)"
msgid ""
"File with whitelisted hosts/domains that are allowed despite being on a "
"blocklist."
msgstr "允许的主机/域名列表"
"During opkg package installation use the '--force-maintainer' option to "
"overwrite the pre-existing config file or download a fresh default config "
"from <a href=\"%s\" target=\"_blank\">here</a>"
msgstr ""
msgid "Global options"
msgstr "全局选项"
msgid "Edit Blacklist"
msgstr "编辑黑名单"
msgid "Edit Configuration"
msgstr "编辑设置"
msgid "Edit Whitelist"
msgstr "编辑白名单"
msgid "Email Notification"
msgstr ""
msgid "Email Notification Count"
msgstr ""
msgid "Enable Adblock"
msgstr "启用 Adblock"
msgid "Enable Blocklist Backup"
msgstr "启用 Blocklist 备份"
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
msgstr ""
msgid "Enable verbose debug logging in case of any processing error."
msgstr "在出现任何处理错误的情况下启用详细调试日志记录。"
msgid "Enabled"
msgstr "已启用"
msgid "Extra Options"
msgstr "额外选项"
msgid "Flush DNS Cache"
msgstr ""
msgid "Flush DNS Cache after adblock processing."
msgstr ""
msgid ""
"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"'libustream-ssl' or 'built-in'."
msgstr ""
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr ""
msgid "Force Local DNS"
msgstr "强制本地 DNS"
msgid "Force Overall Sort"
msgstr "强制整体排序"
msgid "Full path to the whitelist file."
msgstr ""
msgid "Input file not found, please check your configuration."
msgstr "输入文件未找到,请检查您的配置。"
msgid "Invalid domain specified!"
msgstr "无效域名!"
msgid "Last Run"
msgstr "最后运行"
msgid ""
"List URLs and Shallalist category selections are configurable in the "
"'Advanced' section.<br />"
msgstr "列表 URL 和 Shallalist 类别选择可在“高级”选项卡中配置。<br />"
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface.<br />"
msgstr ""
msgid ""
"List of supported DNS backends with their default list export directory.<br /"
">"
msgstr "支持的 DNS 后端列表及其默认列表导出目录。<br />"
msgid "List of supported and fully pre-configured download utilities."
msgstr ""
msgid "Loading"
msgstr "加载中"
msgid "No"
msgstr "否"
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr "在默认设置并不适合你时的额外选项。"
msgstr "在默认设置并不适合时的额外选项。"
msgid "Restrict reload trigger to certain interface(s)"
msgid "Overall Domains"
msgstr ""
msgid "Overview"
msgstr "总览"
msgid ""
"Please add only one domain per line. Comments introduced with '#' are "
"allowed - ip addresses, wildcards and regex are not."
msgstr ""
"请每行只添加一个域。允许使用''开头的注释 - ip 地址、通配符和正则表达式都不"
"允许。"
msgid "Please edit this file directly in a terminal session."
msgstr "请在终端会话中直接编辑此文件。"
msgid ""
"Please note: this needs additional 'mstmp' installation and setup (see "
"readme)."
msgstr ""
msgid "Please update your adblock config file to use this package.<br />"
msgstr ""
msgid "Query"
msgstr "查询"
msgid "Query domains"
msgstr "查询域"
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),<br />"
msgstr ""
msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
msgstr "将所有 DNS 查询从“lan”区域重定向到本地解析器。"
msgid "Resume"
msgstr "恢复"
msgid "Runtime Information"
msgstr "运行信息"
msgid "SSL req."
msgstr "SSL 要求"
msgid "Save"
msgstr "保存"
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0.<br />"
msgstr ""
msgid "Startup Trigger"
msgstr "启动触发器"
msgid "Suspend"
msgstr "暂停"
msgid "Suspend / Resume Adblock"
msgstr "暂停/恢复 Adblock"
msgid ""
"Target directory for adblock backups. Please use only non-volatile disks, e."
"g. an external usb stick."
msgstr ""
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr "生成的 blocklist 'adb_list.overall'的目标目录。"
msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
msgstr "文件大小太大,无法在 LuCI&gt; 512 KB中进行在线编辑。"
msgid ""
"This form allows you to modify the content of the adblock blacklist (%s)."
"<br />"
msgstr "此表单允许您修改 adblock 黑名单(%s的内容。<br />"
msgid ""
"This form allows you to modify the content of the adblock whitelist (%s)."
"<br />"
msgstr "此表单允许您修改 adblock 白名单(%s的内容。<br />"
msgid ""
"This form allows you to modify the content of the main adblock configuration "
"file (/etc/config/adblock)."
msgstr "此表单允许您修改主要 adblock 配置文件(/etc/config/adblock的内容。"
msgid ""
"This form allows you to query active block lists for certain domains, e.g. "
"for whitelisting."
msgstr "此表单允许您查询某些域的活动块列表,例如用于列出白名单。"
msgid ""
"This form shows the syslog output, pre-filtered for adblock related messages "
"only."
msgstr "此表单显示系统日志输出,仅针对 adblock 相关的消息进行了预筛选。"
msgid "This section contains no values yet"
msgstr ""
msgid ""
"Space separated list of wan interfaces that trigger reload action. To "
"disable reload trigger set it to 'false'. Default: empty"
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
msgstr "要覆盖默认路径请使用下面额外部分中的“DNS 目录”选项。"
msgid "Trigger Delay"
msgstr "触发延迟"
msgid "Verbose Debug Logging"
msgstr "详细的调试记录"
msgid "View Logfile"
msgstr "查看日志文件"
msgid "Waiting for command to complete..."
msgstr "正在执行命令..."
msgid "Whitelist File"
msgstr ""
msgid "Whitelist file"
msgstr "白名单文件"
msgid "Whitelist Mode"
msgstr ""
msgid "see list details"
msgstr "查看列表详情"
msgid "Yes"
msgstr "是"
msgid "disabled"
msgstr "已禁用"
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
msgstr ""
msgid "enabled"
msgstr "已启用"
msgid "error"
msgstr "错误"
msgid "n/a"
msgstr "不可用"
msgid "paused"
msgstr "已暂停"
msgid "running"
msgstr ""
#~ msgid ""
#~ "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
#~ "'libustream-ssl' or the wget 'built-in'."
#~ msgstr ""
#~ "对于 SSL 保护的 blocklist 源,您需要一个合适的 SSL 库,例如'libustream-"
#~ "ssl'或 wget'built-in'。"
#~ msgid ""
#~ "Caution: Please don't select big lists or many lists at once on low "
#~ "memory devices to prevent OOM exceptions!"
#~ msgstr ""
#~ "注意:请勿在内存较小的设备上选择过长的列表或同时选择多个列表,以防止 OOM "
#~ "异常!"
#~ msgid ""
#~ "Create compressed blocklist backups, they will be used in case of "
#~ "download errors or during startup in manual mode."
#~ msgstr "创建压缩的 blocklist 备份,它们将在下载错误或手动模式下启动时使用。"
#~ msgid ""
#~ "Enable memory intense overall sort / duplicate removal on low memory "
#~ "devices (&lt; 64 MB RAM)"
#~ msgstr "在低内存设备上启用耗用内存的整体排序/重复规则删除(&lt;64 MB RAM"
#~ msgid ""
#~ "For further information <a href=\"%s\" target=\"_blank\">see online "
#~ "documentation</a>"
#~ msgstr "有关更多信息,请<a href=\"%s\" target=\"_blank\">参阅在线文档</a>"
#~ msgid ""
#~ "In OPKG use the '--force-maintainer' option to overwrite the pre-existing "
#~ "config file or download a fresh default config from <a href=\"%s\" target="
#~ "\"_blank\">here</a>"
#~ msgstr ""
#~ "在 OPKG 中,使用“--force-maintainer”选项覆盖预先存在的配置文件或从<a "
#~ "href=\"%s\" target=\"_blank\">此处</a>下载新的默认配置"
#~ msgid ""
#~ "List of available network interfaces. By default the startup will be "
#~ "triggered by the 'wan' interface.<br />"
#~ msgstr "可用网络接口列表。默认情况下将由“wan”界面触发启动。<br />"
#~ msgid "Manual / Backup mode"
#~ msgstr "手动/备份模式"
#~ msgid "Overall Blocked Domains"
#~ msgstr "整体封锁域名"
#~ msgid "Please update your adblock config file to use this package."
#~ msgstr "请更新您的 adblock 配置文件以使用此软件包。"
#~ msgid ""
#~ "Target directory for adblock backups. Please use only non-volatile disks, "
#~ "no ram/tmpfs drives."
#~ msgstr ""
#~ "adblock 备份的目标目录。请仅使用非易失性磁盘,不使用 ram/tmpfs 驱动器。"
#~ msgid "DNS backend"
#~ msgstr "DNS 后端"
#~ msgid "Enable verbose debug logging"
#~ msgstr "启用详细调试输出"
#~ msgid "Resume adblock"
#~ msgstr "恢复 Adblock"
#~ msgid "Status"
#~ msgstr "状态"
#~ msgid "Suspend adblock"
#~ msgstr "暂停 Adblock"
#~ msgid "active"
#~ msgstr "已启用"
#~ msgid "no domains blocked"
#~ msgstr "没有被拦截的域名"
#~ msgid "suspended"
#~ msgstr "已暂停"
#~ msgid "."
#~ msgstr "."
#~ msgid "For further information"
#~ msgstr "更多信息"
#~ msgid "see online documentation"
#~ msgstr "查看在线文档"
#~ msgid "Backup options"
#~ msgstr "备份选项"
#~ msgid ""
#~ "). Note that list URLs and Shallalist category selections are not "
#~ "configurable via Luci."
#~ msgstr "。需要注意的是列表URL和列表类别选项无法通过Luci设置。"
#~ msgid "Available blocklist sources ("
#~ msgstr "可用拦截列表来源("
#~ msgid ""
#~ "File with whitelisted hosts/domains that are allowed despite being on a "
#~ "blocklist."
#~ msgstr "允许的主机/域名列表"
#~ msgid "Global options"
#~ msgstr "全局选项"
#~ msgid "Whitelist file"
#~ msgstr "白名单文件"
#~ msgid "see list details"
#~ msgstr "查看列表详情"
#~ msgid "Count"
#~ msgstr "数量"

View file

@ -0,0 +1,504 @@
# liushuyu <liushuyu_011@163.com>, 2017.
# Yangfl <mmyangfl@gmail.com>, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2017-10-28 16:06+0800\n"
"Last-Translator: Yangfl <mmyangfl@gmail.com>\n"
"Language-Team: <debian-l10n-chinese@lists.debian.org>\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Gtranslator 2.91.7\n"
"Plural-Forms: nplurals=1; plural=0;\n"
msgid "-------"
msgstr "-------"
msgid "Adblock"
msgstr "Adblock"
msgid "Adblock Logfile"
msgstr "Adblock 日誌檔案"
msgid "Adblock Status"
msgstr "Adblock 狀態"
msgid "Adblock Version"
msgstr "Adblock 版本"
msgid "Additional trigger delay in seconds before adblock processing begins."
msgstr "觸發 Adblock 開始處理前的額外延遲(以秒為單位)。"
msgid "Advanced"
msgstr "高階"
msgid "Available blocklist sources."
msgstr "可用的 blocklist 來源。"
msgid "Backup Directory"
msgstr "備份目錄"
msgid "Backup Mode"
msgstr ""
msgid ""
"Block access to all domains except those explicitly listed in the whitelist "
"file."
msgstr ""
msgid "Blocklist Sources"
msgstr "攔截列表來源"
msgid ""
"Caution: To prevent OOM exceptions on low memory devices with less than 64 "
"MB free RAM, please do not select more than five blocklist sources!"
msgstr ""
msgid ""
"Choose 'none' to disable automatic startups, 'timed' to use a classic "
"timeout (default 30 sec.) or select another trigger interface."
msgstr ""
"選擇“none”以禁用自動啟動“timed”以使用預設的超時設定預設 30 秒),或選擇另"
"一個觸發介面。"
msgid "Collecting data..."
msgstr "正在收集資料..."
msgid ""
"Configuration of the adblock package to block ad/abuse domains by using DNS."
msgstr "Adblock 配置工具,通過 DNS 來攔截廣告和阻止域名。"
msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr ""
msgid "DNS Backend (DNS Directory)"
msgstr "DNS 後端DNS 目錄)"
msgid "DNS Directory"
msgstr "DNS 目錄"
msgid "Description"
msgstr "描述"
msgid ""
"Do not automatically update blocklists during startup, use blocklist backups "
"instead."
msgstr "啟動期間不要自動更新 blocklists改用 blocklists 的備份。"
msgid "Download Utility"
msgstr ""
msgid "Download Utility (SSL Library)"
msgstr "下載實用程式SSL 庫)"
msgid ""
"During opkg package installation use the '--force-maintainer' option to "
"overwrite the pre-existing config file or download a fresh default config "
"from <a href=\"%s\" target=\"_blank\">here</a>"
msgstr ""
msgid "Edit Blacklist"
msgstr "編輯黑名單"
msgid "Edit Configuration"
msgstr "編輯設定"
msgid "Edit Whitelist"
msgstr "編輯白名單"
msgid "Email Notification"
msgstr ""
msgid "Email Notification Count"
msgstr ""
msgid "Enable Adblock"
msgstr "啟用 Adblock"
msgid "Enable Blocklist Backup"
msgstr "啟用 Blocklist 備份"
msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
msgstr ""
msgid "Enable verbose debug logging in case of any processing error."
msgstr "在出現任何處理錯誤的情況下啟用詳細除錯日誌記錄。"
msgid "Enabled"
msgstr "已啟用"
msgid "Extra Options"
msgstr "額外選項"
msgid "Flush DNS Cache"
msgstr ""
msgid "Flush DNS Cache after adblock processing."
msgstr ""
msgid ""
"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"'libustream-ssl' or 'built-in'."
msgstr ""
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr ""
msgid "Force Local DNS"
msgstr "強制本地 DNS"
msgid "Force Overall Sort"
msgstr "強制整體排序"
msgid "Full path to the whitelist file."
msgstr ""
msgid "Input file not found, please check your configuration."
msgstr "輸入檔案未找到,請檢查您的配置。"
msgid "Invalid domain specified!"
msgstr "無效域名!"
msgid "Last Run"
msgstr "最後執行"
msgid ""
"List URLs and Shallalist category selections are configurable in the "
"'Advanced' section.<br />"
msgstr "列表 URL 和 Shallalist 類別選擇可在“高階”選項卡中配置。<br />"
msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface.<br />"
msgstr ""
msgid ""
"List of supported DNS backends with their default list export directory.<br /"
">"
msgstr "支援的 DNS 後端列表及其預設列表匯出目錄。<br />"
msgid "List of supported and fully pre-configured download utilities."
msgstr ""
msgid "Loading"
msgstr "載入中"
msgid "No"
msgstr "否"
msgid ""
"Options for further tweaking in case the defaults are not suitable for you."
msgstr "在預設設定並不適合您時的額外選項。"
msgid "Overall Domains"
msgstr ""
msgid "Overview"
msgstr "總覽"
msgid ""
"Please add only one domain per line. Comments introduced with '#' are "
"allowed - ip addresses, wildcards and regex are not."
msgstr ""
"請每行只新增一個域。允許使用''開頭的註釋 - ip 位址、萬用字元和正則表示式都"
"不允許。"
msgid "Please edit this file directly in a terminal session."
msgstr "請在終端會話中直接編輯此檔案。"
msgid ""
"Please note: this needs additional 'mstmp' installation and setup (see "
"readme)."
msgstr ""
msgid "Please update your adblock config file to use this package.<br />"
msgstr ""
msgid "Query"
msgstr "查詢"
msgid "Query domains"
msgstr "查詢域"
msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),<br />"
msgstr ""
msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
msgstr "將所有 DNS 查詢從“lan”區域重定向到本地解析器。"
msgid "Resume"
msgstr "恢復"
msgid "Runtime Information"
msgstr "執行資訊"
msgid "SSL req."
msgstr "SSL 要求"
msgid "Save"
msgstr "儲存"
msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0.<br />"
msgstr ""
msgid "Startup Trigger"
msgstr "啟動觸發器"
msgid "Suspend"
msgstr "暫停"
msgid "Suspend / Resume Adblock"
msgstr "暫停/恢復 Adblock"
msgid ""
"Target directory for adblock backups. Please use only non-volatile disks, e."
"g. an external usb stick."
msgstr ""
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr "生成的 blocklist 'adb_list.overall'的目標目錄。"
msgid "The file size is too large for online editing in LuCI (&gt; 512 KB)."
msgstr "檔案大小太大,無法在 LuCI&gt; 512 KB中進行線上編輯。"
msgid ""
"This form allows you to modify the content of the adblock blacklist (%s)."
"<br />"
msgstr "此表單允許您修改 adblock 黑名單(%s的內容。<br />"
msgid ""
"This form allows you to modify the content of the adblock whitelist (%s)."
"<br />"
msgstr "此表單允許您修改 adblock 白名單(%s的內容。<br />"
msgid ""
"This form allows you to modify the content of the main adblock configuration "
"file (/etc/config/adblock)."
msgstr "此表單允許您修改主要 adblock 配置檔案(/etc/config/adblock的內容。"
msgid ""
"This form allows you to query active block lists for certain domains, e.g. "
"for whitelisting."
msgstr "此表單允許您查詢某些域的活動塊列表,例如用於列出白名單。"
msgid ""
"This form shows the syslog output, pre-filtered for adblock related messages "
"only."
msgstr "此表單顯示系統日誌輸出,僅針對 adblock 相關的訊息進行了預篩選。"
msgid "This section contains no values yet"
msgstr ""
msgid ""
"To overwrite the default path use the 'DNS Directory' option in the extra "
"section below."
msgstr "要覆蓋預設路徑請使用下面額外部分中的“DNS 目錄”選項。"
msgid "Trigger Delay"
msgstr "觸發延遲"
msgid "Verbose Debug Logging"
msgstr "詳細的除錯記錄"
msgid "View Logfile"
msgstr "檢視日誌檔案"
msgid "Waiting for command to complete..."
msgstr "正在執行命令..."
msgid "Whitelist File"
msgstr ""
msgid "Whitelist Mode"
msgstr ""
msgid "Yes"
msgstr "是"
msgid "disabled"
msgstr "已禁用"
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
msgstr ""
msgid "enabled"
msgstr "已啟用"
msgid "error"
msgstr "錯誤"
msgid "n/a"
msgstr "不可用"
msgid "paused"
msgstr "已暫停"
msgid "running"
msgstr ""
#~ msgid ""
#~ "For SSL protected blocklist sources you need a suitable SSL library, e.g. "
#~ "'libustream-ssl' or the wget 'built-in'."
#~ msgstr ""
#~ "對於 SSL 保護的 blocklist 源,您需要一個合適的 SSL 庫,例如'libustream-"
#~ "ssl'或 wget'built-in'。"
#~ msgid ""
#~ "Caution: Please don't select big lists or many lists at once on low "
#~ "memory devices to prevent OOM exceptions!"
#~ msgstr ""
#~ "注意:請勿在記憶體較小的裝置上選擇過長的列表或同時選擇多個列表,以防止 "
#~ "OOM 異常!"
#~ msgid ""
#~ "Create compressed blocklist backups, they will be used in case of "
#~ "download errors or during startup in manual mode."
#~ msgstr "建立壓縮的 blocklist 備份,它們將在下載錯誤或手動模式下啟動時使用。"
#~ msgid ""
#~ "Enable memory intense overall sort / duplicate removal on low memory "
#~ "devices (&lt; 64 MB RAM)"
#~ msgstr ""
#~ "在低記憶體裝置上啟用耗用記憶體的整體排序/重複規則刪除(&lt;64 MB RAM"
#~ msgid ""
#~ "For further information <a href=\"%s\" target=\"_blank\">see online "
#~ "documentation</a>"
#~ msgstr "有關更多資訊,請<a href=\"%s\" target=\"_blank\">參閱線上文件</a>"
#~ msgid ""
#~ "In OPKG use the '--force-maintainer' option to overwrite the pre-existing "
#~ "config file or download a fresh default config from <a href=\"%s\" target="
#~ "\"_blank\">here</a>"
#~ msgstr ""
#~ "在 OPKG 中,使用“--force-maintainer”選項覆蓋預先存在的配置檔案或從<a "
#~ "href=\"%s\" target=\"_blank\">此處</a>下載新的預設配置"
#~ msgid ""
#~ "List of available network interfaces. By default the startup will be "
#~ "triggered by the 'wan' interface.<br />"
#~ msgstr "可用網路介面列表。預設情況下將由“wan”介面觸發啟動。<br />"
#~ msgid "Manual / Backup mode"
#~ msgstr "手動/備份模式"
#~ msgid "Overall Blocked Domains"
#~ msgstr "整體封鎖域名"
#~ msgid "Please update your adblock config file to use this package."
#~ msgstr "請更新您的 adblock 配置檔案以使用此軟體包。"
#~ msgid ""
#~ "Target directory for adblock backups. Please use only non-volatile disks, "
#~ "no ram/tmpfs drives."
#~ msgstr ""
#~ "adblock 備份的目標目錄。請僅使用非易失性磁碟,不使用 ram/tmpfs 驅動器。"
#~ msgid "DNS backend"
#~ msgstr "DNS 後端"
#~ msgid "Enable verbose debug logging"
#~ msgstr "啟用詳細除錯輸出"
#~ msgid "Resume adblock"
#~ msgstr "恢復 Adblock"
#~ msgid "Status"
#~ msgstr "狀態"
#~ msgid "Suspend adblock"
#~ msgstr "暫停 Adblock"
#~ msgid "active"
#~ msgstr "已啟用"
#~ msgid "no domains blocked"
#~ msgstr "沒有被攔截的域名"
#~ msgid "suspended"
#~ msgstr "已暫停"
#~ msgid "."
#~ msgstr "."
#~ msgid "For further information"
#~ msgstr "更多資訊"
#~ msgid "see online documentation"
#~ msgstr "檢視線上文件"
#~ msgid "Backup options"
#~ msgstr "備份選項"
#~ msgid ""
#~ "). Note that list URLs and Shallalist category selections are not "
#~ "configurable via Luci."
#~ msgstr "。需要注意的是列表URL和列表類別選項無法通過Luci設定。"
#~ msgid "Available blocklist sources ("
#~ msgstr "可用攔截列表來源("
#~ msgid ""
#~ "File with whitelisted hosts/domains that are allowed despite being on a "
#~ "blocklist."
#~ msgstr "允許的主機/域名列表"
#~ msgid "Global options"
#~ msgstr "全域性選項"
#~ msgid "Whitelist file"
#~ msgstr "白名單檔案"
#~ msgid "see list details"
#~ msgstr "檢視列表詳情"
#~ msgid "Count"
#~ msgstr "數量"
#~ msgid "IPv4 blackhole ip address"
#~ msgstr "IPv4禁止列表"
#~ msgid "IPv6 blackhole ip address"
#~ msgstr "IPv6禁止列表"
#~ msgid "List date/state"
#~ msgstr "列表日期/狀態"
#~ msgid "Name of the logical lan interface"
#~ msgstr "LAN介面名稱"
#~ msgid "Port of the adblock uhttpd instance"
#~ msgstr "Adblock uhttpd埠"
#~ msgid "Redirect all DNS queries to the local resolver"
#~ msgstr "將所有DNS查詢都重定向到本地解析器"
#~ msgid "Timeout for blocklist fetch (seconds)"
#~ msgstr "列表查詢超時時間(秒)"
#~ msgid "Total count of blocked domains"
#~ msgstr "阻止域名總數"
#~ msgid ""
#~ "When adblock is active, all DNS queries are redirected to the local "
#~ "resolver in this server by default. You can disable that to allow queries "
#~ "to external DNS servers."
#~ msgstr ""
#~ "當Adblock處於活動狀態時預設情況下會將所有的DNS查詢重定向到此伺服器的本地"
#~ "解析器。您可以禁用以允許查詢外部DNS伺服器。"

View file

@ -0,0 +1,20 @@
# Copyright (c) 2017 Stan Grishin (stangri@melmac.net)
# This is free software, licensed under the GNU General Public License v3.
include $(TOPDIR)/rules.mk
PKG_LICENSE:=GPL-3.0+
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.net>
LUCI_TITLE:=Advanced Linksys Reboot Web UI
LUCI_DESCRIPTION:=Provides Web UI (found under System/Advanced Reboot) to reboot supported Linksys routers to\
an altnerative partition. Also provides Web UI to shut down (power off) your device. Supported dual-partition\
routers are listed at https://github.com/stangri/openwrt-luci/blob/luci-app-advanced-reboot/applications/luci-app-advanced-reboot/README.md
LUCI_DEPENDS:=+luci
LUCI_PKGARCH:=all
PKG_RELEASE:=23
include ../../luci.mk
# call BuildPackage - OpenWrt buildroot signature

View file

@ -0,0 +1,35 @@
# Advanced Reboot Web UI (luci-app-advanced-reboot)
## Description
This package allows you to reboot to an alternative partition on supported (dual-partition) routers and to power off (power down) your OpenWrt/LEDE Project device.
## Supported Devices
Currently supported dual-partition devices include:
- Linksys WRT1200AC
- Linksys WRT1900AC
- Linksys WRT1900ACv2
- Linksys WRT1900ACS
- Linksys WRT3200ACM
- Linksys E4200v2
- Linksys EA4500
- Linksys EA8500
If you're interested in having your device supported, please post in [LEDE Project Forum Support Thread](https://forum.lede-project.org/t/web-ui-to-reboot-to-another-partition-dual-partition-routers/3423).
## Screenshot (luci-app-advanced-reboot)
![screenshot](https://raw.githubusercontent.com/stangri/screenshots/master/luci-app-advanced-reboot/screenshot01.png "screenshot")
## How to install
Install ```luci-app-advanced-reboot``` from Web UI or connect to your router via ssh and run the following commands:
```sh
opkg update
opkg install luci-app-advanced-reboot
```
## Notes/Known Issues
- When you reboot to a different partition, your current settings (WiFi SSID/password, etc.) will not apply to a different partition. Different partitions might have completely different settings and even firmware.
- If you reboot to a partition which doesn't allow you to switch boot partitions (like stock Linksys firmware), you might not be able to boot back to OpenWrt/LEDE Project unless you reflash it, loosing all the settings.
- Some devices allow you to trigger reboot to alternative partition by interrupting boot 3 times in a row (by resetting/switching off the device or pulling power). As these methods might be different for different devices, do your own homework.
## Thanks
I'd like to thank everyone who helped create, test and troubleshoot this package. Without contributions from [@hnyman](https://github.com/hnyman) and [@jpstyves](https://github.com/jpstyves) it wouldn't have been possible.

View file

@ -0,0 +1,120 @@
-- Copyright 2017 Stan Grishin <stangri@melmac.net>
-- Licensed to the public under the Apache License 2.0.
module("luci.controller.advanced_reboot", package.seeall)
-- device, board_name, part1, part2, offset, env_var_1, value_1_1, value_1_2, env_var_2, value_2_1, value_2_2
devices = {
{"Linksys WRT1200AC", "armada-385-linksys-caiman", "mtd4", "mtd6", 32, "boot_part", 1, 2, "bootcmd", "run nandboot", "run altnandboot"},
{"Linksys WRT1900AC", "armada-xp-linksys-mamba", "mtd4", "mtd6", 32, "boot_part", 1, 2, "bootcmd", "run nandboot", "run altnandboot"},
{"Linksys WRT1900ACv2", "armada-385-linksys-cobra", "mtd4", "mtd6", 32, "boot_part", 1, 2, "bootcmd", "run nandboot", "run altnandboot"},
{"Linksys WRT1900ACS", "armada-385-linksys-shelby", "mtd4", "mtd6", 32, "boot_part", 1, 2, "bootcmd", "run nandboot", "run altnandboot"},
{"Linksys WRT3200ACM", "armada-385-linksys-rango", "mtd5", "mtd7", 32, "boot_part", 1, 2, "bootcmd", "run nandboot", "run altnandboot"},
{"Linksys E4200v2/EA4500", "linksys-viper", "mtd3", "mtd5", 32, "boot_part", 1, 2, "bootcmd", "run nandboot", "run altnandboot"},
{"Linksys EA8500", "ea8500", "mtd13", "mtd15", 32, "boot_part", 1, 2}
}
board_name = luci.util.trim(luci.sys.exec("cat /tmp/sysinfo/board_name"))
for i=1, #devices do
if board_name and devices[i][2] == board_name then
device_name = devices[i][1]
partition_one_mtd = devices[i][3] or nil
partition_two_mtd = devices[i][4] or nil
partition_skip = devices[i][5] or nil
boot_envvar1 = devices[i][6] or nil
boot_envvar1_partition_one = tonumber(devices[i][7]) or nil
boot_envvar1_partition_two = tonumber(devices[i][8]) or nil
boot_envvar2 = devices[i][9] or nil
boot_envvar2_partition_one = devices[i][10] or nil
boot_envvar2_partition_two = devices[i][11] or nil
if partition_one_mtd and partition_skip then
partition_one_label = luci.util.trim(luci.sys.exec("dd if=/dev/" .. partition_one_mtd .. " bs=1 skip=" .. partition_skip .. " count=25" .. " 2>/dev/null"))
n, partition_one_version = string.match(partition_one_label, '(Linux)-([%d|.]+)')
end
if partition_two_mtd and partition_skip then
partition_two_label = luci.util.trim(luci.sys.exec("dd if=/dev/" .. partition_two_mtd .. " bs=1 skip=" .. partition_skip .. " count=25" .. " 2>/dev/null"))
n, partition_two_version = string.match(partition_two_label, '(Linux)-([%d|.]+)')
end
if string.find(partition_one_label, "LEDE") then partition_one_os = "LEDE" end
if string.find(partition_one_label, "OpenWrt") then partition_one_os = "OpenWrt" end
if string.find(partition_one_label, "Linksys") then partition_one_os = "Linksys" end
if string.find(partition_two_label, "LEDE") then partition_two_os = "LEDE" end
if string.find(partition_two_label, "OpenWrt") then partition_two_os = "OpenWrt" end
if string.find(partition_two_label, "Linksys") then partition_two_os = "Linksys" end
if not partition_one_os then partition_one_os = "Unknown" end
if not partition_two_os then partition_two_os = "Unknown" end
if partition_one_os and partition_one_version then partition_one_os = partition_one_os .. " (Linux " .. partition_one_version .. ")" end
if partition_two_os and partition_two_version then partition_two_os = partition_two_os .. " (Linux " .. partition_two_version .. ")" end
if nixio.fs.access("/usr/sbin/fw_printenv") and nixio.fs.access("/usr/sbin/fw_setenv") then
current_partition = tonumber(luci.util.trim(luci.sys.exec("/usr/sbin/fw_printenv -n " .. boot_envvar1)))
other_partition = current_partition == boot_envvar1_partition_one and boot_envvar1_partition_two or boot_envvar1_partition_one
end
end
end
function index()
entry({"admin", "system", "advanced_reboot"}, template("advanced_reboot/advanced_reboot"), _("Advanced Reboot"), 90)
entry({"admin", "system", "advanced_reboot", "reboot"}, post("action_reboot"))
-- if device_name then entry({"admin", "system", "advanced_reboot", "altreboot"}, post("action_altreboot")) end
entry({"admin", "system", "advanced_reboot", "alternative_reboot"}, post("action_altreboot"))
entry({"admin", "system", "advanced_reboot", "power_off"}, post("action_poweroff"))
end
function action_reboot()
luci.template.render("admin_system/applyreboot", {
title = luci.i18n.translate("Rebooting..."),
msg = luci.i18n.translate("The system is rebooting now.<br /> DO NOT POWER OFF THE DEVICE!<br /> Wait a few minutes before you try to reconnect. It might be necessary to renew the address of your computer to reach the device again, depending on your settings."),
addr = luci.ip.new(uci.cursor():get("network", "lan", "ipaddr")) or "192.168.1.1"
})
luci.sys.reboot()
end
function action_altreboot()
if luci.http.formvalue("cancel") then
luci.http.redirect(luci.dispatcher.build_url('admin/system/advanced_reboot'))
return
end
local step = tonumber(luci.http.formvalue("step") or 1)
if step == 1 then
if device_name and nixio.fs.access("/usr/sbin/fw_printenv") and nixio.fs.access("/usr/sbin/fw_setenv") then
luci.template.render("advanced_reboot/alternative_reboot",{})
else
luci.template.render("advanced_reboot/advanced_reboot",{})
end
elseif step == 2 then
luci.template.render("admin_system/applyreboot", {
title = luci.i18n.translate("Rebooting..."),
msg = luci.i18n.translate("The system is rebooting to an alternative partition now.<br /> DO NOT POWER OFF THE DEVICE!<br /> Wait a few minutes before you try to reconnect. It might be necessary to renew the address of your computer to reach the device again, depending on your settings."),
addr = luci.ip.new(uci.cursor():get("network", "lan", "ipaddr")) or "192.168.1.1"
})
if boot_envvar1 then env1 = tonumber(luci.util.trim(luci.sys.exec("/usr/sbin/fw_printenv -n " .. boot_envvar1))) end
if boot_envvar2 then env2 = luci.util.trim(luci.sys.exec("/usr/sbin/fw_printenv -n " .. boot_envvar2)) end
if env1 and env1 == boot_envvar1_partition_one then luci.sys.call("/usr/sbin/fw_setenv " .. boot_envvar1 .. " " .. boot_envvar1_partition_two) end
if env1 and env1 == boot_envvar1_partition_two then luci.sys.call("/usr/sbin/fw_setenv " .. boot_envvar1 .. " " .. boot_envvar1_partition_one) end
if env2 and env2 == boot_envvar2_partition_one then luci.sys.call("/usr/sbin/fw_setenv " .. boot_envvar2 .. " '" .. boot_envvar2_partition_two .. "'") end
if env2 and env2 == boot_envvar2_partition_two then luci.sys.call("/usr/sbin/fw_setenv " .. boot_envvar2 .. " '" .. boot_envvar2_partition_one .. "'") end
luci.sys.reboot()
end
end
function action_poweroff()
if luci.http.formvalue("cancel") then
luci.http.redirect(luci.dispatcher.build_url('admin/system/advanced_reboot'))
return
end
local step = tonumber(luci.http.formvalue("step") or 1)
if step == 1 then
if nixio.fs.access("/sbin/poweroff") then
luci.template.render("advanced_reboot/power_off",{})
else
luci.template.render("advanced_reboot/advanced_reboot",{})
end
elseif step == 2 then
luci.template.render("admin_system/applyreboot", {
title = luci.i18n.translate("Shutting down..."),
msg = luci.i18n.translate("The system is shutting down now.<br /> DO NOT POWER OFF THE DEVICE!<br /> It might be necessary to renew the address of your computer to reach the device again, depending on your settings."),
addr = luci.ip.new(uci.cursor():get("network", "lan", "ipaddr")) or "192.168.1.1"
})
luci.sys.call("/sbin/poweroff")
end
end

View file

@ -0,0 +1,92 @@
<%#
Copyright 2008 Steven Barth <steven@midlink.org>
Copyright 2008-2015 Jo-Philipp Wich <jow@openwrt.org>
Copyright 2017 Stan Grishin <stangri@melmac.net>
Licensed to the public under the Apache License 2.0.
-%>
<%+header%>
<h2 name="content"><%:Advanced Reboot%></h2>
<br />
<%- local c = require("luci.model.uci").cursor():changes(); if c and next(c) then -%>
<p class="alert-message warning"><%:Warning: There are unsaved changes that will get lost on reboot!%></p>
<%- end -%>
<%- if device_name then -%>
<fieldset class="cbi-section">
<legend><%=device_name%><%: Partitions%></legend>
<table class="cbi-section-table" id="partitions">
<tr class="cbi-section-table-titles">
<th class="cbi-section-table-cell"><%:Partition%></th>
<th class="cbi-section-table-cell"><%:Status%></th>
<th class="cbi-section-table-cell"><%:Firmware/OS (Kernel)%></th>
<th class="cbi-section-table-cell"><%:Action%></th>
</tr>
<tr class="cbi-section-table-row">
<td>
<%=boot_envvar1_partition_one%>
</td>
<td>
<%- if boot_envvar1_partition_one == current_partition then -%><%:Current%><%- else -%><%:Alternative%><%- end -%>
</td>
<td>
<%=partition_one_os%>
</td>
<td>
<%- if boot_envvar1_partition_one == current_partition then -%>
<form method="post" action="<%=url('admin/system/advanced_reboot/reboot')%>">
<input type="hidden" name="token" value="<%=token%>" />
<input id="reboot-button" type="submit" class="cbi-button cbi-button-apply" value="<%:Reboot to current partition%>" />
</form>
<%- else -%>
<form method="post" action="<%=url('admin/system/advanced_reboot/alternative_reboot')%>">
<input type="hidden" name="token" value="<%=token%>" />
<input id="altreboot-button" type="submit" class="cbi-button cbi-button-apply" value="<%:Reboot to alternative partition...%>" />
</form>
<%- end -%>
</td>
</tr>
<tr class="cbi-section-table-row">
<td>
<%=boot_envvar1_partition_two%>
</td>
<td>
<%- if boot_envvar1_partition_two == current_partition then -%><%:Current%><%- else -%><%:Alternative%><%- end -%>
</td>
<td>
<%=partition_two_os%>
</td>
<td>
<%- if boot_envvar1_partition_two == current_partition then -%>
<form method="post" action="<%=url('admin/system/advanced_reboot/reboot')%>">
<input type="hidden" name="token" value="<%=token%>" />
<input id="reboot-button" type="submit" class="cbi-button cbi-button-apply" value="<%:Reboot to current partition%>" />
</form>
<%- else -%>
<form method="post" action="<%=url('admin/system/advanced_reboot/alternative_reboot')%>">
<input type="hidden" name="token" value="<%=token%>" />
<input id="altreboot-button" type="submit" class="cbi-button cbi-button-apply" value="<%:Reboot to alternative partition...%>" />
</form>
<%- end -%>
</td>
</tr>
</table>
</fieldset>
<%- else -%>
<p class="alert-message warning"><%:Warning: This system does not have two partitions!%></p>
<%- end -%>
<hr />
<%- if nixio.fs.access("/sbin/poweroff") then -%>
<form method="post" action="<%=url('admin/system/advanced_reboot/power_off')%>">
<input type="hidden" name="token" value="<%=token%>" />
<input id="poweroff-button" type="submit" class="cbi-button cbi-button-apply" value="<%:Perform power off...%>" />
</form>
<%- else -%>
<p class="alert-message warning"><%:Warning: This system does not support powering off!%></p>
<%- end -%>
<%+footer%>

View file

@ -0,0 +1,29 @@
<%#
Copyright 2008 Steven Barth <steven@midlink.org>
Copyright 2008-2009 Jo-Philipp Wich <jow@openwrt.org>
Copyright 2017 Stan Grishin <stangri@melmac.net>
Licensed to the public under the Apache License 2.0.
-%>
<%+header%>
<h2 name="content"><%:Reboot Device to an Alternative Partition%> - <%:Confirm%></h2>
<p>
<%_ WARNING: An alternative partition might have its own settings and completely different firmware.<br /><br />
As your network configuration and WiFi SSID/password on alternative partition might be different,
you might have to adjust your computer settings to be able to access your device once it reboots.<br /><br />
Please also be aware that alternative partition firmware might not provide an easy way to switch active partition
and boot back to the currently active partition.<br /><br />
Click "Proceed" below to reboot device to an alternative partition. %>
</p>
<div class="cbi-page-actions right">
<form class="inline" action="<%=REQUEST_URI%>" method="post">
<input type="hidden" name="token" value="<%=token%>" />
<input type="hidden" name="step" value="2" />
<input class="cbi-button cbi-button-reset" name="cancel" type="submit" value="<%:Cancel%>" />
<input class="cbi-button cbi-button-apply" type="submit" value="<%:Proceed%>" />
</form>
</div>
<%+footer%>

View file

@ -0,0 +1,25 @@
<%#
Copyright 2008 Steven Barth <steven@midlink.org>
Copyright 2008-2009 Jo-Philipp Wich <jow@openwrt.org>
Copyright 2017 Stan Grishin <stangri@melmac.net>
Licensed to the public under the Apache License 2.0.
-%>
<%+header%>
<h2 name="content"><%:Power Off Device%> - <%:Confirm%></h2>
<p>
<%_ WARNING: Power off might result in a reboot on a device which doesn't support power off.<br /><br />
Click "Proceed" below to power off your device. %>
</p>
<div class="cbi-page-actions right">
<form class="inline" action="<%=REQUEST_URI%>" method="post">
<input type="hidden" name="token" value="<%=token%>" />
<input type="hidden" name="step" value="2" />
<input class="cbi-button cbi-button-reset" name="cancel" type="submit" value="<%:Cancel%>" />
<input class="cbi-button cbi-button-apply" type="submit" value="<%:Proceed%>" />
</form>
</div>
<%+footer%>

View file

@ -0,0 +1,165 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: LuCI: advanced-reboot\n"
"POT-Creation-Date: 2017-11-30 15:20+0300\n"
"PO-Revision-Date: 2018-01-05 19:53+0300\n"
"Language-Team: http://cyber-place.ru\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7.1\n"
"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Language: ru\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
msgid "Action"
msgstr "Действие"
msgid "Advanced Reboot"
msgstr "Дополнительная перезагрузка"
msgid "Alternative"
msgstr "Альтернатива"
msgid "Alternative reboot cancelled."
msgstr "Альтернативная перезагрузка отменена."
msgid "Cancel"
msgstr "Отменить"
msgid "Confirm"
msgstr "Подтвердить"
msgid "Current"
msgstr "Текущий"
msgid "ERROR:"
msgstr "ОШИБКА:"
msgid "Firmware/OS (Kernel)"
msgstr "Прошивка/ОС (Ядро)"
msgid "No access to fw_printenv or fw_printenv!"
msgstr "Нет доступа к fw_printenv или fw_printenv!"
msgid "Partition"
msgstr "Раздел"
msgid "Partitions"
msgstr "Разделы"
msgid "Perform power off..."
msgstr "Выполнить отключение..."
msgid "Power Off Device"
msgstr "Отключить питание устройства"
msgid "Proceed"
msgstr "Продолжить"
msgid "Reboot Device to an Alternative Partition"
msgstr "Перезагрузить устройство в альтернативный раздел"
msgid "Reboot to alternative partition..."
msgstr "Перезагрузить до альтернативного раздела..."
msgid "Reboot to current partition"
msgstr "Перезагрузка к текущему разделу"
msgid "Rebooting..."
msgstr "Перезагрузка..."
msgid "Shutting down..."
msgstr "Отключается..."
msgid "Status"
msgstr "Состояние"
msgid ""
"The system is rebooting now.<br /> DO NOT POWER OFF THE DEVICE!<br /> Wait a "
"few minutes before you try to reconnect. It might be necessary to renew the "
"address of your computer to reach the device again, depending on your "
"settings."
msgstr ""
"Система перезагружается сейчас.<br /> НЕ ОТКЛЮЧАЙТЕ ПИТАНИЕ УСТРОЙСТВА!<br /"
"> Подождите несколько минут, прежде чем попытаться установить соединение "
"снова. Возможно, потребуется обновить адрес компьютера для повторного "
"доступа к устройству в зависимости от ваших настроек."
msgid ""
"The system is rebooting to an alternative partition now.<br /> DO NOT POWER "
"OFF THE DEVICE!<br /> Wait a few minutes before you try to reconnect. It "
"might be necessary to renew the address of your computer to reach the device "
"again, depending on your settings."
msgstr ""
"Система перезагружается на альтернативный раздел сейчас.<br /> НЕ ОТКЛЮЧАЙТЕ "
"ПИТАНИЕ УСТРОЙСТВА!<br /> Подождите несколько минут, прежде чем попытаться "
"установить соединение снова. Возможно, потребуется обновить адрес компьютера "
"для повторного доступа к устройству в зависимости от ваших настроек."
msgid ""
"The system is shutting down now.<br /> DO NOT POWER OFF THE DEVICE!<br /> It "
"might be necessary to renew the address of your computer to reach the device "
"again, depending on your settings."
msgstr ""
"Система сейчас отключается.<br /> НЕ ОТКЛЮЧАЙТЕ ПИТАНИЕ УСТРОЙСТВА!<br /> "
"Возможно, потребуется обновить адрес компьютера для повторного доступа к "
"устройству в зависимости от настроек."
msgid "Unable to find Dual Boot Flag Partition."
msgstr "Невозможно найти Dual Boot раздел."
msgid "Unable to obtain firmware environment variable"
msgstr "Невозможно получить переменную среды прошивки"
msgid "Unable to set Dual Boot Flag Partition entry for partition"
msgstr "Невозможно использовать Dual Boot раздел."
msgid "Unable to set firmware environment variable"
msgstr "Невозможно установить переменную среды прошивки"
msgid ""
"WARNING: An alternative partition might have its own settings and completely "
"different firmware.<br /><br /> As your network configuration and WiFi SSID/"
"password on alternative partition might be different, you might have to "
"adjust your computer settings to be able to access your device once it "
"reboots.<br /><br /> Please also be aware that alternative partition "
"firmware might not provide an easy way to switch active partition and boot "
"back to the currently active partition.<br /><br /> Click \"Proceed\" below "
"to reboot device to an alternative partition."
msgstr ""
"ВНИМАНИЕ: альтернативный раздел может иметь собственные настройки и "
"совершенно другую прошивку.<br /><br /> Поскольку ваши настройки сети и WiFi "
"SSID/пароли на альтернативных разделах могут отличаться, может потребоваться "
"изменить настройки компьютера, чтобы иметь возможность получить доступ к "
"устройству после перезагрузки .<br /><br /> Помните также, что "
"альтернативный раздел с прошивкой может не обеспечить простой способ "
"переключения активного раздела и загрузки обратно в текущий активный раздел."
"<br /><br /> Нажмите \"Продолжить\" ниже, чтобы перезагрузить устройство в "
"альтернативный раздел."
msgid ""
"WARNING: Power off might result in a reboot on a device which doesn't "
"support power off.<br /><br /> Click \"Proceed\" below to power off your "
"device."
msgstr ""
"ВНИМАНИЕ: Отключение питания может привести к перезагрузке устройства, "
"которое не поддерживает выключение питания.<br /><br /> Нажмите \"Продолжить"
"\" ниже, чтобы выключить устройство."
msgid "Warning: There are unsaved changes that will get lost on reboot!"
msgstr ""
"Внимание: Есть несохраненные изменения, которые будут потеряны при "
"перезагрузке!"
msgid "Warning: This system does not have two partitions!"
msgstr "Внимание: Эта система не имеет двух разделов!"
msgid "Warning: This system does not support powering off!"
msgstr "Внимание: Эта система не поддерживает отключение питания!"
msgid "to"
msgstr "к"

View file

@ -0,0 +1,102 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
msgid "Action"
msgstr ""
msgid "Advanced Reboot"
msgstr ""
msgid "Alternative"
msgstr ""
msgid "Cancel"
msgstr ""
msgid "Confirm"
msgstr ""
msgid "Current"
msgstr ""
msgid "Firmware/OS (Kernel)"
msgstr ""
msgid "Partition"
msgstr ""
msgid "Partitions"
msgstr ""
msgid "Perform power off..."
msgstr ""
msgid "Power Off Device"
msgstr ""
msgid "Proceed"
msgstr ""
msgid "Reboot Device to an Alternative Partition"
msgstr ""
msgid "Reboot to alternative partition..."
msgstr ""
msgid "Reboot to current partition"
msgstr ""
msgid "Rebooting..."
msgstr ""
msgid "Shutting down..."
msgstr ""
msgid "Status"
msgstr ""
msgid ""
"The system is rebooting now.<br /> DO NOT POWER OFF THE DEVICE!<br /> Wait a "
"few minutes before you try to reconnect. It might be necessary to renew the "
"address of your computer to reach the device again, depending on your "
"settings."
msgstr ""
msgid ""
"The system is rebooting to an alternative partition now.<br /> DO NOT POWER "
"OFF THE DEVICE!<br /> Wait a few minutes before you try to reconnect. It "
"might be necessary to renew the address of your computer to reach the device "
"again, depending on your settings."
msgstr ""
msgid ""
"The system is shutting down now.<br /> DO NOT POWER OFF THE DEVICE!<br /> It "
"might be necessary to renew the address of your computer to reach the device "
"again, depending on your settings."
msgstr ""
msgid ""
"WARNING: An alternative partition might have its own settings and completely "
"different firmware.<br /><br /> As your network configuration and WiFi SSID/"
"password on alternative partition might be different, you might have to "
"adjust your computer settings to be able to access your device once it "
"reboots.<br /><br /> Please also be aware that alternative partition "
"firmware might not provide an easy way to switch active partition and boot "
"back to the currently active partition.<br /><br /> Click \"Proceed\" below "
"to reboot device to an alternative partition."
msgstr ""
msgid ""
"WARNING: Power off might result in a reboot on a device which doesn't "
"support power off.<br /><br /> Click \"Proceed\" below to power off your "
"device."
msgstr ""
msgid "Warning: There are unsaved changes that will get lost on reboot!"
msgstr ""
msgid "Warning: This system does not have two partitions!"
msgstr ""
msgid "Warning: This system does not support powering off!"
msgstr ""

View file

@ -1,20 +1,20 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"PO-Revision-Date: 2014-03-29 23:07+0200\n"
"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n"
"Project-Id-Version: \n"
"PO-Revision-Date: 2017-02-17 17:07-0200\n"
"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n"
"Language-Team: none\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Pootle 2.0.6\n"
"X-Generator: Poedit 1.8.11\n"
"POT-Creation-Date: \n"
msgid "AHCP Server"
msgstr "Servidor AHCP"
#, fuzzy
msgid ""
"AHCP is an autoconfiguration protocol for IPv6 and dual-stack IPv6/IPv4 "
"networks designed to be used in place of router discovery or DHCP on "

View file

@ -1,35 +1,35 @@
msgid ""
msgstr ""
"Project-Id-Version: LuCI: ahcp\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2013-09-05 15:29+0200\n"
"Last-Translator: datasheet <michael.gritsaenko@gmail.com>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"POT-Creation-Date: 2013-09-05 15:29+0200\n"
"PO-Revision-Date: 2018-01-24 14:59+0300\n"
"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
"Language-Team: http://cyber-place.ru\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 1.8.7.1\n"
"X-Poedit-SourceCharset: UTF-8\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
# Ad-Hoc Configuration Protocol - протокол автоматической конфигурации IPv6 и сетей IPv6/IPv4 двойного стека
msgid "AHCP Server"
msgstr "AHCP-сервер"
msgstr "AHCP сервер"
#, fuzzy
msgid ""
"AHCP is an autoconfiguration protocol for IPv6 and dual-stack IPv6/IPv4 "
"networks designed to be used in place of router discovery or DHCP on "
"networks where it is difficult or impossible to configure a server within "
"every link-layer broadcast domain, for example mobile ad-hoc networks."
msgstr ""
"AHCP - это протокол автоматической конфигурации сетей IPv6 и IPv6/IPv4, "
"AHCP - это протокол автоматической настройки сетей IPv6 и IPv6/IPv4, "
"разработанный для использования вместо DHCP и протоколов обнаружения "
"маршрутизаторов в сетях, где сложно или невозможно настроить сервер внутри "
"каждой широковещательной зоны канального уровня, например, в мобильных ad-"
"hoc сетях."
"каждой широковещательной зоны канального уровня, например в мобильных ad-hoc "
"сетях."
msgid "Active AHCP Leases"
msgstr "Активные арендованные AHCP-адреса"
@ -44,23 +44,22 @@ msgid "Age"
msgstr "Возраст"
msgid "Announced DNS servers"
msgstr "Анонсируемые DNS-серверы"
msgstr "Объявить DNS сервера"
msgid "Announced NTP servers"
msgstr "Анонсируемые NTP-серверы"
msgstr "Объявить NTP сервера"
msgid "Announced prefixes"
msgstr "Анонсируемые префиксы"
msgstr "Объявить префиксы"
msgid "Collecting data..."
msgstr "Сбор данных..."
#, fuzzy
msgid "Forwarder"
msgstr "Перенаправление запросов"
msgid "General Setup"
msgstr "Общие настройки"
msgstr "Основные настройки"
msgid "IPv4 and IPv6"
msgstr "IPv4 и IPv6"
@ -72,7 +71,7 @@ msgid "IPv6 only"
msgstr "Только IPv6"
msgid "Lease directory"
msgstr "Директория арендованных адресов"
msgstr "Файл арендованных<br />адресов"
msgid "Lease validity time"
msgstr "Срок действия аренды"
@ -81,7 +80,7 @@ msgid "Log file"
msgstr "Файл журнала"
msgid "Multicast address"
msgstr "Групповой адрес"
msgstr "Адрес мультивещания"
msgid "Operation mode"
msgstr "Режим работы"
@ -90,7 +89,7 @@ msgid "Port"
msgstr "Порт"
msgid "Protocol family"
msgstr "Протокол"
msgstr "Семейство протоколов"
msgid "Served interfaces"
msgstr "Используемые интерфейсы"
@ -99,13 +98,13 @@ msgid "Server"
msgstr "Сервер"
msgid "Specifies the announced IPv4 and IPv6 NTP servers"
msgstr "Определяет IPv4 и IPv6 NTP-серверы"
msgstr "Задайте IPv4 и IPv6 NTP сервера."
msgid "Specifies the announced IPv4 and IPv6 name servers"
msgstr "Определяет IPv4 и IPv6 DNS-серверы"
msgstr "Задайте IPv4 и IPv6 DNS сервера."
msgid "Specifies the announced IPv4 and IPv6 network prefixes in CIDR notation"
msgstr "Определяет IPv4- и IPv6-префиксы сети в нотации CIDR"
msgstr "Задайте IPv4 и IPv6 префиксы сети в нотации CIDR."
msgid "The AHCP Service is not running."
msgstr "Служба AHCP не запущена."

View file

@ -135,7 +135,7 @@ o = s:taboption("task", Value, "max_concurrent_downloads", translate("Max concur
o.placeholder = "5"
o = s:taboption("task", Value, "max_connection_per_server", translate("Max connection per server"), "1-16")
o.datetype = "range(1, 16)"
o.datatype = "range(1, 16)"
o.placeholder = "1"
o = s:taboption("task", Value, "min_split_size", translate("Min split size"), "1M-1024M")

View file

@ -0,0 +1,236 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n"
"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: pt_BR\n"
msgid "\"Falloc\" is not available in all cases."
msgstr "\"Falloc\" não está disponível em todas as classes."
msgid "<abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"
msgstr ""
"<abbr title=\"Distributed Hash Table/Tabla de disperção distribuída\">DHT</"
"abbr> habilitado"
msgid "<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled"
msgstr ""
"<abbr title=\"Local Peer Discovery/Descoberta de Parceiros Locais\">LPD</"
"abbr> habilitado"
msgid "Additional Bt tracker enabled"
msgstr "Rastreadores BitTorrent adicionais habilitado"
msgid "Aria2"
msgstr "Aria2"
msgid "Aria2 Settings"
msgstr "Configurações do Aria2"
msgid "Aria2 Status"
msgstr "Estado do Aria2"
msgid ""
"Aria2 is a multi-protocol &amp; multi-source download utility, here you can "
"configure the settings."
msgstr ""
"Aria2 é um utilitário de transferência multi-protocolo de múltiplas fontes, "
"aqui você pode configurá-lo."
msgid "Autosave session interval"
msgstr "Intervalo para autossalvamento da sessão"
msgid "BitTorrent Settings"
msgstr "Configurações do BitTorrent"
msgid "BitTorrent listen port"
msgstr "Porta de escuta do BitTorrent"
msgid "Collecting data..."
msgstr "Coletando dados..."
msgid "Config file directory"
msgstr "Diretório dos arquivos de configuração"
msgid "Debug"
msgstr "Depuração"
msgid "Default download directory"
msgstr "Diretório padrão de arquivos baixados"
msgid "Disk cache"
msgstr "Cache em Disco"
msgid "Enable log"
msgstr "Habilitar registros"
msgid "Enabled"
msgstr "Habilitado"
msgid "Error"
msgstr "Erro"
msgid "Extra Settings"
msgstr "Configurações Adicionais"
msgid "Falloc"
msgstr "Falloc"
msgid "Files and Locations"
msgstr "Arquivos e Locais"
msgid "Follow torrent"
msgstr "Seguir torrent"
msgid "General Settings"
msgstr "Configurações Gerais"
msgid "Generate Randomly"
msgstr "Gerar aleatoriamente"
msgid "Info"
msgstr "Informações"
msgid "List of additional Bt tracker"
msgstr "Lista de rastreadores BitTorrent adicionais"
msgid "List of extra settings"
msgstr "Lista de configurações adicionais"
msgid "Log file is in the config file dir."
msgstr ""
"Arquivo de registro (log) está no diretório do arquivo de configuração."
msgid "Log level"
msgstr "Nível do registro"
msgid "Max concurrent downloads"
msgstr "Número máximo de transferencias simultâneas"
msgid "Max connection per server"
msgstr "Numero máximo de conexões por servidor"
msgid "Max number of peers per torrent"
msgstr "Numero máximo de parceiros por torrent"
msgid "Max number of split"
msgstr "Numero máximo de divisões"
msgid "Min split size"
msgstr "Tamanho mínimo da divisão"
msgid "No Authentication"
msgstr "Sem Autenticação"
msgid "Notice"
msgstr "Aviso"
msgid "Off"
msgstr "Desligado"
msgid "Open WebUI-Aria2"
msgstr "Abrir WebUI-Aria2"
msgid "Open YAAW"
msgstr "Abrir YAAW"
msgid "Overall download limit"
msgstr "Limite global para baixar"
msgid "Overall speed limit enabled"
msgstr "Limite da taxa de transferência global habilitado"
msgid "Overall upload limit"
msgstr "Limite global para subir"
msgid "Per task download limit"
msgstr "Limite por tarefa para baixar"
msgid "Per task speed limit enabled"
msgstr "Limite da taxa de transferência por tarefa habilitado"
msgid "Per task upload limit"
msgstr "Limite por tarefa para subir"
msgid "Prealloc"
msgstr "Pré-alocação"
msgid "Preallocation"
msgstr "Pré-alocação"
msgid "Prefix of peer ID"
msgstr "Prefixo da identificação do paceiro"
msgid "RPC Token"
msgstr ""
"Chave eletrônica do <abbr title=\"Remote Procedure Call/Chamada de "
"Procedimento Remoto\">RPC</abbr>"
msgid "RPC authentication method"
msgstr ""
"Método de autenticação do <abbr title=\"Remote Procedure Call/Chamada de "
"Procedimento Remoto\">RPC</abbr>"
msgid "RPC password"
msgstr ""
"Senha do <abbr title=\"Remote Procedure Call/Chamada de Procedimento Remoto"
"\">RPC</abbr>"
msgid "RPC port"
msgstr ""
"Porta do <abbr title=\"Remote Procedure Call/Chamada de Procedimento Remoto"
"\">RPC</abbr>"
msgid "RPC username"
msgstr ""
"Nome do usuario do <abbr title=\"Remote Procedure Call/Chamada de "
"Procedimento Remoto\">RPC</abbr>"
msgid "Run daemon as user"
msgstr "Executar serviço como usuário"
msgid "Sec"
msgstr "Segurança"
msgid "Task Settings"
msgstr "Configurações das tarefas"
msgid "The Aria2 service is not running."
msgstr "O serviço Aria2 está parado."
msgid "The Aria2 service is running."
msgstr "O serviço Aria2 está em execução."
msgid "Token"
msgstr "Chave eletrônica"
msgid "Trunc"
msgstr "Truncar"
msgid "Use WebSocket"
msgstr "Use WebSockets"
msgid "User agent value"
msgstr "Valor da identificação do agente do usuário"
msgid "Username & Password"
msgstr "Usuário & Senha"
msgid "View Json-RPC URL"
msgstr "Visualizar URL do JSON-RPC"
msgid "Warn"
msgstr "Atenção"
msgid "in bytes, You can append K or M."
msgstr "em bytes. Você pode sufixar com K (quilo) ou M (mega)."
msgid "in bytes/sec, You can append K or M."
msgstr "em bytes por segundo. Você pode sufixar com K (quilo) ou M (mega)."

View file

@ -0,0 +1,225 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: LuCI: aria2\n"
"POT-Creation-Date: 2017-11-30 23:45+0300\n"
"PO-Revision-Date: 2018-01-31 18:33+0300\n"
"Language-Team: http://cyber-place.ru\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7.1\n"
"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Language: ru\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
msgid "\"Falloc\" is not available in all cases."
msgstr "'Falloc' возможен не всегда."
msgid "<abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"
msgstr "<abbr title=\"Распределенная Hash таблица\">DHT</abbr> включена"
msgid "<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled"
msgstr "<abbr title=\"Обнаружение локальных пиров\">LPD</abbr> включено"
msgid "Additional Bt tracker enabled"
msgstr "Дополнительный<br />Bt tracker включен"
msgid "Aria2"
msgstr "Aria2"
msgid "Aria2 Settings"
msgstr "Настройка Aria2"
msgid "Aria2 Status"
msgstr "Состояние Aria2"
msgid ""
"Aria2 is a multi-protocol &amp; multi-source download utility, here you can "
"configure the settings."
msgstr ""
"Aria2 - это мульти-протокольная и мульти-платформенная утилита загрузки, "
"здесь вы сможете ее настроить."
msgid "Autosave session interval"
msgstr "Интервал сессии автосохранения"
msgid "BitTorrent Settings"
msgstr "Настройки BitTorrent-а"
msgid "BitTorrent listen port"
msgstr "Порты BitTorrent-а"
msgid "Collecting data..."
msgstr "Сбор данных..."
msgid "Config file directory"
msgstr "Папка расположения<br />сonfig файла"
msgid "Debug"
msgstr "Отладка"
msgid "Default download directory"
msgstr "Папка для загрузки<br />файлов по умолчанию"
msgid "Disk cache"
msgstr "Дисковый кэш"
msgid "Enable log"
msgstr "Включить ведение системного журнала"
msgid "Enabled"
msgstr "Включено"
msgid "Error"
msgstr "Ошибка"
msgid "Extra Settings"
msgstr "Дополнительные настройки"
msgid "Falloc"
msgstr "Falloc"
msgid "Files and Locations"
msgstr "Файлы и папки"
msgid "Follow torrent"
msgstr "Запустить<br />торрент-файл"
msgid "General Settings"
msgstr "Основные настройки"
msgid "Generate Randomly"
msgstr "Генерировать случайно"
msgid "Info"
msgstr "Информация"
msgid "List of additional Bt tracker"
msgstr "Список дополнительных BT tracker-ов"
msgid "List of extra settings"
msgstr "Список дополнительных настроек"
msgid "Log file is in the config file dir."
msgstr "Файл системного журнала находится в папке с config файлом."
msgid "Log level"
msgstr "Записывать в журнал"
msgid "Max concurrent downloads"
msgstr "Максимальное количество одновременных загрузок"
msgid "Max connection per server"
msgstr "Максимальное количество<br />подключений на сервер"
msgid "Max number of peers per torrent"
msgstr "Максимальное число<br />пиров на торрент-файл"
msgid "Max number of split"
msgstr "Максимальное<br />число разделений"
msgid "Min split size"
msgstr "Минимальный размер разделений"
msgid "No Authentication"
msgstr "Без проверки подлинности"
msgid "Notice"
msgstr "Заметка"
msgid "Off"
msgstr "Выключено"
msgid "Open WebUI-Aria2"
msgstr "Открыть WebUI-Aria2"
msgid "Open YAAW"
msgstr "Открыть YAAW"
msgid "Overall download limit"
msgstr "Общее ограничение<br />скорости загрузки"
msgid "Overall speed limit enabled"
msgstr "Общее ограничение скорости<br /> для утилиты включено"
msgid "Overall upload limit"
msgstr "Общее ограничение<br />скорости раздачи"
msgid "Per task download limit"
msgstr "Ограничить скорость загрузки"
msgid "Per task speed limit enabled"
msgstr "Ограничить скорость для одной задачи включено"
msgid "Per task upload limit"
msgstr "Ограничить скорость раздачи"
msgid "Prealloc"
msgstr "Предварительно"
msgid "Preallocation"
msgstr "Предварительное<br />распределение<br />места под файл"
msgid "Prefix of peer ID"
msgstr "Префикс ID пира"
msgid "RPC Token"
msgstr "Токен для доступа к удаленному управлению (RPC)"
msgid "RPC authentication method"
msgstr "Метод аутентификации для доступа к удаленному управлению (RPC)"
msgid "RPC password"
msgstr "Пароль для доступа к удаленному управлению (RPC)"
msgid "RPC port"
msgstr "Порт для доступа к удаленному управлению (RPC)"
msgid "RPC username"
msgstr "Логин для доступа к удаленному управлению (RPC)"
msgid "Run daemon as user"
msgstr "Запуск демона<br />от имени пользователя"
msgid "Sec"
msgstr "Секунды"
msgid "Task Settings"
msgstr "Настройки задач"
msgid "The Aria2 service is not running."
msgstr "Aria2 сервис не запущен."
msgid "The Aria2 service is running."
msgstr "Aria2 сервис запущен."
msgid "Token"
msgstr "Токен"
msgid "Trunc"
msgstr "Сокращать"
msgid "Use WebSocket"
msgstr "Использовать WebSockets"
msgid "User agent value"
msgstr "Агент пользователя"
msgid "Username & Password"
msgstr "Имя и пароль"
msgid "View Json-RPC URL"
msgstr "Показать URL Json-RPC"
msgid "Warn"
msgstr "Внимание"
msgid "in bytes, You can append K or M."
msgstr ""
"Дисковый кэш в байтах. Вы можете добавить суффикс K (кило) или М (мега)."
msgid "in bytes/sec, You can append K or M."
msgstr "в байтах/секундах. Вы можете добавить суффикс K (кило) или М (мега)."

View file

@ -153,7 +153,7 @@ local function parse_cmdline(cmdid, args)
end
end
function action_run(...)
function execute_command(callback, ...)
local fs = require "nixio.fs"
local argv = parse_cmdline(...)
if argv then
@ -169,8 +169,8 @@ function action_run(...)
local binary = not not (stdout:match("[%z\1-\8\14-\31]"))
luci.http.prepare_content("application/json")
luci.http.write_json({
callback({
ok = true,
command = table.concat(argv, " "),
stdout = not binary and stdout,
stderr = stderr,
@ -178,10 +178,41 @@ function action_run(...)
binary = binary
})
else
luci.http.status(404, "No such command")
callback({
ok = false,
code = 404,
reason = "No such command"
})
end
end
function return_json(result)
if result.ok then
luci.http.prepare_content("application/json")
luci.http.write_json(result)
else
luci.http.status(result.code, result.reason)
end
end
function action_run(...)
execute_command(return_json, ...)
end
function return_html(result)
if result.ok then
require("luci.template")
luci.template.render("commands_public", {
exitcode = result.exitcode,
stdout = result.stdout,
stderr = result.stderr
})
else
luci.http.status(result.code, result.reason)
end
end
function action_download(...)
local fs = require "nixio.fs"
local argv = parse_cmdline(...)
@ -214,14 +245,24 @@ function action_download(...)
end
end
function action_public(cmdid, args)
local disp = false
if string.sub(cmdid, -1) == "s" then
disp = true
cmdid = string.sub(cmdid, 1, -2)
end
local uci = require "luci.model.uci".cursor()
if cmdid and
uci:get("luci", cmdid) == "command" and
uci:get("luci", cmdid, "public") == "1"
then
if disp then
execute_command(return_html, cmdid, args)
else
action_download(cmdid, args)
end
else
luci.http.status(403, "Access to command denied")
end
end
end

View file

@ -108,16 +108,19 @@
if (legend && output)
{
var link = location.protocol + '//' + location.hostname +
var prefix = location.protocol + '//' + location.hostname +
(location.port ? ':' + location.port : '') +
location.pathname.split(';')[0] + 'command/' +
id + (args ? '/' + args : '');
location.pathname.split(';')[0] + 'command/';
var suffix = (args ? '/' + args : '');
var link = prefix + id + suffix;
var link_nodownload = prefix + id + "s" + suffix;
legend.style.display = 'none';
output.parentNode.style.display = 'block';
output.innerHTML = String.format(
'<div class="alert-message"><%:Access command with%> <a href="%s">%s</a></div>',
link, link
'<div class="alert-message"><p><%:Download execution result%> <a href="%s">%s</a></p><p><%:Or display result%> <a href="%s">%s</a></p></div>',
link, link, link_nodownload, link_nodownload
);
location.hash = '#output';

View file

@ -0,0 +1,50 @@
<%#
Copyright 2016 t123yh <t123yh@outlook.com>
Licensed to the public under the Apache License 2.0.
-%>
<% css = [[
.alert-success {
color: #3c763d;
background-color: #dff0d8;
border-color: #d6e9c6;
}
.alert {
padding: 15px;
margin-bottom: 20px;
border: 1px solid transparent;
border-radius: 4px;
}
.alert-warning {
color: #8a6d3b;
background-color: #fcf8e3;
border-color: #faebcc;
}
]] -%>
<%+header%>
<% if exitcode == 0 then %>
<div class="alert alert-success" role="alert"> <%:Command executed successfully.%> </div>
<% else %>
<div class="alert alert-warning" role="alert"> <%:Command exited with status code %> <%= exitcode %> </div>
<% end %>
<% if stdout ~= "" then %>
<h3><%:Standard Output%></h3>
<pre><%= stdout %></pre>
<% end %>
<% if stderr ~= "" then %>
<h3><%:Standard Error%></h3>
<pre><%= stderr %></pre>
<% end %>
<script>
<%# Display top bar on mobile devices -%>
document.getElementsByClassName('brand')[0].style.setProperty("display", "block", "important");
</script>
<%+footer%>

View file

@ -14,9 +14,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "Una breva descripció textual de l'ordre configurat"
msgid "Access command with"
msgstr "Accedeix l'ordre amb"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -42,6 +39,12 @@ msgstr "Recollint dades..."
msgid "Command"
msgstr "Ordre"
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr "L'ordre ha fallat"
@ -72,6 +75,9 @@ msgstr "Descripció"
msgid "Download"
msgstr "Baixa"
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr "L'execució de l'ordre ha fallat!"
@ -81,12 +87,21 @@ msgstr "Enllaç"
msgid "Loading"
msgstr "Carregant"
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr "Accés públic"
msgid "Run"
msgstr "Executa"
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -96,3 +111,6 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr "Esperant que l'ordre acabi..."
#~ msgid "Access command with"
#~ msgstr "Accedeix l'ordre amb"

View file

@ -14,9 +14,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "Krátky popis nastaveného příkazu"
msgid "Access command with"
msgstr ""
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -40,6 +37,12 @@ msgstr "Sbírání dat..."
msgid "Command"
msgstr "Příkaz"
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr "Příkaz selhal"
@ -70,6 +73,9 @@ msgstr "Popis"
msgid "Download"
msgstr "Stáhnout"
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr "Chyba při zpracování příkazu!"
@ -79,12 +85,21 @@ msgstr "Odkaz"
msgid "Loading"
msgstr "Nahrávám"
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr "Veřejný přístup"
msgid "Run"
msgstr "Spustit"
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."

View file

@ -14,9 +14,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "Kurze Beschreibung des abgespeicherten Kommandos"
msgid "Access command with"
msgstr "Kommando aufrufen mit"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -42,6 +39,12 @@ msgstr "Sammle Daten..."
msgid "Command"
msgstr "Kommando"
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr "Kommando fehlgeschlagen"
@ -72,6 +75,9 @@ msgstr "Beschreibung"
msgid "Download"
msgstr "Herunterladen"
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr "Kommando konnte nicht ausgeführt werden!"
@ -81,12 +87,21 @@ msgstr "Link"
msgid "Loading"
msgstr "Lade"
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr "Öffentlicher Zugriff"
msgid "Run"
msgstr "Ausführen"
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -96,3 +111,6 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr "Warte auf die Ausführung des Kommandos..."
#~ msgid "Access command with"
#~ msgstr "Kommando aufrufen mit"

View file

@ -11,9 +11,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr ""
msgid "Access command with"
msgstr ""
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -37,6 +34,12 @@ msgstr ""
msgid "Command"
msgstr ""
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr ""
@ -67,6 +70,9 @@ msgstr ""
msgid "Download"
msgstr ""
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr ""
@ -76,12 +82,21 @@ msgstr ""
msgid "Loading"
msgstr ""
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr ""
msgid "Run"
msgstr ""
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."

View file

@ -1,19 +1,20 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Last-Translator: Automatically generated\n"
"Project-Id-Version: \n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Language: en\n"
"X-Generator: Poedit 1.8.11\n"
msgid "A short textual description of the configured command"
msgstr "A short textual description of the configured command"
msgid "Access command with"
msgstr "Access command with"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -39,6 +40,12 @@ msgstr "Collecting data..."
msgid "Command"
msgstr "Command"
msgid "Command executed successfully."
msgstr "Command executed successfully."
msgid "Command exited with status code"
msgstr "Command exited with status code"
msgid "Command failed"
msgstr "Command failed"
@ -69,6 +76,9 @@ msgstr "Description"
msgid "Download"
msgstr "Download"
msgid "Download execution result"
msgstr "Download execution result"
msgid "Failed to execute command!"
msgstr "Failed to execute command!"
@ -78,12 +88,21 @@ msgstr "Link"
msgid "Loading"
msgstr "Loading"
msgid "Or display result"
msgstr "Or display result"
msgid "Public access"
msgstr "Public access"
msgid "Run"
msgstr "Run"
msgid "Standard Error"
msgstr "Standard Error"
msgid "Standard Output"
msgstr "Standard Output"
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -93,3 +112,6 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr "Waiting for command to complete..."
#~ msgid "Command exited with status code "
#~ msgstr "Command exited with status code "

View file

@ -14,9 +14,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "Descripción breve del comando a configurar"
msgid "Access command with"
msgstr "Acceder al comando con"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -41,6 +38,12 @@ msgstr "Recuperando datos..."
msgid "Command"
msgstr "Comando"
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr "Falló"
@ -71,6 +74,9 @@ msgstr "Descripción"
msgid "Download"
msgstr "Descarga"
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr "¡Error al ejecutar el comando!"
@ -80,12 +86,21 @@ msgstr "Enlace"
msgid "Loading"
msgstr "Cargando"
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr "Acceso público"
msgid "Run"
msgstr "Ejecutar"
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -95,3 +110,6 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr "Esperando a que termine el comando..."
#~ msgid "Access command with"
#~ msgstr "Acceder al comando con"

View file

@ -14,9 +14,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "Une courte description de la commande configurée"
msgid "Access command with"
msgstr "Accéder à la commande par"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -44,6 +41,12 @@ msgstr "Récupération des données ..."
msgid "Command"
msgstr "Commande"
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr "Echec de la commande"
@ -74,6 +77,9 @@ msgstr "Description"
msgid "Download"
msgstr "Télécharger"
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr "Echec de l'exécution de la commande ! "
@ -83,12 +89,21 @@ msgstr "Lien"
msgid "Loading"
msgstr "Chargement"
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr "Accès public"
msgid "Run"
msgstr "Exécuter"
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -98,3 +113,6 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr "En attente de la commande pour finir..."
#~ msgid "Access command with"
#~ msgstr "Accéder à la commande par"

View file

@ -11,9 +11,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr ""
msgid "Access command with"
msgstr ""
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -37,6 +34,12 @@ msgstr ""
msgid "Command"
msgstr ""
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr ""
@ -67,6 +70,9 @@ msgstr ""
msgid "Download"
msgstr ""
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr ""
@ -76,12 +82,21 @@ msgstr ""
msgid "Loading"
msgstr ""
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr ""
msgid "Run"
msgstr ""
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."

View file

@ -14,9 +14,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "A beállított parancs rövid szöveges leírása"
msgid "Access command with"
msgstr "Parancs hozzáférése"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -42,6 +39,12 @@ msgstr "Adatgyűjtés..."
msgid "Command"
msgstr "Paracs"
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr "Parancs végrehajtás sikertelen"
@ -72,6 +75,9 @@ msgstr "Leírás"
msgid "Download"
msgstr "Letöltés"
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr "Parancs végrehajtása sikertelen!"
@ -81,12 +87,21 @@ msgstr "Link"
msgid "Loading"
msgstr "Betöltés"
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr "Nyilvános hozzáférés"
msgid "Run"
msgstr "Futtatás"
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -96,3 +111,6 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr "Várakozás a parancs befejezésére..."
#~ msgid "Access command with"
#~ msgstr "Parancs hozzáférése"

View file

@ -14,9 +14,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "Una breve descrizione testuale del comando configurato"
msgid "Access command with"
msgstr "Accesso comando con"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -43,6 +40,12 @@ msgstr "Raccolta dei dati..."
msgid "Command"
msgstr "Comando"
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr "Comando fallito"
@ -73,6 +76,9 @@ msgstr "Descrizione"
msgid "Download"
msgstr "Download"
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr "Impossibile eseguire il comando!"
@ -82,12 +88,21 @@ msgstr "Collegamento"
msgid "Loading"
msgstr "Caricamento"
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr "Accesso Pubblico"
msgid "Run"
msgstr "Esegui"
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -97,3 +112,6 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr "In attesa del comando da completare..."
#~ msgid "Access command with"
#~ msgstr "Accesso comando con"

View file

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"PO-Revision-Date: 2016-12-21 11:59+0900\n"
"PO-Revision-Date: 2017-01-21 18:09+0900\n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Language-Team: none\n"
"Language: ja\n"
@ -15,9 +15,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "設定したコマンドの簡単な説明文を記載します"
msgid "Access command with"
msgstr "コマンドへのアクセス"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -41,6 +38,12 @@ msgstr "データ収集中です..."
msgid "Command"
msgstr "コマンド"
msgid "Command executed successfully."
msgstr "コマンドの実行に成功しました。"
msgid "Command exited with status code"
msgstr "コマンドは次のステータス コードで終了しました:"
msgid "Command failed"
msgstr "コマンド失敗"
@ -71,6 +74,9 @@ msgstr "説明"
msgid "Download"
msgstr "ダウンロード"
msgid "Download execution result"
msgstr "実行結果のダウンロード:"
msgid "Failed to execute command!"
msgstr "コマンドの実行に失敗しました!"
@ -80,12 +86,21 @@ msgstr "リンク"
msgid "Loading"
msgstr "読み込み中"
msgid "Or display result"
msgstr "または結果の表示:"
msgid "Public access"
msgstr "パブリック・アクセス"
msgid "Run"
msgstr "実行"
msgid "Standard Error"
msgstr "標準エラー"
msgid "Standard Output"
msgstr "標準出力"
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -95,3 +110,6 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr "コマンド実行中です..."
#~ msgid "Access command with"
#~ msgstr "コマンドへのアクセス"

View file

@ -10,9 +10,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr ""
msgid "Access command with"
msgstr ""
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -36,6 +33,12 @@ msgstr ""
msgid "Command"
msgstr ""
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr ""
@ -66,6 +69,9 @@ msgstr ""
msgid "Download"
msgstr ""
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr ""
@ -75,12 +81,21 @@ msgstr ""
msgid "Loading"
msgstr ""
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr ""
msgid "Run"
msgstr ""
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."

View file

@ -14,9 +14,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "En kort tekstlig beskrivelse av den konfigurerte kommandoen"
msgid "Access command with"
msgstr "Åpne kommandoen med"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -42,6 +39,12 @@ msgstr "Henter data..."
msgid "Command"
msgstr "Kommando"
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr "Kommando feilet"
@ -72,6 +75,9 @@ msgstr "Beskrivelse"
msgid "Download"
msgstr "Nedlasting"
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr "Kunne ikke utføre kommandoen!"
@ -81,12 +87,21 @@ msgstr "Link"
msgid "Loading"
msgstr "Laster"
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr "Tilgjengelig for alle"
msgid "Run"
msgstr "Kjør"
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -96,3 +111,6 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr "Venter på at kommandoen fullføres..."
#~ msgid "Access command with"
#~ msgstr "Åpne kommandoen med"

View file

@ -15,9 +15,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "Krótki opis konfigurowanej komendy"
msgid "Access command with"
msgstr "Dostęp do komendy przez"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -43,6 +40,12 @@ msgstr "Zbieram dane:"
msgid "Command"
msgstr "Komenda"
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr "Zła komenda"
@ -73,6 +76,9 @@ msgstr "Opis"
msgid "Download"
msgstr "Download"
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr "Nie można wykonać komendy!"
@ -82,12 +88,21 @@ msgstr "Łącze"
msgid "Loading"
msgstr "Ładowanie"
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr "Publiczny dostęp"
msgid "Run"
msgstr "Uruchom"
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -97,3 +112,6 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr "Czekanie na wykonanie komendy..."
#~ msgid "Access command with"
#~ msgstr "Dostęp do komendy przez"

View file

@ -1,22 +1,20 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"PO-Revision-Date: 2014-03-15 22:02+0200\n"
"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n"
"Project-Id-Version: \n"
"PO-Revision-Date: 2017-02-20 17:39-0300\n"
"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n"
"Language-Team: none\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Pootle 2.0.6\n"
"X-Generator: Poedit 1.8.11\n"
"POT-Creation-Date: \n"
msgid "A short textual description of the configured command"
msgstr "Uma pequena descrição textual do comando configurado"
msgid "Access command with"
msgstr "Acessar o comando com"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -42,6 +40,12 @@ msgstr "Adquirindo dados..."
msgid "Command"
msgstr "Comando"
msgid "Command executed successfully."
msgstr "O comando executou com sucesso."
msgid "Command exited with status code"
msgstr "O comando encerrou com um estado de erro"
msgid "Command failed"
msgstr "O comando falhou"
@ -72,6 +76,9 @@ msgstr "Descrição"
msgid "Download"
msgstr "Baixar"
msgid "Download execution result"
msgstr "Baixar os resultados da execução"
msgid "Failed to execute command!"
msgstr "Falha ao executar comando!"
@ -81,12 +88,21 @@ msgstr "Endereço"
msgid "Loading"
msgstr "Carregando"
msgid "Or display result"
msgstr "Ou mostre o resultado"
msgid "Public access"
msgstr "Acesso público"
msgid "Run"
msgstr "Executar"
msgid "Standard Error"
msgstr "Saída de Erro"
msgid "Standard Output"
msgstr "Saída Padrão"
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -96,3 +112,6 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr "Aguardando a conclusão do comando..."
#~ msgid "Access command with"
#~ msgstr "Acessar o comando com"

View file

@ -14,9 +14,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "Uma pequena descrição textual do comando configurado"
msgid "Access command with"
msgstr "Aceder ao comando com"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -43,6 +40,12 @@ msgstr "A obter dados..."
msgid "Command"
msgstr "Comando"
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr "O comando falhou"
@ -73,6 +76,9 @@ msgstr "Descrição"
msgid "Download"
msgstr "Descarregar"
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr "Falha ao executar comando!"
@ -82,12 +88,21 @@ msgstr "Link"
msgid "Loading"
msgstr "A carregar"
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr "Acesso público"
msgid "Run"
msgstr "Executar"
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -97,3 +112,6 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr "A aguardar que o comando termine..."
#~ msgid "Access command with"
#~ msgstr "Aceder ao comando com"

View file

@ -15,9 +15,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "O scurta descriere textuala a comenzii configurate"
msgid "Access command with"
msgstr "Acces la comanda cu"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -43,6 +40,12 @@ msgstr "Colectare date..."
msgid "Command"
msgstr "Comandă"
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr "Comandă eşuată"
@ -73,6 +76,9 @@ msgstr "Descriere"
msgid "Download"
msgstr "Descarca"
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr "S-a esuat executarea comenzii!!"
@ -82,12 +88,21 @@ msgstr "Link"
msgid "Loading"
msgstr "Se incarca"
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr "Access public"
msgid "Run"
msgstr "Ruleaza"
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -97,3 +112,6 @@ msgstr ""
msgid "Waiting for command to complete..."
msgstr "Astept finalizarea comenzii..."
#~ msgid "Access command with"
#~ msgstr "Acces la comanda cu"

View file

@ -1,41 +1,40 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"PO-Revision-Date: 2013-10-15 16:48+0200\n"
"Last-Translator: datasheet <michael.gritsaenko@gmail.com>\n"
"Language-Team: none\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: LuCI: commands\n"
"POT-Creation-Date: 2013-10-15 16:48+0300\n"
"PO-Revision-Date: 2018-01-14 11:42+0300\n"
"Language-Team: http://cyber-place.ru\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
"X-Generator: Poedit 1.8.7.1\n"
"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Language: ru\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
msgid "A short textual description of the configured command"
msgstr "Короткое текстовое описание команды"
msgid "Access command with"
msgstr "Доступ к команде через"
#, fuzzy
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr ""
"Разрешить выполнение команды и загрузку ее вывода без предварительной "
"аутентификации"
"Разрешить выполнение команды и загрузку ее выходных данных без ввода пароля "
"пользователя"
msgid "Allow the user to provide additional command line arguments"
msgstr ""
"Разрешить пользователям использовать дополнительные аргументы командной "
"Разрешить пользователю предоставлять дополнительные аргументы командной "
"строки"
msgid "Arguments:"
msgstr "Аргументы:"
msgid "Binary data not displayed, download instead."
msgstr "Двоичные данные не отображаются, вместо этого - выгружаются"
msgstr "Двоичные данные не отображаются, вместо этого загружаются."
msgid "Code:"
msgstr "Код:"
@ -46,11 +45,17 @@ msgstr "Сбор данных..."
msgid "Command"
msgstr "Команда"
msgid "Command executed successfully."
msgstr "Команда выполнена успешно."
msgid "Command exited with status code"
msgstr "Команда вышла с кодом состояния."
msgid "Command failed"
msgstr "Команда не выполнена"
msgstr "Ошибка команды"
msgid "Command line to execute"
msgstr "Командная строка для выполнения"
msgstr "Командная строка<br />для выполнения"
msgid "Command successful"
msgstr "Команда выполнена"
@ -59,7 +64,7 @@ msgid "Command:"
msgstr "Команда:"
msgid "Configure"
msgstr "Настроить"
msgstr "Настройка панели управления"
msgid "Custom Commands"
msgstr "Пользовательские команды"
@ -68,7 +73,7 @@ msgid "Custom arguments"
msgstr "Пользовательские аргументы"
msgid "Dashboard"
msgstr "Информационная панель"
msgstr "Панель управления"
msgid "Description"
msgstr "Описание"
@ -76,6 +81,9 @@ msgstr "Описание"
msgid "Download"
msgstr "Скачать"
msgid "Download execution result"
msgstr "Результат выполнения загрузки"
msgid "Failed to execute command!"
msgstr "Ошибка выполнения команды!"
@ -85,18 +93,28 @@ msgstr "Ссылка"
msgid "Loading"
msgstr "Загрузка"
msgid "Or display result"
msgstr "Или отобразить результат"
msgid "Public access"
msgstr "Публичный доступ"
msgid "Run"
msgstr "Запуск"
msgid "Standard Error"
msgstr "Стандартная ошибка"
msgid "Standard Output"
msgstr "Стандартный вывод"
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
msgstr ""
"Эта страница предоставляет возможность настраивать пользовательские "
"консольные команды, которые могут быть легко вызваны из веб-интерфейса"
"Страница позволяет настроить выполнение консольных команд пользователя, "
"которые могут быть легко вызваны из веб-интерфейса по нажатию "
"соответствующей кнопки. Здесь вы можете подписать кнопки и указать команды."
msgid "Waiting for command to complete..."
msgstr "Ожидание завершения команды..."
msgstr "Ожидание завершения выполнения команды..."

View file

@ -11,9 +11,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr ""
msgid "Access command with"
msgstr ""
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -37,6 +34,12 @@ msgstr ""
msgid "Command"
msgstr ""
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr ""
@ -67,6 +70,9 @@ msgstr ""
msgid "Download"
msgstr ""
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr ""
@ -76,12 +82,21 @@ msgstr ""
msgid "Loading"
msgstr ""
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr ""
msgid "Run"
msgstr ""
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."

View file

@ -12,9 +12,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr ""
msgid "Access command with"
msgstr ""
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -38,6 +35,12 @@ msgstr ""
msgid "Command"
msgstr ""
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr ""
@ -68,6 +71,9 @@ msgstr ""
msgid "Download"
msgstr ""
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr ""
@ -77,12 +83,21 @@ msgstr ""
msgid "Loading"
msgstr ""
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr ""
msgid "Run"
msgstr ""
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."

View file

@ -4,9 +4,6 @@ msgstr "Content-Type: text/plain; charset=UTF-8"
msgid "A short textual description of the configured command"
msgstr ""
msgid "Access command with"
msgstr ""
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -30,6 +27,12 @@ msgstr ""
msgid "Command"
msgstr ""
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr ""
@ -60,6 +63,9 @@ msgstr ""
msgid "Download"
msgstr ""
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr ""
@ -69,12 +75,21 @@ msgstr ""
msgid "Loading"
msgstr ""
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr ""
msgid "Run"
msgstr ""
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."

View file

@ -11,9 +11,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr ""
msgid "Access command with"
msgstr ""
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -37,6 +34,12 @@ msgstr ""
msgid "Command"
msgstr ""
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr ""
@ -67,6 +70,9 @@ msgstr ""
msgid "Download"
msgstr ""
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr ""
@ -76,12 +82,21 @@ msgstr ""
msgid "Loading"
msgstr ""
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr ""
msgid "Run"
msgstr ""
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."

View file

@ -16,9 +16,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "Короткий опис команд налаштування"
msgid "Access command with"
msgstr ""
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -43,6 +40,12 @@ msgstr "Збирання даних..."
msgid "Command"
msgstr ""
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr "Команда не виконана"
@ -74,6 +77,9 @@ msgstr "Опис"
msgid "Download"
msgstr "Завантажити"
msgid "Download execution result"
msgstr ""
#, fuzzy
msgid "Failed to execute command!"
msgstr "Помилка під час запуску команди!"
@ -84,12 +90,21 @@ msgstr ""
msgid "Loading"
msgstr "Триває завантаження"
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr "Відкритий доступ"
msgid "Run"
msgstr "Запустити"
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
#, fuzzy
msgid ""
"This page allows you to configure custom shell commands which can be easily "

View file

@ -11,9 +11,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr ""
msgid "Access command with"
msgstr ""
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -37,6 +34,12 @@ msgstr ""
msgid "Command"
msgstr ""
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr ""
@ -67,6 +70,9 @@ msgstr ""
msgid "Download"
msgstr ""
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr ""
@ -76,12 +82,21 @@ msgstr ""
msgid "Loading"
msgstr ""
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr ""
msgid "Run"
msgstr ""
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."

View file

@ -1,22 +1,20 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"PO-Revision-Date: 2013-10-08 15:47+0200\n"
"Last-Translator: Tanyingyu <Tanyingyu@163.com>\n"
"Project-Id-Version: \n"
"PO-Revision-Date: 2017-01-21 09:34+0900\n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Language-Team: none\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Pootle 2.0.6\n"
"X-Generator: Poedit 1.8.11\n"
"POT-Creation-Date: \n"
msgid "A short textual description of the configured command"
msgstr "简短描述命令用途"
msgid "Access command with"
msgstr "访问命令"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -40,6 +38,12 @@ msgstr "收集数据:"
msgid "Command"
msgstr "命令"
msgid "Command executed successfully."
msgstr "命令成功执行。"
msgid "Command exited with status code"
msgstr "命令退出,状态码:"
msgid "Command failed"
msgstr "执行命令失败"
@ -70,6 +74,9 @@ msgstr "描述"
msgid "Download"
msgstr "下载"
msgid "Download execution result"
msgstr "下载执行结果"
msgid "Failed to execute command!"
msgstr "执行命令失败!"
@ -79,12 +86,21 @@ msgstr "连接"
msgid "Loading"
msgstr "加载中"
msgid "Or display result"
msgstr "显示执行结果"
msgid "Public access"
msgstr "公共访问"
msgid "Run"
msgstr "运行"
msgid "Standard Error"
msgstr "标准错误流"
msgid "Standard Output"
msgstr "标准输出流"
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -92,3 +108,6 @@ msgstr "此页面允许您配置自定义Shell命令并可以从Web界面调
msgid "Waiting for command to complete..."
msgstr "等待命令执行完成... ..."
#~ msgid "Command exited with status code "
#~ msgstr "命令退出,状态码:"

View file

@ -14,9 +14,6 @@ msgstr ""
msgid "A short textual description of the configured command"
msgstr "以短文描述設定指令"
msgid "Access command with"
msgstr "存取指令"
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
@ -40,6 +37,12 @@ msgstr "收集資料中..."
msgid "Command"
msgstr "指令"
msgid "Command executed successfully."
msgstr ""
msgid "Command exited with status code"
msgstr ""
msgid "Command failed"
msgstr "命令失敗"
@ -70,6 +73,9 @@ msgstr "描述"
msgid "Download"
msgstr "下載"
msgid "Download execution result"
msgstr ""
msgid "Failed to execute command!"
msgstr "執行指令失敗!"
@ -79,12 +85,21 @@ msgstr "連結"
msgid "Loading"
msgstr "掛載"
msgid "Or display result"
msgstr ""
msgid "Public access"
msgstr "公用存取"
msgid "Run"
msgstr "執行"
msgid "Standard Error"
msgstr ""
msgid "Standard Output"
msgstr ""
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
@ -92,3 +107,6 @@ msgstr "只要可以從web介輕易調用, 這頁面允許你自定shell指令."
msgid "Waiting for command to complete..."
msgstr "等待完整命令中..."
#~ msgid "Access command with"
#~ msgstr "存取指令"

View file

@ -2,7 +2,7 @@
# Copyright 2008 Steven Barth <steven@midlink.org>
# Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
# Copyright 2013 Manuel Munz <freifunk at somakoma dot de>
# Copyright 2014-2016 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
# Copyright 2014-2017 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
#
# This is free software, licensed under the Apache License, Version 2.0
@ -16,7 +16,7 @@ PKG_VERSION:=2.4.8
# Release == build
# increase on changes of translation files
PKG_RELEASE:=1
PKG_RELEASE:=3
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>

View file

@ -1,7 +1,7 @@
-- Copyright 2008 Steven Barth <steven@midlink.org>
-- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
-- Copyright 2013 Manuel Munz <freifunk at somakoma dot de>
-- Copyright 2014-2016 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
-- Copyright 2014-2017 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
-- Licensed to the public under the Apache License 2.0.
module("luci.controller.ddns", package.seeall)
@ -24,7 +24,7 @@ local srv_ver_min = "2.7.6" -- minimum version of service required
local srv_ver_cmd = luci_helper .. [[ -V | awk {'print $2'}]]
local app_name = "luci-app-ddns"
local app_title = "Dynamic DNS"
local app_version = "2.4.8-1"
local app_version = "2.4.8-2"
function index()
local nxfs = require "nixio.fs" -- global definitions not available
@ -180,12 +180,10 @@ local function _get_status()
end
-- get/set monitored interface and IP version
local iface = s["interface"] or "_nonet_"
local iface = s["interface"] or "wan"
local use_ipv6 = tonumber(s["use_ipv6"]) or 0
if iface ~= "_nonet_" then
local ipv = (use_ipv6 == 1) and "IPv6" or "IPv4"
iface = ipv .. " / " .. iface
end
-- try to get registered IP
local lookup_host = s["lookup_host"] or "_nolookup_"

View file

@ -1229,7 +1229,7 @@ if DDNS.has_proxy or ( ( m:get(section, "proxy") or "" ) ~= "" ) then
elseif DDNS.has_proxy then
local ipv6 = usev6:formvalue(section) or "0"
local force = fipv:formvalue(section) or "0"
local command = CRTL.luci_helper .. [[ -]]
local command = CTRL.luci_helper .. [[ -]]
if (ipv6 == 1) then command = command .. [[6]] end
if (force == 1) then command = command .. [[f]] end
command = command .. [[p ]] .. value .. [[ -- verify_proxy]]

View file

@ -2,15 +2,15 @@ msgid ""
msgstr ""
"Project-Id-Version: luci-app-ddns 2.4.0-1\n"
"POT-Creation-Date: 2016-01-30 11:07+0100\n"
"PO-Revision-Date: 2016-07-01 22:40-0300\n"
"Last-Translator: Matheus Dal Mago <matheusdalmago10@gmail.com>\n"
"PO-Revision-Date: 2017-02-20 17:41-0300\n"
"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n"
"Language-Team: \n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 1.8.8\n"
"X-Generator: Poedit 1.8.11\n"
msgid "&"
msgstr "&"
@ -228,7 +228,7 @@ msgid "Error Retry Interval"
msgstr "Intervalo de tentativas em Erro"
msgid "Event Network"
msgstr ""
msgstr "Rede de Evento"
msgid "File"
msgstr "Arquivo"
@ -438,16 +438,16 @@ msgid "No certificates found"
msgstr "Nenhum certificado encontrado"
msgid "No data"
msgstr ""
msgstr "Sem dados"
msgid "No logging"
msgstr ""
msgstr "Sem registros"
msgid "Non-public and by default blocked IP's"
msgstr "IPs não públicos e bloqueados por padrão"
msgid "Notice"
msgstr ""
msgstr "Aviso"
msgid "Number of last lines stored in log files"
msgstr "Número das últimas linhas salvas nos arquivos de log"
@ -475,7 +475,7 @@ msgstr ""
"Em Erro, o script irá para a execução após um número definido de tentativas"
msgid "OpenWrt Wiki"
msgstr ""
msgstr "Wiki do OpenWRT"
msgid "Optional Encoded Parameter"
msgstr "Parâmetro Opcionalmente Codificado"
@ -490,7 +490,7 @@ msgid "Optional: Replaces [PARAMOPT] in Update-URL (NOT URL-encoded)"
msgstr "Opcional: Substitui [PARAMOPT] na URL de atualização"
msgid "Overview"
msgstr ""
msgstr "Visão Geral"
msgid "PROXY-Server"
msgstr "servidor PROXY"
@ -575,7 +575,7 @@ msgid "There is no service configured."
msgstr "Não há serviço configurado"
msgid "Timer Settings"
msgstr ""
msgstr "Configurações do Controlador de Tempo"
msgid "To change global settings click here"
msgstr "Clique aqui para mudar configurações globais"

View file

@ -1,183 +1,204 @@
msgid ""
msgstr ""
"Project-Id-Version: luci-app-ddns 2.4.0-1\n"
"POT-Creation-Date: 2016-01-30 11:07+0100\n"
"PO-Revision-Date: 2012-11-01 21:54+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: LuCI: ddns\n"
"POT-Creation-Date: 2017-10-17 21:00+0300\n"
"PO-Revision-Date: 2018-01-24 14:58+0300\n"
"Language-Team: http://cyber-place.ru\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7.1\n"
"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 1.8.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
"Language: ru\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
msgid "&"
msgstr ""
msgstr "и"
msgid "-- custom --"
msgstr ""
msgstr "-- пользовательский --"
msgid "-- default --"
msgstr ""
msgstr "-- по умолчанию --"
msgid "Advanced Settings"
msgstr ""
msgstr "Дополнительные настройки"
msgid "Allow non-public IP's"
msgstr ""
msgstr "Разрешить<br />не публичные IP-адреса"
msgid "Applying changes"
msgstr ""
msgstr "Применение изменений"
msgid "Basic Settings"
msgstr ""
msgstr "Основные настройки"
msgid ""
"Below a list of configuration tips for your system to run Dynamic DNS "
"updates without limitations"
msgstr ""
"Советы по настройке для запуска динамических обновлений DNS без ограничений."
msgid ""
"Below is a list of configured DDNS configurations and their current state."
msgstr ""
msgstr "Список настроек DDNS и их текущее состояние."
msgid "Bind Network"
msgstr ""
msgstr "Привязать сеть"
msgid "Binding to a specific network not supported"
msgstr ""
msgstr "Привязка к определенной сети, не поддерживается."
msgid ""
"BusyBox's nslookup and Wget do not support to specify the IP version to use "
"for communication with DDNS Provider!"
msgstr ""
"nslookup и Wget - BusyBox-а, не поддерживают указание IP-версии, "
"используемой для связи с DDNS провайдером!"
msgid ""
"BusyBox's nslookup and hostip do not support to specify to use TCP instead "
"of default UDP when requesting DNS server!"
msgstr ""
"nslookup и hostip - BusyBox-а, не поддерживают указание использовать TCP "
"вместо UDP по умолчанию при запросе DNS сервера!"
msgid ""
"BusyBox's nslookup in the current compiled version does not handle given DNS "
"Servers correctly!"
msgstr ""
"Благодаря текущей скомпилированной версии nslookup, BusyBox не обрабатывает "
"данные DNS сервера правильно!"
msgid "Casual users should not change this setting"
msgstr ""
msgstr "Случайные пользователи, не должны изменять эти настройки"
msgid "Change provider"
msgstr ""
msgstr "Сменить провайдера"
msgid "Check Interval"
msgstr ""
msgstr "Интервал проверки"
msgid "Collecting data..."
msgstr ""
msgstr "Сбор данных..."
msgid "Config error"
msgstr ""
msgstr "Ошибка config файла"
msgid "Configuration"
msgstr ""
msgstr "Настройка config файла"
msgid ""
"Configure here the details for all Dynamic DNS services including this LuCI "
"application."
msgstr ""
msgstr "Настройка для всех служб DDNS, включая это приложение LuCI."
msgid "Configure here the details for selected Dynamic DNS service."
msgstr ""
msgstr "Тонкая настройка выбранной службы DDNS."
msgid "Current setting"
msgstr ""
msgstr "Текущие настройки"
msgid ""
"Currently DDNS updates are not started at boot or on interface events.<br /"
">This is the default if you run DDNS scripts by yourself (i.e. via cron with "
"force_interval set to '0')"
msgstr ""
"В настоящее время, обновления DDNS не запускаются при загрузке или при "
"событиях интерфейса.<br />по умолчанию, если вы запускаете DDNS скрипты сами "
"(т.е. через cron с force_interval set to '0')"
msgid ""
"Currently DDNS updates are not started at boot or on interface events.<br /"
">You can start/stop each configuration here. It will run until next reboot."
msgstr ""
"В настоящее время, обновления DDNS не запускаются при загрузке или при "
"событиях интерфейса.<br />.<br />Вы можете запустить/остановить каждый "
"config здесь. Он будет работать до следующей перезагрузки."
msgid "Custom update script to be used for updating your DDNS Provider."
msgstr ""
"Пользовательский скрипт обновления, который будет использоваться для вашего "
"провайдера DDNS."
msgid "Custom update-URL"
msgstr "Пользовательский URL обновления"
msgstr "Пользовательский<br />URL обновления"
msgid "Custom update-script"
msgstr ""
msgstr "Пользовательский<br />скрипт обновления"
msgid "DDNS Autostart disabled"
msgstr ""
msgstr "Автостарт DDNS отключен"
msgid "DDNS Client Configuration"
msgstr ""
msgstr "Настройка клиента DDNS."
msgid "DDNS Client Documentation"
msgstr ""
msgstr "Информация для клиента DDNS"
msgid "DDNS Service provider"
msgstr ""
msgstr "Провайдер службы<br />DDNS"
msgid "DNS requests via TCP not supported"
msgstr ""
msgstr "DNS запросы по протоколу TCP не поддерживаются"
msgid "DNS-Server"
msgstr ""
msgstr "DNS сервер"
msgid "Date format"
msgstr ""
msgstr "Формат даты"
msgid "Defines the Web page to read systems IPv4-Address from"
msgstr ""
msgstr "Задайте веб-страницу для связи с системным IPv4-адресом из"
msgid "Defines the Web page to read systems IPv6-Address from"
msgstr ""
msgstr "Задайте веб-страницу для связи с системным IPv6-адресом из"
msgid "Defines the interface to read systems IP-Address from"
msgstr ""
msgstr "Задайте интерфейс для чтения системного IP-адреса из"
msgid "Defines the network to read systems IPv4-Address from"
msgstr ""
msgstr "Задайте сеть для связи с системным IPv4-адресом из."
msgid "Defines the network to read systems IPv6-Address from"
msgstr ""
msgstr "Задайте сеть для связи с системным IPv6-адреса из."
msgid ""
"Defines the source to read systems IPv4-Address from, that will be send to "
"the DDNS provider"
msgstr ""
"Задайте источник для связи с системным IPv4-адресом, который будет отправлен "
"DDNS провайдеру."
msgid ""
"Defines the source to read systems IPv6-Address from, that will be send to "
"the DDNS provider"
msgstr ""
"Задайте источник для связи с системным IPv6-адресом, который будет отправлен "
"DDNS провайдеру."
msgid "Defines which IP address 'IPv4/IPv6' is send to the DDNS provider"
msgstr ""
"Задайте версию протокола IP-адреса 'IPv4/IPv6' отправляется провайдеру DDNS."
msgid "Details for"
msgstr ""
msgstr "Подробности для"
msgid "Directory contains Log files for each running section"
msgstr ""
msgstr "Папка содержит файлы системного журнала для каждого запуска."
msgid ""
"Directory contains PID and other status information for each running section"
msgstr ""
msgstr "Папка содержит PID и прочую информацию о состояниии каждого запуска."
msgid "Disabled"
msgstr ""
msgstr "Отключено"
msgid "Domain"
msgstr ""
msgstr "Домен"
msgid "Dynamic DNS"
msgstr "Динамический DNS"
@ -186,136 +207,158 @@ msgid ""
"Dynamic DNS allows that your router can be reached with a fixed hostname "
"while having a dynamically changing IP address."
msgstr ""
"Динамический DNS позволяет вашему маршрутизатору иметь постоянное доменное "
"имя при динамическом IP-адресе."
"DDNS разрешает вашему маршрутизатору иметь постоянное доменное имя, при "
"динамически изменяемом IP-адресе."
msgid "Enable secure communication with DDNS provider"
msgstr ""
msgstr "Включить безопасное соединение с провайдером DDNS."
msgid "Enabled"
msgstr ""
msgstr "Включено"
msgid "Error"
msgstr ""
msgstr "Ошибка"
msgid "Error Retry Counter"
msgstr ""
msgstr "Учет попыток повтора<br />при ошибке"
msgid "Error Retry Interval"
msgstr ""
msgstr "Интервал попытки<br />повтора при ошибке"
msgid "Event Network"
msgstr ""
msgstr "Событие сети"
msgid "File"
msgstr ""
msgstr "Файл"
msgid "File not found"
msgstr ""
msgstr "Файл не найден"
msgid "File not found or empty"
msgstr ""
msgstr "Файл не найден или пустой"
msgid ""
"Follow this link<br />You will find more hints to optimize your system to "
"run DDNS scripts with all options"
msgstr ""
"Пройдите по этой ссылке<br />там вы найдете больше информации, как настроить "
"вашу систему с использованием DDNS скриптов с наиболее полным функционалом."
msgid "For detailed information about parameter settings look here."
msgstr ""
"Здесь вы сможете получить, более подробную информацию о параметрах настройки."
msgid "For supported codes look here"
msgstr ""
msgstr "С поддерживаемыми кодами, вы сможете ознакомится здесь."
msgid "Force IP Version"
msgstr ""
msgstr "Назначенная версия<br />IP-адреса"
msgid "Force IP Version not supported"
msgstr ""
msgstr "Назначенная версия протокола IP-адреса, не поддерживается"
msgid "Force Interval"
msgstr ""
msgstr "Назначить интервал"
msgid "Force TCP on DNS"
msgstr ""
msgstr "Выбрать протокол TCP для DNS"
msgid "Forced IP Version don't matched"
msgstr ""
msgstr "Назначенная версия протокола IP-адреса не проверялась"
msgid "Format"
msgstr ""
msgstr "Формат"
msgid "Format: IP or FQDN"
msgstr ""
msgstr "В виде: IP-адрес или полное доменное имя."
msgid ""
"GNU Wget will use the IP of given network, cURL will use the physical "
"interface."
msgstr ""
"GNU wget будет использовать IP присвоенный сетью, cURL будет использовать "
"физический интерфейс."
msgid "Global Settings"
msgstr ""
msgstr "Основные настройки"
msgid "HTTPS not supported"
msgstr ""
msgstr "HTTPS не поддерживается"
msgid "Hints"
msgstr ""
msgstr "Подсказки"
msgid "Hostname/FQDN to validate, if IP update happen or necessary"
msgstr ""
"Имя хоста/полное доменное имя для проверки, если происходит обновление IP-"
"адреса или оно необходимо."
msgid "IP address source"
msgstr ""
msgstr "IP адрес источника"
msgid "IP address version"
msgstr ""
msgstr "Версия IP-адреса"
msgid "IPv4-Address"
msgstr ""
msgstr "IPv4-адрес"
msgid "IPv6 address must be given in square brackets"
msgstr ""
msgstr "IPv6 адрес должен быть указан в квадратных скобках"
msgid ""
"IPv6 is currently not (fully) supported by this system<br />Please follow "
"the instructions on OpenWrt's homepage to enable IPv6 support<br />or update "
"your system to the latest OpenWrt Release"
msgstr ""
"IPv6 не поддерживается вашей прошивкой < br />, следуйте инструкциям на "
"главной странице OpenWrt, чтобы включить поддержку IPv6<br / >или обновить "
"прошивку до последнего выпуска OpenWrt с включением поддержки IPv6."
msgid "IPv6 not supported"
msgstr ""
msgstr "IPv6 не поддерживается"
msgid "IPv6-Address"
msgstr ""
msgstr "IPv6-адрес"
msgid "If both cURL and GNU Wget are installed, Wget is used by default."
msgstr ""
"Если установлены cURL и GNU Wget вместе, Wget будет использоваться по "
"умолчанию."
msgid ""
"If this service section is disabled it could not be started.<br />Neither "
"from LuCI interface nor from console"
msgstr ""
"Если этот режим службы отключен, его нельзя будет запустить. Не с веб-"
"интерфейса LuCI, ни с консоли."
msgid "If using secure communication you should verify server certificates!"
msgstr ""
"Если используется безопасное соединение, необходимо проверить сертификаты "
"сервера!"
msgid ""
"If you want to send updates for IPv4 and IPv6 you need to define two "
"separate Configurations i.e. 'myddns_ipv4' and 'myddns_ipv6'"
msgstr ""
"Версии протоколов IPv4 и IPv6 необходимо настроить раздельно , т. е. "
"'myddns_ipv4' и 'myddns_ipv6'."
msgid ""
"In some versions cURL/libcurl in OpenWrt is compiled without proxy support."
msgstr ""
"В некоторых случаях cURL/libcurl, если OpenWrt скомпилирован без поддержки "
"прокси."
msgid "Info"
msgstr ""
msgstr "Информация"
msgid ""
"Install 'ca-certificates' package or needed certificates by hand into /etc/"
"ssl/certs default directory"
msgstr ""
"Установите 'ca-certificates' или пакет необходимых сертификатов вручную в "
"папку/etc/ssl/certs"
msgid "Interface"
msgstr "Интерфейс"
@ -324,408 +367,439 @@ msgid ""
"Interval to check for changed IP<br />Values below 5 minutes == 300 seconds "
"are not supported"
msgstr ""
"Интервал для проверки измененных IP-адресов.<br />ниже 5 минут = = 300 "
"секунд не поддерживаются."
msgid ""
"Interval to force updates send to DDNS Provider<br />Setting this parameter "
"to 0 will force the script to only run once<br />Values lower 'Check "
"Interval' except '0' are not supported"
msgstr ""
"Интервал для назначения отправки обновлений провайдеру DDNS.<br />Установка "
"значения '0', заставит сценарий отработать только один раз, значения ниже "
"'Интервал проверки' за исключением '0' не поддерживаются."
msgid "It is NOT recommended for casual users to change settings on this page."
msgstr ""
"Не рекомендуется случайным пользователям, изменять настройки на этой "
"странице."
msgid "Last Update"
msgstr ""
msgstr "Последнее обновление"
msgid "Loading"
msgstr ""
msgstr "Загрузка"
msgid "Log File Viewer"
msgstr ""
msgstr "Просмотр системного журнала"
msgid "Log directory"
msgstr ""
msgstr "Папка системного<br />журнала"
msgid "Log length"
msgstr ""
msgstr "Просмотр журнала"
msgid "Log to file"
msgstr ""
msgstr "Запись в файл"
msgid "Log to syslog"
msgstr ""
msgstr "Запись в журнал"
msgid "Lookup Hostname"
msgstr ""
msgstr "Поиск имени хоста"
msgid "NOT installed"
msgstr ""
msgstr "Не установлена"
msgid ""
"Neither GNU Wget with SSL nor cURL installed to select a network to use for "
"communication."
msgstr ""
msgstr "Neither GNU Wget с SSL nor cURL установлены для выбора сети для связи."
msgid ""
"Neither GNU Wget with SSL nor cURL installed to support secure updates via "
"HTTPS protocol."
msgstr ""
"Neither GNU Wget с SSL nor cURL установлены для поддержки безопасных "
"обновлений по протоколу HTTPS."
msgid "Network"
msgstr "Сеть"
msgid "Network on which the ddns-updater scripts will be started"
msgstr ""
msgstr "Сеть, в которой будут запущены скрипты DDNS-updater"
msgid "Never"
msgstr ""
msgstr "Никогда"
msgid "Next Update"
msgstr ""
msgstr "Следующее обновление"
msgid "No certificates found"
msgstr ""
msgstr "Сертификаты не найдены"
msgid "No data"
msgstr ""
msgstr "Нет данных"
msgid "No logging"
msgstr ""
msgstr "Нет записи в системный журнал"
msgid "Non-public and by default blocked IP's"
msgstr ""
msgstr "Непубличные и по умолчанию заблокированные IP-адреса"
msgid "Notice"
msgstr ""
msgstr "Заметка"
msgid "Number of last lines stored in log files"
msgstr ""
msgstr "Число последних строк, системного журнала."
msgid "OPTIONAL: Force the usage of pure IPv4/IPv6 only communication."
msgstr ""
msgstr "Необязательно: Назначить использование версии протоколов IPv4/IPv6."
msgid "OPTIONAL: Force the use of TCP instead of default UDP on DNS requests."
msgstr ""
"Необязательно: Назначить использование протокола TCP вместо UDP по умолчанию "
"для DNS-запросов."
msgid "OPTIONAL: Network to use for communication"
msgstr ""
msgstr "Необязательно: Сеть для связи"
msgid "OPTIONAL: Proxy-Server for detection and updates."
msgstr ""
msgstr "Необязательно: Прокси-сервер для обнаружения и обновления."
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
"Необязательно: Использовать по умолчанию DNS сервер, чтобы обнаружить "
"'Зарегистрированный IP-адрес'."
msgid "On Error the script will retry the failed action after given time"
msgstr ""
"В случае ошибки, скрипт повторит неудавшееся действие по истечении заданного "
"времени."
msgid "On Error the script will stop execution after given number of retrys"
msgstr ""
"В случае ошибки, скрипт прекратит выполнение, после заданного количества "
"повторных попыток."
msgid "OpenWrt Wiki"
msgstr ""
msgstr "OpenWrt Wiki"
msgid "Optional Encoded Parameter"
msgstr ""
msgstr "Необязательный кодированный параметр"
msgid "Optional Parameter"
msgstr ""
msgstr "Необязательный<br />параметр"
msgid "Optional: Replaces [PARAMENC] in Update-URL (URL-encoded)"
msgstr ""
msgstr "Необязательно: заменяет [PARAMENC] в Update-URL-адрес (URL-encoded)."
msgid "Optional: Replaces [PARAMOPT] in Update-URL (NOT URL-encoded)"
msgstr ""
"Необязательно: заменяет [PARAMOPT] в Update-URL-адрес (не URL-encoded)."
msgid "Overview"
msgstr ""
msgstr "Главное меню"
msgid "PROXY-Server"
msgstr ""
msgstr "Прокси сервер"
msgid "PROXY-Server not supported"
msgstr ""
msgstr "Прокси сервер не поддерживается"
msgid "Password"
msgstr "Пароль"
msgid "Path to CA-Certificate"
msgstr ""
msgstr "Путь к CA-Сертификату"
msgid "Please [Save & Apply] your changes first"
msgstr ""
msgstr "Нажмите [Сохранить и применить] чтобы сохранить ваши настройки."
msgid "Please press [Read] button"
msgstr ""
msgstr "Нажмите кнопку [Читать / Перечитывать системный журнал]"
msgid "Please update to the current version!"
msgstr ""
msgstr "Обновите до текущей версии!"
msgid "Process ID"
msgstr ""
msgstr "ID процесса"
msgid "Read / Reread log file"
msgstr ""
msgstr "Читать / Перечитывать системный журнал"
msgid "Really change DDNS provider?"
msgstr ""
msgstr "Действительно сменить DDNS провайдера?"
msgid "Registered IP"
msgstr ""
msgstr "Зарегистрированный<br />IP-адрес"
msgid "Replaces [DOMAIN] in Update-URL"
msgstr ""
msgstr "Заменяет [ДОМЕН] в Update-URL."
msgid "Replaces [PASSWORD] in Update-URL (URL-encoded)"
msgstr ""
msgstr "Заменяет [ПАРОЛЬ] в Update-URL (URL-encoded)."
msgid "Replaces [USERNAME] in Update-URL (URL-encoded)"
msgstr ""
msgstr "Заменяет [ЛОГИН] in Update-URL (URL-encoded)."
msgid "Run once"
msgstr ""
msgstr "Запуск один раз"
msgid "Script"
msgstr ""
msgstr "Скрипт"
msgid "Show more"
msgstr ""
msgstr "Показать больше"
msgid "Software update required"
msgstr ""
msgstr "Требуется обновление программного обеспечения."
msgid "Specifying a DNS-Server is not supported"
msgstr ""
msgstr "Указанный DNS сервер не поддерживается"
msgid "Start"
msgstr ""
msgstr "Старт"
msgid "Start / Stop"
msgstr ""
msgstr "Старт / Стоп"
msgid "Status directory"
msgstr ""
msgstr "Папка состояния"
msgid "Stopped"
msgstr ""
msgstr "Остановлено"
msgid ""
"The currently installed 'ddns-scripts' package did not support all available "
"settings."
msgstr ""
"Пакет установленных 'ddns-scripts' не поддерживает все доступные настройки."
msgid "The default setting of '0' will retry infinite."
msgstr ""
msgstr "Значение по умолчанию '0' будет повторяться бесконечно."
msgid "There is no service configured."
msgstr ""
msgstr "Сервис не настроен."
msgid "Timer Settings"
msgstr ""
msgstr "Настройка таймера"
msgid "To change global settings click here"
msgstr ""
msgstr "Чтобы изменить основные настройки, нажмите здесь."
msgid "To use cURL activate this option."
msgstr ""
msgstr "Для использования cURL активируйте режим."
msgid "URL"
msgstr "URL"
msgid "URL to detect"
msgstr ""
msgstr "обнаружен URL"
msgid "Unknown error"
msgstr ""
msgstr "Неизвестная ошибка"
msgid ""
"Update URL to be used for updating your DDNS Provider.<br />Follow "
"instructions you will find on their WEB page."
msgstr ""
"Update URL используется для обновления DDNS-провайдера.<br />Следуйте "
"инструкциям, вы найдете их на веб-странице."
msgid "Update error"
msgstr ""
msgstr "Ошибка обновления"
msgid "Use HTTP Secure"
msgstr ""
msgstr "Использовать HTTPS"
msgid "Use cURL"
msgstr ""
msgstr "Использовать cURL"
msgid "User defined script to read systems IP-Address"
msgstr ""
msgstr "Заданный пользователем скрипт для чтения системного IP-адреса."
msgid "Username"
msgstr "Имя пользователя"
msgid "Using specific DNS Server not supported"
msgstr ""
msgstr "Использование определенного DNS сервера не поддерживается."
msgid "Verify"
msgstr ""
msgstr "Проверить"
msgid "Version"
msgstr ""
msgstr "Версия"
msgid "Version Information"
msgstr ""
msgstr "Информация о версии"
msgid "Waiting for changes to be applied..."
msgstr ""
msgstr "Ожидание применения изменений..."
msgid "Warning"
msgstr ""
msgstr "Внимание"
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
msgstr ""
"Записывать подробные сообщения в системный журнал. Файл будет автоматически "
"обрезан."
msgid ""
"Writes log messages to syslog. Critical Errors will always be written to "
"syslog."
msgstr ""
"Задайте уровень журналирования. Критические ошибки, всегда будут записаны в "
"системный журнал."
msgid ""
"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' "
"package, if you need to specify a DNS server to detect your registered IP."
msgstr ""
"Установите 'bind-host' или 'knot-host' или 'drill' или 'hostip' пакеты если "
"вам нужно указать DNS сервер для обнаружения вашего зарегистрированного IP-"
"адреса."
msgid ""
"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS "
"requests."
msgstr ""
msgstr "Установите 'bind-host' или 'knot-host' или 'drill' для DNS запросов."
msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package."
msgstr ""
msgstr "Установите 'wget' или 'curl' или 'uclient-fetch' пакет."
msgid ""
"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-"
"*ssl' package."
msgstr ""
"Установите 'wget' или 'curl' или 'uclient-fetch' с 'libustream-*ssl' пакетом."
msgid "You should install 'wget' or 'curl' package."
msgstr ""
msgstr "Установите 'wget' или 'curl' пакеты."
msgid ""
"You should install 'wget' or 'uclient-fetch' package or replace libcurl."
msgstr ""
"Вы должны установить 'wget' или пакет 'uclient-fetch' или заменить libcurl."
msgid "cURL is installed, but libcurl was compiled without proxy support."
msgstr ""
msgstr "cURL установлен, но libcurl был скомпилирован без поддержки прокси."
msgid "cURL without Proxy Support"
msgstr ""
msgstr "cURL без поддержки прокси"
msgid "can not detect local IP. Please select a different Source combination"
msgstr ""
msgstr "не может определить локальный IP-адрес. Выберите другой вариант"
msgid "can not resolve host:"
msgstr ""
msgstr "не может разрешить хост:"
msgid "config error"
msgstr ""
msgstr "ошибка в config файле"
msgid "days"
msgstr ""
msgstr "дни"
msgid "directory or path/file"
msgstr ""
msgstr "папка или путь/к файлу"
msgid "either url or script could be set"
msgstr ""
msgstr "или url или скрипт смог быть установлен"
msgid "enable here"
msgstr ""
msgstr "Включить здесь"
msgid "file or directory not found or not 'IGNORE'"
msgstr ""
msgstr "файл или папка не найдена или не 'Игнорировать'"
msgid "help"
msgstr ""
msgstr "помощь"
msgid "hours"
msgstr ""
msgstr "часа(ов)"
msgid "installed"
msgstr ""
msgstr "установлено"
msgid "invalid FQDN / required - Sample"
msgstr ""
msgstr "недопустимое полное доменное имя / обязательный образец"
msgid "minimum value '0'"
msgstr ""
msgstr "минимальное значение '0'"
msgid "minimum value '1'"
msgstr ""
msgstr "минимальное значение '1'"
msgid "minimum value 5 minutes == 300 seconds"
msgstr ""
msgstr "минимальное значение 5 минут == 300 секунд"
msgid "minutes"
msgstr ""
msgstr "минут(ы)"
msgid "missing / required"
msgstr ""
msgstr "отсутствует / не требуется"
msgid "must be greater or equal 'Check Interval'"
msgstr ""
msgstr "должно быть больше или равно 'Интервал проверки'"
msgid "must start with 'http://'"
msgstr ""
msgstr "должны начинаться с 'http://'"
msgid "nc (netcat) can not connect"
msgstr ""
msgstr "NC (netcat) не может подключиться"
msgid "never"
msgstr ""
msgstr "никогда"
msgid "no data"
msgstr ""
msgstr "нет данных"
msgid "not found or not executable - Sample: '/path/to/script.sh'"
msgstr ""
"не найден или не является исполнительным, например: '/path/to/script.sh'"
msgid "nslookup can not resolve host"
msgstr ""
msgstr "nslookup не может разрешить хост"
msgid "or"
msgstr ""
msgstr "или"
msgid "or higher"
msgstr ""
msgstr "или выше"
msgid "please disable"
msgstr ""
msgstr "отключите"
msgid "please remove entry"
msgstr ""
msgstr "удалите эту запись"
msgid "please select 'IPv4' address version"
msgstr ""
msgstr "выберите версию протокола 'IPv4' адреса"
msgid "please select 'IPv4' address version in"
msgstr ""
msgstr "выберите версию протокола 'IPv4' адреса в"
msgid "please set to 'default'"
msgstr ""
msgstr "установите режим 'по умолчанию'"
msgid "proxy port missing"
msgstr ""
msgstr "отсутствует прокси порт"
msgid "required"
msgstr ""
msgstr "требовать"
msgid "seconds"
msgstr ""
msgstr "секунд(ы)"
msgid "to run HTTPS without verification of server certificates (insecure)"
msgstr ""
msgstr "использовать HTTPS без проверки сертификатов сервера (небезопасно)"
msgid "unknown error"
msgstr ""
msgstr "неизвестная ошибка"
msgid "unspecific error"
msgstr ""
msgstr "нетипичная ошибка"
msgid "use hostname, FQDN, IPv4- or IPv6-Address"
msgstr ""
msgstr "использовать имя хоста, полное доменное имя, IPv4 или IPv6-адрес"

View file

@ -1,21 +1,22 @@
msgid ""
msgstr ""
"Project-Id-Version: LuCI: diag_core\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2012-08-15 11:44+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: LuCI: diag_core\n"
"POT-Creation-Date: 2012-08-15 11:44+0300\n"
"PO-Revision-Date: 2018-01-22 15:14+0300\n"
"Language-Team: http://cyber-place.ru\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Poedit 1.8.7.1\n"
"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Language: ru\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
msgid "Configure Diagnostics"
msgstr "Настройки диагностики"
msgstr "Настройка диагностики"
msgid "Diagnostics"
msgstr "Диагностика"
@ -24,22 +25,19 @@ msgid ""
"The diagnostics available under this menu depend on what modules you have "
"installed on your device."
msgstr ""
"Доступные в данном меню виды диагностики зависят от установленных на вашем "
"устройстве модулей. "
"Доступные виды диагностики зависят от установленных в прошивке устройства "
"пакетов модулей."
msgid ""
"The entries in the menu allow you to perform diagnostic tests on your system "
"to aid in troubleshooting."
msgstr ""
"Записи в меню позволять вам выполнить диагностику системы, чтобы помочь в "
"Настройки позволят вам выполнить диагностику системы, чтобы помочь в "
"обнаружении проблем."
msgid ""
"With this menu you can configure network diagnostics, such as network device "
"scans and ping tests."
msgstr ""
"Используя это меню, вы можете настроить диагностику сети, например, "
"сканирование сетевых устройств или ping-тест."
#~ msgid "l_d_diag"
#~ msgstr "l_d_diag"
"На этой странице вы можете настроить диагностику сети, например сканирование "
"сетевых устройств или ping-тест."

View file

@ -41,11 +41,10 @@ if (a.installed("curl") == true) then
curl_interface:depends("use_curl","1")
curl_interface.placeholder = "eth0"
else
use_curl = s:option(Flag, "use_curl", translate("Use curl instead of wget"), translate("Curl is currently not installed.")
.." Please install the package in the "
..[[<a href="]] .. DISP.build_url("admin", "system", "packages")
use_curl = s:option(Flag, "use_curl", translate("Use curl instead of wget"), translate("Curl is currently not installed. Please install the package in the")
..[[ <a href="]] .. DISP.build_url("admin", "system", "packages")
.. "?display=available&query=curl"..[[">]]
.. "Software Section" .. [[</a>]]
.. translate ("Software Section") .. [[</a>]]
.. "."
)
use_curl.rmempty = false

View file

@ -26,8 +26,8 @@ msgstr "Testen der Internetverfügbarkeit via HTTP header download"
msgid "Configuration"
msgstr "Konfiguration"
msgid "Curl is currently not installed."
msgstr "Curl ist momentan nicht installiert."
msgid "Curl is currently not installed. Please install the package in the"
msgstr "Curl ist momentan nicht installiert. Bitte installieren Sie das Paket im"
msgid "Device"
msgstr "Gerät"
@ -48,7 +48,8 @@ msgid ""
"Failure counter after how many failed download attempts, the state is "
"considered as offline"
msgstr ""
"Anzahl der fehlgeschlagenen Downloadversuche, nach denen die Verbindung als offline angesehen wird"
"Anzahl der fehlgeschlagenen Downloadversuche, nach denen die Verbindung als "
"offline angesehen wird"
msgid "List of Wireless Virtual Interfaces (wVIF)"
msgstr "Liste der Drahtlosen virtuellen Schnittstellen"
@ -75,6 +76,9 @@ msgstr "Online"
msgid "SSID"
msgstr ""
msgid "Software Section"
msgstr ""
msgid "Switch_to_offline threshold"
msgstr "Offline-Schwelle"
@ -104,3 +108,5 @@ msgstr ""
msgid "WiFi Status"
msgstr ""
#~ msgid "Curl is currently not installed."
#~ msgstr "Curl ist momentan nicht installiert."

View file

@ -0,0 +1,115 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: ja\n"
msgid "Activate this wVIF if status is:"
msgstr "wVIFを有効化する接続ステータス:"
msgid "Append hostname to ssid"
msgstr "ホスト名をSSIDに追加する"
msgid "Append the router's hostname to the SSID when connectivity check fails"
msgstr "接続性のチェックが失敗した場合、ルーターのホスト名をSSIDに追加します。"
msgid "Check Internet connectivity via HTTP header download"
msgstr ""
"HTTP ヘッダーのダウンロードを通して、インターネットの接続性をチェックします。"
msgid "Configuration"
msgstr "設定"
msgid "Curl is currently not installed. Please install the package in the"
msgstr ""
"curl は現在インストールされていません。パッケージをインストールしてください。"
msgid "Device"
msgstr "デバイス"
msgid "Disabled"
msgstr "無効"
msgid "DynaPoint"
msgstr "DynaPoint"
msgid "Dynamic Access Point Manager"
msgstr "ダイナミック アクセスポイント マネージャー"
msgid "Enabled"
msgstr "有効"
msgid ""
"Failure counter after how many failed download attempts, the state is "
"considered as offline"
msgstr "状態をオフラインと見なすまでの、ダウンロード試行の失敗回数です。"
msgid "List of Wireless Virtual Interfaces (wVIF)"
msgstr "無線仮想インターフェース (wVIF) のリスト"
msgid "List of host addresses"
msgstr "ホストアドレスのリスト"
msgid ""
"List of host addresses (url or IP) to track and request http headers from"
msgstr ""
"HTTP ヘッダーの追跡およびリクエストを行う、ホスト アドレスURLまたはIPのリ"
"ストです。"
msgid "Mode"
msgstr "モード"
msgid "Not used by DynaPoint"
msgstr "DynaPointで使用しない"
msgid "Offline"
msgstr "オフライン"
msgid "Online"
msgstr "オンライン"
msgid "SSID"
msgstr "SSID"
msgid "Software Section"
msgstr ""
msgid "Switch_to_offline threshold"
msgstr "オフライン化閾値"
msgid "Test-run interval"
msgstr "テスト実行間隔"
msgid "Time interval in seconds to re-start a new test run"
msgstr "接続性テストを再実行するまでの時間間隔(秒)です。"
msgid "Use curl"
msgstr "curl を使用する"
msgid "Use curl instead of wget"
msgstr "wget の代わりに curl を使用する"
msgid "Use curl instead of wget for testing the connectivity."
msgstr "接続性のテストの際、wget の代わりに curl を使用します。"
msgid "Used interface"
msgstr "使用するインターフェース"
msgid "Which interface should curl use. (Use ifconfig to find out)"
msgstr ""
"curl が使用するインターフェースです。ifconfigを使用してインターフェース名を確"
"認します。"
msgid "WiFi Status"
msgstr "無線ステータス"
#~ msgid "Curl is currently not installed."
#~ msgstr "curl は現在インストールされていません。"

View file

@ -0,0 +1,113 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n"
"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: pt_BR\n"
msgid "Activate this wVIF if status is:"
msgstr "Aivar este wVIF se o estado for:"
msgid "Append hostname to ssid"
msgstr "Sufixar o nome do equipamento ao SSID"
msgid "Append the router's hostname to the SSID when connectivity check fails"
msgstr ""
"Sufixar o nome do roteador ao SSID quando a verificação da conectividade "
"falhar"
msgid "Check Internet connectivity via HTTP header download"
msgstr "Cerifique a conectividade com a internet baixando o cabeçalho HTTP "
msgid "Configuration"
msgstr "Configuração"
msgid "Curl is currently not installed. Please install the package in the"
msgstr "O cURL não está instalado. Por favor instale o pacote no"
msgid "Device"
msgstr "Dispositivo"
msgid "Disabled"
msgstr "Desabilitado"
msgid "DynaPoint"
msgstr "DynaPoint"
msgid "Dynamic Access Point Manager"
msgstr "Gerenciamento do Ponto de Acesso Dinâmico"
msgid "Enabled"
msgstr "Habilitado"
msgid ""
"Failure counter after how many failed download attempts, the state is "
"considered as offline"
msgstr "Numero de falhar para considerar como inalcançável"
msgid "List of Wireless Virtual Interfaces (wVIF)"
msgstr "Lista de Interfaces Virtuais Wireless (wVIF)"
msgid "List of host addresses"
msgstr "Lista de endereços dos equipamentos"
msgid ""
"List of host addresses (url or IP) to track and request http headers from"
msgstr ""
"Lista de endereços dos equipamentos (URL ou endereço IP) para requisitar "
"cabeçalhos HTTP"
msgid "Mode"
msgstr "Modo"
msgid "Not used by DynaPoint"
msgstr "Não usado pelo DynaPoint"
msgid "Offline"
msgstr "Desconectado"
msgid "Online"
msgstr "Conectado"
msgid "SSID"
msgstr "SSID"
msgid "Software Section"
msgstr ""
msgid "Switch_to_offline threshold"
msgstr "Limiar para mudar para desconectado"
msgid "Test-run interval"
msgstr "Intervalo para execução do teste"
msgid "Time interval in seconds to re-start a new test run"
msgstr "Intervalo, em segundos, para reiniciar um nova execução do teste"
msgid "Use curl"
msgstr "Usar cURL"
msgid "Use curl instead of wget"
msgstr "Usar cURL ao invés do wget"
msgid "Use curl instead of wget for testing the connectivity."
msgstr "Usar cURL ao invés do wget para testar a conectividade."
msgid "Used interface"
msgstr "Dispositivos usadas"
msgid "Which interface should curl use. (Use ifconfig to find out)"
msgstr "Qual dispositivo o cURL deve usar. (Use ifconfig para listá-las)"
msgid "WiFi Status"
msgstr "Estado da WiFi"
#~ msgid "Curl is currently not installed."
#~ msgstr "O cURL não está instalado."

View file

@ -0,0 +1,119 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: LuCI: dynapoint\n"
"POT-Creation-Date: 2017-12-01 16:15+0300\n"
"PO-Revision-Date: 2018-01-18 21:27+0300\n"
"Language-Team: http://cyber-place.ru\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7.1\n"
"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Language: ru\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
msgid "Activate this wVIF if status is:"
msgstr "Применение DynaPoint-а"
msgid "Append hostname to ssid"
msgstr "Изменить SSID"
msgid "Append the router's hostname to the SSID when connectivity check fails"
msgstr ""
"Добавление имени хоста роутера к SSID, если подключение к интернету "
"отсутствует."
msgid "Check Internet connectivity via HTTP header download"
msgstr "Проверка подключения к интернету, с помощью получения HTTP-ответа."
msgid "Configuration"
msgstr "Настройка config файла"
msgid "Curl is currently not installed. Please install the package in the"
msgstr "Curl в настоящее время не установлен. Установите пакет на странице"
msgid "Device"
msgstr "Устройство"
msgid "Disabled"
msgstr "Отключено"
msgid "DynaPoint"
msgstr "DynaPoint"
msgid "Dynamic Access Point Manager"
msgstr "Диспетчер динамических точек доступа."
msgid "Enabled"
msgstr "Включено"
msgid ""
"Failure counter after how many failed download attempts, the state is "
"considered as offline"
msgstr ""
"Кол-во попыток получить HTTP-ответ, после чего подключение к интернету будет "
"считаться разорванным."
msgid "List of Wireless Virtual Interfaces (wVIF)"
msgstr "Список беспроводных сетей (точек доступа):"
msgid "List of host addresses"
msgstr "HTTP-адреса"
msgid ""
"List of host addresses (url or IP) to track and request http headers from"
msgstr ""
"Список HTTP-адресов (ссылка или IP-адрес) для проверки подключения к "
"интернету."
msgid "Mode"
msgstr "Режим"
msgid "Not used by DynaPoint"
msgstr "Не используется DynaPoint"
msgid "Offline"
msgstr "Отключен"
msgid "Online"
msgstr "Онлайн"
msgid "SSID"
msgstr "SSID"
msgid "Software Section"
msgstr "'Программное обеспечение'"
msgid "Switch_to_offline threshold"
msgstr "Кол-во попыток"
msgid "Test-run interval"
msgstr "Интервал"
msgid "Time interval in seconds to re-start a new test run"
msgstr ""
"Временной интервал в секундах, для повторного запуска проверки подключения к "
"интернету."
msgid "Use curl"
msgstr "Использовать curl"
msgid "Use curl instead of wget"
msgstr "Curl вместо wget"
msgid "Use curl instead of wget for testing the connectivity."
msgstr "Используйте curl вместо команды wget для тестирования подключения."
msgid "Used interface"
msgstr "Используемый интерфейс"
msgid "Which interface should curl use. (Use ifconfig to find out)"
msgstr ""
"Какой интерфейс должен использовать curl. (Использовать команду ifconfig, "
"чтобы узнать)."
msgid "WiFi Status"
msgstr "Состояние"

View file

@ -16,7 +16,7 @@ msgstr ""
msgid "Configuration"
msgstr ""
msgid "Curl is currently not installed."
msgid "Curl is currently not installed. Please install the package in the"
msgstr ""
msgid "Device"
@ -64,6 +64,9 @@ msgstr ""
msgid "SSID"
msgstr ""
msgid "Software Section"
msgstr ""
msgid "Switch_to_offline threshold"
msgstr ""
@ -90,4 +93,3 @@ msgstr ""
msgid "WiFi Status"
msgstr ""

View file

@ -73,7 +73,7 @@ o = s:option(Value, "src_ip",
translate("Source IP address"),
translate("Only match incoming traffic from this IP or range."))
o.rmempty = true
o.datatype = "neg(ip4addr)"
o.datatype = "neg(ipmask4)"
o.placeholder = translate("any")
luci.sys.net.ipv4_hints(function(ip, name)
@ -99,7 +99,7 @@ end)
o.rmempty = true
o.datatype = "neg(ip4addr)"
o.datatype = "neg(ipmask4)"
o.placeholder = translate("any")
@ -119,7 +119,7 @@ o.template = "cbi/firewall_zonelist"
o = s:option(Value, "dest_ip", translate("Internal IP address"),
translate("Redirect matched incoming traffic to the specified \
internal host"))
o.datatype = "ip4addr"
o.datatype = "ipmask4"
luci.sys.net.ipv4_hints(function(ip, name)
o:value(ip, "%s (%s)" %{ ip, name })

View file

@ -99,7 +99,7 @@ elseif rule_type == "redirect" then
o = s:option(Value, "src_ip", translate("Source IP address"))
o.rmempty = true
o.datatype = "neg(ipaddr)"
o.datatype = "neg(ipmask4)"
o.placeholder = translate("any")
luci.sys.net.ipv4_hints(function(ip, name)
@ -123,7 +123,7 @@ elseif rule_type == "redirect" then
o = s:option(Value, "dest_ip", translate("Destination IP address"))
o.datatype = "neg(ip4addr)"
o.datatype = "neg(ipmask4)"
luci.sys.net.ipv4_hints(function(ip, name)
o:value(ip, "%s (%s)" %{ ip, name })
@ -269,7 +269,7 @@ else
o = s:option(Value, "src_ip", translate("Source address"))
o.datatype = "neg(ipaddr)"
o.datatype = "neg(ipmask)"
o.placeholder = translate("any")
luci.sys.net.ipv4_hints(function(ip, name)
@ -290,7 +290,7 @@ else
o = s:option(Value, "dest_ip", translate("Destination address"))
o.datatype = "neg(ipaddr)"
o.datatype = "neg(ipmask)"
o.placeholder = translate("any")
luci.sys.net.ipv4_hints(function(ip, name)

View file

@ -126,7 +126,7 @@ msrc = s:taboption("advanced", DynamicList, "masq_src",
translate("Restrict Masquerading to given source subnets"))
msrc.optional = true
msrc.datatype = "list(neg(or(uciname,hostname,ip4addr)))"
msrc.datatype = "list(neg(or(uciname,hostname,ipmask4)))"
msrc.placeholder = "0.0.0.0/0"
msrc:depends("family", "")
msrc:depends("family", "ipv4")
@ -135,7 +135,7 @@ mdest = s:taboption("advanced", DynamicList, "masq_dest",
translate("Restrict Masquerading to given destination subnets"))
mdest.optional = true
mdest.datatype = "list(neg(or(uciname,hostname,ip4addr)))"
mdest.datatype = "list(neg(or(uciname,hostname,ipmask4)))"
mdest.placeholder = "0.0.0.0/0"
mdest:depends("family", "")
mdest:depends("family", "ipv4")

View file

@ -19,7 +19,6 @@ s.addremove = false
s:option(Flag, "syn_flood", translate("Enable SYN-flood protection"))
o = s:option(Flag, "drop_invalid", translate("Drop invalid packets"))
o.default = o.enabled
p = {
s:option(ListValue, "input", translate("Input")),

View file

@ -72,9 +72,9 @@ msgid ""
"otherwise covered by the firewall framework. The commands are executed after "
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
"Custom rule 은 방화벽 UI 로 해결이 되지 않는 임의의 iptables 명령을 "
"실행할 수 있도록 합니다. 입력된 명령어들은 매 방화벽 재시작시 실행되는데 "
"default ruleset 이 load 된 후 시점입니다."
"Custom rule 은 방화벽 UI 로 해결이 되지 않는 임의의 iptables 명령을 실행할 "
"수 있도록 합니다. 입력된 명령어들은 매 방화벽 재시작시 실행되는데 default "
"ruleset 이 load 된 후 시점입니다."
msgid "Destination IP address"
msgstr "Destination IP 주소"
@ -272,8 +272,8 @@ msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
"Port forwarding 기능은 인터넷 상의 원격 컴퓨터가 내부 LAN 에 속한 "
"특정 컴퓨터나 서비스에 접속할 수 있도록 합니다."
"Port forwarding 기능은 인터넷 상의 원격 컴퓨터가 내부 LAN 에 속한 특정 컴퓨터"
"나 서비스에 접속할 수 있도록 합니다."
msgid "Protocol"
msgstr ""
@ -285,6 +285,9 @@ msgstr ""
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
msgid "Restart Firewall"
msgstr ""
msgid "Restrict Masquerading to given destination subnets"
msgstr "주어진 destination subnet 으로 Masquerading 제한"
@ -332,8 +335,8 @@ msgid ""
"multiple WAN addresses to internal subnets."
msgstr ""
"Source NAT 기능은 masquerading 의 한 형태로써 outgoing 트래픽이 사용할 "
"source IP 를 세밀하게 제어할 수 있습니다. 예를 들어 다수의 WAN 주소들을 "
"부 subnet 에 매핑(mapping) 할 경우 사용됩니다."
"source IP 를 세밀하게 제어할 수 있습니다. 예를 들어 다수의 WAN 주소들을 "
"부 subnet 에 매핑(mapping) 할 경우 사용됩니다."
msgid "Source address"
msgstr "Source 주소"
@ -363,8 +366,8 @@ msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr ""
"방화벽 기능을 이용하여 네트워크 인터페이스와 연결된 zone 을 생성할 수 있고 "
"를 이용하여 네트워크 traffic flow 를 제어할 수 있습니다."
"방화벽 기능을 이용하여 네트워크 인터페이스와 연결된 zone 을 생성할 수 있고 "
"를 이용하여 네트워크 traffic flow 를 제어할 수 있습니다."
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
@ -375,19 +378,18 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
"이 zone (%s) 과 다른 zone 들 사이의 forwarding 정책을 제어하는 옵션들입니다. "
"<em>Destination zones</em> 은 <strong>%q 에서 출발한 </strong> "
"forward traffic 을 뜻하고, <em>Source zones</em> 은 다른 zone 들에서 "
"<strong>%q 로 전달되는</strong> forward traffic 을 뜻합니다. "
"Forwarding rule 은 <em>unidirectional</em> 인데, 예를 들어 LAN 에서 WAN "
"으로의 forward 규칙이 WAN 에서 LAN 으로의 forward 를 허락하는 것이 "
"아닙니다."
"<em>Destination zones</em> 은 <strong>%q 에서 출발한 </strong> forward "
"traffic 을 뜻하고, <em>Source zones</em> 은 다른 zone 들에서 <strong>%q 로 전"
"달되는</strong> forward traffic 을 뜻합니다. Forwarding rule 은 "
"<em>unidirectional</em> 인데, 예를 들어 LAN 에서 WAN 으로의 forward 규칙이 "
"WAN 에서 LAN 으로의 forward 를 허락하는 것이 아닙니다."
msgid ""
"This page allows you to change advanced properties of the port forwarding "
"entry. In most cases there is no need to modify those settings."
msgstr ""
"이 메뉴에서는 port forwarding 의 고급 설정 정보를 변경할 수 있습니다. "
"대부분의 경우 이 설정을 수정할 일이 없습니다."
"이 메뉴에서는 port forwarding 의 고급 설정 정보를 변경할 수 있습니다. 대부분"
"의 경우 이 설정을 수정할 일이 없습니다."
msgid ""
"This page allows you to change advanced properties of the traffic rule "
@ -405,11 +407,10 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
"이 섹션은 %q 의 공통 속성을 설정할 수 있습니다. <em>input</em> 과 "
"<em>output</em> 옵션은 이 zone 으로 전달되어 들오거나 나가는 트래픽에 대한 "
"기본 정책을 뜻합니다. <em>forward</em> 옵션은 zone 내에서 다른 네트워크들 "
"사이를 오가는 forward traffic 에 대한 정책을 뜻합니다. "
"<em>Covered networks</em> 에서는 zone 의 영향을 받을 네트워크들을 지정할 수 "
"있습니다."
"<em>output</em> 옵션은 이 zone 으로 전달되어 들오거나 나가는 트래픽에 대한 기"
"본 정책을 뜻합니다. <em>forward</em> 옵션은 zone 내에서 다른 네트워크들 사이"
"를 오가는 forward traffic 에 대한 정책을 뜻합니다. <em>Covered networks</em> "
"에서는 zone 의 영향을 받을 네트워크들을 지정할 수 있습니다."
msgid "Thursday"
msgstr "목요일"
@ -443,9 +444,9 @@ msgid ""
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
"Traffic rule 은 서로 다른 zone 사이를 오가는 패킷들에 대한 정책을 "
"정의합니다. 예를 들어 특정 host 들 사이의 트래픽을 차단하거나 "
"공유기의 WAN port 를 open 할때 사용됩니다."
"Traffic rule 은 서로 다른 zone 사이를 오가는 패킷들에 대한 정책을 정의합니"
"다. 예를 들어 특정 host 들 사이의 트래픽을 차단하거나 공유기의 WAN port 를 "
"open 할때 사용됩니다."
msgid "Tuesday"
msgstr "화요일"

View file

@ -1,17 +1,17 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-30 17:00+0200\n"
"PO-Revision-Date: 2014-06-21 19:03+0200\n"
"Last-Translator: Éder <eder.grigorio@openmailbox.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"PO-Revision-Date: 2017-02-20 17:43-0300\n"
"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Pootle 2.0.6\n"
"X-Generator: Poedit 1.8.11\n"
"Language-Team: \n"
msgid "%s in %s"
msgstr "%s in %s"
@ -143,7 +143,7 @@ msgid "Forward to"
msgstr "Encaminhar para"
msgid "Friday"
msgstr ""
msgstr "Sexta-feira"
msgid "From %s in %s"
msgstr "Vindo de %s em %s"
@ -222,10 +222,10 @@ msgstr ""
"equipamento cliente."
msgid "Monday"
msgstr ""
msgstr "Segunda-Feira"
msgid "Month Days"
msgstr ""
msgstr "Dias do mês"
msgid "Name"
msgstr "Nome"
@ -296,7 +296,7 @@ msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Redireciona tráfego entrante para o computador interno especificado"
msgid "Restart Firewall"
msgstr ""
msgstr "Reiniciar o Firewall"
msgid "Restrict Masquerading to given destination subnets"
msgstr "Restringe o mascaramento para uma subrede de destino específica"
@ -330,7 +330,7 @@ msgid "SNAT port"
msgstr "Porta da SNAT"
msgid "Saturday"
msgstr ""
msgstr "Sábado"
msgid "Source IP address"
msgstr "Endereço IP de origem"
@ -360,19 +360,19 @@ msgid "Source zone"
msgstr "Zona de origem"
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
msgstr "Dia inicial (aaaa-mm-dd)"
msgid "Start Time (hh:mm:ss)"
msgstr ""
msgstr "Hora inicial (hh:mm:ss)"
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
msgstr "Dia final (aaaa-mm-dd)"
msgid "Stop Time (hh:mm:ss)"
msgstr ""
msgstr "Hora final (hh:mm:ss)"
msgid "Sunday"
msgstr ""
msgstr "Domingo"
msgid ""
"The firewall creates zones over your network interfaces to control network "
@ -411,7 +411,6 @@ msgstr ""
"Esta página permite que você mude propriedades avançadas da entrada da regra "
"de tráfego, como os equipamentos de origem e destino."
#, fuzzy
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@ -427,10 +426,10 @@ msgstr ""
"zona."
msgid "Thursday"
msgstr ""
msgstr "Quita-feira"
msgid "Time in UTC"
msgstr ""
msgstr "Hora em UTC"
msgid "To %s at %s on <var>this device</var>"
msgstr "Para %s em %s <var>neste dispositivo</var>"
@ -463,7 +462,7 @@ msgstr ""
"ou abrir portas WAN no roteador."
msgid "Tuesday"
msgstr ""
msgstr "Terça-feira"
msgid "Via %s"
msgstr "Via %s"
@ -472,10 +471,10 @@ msgid "Via %s at %s"
msgstr "Via %s at %s"
msgid "Wednesday"
msgstr ""
msgstr "Quarta-feira"
msgid "Week Days"
msgstr ""
msgstr "Dias da semana"
msgid ""
"You may specify multiple by selecting \"-- custom --\" and then entering "

View file

@ -1,19 +1,19 @@
msgid ""
msgstr ""
"Project-Id-Version: LuCI: firewall\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-30 17:00+0200\n"
"PO-Revision-Date: 2013-09-05 16:02+0200\n"
"Last-Translator: datasheet <michael.gritsaenko@gmail.com>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: LuCI: firewall\n"
"POT-Creation-Date: 2013-09-05 16:02+0200\n"
"PO-Revision-Date: 2018-01-20 22:47+0300\n"
"Language-Team: http://cyber-place.ru\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.6\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Poedit 1.8.7.1\n"
"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n"
"%100<10 || n%100>=20) ? 1 : 2);\n"
"Language: ru\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
msgid "%s in %s"
msgstr "%s в %s"
@ -52,13 +52,13 @@ msgid "Add and edit..."
msgstr "Добавить и редактировать..."
msgid "Advanced Settings"
msgstr "Расширенные настройки"
msgstr "Дополнительные настройки"
msgid "Allow forward from <em>source zones</em>:"
msgstr "Разрешить перенаправление из <em>зон-источников</em>:"
msgstr "Разрешить перенаправление из <em>'зон-источников'</em>:"
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Разрешить перенаправление в <em>зоны назначения</em>:"
msgstr "Разрешить перенаправление в <em>'зоны назначения'</em>:"
msgid "Any"
msgstr "Любой"
@ -75,9 +75,9 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
"Пользовательские правила позволяют выполнять произвольные команды iptables, "
"которые так или иначе не покрываются данным фреймворком межсетевого экрана. "
"Команды выполняются при каждом перезапуске межсетевого экрана, сразу после "
"того, как загружен набор правил по умолчанию."
"которые не охвачены рамками межсетевого экрана.<br />Команды выполняются "
"после каждой перезагрузки межсетевого экрана, сразу после загрузки набора "
"правил по умолчанию."
msgid "Destination IP address"
msgstr "IP-адрес назначения"
@ -95,17 +95,16 @@ msgid "Do not rewrite"
msgstr "Не перезаписывать"
msgid "Drop invalid packets"
msgstr "Не пропускать некорректные пакеты"
msgstr "Не пропускать<br />некорректные пакеты"
msgid "Enable"
msgstr "Включить"
#, fuzzy
msgid "Enable NAT Loopback"
msgstr "Включить NAT Loopback"
msgid "Enable SYN-flood protection"
msgstr "Включить защиту от SYN-flood атак"
msgstr "Включить защиту<br />от SYN-flood атак"
msgid "Enable logging on this zone"
msgstr "Включить журналирование в этой зоне"
@ -120,7 +119,7 @@ msgid "External zone"
msgstr "Внешняя зона"
msgid "Extra arguments"
msgstr "Дополнительные аргументы"
msgstr "Дополнительные<br />аргументы"
msgid "Firewall"
msgstr "Межсетевой экран"
@ -144,10 +143,10 @@ msgid "Forward"
msgstr "Перенаправление"
msgid "Forward to"
msgstr "Перенаправлять в"
msgstr "Перенаправлять из"
msgid "Friday"
msgstr ""
msgstr "Пятница"
msgid "From %s in %s"
msgstr "Из %s в %s"
@ -159,7 +158,7 @@ msgid "From %s in %s with source %s and %s"
msgstr "Из %s в %s с источниками %s и %s"
msgid "General Settings"
msgstr "Общие настройки"
msgstr "Основные настройки"
msgid "IPv4"
msgstr "IPv4"
@ -177,7 +176,7 @@ msgid "IPv6 only"
msgstr "Только IPv6"
msgid "Input"
msgstr "Входящий"
msgstr "Входящий трафик"
msgid "Inter-Zone Forwarding"
msgstr "Перенаправление между зонами"
@ -200,12 +199,11 @@ msgstr "Ограничение MSS"
msgid "Masquerading"
msgstr "Маскарадинг"
#, fuzzy
msgid "Match"
msgstr "Выбирать"
msgstr "Перенаправлять в"
msgid "Match ICMP type"
msgstr "Соответствовать ICMP типу"
msgstr "Соответствовать<br />ICMP типу"
msgid "Match forwarded traffic to the given destination port or port range."
msgstr ""
@ -216,8 +214,8 @@ msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
"Выбирать входящий трафик, направленный на порт или диапазон портов данного "
"хоста"
"Порт который будет принимать входящий трафик из источника 'Внутренний "
"порт' (см.ниже)."
msgid ""
"Match incoming traffic originating from the given source port or port range "
@ -227,10 +225,10 @@ msgstr ""
"клиентского хоста."
msgid "Monday"
msgstr ""
msgstr "Понедельник"
msgid "Month Days"
msgstr ""
msgstr "Дни Месяца"
msgid "Name"
msgstr "Имя"
@ -251,7 +249,9 @@ msgid "New source NAT"
msgstr "Новый SNAT"
msgid "Only match incoming traffic directed at the given IP address."
msgstr "Выбирать только входящий трафик, направленный на указанный IP-адрес."
msgstr ""
"IP-адрес который будет принимать входящий трафик из источника 'Внутренний IP-"
"адрес' (см.ниже) ."
msgid "Only match incoming traffic from these MACs."
msgstr "Выбирать только входящий трафик от этих MAC-адресов."
@ -274,14 +274,15 @@ msgid "Other..."
msgstr "Другое..."
msgid "Output"
msgstr "Исходящий"
msgstr "Исходящий трафик"
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Передаёт дополнительные аргументы iptables. Используйте с осторожностью!"
"Передаёт дополнительные аргументы таблице iptables. Используйте с "
"осторожностью!"
msgid "Port Forwards"
msgstr "Перенаправления портов"
msgstr "Перенаправление портов"
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
@ -295,13 +296,16 @@ msgstr "Протокол"
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr "Перенаправить входящий трафик на указанный порт хоста внутренней сети"
msgstr ""
"Перенаправить исходящий трафик с данного порта на 'Внешний порт' (см.выше)."
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Перенаправить входящий трафик на указанный хост внутренней сети"
msgstr ""
"Перенаправить исходящий трафик с данного IP-адреса на 'Внешний IP-адрес' (см."
"выше)."
msgid "Restart Firewall"
msgstr ""
msgstr "Перезапустить межсетевой экран"
msgid "Restrict Masquerading to given destination subnets"
msgstr "Использовать маскарадинг только для указанных подсетей-получателей"
@ -310,7 +314,7 @@ msgid "Restrict Masquerading to given source subnets"
msgstr "Использовать маскарадинг только для указанных подсетей-отправителей"
msgid "Restrict to address family"
msgstr "Использовать только семейство протоколов"
msgstr "Использовать протокол"
msgid "Rewrite matched traffic to the given address."
msgstr "Перенаправлять соответствующий трафик к указанному адресу."
@ -335,29 +339,8 @@ msgid "SNAT port"
msgstr "Порт SNAT"
msgid "Saturday"
msgstr ""
msgstr "Суббота"
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/rrule.lua #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# msgid "Traffic Redirection"
# msgstr ""
# msgid ""
# "Traffic redirection allows you to change the destination address of "
# "forwarded packets."
# msgstr ""
# msgid "Overview"
# msgstr ""
# msgid "Name"
# msgstr ""
# msgid "Source zone"
# msgstr ""
# msgid "Source MAC-address"
# msgstr ""
# msgid "Source port"
# msgstr ""
# msgid "Protocol"
# msgstr ""
msgid "Source IP address"
msgstr "IP-адрес источника"
@ -365,7 +348,7 @@ msgid "Source MAC address"
msgstr "MAC-адрес источника"
msgid "Source NAT"
msgstr "SNAT"
msgstr "NAT источника"
msgid ""
"Source NAT is a specific form of masquerading which allows fine grained "
@ -384,22 +367,22 @@ msgid "Source port"
msgstr "Порт источника"
msgid "Source zone"
msgstr "Зона-источник"
msgstr "Зона источника"
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
msgstr "Дата начала<br />(год-мес-день)"
msgid "Start Time (hh:mm:ss)"
msgstr ""
msgstr "Время начала<br />(чч:мм:сс)"
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
msgstr "Дата остановки<br />(год-мес-день)"
msgid "Stop Time (hh:mm:ss)"
msgstr ""
msgstr "Время остановки<br />(чч:мм:сс)"
msgid "Sunday"
msgstr ""
msgstr "Воскресенье"
msgid ""
"The firewall creates zones over your network interfaces to control network "
@ -414,28 +397,27 @@ msgid ""
"rule is <em>unidirectional</em>, e.g. a forward from lan to wan does "
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
"Данные настройки управляют перенаправлением между этой (%s) и другими "
"зонами. Трафиком <em>зон-получателей</em> является трафик <strong>исходящий "
"из %q</strong>. Трафиком <em>зон-источников</em> является трафик "
"<strong>направленый в %q</strong>. Перенаправление является "
"<em>однонаправленным</em>, то есть перанаправление из lan в wan <em>не</em> "
"допускает перенаправление трафика из wan в lan."
"Данные настройки управляют политиками перенаправления между этой (%s) и "
"другими зонами. Трафиком <em>'зон-назначения'</em> является перенаправленный "
"трафик <strong>'исходящий из %q'</strong>. Трафиком <em>'зон-источников'</"
"em> является трафик <strong>'направленый в %q'</strong>. Перенаправление "
"является <em>'однонаправленным'</em>, то есть перенаправление из lan в wan "
"<em>'не'</em> допускает перенаправление трафика из wan в lan."
msgid ""
"This page allows you to change advanced properties of the port forwarding "
"entry. In most cases there is no need to modify those settings."
msgstr ""
"На этой странице можно изменить расширенные настройки перенаправления "
"портов. В большинстве случаев нет необходимости изменять эти параметры."
"На этой странице можно изменить расширенные настройки перенаправления портов."
"<br />В большинстве случаев нет необходимости изменять эти параметры."
msgid ""
"This page allows you to change advanced properties of the traffic rule "
"entry, such as matched source and destination hosts."
msgstr ""
"На этой странице можно изменить расширенные настройки правил для трафика. В "
"большинстве случаев нет необходимости изменять эти параметры."
"На этой странице можно изменить расширенные настройки правил для трафика."
"<br />В большинстве случаев нет необходимости изменять эти параметры."
#, fuzzy
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@ -443,18 +425,18 @@ msgid ""
"forwarded traffic between different networks within the zone. <em>Covered "
"networks</em> specifies which available networks are members of this zone."
msgstr ""
"Данная секция позволяет изменять общие настройки %q. Опции <em>входящий</em> "
"и <em>исходящий</em> устанавливают политику по умолчанию для входящего и "
"исходящего трафика. Опция <em>перенаправление</em> позволяет установить "
"политику для трафика, который перенаправляется через несколько сетей в зоне. "
"Пункт <em>использовать сети</em> позволяет указать, какие сети являются "
"частью данной зоны."
"Страница содержит общие свойства %q. Режимы <em>'Входящий трафик'</em> и "
"<em>'Исходящий трафик'</em> устанавливают политики по умолчанию для трафика, "
"поступающего и покидающего эту зону, в то время как режим "
"<em>'Перенаправление'</em> описывает политику пересылки трафика между "
"различными сетями внутри зоны. <em>'Использовать сети'</em> указывает, какие "
"доступные сети являются членами этой зоны."
msgid "Thursday"
msgstr ""
msgstr "Четверг"
msgid "Time in UTC"
msgstr ""
msgstr "Время UTC"
msgid "To %s at %s on <var>this device</var>"
msgstr "К %s, порту %s на <var>этом устройстве</var>"
@ -483,11 +465,11 @@ msgid ""
"the router."
msgstr ""
"Правила для трафика определяют политику прохождения пакетов между разными "
"зонами, например, запрет трафика между некоторыми хостами или открытие WAN-"
"зонами, например запрет трафика между некоторыми хостами или открытие WAN-"
"портов маршрутизатора."
msgid "Tuesday"
msgstr ""
msgstr "Вторник"
msgid "Via %s"
msgstr "Через %s"
@ -496,16 +478,16 @@ msgid "Via %s at %s"
msgstr "Через %s, порт %s"
msgid "Wednesday"
msgstr ""
msgstr "Среда"
msgid "Week Days"
msgstr ""
msgstr "Дни недели"
msgid ""
"You may specify multiple by selecting \"-- custom --\" and then entering "
"protocols separated by space."
msgstr ""
"Вы можете указать несколько, выбрав \"-- пользовательский --\" и перечислив "
"Вы можете указать несколько, выбрав '-- пользовательский --' и перечислив "
"через пробел названия протоколов."
msgid "Zone %q"
@ -542,4 +524,4 @@ msgid "reject"
msgstr "отвергать"
msgid "traffic"
msgstr ""
msgstr "трафик"

View file

@ -1,33 +1,32 @@
msgid ""
msgstr ""
"Project-Id-Version: LuCI: freifunk-policyrouting\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-07-25 12:26+0200\n"
"PO-Revision-Date: 2012-08-15 15:27+0300\n"
"Last-Translator: Roman A. aka BasicXP <x12ozmouse@ya.ru>\n"
"Language-Team: Russian <x12ozmouse@ya.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: LuCI: freifunk-policyrouting\n"
"POT-Creation-Date: 2012-08-15 15:27+0300\n"
"PO-Revision-Date: 2018-01-26 01:21+0300\n"
"Language-Team: http://cyber-place.ru\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Pootle 2.0.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Poedit 1.8.7.1\n"
"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Language: ru\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
msgid ""
"All traffic from interfaces belonging to these zones will be sent via a "
"gateway in the mesh network."
msgstr ""
"Весь трафик от интерфейсов, принадлежащих этим зонам, будет послан через "
"шлюз в ячеистой сети."
"Весь трафик из интерфейсов, принадлежащих к этим зонам, будет отправлен "
"через шлюз в сети Mesh."
msgid "Enable Policy Routing"
msgstr "Разрешить политику маршрутизации"
#, fuzzy
msgid "Fallback to mesh"
msgstr "Откат к ячеистой сети"
msgstr "Oткат к Mesh сети"
msgid "Firewall zones"
msgstr "Зоны межсетевого экрана"
@ -38,16 +37,16 @@ msgid ""
"connection as a fallback. If you do not want this and instead block that "
"traffic then you should select this option."
msgstr ""
"Трафик, принадлежащий выбранным зонам межсетевого экрана, маршрутизируется "
"через ваше интернет-соединение, если маршрут по умолчанию не был получен из "
"ячеистой сети. Если вас это не устраивает, то выберите эту опцию и данный "
"трафик будет заблокирован."
"Если маршрут по умолчанию не получен от сети Mesh, то трафик принадлежащий "
"выбранным зонам межсетевого экрана, перенаправляется через Интернет в "
"качестве резервного. Если вас это не устраивает, то выберите эту опцию и "
"данный трафик будет заблокирован."
msgid ""
"If your own gateway is not available then fallback to the mesh default "
"gateway."
msgstr ""
"Если ваш шлюз не доступен, откатиться к использованию шлюза ячеистой сети по "
"Если ваш шлюз не доступен, откатиться к использованию шлюза Mesh сети по "
"умолчанию."
msgid "Policy Routing"
@ -65,6 +64,6 @@ msgid ""
msgstr ""
"На этих страницах Вы можете настроить политику маршрутизации для "
"определённых зон межсетевого экрана. Это может быть полезно, если вы хотите "
"использовать интернет-соединения только для себя. Ваш трафик в этом случае "
"будет использовать только ваше интернет-соединение, в то время как трафик "
"ячеистой сети будет использовать другой шлюз."
"использовать Интернет соединения только для себя. Ваш трафик в этом случае "
"будет использовать только ваше Интернет соединение, в то время как трафик "
"Mesh сети будет использовать другой шлюз в сети Mesh."

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
LUCI_TITLE:=Fwknopd config - web config for the firewall knock daemon
LUCI_DEPENDS:=+fwknopd +qrencode
PKG_VERSION:=1.0
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_LICENSE:=GPLv2
PKG_MAINTAINER:=Jonathan Bennett <JBennett@incomsystems.biz>
include ../../luci.mk

View file

@ -0,0 +1,116 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n"
"Last-Translator: Luiz Angelo Daros de Luca <luizluca@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: pt_BR\n"
msgid ""
"Allow SPA clients to request access to services through an iptables firewall "
"instead of just to it."
msgstr ""
"Permitir que clientes SPA requeiram acesso a serviços através de um firewall "
"iptables ao invés de apenas fazê-lo."
msgid "Allow SPA clients to request forwarding destination by DNS name."
msgstr ""
"Permitir que clientes SPA requeiram encaminhamento de destinos por nome DNS."
msgid "Base 64 key"
msgstr "Chave em formato base64"
msgid ""
"Define a set of ports and protocols (tcp or udp) that will be opened if a "
"valid knock sequence is seen. If this entry is not set, fwknopd will attempt "
"to honor any proto/port request specified in the SPA data (unless of it "
"matches any “RESTRICT_PORTS” entries). Multiple entries are comma-separated."
msgstr ""
"Define um conjunto de porta e protocolos (TCP ou UDP) que serão abertos se "
"uma sequência de batidas for observada. Se esta entrada não estiver "
"definida, fwknopd irá tentar honrar qualquer requisição de protocolo/porta "
"especificada nos dados SPA (a não ser se casar com qualquer entrada de "
"\"RESTRICT_PORTS\"). Múltiplas entradas serão separadas por vírgula."
msgid ""
"Define the length of time access will be granted by fwknopd through the "
"firewall after a valid knock sequence from a source IP address. If "
"“FW_ACCESS_TIMEOUT” is not set then the default timeout of 30 seconds will "
"automatically be set."
msgstr ""
"Define a duração do tempo de acesso que será concedido pelo fwknopd através "
"do firewall depois de uma sequência de batidas válida de um endereço IP. Se "
"“FW_ACCESS_TIMEOUT” não estiver definido, o valor padrão será de 30 "
"segundos. "
msgid ""
"Define the symmetric key used for decrypting an incoming SPA packet that is "
"encrypted by the fwknop client with Rijndael."
msgstr ""
"Define a chave simétrica usada para decifrar um pacote SPA entrante que foi "
"cifrado pelo cliente fwknop com o algoritmo Rijndael."
msgid "Enable Uci/Luci control"
msgstr "Habilitar o controle UCI/Luci"
msgid "Enable config overwrite"
msgstr "Habilitar a sobrescrita da configuração"
msgid "Firewall Knock Daemon"
msgstr "Servidor do Firwall Knock"
msgid "Firewall Knock Operator"
msgstr "Operador do Firewall Knock"
msgid ""
"Force all SPA packets to contain a real IP address within the encrypted "
"data. This makes it impossible to use the -s command line argument on the "
"fwknop client command line, so either -R has to be used to automatically "
"resolve the external address (if the client behind a NAT) or the client must "
"know the external IP and set it via the -a argument."
msgstr ""
"Forçar que todos os pacotes SPA contenham um endereço IP real dentro do "
"pacote cifrado. Isto torna impossível o uso do argumento de linha de comando "
"'-s' no cliente fwknop. Desta forma, ou o argumento '-R' deve ser usada para "
"resolver os endereços externos automaticamente (se o cliente estiver atrás "
"de uma NAT) ou o ciente deve conhecer o seu endereço IP externo e defini-lo "
"através do argumento '-a'."
msgid ""
"Maximum age in seconds that an SPA packet will be accepted. defaults to 120 "
"seconds"
msgstr ""
"Idade máxima, em segundos, que um pacote SPA será aceito. Padrão é 120 "
"segundos."
msgid "Normal Key"
msgstr "Chave Normal"
msgid "Specify the ethernet interface on which fwknopd will sniff packets."
msgstr ""
"Especifica o dispositivo ethernet no qual o fwknopd irá observar os pacotes."
msgid "The base64 hmac key"
msgstr "A chave de autenticação HMAC em formato base64"
msgid "Use ANY for any source ip"
msgstr "Use \"ANY\" para qualquer endereço IP de origem"
msgid ""
"When unchecked, the config files in /etc/fwknopd will be used as is, "
"ignoring any settings here."
msgstr ""
"Quando desmarcado, os arquivos de configuração em /etc/fwknopd serão usados "
"como estão, ignorando qualquer ajustes feitos aqui."
msgid "access.conf stanzas"
msgstr "Estâncias do access.conf"
msgid "fwknopd.conf config options"
msgstr "Opções do fwknopd.conf"

View file

@ -0,0 +1,119 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: LuCI: fwknopd\n"
"POT-Creation-Date: 2017-12-01 12:15+0300\n"
"PO-Revision-Date: 2018-01-13 14:53+0300\n"
"Language-Team: http://cyber-place.ru\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7.1\n"
"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Language: ru\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
msgid ""
"Allow SPA clients to request access to services through an iptables firewall "
"instead of just to it."
msgstr ""
"Разрешить SPA клиентам запрашивать доступ к сервисам через iptables "
"межсетевого экрана, а не напрямую."
msgid "Allow SPA clients to request forwarding destination by DNS name."
msgstr ""
"Разрешить SPA клиентам запрашивать направление переадресации по DNS-имени."
msgid "Base 64 key"
msgstr "64-битный ключ"
msgid ""
"Define a set of ports and protocols (tcp or udp) that will be opened if a "
"valid knock sequence is seen. If this entry is not set, fwknopd will attempt "
"to honor any proto/port request specified in the SPA data (unless of it "
"matches any “RESTRICT_PORTS” entries). Multiple entries are comma-separated."
msgstr ""
"Задайте порты и протоколы (TCP или UDP), которые будут открыты, если задана "
"допустимая последовательность защищенного постукивания. Если порты и "
"протоколы не заданы, fwknopd постарается исполнить любой прото/порт запрос, "
"указанный в SPA данных (если он соответствует любой 'RESTRICT_PORTS' "
"записи). Последовательность данных, разделенных запятыми."
msgid ""
"Define the length of time access will be granted by fwknopd through the "
"firewall after a valid knock sequence from a source IP address. If "
"“FW_ACCESS_TIMEOUT” is not set then the default timeout of 30 seconds will "
"automatically be set."
msgstr ""
"Задайте промежуток времени, в течение которого демоном fwknopd будет "
"предоставлен доступ через межсетевой экран, после допустимой "
"последовательности защищенного постукивания из исходящего IP-адреса. Если "
"параметр 'FW_ACCESS_TIMEOUT' не установлен, то автоматически устанавливается "
"время ожидания по умолчанию 30 секунд."
msgid ""
"Define the symmetric key used for decrypting an incoming SPA packet that is "
"encrypted by the fwknop client with Rijndael."
msgstr ""
"Задайте симметричный ключ, используемый для расшифровки входящего SPA пакета "
"зашифрованного fwknop клиентом с помощью Rijndael."
msgid "Enable Uci/Luci control"
msgstr "Включить управление в Uci/LuCI"
msgid "Enable config overwrite"
msgstr "Настроить config файл"
msgid "Firewall Knock Daemon"
msgstr "Firewall Knock Daemon"
msgid "Firewall Knock Operator"
msgstr "Настройка защищенного постукивания межсетевого экрана"
msgid ""
"Force all SPA packets to contain a real IP address within the encrypted "
"data. This makes it impossible to use the -s command line argument on the "
"fwknop client command line, so either -R has to be used to automatically "
"resolve the external address (if the client behind a NAT) or the client must "
"know the external IP and set it via the -a argument."
msgstr ""
"Обязать все SPA пакеты содержать реальный IP-адрес в зашифрованных данных. "
"Это делает невозможным использование аргумента командной строки '-s' в "
"командной строке fwknop клиента, поэтому либо аргумент '-R' должен "
"использоваться для автоматического разрешения внешнего адреса (если клиент "
"за NAT), либо клиент должен знать внешний IP и установить его используя "
"аргумент '-a'."
msgid ""
"Maximum age in seconds that an SPA packet will be accepted. defaults to 120 "
"seconds"
msgstr ""
"Максимальное время в секундах, в течение которых будет принят SPA пакет, по "
"умолчанию 120 секунд."
msgid "Normal Key"
msgstr "Нормальный ключ"
msgid "Specify the ethernet interface on which fwknopd will sniff packets."
msgstr "Укажите ethernet интерфейс, пакеты которого fwknopd будет снифить."
msgid "The base64 hmac key"
msgstr "Ключ Base64 HMAC."
msgid "Use ANY for any source ip"
msgstr "Использовать ЛЮБОЙ, для любого исходящего IP."
msgid ""
"When unchecked, the config files in /etc/fwknopd will be used as is, "
"ignoring any settings here."
msgstr ""
"Если не отмечено, будет использоваться дефолтный config файл fwknopd (/etc/"
"fwknopd), игнорируя любые изменения настроек fwknopd здесь. "
msgid "access.conf stanzas"
msgstr "Строки config файла access.conf"
msgid "fwknopd.conf config options"
msgstr "Настройка config файла - fwknopd.conf"

View file

@ -3,6 +3,7 @@
#-- Licensed to the public under the GNU General Public License v2.
. /lib/functions/network.sh
[ "$(uci -q get fwknopd.@access[0].KEY)" != "CHANGEME" ] && exit 0
uci batch <<EOF
add ucitrack fwknopd
set ucitrack.@fwknopd[-1].init=fwknopd

View file

@ -10,6 +10,6 @@ function index()
local page
page = entry({"admin", "services", "hd_idle"}, cbi("hd_idle"), _("hd-idle"), 60)
page = entry({"admin", "services", "hd_idle"}, cbi("hd_idle"), _("HDD Idle"), 60)
page.dependent = true
end

View file

@ -3,8 +3,8 @@
require("nixio.fs")
m = Map("hd-idle", "hd-idle",
translate("hd-idle is a utility program for spinning-down external " ..
m = Map("hd-idle", translate("HDD Idle"),
translate("HDD Idle is a utility program for spinning-down external " ..
"disks after a period of idle time."))
s = m:section(TypedSection, "hd-idle", translate("Settings"))
@ -18,9 +18,9 @@ for dev in nixio.fs.glob("/dev/[sh]d[a-z]") do
disk:value(nixio.fs.basename(dev))
end
s:option(Value, "idle_time_interval", translate("Idle-time")).default = 10
s:option(Value, "idle_time_interval", translate("Idle time")).default = 10
s.rmempty = true
unit = s:option(ListValue, "idle_time_unit", translate("Idle-time unit"))
unit = s:option(ListValue, "idle_time_unit", translate("Idle time unit"))
unit.default = "minutes"
unit:value("minutes", translate("min"))
unit:value("hours", translate("h"))

View file

@ -21,10 +21,20 @@ msgstr "Disc"
msgid "Enable"
msgstr "Habilita"
msgid "Idle-time"
msgid "HDD Idle"
msgstr "HDD Idle"
msgid ""
"HDD Idle is a utility program for spinning-down external disks after a "
"period of idle time."
msgstr ""
"HDD Idle és un programa per ralentitzar els discos externs després d'un "
"període de temps inactiu."
msgid "Idle time"
msgstr "Temps d'inactivitat"
msgid "Idle-time unit"
msgid "Idle time unit"
msgstr "Unitat de temps d'inactivitat"
msgid "Settings"
@ -34,16 +44,6 @@ msgstr "Ajusts"
msgid "h"
msgstr "h"
msgid "hd-idle"
msgstr "hd-idle"
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
"of idle time."
msgstr ""
"hd-idle és un programa per ralentitzar els discos externs després d'un "
"període de temps inactiu."
# Minutes (not minimum)
msgid "min"
msgstr "min"

View file

@ -21,10 +21,20 @@ msgstr "Disk"
msgid "Enable"
msgstr "Povolit"
msgid "Idle-time"
msgid "HDD Idle"
msgstr "HDD Idle"
msgid ""
"HDD Idle is a utility program for spinning-down external disks after a "
"period of idle time."
msgstr ""
"HDD Idle je utilita pro vypnutí externích pevných disků po určité době "
"nečinnosti."
msgid "Idle time"
msgstr "Čas nečinnosti"
msgid "Idle-time unit"
msgid "Idle time unit"
msgstr "Čas nečinnosti - jednotka"
msgid "Settings"
@ -34,16 +44,6 @@ msgstr "Nastavení"
msgid "h"
msgstr "h"
msgid "hd-idle"
msgstr "hd-idle"
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
"of idle time."
msgstr ""
"hd-idle je utilita pro vypnutí externích pevných disků po určité době "
"nečinnosti."
# Minut (ne minimum)
msgid "min"
msgstr "min"

View file

@ -19,10 +19,20 @@ msgstr "Festplatte"
msgid "Enable"
msgstr "Aktivieren"
msgid "Idle-time"
msgid "HDD Idle"
msgstr "HDD Idle"
msgid ""
"HDD Idle is a utility program for spinning-down external disks after a "
"period of idle time."
msgstr ""
"HDD Idle ist ein Hilfsprogramm um externe Festplatten nach einer "
"festgelegten Leerlaufzeit herunter zu fahren."
msgid "Idle time"
msgstr "Leerlaufzeit"
msgid "Idle-time unit"
msgid "Idle time unit"
msgstr "Leerlaufzeiteinheit"
msgid "Settings"
@ -32,16 +42,6 @@ msgstr "Einstellungen"
msgid "h"
msgstr "Stunden"
msgid "hd-idle"
msgstr "hd-idle"
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
"of idle time."
msgstr ""
"hd-idle ist ein Hilfsprogramm um externe Festplatten nach einer festgelegten "
"Leerlaufzeit herunter zu fahren."
# Minutes (not minimum)
msgid "min"
msgstr "Minuten"

View file

@ -19,10 +19,18 @@ msgstr "Δίσκος"
msgid "Enable"
msgstr "Ενεργοποίηση"
msgid "Idle-time"
msgid "HDD Idle"
msgstr ""
msgid "Idle-time unit"
msgid ""
"HDD Idle is a utility program for spinning-down external disks after a "
"period of idle time."
msgstr ""
msgid "Idle time"
msgstr ""
msgid "Idle time unit"
msgstr ""
msgid "Settings"
@ -32,14 +40,6 @@ msgstr "Ρυθμίσεις"
msgid "h"
msgstr "ω"
msgid "hd-idle"
msgstr ""
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
"of idle time."
msgstr ""
# Minutes (not minimum)
msgid "min"
msgstr "λεπτά"

View file

@ -17,11 +17,21 @@ msgstr "Disk"
msgid "Enable"
msgstr "Enable"
msgid "Idle-time"
msgstr "Idle-time"
msgid "HDD Idle"
msgstr ""
msgid "Idle-time unit"
msgstr "Idle-time unit"
msgid ""
"HDD Idle is a utility program for spinning-down external disks after a "
"period of idle time."
msgstr ""
"HDD Idle is a utility program for spinning-down external disks after a "
"period of idle time."
msgid "Idle time"
msgstr "Idle time"
msgid "Idle time unit"
msgstr "Idle time unit"
msgid "Settings"
msgstr "Settings"
@ -30,16 +40,6 @@ msgstr "Settings"
msgid "h"
msgstr "h"
msgid "hd-idle"
msgstr ""
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
"of idle time."
msgstr ""
"hd-idle is a utility program for spinning-down external disks after a period "
"of idle time."
# Minutes (not minimum)
msgid "min"
msgstr "min"

View file

@ -19,10 +19,20 @@ msgstr "Disco"
msgid "Enable"
msgstr "Activar"
msgid "Idle-time"
msgid "HDD Idle"
msgstr "HDD Idle"
msgid ""
"HDD Idle is a utility program for spinning-down external disks after a "
"period of idle time."
msgstr ""
"HDD Idle es un programa que gestiona el reposo de discos externos tras un "
"tiempo de inactividad."
msgid "Idle time"
msgstr "Tiempo de inactividad"
msgid "Idle-time unit"
msgid "Idle time unit"
msgstr "Unidad de tiempo"
msgid "Settings"
@ -32,16 +42,6 @@ msgstr "Configuración"
msgid "h"
msgstr "h"
msgid "hd-idle"
msgstr "hd-idle"
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
"of idle time."
msgstr ""
"hd-idle es un programa que gestiona el reposo de discos externos tras un "
"tiempo de inactividad."
# Minutes (not minimum)
msgid "min"
msgstr "minutos"

View file

@ -19,10 +19,20 @@ msgstr "Disque"
msgid "Enable"
msgstr "Activer"
msgid "Idle-time"
msgid "HDD Idle"
msgstr "HDD Idle"
msgid ""
"HDD Idle is a utility program for spinning-down external disks after a "
"period of idle time."
msgstr ""
"HDD Idle est un utilitaire pour arrêter la rotation des disques externes "
"après une période d'inactivité."
msgid "Idle time"
msgstr "Temps d'inactivité"
msgid "Idle-time unit"
msgid "Idle time unit"
msgstr "Unité de temps"
msgid "Settings"
@ -32,16 +42,6 @@ msgstr "Réglages"
msgid "h"
msgstr "h"
msgid "hd-idle"
msgstr "hd-idle"
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
"of idle time."
msgstr ""
"hd-idle est un utilitaire pour arrêter la rotation des disques externes "
"après une période d'inactivité."
# Minutes (not minimum)
msgid "min"
msgstr "min"

View file

@ -21,10 +21,20 @@ msgstr "כונן"
msgid "Enable"
msgstr "אפשר"
msgid "Idle-time"
msgid "HDD Idle"
msgstr ""
msgid ""
"HDD Idle is a utility program for spinning-down external disks after a "
"period of idle time."
msgstr ""
"HDD Idle הינה תוכנת שירות שמטרתה להקטין את מהירות הסיבוב של כוננים חיצוניים "
"לאחר זמן מסוים של חוסר פעילות."
msgid "Idle time"
msgstr "זמן חוסר פעילות"
msgid "Idle-time unit"
msgid "Idle time unit"
msgstr "יחידת זמן חוסר פעילות"
msgid "Settings"
@ -34,16 +44,6 @@ msgstr "הגדרות"
msgid "h"
msgstr "ש'"
msgid "hd-idle"
msgstr ""
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
"of idle time."
msgstr ""
"hd-idle הינה תוכנת שירות שמטרתה להקטין את מהירות הסיבוב של כוננים חיצוניים "
"לאחר זמן מסוים של חוסר פעילות."
# Minutes (not minimum)
msgid "min"
msgstr "דק'"

View file

@ -21,10 +21,20 @@ msgstr "Lemez"
msgid "Enable"
msgstr "Engedélyezés"
msgid "Idle-time"
msgid "HDD Idle"
msgstr "HDD Idle"
msgid ""
"HDD Idle is a utility program for spinning-down external disks after a "
"period of idle time."
msgstr ""
"HDD Idle egy a külső lemezek adott üresjárati idő után történő leállítására "
"szolgáló segédprogram."
msgid "Idle time"
msgstr "Üresjárati idő"
msgid "Idle-time unit"
msgid "Idle time unit"
msgstr "Üresjárati idő egysége"
msgid "Settings"
@ -34,16 +44,6 @@ msgstr "Beállítások"
msgid "h"
msgstr "óra"
msgid "hd-idle"
msgstr "hd-idle"
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
"of idle time."
msgstr ""
"hd-idle egy a külső lemezek adott üresjárati idő után történő leállítására "
"szolgáló segédprogram."
# Minutes (not minimum)
msgid "min"
msgstr "perc"

View file

@ -19,10 +19,20 @@ msgstr "Disco"
msgid "Enable"
msgstr "Abilita"
msgid "Idle-time"
msgid "HDD Idle"
msgstr "HDD Idle"
msgid ""
"HDD Idle is a utility program for spinning-down external disks after a "
"period of idle time."
msgstr ""
"HDD Idle è un programma per mettere in standby i dischi esterni dopo un "
"periodo di inattività."
msgid "Idle time"
msgstr "Tempo di inattività"
msgid "Idle-time unit"
msgid "Idle time unit"
msgstr "Unità di misura del tempo di inattività"
msgid "Settings"
@ -32,16 +42,6 @@ msgstr "Opzioni"
msgid "h"
msgstr "ora/e"
msgid "hd-idle"
msgstr "hd-idle"
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
"of idle time."
msgstr ""
"HD-idle è un programma per mettere in standby i dischi esterni dopo un "
"periodo di inattività."
# Minutes (not minimum)
msgid "min"
msgstr "min"

View file

@ -19,10 +19,20 @@ msgstr "ディスク"
msgid "Enable"
msgstr "有効"
msgid "Idle-time"
msgid "HDD Idle"
msgstr "HDD Idle"
msgid ""
"HDD Idle is a utility program for spinning-down external disks after a "
"period of idle time."
msgstr ""
"HDD Idleはアイドル時に外部ディスクをスピンダウンさせるための、ユーティリティ"
"プログラムです。"
msgid "Idle time"
msgstr "アイドル時間"
msgid "Idle-time unit"
msgid "Idle time unit"
msgstr "アイドル時間 (単位)"
msgid "Settings"
@ -32,16 +42,6 @@ msgstr "設定"
msgid "h"
msgstr "時"
msgid "hd-idle"
msgstr "hd-idle"
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
"of idle time."
msgstr ""
"hd-idleはアイドル時に外部ディスクをスピンダウンさせるための、ユーティリティプ"
"ログラムです。"
# Minutes (not minimum)
msgid "min"
msgstr "分"

View file

@ -18,10 +18,18 @@ msgstr ""
msgid "Enable"
msgstr ""
msgid "Idle-time"
msgid "HDD Idle"
msgstr ""
msgid "Idle-time unit"
msgid ""
"HDD Idle is a utility program for spinning-down external disks after a "
"period of idle time."
msgstr ""
msgid "Idle time"
msgstr ""
msgid "Idle time unit"
msgstr ""
msgid "Settings"
@ -31,14 +39,6 @@ msgstr ""
msgid "h"
msgstr ""
msgid "hd-idle"
msgstr ""
msgid ""
"hd-idle is a utility program for spinning-down external disks after a period "
"of idle time."
msgstr ""
# Minutes (not minimum)
msgid "min"
msgstr ""

Some files were not shown because too many files have changed in this diff Show more