Age | Commit message (Collapse) | Author |
|
Implement the string hash algorithm used by LuCI's translation system in
JavaScript and provide a `_()` translation wrapper function to lookup
messages in the global string table.
Once client side translation loading is activated in a later commit,
JavaScript code can use the same string translation mechanism as server
side Lua code, e.g. `_("Static Routes")` would yield "Statische Routen"
when the German translation is loaded.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Add a new /admin/translations/ endpoint which exposes the loaded system
translations as JavaScript file.
Once referenced by <script>, the endpoint will create a `window.TR` object
containing the entire translation string table for use on the client side.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Drop load(), loadc(), string() and stringf() from the luci.i18n class since
these functions are either no longer unused or were never used to begin with.
Also slightly rework the module to only use local symbols and unify the
module require style.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
The i18n.loadc() function has been a no-op since almost six years so it
makes no sense to invoke it anymore.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Add a new luci.i18n.dump() function which returns all currently loaded
translation strings as Lua table.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Rework the setlanguage() implementation to actually switch catalogues
if another language has been loaded previously and change it to return
the effectively loaded language tag.
Also improve input parameter validation and accept tags in both lower
or upper case.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Introduce a new luci.template.parser.get_translations() function which will
iterate all loaded translation entries and pass the to the given callback
function.
This is useful to expose the loaded translations in other formats, e.g. for
wrapping them into JSON feeds.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
|
|
Add missing variable declarations in JavaScript code
|
|
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>
|
|
This fixes errors reported by LGTM.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
|
|
luci-base: update and improve Russian translation
|
|
Add missing translations and update existing not quite correct translations.
Also removed unnecessary dots at the end of some translations.
Signed-off-by: Anton Kikin <a.kikin@tano-systems.com>
|
|
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>
|
|
luci-base: update Ukrainian translation
|
|
luci-base: update Japanese translation
|
|
luci-base: redirect root path to /cgi-bin/luci/
|
|
Added and updated Japanese translations.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
|
|
On MS Edge, the behaviour of "value" attributes on "li" elements is
unreliable, so use the "data-" prefix to circumvent the problem.
Ref: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19320991/
Fixes: #2224
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Updated with the latest sync translation, corrections.
Signed-off-by: Yurii yuripet@gmail.com
|
|
Signed-off-by: David Yang <mmyangfl@gmail.com>
|
|
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
|
|
fix .po files
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
|
|
Remove some superfluous code which was added with a previous commit.
Fixes: 8270f10f1 ("luci-base: cbi.js: code cleanups")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
- unify code style
- add matchesElem() helper
- replace nodeName checks with selector tests
- replace className manipulations with classList operations
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
treewide: Fix typos in comments
|
|
Since commit f6bfac211 ("luci-mod-status: rework iptables status page"),
nothing in luci-base depends on the iptparser class anymore, so fold it
out into a separate package and let the few apps that require it depend
on the new library package.
Saves about 10K uncompressed in luci-base while the iptables status
rework enlarged the markup by roughly 5KB, saving roughly 5KB of size
overall.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Signed-off-by: David Yang <mmyangfl@gmail.com>
|
|
The zone forwarding list widget misleadingly displays the intra-zone
forwarding policy as default policy action when no forwardings exist
instead of the appropriate global defaults forwarding policy which is
the one applied to inter-zone forwarded traffic.
Fix the issue by displaying the defaults policy and not the per-zone
policy to match what the firewall implementation is actually doing.
Fixes: #2213
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
When creating a new zone through the firewall zone selector widget,
validate the given name before creating new items.
Depends on commit 0b6ae96f2 ("luci-base: cbi.js: recognize invalid
input in dropdown create field").
Fixes: #2211
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
This is required to allow for validating the create field values in
later commits.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Fix openwrt/luci#1062
Signed-off-by: MonwF <boluo2@gmail.com>
|
|
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>
|
|
Rename "Apply unchecked" to "Apply anyway" for better clarity and update
the base translation files accordingly.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Signed-off-by: David Yang <mmyangfl@gmail.com>
|
|
Add grammar corrections suggested in PRs #2114 and #2190.
Suggested-by: Roman <x.wserfer@gmail.com>
[squash #2114 and #2190, reword commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
It's not necessary to execute all code if section already exists.
Signed-off-by: Darius Joksas <jok.darius@gmail.com>
[reword commit message, squash commits, remove stray semicolon]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
luci-base: fix sysauth cookie not removed on logout
|
|
Signed-off-by: Kyle Rogers <7157021+kyle30312@users.noreply.github.com>
|
|
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
|
|
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
|
|
luci-base: corrected and update Ukrainian translation with the latest resync.
Signed-off-by: Yurii yuripet@gmail.com
|
|
Updated Japanese translations.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
|
|
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
|
|
After this change, luci-base will render the first module or application
page installed on the system, instead of rendering a "Component not found"
message when the status category is unavailable.
This allows for single-purpose LuCI installations like e.g. luci-base with
luci-app-travelmate which only presents application specific views without
any of the standard system pages.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
The firstnode target will dispatch the request to the first eligible menu
subtree node that is not a redirect to another node, a special action or
post security enabled page.
That action is specifically useful for global category toplevel nodes like
"admin" which are supposed to simply direct access to the first installed
page node without having to hardcode specific choices.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
Move some common elements to luci-base, and otherwise make three
packages out of status, system, and network. They were mostly
separated already, but there were some shared elements between
status and network that are now in luci-base.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
|
|
Per the discussion in https://github.com/openwrt/luci/issues/869, make
luci-base sufficient to login, logout, and review and apply or revert
uci changes. This allows most luci-app-xxx to work without having
luci-mod-admin-full installed.
It has been tested with some apps and not luci-mod-admin-full, as well
as with luci-mod-admin-full (to make sure the usual case doesn't break).
Instead of creating a new module namespace (e.g. 'Base') we reduce the
opportunities for breakage by having luci-base take over the 'shell' of
the 'Administration' (admin/....) namespace.
Since admin is assumed by all current building LuCI components (including
Freifunk), this doesn't introduce the 'Administration' tab into any
situation where it would not already be present (but includes it where it
was before).
We also add a "Component not installed" page to avoid fatal errors and
backtrace when e.g. luci-mod-admin-full is not installed.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
|
|
luci-base: Show multiple upstream interface
|
|
Several devices have multiple upstream interfaces, for example a fixed
and a mobile broadband connection. Currently, only one upstream
interface is shown per address family in Luci. So in my example, one of
the interfaces would not appear on the Status-page.
This PR introduces support for showing multiple upstream interfaces on
the Status-page. The code is not very complicated. get_status_by_route()
has been extended to return a list of all routes, and
get_wannet()/get_wan6net() now returns all upstream interfaces.
I could not find any other (active) users of these three functions than
calls triggered from the Status-page, so changing the default behavior
should be fine. get_wandev()/get_wan6dev() called get_status_by_route(),
but I could not find any place where those functions were called. I
removed the dev-functions instead of keeping the old
get_status_by_route().
On the status page, the wan/wan6-variables have been replaced with
arrays. When populating the html, we now iterate through these arrays
and create one element for each interface.
I have tested the code with different interface types, v4, v6, as well as
disconnecting and connecting interfaces. The status is updated and the
correct interfaces (or sometimes none at all) are shown.
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
|