diff options
| author | Jo-Philipp Wich <jow@openwrt.org> | 2008-12-23 21:39:38 +0000 |
|---|---|---|
| committer | Jo-Philipp Wich <jow@openwrt.org> | 2008-12-23 21:39:38 +0000 |
| commit | 4081526ba7d0594c3ef120df5ee223c4eb55fb18 (patch) | |
| tree | ee8bdd2d1dff60812b1d7ef5a4172700e3aaa2d1 /applications | |
| parent | 8b1ddef6a45623db5111eebc6ada8c7def2ac2f9 (diff) | |
luci-0.8: merge complete trunk
Diffstat (limited to 'applications')
11 files changed, 323 insertions, 85 deletions
diff --git a/applications/luci-ffwizard-leipzig/luasrc/controller/ffwizard.lua b/applications/luci-ffwizard-leipzig/luasrc/controller/ffwizard.lua index 9e7c0decaf..9a9f883ef7 100644 --- a/applications/luci-ffwizard-leipzig/luasrc/controller/ffwizard.lua +++ b/applications/luci-ffwizard-leipzig/luasrc/controller/ffwizard.lua @@ -17,5 +17,5 @@ $Id$ module "luci.controller.ffwizard" function index() - entry({"admin", "index", "ffwizard"}, form("ffwizard"), "Freifunkassistent", 50) + entry({"admin", "freifunk", "ffwizard"}, form("ffwizard"), "Freifunkassistent", 50) end
\ No newline at end of file diff --git a/applications/luci-ffwizard-leipzig/luasrc/model/cbi/ffwizard.lua b/applications/luci-ffwizard-leipzig/luasrc/model/cbi/ffwizard.lua index 5245a92f15..87bbe4d1f2 100644 --- a/applications/luci-ffwizard-leipzig/luasrc/model/cbi/ffwizard.lua +++ b/applications/luci-ffwizard-leipzig/luasrc/model/cbi/ffwizard.lua @@ -17,6 +17,7 @@ $Id$ local uci = require "luci.model.uci".cursor() local tools = require "luci.tools.ffwizard" +local util = require "luci.util" -------------------- View -------------------- @@ -33,11 +34,13 @@ uci:foreach("wireless", "wifi-device", main = f:field(Flag, "wifi", "Freifunkzugang einrichten") -net = f:field(Value, "net", "Freifunknetz") +net = f:field(Value, "net", "Freifunknetz", "1. Teil der IP-Adresse") net.rmempty = true net:depends("wifi", "1") -net:value("104.61", "Leipzig (104.61)") -net:value("104.62", "Halle (104.62)") +uci:foreach("freifunk", "community", function(s) + net:value(s[".name"], "%s (%s)" % {s.name, s.prefix}) +end) + function net.cfgvalue(self, section) return uci:get("freifunk", "wizard", "net") end @@ -47,12 +50,9 @@ function net.write(self, section, value) end -subnet = f:field(ListValue, "subnet", "Subnetz (Projekt)") +subnet = f:field(Value, "subnet", "Subnetz (Projekt)", "2. Teil der IP-Adresse") subnet.rmempty = true subnet:depends("wifi", "1") -for i=0, 255 do - subnet:value(i) -end function subnet.cfgvalue(self, section) return uci:get("freifunk", "wizard", "subnet") end @@ -61,7 +61,7 @@ function subnet.write(self, section, value) uci:save("freifunk") end -node = f:field(Value, "node", "Knoten") +node = f:field(Value, "node", "Knoten", "3. Teil der IP-Adresse") node.rmempty = true node:depends("wifi", "1") for i=1, 51 do @@ -77,14 +77,14 @@ end client = f:field(Flag, "client", "WLAN-DHCP anbieten") client:depends("wifi", "1") +client.rmempty = true olsr = f:field(Flag, "olsr", "OLSR einrichten") +olsr.rmempty = true -share = f:field(ListValue, "sharenet", "Eigenen Internetzugang freigeben") -share:value("maybe", "-- keine Aktion --") -share:value("yes", "einschalten") -share:value("no", "ausschalten") +share = f:field(Flag, "sharenet", "Eigenen Internetzugang freigeben") +share.rmempty = true @@ -114,17 +114,22 @@ function main.write(self, section, value) if value == "0" then return end - + local device = dev:formvalue(section) + local community, external -- Collect IP-Address local inet = net:formvalue(section) local isubnet = subnet:formvalue(section) local inode = node:formvalue(section) - + -- Invalidate fields if not inet then net.tag_missing[section] = true + else + community = inet + external = uci:get("freifunk", community, "external") or "" + inet = uci:get("freifunk", community, "prefix") or inet end if not isubnet then subnet.tag_missing[section] = true @@ -132,57 +137,70 @@ function main.write(self, section, value) if not inode then node.tag_missing[section] = true end - + if not inet or not isubnet or not inode then return end - + local ip = "%s.%s.%s" % {inet, isubnet, inode} - - + + -- Cleanup - luci.util.perror("1") tools.wifi_delete_ifaces(device) - luci.util.perror("2") tools.network_remove_interface(device) - luci.util.perror("3") tools.firewall_zone_remove_interface("freifunk", device) - - + + -- Tune community settings + if community and uci:get("freifunk", community) then + uci:tset("freifunk", "community", uci:get_all("freifunk", community)) + end + -- Tune wifi device - local devconfig = _strip_internals(uci:get_all("freifunk", "wifi_device")) + local devconfig = uci:get_all("freifunk", "wifi_device") + util.update(devconfig, uci:get_all(external, "wifi_device") or {}) uci:tset("wireless", device, devconfig) - + -- Create wifi iface - local ifconfig = _strip_internals(uci:get_all("freifunk", "wifi_iface")) + local ifconfig = uci:get_all("freifunk", "wifi_iface") + util.update(ifconfig, uci:get_all(external, "wifi_iface") or {}) ifconfig.device = device + ifconfig.network = device + ifconfig.ssid = uci:get("freifunk", community, "ssid") uci:section("wireless", "wifi-iface", nil, ifconfig) - + -- Save wifi - uci:save("wireless") - + uci:save("wireless") + -- Create firewall zone and add default rules (first time) local newzone = tools.firewall_create_zone("freifunk", "DROP", "ACCEPT", "DROP", true) if newzone then uci:foreach("freifunk", "fw_forwarding", function(section) - uci:section("firewall", "forwarding", nil, _strip_internals(section)) + uci:section("firewall", "forwarding", nil, section) + end) + uci:foreach(external, "fw_forwarding", function(section) + uci:section("firewall", "forwarding", nil, section) end) - + uci:foreach("freifunk", "fw_rule", function(section) - uci:section("firewall", "rule", nil, _strip_internals(section)) + uci:section("firewall", "rule", nil, section) + end) + uci:foreach(external, "fw_rule", function(section) + uci:section("firewall", "rule", nil, section) end) - + uci:save("firewall") end - - + + -- Crate network interface - local netconfig = _strip_internals(uci:get_all("freifunk", "interface")) + local netconfig = uci:get_all("freifunk", "interface") + util.update(netconfig, uci:get_all(external, "interface") or {}) + netconfig.proto = "static" netconfig.ipaddr = ip uci:section("network", "interface", device, netconfig) - + uci:save("network") - + tools.firewall_zone_add_interface("freifunk", device) end @@ -191,28 +209,30 @@ function olsr.write(self, section, value) if value == "0" then return end - + + local device = dev:formvalue(section) - + + local community = net:formvalue(section) + local external = community and uci:get("freifunk", community, "external") or "" + -- Delete old interface - uci:delete_all("freifunk", "Interface", {Interface=device}) - + uci:delete_all("olsrd", "Interface", {interface=device}) + -- Write new interface - local olsrbase = _strip_internals(uci:get_all("freifunk", "olsr_interface")) - olsrbase.Interface = device - uci:section("olsr", "Interface", nil, olsrbase) - uci:save("olsr") + local olsrbase = uci:get_all("freifunk", "olsr_interface") + util.update(olsrbase, uci:get_all(external, "olsr_interface") or {}) + olsrbase.interface = device + olsrbase.ignore = "0" + uci:section("olsrd", "Interface", nil, olsrbase) + uci:save("olsrd") end function share.write(self, section, value) - if value == "maybe" then - return - end - uci:delete_all("firewall", "forwarding", {src="freifunk", dest="wan"}) - - if value == "yes" then + + if value == "1" then uci:section("firewall", "forwarding", nil, {src="freifunk", dest="wan"}) end uci:save("firewall") @@ -223,50 +243,81 @@ function client.write(self, section, value) if value == "0" then return end - + local device = dev:formvalue(section) -- Collect IP-Address local inet = net:formvalue(section) local isubnet = subnet:formvalue(section) local inode = node:formvalue(section) - + if not inet or not isubnet or not inode then return end - - local dhcpbeg = 48 + tonumber(inode) * 4 + local community = inet + local external = community and uci:get("freifunk", community, "external") or "" + inet = uci:get("freifunk", community, "prefix") or inet + + local dhcpbeg = 48 + tonumber(inode) * 4 local dclient = "%s.%s.%s" % {inet:gsub("^[0-9]+", "10"), isubnet, dhcpbeg} local limit = dhcpbeg < 252 and 3 or 2 - + -- Delete old alias uci:delete("network", device .. "dhcp") - + -- Create alias - local aliasbase = _strip_internals(uci:get_all("freifunk", "alias")) + local aliasbase = uci:get_all("freifunk", "alias") + util.update(aliasbase, uci:get_all(external, "alias") or {}) aliasbase.interface = device aliasbase.ipaddr = dclient aliasbase.proto = "static" uci:section("network", "alias", device .. "dhcp", aliasbase) uci:save("network") - - + + -- Create dhcp - local dhcpbase = _strip_internals(uci:get_all("freifunk", "dhcp")) + local dhcpbase = uci:get_all("freifunk", "dhcp") + util.update(dhcpbase, uci:get_all(external, "dhcp") or {}) dhcpbase.interface = device .. "dhcp" dhcpbase.start = dhcpbeg dhcpbase.limit = limit uci:section("dhcp", "dhcp", device .. "dhcp", dhcpbase) uci:save("dhcp") - - + + uci:delete_all("firewall", "rule", { + src="freifunk", + proto="udp", + src_port="68", + dest_port="67" + }) + uci:section("firewall", "rule", nil, { + src="freifunk", + proto="udp", + src_port="68", + dest_port="67", + target="ACCEPT" + }) + uci:delete_all("firewall", "rule", { + src="freifunk", + proto="tcp", + dest_port="8082", + }) + uci:section("firewall", "rule", nil, { + src="freifunk", + proto="tcp", + dest_port="8082", + target="ACCEPT" + }) + + + -- Delete old splash uci:delete_all("luci_splash", "iface", {net=device, zone="freifunk"}) - + -- Register splash uci:section("luci_splash", "iface", nil, {net=device, zone="freifunk"}) uci:save("luci_splash") end -return f
\ No newline at end of file +return f diff --git a/applications/luci-ffwizard-leipzig/luasrc/tools/ffwizard.lua b/applications/luci-ffwizard-leipzig/luasrc/tools/ffwizard.lua index bb7cbb8345..217cd44bb8 100644 --- a/applications/luci-ffwizard-leipzig/luasrc/tools/ffwizard.lua +++ b/applications/luci-ffwizard-leipzig/luasrc/tools/ffwizard.lua @@ -32,35 +32,35 @@ end -- Deletes a network interface and all occurences of it in firewall zones and dhcp function network_remove_interface(iface) local cursor = uci.cursor() - + if not cursor:delete("network", iface) then return false end local aliases = {iface} - cursor:foreach("network", "alias", + cursor:foreach("network", "alias", function(section) if section.interface == iface then table.insert(aliases, section[".name"]) end end) - + -- Delete Aliases and Routes cursor:delete_all("network", "route", {interface=iface}) cursor:delete_all("network", "alias", {interface=iface}) - + -- Delete DHCP sections cursor:delete_all("dhcp", "dhcp", function(section) return util.contains(aliases, section.interface) end) - + -- Remove OLSR sections - cursor:delete_all("olsr", "Interface", {Interface=iface}) - + cursor:delete_all("olsrd", "Interface", {Interface=iface}) + -- Remove Splash sections cursor:delete_all("luci-splash", "iface", {network=iface}) - + cursor:save("network") cursor:save("olsr") cursor:save("dhcp") @@ -88,7 +88,8 @@ function firewall_zone_add_interface(name, interface) local cursor = uci.cursor() local zone = firewall_find_zone(name) local net = cursor:get("firewall", zone, "network") - cursor:set("firewall", zone, "network", (net or name .. " ") .. interface) + local old = net or (cursor:get("network", name) and name) + cursor:set("firewall", zone, "network", (old and old .. " " or "") .. interface) cursor:save("firewall") end @@ -114,14 +115,14 @@ end -- Finds the firewall zone with given name function firewall_find_zone(name) local find - - uci.cursor():foreach("firewall", "zone", + + uci.cursor():foreach("firewall", "zone", function (section) if section.name == name then find = section[".name"] end end) - + return find end @@ -134,15 +135,15 @@ function remove_list_entry(value, entry) if type(value) == "nil" then return nil end - + local result = type(value) == "table" and value or util.split(value, " ") local key = util.contains(result, entry) - + while key do table.remove(result, key) key = util.contains(result, entry) end - + result = type(value) == "table" and result or table.concat(result, " ") - return result ~= value and result -end
\ No newline at end of file + return result ~= value and result +end diff --git a/applications/luci-olsr/luasrc/controller/olsr.lua b/applications/luci-olsr/luasrc/controller/olsr.lua index 97e5061b9b..766107ee9a 100644 --- a/applications/luci-olsr/luasrc/controller/olsr.lua +++ b/applications/luci-olsr/luasrc/controller/olsr.lua @@ -182,7 +182,14 @@ function fetch_txtinfo(otable) local rawdata = luci.sys.httpget("http://127.0.0.1:2006/"..otable) if #rawdata == 0 then - return nil + if luci.fs.access("/proc/net/ipv6_route", "r") then + rawdata = luci.sys.httpget("http://[::1]:2006/"..otable) + if #rawdata == 0 then + return nil + end + else + return nil + end end local data = {} diff --git a/applications/luci-polipo/luasrc/i18n/polipo.en.xml b/applications/luci-polipo/luasrc/i18n/polipo.en.xml new file mode 100644 index 0000000000..b4e8df8998 --- /dev/null +++ b/applications/luci-polipo/luasrc/i18n/polipo.en.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="utf-8"?> + +<i18n:msgs xmlns:i18n="http://luci.freifunk-halle.net/2008/i18n#" xmlns="http://www.w3.org/1999/xhtml"> + +<i18n:msg xml:id="polipo">Polipo</i18n:msg> +<i18n:msg xml:id="polipo_cache">On-Disk Cache</i18n:msg> +<i18n:msg xml:id="polipo_cache_cacheisshared">Shared cache</i18n:msg> +<i18n:msg xml:id="polipo_cache_cacheisshared_desc">Enable if cache (proxy) is shared by multiple users.</i18n:msg> +<i18n:msg xml:id="polipo_cache_desc">To enable polipo on-disk cache cleaning (highly recommended), you should add a cron job in Scheduled Tasks services that will execute /usr/sbin/polipo_purge script. For example to perform disk cache cleanup every day at 6:00 in the morning you should add the following line in Scheduled Tasks "0 6 * * * /usr/sbin/polipo_purge" (without quotes).</i18n:msg> +<i18n:msg xml:id="polipo_cache_diskcacheroot">Disk cache location</i18n:msg> +<i18n:msg xml:id="polipo_cache_diskcacheroot_desc">Location where polipo will cache files permanently. Use of external storage devices is recommended, because the cache can grow considerably. Leave it empty to disable on-disk cache.</i18n:msg> +<i18n:msg xml:id="polipo_cache_diskcachetruncatesize">Truncate cache files size (in bytes)</i18n:msg> +<i18n:msg xml:id="polipo_cache_diskcachetruncatesize_desc">Size to which cached files should be truncated. (default value: 1048576)</i18n:msg> +<i18n:msg xml:id="polipo_cache_diskcachetruncatetime">Truncate cache files time</i18n:msg> +<i18n:msg xml:id="polipo_cache_diskcachetruncatetime_desc">Time after which cached files will be truncated. (default value: 4d12h)</i18n:msg> +<i18n:msg xml:id="polipo_cache_diskcacheunlinktime">Delete cache files time</i18n:msg> +<i18n:msg xml:id="polipo_cache_diskcacheunlinktime_desc">Time after which cached files will be deleted. (default value: 32d)</i18n:msg> +<i18n:msg xml:id="polipo_desc">Polipo is a small and fast caching web proxy.</i18n:msg> +<i18n:msg xml:id="polipo_general">General</i18n:msg> +<i18n:msg xml:id="polipo_general_allowedclients">Allowed clients</i18n:msg> +<i18n:msg xml:id="polipo_general_allowedclients_desc">When listen address is set to 0.0.0.0 or :: (IPv6), you must list clients that are allowed to connect. The format is IP address or network address (192.168.1.123, 192.168.1.0/24, 2001:660:116::/48 (IPv6)).</i18n:msg> +<i18n:msg xml:id="polipo_general_chunkhighmark">In RAM cache size (in bytes)</i18n:msg> +<i18n:msg xml:id="polipo_general_chunkhighmark_desc">How much RAM should Polipo use for its cache.</i18n:msg> +<i18n:msg xml:id="polipo_general_dnsnameserver">DNS server address</i18n:msg> +<i18n:msg xml:id="polipo_general_dnsnameserver_desc">Set the DNS server address to use, if you want Polipo to use different DNS server than the host system.</i18n:msg> +<i18n:msg xml:id="polipo_general_dnsqueryipv6">Query DNS for IPv6</i18n:msg> +<i18n:msg xml:id="polipo_general_dnsqueryipv6_desc">false = Do not query IPv6; reluctantly = Query both, prefer IPv4; happily = Query both, prefer IPv6; true = Query only IPv6</i18n:msg> +<i18n:msg xml:id="polipo_general_dnsusegethostbyname">Query DNS by hostname</i18n:msg> +<i18n:msg xml:id="polipo_general_dnsusegethostbyname_desc">false = Never use system DNS resolver; reluctantly = Query DNS directly, if DNS server is unavailable fail to system DNS resolver; happily = Query DNS directly, if host could not be found fallback to system DNS resolver; true = Always use system DNS resolver</i18n:msg> +<i18n:msg xml:id="polipo_general_logfacility">Syslog facility</i18n:msg> +<i18n:msg xml:id="polipo_general_logfile">Log file location</i18n:msg> +<i18n:msg xml:id="polipo_general_logfile_desc">Use of external storage device is recommended, because the log file is written frequently and can grow considerably.</i18n:msg> +<i18n:msg xml:id="polipo_general_logsyslog">Log to syslog</i18n:msg> +<i18n:msg xml:id="polipo_general_parentauthcredentials">Parent proxy authentication</i18n:msg> +<i18n:msg xml:id="polipo_general_parentauthcredentials_desc">Basic HTTP authentication supported. Provide username and password in username:password format.</i18n:msg> +<i18n:msg xml:id="polipo_general_parentproxy">Parent proxy address</i18n:msg> +<i18n:msg xml:id="polipo_general_parentproxy_desc">Parent proxy address (in host:port format), to which Polipo will forward the requests.</i18n:msg> +<i18n:msg xml:id="polipo_general_proxyaddress">Listen address</i18n:msg> +<i18n:msg xml:id="polipo_general_proxyaddress_desc">The interface on which Polipo will listen. To listen on all interfaces use 0.0.0.0 or :: (IPv6).</i18n:msg> +<i18n:msg xml:id="polipo_general_proxyport">Listen port</i18n:msg> +<i18n:msg xml:id="polipo_general_proxyport_desc">Port on which Polipo will listen. (default value: 8123)</i18n:msg> +<i18n:msg xml:id="polipo_pmm">Poor Man's Multiplexing</i18n:msg> +<i18n:msg xml:id="polipo_pmm_desc">Poor Man's Multiplexing (PMM) is a technique that simulates multiplexing by requesting an instance in multiple segments. It tries to lower the latency caused by the weakness of HTTP protocol. NOTE: some sites may not work with PMM enabled.</i18n:msg> +<i18n:msg xml:id="polipo_pmm_pmmfirstsize">First PMM segment size (in bytes)</i18n:msg> +<i18n:msg xml:id="polipo_pmm_pmmfirstsize_desc">Size of the first PMM segment. If not defined, it defaults to twice the PMM segment size.</i18n:msg> +<i18n:msg xml:id="polipo_pmm_pmmsize">PMM segments size (in bytes)</i18n:msg> +<i18n:msg xml:id="polipo_pmm_pmmsize_desc">To enable PMM, PMM segment size must be set to some positive value.</i18n:msg> + +</i18n:msgs> diff --git a/applications/luci-qos/luasrc/i18n/qos.fr.lua b/applications/luci-qos/luasrc/i18n/qos.fr.lua new file mode 100644 index 0000000000..73c54dccfb --- /dev/null +++ b/applications/luci-qos/luasrc/i18n/qos.fr.lua @@ -0,0 +1,17 @@ +qos = 'Qualité de service' +qos_bulk = 'lent' +qos_classify = 'Priorité' +qos_classify_dsthost = 'Adresse de destination' +qos_classify_dsthost_dest = 'Réseau de destination / Hôte de destination' +qos_classify_portrange = 'ports' +qos_classify_srchost = 'Adresse source' +qos_classify_srchost_dest = 'Réseau source / Hôte source' +qos_classify_target = 'Priorité' +qos_desc = 'Avec la QOS, vous pouvez donner des priorités au trafic de votre réseau en fonction des adresses, des ports ou des services présents.' +qos_express = 'express' +qos_interface_classgroup = 'Classification' +qos_interface_download = 'Liaison descendante' +qos_interface_overhead = 'calcul de la surcharge' +qos_interface_upload = 'Liaison montante' +qos_normal = 'normal' +qos_priority = 'prioritaire' diff --git a/applications/luci-qos/luasrc/i18n/qos.fr.xml b/applications/luci-qos/luasrc/i18n/qos.fr.xml new file mode 100644 index 0000000000..b2703a08ef --- /dev/null +++ b/applications/luci-qos/luasrc/i18n/qos.fr.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> + +<i18n:msgs xmlns:i18n="http://luci.freifunk-halle.net/2008/i18n#" xmlns="http://www.w3.org/1999/xhtml"> + +<i18n:msg xml:id="qos">Qualité de service</i18n:msg> +<i18n:msg xml:id="qos_bulk">lent</i18n:msg> +<i18n:msg xml:id="qos_classify">Priorité</i18n:msg> +<i18n:msg xml:id="qos_classify_dsthost">Adresse de destination</i18n:msg> +<i18n:msg xml:id="qos_classify_dsthost_dest">Réseau de destination / Hôte de destination</i18n:msg> +<i18n:msg xml:id="qos_classify_portrange">ports</i18n:msg> +<i18n:msg xml:id="qos_classify_srchost">Adresse source</i18n:msg> +<i18n:msg xml:id="qos_classify_srchost_dest">Réseau source / Hôte source</i18n:msg> +<i18n:msg xml:id="qos_classify_target">Priorité</i18n:msg> +<i18n:msg xml:id="qos_desc">Avec la QOS, vous pouvez donner des priorités au trafic de votre réseau en fonction des adresses, des ports ou des services présents.</i18n:msg> +<i18n:msg xml:id="qos_express">express</i18n:msg> +<i18n:msg xml:id="qos_interface_classgroup">Classification</i18n:msg> +<i18n:msg xml:id="qos_interface_download">Liaison descendante</i18n:msg> +<i18n:msg xml:id="qos_interface_overhead">calcul de la surcharge</i18n:msg> +<i18n:msg xml:id="qos_interface_upload">Liaison montante</i18n:msg> +<i18n:msg xml:id="qos_normal">normal</i18n:msg> +<i18n:msg xml:id="qos_priority">prioritaire</i18n:msg> + +</i18n:msgs> diff --git a/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.fr.lua b/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.fr.lua new file mode 100644 index 0000000000..af7a134bc6 --- /dev/null +++ b/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.fr.lua @@ -0,0 +1,34 @@ +tinyproxy = 'Tinyproxy' +tinyproxy_desc = 'Tinyproxy is a small and fast non-caching HTTP(S)-Proxy' +tinyproxy_tinyproxy_allow = 'Allow access from' +tinyproxy_tinyproxy_anonymous = 'Allowed headers for anonymous proxy' +tinyproxy_tinyproxy_bind = 'Lier le trafic sortant à l'adresse ip' +tinyproxy_tinyproxy_connectport = 'Ports allowed for CONNECT method' +tinyproxy_tinyproxy_connectport_desc = '0 = disabled, empty = all' +tinyproxy_tinyproxy_defaulterrorfile = 'Fichier d'erreur' +tinyproxy_tinyproxy_filter = 'Liste de filtres' +tinyproxy_tinyproxy_filtercasesensitive = 'Case sensitive filters' +tinyproxy_tinyproxy_filterdefaultdeny = 'Filter list is a whitelist' +tinyproxy_tinyproxy_filterextended = 'Extended regular expression filters' +tinyproxy_tinyproxy_filterurls = 'Filter URLs instead of domains' +tinyproxy_tinyproxy_group = 'Groupe' +tinyproxy_tinyproxy_listen = 'Listen on address' +tinyproxy_tinyproxy_logfile = 'Chemin du fichier de log' +tinyproxy_tinyproxy_loglevel = 'Niveau de log' +tinyproxy_tinyproxy_maxclients = 'Nombre maximum de clients' +tinyproxy_tinyproxy_maxrequestsperchild = 'Maximum de connexion par processus' +tinyproxy_tinyproxy_maxspareservers = 'Nombre Maximum de processus serveur' +tinyproxy_tinyproxy_minspareservers = 'Nombre Minimum de processus serveur' +tinyproxy_tinyproxy_startservers = 'Nombre de processus serveur lancés au demarrage' +tinyproxy_tinyproxy_statfile = 'Fichier de statistiques' +tinyproxy_tinyproxy_syslog = 'Écrire dans le journal système (Syslog)' +tinyproxy_tinyproxy_timeout = 'Délai de connexion' +tinyproxy_tinyproxy_user = 'Utilisateur' +tinyproxy_tinyproxy_viaproxyname = 'Valeur de l'entête "VIA" utilisée comme nom d'hôte' +tinyproxy_tinyproxy_xtinyproxy = 'Inclure l'ip du client' +tinyproxy_type_proxy = 'Via proxy' +tinyproxy_type_reject = 'Refuser l'accès' +tinyproxy_upstream = 'Upstream Control' +tinyproxy_upstream_target = 'Hôte de destination' +tinyproxy_upstream_type = 'Type' +tinyproxy_upstream_via = 'Proxy' diff --git a/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.fr.xml b/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.fr.xml new file mode 100644 index 0000000000..77470ecca3 --- /dev/null +++ b/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.fr.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="utf-8"?> + +<i18n:msgs xmlns:i18n="http://luci.freifunk-halle.net/2008/i18n#" xmlns="http://www.w3.org/1999/xhtml"> + +<i18n:msg xml:id="tinyproxy">Tinyproxy</i18n:msg> +<i18n:msg xml:id="tinyproxy_desc">Tinyproxy is a small and fast non-caching HTTP(S)-Proxy</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_allow">Allow access from</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_anonymous">Allowed headers for anonymous proxy</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_bind">Lier le trafic sortant à l'adresse ip</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_connectport">Ports allowed for CONNECT method</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_connectport_desc">0 = disabled, empty = all</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_defaulterrorfile">Fichier d'erreur</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_filter">Liste de filtres</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_filtercasesensitive">Case sensitive filters</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_filterdefaultdeny">Filter list is a whitelist</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_filterextended">Extended regular expression filters</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_filterurls">Filter URLs instead of domains</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_group">Groupe</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_listen">Listen on address</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_logfile">Chemin du fichier de log</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_loglevel">Niveau de log</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_maxclients">Nombre maximum de clients</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_maxrequestsperchild">Maximum de connexion par processus</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_maxspareservers">Nombre Maximum de processus serveur</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_minspareservers">Nombre Minimum de processus serveur</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_startservers">Nombre de processus serveur lancés au demarrage</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_statfile">Fichier de statistiques</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_syslog">Écrire dans le journal système (Syslog)</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_timeout">Délai de connexion</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_user">Utilisateur</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_viaproxyname">Valeur de l'entête "VIA" utilisée comme nom d'hôte</i18n:msg> +<i18n:msg xml:id="tinyproxy_tinyproxy_xtinyproxy">Inclure l'ip du client</i18n:msg> +<i18n:msg xml:id="tinyproxy_type_proxy">Via proxy</i18n:msg> +<i18n:msg xml:id="tinyproxy_type_reject">Refuser l'accès</i18n:msg> +<i18n:msg xml:id="tinyproxy_upstream">Upstream Control</i18n:msg> +<i18n:msg xml:id="tinyproxy_upstream_target">Hôte de destination</i18n:msg> +<i18n:msg xml:id="tinyproxy_upstream_type">Type</i18n:msg> +<i18n:msg xml:id="tinyproxy_upstream_via">Proxy</i18n:msg> + +</i18n:msgs> diff --git a/applications/luci-uvc_streamer/luasrc/i18n/uvc_streamer.fr.lua b/applications/luci-uvc_streamer/luasrc/i18n/uvc_streamer.fr.lua new file mode 100644 index 0000000000..97523af41a --- /dev/null +++ b/applications/luci-uvc_streamer/luasrc/i18n/uvc_streamer.fr.lua @@ -0,0 +1,5 @@ +framespersecond = 'Images par seconde' +resolution = 'Résolution' +settings = 'Paramètres' +uvc_streamer = 'Webcam streaming' +uvc_streamer_desc = 'Configurez le pilote linux UVC-webcam pour votre webcam. Pointez votre navigateur par exemple sur<a href="http://%s:%i/">http://%s:%i/</a>' diff --git a/applications/luci-uvc_streamer/luasrc/i18n/uvc_streamer.fr.xml b/applications/luci-uvc_streamer/luasrc/i18n/uvc_streamer.fr.xml new file mode 100644 index 0000000000..ab3ecf333c --- /dev/null +++ b/applications/luci-uvc_streamer/luasrc/i18n/uvc_streamer.fr.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> + +<i18n:msgs xmlns:i18n="http://luci.freifunk-halle.net/2008/i18n#" xmlns="http://www.w3.org/1999/xhtml"> + +<i18n:msg xml:id="framespersecond">Images par seconde</i18n:msg> +<i18n:msg xml:id="resolution">Résolution</i18n:msg> +<i18n:msg xml:id="settings">Paramètres</i18n:msg> +<i18n:msg xml:id="uvc_streamer">Webcam streaming</i18n:msg> +<i18n:msg xml:id="uvc_streamer_desc">Configurez le pilote linux UVC-webcam pour votre webcam. Pointez votre navigateur par exemple sur<a href="http://%s:%i/">http://%s:%i/</a></i18n:msg> + +</i18n:msgs> |
