i18n on the web - deepseek translations
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
#}
|
||||
{% extends "ui/base.html" %}
|
||||
|
||||
{% block title %}Access{% endblock %}
|
||||
{% block title %}{{ nav.tr("perm-tab-access") }}{% endblock %}
|
||||
|
||||
{% macro apply(role, mode, pairs, label, style, hint) %}
|
||||
<form hx-post="/permissions/grants/apply" hx-target="#permission-status">
|
||||
@@ -25,66 +25,66 @@
|
||||
<main>
|
||||
<section class="heading">
|
||||
<div>
|
||||
<p class="eyebrow">Permissions</p>
|
||||
<h1>Access</h1>
|
||||
<p>What a role may do with the data. Everyone holding the role gets exactly this.</p>
|
||||
<p class="eyebrow">{{ nav.tr("perm-eyebrow") }}</p>
|
||||
<h1>{{ nav.tr("perm-tab-access") }}</h1>
|
||||
<p>{{ nav.tr("grants-description") }}</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% include "pages/permissions/tabs.html" %}
|
||||
|
||||
{% if page.updated %}<p class="notice">Access updated. It applies to the next request every holder of the role makes.</p>{% endif %}
|
||||
{% if page.updated %}<p class="notice">{{ nav.tr("grants-updated-notice") }}</p>{% endif %}
|
||||
|
||||
{% if page.roles.is_empty() %}
|
||||
<section class="panel">
|
||||
<h2>No role to edit</h2>
|
||||
<p class="hint">There is no role here you outrank. <a href="/permissions/roles">Create one</a> first.</p>
|
||||
<h2>{{ nav.tr("grants-no-role") }}</h2>
|
||||
<p class="hint">{{ nav.tr("grants-no-role-hint")|safe }}</p>
|
||||
</section>
|
||||
{% else %}
|
||||
|
||||
<section class="panel">
|
||||
<h2>Role</h2>
|
||||
<h2>{{ nav.tr("grants-role-heading") }}</h2>
|
||||
<form method="get" action="/permissions/grants" class="form-grid">
|
||||
<label>Editing
|
||||
<label>{{ nav.tr("grants-editing") }}
|
||||
<select name="role" onchange="this.form.submit()">
|
||||
{% for role in page.roles %}
|
||||
<option value="{{ role.name }}" {% if page.selected(role.name.as_str()) %}selected{% endif %}>{{ role.name }}{% if !role.parent.is_empty() %} → inherits {{ role.parent }}{% endif %}</option>
|
||||
<option value="{{ role.name }}" {% if page.selected(role.name.as_str()) %}selected{% endif %}>{{ role.name }}{% if !role.parent.is_empty() %} {{ nav.tr("grants-inherits-prefix") }} {{ role.parent }}{% endif %}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</label>
|
||||
</form>
|
||||
<p class="hint">
|
||||
{% if !page.selected_parent.is_empty() %}
|
||||
<strong>{{ page.selected_role }}</strong> inherits everything <strong>{{ page.selected_parent }}</strong> has. Inherited access shows below but is changed on the parent.
|
||||
{{ nav.tr_args("grants-inherits-parent", [("role", page.selected_role.clone()), ("parent", page.selected_parent.clone())])|safe }}
|
||||
{% else %}
|
||||
<strong>{{ page.selected_role }}</strong> inherits from nothing, so what you see below is all it has.
|
||||
{{ nav.tr_args("grants-inherits-none", [("role", page.selected_role.clone())])|safe }}
|
||||
{% endif %}
|
||||
{% if page.selected_is_structural %}
|
||||
This role designs the system and may never write row data, so only the read column is open.
|
||||
{{ nav.tr("grants-structural-hint") }}
|
||||
{% endif %}
|
||||
</p>
|
||||
|
||||
<h3 class="panel-subhead">Shortcuts</h3>
|
||||
<p class="hint">These grant the wildcard objects, so they keep covering profiles and tables created later.</p>
|
||||
<h3 class="panel-subhead">{{ nav.tr("grants-shortcuts") }}</h3>
|
||||
<p class="hint">{{ nav.tr("grants-shortcuts-hint") }}</p>
|
||||
<div class="actions shortcut-row">
|
||||
{% call apply(page.selected_role, "grant", page.everything_read_pairs(), "Read everything", "secondary", "Read on every profile, journal and exchange rate") %}{% endcall %}
|
||||
{% call apply(page.selected_role, "grant", page.everything_pairs(), "Full access to everything", "secondary", "Every action the role may hold, on every profile") %}{% endcall %}
|
||||
{% call apply(page.selected_role, "grant", page.everything_read_pairs(), nav.tr("roles-access-read"), "secondary", nav.tr("grants-read-everything-hint")) %}{% endcall %}
|
||||
{% call apply(page.selected_role, "grant", page.everything_pairs(), nav.tr("grants-full-access-everything"), "secondary", nav.tr("grants-full-everything-hint")) %}{% endcall %}
|
||||
{% if page.has_direct() %}
|
||||
{% call apply(page.selected_role, "revoke", page.direct_pairs(), "Remove all access", "danger", "Revoke every grant this role holds directly") %}{% endcall %}
|
||||
{% call apply(page.selected_role, "revoke", page.direct_pairs(), nav.tr("grants-remove-all-access"), "danger", nav.tr("grants-remove-all-hint")) %}{% endcall %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% for group in page.groups %}
|
||||
<section class="panel">
|
||||
<h2>{% if group.global %}Everything, everywhere{% else %}Profile: {{ group.title }}{% endif %}<span class="count">{{ group.rows.len() }}</span></h2>
|
||||
<h2>{% if group.global %}{{ nav.tr("grants-everything-everywhere") }}{% else %}{{ nav.tr("grants-profile-prefix") }} {{ group.title }}{% endif %}<span class="count">{{ group.rows.len() }}</span></h2>
|
||||
<div class="actions shortcut-row">
|
||||
{% if group.has_wildcards() %}
|
||||
{% call apply(page.selected_role, "grant", group.read_pairs(), "Read only", "secondary", "Read on everything in here") %}{% endcall %}
|
||||
{% call apply(page.selected_role, "grant", group.all_pairs(), "Full access", "secondary", "Every action the role may hold, on everything in here") %}{% endcall %}
|
||||
{% call apply(page.selected_role, "grant", group.read_pairs(), nav.tr("grants-read-only"), "secondary", nav.tr("grants-read-only-hint")) %}{% endcall %}
|
||||
{% call apply(page.selected_role, "grant", group.all_pairs(), nav.tr("grants-full-access"), "secondary", nav.tr("grants-full-access-hint")) %}{% endcall %}
|
||||
{% endif %}
|
||||
{% if group.has_direct() %}
|
||||
{% call apply(page.selected_role, "revoke", group.direct_pairs(), "Clear", "danger", "Revoke everything this role holds directly in here") %}{% endcall %}
|
||||
{% call apply(page.selected_role, "revoke", group.direct_pairs(), nav.tr("grants-clear"), "danger", nav.tr("grants-clear-hint")) %}{% endcall %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -92,9 +92,9 @@
|
||||
<table class="builder-table grant-matrix">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Object</th>
|
||||
<th>{{ nav.tr("grants-th-object") }}</th>
|
||||
{% for action in page.actions() %}<th>{{ action }}</th>{% endfor %}
|
||||
<th>Row</th>
|
||||
<th>{{ nav.tr("grants-th-row") }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -108,21 +108,21 @@
|
||||
{% for cell in row.cells %}
|
||||
<td class="grant-cell">
|
||||
{% if !cell.allowed %}
|
||||
<span class="cell-closed" title="Not available for this role">·</span>
|
||||
<span class="cell-closed" title="{{ nav.tr("grants-cell-unavailable") }}">·</span>
|
||||
{% else if cell.direct %}
|
||||
{% call apply(page.selected_role, "revoke", row.one_pair(cell.action.as_str()), "✓", "cell-on", "Held directly — click to revoke") %}{% endcall %}
|
||||
{% call apply(page.selected_role, "revoke", row.one_pair(cell.action.as_str()), "✓", "cell-on", nav.tr("grants-cell-direct")) %}{% endcall %}
|
||||
{% else if cell.inherited %}
|
||||
<span class="cell-inherited" title="inherited: covered by the parent role or a wider grant">↑</span>
|
||||
<span class="cell-inherited" title="{{ nav.tr("grants-cell-inherited") }}">↑</span>
|
||||
{% else %}
|
||||
{% call apply(page.selected_role, "grant", row.one_pair(cell.action.as_str()), "+", "cell-off", "Click to grant") %}{% endcall %}
|
||||
{% call apply(page.selected_role, "grant", row.one_pair(cell.action.as_str()), "+", "cell-off", nav.tr("grants-cell-grant")) %}{% endcall %}
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endfor %}
|
||||
<td class="grant-cell">
|
||||
<div class="actions">
|
||||
{% call apply(page.selected_role, "grant", row.all_pairs(), "All", "secondary", "Grant every action available on this object") %}{% endcall %}
|
||||
{% call apply(page.selected_role, "grant", row.all_pairs(), nav.tr("grants-all"), "secondary", nav.tr("grants-all-hint")) %}{% endcall %}
|
||||
{% if row.has_direct() %}
|
||||
{% call apply(page.selected_role, "revoke", row.direct_pairs(), "None", "danger", "Revoke this object's direct grants") %}{% endcall %}
|
||||
{% call apply(page.selected_role, "revoke", row.direct_pairs(), nav.tr("grants-none"), "danger", nav.tr("grants-none-hint")) %}{% endcall %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</td>
|
||||
|
||||
Reference in New Issue
Block a user