| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-2016 Eyeo GmbH | 3  * Copyright (C) 2006-2016 Eyeo GmbH | 
| 4  * | 4  * | 
| 5  * Adblock Plus is free software: you can redistribute it and/or modify | 5  * Adblock Plus is free software: you can redistribute it and/or modify | 
| 6  * it under the terms of the GNU General Public License version 3 as | 6  * it under the terms of the GNU General Public License version 3 as | 
| 7  * published by the Free Software Foundation. | 7  * published by the Free Software Foundation. | 
| 8  * | 8  * | 
| 9  * Adblock Plus is distributed in the hope that it will be useful, | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 58   } | 58   } | 
| 59 | 59 | 
| 60   while (element.lastChild) | 60   while (element.lastChild) | 
| 61     element.removeChild(element.lastChild); | 61     element.removeChild(element.lastChild); | 
| 62   processString(ext.i18n.getMessage(stringName, arguments), element); | 62   processString(ext.i18n.getMessage(stringName, arguments), element); | 
| 63 } | 63 } | 
| 64 | 64 | 
| 65 // Loads i18n strings | 65 // Loads i18n strings | 
| 66 function loadI18nStrings() | 66 function loadI18nStrings() | 
| 67 { | 67 { | 
| 68   var nodes = document.querySelectorAll("[class^='i18n_']"); | 68   function addI18nStringsToElements(containerElement) | 
| 69   for(var i = 0; i < nodes.length; i++) |  | 
| 70   { | 69   { | 
| 71     var node = nodes[i]; | 70     var elements = containerElement.querySelectorAll("[class^='i18n_']"); | 
| 72     var arguments = JSON.parse("[" + node.textContent + "]"); | 71     for(var i = 0; i < elements.length; i++) | 
| 73     if (arguments.length == 0) | 72     { | 
| 74       arguments = null; | 73       var node = elements[i]; | 
|  | 74       var arguments = JSON.parse("[" + node.textContent + "]"); | 
|  | 75       if (arguments.length == 0) | 
|  | 76         arguments = null; | 
| 75 | 77 | 
| 76     var className = node.className; | 78       var className = node.className; | 
| 77     if (className instanceof SVGAnimatedString) | 79       if (className instanceof SVGAnimatedString) | 
| 78       className = className.animVal; | 80         className = className.animVal; | 
| 79     var stringName = className.split(/\s/)[0].substring(5); | 81       var stringName = className.split(/\s/)[0].substring(5); | 
| 80 | 82 | 
| 81     ext.i18n.setElementText(node, stringName, arguments); | 83       ext.i18n.setElementText(node, stringName, arguments); | 
|  | 84     } | 
| 82   } | 85   } | 
|  | 86   addI18nStringsToElements(document); | 
|  | 87   // Content of Template is not rendered on runtime so we need to add | 
|  | 88   // translation strings for each Template documentFragment content individually | 
|  | 89   var templates = document.querySelectorAll("template"); | 
|  | 90   for (var i = 0; i < templates.length; i++) | 
|  | 91     addI18nStringsToElements(templates[i].content); | 
| 83 } | 92 } | 
| 84 | 93 | 
| 85 // Provides a more readable string of the current date and time | 94 // Provides a more readable string of the current date and time | 
| 86 function i18n_timeDateStrings(when) | 95 function i18n_timeDateStrings(when) | 
| 87 { | 96 { | 
| 88   var d = new Date(when); | 97   var d = new Date(when); | 
| 89   var timeString = d.toLocaleTimeString(); | 98   var timeString = d.toLocaleTimeString(); | 
| 90 | 99 | 
| 91   var now = new Date(); | 100   var now = new Date(); | 
| 92   if (d.toDateString() == now.toDateString()) | 101   if (d.toDateString() == now.toDateString()) | 
| 93     return [timeString]; | 102     return [timeString]; | 
| 94   else | 103   else | 
| 95     return [timeString, d.toLocaleDateString()]; | 104     return [timeString, d.toLocaleDateString()]; | 
| 96 } | 105 } | 
| 97 | 106 | 
|  | 107 // Formats date string to ["YYYY-MM-DD", "mm:ss"] format | 
|  | 108 function i18n_formatDateTime(when) | 
|  | 109 { | 
|  | 110   var date = new Date(when); | 
|  | 111   var dateParts = [date.getFullYear(), date.getMonth() + 1, date.getDate(), | 
|  | 112                   date.getHours(), date.getMinutes()]; | 
|  | 113 | 
|  | 114   var dateParts = dateParts.map(function(datePart) | 
|  | 115   { | 
|  | 116     return datePart < 10 ? "0" + datePart : datePart; | 
|  | 117   }); | 
|  | 118 | 
|  | 119   return [dateParts.splice(0, 3).join("-"), dateParts.join(":")]; | 
|  | 120 } | 
|  | 121 | 
| 98 // Fill in the strings as soon as possible | 122 // Fill in the strings as soon as possible | 
| 99 window.addEventListener("DOMContentLoaded", loadI18nStrings, true); | 123 window.addEventListener("DOMContentLoaded", loadI18nStrings, true); | 
| OLD | NEW | 
|---|