| LEFT | RIGHT | 
|---|
| 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 | 
| 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| 12  * GNU General Public License for more details. | 12  * GNU General Public License for more details. | 
| 13  * | 13  * | 
| 14  * You should have received a copy of the GNU General Public License | 14  * You should have received a copy of the GNU General Public License | 
| 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
| 16  */ | 16  */ | 
| 17 | 17 | 
| 18 "use strict"; | 18 "use strict"; | 
| 19 | 19 | 
|  | 20 (function() | 
| 20 { | 21 { | 
| 21   if (typeof ext == "undefined") | 22   if (typeof ext == "undefined") | 
| 22     window.ext = {}; | 23     window.ext = {}; | 
| 23 | 24 | 
| 24   function Page(source) | 25   function Page(source) | 
| 25   { | 26   { | 
| 26     this._source = source; | 27     this._source = source; | 
| 27   } | 28   } | 
| 28   Page.prototype = | 29   Page.prototype = | 
| 29   { | 30   { | 
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 109     return catalog; | 110     return catalog; | 
| 110   }; | 111   }; | 
| 111 | 112 | 
| 112   let selectedLocale = window.navigator.language; | 113   let selectedLocale = window.navigator.language; | 
| 113   let match = /[?&]locale=([\w-]+)/.exec(window.location.search); | 114   let match = /[?&]locale=([\w-]+)/.exec(window.location.search); | 
| 114   if (match) | 115   if (match) | 
| 115     selectedLocale = match[1]; | 116     selectedLocale = match[1]; | 
| 116 | 117 | 
| 117   let locales = getLocaleCandidates(selectedLocale); | 118   let locales = getLocaleCandidates(selectedLocale); | 
| 118   let catalog = initCatalog(locales[0]); | 119   let catalog = initCatalog(locales[0]); | 
| 119   let catalogFile = window.location.pathname.replace(/.*\//, ""). | 120   let catalogFile = window.location.pathname.replace(/.*\//, "") | 
| 120     replace(/\..*/, "") + ".json"; | 121     .replace(/\..*/, "") + ".json"; | 
| 121 | 122 | 
| 122   let replacePlaceholder = function(text, placeholder, content) | 123   let replacePlaceholder = function(text, placeholder, content) | 
| 123   { | 124   { | 
| 124     return text.split("$" + placeholder + "$").join(content || ""); | 125     return text.split("$" + placeholder + "$").join(content || ""); | 
| 125   }; | 126   }; | 
| 126 | 127 | 
| 127   let parseMessage = function(rawMessage) | 128   let parseMessage = function(rawMessage) | 
| 128   { | 129   { | 
| 129     let text = rawMessage.message; | 130     let text = rawMessage.message; | 
| 130     let placeholders = []; | 131     let placeholders = []; | 
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 190 | 191 | 
| 191         if (locales.length == 0) | 192         if (locales.length == 0) | 
| 192           return ""; | 193           return ""; | 
| 193 | 194 | 
| 194         let locale = locales.shift(); | 195         let locale = locales.shift(); | 
| 195         readCatalog(locale, "common.json"); | 196         readCatalog(locale, "common.json"); | 
| 196         readCatalog(locale, catalogFile); | 197         readCatalog(locale, catalogFile); | 
| 197       } | 198       } | 
| 198     } | 199     } | 
| 199   }; | 200   }; | 
| 200 } | 201 }()); | 
| LEFT | RIGHT | 
|---|