mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-26 10:26:15 -04:00

Not every string was localized: * `/admin/plugins` has some CSS magic to draw the tables of plugins differently on narrow (mobile) screens, and the l10n library we use does not support that particular magic. The strings that were not localized are "Name", "Description", "Version", and "Time". These strings are only stuck in English when the page is viewed on a narrow screen; normal desktop users will see translated strings. The CSS magic ought to be replaced with something more robust (lots of nested `div`s); those remaining strings can be localized whenever that happens. * Strings from external sources such as plugin descriptions, error messages, and `settings.json` comments are not localized.
120 lines
5.2 KiB
HTML
120 lines
5.2 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<title data-l10n-id="admin_plugins.page-title">Plugin manager - Etherpad</title>
|
|
<meta name="viewport" content="width=device-width">
|
|
<link rel="stylesheet" href="../static/css/admin.css">
|
|
<script src="../static/js/jquery.js"></script>
|
|
<script src="../socket.io/socket.io.js"></script>
|
|
<script src="../static/js/admin/plugins.js"></script>
|
|
<link rel="localizations" type="application/l10n+json" href="../locales.json" />
|
|
<script src="../static/js/html10n.js"></script>
|
|
<script src="../static/js/l10n.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="wrapper">
|
|
|
|
<% if (errors.length) { %>
|
|
<div class="errors">
|
|
<% errors.forEach(function (item) { %>
|
|
<div class="error"><%= item.toString() %></div>
|
|
<% }) %>
|
|
</div>
|
|
<% } %>
|
|
|
|
<div class="menu">
|
|
<h1><a href="../">Etherpad</a></h1>
|
|
<ul>
|
|
<% e.begin_block("adminMenu"); %>
|
|
<li><a href="plugins" data-l10n-id="admin_plugins">Plugin manager</a></li>
|
|
<li><a href="settings" data-l10n-id="admin_settings">Settings</a></li>
|
|
<li><a href="plugins/info" data-l10n-id="admin_plugins_info">Troubleshooting information</a></li>
|
|
<% e.end_block(); %>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="innerwrapper">
|
|
<h2 data-l10n-id="admin_plugins.installed">Installed plugins</h2>
|
|
<table class="installed-results">
|
|
<thead>
|
|
<tr>
|
|
<th data-l10n-id="admin_plugins.name">Name</th>
|
|
<th data-l10n-id="admin_plugins.description">Description</th>
|
|
<th data-l10n-id="admin_plugins.version">Version</th>
|
|
<td></td>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="template">
|
|
<tr id="installed-plugin-template">
|
|
<td class="name" data-label="Name"></td>
|
|
<td class="description" data-label="Description"></td>
|
|
<td class="version" data-label="Version"></td>
|
|
<td>
|
|
<div class="actions">
|
|
<input type="button" value="Uninstall" class="do-uninstall" data-l10n-id="admin_plugins.installed_uninstall.value">
|
|
<div class="progress"><p class="loadingAnimation"></p><p><span class="message"></span></p></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
<tbody id="installed-plugins">
|
|
</tbody>
|
|
<tbody class="messages">
|
|
<tr><td></td><td>
|
|
<p class="nothing-installed" data-l10n-id="admin_plugins.installed_nothing">You haven't installed any plugins yet.</p>
|
|
<p class="fetching"><p class="loadingAnimation"></p><br/><span data-l10n-id="admin_plugins.installed_fetching">Fetching installed plugins…</span></p>
|
|
</td><td></td></tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div class="paged listing search-results">
|
|
<div class="separator"></div>
|
|
|
|
<h2 data-l10n-id="admin_plugins.available">Available plugins</h2>
|
|
<form>
|
|
<input type="text" name="search" disabled placeholder="Search for plugins to install" id="search-query" data-l10n-id="admin_plugins.available_search.placeholder">
|
|
</form>
|
|
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th class="sort up" data-label="name" data-l10n-id="admin_plugins.name">Name</th>
|
|
<th class="sort none" data-label="description" data-l10n-id="admin_plugins.description">Description</th>
|
|
<th class="sort none" data-label="version" data-l10n-id="admin_plugins.version">Version</th>
|
|
<th class="sort none" data-label="time" data-l10n-id="admin_plugins.last-update">Last update</th>
|
|
<td></td>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="template">
|
|
<tr>
|
|
<td class="name" data-label="Name"></td>
|
|
<td class="description" data-label="Description"></td>
|
|
<td class="version" data-label="Version"></td>
|
|
<td class="time" data-label="Time"></td>
|
|
<td>
|
|
<div class="actions">
|
|
<input type="button" value="Install" class="do-install" data-l10n-id="admin_plugins.available_install.value">
|
|
<div class="progress"><p><p class="loadingAnimation"></p></p><p><span class="message"></span></p></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
<tbody class="results">
|
|
</tbody>
|
|
<tbody>
|
|
<tr><td></td><td>
|
|
<div class="messages">
|
|
<div id="search-progress" class="progress"><p> </p></div>
|
|
<p class="nothing-found" data-l10n-id="admin_plugins.available_not-found">No plugins found.</p>
|
|
<p class="fetching"><p class="loadingAnimation"></p><br/><span data-l10n-id="admin_plugins.available_fetching">Fetching…</span></p>
|
|
</div>
|
|
</td><td></td></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div style="display:none"><a href="/javascript" data-jslicense="1">JavaScript license information</a></div>
|
|
</body>
|
|
</html>
|