summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rw-r--r--js/App.js16
-rwxr-xr-xjs/Headlines.js12
-rwxr-xr-xjs/common.js16
3 files changed, 39 insertions, 5 deletions
diff --git a/js/App.js b/js/App.js
index 67d932369..bb8da578d 100644
--- a/js/App.js
+++ b/js/App.js
@@ -17,6 +17,15 @@ const App = {
hotkey_actions: {},
is_prefs: false,
LABEL_BASE_INDEX: -1024,
+ _translations: {},
+ l10n: {
+ ngettext: function(msg1, msg2, n) {
+ return self.__((parseInt(n) > 1) ? msg2 : msg1);
+ },
+ __: function(msg) {
+ return App._translations[msg] ? App._translations[msg] : msg;
+ }
+ },
FormFields: {
attributes_to_string: function(attributes) {
return Object.keys(attributes).map((k) =>
@@ -525,6 +534,13 @@ const App = {
PluginHost.run(PluginHost.HOOK_PARAMS_LOADED, this._initParams);
}
+ const translations = reply['translations'];
+
+ if (translations) {
+ console.log('reading translations...');
+ App._translations = translations;
+ }
+
this.initSecondStage();
},
Error: {
diff --git a/js/Headlines.js b/js/Headlines.js
index 6dbe24918..fd9bc6661 100755
--- a/js/Headlines.js
+++ b/js/Headlines.js
@@ -440,10 +440,12 @@ const Headlines = {
if (headlines.vfeed_group_enabled && hl.feed_title && this.vgroup_last_feed != hl.feed_id) {
const vgrhdr = `<div data-feed-id='${hl.feed_id}' class='feed-title'>
- <div style='float : right'>${Feeds.renderIcon(hl.feed_id, hl.has_icon)}</div>
- <a class="title" href="#" onclick="Feeds.open({feed:${hl.feed_id}})">${hl.feed_title}
- <a class="catchup" title="${__('mark feed as read')}" onclick="Feeds.catchupFeedInGroup(${hl.feed_id})" href="#"><i class="icon-done material-icons">done_all</i></a>
- </div>`
+ <div class="pull-right">${Feeds.renderIcon(hl.feed_id, hl.has_icon)}</div>
+ <a class="title" href="#" onclick="Feeds.open({feed:${hl.feed_id}})">${hl.feed_title}</a>
+ <a class="catchup" title="${__('mark feed as read')}" onclick="Feeds.catchupFeedInGroup(${hl.feed_id})" href="#">
+ <i class="icon-done material-icons">done_all</i>
+ </a>
+ </div>`
const tmp = document.createElement("div");
tmp.innerHTML = vgrhdr;
@@ -476,6 +478,7 @@ const Headlines = {
</div>
<span onclick="return Headlines.click(event, ${hl.id});" data-article-id="${hl.id}" class="titleWrap hlMenuAttach">
+ ${App.getInitParam("debug_headline_ids") ? `<span class="text-muted small">A: ${hl.id} F: ${hl.feed_id}</span>` : ""}
<a class="title" title="${App.escapeHtml(hl.title)}" target="_blank" rel="noopener noreferrer" href="${App.escapeHtml(hl.link)}">
${hl.title}</a>
<span class="author">${hl.author}</span>
@@ -542,6 +545,7 @@ const Headlines = {
<i class="pub-pic pub-${hl.id} material-icons" onclick="Headlines.togglePub(${hl.id})">rss_feed</i>
</div>
<div onclick="return Headlines.click(event, ${hl.id})" class="title">
+ ${App.getInitParam("debug_headline_ids") ? `<span class="text-muted small">A: ${hl.id} F: ${hl.feed_id}</span>` : ""}
<span data-article-id="${hl.id}" class="hl-content hlMenuAttach">
<a class="title" href="${App.escapeHtml(hl.link)}">${hl.title} <span class="preview">${hl.content_preview}</span></a>
<span class="author">${hl.author}</span>
diff --git a/js/common.js b/js/common.js
index 670ee1b30..1544e6d0b 100755
--- a/js/common.js
+++ b/js/common.js
@@ -1,8 +1,22 @@
'use strict';
-/* global dijit, __, App, dojo, __csrf_token */
+/* global dijit, App, dojo, __csrf_token */
/* eslint-disable no-new */
+/* exported __ */
+function __(msg) {
+ if (typeof App != "undefined") {
+ return App.l10n.__(msg);
+ } else {
+ return msg;
+ }
+}
+
+/* exported ngettext */
+function ngettext(msg1, msg2, n) {
+ return __((parseInt(n) > 1) ? msg2 : msg1);
+}
+
/* exported $ */
function $(id) {
console.warn("FIXME: please use App.byId() or document.getElementById() instead of $():", id);