+l:value("true", translate("Always use system DNS resolver"))
+l:value("happily",
+ translate("Query DNS directly, for unknown hosts fall back " ..
+ "to system resolver"))
+l:value("reluctantly",
+ translate("Query DNS directly, fallback to system resolver"))
+l:value("false", translate("Never use system DNS resolver"))
+
+
+-- Proxy settings
+o = s:taboption("proxy", Value, "parentProxy",
+ translate("Parent proxy address"),
+ translate("Parent proxy address (in host:port format), to which Polipo " ..
+ "will forward the requests."))
+
+o.optional = true
+o.datatype = "ipaddr"
+
+
+o = s:taboption("proxy", Value, "parentAuthCredentials",
+ translate("Parent proxy authentication"),
+ translate("Basic HTTP authentication supported. Provide username and " ..
+ "password in username:password format."))
+
+o.optional = true
+o.placeholder = "username:password"
+
+
+-- Logging
+s:taboption("logging", Flag, "logSyslog", translate("Log to syslog"))
+
+s:taboption("logging", Value, "logFacility",
+ translate("Syslog facility")):depends("logSyslog", "1")
+
+
+v = s:taboption("logging", Value, "logFile",
+ translate("Log file location"),
+ translate("Use of external storage device is recommended, because the " ..
+ "log file is written frequently and can grow considerably."))
+
+v:depends("logSyslog", "")
+v.rmempty = true
+
+
+o = s:taboption("logging", Value, "chunkHighMark",
+ translate("In RAM cache size (in bytes)"),
+ translate("How much RAM should Polipo use for its cache."))
+
+o.datatype = "uinteger"
+
+
+-- Disk cache section
+s = m:section(NamedSection, "cache", "polipo", translate("On-Disk Cache"))
+s:tab("general", translate("General Settings"))
+s:tab("advanced", translate("Advanced Settings"))
+
+
+-- Disk cache settings
+s:taboption("general", Value, "diskCacheRoot", translate("Disk cache location"),
+ translate("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.")).rmempty = true
+
+
+s:taboption("general", Flag, "cacheIsShared", translate("Shared cache"),
+ translate("Enable if cache (proxy) is shared by multiple users."))
+
+
+o = s:taboption("advanced", Value, "diskCacheTruncateSize",
+ translate("Truncate cache files size (in bytes)"),
+ translate("Size to which cached files should be truncated"))
+
+o.optional = true
+o.placeholder = "1048576"
+o.datatype = "uinteger"
+
+
+o = s:taboption("advanced", Value, "diskCacheTruncateTime",
+ translate("Truncate cache files time"),
+ translate("Time after which cached files will be truncated"))
+
+o.optional = true
+o.placeholder = "4d12h"
+
+
+o = s:taboption("advanced", Value, "diskCacheUnlinkTime",
+ translate("Delete cache files time"),
+ translate("Time after which cached files will be deleted"))
+
+o.optional = true
+o.placeholder = "32d"
+