Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,635 @@
;;(function(window,undefined){'use strict';function L10nError(message,id,loc){this.name='L10nError';this.message=message;this.id=id;this.loc=loc;}
L10nError.prototype=Object.create(Error.prototype);L10nError.prototype.constructor=L10nError;var io={_load:function(type,url,callback,sync){var xhr=new XMLHttpRequest();var needParse;if(xhr.overrideMimeType){xhr.overrideMimeType(type);}
xhr.open('GET',url,!sync);if(type==='application/json'){if(sync){needParse=true;}else{xhr.responseType='json';}}
xhr.addEventListener('load',function io_onload(e){if(e.target.status===200||e.target.status===0){var res=e.target.response||e.target.responseText;callback(null,needParse?JSON.parse(res):res);}else{callback(new L10nError('Not found: '+url));}});xhr.addEventListener('error',callback);xhr.addEventListener('timeout',callback);try{xhr.send(null);}catch(e){if(e.name==='NS_ERROR_FILE_NOT_FOUND'){callback(new L10nError('Not found: '+url));}else{throw e;}}},load:function(url,callback,sync){return io._load('text/plain',url,callback,sync);},loadJSON:function(url,callback,sync){return io._load('application/json',url,callback,sync);}};function EventEmitter(){}
EventEmitter.prototype.emit=function ee_emit(){if(!this._listeners){return;}
var args=Array.prototype.slice.call(arguments);var type=args.shift();if(!this._listeners[type]){return;}
var typeListeners=this._listeners[type].slice();for(var i=0;i<typeListeners.length;i++){typeListeners[i].apply(this,args);}};EventEmitter.prototype.addEventListener=function ee_add(type,listener){if(!this._listeners){this._listeners={};}
if(!(type in this._listeners)){this._listeners[type]=[];}
this._listeners[type].push(listener);};EventEmitter.prototype.removeEventListener=function ee_rm(type,listener){if(!this._listeners){return;}
var typeListeners=this._listeners[type];var pos=typeListeners.indexOf(listener);if(pos===-1){return;}
typeListeners.splice(pos,1);};function getPluralRule(lang){var locales2rules={'af':3,'ak':4,'am':4,'ar':1,'asa':3,'az':0,'be':11,'bem':3,'bez':3,'bg':3,'bh':4,'bm':0,'bn':3,'bo':0,'br':20,'brx':3,'bs':11,'ca':3,'cgg':3,'chr':3,'cs':12,'cy':17,'da':3,'de':3,'dv':3,'dz':0,'ee':3,'el':3,'en':3,'eo':3,'es':3,'et':3,'eu':3,'fa':0,'ff':5,'fi':3,'fil':4,'fo':3,'fr':5,'fur':3,'fy':3,'ga':8,'gd':24,'gl':3,'gsw':3,'gu':3,'guw':4,'gv':23,'ha':3,'haw':3,'he':2,'hi':4,'hr':11,'hu':0,'id':0,'ig':0,'ii':0,'is':3,'it':3,'iu':7,'ja':0,'jmc':3,'jv':0,'ka':0,'kab':5,'kaj':3,'kcg':3,'kde':0,'kea':0,'kk':3,'kl':3,'km':0,'kn':0,'ko':0,'ksb':3,'ksh':21,'ku':3,'kw':7,'lag':18,'lb':3,'lg':3,'ln':4,'lo':0,'lt':10,'lv':6,'mas':3,'mg':4,'mk':16,'ml':3,'mn':3,'mo':9,'mr':3,'ms':0,'mt':15,'my':0,'nah':3,'naq':7,'nb':3,'nd':3,'ne':3,'nl':3,'nn':3,'no':3,'nr':3,'nso':4,'ny':3,'nyn':3,'om':3,'or':3,'pa':3,'pap':3,'pl':13,'ps':3,'pt':3,'rm':3,'ro':9,'rof':3,'ru':11,'rwk':3,'sah':0,'saq':3,'se':7,'seh':3,'ses':0,'sg':0,'sh':11,'shi':19,'sk':12,'sl':14,'sma':7,'smi':7,'smj':7,'smn':7,'sms':7,'sn':3,'so':3,'sq':3,'sr':11,'ss':3,'ssy':3,'st':3,'sv':3,'sw':3,'syr':3,'ta':3,'te':3,'teo':3,'th':0,'ti':4,'tig':3,'tk':3,'tl':4,'tn':3,'to':0,'tr':0,'ts':3,'tzm':22,'uk':11,'ur':3,'ve':3,'vi':0,'vun':3,'wa':4,'wae':3,'wo':0,'xh':3,'xog':3,'yo':0,'zh':0,'zu':3};function isIn(n,list){return list.indexOf(n)!==-1;}
function isBetween(n,start,end){return typeof n===typeof start&&start<=n&&n<=end;}
var pluralRules={'0':function(){return'other';},'1':function(n){if((isBetween((n%100),3,10))){return'few';}
if(n===0){return'zero';}
if((isBetween((n%100),11,99))){return'many';}
if(n===2){return'two';}
if(n===1){return'one';}
return'other';},'2':function(n){if(n!==0&&(n%10)===0){return'many';}
if(n===2){return'two';}
if(n===1){return'one';}
return'other';},'3':function(n){if(n===1){return'one';}
return'other';},'4':function(n){if((isBetween(n,0,1))){return'one';}
return'other';},'5':function(n){if((isBetween(n,0,2))&&n!==2){return'one';}
return'other';},'6':function(n){if(n===0){return'zero';}
if((n%10)===1&&(n%100)!==11){return'one';}
return'other';},'7':function(n){if(n===2){return'two';}
if(n===1){return'one';}
return'other';},'8':function(n){if((isBetween(n,3,6))){return'few';}
if((isBetween(n,7,10))){return'many';}
if(n===2){return'two';}
if(n===1){return'one';}
return'other';},'9':function(n){if(n===0||n!==1&&(isBetween((n%100),1,19))){return'few';}
if(n===1){return'one';}
return'other';},'10':function(n){if((isBetween((n%10),2,9))&&!(isBetween((n%100),11,19))){return'few';}
if((n%10)===1&&!(isBetween((n%100),11,19))){return'one';}
return'other';},'11':function(n){if((isBetween((n%10),2,4))&&!(isBetween((n%100),12,14))){return'few';}
if((n%10)===0||(isBetween((n%10),5,9))||(isBetween((n%100),11,14))){return'many';}
if((n%10)===1&&(n%100)!==11){return'one';}
return'other';},'12':function(n){if((isBetween(n,2,4))){return'few';}
if(n===1){return'one';}
return'other';},'13':function(n){if((isBetween((n%10),2,4))&&!(isBetween((n%100),12,14))){return'few';}
if(n!==1&&(isBetween((n%10),0,1))||(isBetween((n%10),5,9))||(isBetween((n%100),12,14))){return'many';}
if(n===1){return'one';}
return'other';},'14':function(n){if((isBetween((n%100),3,4))){return'few';}
if((n%100)===2){return'two';}
if((n%100)===1){return'one';}
return'other';},'15':function(n){if(n===0||(isBetween((n%100),2,10))){return'few';}
if((isBetween((n%100),11,19))){return'many';}
if(n===1){return'one';}
return'other';},'16':function(n){if((n%10)===1&&n!==11){return'one';}
return'other';},'17':function(n){if(n===3){return'few';}
if(n===0){return'zero';}
if(n===6){return'many';}
if(n===2){return'two';}
if(n===1){return'one';}
return'other';},'18':function(n){if(n===0){return'zero';}
if((isBetween(n,0,2))&&n!==0&&n!==2){return'one';}
return'other';},'19':function(n){if((isBetween(n,2,10))){return'few';}
if((isBetween(n,0,1))){return'one';}
return'other';},'20':function(n){if((isBetween((n%10),3,4)||((n%10)===9))&&!(isBetween((n%100),10,19)||isBetween((n%100),70,79)||isBetween((n%100),90,99))){return'few';}
if((n%1000000)===0&&n!==0){return'many';}
if((n%10)===2&&!isIn((n%100),[12,72,92])){return'two';}
if((n%10)===1&&!isIn((n%100),[11,71,91])){return'one';}
return'other';},'21':function(n){if(n===0){return'zero';}
if(n===1){return'one';}
return'other';},'22':function(n){if((isBetween(n,0,1))||(isBetween(n,11,99))){return'one';}
return'other';},'23':function(n){if((isBetween((n%10),1,2))||(n%20)===0){return'one';}
return'other';},'24':function(n){if((isBetween(n,3,10)||isBetween(n,13,19))){return'few';}
if(isIn(n,[2,12])){return'two';}
if(isIn(n,[1,11])){return'one';}
return'other';}};var index=locales2rules[lang.replace(/-.*$/,'')];if(!(index in pluralRules)){return function(){return'other';};}
return pluralRules[index];}
var MAX_PLACEABLES=100;var PropertiesParser={patterns:null,entryIds:null,init:function(){this.patterns={comment:/^\s*#|^\s*$/,entity:/^([^=\s]+)\s*=\s*(.*)$/,multiline:/[^\\]\\$/,index:/\{\[\s*(\w+)(?:\(([^\)]*)\))?\s*\]\}/i,unicode:/\\u([0-9a-fA-F]{1,4})/g,entries:/[^\r\n]+/g,controlChars:/\\([\\\n\r\t\b\f\{\}\"\'])/g,placeables:/\{\{\s*([^\s]*?)\s*\}\}/,};},parse:function(ctx,source){if(!this.patterns){this.init();}
var ast=[];this.entryIds=Object.create(null);var entries=source.match(this.patterns.entries);if(!entries){return ast;}
for(var i=0;i<entries.length;i++){var line=entries[i];if(this.patterns.comment.test(line)){continue;}
while(this.patterns.multiline.test(line)&&i<entries.length){line=line.slice(0,-1)+entries[++i].trim();}
var entityMatch=line.match(this.patterns.entity);if(entityMatch){try{this.parseEntity(entityMatch[1],entityMatch[2],ast);}catch(e){if(ctx){ctx._emitter.emit('parseerror',e);}else{throw e;}}}}
return ast;},parseEntity:function(id,value,ast){var name,key;var pos=id.indexOf('[');if(pos!==-1){name=id.substr(0,pos);key=id.substring(pos+1,id.length-1);}else{name=id;key=null;}
var nameElements=name.split('.');if(nameElements.length>2){throw new L10nError('Error in ID: "'+name+'".'+' Nested attributes are not supported.');}
var attr;if(nameElements.length>1){name=nameElements[0];attr=nameElements[1];if(attr[0]==='$'){throw new L10nError('Attribute can\'t start with "$"',id);}}else{attr=null;}
this.setEntityValue(name,attr,key,this.unescapeString(value),ast);},setEntityValue:function(id,attr,key,rawValue,ast){var pos,v;var value=rawValue.indexOf('{{')>-1?this.parseString(rawValue):rawValue;if(attr){pos=this.entryIds[id];if(pos===undefined){v={$i:id};if(key){v[attr]={};v[attr][key]=value;}else{v[attr]=value;}
ast.push(v);this.entryIds[id]=ast.length-1;return;}
if(key){if(typeof(ast[pos][attr])==='string'){ast[pos][attr]={$x:this.parseIndex(ast[pos][attr]),$v:{}};}
ast[pos][attr].$v[key]=value;return;}
ast[pos][attr]=value;return;}
if(key){pos=this.entryIds[id];if(pos===undefined){v={};v[key]=value;ast.push({$i:id,$v:v});this.entryIds[id]=ast.length-1;return;}
if(typeof(ast[pos].$v)==='string'){ast[pos].$x=this.parseIndex(ast[pos].$v);ast[pos].$v={};}
ast[pos].$v[key]=value;return;}
ast.push({$i:id,$v:value});this.entryIds[id]=ast.length-1;},parseString:function(str){var chunks=str.split(this.patterns.placeables);var complexStr=[];var len=chunks.length;var placeablesCount=(len-1)/2;if(placeablesCount>=MAX_PLACEABLES){throw new L10nError('Too many placeables ('+placeablesCount+', max allowed is '+MAX_PLACEABLES+')');}
for(var i=0;i<chunks.length;i++){if(chunks[i].length===0){continue;}
if(i%2===1){complexStr.push({t:'idOrVar',v:chunks[i]});}else{complexStr.push(chunks[i]);}}
return complexStr;},unescapeString:function(str){if(str.lastIndexOf('\\')!==-1){str=str.replace(this.patterns.controlChars,'$1');}
return str.replace(this.patterns.unicode,function(match,token){return unescape('%u'+'0000'.slice(token.length)+token);});},parseIndex:function(str){var match=str.match(this.patterns.index);if(!match){throw new L10nError('Malformed index');}
if(match[2]){return[{t:'idOrVar',v:match[1]},match[2]];}else{return[{t:'idOrVar',v:match[1]}];}}};var KNOWN_MACROS=['plural'];var MAX_PLACEABLE_LENGTH=2500;var rePlaceables=/\{\{\s*(.+?)\s*\}\}/g;var nonLatin1=/[^\x01-\xFF]/;var FSI='\u2068';var PDI='\u2069';function createEntry(node,env){var keys=Object.keys(node);if(typeof node.$v==='string'&&keys.length===2){return node.$v;}
var attrs;for(var i=0,key;key=keys[i];i++){if(key[0]==='$'){continue;}
if(!attrs){attrs=Object.create(null);}
attrs[key]=createAttribute(node[key],env,node.$i+'.'+key);}
return{id:node.$i,value:node.$v!==undefined?node.$v:null,index:node.$x||null,attrs:attrs||null,env:env,dirty:false};}
function createAttribute(node,env,id){if(typeof node==='string'){return node;}
return{id:id,value:node.$v||(node!==undefined?node:null),index:node.$x||null,env:env,dirty:false};}
function format(args,entity){if(typeof entity==='string'){return[{},entity];}
if(entity.dirty){throw new L10nError('Cyclic reference detected: '+entity.id);}
entity.dirty=true;var rv;try{rv=resolveValue({},args,entity.env,entity.value,entity.index);}finally{entity.dirty=false;}
return rv;}
function resolveIdentifier(args,env,id){if(KNOWN_MACROS.indexOf(id)>-1){return[{},env['__'+id]];}
if(args&&args.hasOwnProperty(id)){if(typeof args[id]==='string'||(typeof args[id]==='number'&&!isNaN(args[id]))){return[{},args[id]];}else{throw new L10nError('Arg must be a string or a number: '+id);}}
if(id in env&&id!=='__proto__'){return format(args,env[id]);}
throw new L10nError('Unknown reference: '+id);}
function subPlaceable(locals,args,env,id){var res;try{res=resolveIdentifier(args,env,id);}catch(err){return[{error:err},'{{ '+id+' }}'];}
var value=res[1];if(typeof value==='number'){return res;}
if(typeof value==='string'){if(value.length>=MAX_PLACEABLE_LENGTH){throw new L10nError('Too many characters in placeable ('+
value.length+', max allowed is '+
MAX_PLACEABLE_LENGTH+')');}
if(locals.contextIsNonLatin1||value.match(nonLatin1)){res[1]=FSI+value+PDI;}
return res;}
return[{},'{{ '+id+' }}'];}
function interpolate(locals,args,env,arr){return arr.reduce(function(prev,cur){if(typeof cur==='string'){return[prev[0],prev[1]+cur];}else if(cur.t==='idOrVar'){var placeable=subPlaceable(locals,args,env,cur.v);return[prev[0],prev[1]+placeable[1]];}},[locals,'']);}
function resolveSelector(args,env,expr,index){var selectorName=index[0].v;var selector=resolveIdentifier(args,env,selectorName)[1];if(typeof selector!=='function'){return selector;}
var argValue=index[1]?resolveIdentifier(args,env,index[1])[1]:undefined;if(selector===env.__plural){if(argValue===0&&'zero'in expr){return'zero';}
if(argValue===1&&'one'in expr){return'one';}
if(argValue===2&&'two'in expr){return'two';}}
return selector(argValue);}
function resolveValue(locals,args,env,expr,index){if(!expr){return[locals,expr];}
if(typeof expr==='string'||typeof expr==='boolean'||typeof expr==='number'){return[locals,expr];}
if(Array.isArray(expr)){locals.contextIsNonLatin1=expr.some(function($_){return typeof($_)==='string'&&$_.match(nonLatin1);});return interpolate(locals,args,env,expr);}
if(index){var selector=resolveSelector(args,env,expr,index);if(expr.hasOwnProperty(selector)){return resolveValue(locals,args,env,expr[selector]);}}
if('other'in expr){return resolveValue(locals,args,env,expr.other);}
throw new L10nError('Unresolvable value');}
var Resolver={createEntry:createEntry,format:format,rePlaceables:rePlaceables};function walkContent(node,fn){if(typeof node==='string'){return fn(node);}
if(node.t==='idOrVar'){return node;}
var rv=Array.isArray(node)?[]:{};var keys=Object.keys(node);for(var i=0,key;(key=keys[i]);i++){if(key==='$i'||key==='$x'){rv[key]=node[key];}else{rv[key]=walkContent(node[key],fn);}}
return rv;}
var reAlphas=/[a-zA-Z]/g;var reVowels=/[aeiouAEIOU]/g;var ACCENTED_MAP='\u0226\u0181\u0187\u1E12\u1E16\u0191\u0193\u0126\u012A'+'\u0134\u0136\u013F\u1E3E\u0220\u01FE\u01A4\u024A\u0158'+'\u015E\u0166\u016C\u1E7C\u1E86\u1E8A\u1E8E\u1E90'+'[\\]^_`'+'\u0227\u0180\u0188\u1E13\u1E17\u0192\u0260\u0127\u012B'+'\u0135\u0137\u0140\u1E3F\u019E\u01FF\u01A5\u024B\u0159'+'\u015F\u0167\u016D\u1E7D\u1E87\u1E8B\u1E8F\u1E91';var FLIPPED_MAP='\u2200\u0510\u2183p\u018E\u025F\u05E4HI\u017F'+'\u04FC\u02E5WNO\u0500\xD2\u1D1AS\u22A5\u2229\u0245'+'\uFF2DX\u028EZ'+'[\\]\u1D65_,'+'\u0250q\u0254p\u01DD\u025F\u0183\u0265\u0131\u027E'+'\u029E\u0285\u026Fuodb\u0279s\u0287n\u028C\u028Dx\u028Ez';function makeLonger(val){return val.replace(reVowels,function(match){return match+match.toLowerCase();});}
function replaceChars(map,val){return val.replace(reAlphas,function(match){return map.charAt(match.charCodeAt(0)-65);});}
var reWords=/[^\W0-9_]+/g;function makeRTL(val){return val.replace(reWords,function(match){return'\u202e'+match+'\u202c';});}
var reExcluded=/(%[EO]?\w|\{\s*.+?\s*\}|&[#\w]+;|<\s*.+?\s*>)/;function mapContent(fn,val){if(!val){return val;}
var parts=val.split(reExcluded);var modified=parts.map(function(part){if(reExcluded.test(part)){return part;}
return fn(part);});return modified.join('');}
function Pseudo(id,name,charMap,modFn){this.id=id;this.translate=mapContent.bind(null,function(val){return replaceChars(charMap,modFn(val));});this.name=this.translate(name);}
var PSEUDO={'fr-x-psaccent':new Pseudo('fr-x-psaccent','Runtime Accented',ACCENTED_MAP,makeLonger),'ar-x-psbidi':new Pseudo('ar-x-psbidi','Runtime Bidi',FLIPPED_MAP,makeRTL)};function Locale(id,ctx){this.id=id;this.ctx=ctx;this.isReady=false;this.entries=Object.create(null);this.entries.__plural=getPluralRule(this.isPseudo()?this.ctx.defaultLocale:id);}
Locale.prototype.isPseudo=function(){return this.ctx.qps.indexOf(this.id)!==-1;};var bindingsIO={extra:function(id,ver,path,type,callback,errback){if(type==='properties'){type='text';}
navigator.mozApps.getLocalizationResource(id,ver,path,type).then(callback.bind(null,null),errback);},app:function(id,ver,path,type,callback,errback,sync){switch(type){case'properties':io.load(path,callback,sync);break;case'json':io.loadJSON(path,callback,sync);break;}},};Locale.prototype.build=function L_build(callback){var sync=!callback;var ctx=this.ctx;var self=this;var l10nLoads=ctx.resLinks.length;function onL10nLoaded(err){if(err){ctx._emitter.emit('fetcherror',err);}
if(--l10nLoads<=0){self.isReady=true;if(callback){callback();}}}
if(l10nLoads===0){onL10nLoaded();return;}
function onJSONLoaded(err,json){if(!err&&json){self.addAST(json);}
onL10nLoaded(err);}
function onPropLoaded(err,source){if(!err&&source){var ast=PropertiesParser.parse(ctx,source);self.addAST(ast);}
onL10nLoaded(err);}
var idToFetch=this.isPseudo()?ctx.defaultLocale:this.id;var appVersion=null;var source='app';if(typeof(navigator)!=='undefined'){source=navigator.mozL10n._config.localeSources[this.id]||'app';appVersion=navigator.mozL10n._config.appVersion;}
for(var i=0;i<ctx.resLinks.length;i++){var resLink=decodeURI(ctx.resLinks[i]);var path=resLink.replace('{locale}',idToFetch);var type=path.substr(path.lastIndexOf('.')+1);var cb;switch(type){case'json':cb=onJSONLoaded;break;case'properties':cb=onPropLoaded;break;}
bindingsIO[source](this.id,appVersion,path,type,cb,onL10nLoaded,sync);}};function createPseudoEntry(node,entries){return Resolver.createEntry(walkContent(node,PSEUDO[this.id].translate),entries);}
Locale.prototype.addAST=function(ast){var createEntry=this.isPseudo()?createPseudoEntry.bind(this):Resolver.createEntry;for(var i=0;i<ast.length;i++){this.entries[ast[i].$i]=createEntry(ast[i],this.entries);}};function Context(id){this.id=id;this.isReady=false;this.isLoading=false;this.defaultLocale='en-US';this.availableLocales=[];this.supportedLocales=[];this.qps=[];this.resLinks=[];this.locales={};this._emitter=new EventEmitter();this._ready=new Promise(this.once.bind(this));}
function reportMissing(id,err){this._emitter.emit('notfounderror',err);return id;}
function getWithFallback(id){var cur=0;var loc;var locale;while(loc=this.supportedLocales[cur]){locale=this.getLocale(loc);if(!locale.isReady){locale.build(null);}
var entry=locale.entries[id];if(entry===undefined){cur++;reportMissing.call(this,id,new L10nError('"'+id+'"'+' not found in '+loc+' in '+this.id,id,loc));continue;}
return entry;}
throw new L10nError('"'+id+'"'+' missing from all supported locales in '+this.id,id);}
function formatTuple(args,entity){try{return Resolver.format(args,entity);}catch(err){this._emitter.emit('resolveerror',err);var locals={error:err};return[locals,entity.id];}}
function formatValue(args,entity){if(typeof entity==='string'){return entity;}
return formatTuple.call(this,args,entity)[1];}
function formatEntity(args,entity){var entityTuple=formatTuple.call(this,args,entity);var value=entityTuple[1];var formatted={value:value,attrs:null,};if(entity.attrs){formatted.attrs=Object.create(null);}
for(var key in entity.attrs){var attrTuple=formatTuple.call(this,args,entity.attrs[key]);formatted.attrs[key]=attrTuple[1];}
return formatted;}
function formatAsync(fn,id,args){return this._ready.then(getWithFallback.bind(this,id)).then(fn.bind(this,args),reportMissing.bind(this,id));}
Context.prototype.formatValue=function(id,args){return formatAsync.call(this,formatValue,id,args);};Context.prototype.formatEntity=function(id,args){return formatAsync.call(this,formatEntity,id,args);};function legacyGet(fn,id,args){if(!this.isReady){throw new L10nError('Context not ready');}
var entry;try{entry=getWithFallback.call(this,id);}catch(err){if(err.loc){throw err;}
reportMissing.call(this,id,err);return'';}
return fn.call(this,args,entry);}
Context.prototype.get=function(id,args){return legacyGet.call(this,formatValue,id,args);};Context.prototype.getEntity=function(id,args){return legacyGet.call(this,formatEntity,id,args);};Context.prototype.getLocale=function getLocale(code){var locales=this.locales;if(locales[code]){return locales[code];}
return locales[code]=new Locale(code,this);};function negotiate(available,requested,defaultLocale){var supportedLocale;for(var i=0;i<requested.length;i++){var locale=requested[i];if(available.indexOf(locale)!==-1){supportedLocale=locale;break;}}
if(!supportedLocale||supportedLocale===defaultLocale){return[defaultLocale];}
return[supportedLocale,defaultLocale];}
function freeze(supported){var locale=this.getLocale(supported[0]);if(locale.isReady){setReady.call(this,supported);}else{locale.build(setReady.bind(this,supported));}}
function setReady(supported){this.supportedLocales=supported;this.isReady=true;this._emitter.emit('ready');}
Context.prototype.registerLocales=function(defLocale,available){if(defLocale){this.defaultLocale=defLocale;}
this.availableLocales=[this.defaultLocale];this.qps=Object.keys(PSEUDO);if(available){for(var i=0,loc;loc=available[i];i++){if(this.availableLocales.indexOf(loc)===-1){this.availableLocales.push(loc);var pos=this.qps.indexOf(loc);if(pos!==-1){this.qps.splice(pos,1);}}}}};Context.prototype.requestLocales=function requestLocales(){if(this.isLoading&&!this.isReady){throw new L10nError('Context not ready');}
this.isLoading=true;var requested=Array.prototype.slice.call(arguments);if(requested.length===0){throw new L10nError('No locales requested');}
var supported=negotiate(this.availableLocales.concat(this.qps),requested,this.defaultLocale);if(this.supportedLocales[0]!==supported[0]){freeze.call(this,supported);}};Context.prototype.addEventListener=function(type,listener){this._emitter.addEventListener(type,listener);};Context.prototype.removeEventListener=function(type,listener){this._emitter.removeEventListener(type,listener);};Context.prototype.ready=function(callback){if(this.isReady){setTimeout(callback);}
this.addEventListener('ready',callback);};Context.prototype.once=function(callback){if(this.isReady){setTimeout(callback);return;}
var callAndRemove=(function(){this.removeEventListener('ready',callAndRemove);callback();}).bind(this);this.addEventListener('ready',callAndRemove);};var allowed={elements:['a','em','strong','small','s','cite','q','dfn','abbr','data','time','code','var','samp','kbd','sub','sup','i','b','u','mark','ruby','rt','rp','bdi','bdo','span','br','wbr'],attributes:{global:['title','aria-label','aria-valuetext','aria-moz-hint'],a:['download'],area:['download','alt'],input:['alt','placeholder'],menuitem:['label'],menu:['label'],optgroup:['label'],option:['label'],track:['label'],img:['alt'],textarea:['placeholder'],th:['abbr']}};var rtlList=['ar','he','fa','ps','ar-x-psbidi','ur'];var nodeObserver=null;var pendingElements=null;var moConfig={attributes:true,characterData:false,childList:true,subtree:true,attributeFilter:['data-l10n-id','data-l10n-args']};navigator.mozL10n={ctx:null,get:function get(id,ctxdata){return navigator.mozL10n.ctx.get(id,ctxdata);},formatValue:function(id,ctxdata){return navigator.mozL10n.ctx.formatValue(id,ctxdata);},formatEntity:function(id,ctxdata){return navigator.mozL10n.ctx.formatEntity(id,ctxdata);},translateFragment:function(fragment){return translateFragment.call(navigator.mozL10n,fragment);},setAttributes:setL10nAttributes,getAttributes:getL10nAttributes,ready:function ready(callback){return navigator.mozL10n.ctx.ready(callback);},once:function once(callback){return navigator.mozL10n.ctx.once(callback);},get readyState(){return navigator.mozL10n.ctx.isReady?'complete':'loading';},language:{set code(lang){navigator.mozL10n.ctx.requestLocales(lang);},get code(){return navigator.mozL10n.ctx.supportedLocales[0];},get direction(){return getDirection(navigator.mozL10n.ctx.supportedLocales[0]);}},qps:PSEUDO,_config:{appVersion:null,localeSources:Object.create(null),isPretranslated:false,},_getInternalAPI:function(){return{Error:L10nError,Context:Context,Locale:Locale,Resolver:Resolver,getPluralRule:getPluralRule,rePlaceables:rePlaceables,translateDocument:translateDocument,onMetaInjected:onMetaInjected,PropertiesParser:PropertiesParser,walkContent:walkContent,buildLocaleList:buildLocaleList};}};function getDirection(lang){return(rtlList.indexOf(lang)>=0)?'rtl':'ltr';}
var readyStates={loading:0,interactive:1,complete:2};function whenInteractive(callback){if(readyStates[document.readyState]>=readyStates.interactive){callback();return;}
document.addEventListener('readystatechange',function l10n_onrsc(){if(readyStates[document.readyState]>=readyStates.interactive){document.removeEventListener('readystatechange',l10n_onrsc);callback();}});}
function initObserver(){nodeObserver=new MutationObserver(onMutations.bind(navigator.mozL10n));nodeObserver.observe(document,moConfig);}
function init(pretranslate){if(!pretranslate){initObserver();}
initResources.call(navigator.mozL10n);}
function initResources(){var meta={};var nodes=document.head.querySelectorAll('link[rel="localization"],'+'meta[name="availableLanguages"],'+'meta[name="defaultLanguage"],'+'meta[name="appVersion"],'+'script[type="application/l10n"]');for(var i=0,node;node=nodes[i];i++){var type=node.getAttribute('rel')||node.nodeName.toLowerCase();switch(type){case'localization':this.ctx.resLinks.push(node.getAttribute('href'));break;case'meta':onMetaInjected.call(this,node,meta);break;case'script':onScriptInjected.call(this,node);break;}}
var additionalLanguagesPromise;if(navigator.mozApps&&navigator.mozApps.getAdditionalLanguages){additionalLanguagesPromise=navigator.mozApps.getAdditionalLanguages().catch(function(e){console.error('Error while loading getAdditionalLanguages',e);});document.addEventListener('additionallanguageschange',function(evt){registerLocales.call(this,meta,evt.detail);this.ctx.requestLocales.apply(this.ctx,navigator.languages||[navigator.language]);}.bind(this));}else{additionalLanguagesPromise=Promise.resolve();}
additionalLanguagesPromise.then(function(extraLangs){registerLocales.call(this,meta,extraLangs);initLocale.call(this);}.bind(this));}
function registerLocales(meta,extraLangs){var locales=buildLocaleList.call(this,meta,extraLangs);navigator.mozL10n._config.localeSources=locales[1];this.ctx.registerLocales(locales[0],Object.keys(locales[1]));}
function getMatchingLangpack(appVersion,langpacks){for(var i=0,langpack;(langpack=langpacks[i]);i++){if(langpack.target===appVersion){return langpack;}}
return null;}
function buildLocaleList(meta,extraLangs){var loc,lp;var localeSources=Object.create(null);var defaultLocale=meta.defaultLanguage||this.ctx.defaultLocale;if(meta.availableLanguages){for(loc in meta.availableLanguages){localeSources[loc]='app';}}
if(extraLangs){for(loc in extraLangs){lp=getMatchingLangpack(this._config.appVersion,extraLangs[loc]);if(!lp){continue;}
if(!(loc in localeSources)||!meta.availableLanguages[loc]||parseInt(lp.revision)>meta.availableLanguages[loc]){localeSources[loc]='extra';}}}
if(!(defaultLocale in localeSources)){localeSources[defaultLocale]='app';}
return[defaultLocale,localeSources];}
function splitAvailableLanguagesString(str){var langs={};str.split(',').forEach(function(lang){lang=lang.trim().split(':');langs[lang[0]]=parseInt(lang[1]);});return langs;}
function onMetaInjected(node,meta){switch(node.getAttribute('name')){case'availableLanguages':meta.availableLanguages=splitAvailableLanguagesString(node.getAttribute('content'));break;case'defaultLanguage':meta.defaultLanguage=node.getAttribute('content');break;case'appVersion':navigator.mozL10n._config.appVersion=node.getAttribute('content');break;}}
function onScriptInjected(node){var lang=node.getAttribute('lang');var locale=this.ctx.getLocale(lang);locale.addAST(JSON.parse(node.textContent));}
function initLocale(){this.ctx.requestLocales.apply(this.ctx,navigator.languages||[navigator.language]);window.addEventListener('languagechange',function l10n_langchange(){this.ctx.requestLocales.apply(this.ctx,navigator.languages||[navigator.language]);}.bind(this));}
function localizeMutations(mutations){var mutation;var targets=new Set();for(var i=0;i<mutations.length;i++){mutation=mutations[i];if(mutation.type==='childList'){var addedNode;for(var j=0;j<mutation.addedNodes.length;j++){addedNode=mutation.addedNodes[j];if(addedNode.nodeType!==Node.ELEMENT_NODE){continue;}
targets.add(addedNode);}}
if(mutation.type==='attributes'){targets.add(mutation.target);}}
targets.forEach(function(target){if(target.childElementCount){translateFragment.call(this,target);}else if(target.hasAttribute('data-l10n-id')){translateElement.call(this,target);}},this);}
function onMutations(mutations,self){self.disconnect();localizeMutations.call(this,mutations);self.observe(document,moConfig);}
function onReady(){if(!navigator.mozL10n._config.isPretranslated){translateDocument.call(this);}
navigator.mozL10n._config.isPretranslated=false;if(pendingElements){for(var i=0,element;element=pendingElements[i];i++){translateElement.call(this,element);}
pendingElements=null;}
if(!nodeObserver){initObserver();}
fireLocalizedEvent.call(this);}
function fireLocalizedEvent(){var event=new CustomEvent('localized',{'bubbles':false,'cancelable':false,'detail':{'language':this.ctx.supportedLocales[0]}});window.dispatchEvent(event);}
var reOverlay=/<|&#?\w+;/;var reHtml=/[&<>]/g;var htmlEntities={'&':'&amp;','<':'&lt;','>':'&gt;',};function translateDocument(){document.documentElement.lang=this.language.code;document.documentElement.dir=this.language.direction;translateFragment.call(this,document.documentElement);}
function translateFragment(element){if(typeof element.hasAttribute==='function'&&element.hasAttribute('data-l10n-id')){translateElement.call(this,element);}
var nodes=getTranslatableChildren(element);for(var i=0;i<nodes.length;i++){translateElement.call(this,nodes[i]);}}
function setL10nAttributes(element,id,args){element.setAttribute('data-l10n-id',id);if(args){element.setAttribute('data-l10n-args',JSON.stringify(args));}}
function getL10nAttributes(element){return{id:element.getAttribute('data-l10n-id'),args:JSON.parse(element.getAttribute('data-l10n-args'))};}
function getTranslatableChildren(element){return element?element.querySelectorAll('*[data-l10n-id]'):[];}
function camelCaseToDashed(string){if(string==='ariaValueText'){return'aria-valuetext';}
return string.replace(/[A-Z]/g,function(match){return'-'+match.toLowerCase();}).replace(/^-/,'');}
function escapeL10nArgs(match){return htmlEntities[match];}
function translateElement(element){if(!this.ctx.isReady){if(!pendingElements){pendingElements=[];}
pendingElements.push(element);return;}
var l10nId=element.getAttribute('data-l10n-id');if(!l10nId){return false;}
var l10nArgs=element.getAttribute('data-l10n-args');var entity=this.ctx.getEntity(l10nId,l10nArgs?JSON.parse(l10nArgs.replace(reHtml,escapeL10nArgs)):undefined);var value=entity.value;if(typeof value==='string'){if(!reOverlay.test(value)){element.textContent=value;}else{var translation=element.ownerDocument.createElement('template');translation.innerHTML=value;overlayElement(element,translation.content);}}
for(var key in entity.attrs){var attrName=camelCaseToDashed(key);if(isAttrAllowed({name:attrName},element)){element.setAttribute(attrName,entity.attrs[key]);}}}
function overlayElement(sourceElement,translationElement){var result=translationElement.ownerDocument.createDocumentFragment();var k,attr;var childElement;while((childElement=translationElement.childNodes[0])){translationElement.removeChild(childElement);if(childElement.nodeType===Node.TEXT_NODE){result.appendChild(childElement);continue;}
var index=getIndexOfType(childElement);var sourceChild=getNthElementOfType(sourceElement,childElement,index);if(sourceChild){overlayElement(sourceChild,childElement);result.appendChild(sourceChild);continue;}
if(isElementAllowed(childElement)){var sanitizedChild=childElement.ownerDocument.createElement(childElement.nodeName);overlayElement(sanitizedChild,childElement);result.appendChild(sanitizedChild);continue;}
result.appendChild(document.createTextNode(childElement.textContent));}
sourceElement.textContent='';sourceElement.appendChild(result);if(translationElement.attributes){for(k=0,attr;(attr=translationElement.attributes[k]);k++){if(isAttrAllowed(attr,sourceElement)){sourceElement.setAttribute(attr.name,attr.value);}}}}
function isElementAllowed(element){return allowed.elements.indexOf(element.tagName.toLowerCase())!==-1;}
function isAttrAllowed(attr,element){var attrName=attr.name.toLowerCase();var tagName=element.tagName.toLowerCase();if(allowed.attributes.global.indexOf(attrName)!==-1){return true;}
if(!allowed.attributes[tagName]){return false;}
if(allowed.attributes[tagName].indexOf(attrName)!==-1){return true;}
if(tagName==='input'&&attrName==='value'){var type=element.type.toLowerCase();if(type==='submit'||type==='button'||type==='reset'){return true;}}
return false;}
function getNthElementOfType(context,element,index){var nthOfType=0;for(var i=0,child;child=context.children[i];i++){if(child.nodeType===Node.ELEMENT_NODE&&child.tagName===element.tagName){if(nthOfType===index){return child;}
nthOfType++;}}
return null;}
function getIndexOfType(element){var index=0;var child;while((child=element.previousElementSibling)){if(child.tagName===element.tagName){index++;}}
return index;}
var DEBUG=false;navigator.mozL10n.ctx=new Context(window.document?document.URL:null);navigator.mozL10n.ctx.ready(onReady.bind(navigator.mozL10n));navigator.mozL10n.ctx.addEventListener('notfounderror',function reportMissingEntity(e){if(DEBUG||e.loc==='en-US'){console.warn(e.toString());}});if(DEBUG){navigator.mozL10n.ctx.addEventListener('fetcherror',console.error.bind(console));navigator.mozL10n.ctx.addEventListener('parseerror',console.error.bind(console));navigator.mozL10n.ctx.addEventListener('resolveerror',console.error.bind(console));}
if(window.document){navigator.mozL10n._config.isPretranslated=document.documentElement.lang===navigator.language;var forcePretranslate=!navigator.mozL10n._config.isPretranslated;whenInteractive(init.bind(navigator.mozL10n,forcePretranslate));}
document.l10n={setAttributes:navigator.mozL10n.setAttributes,getAttributes:navigator.mozL10n.getAttributes,formatValue:function(id,args){return navigator.mozL10n.formatValue(id,args);},translateFragment:function(frag){return Promise.resolve(navigator.mozL10n.translateFragment(frag));},ready:new Promise(function(resolve){navigator.mozL10n.once(resolve);}),formatValues:function(){var keys=arguments;var resp=keys.map(function(key){if(Array.isArray(key)){return navigator.mozL10n.formatValue(key[0],key[1]);}
return navigator.mozL10n.formatValue(key);});return Promise.all(resp);},requestLanguages:function(langs){navigator.mozL10n.ctx.requestLocales.apply(navigator.mozL10n.ctx,langs);},pseudo:{'fr-x-psaccent':{getName:function(){return Promise.resolve(navigator.mozL10n.qps['fr-x-psaccent'].name);},processString:function(s){return Promise.resolve(navigator.mozL10n.qps['fr-x-psaccent'].translate(s));}},'ar-x-psbidi':{getName:function(){return Promise.resolve(navigator.mozL10n.qps['ar-x-psbidi'].name);},processString:function(s){return Promise.resolve(navigator.mozL10n.qps['ar-x-psbidi'].translate(s));}}},};navigator.mozL10n.ready(function(){document.documentElement.setAttribute('langs',navigator.mozL10n.ctx.supportedLocales.join(' '));});navigator.mozL10n.once(function(){window.addEventListener('localized',function(){document.dispatchEvent(new CustomEvent('DOMRetranslated',{bubbles:false,cancelable:false}));});});})(this);;;'use strict';var LazyLoader=(function(){function LazyLoader(){this._loaded={};this._isLoading={};}
LazyLoader.prototype={_js:function(file,callback){var script=document.createElement('script');script.src=file;script.async=false;script.addEventListener('load',callback);document.head.appendChild(script);this._isLoading[file]=script;},_css:function(file,callback){var style=document.createElement('link');style.type='text/css';style.rel='stylesheet';style.href=file;document.head.appendChild(style);callback();},_html:function(domNode,callback){if(domNode.getAttribute('is')){this.load(['/shared/js/html_imports.js'],function(){HtmlImports.populate(callback);}.bind(this));return;}
for(var i=0;i<domNode.childNodes.length;i++){if(domNode.childNodes[i].nodeType==document.COMMENT_NODE){domNode.innerHTML=domNode.childNodes[i].nodeValue;break;}}
window.dispatchEvent(new CustomEvent('lazyload',{detail:domNode}));callback();},getJSON:function(file,mozSystem){return new Promise(function(resolve,reject){var xhr;if(mozSystem){xhr=new XMLHttpRequest({mozSystem:true});}else{xhr=new XMLHttpRequest();}
xhr.open('GET',file,true);xhr.responseType='json';xhr.onerror=function(error){reject(error);};xhr.onload=function(){if(xhr.response!==null){resolve(xhr.response);}else{reject(new Error('No valid JSON object was found ('+
xhr.status+' '+xhr.statusText+')'));}};xhr.send();});},load:function(files,callback){var deferred={};deferred.promise=new Promise(resolve=>{deferred.resolve=resolve;});if(!Array.isArray(files)){files=[files];}
var loadsRemaining=files.length,self=this;function perFileCallback(file){if(self._isLoading[file]){delete self._isLoading[file];}
self._loaded[file]=true;if(--loadsRemaining===0){deferred.resolve();if(callback){callback();}}}
for(var i=0;i<files.length;i++){var file=files[i];if(this._loaded[file.id||file]){perFileCallback(file);}else if(this._isLoading[file]){this._isLoading[file].addEventListener('load',perFileCallback.bind(null,file));}else{var method,idx;if(typeof file==='string'){method=file.match(/\.([^.]+)$/)[1];idx=file;}else{method='html';idx=file.id;}
this['_'+method](file,perFileCallback.bind(null,idx));}}
return deferred.promise;}};return new LazyLoader();}());;;this.asyncStorage=(function(){'use strict';var DBNAME='asyncStorage';var DBVERSION=1;var STORENAME='keyvaluepairs';var db=null;function withDatabase(f){if(db){f();}else{var openreq=indexedDB.open(DBNAME,DBVERSION);openreq.onerror=function withStoreOnError(){console.error('asyncStorage: can\'t open database:',openreq.error.name);};openreq.onupgradeneeded=function withStoreOnUpgradeNeeded(){openreq.result.createObjectStore(STORENAME);};openreq.onsuccess=function withStoreOnSuccess(){db=openreq.result;f();};}}
function withStore(type,callback,oncomplete){withDatabase(function(){var transaction=db.transaction(STORENAME,type);if(oncomplete){transaction.oncomplete=oncomplete;}
callback(transaction.objectStore(STORENAME));});}
function getItem(key,callback){var req;withStore('readonly',function getItemBody(store){req=store.get(key);req.onerror=function getItemOnError(){console.error('Error in asyncStorage.getItem(): ',req.error.name);};},function onComplete(){var value=req.result;if(value===undefined){value=null;}
callback(value);});}
function setItem(key,value,callback){withStore('readwrite',function setItemBody(store){var req=store.put(value,key);req.onerror=function setItemOnError(){console.error('Error in asyncStorage.setItem(): ',req.error.name);};},callback);}
function removeItem(key,callback){withStore('readwrite',function removeItemBody(store){var req=store.delete(key);req.onerror=function removeItemOnError(){console.error('Error in asyncStorage.removeItem(): ',req.error.name);};},callback);}
function clear(callback){withStore('readwrite',function clearBody(store){var req=store.clear();req.onerror=function clearOnError(){console.error('Error in asyncStorage.clear(): ',req.error.name);};},callback);}
function length(callback){var req;withStore('readonly',function lengthBody(store){req=store.count();req.onerror=function lengthOnError(){console.error('Error in asyncStorage.length(): ',req.error.name);};},function onComplete(){callback(req.result);});}
function key(n,callback){if(n<0){callback(null);return;}
var req;withStore('readonly',function keyBody(store){var advanced=false;req=store.openCursor();req.onsuccess=function keyOnSuccess(){var cursor=req.result;if(!cursor){return;}
if(n===0||advanced){return;}
advanced=true;cursor.advance(n);};req.onerror=function keyOnError(){console.error('Error in asyncStorage.key(): ',req.error.name);};},function onComplete(){var cursor=req.result;callback(cursor?cursor.key:null);});}
return{getItem:getItem,setItem:setItem,removeItem:removeItem,clear:clear,length:length,key:key};}());;;'use strict';var DateHelper={todayStarted:function dh_todayStarted(){var now=(new Date()).valueOf();return this.getMidnight(now);},yesterdayStarted:function dh_yesterdayStarted(){var now=(new Date()).valueOf();var dayAgo=now-86400000;return this.getMidnight(dayAgo);},thisWeekStarted:function dh_thisWeekStarted(){var now=new Date();var dayOfTheWeek=now.getDay();var firstDay=new Date(now.getFullYear(),now.getMonth(),now.getDate()-dayOfTheWeek);return this.getMidnight(firstDay);},thisMonthStarted:function dh_thisMonthStarted(){var now=new Date();var firstDay=(new Date(now.getFullYear(),now.getMonth(),1).valueOf());return firstDay;},lastSixMonthsStarted:function dh_lastSixMonthsStarted(){var now=new Date().valueOf();var sixMonthsAgo=now-2629743830*6;return sixMonthsAgo;},thisYearStarted:function dh_thisYearStarted(){var now=new Date();var firstDay=(new Date(now.getFullYear(),0).valueOf());return firstDay;},getMidnight:function dh_getMidnight(timestamp){var day=new Date(timestamp);var midnight=(new Date(day.getFullYear(),day.getMonth(),day.getDate(),0).valueOf());return midnight;}};var NumberHelper={zfill:function nh_zfill(string,len){var s=string;while(s.length<len){s='0'+s;}
return s;}};var StringHelper={fromUTF8:function ut_fromUTF8(str){var buf=new Uint8Array(str.length);for(var i=0;i<str.length;i++){buf[i]=str.charCodeAt(i);}
return buf;},camelCase:function ut_camelCase(str){var rdashes=/-(.)/g;return str.replace(rdashes,function replacer(str,p1){return p1.toUpperCase();});}};var HtmlHelper={createHighlightHTML:function ut_createHighlightHTML(text,terms){var toHighlight=[];var normalizedText=Normalizer.toAscii(text).toLowerCase();terms.forEach(function(term){term=Normalizer.toAscii(term).toLowerCase();var index=normalizedText.indexOf(term);while(index>=0){for(var i=0,length=term.length;i<length;i++){toHighlight[index+i]=true;}
index=normalizedText.indexOf(term,index+term.length);}});var fragment=document.createDocumentFragment();for(var i=0;i<text.length;i++){if(!toHighlight[i]){fragment.appendChild(document.createTextNode(text[i]));}else{var term='';while(toHighlight[i]){term+=text[i];i++;}
i--;var mark=document.createElement('mark');mark.textContent=term;fragment.appendChild(mark);}}
return fragment;},escapeHTML:function ut_escapeHTML(str,escapeQuotes){var span=document.createElement('span');span.textContent=str;span.innerHTML=span.innerHTML.replace(/\s/g,'&nbsp;');if(escapeQuotes){return span.innerHTML.replace(/"/g,'&quot;').replace(/'/g,'&#x27;');}
return span.innerHTML;},importElements:function importElements(context){var ids=[].slice.call(arguments,1);ids.forEach(function(id){context[StringHelper.camelCase(id)]=document.getElementById(id);});}};;;'use strict';var SettingsListener={_lock:null,_observers:[],getSettingsLock:function sl_getSettingsLock(){if(this._lock&&!this._lock.closed){return this._lock;}
var settings=window.navigator.mozSettings;return(this._lock=settings.createLock());},observe:function sl_observe(name,defaultValue,callback){var settings=window.navigator.mozSettings;if(!settings){window.setTimeout(function(){callback(defaultValue);});return;}
var req;try{req=this.getSettingsLock().get(name);}catch(e){console.warn('Stale lock in settings_listener.js.','See https://bugzilla.mozilla.org/show_bug.cgi?id=793239');this._lock=null;req=this.getSettingsLock().get(name);}
req.addEventListener('success',(function onsuccess(){callback(typeof(req.result[name])!='undefined'?req.result[name]:defaultValue);}));var settingChanged=function settingChanged(evt){callback(evt.settingValue);};settings.addObserver(name,settingChanged);this._observers.push({name:name,callback:callback,observer:settingChanged});},unobserve:function sl_unobserve(name,callback){var settings=window.navigator.mozSettings;var that=this;this._observers.forEach(function(value,index){if(value.name===name&&value.callback===callback){settings.removeObserver(name,value.observer);that._observers.splice(index,1);}});}};;'use strict';var Format={padLeft:function(input,len,padWith){padWith=padWith||' ';var pad=len-(input+'').length;while(--pad>-1){input=padWith+input;}
return input;}};;'use strict';(function(exports){var VERSION=3;var SEARCH_CACHE_KEY='search.cache';var SEARCH_PROVIDER_KEY='search.provider';var DEFAULT_PROVIDERS_URL='/shared/js/search_providers.json';var provider=null;var providers={};var defaultEngine=null;var updatedFun;var readyPromise;var resolver;function extend(dest,source){for(var k in source){if(source.hasOwnProperty(k)){var value=source[k];if(dest.hasOwnProperty(k)&&typeof dest[k]==='object'&&typeof value==='object'){extend(dest[k],value);}else{dest[k]=value;}}}
return dest;}
function resolveUrl(urlConf){var params=Object.keys(urlConf.params).map(function(k){return k+'='+urlConf.params[k];}).join('&');return urlConf.url+(params?'?'+params:'');}
function loadProviderConfig(){LazyLoader.getJSON(DEFAULT_PROVIDERS_URL).then(result=>{var conns=navigator.mozMobileConnections||[];var mccs=Array.prototype.slice.call(conns).map(function(conn){if(conn.voice&&conn.voice.network){return Format.padLeft(conn.voice.network.mcc,3,'0')+'-'+
Format.padLeft(conn.voice.network.mnc,3,'0');}});var engines=SearchProvider.pickEngines(result,mccs,result.partner_code||null,navigator.language);defaultEngine=engines.defaultEngine;providers=engines.providers;var cache={};cache[SEARCH_CACHE_KEY]={};cache[SEARCH_CACHE_KEY].defaultEngine=defaultEngine;cache[SEARCH_CACHE_KEY].providers=providers;cache[SEARCH_CACHE_KEY].version=VERSION;navigator.mozSettings.createLock().set(cache);providersLoaded();});}
function providersLoaded(){SettingsListener.observe(SEARCH_PROVIDER_KEY,false,value=>{if(value===false||!(value in providers)){provider=defaultEngine;}else{provider=value;}
if(resolver&&isReady()){resolver();resolver=null;}
if(updatedFun){updatedFun();}});}
function isReady(){return provider!==null&&Object.keys(providers).length;}
var SearchProvider=function(key){if(!provider||!(key in providers[provider])){return false;}
return providers[provider][key];};SearchProvider.providerUpdated=function(cb){updatedFun=cb;};SearchProvider.setProvider=function(value){if(!(value in providers)){return false;}
var setting={};setting[SEARCH_PROVIDER_KEY]=value;navigator.mozSettings.createLock().set(setting);};SearchProvider.selected=function(){return provider;};SearchProvider.providers=function(){return providers;};SearchProvider.pickEngines=function(config,sims,partnerCode,locale){config=JSON.parse(JSON.stringify(config));var engine=config.defaultEngines;var usersConfig={defaultEngine:null,providers:{}};if(partnerCode in config.partnerConfig&&locale in config.partnerConfig[partnerCode]){engine=config.partnerConfig[partnerCode][locale];}
sims.forEach(function(sim){if(sim in config.simConfigs&&locale in config.simConfigs[sim]){engine=config.simConfigs[sim][locale];}});usersConfig.defaultEngine=engine.defaultEngine;Object.keys(engine.providers).forEach(function(provider){var obj=config.search_providers[provider];if(locale in config.locales&&provider in config.locales[locale]){obj=extend(obj,config.locales[locale][provider]);}
obj=extend(obj,engine.providers[provider]);usersConfig.providers[provider]={'title':obj.title,'searchUrl':resolveUrl(obj.search),'suggestUrl':resolveUrl(obj.suggest)};});return usersConfig;};SearchProvider.ready=function(){if(readyPromise){return readyPromise;}
var req=navigator.mozSettings.createLock().get(SEARCH_CACHE_KEY);req.onsuccess=function(){if(req.result[SEARCH_CACHE_KEY]&&req.result[SEARCH_CACHE_KEY].version===VERSION){defaultEngine=req.result[SEARCH_CACHE_KEY].defaultEngine;providers=req.result[SEARCH_CACHE_KEY].providers;providersLoaded();}else{loadProviderConfig();}};readyPromise=new Promise(resolve=>{resolver=resolve;});return readyPromise;};exports.SearchProvider=SearchProvider;})(window);;;(function(exports){'use strict';exports.ComponentUtils={style:function(baseUrl){if(window.VulpesCompat){window.VulpesCompat.componentStyle(this,baseUrl).catch(console.error);return;}var style=document.createElement('style');var url=baseUrl+'style.css';var self=this;style.setAttribute('scoped','');style.innerHTML='@import url('+url+');';this.appendChild(style);this.style.visibility='hidden';style.addEventListener('load',function(){if(self.shadowRoot){self.shadowRoot.appendChild(style.cloneNode(true));}
self.style.visibility='';});}};}(window));;;'use strict';window.GaiaButtons=(function(win){var proto=Object.create(HTMLElement.prototype);var baseurl=window.GaiaButtonsBaseurl||'/shared/elements/gaia_buttons/';proto.createdCallback=function(){ComponentUtils.style.call(this,baseurl);};return document.registerElement('gaia-buttons',{prototype:proto});})(window);;'use strict';window.GaiaConfirm=(function(win){var proto=Object.create(HTMLElement.prototype);var baseurl=window.GaiaConfirmBaseurl||'/shared/elements/gaia_confirm/';function eatEvent(unless,event){if(unless&&unless.indexOf(event.target)!==-1){return;}
event.preventDefault();event.stopImmediatePropagation();}
proto.createdCallback=function(){var shadow=this.createShadowRoot();this._template=template.content.cloneNode(true);shadow.appendChild(this._template);ComponentUtils.style.call(this,baseurl);var confirm=this.querySelector('gaia-buttons .confirm');var cancel=this.querySelector('gaia-buttons .cancel');if(confirm){confirm.addEventListener('click',(e)=>{eatEvent(null,e);this.dispatchEvent(new CustomEvent('confirm'));});}
if(cancel){cancel.addEventListener('click',(e)=>{eatEvent(null,e);this.dispatchEvent(new CustomEvent('cancel'));});}};var template=document.createElement('template');template.innerHTML=`<form role="dialog" class="confirm">
<section>
<content select="h1"></content>
<content select="p"></content>
</section>
<content select="gaia-buttons">
</content>
</form>`;return document.registerElement('gaia-confirm',{prototype:proto});})(window);;'use strict';(function(exports){var datastore;var storeName='homescreen_settings';var readyState;var listeners=Object.create(null);function init(){return new Promise(function doInit(resolve,reject){if(readyState==='initialized'){resolve();return;}
if(readyState==='initializing'){document.addEventListener('vps-initialized',function oninitalized(){document.removeEventListener('vps-initialized',oninitalized);resolve();});return;}
readyState='initializing';if(!navigator.getDataStores){console.error('Home screen settings store: '+'DataStore API is not working');reject({name:'NO_DATASTORE'});readyState='failed';return;}
navigator.getDataStores(storeName).then(function(ds){if(ds.length<1){console.error('Home screen settings store: '+'Cannot get access to the Store');reject({name:'NO_ACCESS_TO_DATASTORE'});readyState='failed';return;}
datastore=ds[0];datastore.addEventListener('change',onchangeHandler);readyState='initialized';document.dispatchEvent(new CustomEvent('vps-initialized'));resolve();},reject);});}
function onchangeHandler(event){var operation=event.operation;var callbacks=listeners[operation];callbacks&&callbacks.forEach(function iterCallback(callback){datastore.get(event.id).then(function got(result){callback.method.call(callback.context||this,{type:operation,target:{name:event.id,value:result}});});});}
function addEventListener(type,callback){var context;if(!(type in listeners)){listeners[type]=[];}
var cb=callback;if(typeof cb==='object'){context=cb;cb=cb.handleEvent;}
if(cb){listeners[type].push({method:cb,context:context});init();}}
function removeEventListener(type,callback){if(!(type in listeners)){return false;}
var callbacks=listeners[type];var length=callbacks.length;for(var i=0;i<length;i++){var thisCallback=callback;if(typeof thisCallback==='object'){thisCallback=callback.handleEvent;}
if(callbacks[i]&&callbacks[i].method===thisCallback){callbacks.splice(i,1);return true;}}
return false;}
function get(id){return new Promise(function doGet(resolve,reject){init().then(function onInitialized(){datastore.get(id).then(resolve,reject);},reject);});}
function put(id,value){return new Promise(function doAdd(resolve,reject){init().then(function onInitialized(){datastore.put(value,id).then(function success(){resolve();},reject);},reject);});}
function setStoreName(name){if(readyState==='initializing'){document.addEventListener('vps-initialized',function deferSetStoreName(){document.removeEventListener('vps-initialized',deferSetStoreName);setStoreName(name);});return;}
readyState='uninitialized';storeName=name;}
exports.homescreenSettings={get:get,put:put,addEventListener:addEventListener,removeEventListener:removeEventListener,setStoreName:setStoreName};}(window));;(function(exports){'use strict';var resources=['/shared/js/component_utils.js','/shared/elements/gaia_buttons/script.js','/shared/elements/gaia_confirm/script.js','/shared/elements/gaia_menu/script.js'];function ConfirmDialogHelper(config){this.config=config;}
ConfirmDialogHelper.prototype={show:function(parent){LazyLoader.load(resources,this._show.bind(this,parent));},_show:function(parent){var config=this.config;var wrapper=document.createElement('div');var cancelButton=config.cancel?'<button class="cancel" type="button"></button>':'';wrapper.innerHTML='<gaia-confirm>'+'<h1></h1>'+'<p></p>'+'<gaia-buttons skin="dark">'+
cancelButton+'<button class="confirm" type="button"></button>'+'</gaia-buttons>'+'</gaia-confirm>';var element=wrapper.firstElementChild;this.element=element;element.dataset.type=config.type;element.addEventListener('confirm',this);element.addEventListener('cancel',this);window.addEventListener('hashchange',this);var title=element.querySelector('h1');var body=element.querySelector('p');var cancel=element.querySelector('.cancel');var confirm=element.querySelector('.confirm');var setL10nAttributes=function(element,options){if('string'===typeof options){navigator.mozL10n.setAttributes(element,options);}
if(options.id){navigator.mozL10n.setAttributes(element,options.id,options.args);}};setL10nAttributes(title,config.title);setL10nAttributes(body,config.body);setL10nAttributes(confirm,config.confirm.title);if(config.cancel){setL10nAttributes(cancel,config.cancel.title);}
if(config.confirm.type){confirm.classList.add(config.confirm.type);}
document.activeElement.blur();element.setAttribute('hidden','');parent.appendChild(element);window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{element.removeAttribute('hidden');window.dispatchEvent(new CustomEvent('gaia-confirm-open'));});});},destroy:function(){if(!this.element){return;}
window.removeEventListener('hashchange',this);this.element.addEventListener('transitionend',function removeAfterHide(e){if(e.target!==this.element){return;}
this.element.parentNode.removeChild(this.element);this.element=null;window.dispatchEvent(new CustomEvent('gaia-confirm-close'));}.bind(this));this.element.setAttribute('hidden','');},handleEvent:function(e){this.destroy();switch(e.type){case'hashchange':break;case'confirm':var confirm=this.config.confirm.cb;confirm&&confirm();break;case'cancel':var cancel=this.config.cancel.cb;cancel&&cancel();break;}}};window.ConfirmDialogHelper=ConfirmDialogHelper;}(window));;'use strict';(function(exports){const APP_LAUNCH_TIMEOUT=3000;function GridView(config){this.config=config;this.clickIcon=this.clickIcon.bind(this);this.onVisibilityChange=this.onVisibilityChange.bind(this);if(config.features.zoom){this.zoom=new GridZoom(this);}
this.layout=new GridLayout(this);if(config.element.hasAttribute('cols')){this.layout.cols=parseInt(config.element.getAttribute('cols'),10);}
this.start();}
GridView.prototype={icons:{},items:[],get element(){return this.config.element;},set cols(value){this.layout.cols=value;},_launchingApp:false,add:function(item,insertTo,expandGroup){if(!item){return;}
if(item.identifier){if(this.icons[item.identifier]){console.log('Error, duplicate identifier: ',item.identifier,new Error().stack);return;}
this.icons[item.identifier]=item;}else if(item.detail.type!=='divider'&&item.detail.type!=='placeholder'){console.log('Error, could not load identifier for object: ',JSON.stringify(item.detail));return;}
if(!isNaN(parseFloat(insertTo))&&isFinite(insertTo)){this.items.splice(insertTo,0,item);}else{insertTo=this.items.length;this.items.push(item);}
if(expandGroup){for(var i=insertTo+1,iLen=this.items.length;i<iLen;i++){var divider=this.items[i];if(divider.detail.type==='divider'){if(divider.detail.collapsed){divider.expand();}
break;}}}},getNearestItemIndex:function(x,y,isRow){var foundIndex=null;var leastDistance=null;var itemMiddleOffset=this.layout.gridItemWidth/2;for(var i=0,iLen=this.items.length;i<iLen;i++){var item=this.items[i];if(!item.isDraggable()){continue;}
if(this.config.features.disableSections&&item.detail.type==='divider'){continue;}
if(item.detail.type!=='divider'&&item.element.classList.contains('collapsed')){continue;}
var middleX=item.x+itemMiddleOffset;var middleY=item.y+item.pixelHeight/2;var xDistance=(isRow||item.detail.type==='divider')?0:x-middleX;var yDistance=y-middleY;var distance=Math.sqrt(xDistance*xDistance+
yDistance*yDistance);if(leastDistance===null||distance<leastDistance){leastDistance=distance;foundIndex=i;}}
return foundIndex;},start:function(){this.element.addEventListener('click',this.clickIcon);window.addEventListener('visibilitychange',this.onVisibilityChange);},stop:function(){this.element.removeEventListener('click',this.clickIcon);window.removeEventListener('visibilitychange',this.onVisibilityChange);},findItemFromElement:function(element,excludeCollapsedIcons){while(element&&element.parentNode!==this.element){element=element.parentNode;}
if(!element){return null;}
var i,iLen=this.items.length;var identifier=element.dataset.identifier;var icon=this.icons[identifier];if(!icon){for(i=0;i<iLen;i++){if(this.items[i].element===element){icon=this.items[i];break;}}}
if(icon&&excludeCollapsedIcons){if(icon.detail.type!=='divider'&&icon.detail.type!=='placeholder'&&icon.element.classList.contains('collapsed')){for(i=icon.detail.index+1;i<iLen;i++){if(this.items[i].detail.type==='divider'){return this.items[i];}}
console.warn('Collapsed icon found with no group');icon=null;}}
return icon;},onVisibilityChange:function(){this._launchingApp=false;},clickIcon:function(e){e.preventDefault();var inEditMode=this.dragdrop&&this.dragdrop.inEditMode;var action='launch';if(e.target.classList.contains('remove')){action='remove';}
var icon=this.findItemFromElement(e.target);if(!icon){return;}
if(action==='launch'){if(inEditMode&&e.target.classList.contains('icon')){if(!icon.isEditable()){return;}
action='edit';}else{if(!icon[action]){return;}
icon.element.classList.add('launching');var returnTimeout=500;setTimeout(function stateReturn(){if(icon.element){icon.element.classList.remove('launching');}},returnTimeout);}}
if((icon.detail.type==='app'||icon.detail.type==='bookmark')&&this._launchingApp){return;}
if((icon.detail.type==='app'&&icon.appState==='ready')||icon.detail.type==='bookmark'){this._launchingApp=true;if(this._launchingTimeout){window.clearTimeout(this._launchingTimeout);this._launchingTimeout=null;}
this._launchingTimeout=window.setTimeout(function(){this._launchingTimeout=null;this._launchingApp=false;}.bind(this),APP_LAUNCH_TIMEOUT);}
icon[action](e.target);},cleanItems:function(skipDivider){var appCount=0;var toRemove=[];this.items.forEach(function(item,idx){if(item instanceof GaiaGrid.Divider){if(appCount===0){toRemove.push(idx);}
appCount=0;}else{appCount++;}},this);toRemove.reverse();toRemove.forEach(function(idx){var removed=this.items.splice(idx,1)[0];removed.remove();},this);if(skipDivider){return;}
var lastItem=this.items[this.items.length-1];if(!lastItem||!(lastItem instanceof GaiaGrid.Divider)){this.items.push(new GaiaGrid.Divider());}},removeAllPlaceholders:function(){var toSplice=[];var previousItem;this.items.forEach(function(item,idx){if(item instanceof GaiaGrid.Placeholder){if((!previousItem||(previousItem&&previousItem instanceof GaiaGrid.Divider))&&this.dragdrop&&this.dragdrop.inDragAction){return;}
toSplice.push(idx);}
previousItem=item;},this);toSplice.reverse().forEach(function(idx){this.items.splice(idx,1)[0].remove();},this);},clear:function(){for(var i=0,iLen=this.items.length;i<iLen;i++){var item=this.items[i];if(item.element){this.element.removeChild(item.element);item.element=null;item.lastX=null;item.lastY=null;item.lastScale=null;}}
this.items=[];this.icons={};},createPlaceholders:function(coordinates,idx,count){var isRTL=(document.documentElement.dir==='rtl');for(var i=0;i<count;i++){var item=new GaiaGrid.Placeholder();this.items.splice(idx+i,0,item);item.setPosition(idx+i);var xPosition=(coordinates[0]+i)*this.layout.gridItemWidth;if(isRTL){xPosition=(this.layout.constraintSize-this.layout.gridItemWidth)-
xPosition;}
item.setCoordinates(xPosition,this.layout.offsetY);item.render();}},render:function(options){var self=this;options=options||{};this.removeAllPlaceholders();this.cleanItems(options.skipDivider);var oldHeight=this.layout.offsetY;this.layout.offsetY=0;var x=0;var y=0;function step(item){var pixelHeight=item.pixelHeight;self.layout.stepYAxis(pixelHeight);x=0;y++;}
var pendingCachedIcons=0;var onCachedIconRendered=()=>{if(--pendingCachedIcons<=0){this.element.removeEventListener('cached-icon-rendered',onCachedIconRendered);this.element.dispatchEvent(new CustomEvent('cached-icons-rendered'));}};this.element.addEventListener('cached-icon-rendered',onCachedIconRendered);var nextDivider=null;var oddDivider=true;var isRTL=(document.documentElement.dir==='rtl');for(var idx=0;idx<this.items.length;idx++){var item=this.items[idx];if(options.rerender&&item.element){this.element.removeChild(item.element);item.element=null;}
if(item.detail.type==='divider'){nextDivider=null;}else{if(!nextDivider){for(var i=idx+1;i<this.items.length;i++){if(this.items[i].detail.type==='divider'){nextDivider=this.items[i];oddDivider=!oddDivider;break;}}
if(nextDivider&&!nextDivider.detail.collapsed){this.layout.offsetY+=nextDivider.headerHeight;}}
if(nextDivider&&nextDivider.detail.collapsed){item.setPosition(idx);continue;}}
if(x>0&&item.gridWidth>1&&x+item.gridWidth>=this.layout.cols){var remaining=this.layout.cols-x;this.createPlaceholders([x,y],idx,remaining);idx+=remaining;item=this.items[idx];var lastItemInRow=this.items[idx-1];step(lastItemInRow);}
item.setPosition(idx);if(!options.skipItems){item.hasCachedIcon&&++pendingCachedIcons;var xPosition=x*this.layout.gridItemWidth;if(isRTL){xPosition=(this.layout.constraintSize-this.layout.gridItemWidth)-
xPosition;}
item.setCoordinates(xPosition,this.layout.offsetY);if(!item.active){item.render();}
if(item.detail.type==='divider'){if(oddDivider){item.element.classList.add('odd');}else{item.element.classList.remove('odd');}}}
x+=item.gridWidth;if((x>=this.layout.cols)&&(idx<this.items.length-1)){step(item);}}
if(this.layout.offsetY!=oldHeight){if(this.dragdrop&&this.dragdrop.inDragAction){this.layout.offsetY=oldHeight;}else{this.element.dispatchEvent(new CustomEvent('gaiagrid-resize',{detail:this.layout.offsetY}));}}
this.element.setAttribute('cols',this.layout.cols);pendingCachedIcons===0&&onCachedIconRendered();this.loadDragDrop();},loadDragDrop:function(){if(!this.dragdrop&&this.config.features.dragdrop){LazyLoader.load('shared/elements/gaia_grid/js/grid_dragdrop.js',()=>{if(this.dragdrop){return;}
this.dragdrop=new GridDragDrop(this);});}}};exports.GridView=GridView;}(window));;'use strict';(function(exports){const SHADOW_BLUR=1;const SHADOW_OFFSET_Y=1;const SHADOW_OFFSET_X=1;const SHADOW_COLOR='rgba(0, 0, 0, 0.2)';const DEFAULT_BACKGROUND_COLOR='rgb(228, 234, 238)';const UNSCALED_CANVAS_PADDING=2;const CANVAS_PADDING=UNSCALED_CANVAS_PADDING*devicePixelRatio;function IconRenderer(icon){this._icon=icon;}
IconRenderer.TYPE={CLIP:'clip',FAVICON:'favicon',STANDARD:'standard',};IconRenderer.prototype={unscaledCanvasPadding:UNSCALED_CANVAS_PADDING*2,get _maxSize(){return this._icon.grid.layout.gridMaxIconSize;},_createCanvas:function(){const CANVAS_PADDING_BOTTOM=1*devicePixelRatio;var canvas=document.createElement('canvas');canvas.width=this._maxSize+(CANVAS_PADDING*2);canvas.height=this._maxSize+CANVAS_PADDING+CANVAS_PADDING_BOTTOM;return canvas;},_createClipCanvas:function(){var canvas=document.createElement('canvas');canvas.width=this._maxSize+(CANVAS_PADDING*2);canvas.height=this._maxSize+(CANVAS_PADDING*2);return canvas;},_decorateShadowCanvas:function(canvas){var ctx=canvas.getContext('2d',{willReadFrequently:true});ctx.shadowColor=SHADOW_COLOR;ctx.shadowBlur=SHADOW_BLUR;ctx.shadowOffsetY=SHADOW_OFFSET_Y;ctx.shadowOffsetX=SHADOW_OFFSET_X;return ctx;},clip:function(img){return new Promise((resolve)=>{var shadowCanvas=this._createCanvas();var shadowCtx=this._decorateShadowCanvas(shadowCanvas);var clipCanvas=this._createClipCanvas();var clipCtx=clipCanvas.getContext('2d',{willReadFrequently:true});clipCtx.beginPath();clipCtx.arc(clipCanvas.width/2,clipCanvas.height/2,clipCanvas.height/2,0,2*Math.PI);clipCtx.clip();clipCtx.drawImage(img,0,0,clipCanvas.width,clipCanvas.height);shadowCtx.drawImage(clipCanvas,CANVAS_PADDING,CANVAS_PADDING,this._maxSize,this._maxSize);shadowCanvas.toBlob(resolve);});},favicon:function(img){if(img.width>this._icon.grid.layout.gridIconSize/2){return this.clip(img);}
return new Promise((resolve)=>{var shadowCanvas=this._createCanvas();var shadowCtx=this._decorateShadowCanvas(shadowCanvas);var iconWidth;var iconHeight;shadowCtx.beginPath();shadowCtx.arc(shadowCanvas.width/2,shadowCanvas.height/2,shadowCanvas.height/2-CANVAS_PADDING,0,2*Math.PI,false);shadowCtx.fillStyle=DEFAULT_BACKGROUND_COLOR;shadowCtx.fill();iconWidth=iconHeight=this._maxSize*0.55;shadowCtx.shadowBlur=0;shadowCtx.shadowOffsetY=0;shadowCtx.mozImageSmoothingEnabled=false;shadowCtx.drawImage(img,(shadowCanvas.width-iconWidth)/2,(shadowCanvas.height-iconHeight)/2,iconWidth,iconHeight);shadowCanvas.toBlob(resolve);});},standard:function(img){return new Promise((resolve)=>{var shadowCanvas=this._createCanvas();var shadowCtx=this._decorateShadowCanvas(shadowCanvas);shadowCtx.drawImage(img,CANVAS_PADDING,CANVAS_PADDING,this._maxSize,this._maxSize);shadowCanvas.toBlob(resolve);});}};exports.GridIconRenderer=IconRenderer;}(window));;'use strict';(function(exports){const maxIconsPerRow=4;const iconScaleFactorMaxIconsPerRow=5;const minIconsPerRow=3;const iconScaleFactorMinIconsPerRow=3.8;const distanceBetweenIconsWithMinIconsPerRow=36;const distanceBetweenIconsWithMaxIconsPerRow=38;const eachTextRowHeight=20;var constraintSize;function GridLayout(gridView){this.gridView=gridView;if(window.verticalPreferences){verticalPreferences.get('grid.cols').then(value=>{this.cols=value;this.onReady();},this.onReady);verticalPreferences.addEventListener('updated',this);}else{this.onReady();}}
GridLayout.prototype={minIconsPerRow:minIconsPerRow,maxIconsPerRow:maxIconsPerRow,_cols:minIconsPerRow,_offsetY:0,_percent:1,_dividerLineHeight:0,get percent(){return this._percent;},get cols(){return this._cols;},set cols(value){if(!value||value===this._cols){return;}
if(window.verticalPreferences){verticalPreferences.put('grid.cols',value);}
this._offsetY=0;this._percent=value==minIconsPerRow?1:minIconsPerRow/maxIconsPerRow;this._cols=value;},get constraintSize(){if(!constraintSize){this.calculateSize();}
return constraintSize;},get gridItemHeight(){var height=this.gridIconSize+
(this._cols===minIconsPerRow?distanceBetweenIconsWithMinIconsPerRow:distanceBetweenIconsWithMaxIconsPerRow);var defaultTextRows=2;var definedRows=parseInt(this.gridView.element.getAttribute('text-rows'),10);if(definedRows>defaultTextRows){height+=(definedRows-defaultTextRows)*eachTextRowHeight;}
return height;},get gridItemWidth(){return this.constraintSize/this._cols;},get gridMaxIconSize(){var baseSize=(this.constraintSize/iconScaleFactorMinIconsPerRow);return baseSize*devicePixelRatio;},get gridIconSize(){var numCols=this._cols;var size=this.constraintSize/numCols;if(numCols===minIconsPerRow){size=this.constraintSize/iconScaleFactorMinIconsPerRow;}else if(numCols===maxIconsPerRow){size=this.constraintSize/iconScaleFactorMaxIconsPerRow;}
return Math.floor(size);},get offsetY(){return this._offsetY;},set offsetY(value){this._offsetY=value;},stepYAxis:function(value){this._offsetY+=value;},handleEvent:function(e){switch(e.type){case'updated':var prop=e.target;if(prop.name==='grid.cols'){this.cols=parseInt(prop.value,10);this.gridView.render();}
break;}},calculateSize:function(){constraintSize=Math.min(window.screen.width,window.screen.height);},onReady:function(){window.dispatchEvent(new CustomEvent('gaiagrid-layout-ready'));}};exports.GridLayout=GridLayout;}(window));;'use strict';(function(exports){const pinchThreshold=Math.round(window.innerWidth/12);function GridZoom(gridView){this.gridView=gridView;this.touches=0;this.zoomStartTouches=[];this.zoomStartDistance=0;this.container=document.getElementById('zoom');this.arrows=this.container.querySelector('.arrows');this.curtain=this.container.querySelector('.curtain');this.indicator=this.container.querySelector('.indicator');this.start();window.addEventListener('gaiagrid-dragdrop-begin',this.stop.bind(this));window.addEventListener('gaiagrid-dragdrop-finish',this.start.bind(this));}
GridZoom.prototype={start:function(){window.addEventListener('touchstart',this);},stop:function(){window.removeEventListener('touchstart',this);},_attachGestureListeners:function(){window.addEventListener('touchmove',this);window.addEventListener('touchend',this);},_stopGestureListeners:function(){window.removeEventListener('touchmove',this);window.removeEventListener('touchend',this);},_resetState:function(){this.zoomInProgress=false;this.container.hidden=true;this.indicator.classList.remove('active');this.arrows.classList.remove('zooming','grow','shrink');this.arrows.style.transform='';},handleEvent:function(e){if(e.type==='touchend'&&this.zoomStartTouches){if(!this.zoomInProgress){this._resetState();}
this._stopGestureListeners();return;}
if(!e.touches||e.touches.length!==2){return;}
var touches=[e.touches[0],e.touches[1]].sort(function(a,b){return a.pageX-b.pageX;});var touchDistance=Math.sqrt((touches[0].pageX-touches[1].pageX)*(touches[0].pageX-touches[1].pageX)+
(touches[0].pageY-touches[1].pageY)*(touches[0].pageY-touches[1].pageY));var layout=this.gridView.layout;switch(e.type){case'touchstart':this.container.hidden=false;this.zoomStartTouches=touches;this.zoomStartDistance=touchDistance;if(layout.cols<layout.maxIconsPerRow){this.arrows.classList.add('grow');}else{this.arrows.classList.add('shrink');}
this.indicator.dataset.cols=layout.cols;this._attachGestureListeners();break;case'touchmove':if(layout.cols<layout.maxIconsPerRow&&touchDistance<this.zoomStartDistance&&Math.abs(touchDistance-this.zoomStartDistance)>pinchThreshold){this.gridView.cols=layout.maxIconsPerRow;this.zoomInProgress=true;}else if(layout.cols>layout.minIconsPerRow&&touchDistance>this.zoomStartDistance&&Math.abs(touchDistance-this.zoomStartDistance)>pinchThreshold){this.gridView.cols=layout.minIconsPerRow;this.zoomInProgress=true;}else{return;}
this._stopGestureListeners();var ontransitionend=function(){this.arrows.removeEventListener('transitionend',ontransitionend);this.indicator.classList.add('active');this.gridView.render();var zoomHideTime=400;setTimeout(this._resetState.bind(this),zoomHideTime);}.bind(this);this.arrows.addEventListener('transitionend',ontransitionend);this.indicator.dataset.cols=layout.cols;this.arrows.classList.add('zooming');document.body.clientHeight;var scaleTransform='scale(1)';if(this.zoomInProgress&&touchDistance<this.zoomStartDistance){scaleTransform='scale(0.4)';}
this.arrows.style.transform=scaleTransform;break;}}};exports.GridZoom=GridZoom;}(window));;window.GaiaGrid=(function(win){'use strict';var proto=Object.create(HTMLElement.prototype);var baseurl=window.GaiaGridBaseurl||'/shared/elements/gaia_grid/';proto.createdCallback=function(){var shadow=this.createShadowRoot();this._template=template.content.cloneNode(true);this._styleHack();this._grid=new GridView({element:this,features:{dragdrop:this.getAttribute('dragdrop')!==null,zoom:this.getAttribute('zoom')!==null,disableSections:this.getAttribute('disable-sections')!==null}});shadow.appendChild(this._template);};proto.add=function(){this._grid.add.apply(this._grid,arguments);};proto.clear=function(){this._grid.clear.apply(this._grid,arguments);};proto.render=function(){this._grid.layout.calculateSize();this._grid.render.apply(this._grid,arguments);};proto.start=function(){this._grid.start.apply(this._grid,arguments);};proto.stop=function(){this._grid.stop.apply(this._grid,arguments);};proto.getIcons=function(){return this._grid.icons;};proto.getItems=function(){return this._grid.items;};proto.getIcon=function(identifier){return this._grid.icons[identifier];};proto.removeIconByIdentifier=function(identifier){delete this._grid.icons[identifier];};proto.removeItemByIndex=function(itemIndex){this._grid.items.splice(itemIndex,1);};proto.popDivider=function(){var items=this._grid.items;if(items.length&&items[items.length-1].detail.type==='divider'){return items.pop();}
return null;};proto.appendItem=function(item){var items=this._grid.items;var lastIndex=items.length-1;if(items[lastIndex].detail.type==='divider'){this.add(item,lastIndex);}else{this.add(item);}};proto.appendItemToExpandedGroup=function(item){var items=this._grid.items;var lastIndex=items.length-1;if(items[lastIndex].detail.type==='divider'&&items[lastIndex].detail.collapsed){items[lastIndex].expand();}
this.appendItem(item);};proto.setEditHeaderElement=function(element){if(this._grid.dragdrop){this._grid.dragdrop.editHeaderElement=element;}};Object.defineProperty(proto,'maxIconSize',{get:function(){return this._grid.layout.gridMaxIconSize;}});proto.getIndexLastIcon=function(){var items=this._grid.items;for(var i=this._grid.items.length-1;i>=0;i--){if(items[i]instanceof GaiaGrid.Mozapp){return i;}}};proto.removeNonVisualElements=function(){var nonVisualElements=[GaiaGrid.Placeholder];function isNonVisual(elem){var retVal=false;for(var i=0,iLen=nonVisualElements.length;i<iLen&&!retVal;i++){retVal=elem instanceof nonVisualElements[i];}
return retVal;}
var i=0;var iLen=this._grid.items.length;while(i<iLen){this._grid.items[i].detail.index=i;if(isNonVisual(this._grid.items[i])){this._grid.items.splice(i,1);iLen-=1;}else{i+=1;}}};proto.moveTo=function(orig,dst){this._grid.items.splice(dst,0,this._grid.items.splice(orig,1)[0]);};proto._styleHack=function(){var style=this._template.querySelector('style');this.appendChild(style.cloneNode(true));};var stylesheet=baseurl+'style.css';var template=document.createElement('template');template.innerHTML=`<style scoped>
@import url(${stylesheet});</style>
<content></content>`;return document.registerElement('gaia-grid',{prototype:proto});})(window);;'use strict';(function(exports){const ICON_BLOB_DECORATED_EVENT='iconblobdecorated';const ICON_BLOB_ERROR_EVENT='gaiagrid-iconbloberror';const FETCH_XHR_TIMEOUT=10000;function fetchBlob(uri){return new Promise(function(accept,reject){var xhr=new XMLHttpRequest({mozAnon:true,mozSystem:true});xhr.open('GET',uri,true);xhr.responseType='blob';xhr.timeout=FETCH_XHR_TIMEOUT;xhr.send();xhr.onload=function(){var status=xhr.status;if(status!==0&&status!==200){reject(new Error('Got HTTP status '+status+' trying to load '+uri));return;}
accept(xhr.response);};xhr.onerror=xhr.ontimeout=function(){reject(new Error('Error while HTTP GET: ',uri));};});}
function GridItem(){this.detail={};}
GridItem.prototype={x:0,y:0,pixelHeight:0,gridWidth:1,scale:1,persistToDB:true,lastX:null,lastY:null,lastScale:null,get hasCachedIcon(){return this.detail&&this.detail.decoratedIconBlob;},renderer:GridIconRenderer.TYPE.STANDARD,iconState:'none',get defaultIcon(){return'/shared/elements/gaia_grid/images/default_icon.png';},get grid(){return document.getElementsByTagName('gaia-grid')[0]._grid;},isRemovable:function(){return false;},isEditable:function(){return false;},isDraggable:function(){return true;},isIconFromOrigin:function(){return this.icon.startsWith('http')||this.icon.startsWith('app:');},setPosition:function(position){this.detail.index=position;},setCoordinates:function(x,y){this.x=x;this.y=y;},requestAttention:function(){var rect={x:this.x,y:this.y,width:this.gridWidth*this.grid.layout.gridItemWidth,height:this.pixelHeight};this.grid.element.dispatchEvent(new CustomEvent('gaiagrid-attention',{detail:rect}));},closestIconSizeFromList:function(choices){if(!choices){return 0;}
var sizes=Object.keys(choices);if(!sizes.length){return 0;}
var maxSize=this.grid.layout.gridMaxIconSize;var filter=(a)=>a>=maxSize?a:0;var bestSize=Math.min(...sizes.map(filter));bestSize=bestSize||Math.max(...sizes);return bestSize||0;},closestIconFromList:function(choices){var icon;if(Array.isArray(choices)){var manifest={'icons':choices};var maxSize=this.grid.layout.gridMaxIconSize;icon=window.IconsHelper.getBestIconFromWebManifest(manifest,maxSize);return icon?(new URL(icon,this.app.manifestURL)).href:null;}
var accurateSize=this.closestIconSizeFromList(choices);if(accurateSize===0){return this.defaultIcon;}
icon=choices[accurateSize];if(!UrlHelper.hasScheme(icon)){icon=this.app.origin+icon;}
return icon;},renderIconFromSrc:function(url){var background=new Image();background.src=url;background.onload=this._decorateIcon.bind(this,background);},renderIconFromBlob:function(blob){var background=new Image();background.src=URL.createObjectURL(blob);background.onload=()=>{this._decorateIcon(background);URL.revokeObjectURL(background.src);};background.onerror=()=>{URL.revokeObjectURL(background.src);if(this.hasCachedIcon){this._stampElementWithIcon('blobcache');this._displayDecoratedIcon(this.detail.decoratedIconBlob,true);return;}
this.renderIconFromSrc(this.defaultIcon);this._stampElementWithIcon(this.defaultIcon);};},_decorateIcon:function(img){var strategy=this.detail.renderer||this.renderer;this.rendererInstance=new GridIconRenderer(this);this.rendererInstance[strategy](img).then(this._displayDecoratedIcon.bind(this));},_displayDecoratedIcon:function(blob,isCachedIcon){if(!this.element){return;}
var style=this.element.style;if(!style.backgroundSize){style.height=this.grid.layout.gridItemHeight+'px';var backgroundHeight=((this.grid.layout.gridIconSize*(1/this.grid.layout.percent))+
GridIconRenderer.prototype.unscaledCanvasPadding);if(this.grid.layout.gridItemHeight>backgroundHeight){style.backgroundSize=backgroundHeight+'px';}else{style.backgroundSize=style.height;}}
if(isCachedIcon){var url=URL.createObjectURL(blob);style.backgroundImage='url('+url+')';this.element.dataset.backgroundImage=url;var img=new Image();img.onload=img.onerror=()=>{this.grid.element.dispatchEvent(new CustomEvent('cached-icon-rendered'));};img.src=url;return;}
this._compareBlobs(blob,this.detail.decoratedIconBlob).then((equal)=>{if(equal){return;}
style.backgroundImage='url('+URL.createObjectURL(blob)+')';this.detail.decoratedIconBlob=blob;this.grid.element.dispatchEvent(new CustomEvent(ICON_BLOB_DECORATED_EVENT,{detail:this}));var bgImg=this.element.dataset.backgroundImage;bgImg&&URL.revokeObjectURL(bgImg);});},_compareBlobs:function(blob1,blob2){return new Promise(function(resolve){if(!blob1||!blob2||blob1.type!==blob2.type||blob1.size!==blob2.size){resolve(false);return;}
var startBytes=127;var bytesHash=16;var reader=new FileReader();reader.onloadend=function(){var result1=reader.result;reader=new FileReader();reader.onloadend=reader.onerror=function(){resolve(result1===reader.result);};reader.readAsDataURL(blob2.slice(startBytes,startBytes+bytesHash));};reader.onerror=function(){resolve(false);};reader.readAsDataURL(blob1.slice(startBytes,startBytes+bytesHash));});},fetchIconBlob:function(){return fetchBlob(this.icon);},_stampElementWithIcon:function(uri){if(!this.element||uri.startsWith('data:')){return;}
if(uri.length>255){uri=uri.slice(0,255);}
this.element.dataset.testIcon=uri;},renderIcon:function(renderCachedIcon){var icon=this.icon;this.iconState='pending';if(!icon){return;}
if(renderCachedIcon&&this.hasCachedIcon){this._displayDecoratedIcon(this.detail.decoratedIconBlob,true);var resolveIcon=()=>{this.grid.element.removeEventListener('cached-icons-rendered',resolveIcon);this.doRenderIcon(icon);};this.grid.element.addEventListener('cached-icons-rendered',resolveIcon);}else{this.doRenderIcon(icon);}},doRenderIcon:function(icon){if(!this.isIconFromOrigin()){this._stampElementWithIcon(icon);this.renderIconFromSrc(icon);this.iconState='success';return Promise.resolve();}
var eventTarget=this.grid.element;var blobNotFound=()=>{this.iconState='error';if(!this.hasCachedIcon){this.renderIconFromSrc(this.defaultIcon);this._stampElementWithIcon(this.defaultIcon);}else{this._stampElementWithIcon('blobcache');}
eventTarget.dispatchEvent(new CustomEvent(ICON_BLOB_ERROR_EVENT,{detail:this}));};return this.fetchIconBlob().then((blob)=>{if(!blob){return blobNotFound();}
this.renderIconFromBlob(blob);this.iconState='success';this._stampElementWithIcon(icon);}).catch((err)=>{blobNotFound();});},removeFromGrid:function(){var idx=this.grid.items.indexOf(this);if(idx===-1){console.error('Attempting to remove self before item has been added!');return;}
this.grid.items.splice(idx,1);delete this.grid.icons[this.identifier];if(this.element){this.element.parentNode.removeChild(this.element);}
this.grid.render({from:idx-1});},remove:function(){this.grid.element.dispatchEvent(new CustomEvent('removeitem',{detail:this}));},render:function(){var scale=this.grid.layout.percent*this.scale;if(!this.element){var tile=document.createElement('div');tile.className='icon';tile.dataset.identifier=this.identifier;tile.dataset.isDraggable=this.isDraggable();tile.setAttribute('role','link');tile.setAttribute('tabindex',0);tile.style.width=(this.grid.layout.constraintSize/3)+'px';var nameContainerEl=document.createElement('p');nameContainerEl.style.marginTop=((this.grid.layout.gridIconSize*(1/this.grid.layout.percent))+
(GridIconRenderer.prototype.unscaledCanvasPadding/2))+'px';tile.appendChild(nameContainerEl);var nameEl=document.createElement('span');nameEl.className='title';nameEl.setAttribute('dir','auto');nameContainerEl.appendChild(nameEl);if(this.isRemovable()){var removeEl=document.createElement('span');removeEl.className='remove';tile.appendChild(removeEl);}
this.element=tile;this.updateTitle();this.renderIcon(true);this.grid.element.appendChild(tile);}
this.transform(this.x,this.y,scale);},transform:function(x,y,scale,element){scale=scale||1;if(!element){if(x===this.lastX&&y===this.lastY&&scale===this.lastScale){return;}
element=this.element;this.lastX=x;this.lastY=y;this.lastScale=scale;}
element.style.transform='translate('+x+'px,'+y+'px) scale('+scale+')';},setActive:function(active){if(active){this.element.classList.add('active');this.active=true;}else{this.element.classList.remove('active');this.active=false;}},updateTitle:function(){if(!this.element){return;}
var nameEl=this.element.querySelector('.title');if(this.asyncName){this.asyncName().then(function(name){nameEl.textContent=name;});}else{nameEl.textContent=this.name;}},updateFromDatastore:function(record){var iconChanged=record.icon!==this.icon;var nameChanged=record.name!==this.name;var type=this.detail.type;var lastIcon=this.icon;record.type=type;this.detail=record;if(nameChanged){this.updateTitle();}
if(iconChanged&&record.icon){this.renderIcon();}else if(!record.icon){this.detail.icon=lastIcon;}}};exports.GaiaGrid.GridItem=GridItem;}(window));;'use strict';(function(exports){const TYPE='bookmark';function Bookmark(record,features){this.detail=record;this.features=features||{};this.detail.type=TYPE;}
Bookmark.prototype={__proto__:GaiaGrid.GridItem.prototype,renderer:GridIconRenderer.TYPE.FAVICON,get pixelHeight(){return this.grid.layout.gridItemHeight;},gridWidth:1,get name(){return this.detail.name;},get icon(){return this.detail.icon||this.defaultIcon;},get identifier(){return this.detail.id;},update:GaiaGrid.GridItem.prototype.updateFromDatastore,isEditable:function(){return this.features&&this.features.isEditable!==false;},isRemovable:function(){return this.features&&this.features.isRemovable!==false;},isDraggable:function(){return this.features&&this.features.isDraggable!==false;},render:function(){GaiaGrid.GridItem.prototype.render.call(this);this.element.classList.add('bookmark');if(this.isEditable()){this.element.classList.add('editable');}},launch:function(){var features={name:this.name,icon:this.icon,remote:true};var url=this.detail.url;if(this.features.search){features.searchName=this.name;features.searchUrl=url;}
window.open(url,'_samescope',Object.keys(features).map(function eachFeature(key){return encodeURIComponent(key)+'='+
encodeURIComponent(features[key]);}).join(','));},edit:function(){new MozActivity({name:'save-bookmark',data:{type:'url',url:this.detail.id}});}};exports.GaiaGrid.Bookmark=Bookmark;}(window));;'use strict';(function(exports){const TYPE='marketplace-app';function MarketPlaceApp(record){this.detail=record;this.detail.type=TYPE;}
MarketPlaceApp.prototype={__proto__:GaiaGrid.Bookmark.prototype,renderer:GridIconRenderer.TYPE.STANDARD,get icon(){var icon=this._accurateIcon;if(!icon){icon=this._accurateIcon=this.closestIconFromList(this.detail.icons);}
return icon;},launch:function(){new MozActivity({name:'marketplace-app',data:{slug:this.detail.slug}});},};exports.GaiaGrid.MarketPlaceApp=MarketPlaceApp;}(window));;'use strict';(function(exports){function Divider(){this.detail={type:'divider',index:0};}
Divider.prototype={__proto__:GaiaGrid.GridItem.prototype,x:0,y:0,headerHeight:0,get pixelHeight(){return(this.grid.layout.cols>3)?50:60;},gridWidth:4,scale:1,render:function(){if(!this.element){var divider=this.element=document.createElement('section');divider.className='divider';var span=document.createElement('span');span.className='spacer';divider.appendChild(span);this.grid.element.appendChild(divider);}
this.element.style.transform='translate(0 ,'+this.y+'px)';},remove:function(){if(this.element){this.element.parentNode.removeChild(this.element);}},isDraggable:function(){return false;}};exports.GaiaGrid.Divider=Divider;}(window));;'use strict';(function(exports){const IDENTIFIER_SEP='-';var MOZAPP_EVENTS=['downloadsuccess','downloaderror','downloadavailable','downloadapplied','progress'];var APP_LOADING='loading';var APP_ERROR='error';var APP_UNRECOVERABLE='unrecoverable';var APP_PAUSED='paused';var APP_READY='ready';function localizeString(str){var userLang=document.documentElement.lang;if(navigator.mozL10n&&navigator.mozL10n.ctx.qps.indexOf(userLang)!==-1){return navigator.mozL10n.qps[userLang].translate(str);}
return str;}
function Mozapp(app,entryPoint,details){this.app=app;this.entryPoint=entryPoint;this.detail={type:'app',manifestURL:app.manifestURL,entryPoint:entryPoint,index:0,decoratedIconBlob:details&&details.decoratedIconBlob};MOZAPP_EVENTS.forEach(function(type){this.app['on'+type]=this.handleEvent.bind(this);},this);this.setAppState(this._determineState(app));}
Mozapp.HIDDEN_ROLES=['system','input','homescreen','search','addon','langpack'];Mozapp.prototype={__proto__:GaiaGrid.GridItem.prototype,_isHiddenRole:function(){var manifest=this.app.manifest;if(!manifest||!manifest.role){return null;}
return Mozapp.HIDDEN_ROLES.indexOf(manifest.role)!==-1;},_determineState:function(app){if(app.installState==='pending'&&!app.downloadAvailable&&!app.readyToApplyDownload){return APP_UNRECOVERABLE;}
if(app.downloading){return APP_LOADING;}
if(app.downloadError&&app.downloadError.name){if(app.downloadError.name==='DOWNLOAD_CANCELED'){return APP_PAUSED;}
return APP_ERROR;}
if(app.installState==='pending'){return APP_PAUSED;}
return APP_READY;},handleEvent:function(event){switch(event.type){case'progress':case'downloaderror':case'downloadsuccess':this.setAppState(this._determineState(this.app));break;case'downloadapplied':if(this._isHiddenRole()){console.warn('Removing hidden app from the grid',this.name);return this.removeFromGrid();}
delete this._accurateIcon;delete this._accurateIconSize;this.setAppState(this._determineState(this.app));this.renderIcon();window.dispatchEvent(new CustomEvent('downloadapplied',{detail:{id:this.app.manifestURL}}));break;}},fetchIconBlob:function(){if(!this._accurateIconSize){this._accurateIconSize=this.closestIconSizeFromList(this.descriptor.icons);}
var result=this._accurateIconSize?navigator.mozApps.mgmt.getIcon(this.app,this._accurateIconSize,this.entryPoint||''):GaiaGrid.GridItem.prototype.fetchIconBlob.call(this);return result;},get pixelHeight(){return this.grid.layout.gridItemHeight;},gridWidth:1,get name(){var userLang=document.documentElement.lang;if(navigator.mozL10n&&userLang in navigator.mozL10n.qps){return navigator.mozL10n.qps[userLang].translate(this.descriptor.short_name||this.descriptor.name);}
var locales=this.descriptor.locales;var localized=locales&&locales[userLang]&&(locales[userLang].short_name||locales[userLang].name);return localized||this.descriptor.short_name||this.descriptor.name;},asyncName:function(){var userLang=document.documentElement.lang;var ep=this.entryPoint||undefined;if(!this.app.getLocalizedValue){return new Promise((resolve,reject)=>{reject();});}
return this.app.getLocalizedValue('short_name',userLang,ep).then(shortName=>localizeString(shortName),this.app.getLocalizedValue.bind(this.app,'name',userLang,ep)).then(name=>localizeString(name),()=>this.name);},get icon(){var icon=this._accurateIcon;if(!icon){icon=this._accurateIcon=this.closestIconFromList(this.descriptor.icons);}
return icon;},get descriptor(){var manifest=this.app.manifest||this.app.updateManifest;if(this.entryPoint&&manifest.entry_points&&manifest.entry_points[this.entryPoint]){return manifest.entry_points[this.entryPoint];}
return manifest;},identifierSeparator:IDENTIFIER_SEP,get identifier(){var identifier=[this.app.manifestURL];if(this.entryPoint){identifier.push(this.entryPoint);}
return identifier.join(IDENTIFIER_SEP);},isRemovable:function(){return this.app.removable;},unrecoverableError:function(){navigator.mozApps.mgmt.uninstall(this.app);},cancel:function(){var dialog=new ConfirmDialogHelper({type:'pause',title:{id:'gaia-grid-stop-download-title',args:{name:this.name}},body:'gaia-grid-stop-download-body',cancel:{title:'gaia-grid-cancel'},confirm:{title:'gaia-grid-stop-download-action',type:'danger',cb:()=>this.app.cancelDownload()}});dialog.show(document.body);},resume:function(){var dialog=new ConfirmDialogHelper({type:'resume',title:'gaia-grid-resume-download-title',body:{id:'gaia-grid-resume-download-body',args:{name:this.name}},cancel:{title:'gaia-grid-cancel'},confirm:{title:'gaia-grid-resume-download-action',cb:()=>{this.setAppState(APP_LOADING);this.app.download();}}});dialog.show(document.body);},setAppState:function(state){this.appState=state;if(this.element){this.element.dataset.appState=state;}},render:function(){var needsStateSet=!this.element;GaiaGrid.GridItem.prototype.render.apply(this,arguments);if(needsStateSet){this.setAppState(this.appState);}},launch:function(){var app=this.app;switch(this._determineState(app)){case APP_UNRECOVERABLE:return this.unrecoverableError();case APP_ERROR:case APP_PAUSED:return this.resume();case APP_LOADING:return this.cancel();}
window.performance.mark('appLaunch@'+app.origin);if(this.entryPoint){return app.launch(this.entryPoint);}
return app.launch();}};exports.GaiaGrid.Mozapp=Mozapp;}(window));;'use strict';(function(exports){function Placeholder(){this.detail={type:'placeholder',index:0};}
Placeholder.prototype={__proto__:GaiaGrid.GridItem.prototype,get pixelHeight(){return this.grid.layout.gridItemHeight;},createsGroupOnDrop:false,gridWidth:1,persistToDB:false,get name(){return'';},render:function(){if(!this.element){var tile=document.createElement('div');tile.className='icon placeholder';tile.style.height=this.pixelHeight+'px';this.element=tile;this.grid.element.appendChild(tile);}
this.transform(this.x,this.y,this.grid.layout.percent);},remove:function(){if(this.element){this.element.parentNode.removeChild(this.element);}}};exports.GaiaGrid.Placeholder=Placeholder;}(window));;;;this.asyncStorage=(function(){'use strict';var DBNAME='asyncStorage';var DBVERSION=1;var STORENAME='keyvaluepairs';var db=null;function withDatabase(f){if(db){f();}else{var openreq=indexedDB.open(DBNAME,DBVERSION);openreq.onerror=function withStoreOnError(){console.error('asyncStorage: can\'t open database:',openreq.error.name);};openreq.onupgradeneeded=function withStoreOnUpgradeNeeded(){openreq.result.createObjectStore(STORENAME);};openreq.onsuccess=function withStoreOnSuccess(){db=openreq.result;f();};}}
function withStore(type,callback,oncomplete){withDatabase(function(){var transaction=db.transaction(STORENAME,type);if(oncomplete){transaction.oncomplete=oncomplete;}
callback(transaction.objectStore(STORENAME));});}
function getItem(key,callback){var req;withStore('readonly',function getItemBody(store){req=store.get(key);req.onerror=function getItemOnError(){console.error('Error in asyncStorage.getItem(): ',req.error.name);};},function onComplete(){var value=req.result;if(value===undefined){value=null;}
callback(value);});}
function setItem(key,value,callback){withStore('readwrite',function setItemBody(store){var req=store.put(value,key);req.onerror=function setItemOnError(){console.error('Error in asyncStorage.setItem(): ',req.error.name);};},callback);}
function removeItem(key,callback){withStore('readwrite',function removeItemBody(store){var req=store.delete(key);req.onerror=function removeItemOnError(){console.error('Error in asyncStorage.removeItem(): ',req.error.name);};},callback);}
function clear(callback){withStore('readwrite',function clearBody(store){var req=store.clear();req.onerror=function clearOnError(){console.error('Error in asyncStorage.clear(): ',req.error.name);};},callback);}
function length(callback){var req;withStore('readonly',function lengthBody(store){req=store.count();req.onerror=function lengthOnError(){console.error('Error in asyncStorage.length(): ',req.error.name);};},function onComplete(){callback(req.result);});}
function key(n,callback){if(n<0){callback(null);return;}
var req;withStore('readonly',function keyBody(store){var advanced=false;req=store.openCursor();req.onsuccess=function keyOnSuccess(){var cursor=req.result;if(!cursor){return;}
if(n===0||advanced){return;}
advanced=true;cursor.advance(n);};req.onerror=function keyOnError(){console.error('Error in asyncStorage.key(): ',req.error.name);};},function onComplete(){var cursor=req.result;callback(cursor?cursor.key:null);});}
return{getItem:getItem,setItem:setItem,removeItem:removeItem,clear:clear,length:length,key:key};}());;;'use strict';var rscheme=/^(?:[a-z\u00a1-\uffff0-9-+]+)(?::(?:\/\/)?)/i;var UrlHelper={a:null,getUrlFromInput:function urlHelper_getUrlFromInput(input){this.a=this.a||document.createElement('a');this.a.href=input;return this.a.href;},_getScheme:function(input){return(rscheme.exec(input)||[])[0];},hasScheme:function(input){return!!this._getScheme(input);},isURL:function urlHelper_isURL(input){return!UrlHelper.isNotURL(input);},isNotURL:function urlHelper_isNotURL(input){var case1Reg=/^(\?)|(\?.+\s)/;var case2Reg=/[\?\.\s\:]/;var case3Reg=/^(data|view-source)\:/;var str=input.trim();if(case1Reg.test(str)||!case2Reg.test(str)||this._getScheme(str)===str){return true;}
if(case3Reg.test(str)){return false;}
if(!this.hasScheme(str)){str='http://'+str;}
if(!this.urlValidate){this.urlValidate=document.createElement('input');this.urlValidate.setAttribute('type','url');}
this.urlValidate.setAttribute('value',str);return!this.urlValidate.validity.valid;},resolveUrl:function urlHelper_resolveURL(url,baseUrl){if(!url){return null;}
try{return new URL(url,baseUrl).href;}catch(e){return null;}},getHostname:function urlHelper_getHostname(url){try{return new URL(url).hostname;}catch(e){return null;}}};;'use strict';(function WebManifestHelper(exports){var getManifest=function(url){return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest({mozSystem:true});xhr.open('get',url,true);xhr.responseType='json';xhr.setRequestHeader('Accept','application/manifest+json');xhr.onload=function(){var status=xhr.status;var webManifest;if(status==200){if(!xhr.response){reject(new Error('Empty JSON response to '+url+', '+'possibly syntax error'));}
webManifest=processRawManifest(xhr.response||{},url);resolve(webManifest);}else{reject(status);}};xhr.onerror=function(e){console.error('Unable to get web manifest');reject(e.target.status);};xhr.send();});};var processRawManifest=function(webManifest,manifestURL){if(!manifestURL){throw new Error('WebManifestHelper.processRawManifest:'+' no manifestURL given');}
if('icons'in webManifest){webManifest.icons=processIcons(webManifest,manifestURL||'');}
return webManifest;};const onlyDecimals=/^\d+$/,anyRegEx=new RegExp('any','i');var processIcons=function(manifest,baseURL){const obj={objectName:'manifest',object:manifest,property:'icons',expectedType:'array'},icons=[];var value=extractValue(obj);if(Array.isArray(value)){var processableIcons=value.filter(icon=>icon&&Object.prototype.hasOwnProperty.call(icon,'src')&&icon.src!=='');for(var potentialIcon of processableIcons){var src=processSrcMember(potentialIcon,baseURL);if(src!==undefined){var icon={src:src,type:processTypeMember(potentialIcon),sizes:processSizesMember(potentialIcon),density:processDensityMember(potentialIcon)};icons.push(icon);}}}
return icons;function processTypeMember(icon){const obj={objectName:'icon',object:icon,property:'type',expectedType:'string'};var value=extractValue(obj),isParsable=(typeof value==='string'&&value.length>0);return(value===''||!isParsable)?undefined:value;}
function processDensityMember(icon){const hasDensity=Object.prototype.hasOwnProperty.call(icon,'density'),rawValue=(hasDensity)?icon.density:undefined,value=parseFloat(rawValue),result=(Number.isNaN(value)||value===+Infinity||value<=0)?1.0:value;return result;}
function processSrcMember(icon,baseURL){const obj={objectName:'icon',object:icon,property:'src',expectedType:'string'},value=extractValue(obj);var url;if(typeof value==='string'&&value.trim()!==''){try{url=new URL(value,baseURL).href;}catch(e){}}
return url;}
function processSizesMember(icon){const sizes=[],obj={objectName:'icon',object:icon,property:'sizes',expectedType:'string'};var value=extractValue(obj);value=(value)?value.trim():value;if(value){var validSizes=value.split(/\s+/).filter(isValidSizeValue);validSizes.forEach((size)=>sizes.push(size));}
return sizes;function isValidSizeValue(size){if(anyRegEx.test(size)){return true;}
size=size.toLowerCase();if(!size.contains('x')||size.indexOf('x')!==size.lastIndexOf('x')){return false;}
const width=size.substring(0,size.indexOf('x'));const height=size.substring(size.indexOf('x')+1,size.length);const isValid=!(height.startsWith('0')||width.startsWith('0')||!onlyDecimals.test(width+height));return isValid;}}};function extractValue(obj){var value=obj.object[obj.property];const type=(Array.isArray(value))?'array':typeof value;if(type!==obj.expectedType){if(type!=='undefined'){var msg='Expected the '+obj.objectName+'s '+obj.property+' member to be a '+obj.expectedType;console.warn(msg);}
value=undefined;}
return value;}
exports.WebManifestHelper={getManifest:getManifest,processRawManifest:processRawManifest};})(window);;;;'use strict';var DateHelper={todayStarted:function dh_todayStarted(){var now=(new Date()).valueOf();return this.getMidnight(now);},yesterdayStarted:function dh_yesterdayStarted(){var now=(new Date()).valueOf();var dayAgo=now-86400000;return this.getMidnight(dayAgo);},thisWeekStarted:function dh_thisWeekStarted(){var now=new Date();var dayOfTheWeek=now.getDay();var firstDay=new Date(now.getFullYear(),now.getMonth(),now.getDate()-dayOfTheWeek);return this.getMidnight(firstDay);},thisMonthStarted:function dh_thisMonthStarted(){var now=new Date();var firstDay=(new Date(now.getFullYear(),now.getMonth(),1).valueOf());return firstDay;},lastSixMonthsStarted:function dh_lastSixMonthsStarted(){var now=new Date().valueOf();var sixMonthsAgo=now-2629743830*6;return sixMonthsAgo;},thisYearStarted:function dh_thisYearStarted(){var now=new Date();var firstDay=(new Date(now.getFullYear(),0).valueOf());return firstDay;},getMidnight:function dh_getMidnight(timestamp){var day=new Date(timestamp);var midnight=(new Date(day.getFullYear(),day.getMonth(),day.getDate(),0).valueOf());return midnight;}};var NumberHelper={zfill:function nh_zfill(string,len){var s=string;while(s.length<len){s='0'+s;}
return s;}};var StringHelper={fromUTF8:function ut_fromUTF8(str){var buf=new Uint8Array(str.length);for(var i=0;i<str.length;i++){buf[i]=str.charCodeAt(i);}
return buf;},camelCase:function ut_camelCase(str){var rdashes=/-(.)/g;return str.replace(rdashes,function replacer(str,p1){return p1.toUpperCase();});}};var HtmlHelper={createHighlightHTML:function ut_createHighlightHTML(text,terms){var toHighlight=[];var normalizedText=Normalizer.toAscii(text).toLowerCase();terms.forEach(function(term){term=Normalizer.toAscii(term).toLowerCase();var index=normalizedText.indexOf(term);while(index>=0){for(var i=0,length=term.length;i<length;i++){toHighlight[index+i]=true;}
index=normalizedText.indexOf(term,index+term.length);}});var fragment=document.createDocumentFragment();for(var i=0;i<text.length;i++){if(!toHighlight[i]){fragment.appendChild(document.createTextNode(text[i]));}else{var term='';while(toHighlight[i]){term+=text[i];i++;}
i--;var mark=document.createElement('mark');mark.textContent=term;fragment.appendChild(mark);}}
return fragment;},escapeHTML:function ut_escapeHTML(str,escapeQuotes){var span=document.createElement('span');span.textContent=str;span.innerHTML=span.innerHTML.replace(/\s/g,'&nbsp;');if(escapeQuotes){return span.innerHTML.replace(/"/g,'&quot;').replace(/'/g,'&#x27;');}
return span.innerHTML;},importElements:function importElements(context){var ids=[].slice.call(arguments,1);ids.forEach(function(id){context[StringHelper.camelCase(id)]=document.getElementById(id);});}};;'use strict';(function(exports){const MIN_SEGMENT_SIGNIFICANT_LENGTH=6;function SearchDedupe(){}
SearchDedupe.prototype={exactResults:{},fuzzyResults:{},dedupeNullList:['mobile','touch'],reduce:function(results,strategy){var validResults=[];var exactDedupeIdCache=[];var fuzzyDedupeIdCache=[];results.forEach(function eachResult(result){var found=false;var dedupeId=result.dedupeId.toLowerCase();var host;try{host=new URL(dedupeId).host;}catch(e){host=dedupeId;}
var fuzzyDedupeIds=[host,dedupeId];var hostParts=host.split('.');for(var i in hostParts){var part=hostParts[i];if(part.length>MIN_SEGMENT_SIGNIFICANT_LENGTH&&this.dedupeNullList.indexOf(part)===-1){fuzzyDedupeIds.push(part);}}
if(strategy=='exact'){dedupeId=dedupeId.replace(/(\?.*)/g,'');if(this.exactResults[dedupeId]){found=true;}}else{fuzzyDedupeIds.forEach(function eachFuzzy(eachId){for(var i in this.fuzzyResults){if(i.indexOf(eachId)!==-1){found=true;}}},this);}
exactDedupeIdCache.push(dedupeId);fuzzyDedupeIdCache=fuzzyDedupeIdCache.concat(fuzzyDedupeIds);if(!found){validResults.push(result);}},this);exactDedupeIdCache.forEach(function eachFuzzy(eachId){this.exactResults[eachId]=true;},this);fuzzyDedupeIdCache.forEach(function eachFuzzy(eachId){this.fuzzyResults[eachId]=true;},this);return validResults;},reset:function(){this.exactResults={};this.fuzzyResults={};}};exports.SearchDedupe=SearchDedupe;}(window));;;(function(exports){'use strict';var DB_NAME='places_idb_store';var DB_VERSION=3;var PLACES_STORE='places';var VISITS_STORE='visits';function PlacesIdbStore(){}
PlacesIdbStore.prototype={db:null,latestRevision:null,init:function(){var self=this;return new Promise(function(resolve,reject){var req=window.indexedDB.open(DB_NAME,DB_VERSION);req.onupgradeneeded=self.upgradeSchema;req.onsuccess=function(e){self.db=e.target.result;asyncStorage.getItem('latest-revision',function(value){self.latestRevision=value||0;resolve();});};});},upgradeSchema:function(e){var db=e.target.result;var fromVersion=e.oldVersion;if(fromVersion<1){var places=db.createObjectStore(PLACES_STORE,{keyPath:'url'});places.createIndex('frecency','frecency',{unique:false});places.createIndex('visited','visited',{unique:false});}
if(fromVersion<2){asyncStorage.removeItem('latest-revision');var visits=db.createObjectStore(VISITS_STORE,{keyPath:'date'});visits.createIndex('date','date',{unique:true});}
if(fromVersion<3){var oStore=e.target.transaction.objectStore(VISITS_STORE);oStore.createIndex('url','url',{unique:false});}},add:function(id,data,rev){return new Promise((resolve,reject)=>{var txn=this.db.transaction([PLACES_STORE,VISITS_STORE],'readwrite');if(data.visits&&data.visits.length===0){this._removeUrl(id).then(this.saveAndResolve(rev,resolve));}else{txn.objectStore(PLACES_STORE).put(data);if(!data.visits){data.visits=Number.isFinite(data.visited)?[data.visited]:[];}
var visitsStore=txn.objectStore(VISITS_STORE);data.visits.filter(Number.isFinite).forEach(function(date){visitsStore.put({date:date,url:data.url,title:data.title,icons:data.icons});});txn.oncomplete=this.saveAndResolve(rev,resolve);}});},addPlace:function(place){return new Promise((resolve,reject)=>{var txn=this.db.transaction([PLACES_STORE],'readwrite');txn.objectStore(PLACES_STORE).put(place);txn.oncomplete=resolve;});},remove:function(id,rev){return new Promise((resolve,reject)=>{this._removeUrl(id).then(this.saveAndResolve(rev,resolve));});},_removeUrl:function(id){return Promise.all([new Promise((resolve,reject)=>{var txn=this.db.transaction([PLACES_STORE],'readwrite');txn.objectStore(PLACES_STORE).delete(id);txn.oncomplete=resolve;}),new Promise((resolve,reject)=>{var txn=this.db.transaction([VISITS_STORE],'readwrite');var visitsStore=txn.objectStore(VISITS_STORE);var urlIndex=visitsStore.index('url');var req=urlIndex.openCursor(IDBKeyRange.only(id));req.onsuccess=function(){var cursor=req.result;if(cursor){visitsStore.delete(cursor.primaryKey);cursor.continue();}else{resolve();}};})]);},clear:function(rev){return new Promise((resolve,reject)=>{var txn=this.db.transaction([PLACES_STORE,VISITS_STORE],'readwrite');txn.objectStore(PLACES_STORE).clear();txn.objectStore(VISITS_STORE).clear();txn.oncomplete=this.saveAndResolve(rev,resolve);});},saveAndResolve:function(rev,resolve){return function(){asyncStorage.setItem('latest-revision',rev);resolve();};},readStore:function(store,index,limit,done,filter){var results=[];var txn=this.db.transaction(store,'readonly');var oStore=txn.objectStore(store);oStore.index(index).openCursor(null,'prev').onsuccess=function(event){var cursor=event.target.result;if(cursor){if(!filter||filter(cursor.value)){results.push(cursor.value);}
if(results.length<limit){cursor.continue();}}};txn.oncomplete=function(){done(results);};},read:function(index,limit,done,filter){this.readStore(PLACES_STORE,index,limit,done,filter);},readVisits:function(limit,done,filter){this.readStore(VISITS_STORE,'date',limit,done,filter);}};exports.PlacesIdbStore=PlacesIdbStore;})(window);;;(function syncStore(exports){'use strict';function onChange(evt){var self=this;doSync(this).then(function(){if(typeof self.onChangeFN==='function'){self.onChangeFN(self,evt);}},error=>console.error('DataStore sync '+self.STORE_NAME+': '+error));}
function ensureDS(SDS){if(SDS.store!==null){return Promise.resolve(SDS);}
return new Promise(function(resolve,reject){navigator.getDataStores(SDS.STORE_NAME).then(function(stores){if(!Array.isArray(stores)||stores.length<1){reject('Could not find store '+SDS.STORE_NAME);return;}
SDS.store=stores[0];SDS.store.addEventListener('change',onChange.bind(SDS));resolve(SDS);});});}
function doSync(SDS) {
var prior = SDS.syncQueue || Promise.resolve();
var next = prior.then(function() {
if (!SDS.store) throw new Error('Store not initialised');
SDS.syncInProgress = true;
var cursor = SDS.store.sync(SDS.lastRevision);
function step() { return cursor.next().then(function(task) {
var result;
switch (task.operation) {
case 'add': case 'update':
if (task.data && SDS.keyField in task.data && !SDS.filterFN(task.data))
result = SDS.persistStore.add(task.data[SDS.keyField], task.data, task.revisionId);
break;
case 'clear': result = SDS.persistStore.clear(task.revisionId); break;
case 'remove': result = SDS.persistStore.remove(task.id, task.revisionId); break;
case 'done': SDS.lastRevision = task.revisionId; return;
}
return Promise.resolve(result).then(step);
}); }
return step().then(function(){SDS.syncInProgress=false;},function(e){SDS.syncInProgress=false;cursor.close();throw e;});
});
SDS.syncQueue = next.catch(function(){});
return next;
}
function SyncDataStore(name,persist,key){this.STORE_NAME=name;this.store=null;this.synced=false;this.lastRevision=0;this.keyField=key||'id';this.onChangeFN=null;this.syncInProgress=false;this.persistStore=persist;this.filterFN=function(){return false;};}
SyncDataStore.prototype={sync:function(revisionId){this.lastRevision=revisionId||this.lastRevision;return ensureDS(this).then(doSync);},set onChange(onChange){this.onChangeFN=onChange.bind(this);},set filter(fn){this.filterFN=fn;}};function InMemoryStore(){this.results={};}
InMemoryStore.prototype={add:function(id,data){this.results[id]=data;},update:function(id,data){this.results[id]=data;},clear:function(){this.results={};},remove:function(id){delete this.results[id];}};exports.SyncDataStore=SyncDataStore;exports.InMemoryStore=InMemoryStore;})(window);;;'use strict';(function IconsHelper(exports){const ICON_CACHE_PERIOD=24*60*60*1000;const FETCH_XHR_TIMEOUT=10000;const DEBUG=false;var dataStore=null;function getDefaultIconSize(){var dpr=window.devicePixelRatio;return(dpr&&dpr>1)?142:84;}
function sizeIsNearer(size1,size2,targetSize){var delta1=Math.abs(targetSize-size1);var delta2=Math.abs(targetSize-size2);return(delta1<=delta2);}
function getIcon(uri,iconTargetSize,placeObj={},siteObj={}){var iconUrl=null;iconTargetSize=iconTargetSize*window.devicePixelRatio;if(siteObj.webManifestUrl&&siteObj.webManifest){iconUrl=getBestIconFromWebManifest(siteObj.webManifest,iconTargetSize);if(DEBUG&&iconUrl){console.log('Icon from Web Manifest');}}
if(!iconUrl&&siteObj.manifest&&siteObj.manifest.icons){iconUrl=getBestIconFromWebManifest({icons:_convertToWebManifestIcons(siteObj.manifest,siteObj.origin||siteObj.manifest.origin)},iconTargetSize);if(DEBUG&&iconUrl){console.log('Icon from Firefox App Manifest');}}
if(!iconUrl&&placeObj&&placeObj.icons){iconUrl=getBestIconFromMetaTags(placeObj.icons,iconTargetSize);if(DEBUG&&iconUrl){console.log('Icon from Meta tags');}}
if(!iconUrl){var a=document.createElement('a');a.href=uri;iconUrl=a.origin+'/favicon.ico';if(iconTargetSize){iconUrl+='#-moz-resolution='+iconTargetSize+','+iconTargetSize;}
DEBUG&&console.log('Icon from favicon.ico');}
return new Promise(resolve=>{resolve(iconUrl);});}
function getIconBlob(uri,iconTargetSize,placeObj={},siteObj={}){return new Promise((resolve,reject)=>{getIcon(uri,iconTargetSize,placeObj,siteObj).then(iconUrl=>{getStore().then(iconStore=>{iconStore.get(iconUrl).then(iconObj=>{if(!iconObj||!iconObj.timestamp||Date.now()-iconObj.timestamp>=ICON_CACHE_PERIOD){return fetchIconBlob(iconUrl).then(iconBlob=>{var img=document.createElement('img');var icon=new Icon(img,uri);icon.renderBlob(iconBlob,{size:iconTargetSize,onLoad:function(blob){var iconObj={blob:blob,originalUrl:iconUrl.toString(),timestamp:Date.now()};resolve(iconObj);iconStore.add(iconObj,iconUrl);},onerror:function(e){reject(`Failed to fetch icon ${iconUrl}`);}});}).catch(err=>{reject(`Failed to fetch icon ${iconUrl}: ${err}`);});}
return resolve(iconObj);}).catch(err=>{reject(`Failed to get icon from dataStore: ${err}`);});}).catch(err=>{reject(`Error opening the dataStore: ${err}`);});});});}
function setElementIcon(icon,targetSize){return getIconBlob(icon.bookmark.url,targetSize,icon.bookmark,icon.bookmark).then(iconObj=>{if(iconObj.blob){icon.icon=iconObj.blob;return Promise.resolve();}else if(icon.bookmark.icon){return fetchIconBlob(icon.bookmark.icon).then(iconBlob=>{icon.icon=iconBlob;return Promise.resolve();},Promise.reject.bind(Promise));}
return Promise.reject('No icon data found');},Promise.reject.bind(Promise));}
function getBestIconFromWebManifest(webManifest,iconSize){var icons=webManifest.icons;if(!icons){return null;}
var maxSize=10000;var bestSize=maxSize;var iconURL=null;iconSize=iconSize||getDefaultIconSize();icons.forEach((potentialIcon)=>{if(!iconURL){iconURL=potentialIcon.src;}
var sizes=Array.from(potentialIcon.sizes);var nearestSize=getNearestSize(sizes,iconSize,bestSize);if(nearestSize!==bestSize&&sizeIsNearer(nearestSize,bestSize,iconSize)){iconURL=potentialIcon.src;bestSize=nearestSize;}});return iconURL?iconURL:null;}
function _convertToWebManifestIcons(manifest,origin){return Object.keys(manifest.icons).map(function(size){var url=manifest.icons[size];var sizes=[size+'x'+size];url=url.indexOf('http')>-1?url:origin+url;return{src:new URL(url),sizes:sizes};});}
function getBestIconFromMetaTags(icons,iconSize){if(!icons){return null;}
iconSize=iconSize||getDefaultIconSize();var iconURL=null;var bestSize=10000;Object.keys(icons).forEach((uri)=>{var potentialIcon=icons[uri];if(!iconURL){iconURL=uri;}
var sizes=Array.from(potentialIcon.sizes);var nearestSize=getNearestSize(sizes,iconSize,bestSize);if(nearestSize!==bestSize&&sizeIsNearer(nearestSize,bestSize,iconSize)){iconURL=uri;bestSize=nearestSize;}
if(potentialIcon.rel==='apple-touch-icon'||potentialIcon.rel==='apple-touch-icon-precomposed'){var moreInfoUrl='https://developer.mozilla.org/en-US/'+'Apps/Build/Icon_implementation_for_apps#General_icons_for_web_apps';console.warn('Warning: The apple-touch icons are being used '+'as a fallback only. They will be deprecated in '+'the future. See '+moreInfoUrl);}});return iconURL||null;}
function getNearestSize(sizes,iconSize,bestSize){var bogusSize=10000;if(!bestSize){bestSize=bogusSize;}
var nearestSize=sizes.reduce(function(nearestSize,sizeString,idx){var size=widthFromSizeString(sizeString);if(isNaN(size)){return nearestSize;}
if(sizeIsNearer(size,nearestSize,iconSize)){return size;}else{return nearestSize;}},bestSize);return nearestSize===bogusSize?-1:nearestSize;}
function widthFromSizeString(size){size=size||'';var xIndex=size.indexOf('x');if(!xIndex){return NaN;}
return parseInt(size.substr(0,xIndex));}
function getStore(){return new Promise(resolve=>{if(dataStore){return resolve(dataStore);}
navigator.getDataStores('icons').then(stores=>{dataStore=stores[0];return resolve(dataStore);});});}
function clear(){return getStore().then(iconStore=>{iconStore.clear();});}
function fetchIcon(iconUrl){return new Promise((resolve,reject)=>{fetchIconBlob(iconUrl).then((iconBlob)=>{var img=document.createElement('img');img.src=URL.createObjectURL(iconBlob);img.onload=()=>{var iconSize=Math.max(img.naturalWidth,img.naturalHeight);resolve({blob:iconBlob,url:iconUrl,size:iconSize,timestamp:Date.now()});};img.onerror=()=>{reject(new Error(`Error while loading image.`));};}).catch((e)=>{reject(new Error(`Error while loading image: ${e}`));});});}
function fetchIconBlob(iconUrl){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest({mozAnon:true,mozSystem:true});xhr.open('GET',iconUrl,true);xhr.responseType='blob';xhr.timeout=FETCH_XHR_TIMEOUT;xhr.send();xhr.onload=()=>{if(xhr.readyState===XMLHttpRequest.DONE&&xhr.status===200){var iconBlob=xhr.response;resolve(iconBlob);return;}
reject(new Error(`Got HTTP status ${xhr.status} trying to load ${iconUrl}.`));};xhr.onerror=xhr.ontimeout=()=>{reject(new Error(`Error while getting ${iconUrl}.`));};});}
exports.IconsHelper={getIcon:getIcon,getIconBlob:getIconBlob,setElementIcon:setElementIcon,getBestIconFromWebManifest:getBestIconFromWebManifest,getBestIconFromMetaTags:getBestIconFromMetaTags,fetchIcon:fetchIcon,fetchIconBlob:fetchIconBlob,get defaultIconSize(){return getDefaultIconSize();},clear:clear,getNearestSize:getNearestSize,};})(window);;'use strict';(function(exports){function MetricsHelper(){this._portMetrics=null;this._initialized=false;}
MetricsHelper.prototype={init:function(){var self=this;navigator.mozApps.getSelf().onsuccess=function(){var app=this.result;app.connect('app-metrics').then(function onConnAccepted(ports){if(ports.length>0){self._portMetrics=ports[0];self._initialized=true;}},function onConnectionRejected(reason){console.log('Error connecting: '+reason+'\n');});};},report:function(action,data){if(this._initialized){this._portMetrics.postMessage({'action':action,'data':data});}}};exports.MetricsHelper=MetricsHelper;})(window);;'use strict';(function(exports){function Contextmenu(){this.menu=document.getElementById('contextmenu');this.grid=document.getElementById('icons');this.bookmarkButton=this.menu.querySelector('#add-to-homescreen');this.grid.addEventListener('contextmenu',this);this.bookmarkButton.addEventListener('click',this);}
Contextmenu.prototype={icon:null,handleEvent:function(e){switch(e.type){case'contextmenu':var identifier=e.target.dataset.identifier;var icon=this.grid.getIcon(identifier);if(!icon||icon.detail.type!=='bookmark'){return;}
var url=icon.detail.url;if(Bookmarks.get(url)){return;}
e.target.setAttribute('contextmenu','contextmenu');this.grid.stop();setTimeout(()=>{e.target.removeAttribute('contextmenu');this.grid.start();});this.icon=icon;break;case'click':var iconUrl=this.icon.detail.iconUrl||this.icon.icon;new MozActivity({name:'save-bookmark',data:{type:'url',url:this.icon.detail.url,name:this.icon.name,icon:iconUrl}});break;}}};exports.Contextmenu=Contextmenu;}(window));;(function(){'use strict';var SEARCH_DELAY=500;var MAX_GRID_SIZE=4;window.Search={_port:null,providers:{},gridCount:0,searchResults:document.getElementById('search-results'),offlineMessage:document.getElementById('offline-message'),suggestionsWrapper:document.getElementById('suggestions-wrapper'),grid:document.getElementById('icons'),gridWrapper:document.getElementById('icons-wrapper'),suggestionsEnabled:false,suggestionNotice:document.getElementById('suggestions-notice-wrapper'),get settingsLink(){return document.getElementById('settings-link');},toShowNotice:null,NOTICE_KEY:'notice-shown',init:function(){this.dedupe=new SearchDedupe();this.metrics=new MetricsHelper();this.metrics.init();var self=this;navigator.mozApps.getSelf().onsuccess=function(){var app=this.result;app.connect('search-results').then(function onConnAccepted(ports){ports.forEach(function(port){self._port=port;});setConnectionHandler();},function onConnectionRejected(reason){console.log('Error connecting: '+reason+'\n');});};function setConnectionHandler(){navigator.mozSetMessageHandler('connection',function(connectionRequest){var keyword=connectionRequest.keyword;var port=connectionRequest.port;if(keyword==='search'){port.onmessage=self.dispatchMessage.bind(self);port.start();}});initializeProviders();}
function initializeProviders(){for(var i in self.providers){self.providers[i].init(self);}}
var enabledKey='search.suggestions.enabled';SettingsListener.observe(enabledKey,true,function(enabled){this.suggestionsEnabled=enabled;}.bind(this));this.initNotice();this.initConnectivityCheck();this.contextmenu=new Contextmenu();window.addEventListener('resize',this.resize);window.addEventListener('scroll',this.onScroll);navigator.mozSetMessageHandler('activity',this.handleActivityEvents.bind(this));},resize:function(){if(this.grid&&this.grid.render){this.grid.render({rerender:true,skipDivider:true});}},onScroll:function(){window.focus();},provider:function(provider){if(!(provider.name in this.providers)){this.providers[provider.name]=provider;}},dispatchMessage:function(msg){if(typeof this[msg.data.action]==='function'){this[msg.data.action](msg);}},change:function(msg){clearTimeout(this.changeTimeout);this.showSearchResults();var input=msg.data.input;var providers=this.providers;this.changeTimeout=setTimeout(()=>{this.clear();this.dedupe.reset();Object.keys(providers).forEach((providerKey)=>{var provider=providers[providerKey];var preventRemoteFetch=UrlHelper.isURL(input)||msg.data.isPrivateBrowser||!this.suggestionsEnabled;if(provider.remote&&preventRemoteFetch){return;}
if(provider.name==='Suggestions'){var toShow=input.length>2&&this.toShowNotice&&this.suggestionsEnabled&&this.suggestionNotice.hidden&&navigator.onLine;if(toShow){this.suggestionNotice.hidden=false;}}
provider.search(input,preventRemoteFetch).then((results)=>{this.collect(provider,results);},error=>{if(error)console.warn('Search provider '+provider.name+': '+error);});});},SEARCH_DELAY);},initNotice:function(){var confirm=document.getElementById('suggestions-notice-confirm');confirm.addEventListener('click',this.discardNotice.bind(this,true));var settingsLink=this.settingsLink;if(settingsLink){settingsLink.addEventListener('click',this.openSettings.bind(this));}
asyncStorage.getItem(this.NOTICE_KEY,function(value){if(this.toShowNotice===null){this.toShowNotice=!value;}}.bind(this));},openSettings:function(){this.discardNotice();new MozActivity({name:'configure',data:{target:'device',section:'search'}});},discardNotice:function(focus){this.suggestionNotice.hidden=true;this.toShowNotice=false;asyncStorage.setItem(this.NOTICE_KEY,true);if(focus){this._port.postMessage({'action':'focus'});}},expandSearch:function(query){this.clear();this.providers.WebResults.fullscreen(query);},collect:function(provider,results){if(provider.dedupes){results=this.dedupe.reduce(results,provider.dedupeStrategy);}
if(provider.isGridProvider&&(results.length+this.gridCount)>MAX_GRID_SIZE){var spaces=MAX_GRID_SIZE-this.gridCount;if(spaces<1){this.abort();return;}
results.splice(spaces,(results.length-spaces));}
if(provider.isGridProvider){this.gridCount+=results.length;}
this.gridWrapper.classList.toggle('hidden',!this.gridCount);provider.render(results);},handleActivityEvents:function(activity){var activityName=activity.source.name;if(activityName==='search'){this.submit({data:{input:activity.source.data.keyword}});}},submit:function(msg){this.discardNotice();var input=msg.data.input;if(UrlHelper.isNotURL(input)){this.metrics.report('websearch',SearchProvider('title'));var url=SearchProvider('searchUrl').replace('{searchTerms}',encodeURIComponent(input));this.navigate(url);return;}
var hasScheme=UrlHelper.hasScheme(input);if(!hasScheme){input='http://'+input;}
this.navigate(input);},clear:function(msg){this.abort();for(var i in this.providers){this.providers[i].clear();}
this.gridCount=0;this.suggestionNotice.hidden=true;},showSearchResults:function(){if(this.searchResults){this.searchResults.classList.remove('hidden');}},abort:function(){clearTimeout(this.changeTimeout);for(var i in this.providers){this.providers[i].abort();}},close:function(){this.abort();this._port.postMessage({'action':'hide'});},navigate:function(url){new MozActivity({name:'view',data:{type:'url',url:url}});},setInput:function(input){this._port.postMessage({'action':'input','input':input});this.expandSearch(input);},initConnectivityCheck:function(){var self=this;function onConnectivityChange(){if(navigator.onLine){self.searchResults.classList.remove('offline');}else{self.searchResults.classList.add('offline');}}
this.offlineMessage.addEventListener('click',function(){var activity=new window.MozActivity({name:'configure',data:{target:'device',section:'root',filterBy:'connectivity'}});activity.onsuccess=function(){};});window.addEventListener('offline',onConnectivityChange);window.addEventListener('online',onConnectivityChange);onConnectivityChange();}};window.addEventListener('load',Search.init.bind(Search));})();;;'use strict';function Provider(){}
Provider.prototype={name:'Provider',dedupes:false,init:function(searchObj){this.searchObj=searchObj;this.container=document.getElementById(this.name.toLowerCase());this.container.addEventListener('click',this.click.bind(this));},clear:function(){this.container.innerHTML='';},click:function(){},abort:function(){if(this.request&&this.request.abort){this.request.abort();}},updateIcon:function(config,iconWrapper){var iconDom=iconWrapper.querySelector('img');IconsHelper.getIcon(config.dataset.url,null,config).then((icon)=>{if(icon&&iconDom){iconDom.onload=function(){iconWrapper.classList.remove('empty');iconDom.style.display='block';};iconDom.src=icon;}});},buildResultsDom:function(results){var frag=document.createDocumentFragment();results.forEach(function(config,index){var result=document.createElement('div');var iconWrapper=document.createElement('div');var icon=document.createElement('img');var description=document.createElement('div');var title=document.createElement('span');var meta=document.createElement('small');result.classList.add('result');iconWrapper.classList.add('icon');description.classList.add('description');title.classList.add('title');meta.classList.add('meta');for(var i in config.dataset){result.dataset[i]=config.dataset[i];}
if(config.title){title.setAttribute('dir','auto');title.textContent=config.title;}else{title.setAttribute('dir','ltr');title.textContent=config.url;}
if(config.meta){meta.textContent=config.meta;if(config.description){meta.id=this.name+'-description-'+index;meta.setAttribute('aria-label',config.description);result.setAttribute('aria-describedby',meta.id);}}
icon.setAttribute('role','presentation');if(config.icon){icon.src=window.URL.createObjectURL(config.icon);}else{iconWrapper.classList.add('empty');}
result.setAttribute('role','link');result.setAttribute('aria-label',config.label||config.title);description.appendChild(title);description.appendChild(meta);iconWrapper.appendChild(icon);result.appendChild(iconWrapper);result.appendChild(description);frag.appendChild(result);if(!config.icon){this.updateIcon(config,iconWrapper);}},this);return frag;},render:function(results){var dom=this.buildResultsDom(results);this.container.appendChild(dom);if(this.header){results.length?this.header.classList.remove('hidden'):this.header.classList.add('hidden');}}};;;'use strict';function DataGridProvider(){}
DataGridProvider.prototype={__proto__:Provider.prototype,name:'DataGridProvider',isGridProvider:true,init:function(){this.grid=document.getElementById('icons');},clear:function(){this.grid.clear();},render:function(results){results.forEach(function(config,index){this.grid.add(config.data);},this);this.grid.render({skipDivider:true});}};;(function(){'use strict';const NUM_DISPLAY=4;var apiUrl=null;function Marketplace(){}
Marketplace.prototype={__proto__:DataGridProvider.prototype,name:'Marketplace',dedupes:true,dedupeStrategy:'exact',remote:true,init:function(){DataGridProvider.prototype.init.apply(this,arguments);var urlKey='search.marketplace.url';var req=navigator.mozSettings.createLock().get(urlKey);req.onsuccess=function(){if(req.result[urlKey]){apiUrl=req.result[urlKey].replace('{limit}',NUM_DISPLAY).replace('{lang}',document.documentElement.lang);}};},search:function(input){return new Promise((resolve,reject)=>{this.abort();if(!input||!apiUrl){return resolve([]);}
var req=new XMLHttpRequest();req.open('GET',apiUrl.replace('{q}',encodeURIComponent(input)),true);req.onload=(function onload(){var results=JSON.parse(req.responseText);if(!results.length){resolve([]);return;}
var length=Math.min(NUM_DISPLAY,results.length);var formatted=[];for(var i=0;i<length;i++){var app=results[i];formatted.push({dedupeId:app.manifest_url,data:new GaiaGrid.MarketPlaceApp({id:app.manifest_url,name:navigator.mozL10n.get('install-marketplace-title',{title:app.name}),icons:app.icons,slug:app.slug})});}
resolve(formatted);}).bind(this);req.onerror=function onerror(){console.log('Marketplace error.');reject();};req.ontimeout=function ontimeout(){console.log('Marketplace timeout.');reject();};req.send();this.request=req;});}};Search.provider(new Marketplace());}());;(function(){'use strict';var suggestionsWrapper=document.getElementById('suggestions-wrapper');var suggestionsProvider=document.getElementById('suggestions-provider');var suggestionsSelect=document.getElementById('suggestions-select');function providerUpdated(){navigator.mozL10n.setAttributes(suggestionsProvider,'search-header',{provider:SearchProvider('title').toUpperCase()});var providers=SearchProvider.providers();var selectFragment=document.createDocumentFragment();var optionNode=document.createElement('option');Object.keys(providers).forEach(provider=>{var option=optionNode.cloneNode();option.value=provider;option.text=providers[provider].title;if(provider===SearchProvider.selected()){option.selected=true;}
selectFragment.appendChild(option);});suggestionsSelect.innerHTML='';suggestionsSelect.appendChild(selectFragment);}
function encodeTerms(str,search){return str.replace('{searchTerms}',encodeURIComponent(search));}
function Suggestions(){}
Suggestions.prototype={__proto__:Provider.prototype,name:'Suggestions',currentSearch:null,init:function(){this.metrics=new MetricsHelper();this.metrics.init();Provider.prototype.init.apply(this,arguments);suggestionsSelect.addEventListener('change',function(e){SearchProvider.setProvider(e.target.value);});SearchProvider.ready().then(()=>{providerUpdated();SearchProvider.providerUpdated(()=>{providerUpdated();this.redoSearch();});});},redoSearch:function(){if(!this.currentSearch){return;}
this.search(this.currentSearch).then(results=>{this.render(results);});},click:function(e){this.metrics.report('websearch',SearchProvider('title'));var suggestion=e.target.dataset.suggestion;var url=encodeTerms(SearchProvider('searchUrl'),suggestion);Search.navigate(url);},search:function(input,preventRemote){this.currentSearch=preventRemote?null:input;this.render([input]);if(!navigator.onLine||preventRemote){return Promise.resolve([input]);}
suggestionsWrapper.dataset.loading=true;return SearchProvider.ready().then(()=>{return new Promise((resolve,reject)=>{var url=encodeTerms(SearchProvider('suggestUrl'),input);LazyLoader.getJSON(url,true).then(result=>{var results=result[1];results.unshift(input);resolve(results);}).catch(function(){suggestionsWrapper.dataset.loading=false;reject();});});});},render:function(items){var ul=document.createElement('ul');ul.setAttribute('role','listbox');items.forEach(function each(item){var li=document.createElement('li');li.dataset.suggestion=li.textContent=item;li.setAttribute('role','option');ul.appendChild(li);});suggestionsWrapper.dataset.loading=false;this.container.innerHTML='';if(ul.childNodes.length){this.container.appendChild(ul);}},clear:function(){Provider.prototype.clear.apply(this,arguments);this.currentSearch=null;}};Search.provider(new Suggestions());}());;(function(exports){'use strict';var STORE_NAME='bookmarks_store';function formatBookmark(bookmark){return{data:new GaiaGrid.Bookmark({id:bookmark.url,name:bookmark.name||bookmark.url,url:bookmark.url,icon:bookmark.icon})};}
function Bookmarks(){}
Bookmarks.prototype={__proto__:DataGridProvider.prototype,name:'Bookmarks',init:function(){DataGridProvider.prototype.init.apply(this,arguments);this.persistStore=new InMemoryStore();this.syncStore=new SyncDataStore(STORE_NAME,this.persistStore,'url');return this.syncStore.sync();},get:function(url){var results=this.persistStore.results;for(var idx in results){var item=results[idx];if(item.url===url){return formatBookmark(item);}}
return null;},search:function(filter){var self=this;return new Promise(function(resolve,reject){var renderResults=[];filter=filter.toLowerCase();for(var elem in self.persistStore.results){var bookmark=self.persistStore.results[elem];var name=('name'in bookmark)&&bookmark.name.toLowerCase();if((!bookmark.url||bookmark.url.indexOf(filter)==-1)&&(!name||name.indexOf(filter)==-1)){continue;}
renderResults.push(formatBookmark(bookmark));}
resolve(renderResults);});}};exports.Bookmarks=new Bookmarks();Search.provider(exports.Bookmarks);}(window));;;(function(exports){'use strict';var _=navigator.mozL10n.get;var MAX_AWESOME_RESULTS=4;var MAX_HISTORY_RESULTS=20;var MAX_TOPSITES_RESULTS=6;var STORE_NAME='places';var topSitesWrapper=document.getElementById('top-sites');var historyWrapper=document.getElementById('history');if(topSitesWrapper&&historyWrapper){topSitesWrapper.addEventListener('click',itemClicked);historyWrapper.addEventListener('click',itemClicked);}
var cachedLink=document.createElement('a');function parseUrl(url){cachedLink.href=url;return cachedLink;}
var icons={};var iconUrls={};function getIcon(place){if(place.url in icons&&icons[place.url]){return icons[place.url];}
IconsHelper.getIcon(place.url,null,place).then(icon=>{saveIcon(place.url,icon);});return false;}
function saveIcon(key,url){if(key in icons){return;}
icons[key]=null;iconUrls[key]=url;fetchIcon(url,function(err,icon){if(!err){icons[key]=icon;}});}
function fetchIcon(uri,callback){var xhr=new XMLHttpRequest({mozSystem:true});xhr.open('GET',uri,true);xhr.responseType='blob';xhr.addEventListener('load',function(){if(!(xhr.status===200||xhr.status===0)){return callback(new Error('error_downloading'));}
var blob=xhr.response;if(blob.size>this.MAX_ICON_SIZE){return callback(new Error('image_to_large'));}
var img=document.createElement('img');img.src=window.URL.createObjectURL(blob);img.onload=function(){window.URL.revokeObjectURL(img.src);if(img.naturalWidth<=0){return callback(new Error('Cannot load image'));}
callback(null,blob);};img.onerror=function(){window.URL.revokeObjectURL(img.src);return callback(new Error('Cannot load image'));};});xhr.onerror=function(err){return callback(new Error('Cannot load uri'));};xhr.send();}
function itemClicked(e){if(e.target.dataset.url){Search.navigate(e.target.dataset.url);}}
var listTemplate=createList();function createList(){var list=document.createElement('ul');list.setAttribute('role','listbox');return list;}
function incrementHistoryThreshold(timestamp,currentThreshold,thresholds){var newThreshold=currentThreshold+=1;if(timestamp<thresholds[newThreshold]){return incrementHistoryThreshold(timestamp,newThreshold,thresholds);}
return newThreshold;}
function drawHistoryHeading(parent,threshold,timestamp){var LABELS=['future','today','yesterday','last-7-days','this-month','last-6-months','older-than-6-months'];var text='';if(threshold==5&&timestamp){var date=new Date(timestamp);var now=new Date();text=_('month-'+date.getMonth());if(date.getFullYear()!=now.getFullYear()){text+=' '+date.getFullYear();}}else{text=_(LABELS[threshold]);}
var h3=document.createElement('h3');var spanNode=document.createElement('span');spanNode.textContent=text;var ul=listTemplate.cloneNode(true);h3.appendChild(spanNode);parent.appendChild(h3);parent.appendChild(ul);}
function updateIcon(visit,iconWrapper){var iconDom=iconWrapper.querySelector('img');IconsHelper.getIcon(visit.url,null,visit).then((icon)=>{if(icon&&iconDom){iconDom.onload=function(){iconWrapper.classList.remove('empty');iconDom.style.display='block';};iconDom.src=icon;}});}
function buildHistory(visits){var thresholds=[Date.now(),DateHelper.todayStarted(),DateHelper.yesterdayStarted(),DateHelper.thisWeekStarted(),DateHelper.thisMonthStarted(),DateHelper.lastSixMonthsStarted(),0];var threshold=0;var month=null;var year=null;var fragment=document.createDocumentFragment();visits.forEach(function(visit){if(visit.date>0&&visit.date<thresholds[threshold]){threshold=incrementHistoryThreshold(visit.date,threshold,thresholds);if(threshold!=5){drawHistoryHeading(fragment,threshold);}}
if(threshold===5){var timestampDate=new Date(visit.date);if(timestampDate.getMonth()!=month||timestampDate.getFullYear()!=year){month=timestampDate.getMonth();year=timestampDate.getFullYear();drawHistoryHeading(fragment,threshold,visit.date);}}
visit.meta=visit.url;visit.dataset={url:visit.url};var dom=exports.Places.buildResultsDom([visit]);var iconDom=dom.querySelector('.icon');fragment.appendChild(dom);updateIcon(visit,iconDom);});return fragment;}
function showStartPage(){if(!topSitesWrapper||!historyWrapper){return;}
var store=exports.Places.persistStore;var urls=[];store.readVisits(MAX_HISTORY_RESULTS,function(results){var docFragment=buildHistory(results);historyWrapper.innerHTML='';historyWrapper.appendChild(docFragment);},function filter(visit){var isStored=visit.url in urls;urls[visit.url]=true;return!isStored;});store.read('frecency',MAX_TOPSITES_RESULTS,function(results){var docFragment=document.createDocumentFragment();results.forEach(function(x){docFragment.appendChild(formatTopResult(x));});topSitesWrapper.innerHTML='';topSitesWrapper.appendChild(docFragment);});}
function formatTopResult(result){var div=document.createElement('div');var span=document.createElement('span');if(result.title){span.setAttribute('dir','auto');span.textContent=result.title;}else{span.setAttribute('dir','ltr');span.textContent=result.url;}
div.dataset.url=result.url;div.classList.add('top-site');div.appendChild(span);div.setAttribute('role','link');if(result.screenshot||result.tile){var img=result.screenshot||result.tile;var imgUrl=(typeof img==='string')?img:URL.createObjectURL(img);div.style.backgroundImage='url('+imgUrl+')';}
return div;}
function matchesFilter(value,filter){return!filter||(value&&value.match(new RegExp(filter,'i'))!==null);}
function formatPlace(placeObj,filter){var result={'title':placeObj.title,'meta':placeObj.url,'icon':getIcon(placeObj),'dataset':{'url':placeObj.url},'label':placeObj.title};return result;}
function Places(){}
Places.prototype={__proto__:Provider.prototype,name:'Places',click:itemClicked,init:function(){if(!topSitesWrapper||!historyWrapper){this.header=document.getElementById(this.name.toLowerCase()+'-header');this.container=document.getElementById(this.name.toLowerCase());this.container.addEventListener('click',this.click.bind(this));}
this.persistStore=new PlacesIdbStore();this.persistStore.init().then(()=>{this.syncStore=new SyncDataStore(STORE_NAME,this.persistStore,'url');this.syncStore.filter=function(place){return place.url.startsWith('app://')||place.url==='about:blank';};this.syncStore.onChange=function(){showStartPage();};var rev=this.persistStore.latestRevision||0;return this.syncStore.sync(rev).then(()=>{return new Promise(resolve=>{function done(){showStartPage();resolve();}
asyncStorage.getItem('have-preloaded-sites',(havePreloaded)=>{if(!havePreloaded){this.preloadTopSites().then(()=>{asyncStorage.setItem('have-preloaded-sites',true);done();});}else{done();}});});});});},saveSites:function(sites){return Promise.all(sites.map(site=>{site.frecency=-2;return this.persistStore.addPlace(site);}));},preloadTopSites:function(){return LazyLoader.getJSON('/js/inittopsites.json').then(sites=>{return this.saveSites(sites);});},search:function(filter){return new Promise((resolve,reject)=>{var matchedOrigins={};this.persistStore.read('frecency',MAX_AWESOME_RESULTS,(results)=>{resolve(results.map(function(result){return formatPlace(result,filter);}));},function filterFun(result){if(result.frecency<=0){return false;}
var url=parseUrl(result.url);var matches=!(url.hostname in matchedOrigins)&&(matchesFilter(result.title,filter)||matchesFilter(result.url,filter));if(matches){matchedOrigins[url.hostname]=true;}
return matches;});});}};exports.Places=new Places();Search.provider(exports.Places);}(window));;(function(){'use strict';function LocalApps(){this.apps={};this.appListing=[];this.blacklist;var mozApps=navigator.mozApps.mgmt;mozApps.oninstall=e=>{var app=e.application;var processApp=()=>{this.apps[app.manifestURL]=app;this.createAppListing();};if(app.downloading){app.ondownloadapplied=processApp;}else{processApp();}};mozApps.onuninstall=e=>{delete this.apps[e.application.manifestURL];this.createAppListing();};mozApps.getAll().onsuccess=e=>{e.target.result.forEach(app=>{this.apps[app.manifestURL]=app;});this.createBlacklist().then(()=>{this.createAppListing();});};}
LocalApps.prototype={__proto__:DataGridProvider.prototype,name:'LocalApps',dedupes:true,dedupeStrategy:'exact',createBlacklist:function(){return new Promise((resolve,reject)=>{var self=this;var key='app.launch_path.blacklist';var req=navigator.mozSettings.createLock().get(key);req.onsuccess=function onsuccess(){self.blacklist=req.result[key]||[];resolve();};});},createAppListing:function(){var appListing=[];var blacklist=this.blacklist;var manifestURLs=Object.keys(this.apps);manifestURLs.forEach(function eachManifest(manifestURL){var app=this.apps[manifestURL];var manifest=app.manifest||app.updateManifest;var HIDDEN_ROLES=['system','input','homescreen','search','theme','addon','langpack'];if(HIDDEN_ROLES.indexOf(manifest.role)!==-1){return;}
var entryPoints=manifest.entry_points;if(entryPoints){for(var i in entryPoints){var entry=entryPoints[i];entry.entryPoint=i;entry.manifestURL=app.manifestURL;appListing.push(entry);}}else{manifest.manifestURL=app.manifestURL;appListing.push(manifest);}
if(blacklist){blacklist.forEach(function(blackentry){for(var i in appListing){var app=appListing[i];if(app.launch_path===blackentry){appListing.splice(i,1);}}});}},this);this.appListing=appListing;},removeAppListing:function(app){for(var i in this.appListing){var manifest=this.appListing[i];if(manifest.manifestURL===app.manifestURL){this.appListing.splice(i,1);}}},search:function(input){return new Promise((resolve,reject)=>{var results=this.find(input);var formatted=[];results.forEach(function eachResult(result){formatted.push({dedupeId:result.app.manifestURL,data:new GaiaGrid.Mozapp(result.app,result.entryPoint)});},this);resolve(formatted);});},matches:function(manifest,query){query=query.toLowerCase();var shortName=manifest.short_name||'';var userLang=document.documentElement.lang;var locales=manifest.locales;var localized=locales&&locales[userLang]&&locales[userLang].name;localized=localized||'';return shortName.toLowerCase().indexOf(query)!=-1||manifest.name.toLowerCase().indexOf(query)!=-1||localized.toLowerCase().indexOf(query)!=-1;},find:function(query){var results=[];this.appListing.forEach(function(manifest){if(this.matches(manifest,query)){results.push({app:this.apps[manifest.manifestURL],entryPoint:manifest.entryPoint});}},this);return results;}};Search.provider(new LocalApps());}());

View file

@ -0,0 +1,391 @@
;(function(window,undefined){'use strict';function L10nError(message,id,loc){this.name='L10nError';this.message=message;this.id=id;this.loc=loc;}
L10nError.prototype=Object.create(Error.prototype);L10nError.prototype.constructor=L10nError;var io={_load:function(type,url,callback,sync){var xhr=new XMLHttpRequest();var needParse;if(xhr.overrideMimeType){xhr.overrideMimeType(type);}
xhr.open('GET',url,!sync);if(type==='application/json'){if(sync){needParse=true;}else{xhr.responseType='json';}}
xhr.addEventListener('load',function io_onload(e){if(e.target.status===200||e.target.status===0){var res=e.target.response||e.target.responseText;callback(null,needParse?JSON.parse(res):res);}else{callback(new L10nError('Not found: '+url));}});xhr.addEventListener('error',callback);xhr.addEventListener('timeout',callback);try{xhr.send(null);}catch(e){if(e.name==='NS_ERROR_FILE_NOT_FOUND'){callback(new L10nError('Not found: '+url));}else{throw e;}}},load:function(url,callback,sync){return io._load('text/plain',url,callback,sync);},loadJSON:function(url,callback,sync){return io._load('application/json',url,callback,sync);}};function EventEmitter(){}
EventEmitter.prototype.emit=function ee_emit(){if(!this._listeners){return;}
var args=Array.prototype.slice.call(arguments);var type=args.shift();if(!this._listeners[type]){return;}
var typeListeners=this._listeners[type].slice();for(var i=0;i<typeListeners.length;i++){typeListeners[i].apply(this,args);}};EventEmitter.prototype.addEventListener=function ee_add(type,listener){if(!this._listeners){this._listeners={};}
if(!(type in this._listeners)){this._listeners[type]=[];}
this._listeners[type].push(listener);};EventEmitter.prototype.removeEventListener=function ee_rm(type,listener){if(!this._listeners){return;}
var typeListeners=this._listeners[type];var pos=typeListeners.indexOf(listener);if(pos===-1){return;}
typeListeners.splice(pos,1);};function getPluralRule(lang){var locales2rules={'af':3,'ak':4,'am':4,'ar':1,'asa':3,'az':0,'be':11,'bem':3,'bez':3,'bg':3,'bh':4,'bm':0,'bn':3,'bo':0,'br':20,'brx':3,'bs':11,'ca':3,'cgg':3,'chr':3,'cs':12,'cy':17,'da':3,'de':3,'dv':3,'dz':0,'ee':3,'el':3,'en':3,'eo':3,'es':3,'et':3,'eu':3,'fa':0,'ff':5,'fi':3,'fil':4,'fo':3,'fr':5,'fur':3,'fy':3,'ga':8,'gd':24,'gl':3,'gsw':3,'gu':3,'guw':4,'gv':23,'ha':3,'haw':3,'he':2,'hi':4,'hr':11,'hu':0,'id':0,'ig':0,'ii':0,'is':3,'it':3,'iu':7,'ja':0,'jmc':3,'jv':0,'ka':0,'kab':5,'kaj':3,'kcg':3,'kde':0,'kea':0,'kk':3,'kl':3,'km':0,'kn':0,'ko':0,'ksb':3,'ksh':21,'ku':3,'kw':7,'lag':18,'lb':3,'lg':3,'ln':4,'lo':0,'lt':10,'lv':6,'mas':3,'mg':4,'mk':16,'ml':3,'mn':3,'mo':9,'mr':3,'ms':0,'mt':15,'my':0,'nah':3,'naq':7,'nb':3,'nd':3,'ne':3,'nl':3,'nn':3,'no':3,'nr':3,'nso':4,'ny':3,'nyn':3,'om':3,'or':3,'pa':3,'pap':3,'pl':13,'ps':3,'pt':3,'rm':3,'ro':9,'rof':3,'ru':11,'rwk':3,'sah':0,'saq':3,'se':7,'seh':3,'ses':0,'sg':0,'sh':11,'shi':19,'sk':12,'sl':14,'sma':7,'smi':7,'smj':7,'smn':7,'sms':7,'sn':3,'so':3,'sq':3,'sr':11,'ss':3,'ssy':3,'st':3,'sv':3,'sw':3,'syr':3,'ta':3,'te':3,'teo':3,'th':0,'ti':4,'tig':3,'tk':3,'tl':4,'tn':3,'to':0,'tr':0,'ts':3,'tzm':22,'uk':11,'ur':3,'ve':3,'vi':0,'vun':3,'wa':4,'wae':3,'wo':0,'xh':3,'xog':3,'yo':0,'zh':0,'zu':3};function isIn(n,list){return list.indexOf(n)!==-1;}
function isBetween(n,start,end){return typeof n===typeof start&&start<=n&&n<=end;}
var pluralRules={'0':function(){return'other';},'1':function(n){if((isBetween((n%100),3,10))){return'few';}
if(n===0){return'zero';}
if((isBetween((n%100),11,99))){return'many';}
if(n===2){return'two';}
if(n===1){return'one';}
return'other';},'2':function(n){if(n!==0&&(n%10)===0){return'many';}
if(n===2){return'two';}
if(n===1){return'one';}
return'other';},'3':function(n){if(n===1){return'one';}
return'other';},'4':function(n){if((isBetween(n,0,1))){return'one';}
return'other';},'5':function(n){if((isBetween(n,0,2))&&n!==2){return'one';}
return'other';},'6':function(n){if(n===0){return'zero';}
if((n%10)===1&&(n%100)!==11){return'one';}
return'other';},'7':function(n){if(n===2){return'two';}
if(n===1){return'one';}
return'other';},'8':function(n){if((isBetween(n,3,6))){return'few';}
if((isBetween(n,7,10))){return'many';}
if(n===2){return'two';}
if(n===1){return'one';}
return'other';},'9':function(n){if(n===0||n!==1&&(isBetween((n%100),1,19))){return'few';}
if(n===1){return'one';}
return'other';},'10':function(n){if((isBetween((n%10),2,9))&&!(isBetween((n%100),11,19))){return'few';}
if((n%10)===1&&!(isBetween((n%100),11,19))){return'one';}
return'other';},'11':function(n){if((isBetween((n%10),2,4))&&!(isBetween((n%100),12,14))){return'few';}
if((n%10)===0||(isBetween((n%10),5,9))||(isBetween((n%100),11,14))){return'many';}
if((n%10)===1&&(n%100)!==11){return'one';}
return'other';},'12':function(n){if((isBetween(n,2,4))){return'few';}
if(n===1){return'one';}
return'other';},'13':function(n){if((isBetween((n%10),2,4))&&!(isBetween((n%100),12,14))){return'few';}
if(n!==1&&(isBetween((n%10),0,1))||(isBetween((n%10),5,9))||(isBetween((n%100),12,14))){return'many';}
if(n===1){return'one';}
return'other';},'14':function(n){if((isBetween((n%100),3,4))){return'few';}
if((n%100)===2){return'two';}
if((n%100)===1){return'one';}
return'other';},'15':function(n){if(n===0||(isBetween((n%100),2,10))){return'few';}
if((isBetween((n%100),11,19))){return'many';}
if(n===1){return'one';}
return'other';},'16':function(n){if((n%10)===1&&n!==11){return'one';}
return'other';},'17':function(n){if(n===3){return'few';}
if(n===0){return'zero';}
if(n===6){return'many';}
if(n===2){return'two';}
if(n===1){return'one';}
return'other';},'18':function(n){if(n===0){return'zero';}
if((isBetween(n,0,2))&&n!==0&&n!==2){return'one';}
return'other';},'19':function(n){if((isBetween(n,2,10))){return'few';}
if((isBetween(n,0,1))){return'one';}
return'other';},'20':function(n){if((isBetween((n%10),3,4)||((n%10)===9))&&!(isBetween((n%100),10,19)||isBetween((n%100),70,79)||isBetween((n%100),90,99))){return'few';}
if((n%1000000)===0&&n!==0){return'many';}
if((n%10)===2&&!isIn((n%100),[12,72,92])){return'two';}
if((n%10)===1&&!isIn((n%100),[11,71,91])){return'one';}
return'other';},'21':function(n){if(n===0){return'zero';}
if(n===1){return'one';}
return'other';},'22':function(n){if((isBetween(n,0,1))||(isBetween(n,11,99))){return'one';}
return'other';},'23':function(n){if((isBetween((n%10),1,2))||(n%20)===0){return'one';}
return'other';},'24':function(n){if((isBetween(n,3,10)||isBetween(n,13,19))){return'few';}
if(isIn(n,[2,12])){return'two';}
if(isIn(n,[1,11])){return'one';}
return'other';}};var index=locales2rules[lang.replace(/-.*$/,'')];if(!(index in pluralRules)){return function(){return'other';};}
return pluralRules[index];}
var MAX_PLACEABLES=100;var PropertiesParser={patterns:null,entryIds:null,init:function(){this.patterns={comment:/^\s*#|^\s*$/,entity:/^([^=\s]+)\s*=\s*(.*)$/,multiline:/[^\\]\\$/,index:/\{\[\s*(\w+)(?:\(([^\)]*)\))?\s*\]\}/i,unicode:/\\u([0-9a-fA-F]{1,4})/g,entries:/[^\r\n]+/g,controlChars:/\\([\\\n\r\t\b\f\{\}\"\'])/g,placeables:/\{\{\s*([^\s]*?)\s*\}\}/,};},parse:function(ctx,source){if(!this.patterns){this.init();}
var ast=[];this.entryIds=Object.create(null);var entries=source.match(this.patterns.entries);if(!entries){return ast;}
for(var i=0;i<entries.length;i++){var line=entries[i];if(this.patterns.comment.test(line)){continue;}
while(this.patterns.multiline.test(line)&&i<entries.length){line=line.slice(0,-1)+entries[++i].trim();}
var entityMatch=line.match(this.patterns.entity);if(entityMatch){try{this.parseEntity(entityMatch[1],entityMatch[2],ast);}catch(e){if(ctx){ctx._emitter.emit('parseerror',e);}else{throw e;}}}}
return ast;},parseEntity:function(id,value,ast){var name,key;var pos=id.indexOf('[');if(pos!==-1){name=id.substr(0,pos);key=id.substring(pos+1,id.length-1);}else{name=id;key=null;}
var nameElements=name.split('.');if(nameElements.length>2){throw new L10nError('Error in ID: "'+name+'".'+' Nested attributes are not supported.');}
var attr;if(nameElements.length>1){name=nameElements[0];attr=nameElements[1];if(attr[0]==='$'){throw new L10nError('Attribute can\'t start with "$"',id);}}else{attr=null;}
this.setEntityValue(name,attr,key,this.unescapeString(value),ast);},setEntityValue:function(id,attr,key,rawValue,ast){var pos,v;var value=rawValue.indexOf('{{')>-1?this.parseString(rawValue):rawValue;if(attr){pos=this.entryIds[id];if(pos===undefined){v={$i:id};if(key){v[attr]={};v[attr][key]=value;}else{v[attr]=value;}
ast.push(v);this.entryIds[id]=ast.length-1;return;}
if(key){if(typeof(ast[pos][attr])==='string'){ast[pos][attr]={$x:this.parseIndex(ast[pos][attr]),$v:{}};}
ast[pos][attr].$v[key]=value;return;}
ast[pos][attr]=value;return;}
if(key){pos=this.entryIds[id];if(pos===undefined){v={};v[key]=value;ast.push({$i:id,$v:v});this.entryIds[id]=ast.length-1;return;}
if(typeof(ast[pos].$v)==='string'){ast[pos].$x=this.parseIndex(ast[pos].$v);ast[pos].$v={};}
ast[pos].$v[key]=value;return;}
ast.push({$i:id,$v:value});this.entryIds[id]=ast.length-1;},parseString:function(str){var chunks=str.split(this.patterns.placeables);var complexStr=[];var len=chunks.length;var placeablesCount=(len-1)/2;if(placeablesCount>=MAX_PLACEABLES){throw new L10nError('Too many placeables ('+placeablesCount+', max allowed is '+MAX_PLACEABLES+')');}
for(var i=0;i<chunks.length;i++){if(chunks[i].length===0){continue;}
if(i%2===1){complexStr.push({t:'idOrVar',v:chunks[i]});}else{complexStr.push(chunks[i]);}}
return complexStr;},unescapeString:function(str){if(str.lastIndexOf('\\')!==-1){str=str.replace(this.patterns.controlChars,'$1');}
return str.replace(this.patterns.unicode,function(match,token){return unescape('%u'+'0000'.slice(token.length)+token);});},parseIndex:function(str){var match=str.match(this.patterns.index);if(!match){throw new L10nError('Malformed index');}
if(match[2]){return[{t:'idOrVar',v:match[1]},match[2]];}else{return[{t:'idOrVar',v:match[1]}];}}};var KNOWN_MACROS=['plural'];var MAX_PLACEABLE_LENGTH=2500;var rePlaceables=/\{\{\s*(.+?)\s*\}\}/g;var nonLatin1=/[^\x01-\xFF]/;var FSI='\u2068';var PDI='\u2069';function createEntry(node,env){var keys=Object.keys(node);if(typeof node.$v==='string'&&keys.length===2){return node.$v;}
var attrs;for(var i=0,key;key=keys[i];i++){if(key[0]==='$'){continue;}
if(!attrs){attrs=Object.create(null);}
attrs[key]=createAttribute(node[key],env,node.$i+'.'+key);}
return{id:node.$i,value:node.$v!==undefined?node.$v:null,index:node.$x||null,attrs:attrs||null,env:env,dirty:false};}
function createAttribute(node,env,id){if(typeof node==='string'){return node;}
return{id:id,value:node.$v||(node!==undefined?node:null),index:node.$x||null,env:env,dirty:false};}
function format(args,entity){if(typeof entity==='string'){return[{},entity];}
if(entity.dirty){throw new L10nError('Cyclic reference detected: '+entity.id);}
entity.dirty=true;var rv;try{rv=resolveValue({},args,entity.env,entity.value,entity.index);}finally{entity.dirty=false;}
return rv;}
function resolveIdentifier(args,env,id){if(KNOWN_MACROS.indexOf(id)>-1){return[{},env['__'+id]];}
if(args&&args.hasOwnProperty(id)){if(typeof args[id]==='string'||(typeof args[id]==='number'&&!isNaN(args[id]))){return[{},args[id]];}else{throw new L10nError('Arg must be a string or a number: '+id);}}
if(id in env&&id!=='__proto__'){return format(args,env[id]);}
throw new L10nError('Unknown reference: '+id);}
function subPlaceable(locals,args,env,id){var res;try{res=resolveIdentifier(args,env,id);}catch(err){return[{error:err},'{{ '+id+' }}'];}
var value=res[1];if(typeof value==='number'){return res;}
if(typeof value==='string'){if(value.length>=MAX_PLACEABLE_LENGTH){throw new L10nError('Too many characters in placeable ('+
value.length+', max allowed is '+
MAX_PLACEABLE_LENGTH+')');}
if(locals.contextIsNonLatin1||value.match(nonLatin1)){res[1]=FSI+value+PDI;}
return res;}
return[{},'{{ '+id+' }}'];}
function interpolate(locals,args,env,arr){return arr.reduce(function(prev,cur){if(typeof cur==='string'){return[prev[0],prev[1]+cur];}else if(cur.t==='idOrVar'){var placeable=subPlaceable(locals,args,env,cur.v);return[prev[0],prev[1]+placeable[1]];}},[locals,'']);}
function resolveSelector(args,env,expr,index){var selectorName=index[0].v;var selector=resolveIdentifier(args,env,selectorName)[1];if(typeof selector!=='function'){return selector;}
var argValue=index[1]?resolveIdentifier(args,env,index[1])[1]:undefined;if(selector===env.__plural){if(argValue===0&&'zero'in expr){return'zero';}
if(argValue===1&&'one'in expr){return'one';}
if(argValue===2&&'two'in expr){return'two';}}
return selector(argValue);}
function resolveValue(locals,args,env,expr,index){if(!expr){return[locals,expr];}
if(typeof expr==='string'||typeof expr==='boolean'||typeof expr==='number'){return[locals,expr];}
if(Array.isArray(expr)){locals.contextIsNonLatin1=expr.some(function($_){return typeof($_)==='string'&&$_.match(nonLatin1);});return interpolate(locals,args,env,expr);}
if(index){var selector=resolveSelector(args,env,expr,index);if(expr.hasOwnProperty(selector)){return resolveValue(locals,args,env,expr[selector]);}}
if('other'in expr){return resolveValue(locals,args,env,expr.other);}
throw new L10nError('Unresolvable value');}
var Resolver={createEntry:createEntry,format:format,rePlaceables:rePlaceables};function walkContent(node,fn){if(typeof node==='string'){return fn(node);}
if(node.t==='idOrVar'){return node;}
var rv=Array.isArray(node)?[]:{};var keys=Object.keys(node);for(var i=0,key;(key=keys[i]);i++){if(key==='$i'||key==='$x'){rv[key]=node[key];}else{rv[key]=walkContent(node[key],fn);}}
return rv;}
var reAlphas=/[a-zA-Z]/g;var reVowels=/[aeiouAEIOU]/g;var ACCENTED_MAP='\u0226\u0181\u0187\u1E12\u1E16\u0191\u0193\u0126\u012A'+'\u0134\u0136\u013F\u1E3E\u0220\u01FE\u01A4\u024A\u0158'+'\u015E\u0166\u016C\u1E7C\u1E86\u1E8A\u1E8E\u1E90'+'[\\]^_`'+'\u0227\u0180\u0188\u1E13\u1E17\u0192\u0260\u0127\u012B'+'\u0135\u0137\u0140\u1E3F\u019E\u01FF\u01A5\u024B\u0159'+'\u015F\u0167\u016D\u1E7D\u1E87\u1E8B\u1E8F\u1E91';var FLIPPED_MAP='\u2200\u0510\u2183p\u018E\u025F\u05E4HI\u017F'+'\u04FC\u02E5WNO\u0500\xD2\u1D1AS\u22A5\u2229\u0245'+'\uFF2DX\u028EZ'+'[\\]\u1D65_,'+'\u0250q\u0254p\u01DD\u025F\u0183\u0265\u0131\u027E'+'\u029E\u0285\u026Fuodb\u0279s\u0287n\u028C\u028Dx\u028Ez';function makeLonger(val){return val.replace(reVowels,function(match){return match+match.toLowerCase();});}
function replaceChars(map,val){return val.replace(reAlphas,function(match){return map.charAt(match.charCodeAt(0)-65);});}
var reWords=/[^\W0-9_]+/g;function makeRTL(val){return val.replace(reWords,function(match){return'\u202e'+match+'\u202c';});}
var reExcluded=/(%[EO]?\w|\{\s*.+?\s*\}|&[#\w]+;|<\s*.+?\s*>)/;function mapContent(fn,val){if(!val){return val;}
var parts=val.split(reExcluded);var modified=parts.map(function(part){if(reExcluded.test(part)){return part;}
return fn(part);});return modified.join('');}
function Pseudo(id,name,charMap,modFn){this.id=id;this.translate=mapContent.bind(null,function(val){return replaceChars(charMap,modFn(val));});this.name=this.translate(name);}
var PSEUDO={'fr-x-psaccent':new Pseudo('fr-x-psaccent','Runtime Accented',ACCENTED_MAP,makeLonger),'ar-x-psbidi':new Pseudo('ar-x-psbidi','Runtime Bidi',FLIPPED_MAP,makeRTL)};function Locale(id,ctx){this.id=id;this.ctx=ctx;this.isReady=false;this.entries=Object.create(null);this.entries.__plural=getPluralRule(this.isPseudo()?this.ctx.defaultLocale:id);}
Locale.prototype.isPseudo=function(){return this.ctx.qps.indexOf(this.id)!==-1;};var bindingsIO={extra:function(id,ver,path,type,callback,errback){if(type==='properties'){type='text';}
navigator.mozApps.getLocalizationResource(id,ver,path,type).then(callback.bind(null,null),errback);},app:function(id,ver,path,type,callback,errback,sync){switch(type){case'properties':io.load(path,callback,sync);break;case'json':io.loadJSON(path,callback,sync);break;}},};Locale.prototype.build=function L_build(callback){var sync=!callback;var ctx=this.ctx;var self=this;var l10nLoads=ctx.resLinks.length;function onL10nLoaded(err){if(err){ctx._emitter.emit('fetcherror',err);}
if(--l10nLoads<=0){self.isReady=true;if(callback){callback();}}}
if(l10nLoads===0){onL10nLoaded();return;}
function onJSONLoaded(err,json){if(!err&&json){self.addAST(json);}
onL10nLoaded(err);}
function onPropLoaded(err,source){if(!err&&source){var ast=PropertiesParser.parse(ctx,source);self.addAST(ast);}
onL10nLoaded(err);}
var idToFetch=this.isPseudo()?ctx.defaultLocale:this.id;var appVersion=null;var source='app';if(typeof(navigator)!=='undefined'){source=navigator.mozL10n._config.localeSources[this.id]||'app';appVersion=navigator.mozL10n._config.appVersion;}
for(var i=0;i<ctx.resLinks.length;i++){var resLink=decodeURI(ctx.resLinks[i]);var path=resLink.replace('{locale}',idToFetch);var type=path.substr(path.lastIndexOf('.')+1);var cb;switch(type){case'json':cb=onJSONLoaded;break;case'properties':cb=onPropLoaded;break;}
bindingsIO[source](this.id,appVersion,path,type,cb,onL10nLoaded,sync);}};function createPseudoEntry(node,entries){return Resolver.createEntry(walkContent(node,PSEUDO[this.id].translate),entries);}
Locale.prototype.addAST=function(ast){var createEntry=this.isPseudo()?createPseudoEntry.bind(this):Resolver.createEntry;for(var i=0;i<ast.length;i++){this.entries[ast[i].$i]=createEntry(ast[i],this.entries);}};function Context(id){this.id=id;this.isReady=false;this.isLoading=false;this.defaultLocale='en-US';this.availableLocales=[];this.supportedLocales=[];this.qps=[];this.resLinks=[];this.locales={};this._emitter=new EventEmitter();this._ready=new Promise(this.once.bind(this));}
function reportMissing(id,err){this._emitter.emit('notfounderror',err);return id;}
function getWithFallback(id){var cur=0;var loc;var locale;while(loc=this.supportedLocales[cur]){locale=this.getLocale(loc);if(!locale.isReady){locale.build(null);}
var entry=locale.entries[id];if(entry===undefined){cur++;reportMissing.call(this,id,new L10nError('"'+id+'"'+' not found in '+loc+' in '+this.id,id,loc));continue;}
return entry;}
throw new L10nError('"'+id+'"'+' missing from all supported locales in '+this.id,id);}
function formatTuple(args,entity){try{return Resolver.format(args,entity);}catch(err){this._emitter.emit('resolveerror',err);var locals={error:err};return[locals,entity.id];}}
function formatValue(args,entity){if(typeof entity==='string'){return entity;}
return formatTuple.call(this,args,entity)[1];}
function formatEntity(args,entity){var entityTuple=formatTuple.call(this,args,entity);var value=entityTuple[1];var formatted={value:value,attrs:null,};if(entity.attrs){formatted.attrs=Object.create(null);}
for(var key in entity.attrs){var attrTuple=formatTuple.call(this,args,entity.attrs[key]);formatted.attrs[key]=attrTuple[1];}
return formatted;}
function formatAsync(fn,id,args){return this._ready.then(getWithFallback.bind(this,id)).then(fn.bind(this,args),reportMissing.bind(this,id));}
Context.prototype.formatValue=function(id,args){return formatAsync.call(this,formatValue,id,args);};Context.prototype.formatEntity=function(id,args){return formatAsync.call(this,formatEntity,id,args);};function legacyGet(fn,id,args){if(!this.isReady){throw new L10nError('Context not ready');}
var entry;try{entry=getWithFallback.call(this,id);}catch(err){if(err.loc){throw err;}
reportMissing.call(this,id,err);return'';}
return fn.call(this,args,entry);}
Context.prototype.get=function(id,args){return legacyGet.call(this,formatValue,id,args);};Context.prototype.getEntity=function(id,args){return legacyGet.call(this,formatEntity,id,args);};Context.prototype.getLocale=function getLocale(code){var locales=this.locales;if(locales[code]){return locales[code];}
return locales[code]=new Locale(code,this);};function negotiate(available,requested,defaultLocale){var supportedLocale;for(var i=0;i<requested.length;i++){var locale=requested[i];if(available.indexOf(locale)!==-1){supportedLocale=locale;break;}}
if(!supportedLocale||supportedLocale===defaultLocale){return[defaultLocale];}
return[supportedLocale,defaultLocale];}
function freeze(supported){var locale=this.getLocale(supported[0]);if(locale.isReady){setReady.call(this,supported);}else{locale.build(setReady.bind(this,supported));}}
function setReady(supported){this.supportedLocales=supported;this.isReady=true;this._emitter.emit('ready');}
Context.prototype.registerLocales=function(defLocale,available){if(defLocale){this.defaultLocale=defLocale;}
this.availableLocales=[this.defaultLocale];this.qps=Object.keys(PSEUDO);if(available){for(var i=0,loc;loc=available[i];i++){if(this.availableLocales.indexOf(loc)===-1){this.availableLocales.push(loc);var pos=this.qps.indexOf(loc);if(pos!==-1){this.qps.splice(pos,1);}}}}};Context.prototype.requestLocales=function requestLocales(){if(this.isLoading&&!this.isReady){throw new L10nError('Context not ready');}
this.isLoading=true;var requested=Array.prototype.slice.call(arguments);if(requested.length===0){throw new L10nError('No locales requested');}
var supported=negotiate(this.availableLocales.concat(this.qps),requested,this.defaultLocale);if(this.supportedLocales[0]!==supported[0]){freeze.call(this,supported);}};Context.prototype.addEventListener=function(type,listener){this._emitter.addEventListener(type,listener);};Context.prototype.removeEventListener=function(type,listener){this._emitter.removeEventListener(type,listener);};Context.prototype.ready=function(callback){if(this.isReady){setTimeout(callback);}
this.addEventListener('ready',callback);};Context.prototype.once=function(callback){if(this.isReady){setTimeout(callback);return;}
var callAndRemove=(function(){this.removeEventListener('ready',callAndRemove);callback();}).bind(this);this.addEventListener('ready',callAndRemove);};var allowed={elements:['a','em','strong','small','s','cite','q','dfn','abbr','data','time','code','var','samp','kbd','sub','sup','i','b','u','mark','ruby','rt','rp','bdi','bdo','span','br','wbr'],attributes:{global:['title','aria-label','aria-valuetext','aria-moz-hint'],a:['download'],area:['download','alt'],input:['alt','placeholder'],menuitem:['label'],menu:['label'],optgroup:['label'],option:['label'],track:['label'],img:['alt'],textarea:['placeholder'],th:['abbr']}};var rtlList=['ar','he','fa','ps','ar-x-psbidi','ur'];var nodeObserver=null;var pendingElements=null;var moConfig={attributes:true,characterData:false,childList:true,subtree:true,attributeFilter:['data-l10n-id','data-l10n-args']};navigator.mozL10n={ctx:null,get:function get(id,ctxdata){return navigator.mozL10n.ctx.get(id,ctxdata);},formatValue:function(id,ctxdata){return navigator.mozL10n.ctx.formatValue(id,ctxdata);},formatEntity:function(id,ctxdata){return navigator.mozL10n.ctx.formatEntity(id,ctxdata);},translateFragment:function(fragment){return translateFragment.call(navigator.mozL10n,fragment);},setAttributes:setL10nAttributes,getAttributes:getL10nAttributes,ready:function ready(callback){return navigator.mozL10n.ctx.ready(callback);},once:function once(callback){return navigator.mozL10n.ctx.once(callback);},get readyState(){return navigator.mozL10n.ctx.isReady?'complete':'loading';},language:{set code(lang){navigator.mozL10n.ctx.requestLocales(lang);},get code(){return navigator.mozL10n.ctx.supportedLocales[0];},get direction(){return getDirection(navigator.mozL10n.ctx.supportedLocales[0]);}},qps:PSEUDO,_config:{appVersion:null,localeSources:Object.create(null),isPretranslated:false,},_getInternalAPI:function(){return{Error:L10nError,Context:Context,Locale:Locale,Resolver:Resolver,getPluralRule:getPluralRule,rePlaceables:rePlaceables,translateDocument:translateDocument,onMetaInjected:onMetaInjected,PropertiesParser:PropertiesParser,walkContent:walkContent,buildLocaleList:buildLocaleList};}};function getDirection(lang){return(rtlList.indexOf(lang)>=0)?'rtl':'ltr';}
var readyStates={loading:0,interactive:1,complete:2};function whenInteractive(callback){if(readyStates[document.readyState]>=readyStates.interactive){callback();return;}
document.addEventListener('readystatechange',function l10n_onrsc(){if(readyStates[document.readyState]>=readyStates.interactive){document.removeEventListener('readystatechange',l10n_onrsc);callback();}});}
function initObserver(){nodeObserver=new MutationObserver(onMutations.bind(navigator.mozL10n));nodeObserver.observe(document,moConfig);}
function init(pretranslate){if(!pretranslate){initObserver();}
initResources.call(navigator.mozL10n);}
function initResources(){var meta={};var nodes=document.head.querySelectorAll('link[rel="localization"],'+'meta[name="availableLanguages"],'+'meta[name="defaultLanguage"],'+'meta[name="appVersion"],'+'script[type="application/l10n"]');for(var i=0,node;node=nodes[i];i++){var type=node.getAttribute('rel')||node.nodeName.toLowerCase();switch(type){case'localization':this.ctx.resLinks.push(node.getAttribute('href'));break;case'meta':onMetaInjected.call(this,node,meta);break;case'script':onScriptInjected.call(this,node);break;}}
var additionalLanguagesPromise;if(navigator.mozApps&&navigator.mozApps.getAdditionalLanguages){additionalLanguagesPromise=navigator.mozApps.getAdditionalLanguages().catch(function(e){console.error('Error while loading getAdditionalLanguages',e);});document.addEventListener('additionallanguageschange',function(evt){registerLocales.call(this,meta,evt.detail);this.ctx.requestLocales.apply(this.ctx,navigator.languages||[navigator.language]);}.bind(this));}else{additionalLanguagesPromise=Promise.resolve();}
additionalLanguagesPromise.then(function(extraLangs){registerLocales.call(this,meta,extraLangs);initLocale.call(this);}.bind(this));}
function registerLocales(meta,extraLangs){var locales=buildLocaleList.call(this,meta,extraLangs);navigator.mozL10n._config.localeSources=locales[1];this.ctx.registerLocales(locales[0],Object.keys(locales[1]));}
function getMatchingLangpack(appVersion,langpacks){for(var i=0,langpack;(langpack=langpacks[i]);i++){if(langpack.target===appVersion){return langpack;}}
return null;}
function buildLocaleList(meta,extraLangs){var loc,lp;var localeSources=Object.create(null);var defaultLocale=meta.defaultLanguage||this.ctx.defaultLocale;if(meta.availableLanguages){for(loc in meta.availableLanguages){localeSources[loc]='app';}}
if(extraLangs){for(loc in extraLangs){lp=getMatchingLangpack(this._config.appVersion,extraLangs[loc]);if(!lp){continue;}
if(!(loc in localeSources)||!meta.availableLanguages[loc]||parseInt(lp.revision)>meta.availableLanguages[loc]){localeSources[loc]='extra';}}}
if(!(defaultLocale in localeSources)){localeSources[defaultLocale]='app';}
return[defaultLocale,localeSources];}
function splitAvailableLanguagesString(str){var langs={};str.split(',').forEach(function(lang){lang=lang.trim().split(':');langs[lang[0]]=parseInt(lang[1]);});return langs;}
function onMetaInjected(node,meta){switch(node.getAttribute('name')){case'availableLanguages':meta.availableLanguages=splitAvailableLanguagesString(node.getAttribute('content'));break;case'defaultLanguage':meta.defaultLanguage=node.getAttribute('content');break;case'appVersion':navigator.mozL10n._config.appVersion=node.getAttribute('content');break;}}
function onScriptInjected(node){var lang=node.getAttribute('lang');var locale=this.ctx.getLocale(lang);locale.addAST(JSON.parse(node.textContent));}
function initLocale(){this.ctx.requestLocales.apply(this.ctx,navigator.languages||[navigator.language]);window.addEventListener('languagechange',function l10n_langchange(){this.ctx.requestLocales.apply(this.ctx,navigator.languages||[navigator.language]);}.bind(this));}
function localizeMutations(mutations){var mutation;var targets=new Set();for(var i=0;i<mutations.length;i++){mutation=mutations[i];if(mutation.type==='childList'){var addedNode;for(var j=0;j<mutation.addedNodes.length;j++){addedNode=mutation.addedNodes[j];if(addedNode.nodeType!==Node.ELEMENT_NODE){continue;}
targets.add(addedNode);}}
if(mutation.type==='attributes'){targets.add(mutation.target);}}
targets.forEach(function(target){if(target.childElementCount){translateFragment.call(this,target);}else if(target.hasAttribute('data-l10n-id')){translateElement.call(this,target);}},this);}
function onMutations(mutations,self){self.disconnect();localizeMutations.call(this,mutations);self.observe(document,moConfig);}
function onReady(){if(!navigator.mozL10n._config.isPretranslated){translateDocument.call(this);}
navigator.mozL10n._config.isPretranslated=false;if(pendingElements){for(var i=0,element;element=pendingElements[i];i++){translateElement.call(this,element);}
pendingElements=null;}
if(!nodeObserver){initObserver();}
fireLocalizedEvent.call(this);}
function fireLocalizedEvent(){var event=new CustomEvent('localized',{'bubbles':false,'cancelable':false,'detail':{'language':this.ctx.supportedLocales[0]}});window.dispatchEvent(event);}
var reOverlay=/<|&#?\w+;/;var reHtml=/[&<>]/g;var htmlEntities={'&':'&amp;','<':'&lt;','>':'&gt;',};function translateDocument(){document.documentElement.lang=this.language.code;document.documentElement.dir=this.language.direction;translateFragment.call(this,document.documentElement);}
function translateFragment(element){if(typeof element.hasAttribute==='function'&&element.hasAttribute('data-l10n-id')){translateElement.call(this,element);}
var nodes=getTranslatableChildren(element);for(var i=0;i<nodes.length;i++){translateElement.call(this,nodes[i]);}}
function setL10nAttributes(element,id,args){element.setAttribute('data-l10n-id',id);if(args){element.setAttribute('data-l10n-args',JSON.stringify(args));}}
function getL10nAttributes(element){return{id:element.getAttribute('data-l10n-id'),args:JSON.parse(element.getAttribute('data-l10n-args'))};}
function getTranslatableChildren(element){return element?element.querySelectorAll('*[data-l10n-id]'):[];}
function camelCaseToDashed(string){if(string==='ariaValueText'){return'aria-valuetext';}
return string.replace(/[A-Z]/g,function(match){return'-'+match.toLowerCase();}).replace(/^-/,'');}
function escapeL10nArgs(match){return htmlEntities[match];}
function translateElement(element){if(!this.ctx.isReady){if(!pendingElements){pendingElements=[];}
pendingElements.push(element);return;}
var l10nId=element.getAttribute('data-l10n-id');if(!l10nId){return false;}
var l10nArgs=element.getAttribute('data-l10n-args');var entity=this.ctx.getEntity(l10nId,l10nArgs?JSON.parse(l10nArgs.replace(reHtml,escapeL10nArgs)):undefined);var value=entity.value;if(typeof value==='string'){if(!reOverlay.test(value)){element.textContent=value;}else{var translation=element.ownerDocument.createElement('template');translation.innerHTML=value;overlayElement(element,translation.content);}}
for(var key in entity.attrs){var attrName=camelCaseToDashed(key);if(isAttrAllowed({name:attrName},element)){element.setAttribute(attrName,entity.attrs[key]);}}}
function overlayElement(sourceElement,translationElement){var result=translationElement.ownerDocument.createDocumentFragment();var k,attr;var childElement;while((childElement=translationElement.childNodes[0])){translationElement.removeChild(childElement);if(childElement.nodeType===Node.TEXT_NODE){result.appendChild(childElement);continue;}
var index=getIndexOfType(childElement);var sourceChild=getNthElementOfType(sourceElement,childElement,index);if(sourceChild){overlayElement(sourceChild,childElement);result.appendChild(sourceChild);continue;}
if(isElementAllowed(childElement)){var sanitizedChild=childElement.ownerDocument.createElement(childElement.nodeName);overlayElement(sanitizedChild,childElement);result.appendChild(sanitizedChild);continue;}
result.appendChild(document.createTextNode(childElement.textContent));}
sourceElement.textContent='';sourceElement.appendChild(result);if(translationElement.attributes){for(k=0,attr;(attr=translationElement.attributes[k]);k++){if(isAttrAllowed(attr,sourceElement)){sourceElement.setAttribute(attr.name,attr.value);}}}}
function isElementAllowed(element){return allowed.elements.indexOf(element.tagName.toLowerCase())!==-1;}
function isAttrAllowed(attr,element){var attrName=attr.name.toLowerCase();var tagName=element.tagName.toLowerCase();if(allowed.attributes.global.indexOf(attrName)!==-1){return true;}
if(!allowed.attributes[tagName]){return false;}
if(allowed.attributes[tagName].indexOf(attrName)!==-1){return true;}
if(tagName==='input'&&attrName==='value'){var type=element.type.toLowerCase();if(type==='submit'||type==='button'||type==='reset'){return true;}}
return false;}
function getNthElementOfType(context,element,index){var nthOfType=0;for(var i=0,child;child=context.children[i];i++){if(child.nodeType===Node.ELEMENT_NODE&&child.tagName===element.tagName){if(nthOfType===index){return child;}
nthOfType++;}}
return null;}
function getIndexOfType(element){var index=0;var child;while((child=element.previousElementSibling)){if(child.tagName===element.tagName){index++;}}
return index;}
var DEBUG=false;navigator.mozL10n.ctx=new Context(window.document?document.URL:null);navigator.mozL10n.ctx.ready(onReady.bind(navigator.mozL10n));navigator.mozL10n.ctx.addEventListener('notfounderror',function reportMissingEntity(e){if(DEBUG||e.loc==='en-US'){console.warn(e.toString());}});if(DEBUG){navigator.mozL10n.ctx.addEventListener('fetcherror',console.error.bind(console));navigator.mozL10n.ctx.addEventListener('parseerror',console.error.bind(console));navigator.mozL10n.ctx.addEventListener('resolveerror',console.error.bind(console));}
if(window.document){navigator.mozL10n._config.isPretranslated=document.documentElement.lang===navigator.language;var forcePretranslate=!navigator.mozL10n._config.isPretranslated;whenInteractive(init.bind(navigator.mozL10n,forcePretranslate));}
document.l10n={setAttributes:navigator.mozL10n.setAttributes,getAttributes:navigator.mozL10n.getAttributes,formatValue:function(id,args){return navigator.mozL10n.formatValue(id,args);},translateFragment:function(frag){return Promise.resolve(navigator.mozL10n.translateFragment(frag));},ready:new Promise(function(resolve){navigator.mozL10n.once(resolve);}),formatValues:function(){var keys=arguments;var resp=keys.map(function(key){if(Array.isArray(key)){return navigator.mozL10n.formatValue(key[0],key[1]);}
return navigator.mozL10n.formatValue(key);});return Promise.all(resp);},requestLanguages:function(langs){navigator.mozL10n.ctx.requestLocales.apply(navigator.mozL10n.ctx,langs);},pseudo:{'fr-x-psaccent':{getName:function(){return Promise.resolve(navigator.mozL10n.qps['fr-x-psaccent'].name);},processString:function(s){return Promise.resolve(navigator.mozL10n.qps['fr-x-psaccent'].translate(s));}},'ar-x-psbidi':{getName:function(){return Promise.resolve(navigator.mozL10n.qps['ar-x-psbidi'].name);},processString:function(s){return Promise.resolve(navigator.mozL10n.qps['ar-x-psbidi'].translate(s));}}},};navigator.mozL10n.ready(function(){document.documentElement.setAttribute('langs',navigator.mozL10n.ctx.supportedLocales.join(' '));});navigator.mozL10n.once(function(){window.addEventListener('localized',function(){document.dispatchEvent(new CustomEvent('DOMRetranslated',{bubbles:false,cancelable:false}));});});})(this);;'use strict';var LazyLoader=(function(){function LazyLoader(){this._loaded={};this._isLoading={};}
LazyLoader.prototype={_js:function(file,callback){var script=document.createElement('script');script.src=file;script.async=false;script.addEventListener('load',callback);document.head.appendChild(script);this._isLoading[file]=script;},_css:function(file,callback){var style=document.createElement('link');style.type='text/css';style.rel='stylesheet';style.href=file;document.head.appendChild(style);callback();},_html:function(domNode,callback){if(domNode.getAttribute('is')){this.load(['/shared/js/html_imports.js'],function(){HtmlImports.populate(callback);}.bind(this));return;}
for(var i=0;i<domNode.childNodes.length;i++){if(domNode.childNodes[i].nodeType==document.COMMENT_NODE){domNode.innerHTML=domNode.childNodes[i].nodeValue;break;}}
window.dispatchEvent(new CustomEvent('lazyload',{detail:domNode}));callback();},getJSON:function(file,mozSystem){return new Promise(function(resolve,reject){var xhr;if(mozSystem){xhr=new XMLHttpRequest({mozSystem:true});}else{xhr=new XMLHttpRequest();}
xhr.open('GET',file,true);xhr.responseType='json';xhr.onerror=function(error){reject(error);};xhr.onload=function(){if(xhr.response!==null){resolve(xhr.response);}else{reject(new Error('No valid JSON object was found ('+
xhr.status+' '+xhr.statusText+')'));}};xhr.send();});},load:function(files,callback){var deferred={};deferred.promise=new Promise(resolve=>{deferred.resolve=resolve;});if(!Array.isArray(files)){files=[files];}
var loadsRemaining=files.length,self=this;function perFileCallback(file){if(self._isLoading[file]){delete self._isLoading[file];}
self._loaded[file]=true;if(--loadsRemaining===0){deferred.resolve();if(callback){callback();}}}
for(var i=0;i<files.length;i++){var file=files[i];if(this._loaded[file.id||file]){perFileCallback(file);}else if(this._isLoading[file]){this._isLoading[file].addEventListener('load',perFileCallback.bind(null,file));}else{var method,idx;if(typeof file==='string'){method=file.match(/\.([^.]+)$/)[1];idx=file;}else{method='html';idx=file.id;}
this['_'+method](file,perFileCallback.bind(null,idx));}}
return deferred.promise;}};return new LazyLoader();}());;this.asyncStorage=(function(){'use strict';var DBNAME='asyncStorage';var DBVERSION=1;var STORENAME='keyvaluepairs';var db=null;function withDatabase(f){if(db){f();}else{var openreq=indexedDB.open(DBNAME,DBVERSION);openreq.onerror=function withStoreOnError(){console.error('asyncStorage: can\'t open database:',openreq.error.name);};openreq.onupgradeneeded=function withStoreOnUpgradeNeeded(){openreq.result.createObjectStore(STORENAME);};openreq.onsuccess=function withStoreOnSuccess(){db=openreq.result;f();};}}
function withStore(type,callback,oncomplete){withDatabase(function(){var transaction=db.transaction(STORENAME,type);if(oncomplete){transaction.oncomplete=oncomplete;}
callback(transaction.objectStore(STORENAME));});}
function getItem(key,callback){var req;withStore('readonly',function getItemBody(store){req=store.get(key);req.onerror=function getItemOnError(){console.error('Error in asyncStorage.getItem(): ',req.error.name);};},function onComplete(){var value=req.result;if(value===undefined){value=null;}
callback(value);});}
function setItem(key,value,callback){withStore('readwrite',function setItemBody(store){var req=store.put(value,key);req.onerror=function setItemOnError(){console.error('Error in asyncStorage.setItem(): ',req.error.name);};},callback);}
function removeItem(key,callback){withStore('readwrite',function removeItemBody(store){var req=store.delete(key);req.onerror=function removeItemOnError(){console.error('Error in asyncStorage.removeItem(): ',req.error.name);};},callback);}
function clear(callback){withStore('readwrite',function clearBody(store){var req=store.clear();req.onerror=function clearOnError(){console.error('Error in asyncStorage.clear(): ',req.error.name);};},callback);}
function length(callback){var req;withStore('readonly',function lengthBody(store){req=store.count();req.onerror=function lengthOnError(){console.error('Error in asyncStorage.length(): ',req.error.name);};},function onComplete(){callback(req.result);});}
function key(n,callback){if(n<0){callback(null);return;}
var req;withStore('readonly',function keyBody(store){var advanced=false;req=store.openCursor();req.onsuccess=function keyOnSuccess(){var cursor=req.result;if(!cursor){return;}
if(n===0||advanced){return;}
advanced=true;cursor.advance(n);};req.onerror=function keyOnError(){console.error('Error in asyncStorage.key(): ',req.error.name);};},function onComplete(){var cursor=req.result;callback(cursor?cursor.key:null);});}
return{getItem:getItem,setItem:setItem,removeItem:removeItem,clear:clear,length:length,key:key};}());;(function(exports){'use strict';var DB_NAME='places_idb_store';var DB_VERSION=3;var PLACES_STORE='places';var VISITS_STORE='visits';function PlacesIdbStore(){}
PlacesIdbStore.prototype={db:null,latestRevision:null,init:function(){var self=this;return new Promise(function(resolve,reject){var req=window.indexedDB.open(DB_NAME,DB_VERSION);req.onupgradeneeded=self.upgradeSchema;req.onsuccess=function(e){self.db=e.target.result;asyncStorage.getItem('latest-revision',function(value){self.latestRevision=value||0;resolve();});};});},upgradeSchema:function(e){var db=e.target.result;var fromVersion=e.oldVersion;if(fromVersion<1){var places=db.createObjectStore(PLACES_STORE,{keyPath:'url'});places.createIndex('frecency','frecency',{unique:false});places.createIndex('visited','visited',{unique:false});}
if(fromVersion<2){asyncStorage.removeItem('latest-revision');var visits=db.createObjectStore(VISITS_STORE,{keyPath:'date'});visits.createIndex('date','date',{unique:true});}
if(fromVersion<3){var oStore=e.target.transaction.objectStore(VISITS_STORE);oStore.createIndex('url','url',{unique:false});}},add:function(id,data,rev){return new Promise((resolve,reject)=>{var txn=this.db.transaction([PLACES_STORE,VISITS_STORE],'readwrite');if(data.visits&&data.visits.length===0){this._removeUrl(id).then(this.saveAndResolve(rev,resolve));}else{txn.objectStore(PLACES_STORE).put(data);if(!data.visits){data.visits=Number.isFinite(data.visited)?[data.visited]:[];}
var visitsStore=txn.objectStore(VISITS_STORE);data.visits.filter(Number.isFinite).forEach(function(date){visitsStore.put({date:date,url:data.url,title:data.title,icons:data.icons});});txn.oncomplete=this.saveAndResolve(rev,resolve);}});},addPlace:function(place){return new Promise((resolve,reject)=>{var txn=this.db.transaction([PLACES_STORE],'readwrite');txn.objectStore(PLACES_STORE).put(place);txn.oncomplete=resolve;});},remove:function(id,rev){return new Promise((resolve,reject)=>{this._removeUrl(id).then(this.saveAndResolve(rev,resolve));});},_removeUrl:function(id){return Promise.all([new Promise((resolve,reject)=>{var txn=this.db.transaction([PLACES_STORE],'readwrite');txn.objectStore(PLACES_STORE).delete(id);txn.oncomplete=resolve;}),new Promise((resolve,reject)=>{var txn=this.db.transaction([VISITS_STORE],'readwrite');var visitsStore=txn.objectStore(VISITS_STORE);var urlIndex=visitsStore.index('url');var req=urlIndex.openCursor(IDBKeyRange.only(id));req.onsuccess=function(){var cursor=req.result;if(cursor){visitsStore.delete(cursor.primaryKey);cursor.continue();}else{resolve();}};})]);},clear:function(rev){return new Promise((resolve,reject)=>{var txn=this.db.transaction([PLACES_STORE,VISITS_STORE],'readwrite');txn.objectStore(PLACES_STORE).clear();txn.objectStore(VISITS_STORE).clear();txn.oncomplete=this.saveAndResolve(rev,resolve);});},saveAndResolve:function(rev,resolve){return function(){asyncStorage.setItem('latest-revision',rev);resolve();};},readStore:function(store,index,limit,done,filter){var results=[];var txn=this.db.transaction(store,'readonly');var oStore=txn.objectStore(store);oStore.index(index).openCursor(null,'prev').onsuccess=function(event){var cursor=event.target.result;if(cursor){if(!filter||filter(cursor.value)){results.push(cursor.value);}
if(results.length<limit){cursor.continue();}}};txn.oncomplete=function(){done(results);};},read:function(index,limit,done,filter){this.readStore(PLACES_STORE,index,limit,done,filter);},readVisits:function(limit,done,filter){this.readStore(VISITS_STORE,'date',limit,done,filter);}};exports.PlacesIdbStore=PlacesIdbStore;})(window);;(function syncStore(exports){'use strict';function onChange(evt){var self=this;doSync(this).then(function(){if(typeof self.onChangeFN==='function'){self.onChangeFN(self,evt);}},error=>console.error('DataStore sync '+self.STORE_NAME+': '+error));}
function ensureDS(SDS){if(SDS.store!==null){return Promise.resolve(SDS);}
return new Promise(function(resolve,reject){navigator.getDataStores(SDS.STORE_NAME).then(function(stores){if(!Array.isArray(stores)||stores.length<1){reject('Could not find store '+SDS.STORE_NAME);return;}
SDS.store=stores[0];SDS.store.addEventListener('change',onChange.bind(SDS));resolve(SDS);});});}
function doSync(SDS) {
var prior = SDS.syncQueue || Promise.resolve();
var next = prior.then(function() {
if (!SDS.store) throw new Error('Store not initialised');
SDS.syncInProgress = true;
var cursor = SDS.store.sync(SDS.lastRevision);
function step() { return cursor.next().then(function(task) {
var result;
switch (task.operation) {
case 'add': case 'update':
if (task.data && SDS.keyField in task.data && !SDS.filterFN(task.data))
result = SDS.persistStore.add(task.data[SDS.keyField], task.data, task.revisionId);
break;
case 'clear': result = SDS.persistStore.clear(task.revisionId); break;
case 'remove': result = SDS.persistStore.remove(task.id, task.revisionId); break;
case 'done': SDS.lastRevision = task.revisionId; return;
}
return Promise.resolve(result).then(step);
}); }
return step().then(function(){SDS.syncInProgress=false;},function(e){SDS.syncInProgress=false;cursor.close();throw e;});
});
SDS.syncQueue = next.catch(function(){});
return next;
}
function SyncDataStore(name,persist,key){this.STORE_NAME=name;this.store=null;this.synced=false;this.lastRevision=0;this.keyField=key||'id';this.onChangeFN=null;this.syncInProgress=false;this.persistStore=persist;this.filterFN=function(){return false;};}
SyncDataStore.prototype={sync:function(revisionId){this.lastRevision=revisionId||this.lastRevision;return ensureDS(this).then(doSync);},set onChange(onChange){this.onChangeFN=onChange.bind(this);},set filter(fn){this.filterFN=fn;}};function InMemoryStore(){this.results={};}
InMemoryStore.prototype={add:function(id,data){this.results[id]=data;},update:function(id,data){this.results[id]=data;},clear:function(){this.results={};},remove:function(id){delete this.results[id];}};exports.SyncDataStore=SyncDataStore;exports.InMemoryStore=InMemoryStore;})(window);;'use strict';var rscheme=/^(?:[a-z\u00a1-\uffff0-9-+]+)(?::(?:\/\/)?)/i;var UrlHelper={a:null,getUrlFromInput:function urlHelper_getUrlFromInput(input){this.a=this.a||document.createElement('a');this.a.href=input;return this.a.href;},_getScheme:function(input){return(rscheme.exec(input)||[])[0];},hasScheme:function(input){return!!this._getScheme(input);},isURL:function urlHelper_isURL(input){return!UrlHelper.isNotURL(input);},isNotURL:function urlHelper_isNotURL(input){var case1Reg=/^(\?)|(\?.+\s)/;var case2Reg=/[\?\.\s\:]/;var case3Reg=/^(data|view-source)\:/;var str=input.trim();if(case1Reg.test(str)||!case2Reg.test(str)||this._getScheme(str)===str){return true;}
if(case3Reg.test(str)){return false;}
if(!this.hasScheme(str)){str='http://'+str;}
if(!this.urlValidate){this.urlValidate=document.createElement('input');this.urlValidate.setAttribute('type','url');}
this.urlValidate.setAttribute('value',str);return!this.urlValidate.validity.valid;},resolveUrl:function urlHelper_resolveURL(url,baseUrl){if(!url){return null;}
try{return new URL(url,baseUrl).href;}catch(e){return null;}},getHostname:function urlHelper_getHostname(url){try{return new URL(url).hostname;}catch(e){return null;}}};;'use strict';var DateHelper={todayStarted:function dh_todayStarted(){var now=(new Date()).valueOf();return this.getMidnight(now);},yesterdayStarted:function dh_yesterdayStarted(){var now=(new Date()).valueOf();var dayAgo=now-86400000;return this.getMidnight(dayAgo);},thisWeekStarted:function dh_thisWeekStarted(){var now=new Date();var dayOfTheWeek=now.getDay();var firstDay=new Date(now.getFullYear(),now.getMonth(),now.getDate()-dayOfTheWeek);return this.getMidnight(firstDay);},thisMonthStarted:function dh_thisMonthStarted(){var now=new Date();var firstDay=(new Date(now.getFullYear(),now.getMonth(),1).valueOf());return firstDay;},lastSixMonthsStarted:function dh_lastSixMonthsStarted(){var now=new Date().valueOf();var sixMonthsAgo=now-2629743830*6;return sixMonthsAgo;},thisYearStarted:function dh_thisYearStarted(){var now=new Date();var firstDay=(new Date(now.getFullYear(),0).valueOf());return firstDay;},getMidnight:function dh_getMidnight(timestamp){var day=new Date(timestamp);var midnight=(new Date(day.getFullYear(),day.getMonth(),day.getDate(),0).valueOf());return midnight;}};var NumberHelper={zfill:function nh_zfill(string,len){var s=string;while(s.length<len){s='0'+s;}
return s;}};var StringHelper={fromUTF8:function ut_fromUTF8(str){var buf=new Uint8Array(str.length);for(var i=0;i<str.length;i++){buf[i]=str.charCodeAt(i);}
return buf;},camelCase:function ut_camelCase(str){var rdashes=/-(.)/g;return str.replace(rdashes,function replacer(str,p1){return p1.toUpperCase();});}};var HtmlHelper={createHighlightHTML:function ut_createHighlightHTML(text,terms){var toHighlight=[];var normalizedText=Normalizer.toAscii(text).toLowerCase();terms.forEach(function(term){term=Normalizer.toAscii(term).toLowerCase();var index=normalizedText.indexOf(term);while(index>=0){for(var i=0,length=term.length;i<length;i++){toHighlight[index+i]=true;}
index=normalizedText.indexOf(term,index+term.length);}});var fragment=document.createDocumentFragment();for(var i=0;i<text.length;i++){if(!toHighlight[i]){fragment.appendChild(document.createTextNode(text[i]));}else{var term='';while(toHighlight[i]){term+=text[i];i++;}
i--;var mark=document.createElement('mark');mark.textContent=term;fragment.appendChild(mark);}}
return fragment;},escapeHTML:function ut_escapeHTML(str,escapeQuotes){var span=document.createElement('span');span.textContent=str;span.innerHTML=span.innerHTML.replace(/\s/g,'&nbsp;');if(escapeQuotes){return span.innerHTML.replace(/"/g,'&quot;').replace(/'/g,'&#x27;');}
return span.innerHTML;},importElements:function importElements(context){var ids=[].slice.call(arguments,1);ids.forEach(function(id){context[StringHelper.camelCase(id)]=document.getElementById(id);});}};;'use strict';var SettingsListener={_lock:null,_observers:[],getSettingsLock:function sl_getSettingsLock(){if(this._lock&&!this._lock.closed){return this._lock;}
var settings=window.navigator.mozSettings;return(this._lock=settings.createLock());},observe:function sl_observe(name,defaultValue,callback){var settings=window.navigator.mozSettings;if(!settings){window.setTimeout(function(){callback(defaultValue);});return;}
var req;try{req=this.getSettingsLock().get(name);}catch(e){console.warn('Stale lock in settings_listener.js.','See https://bugzilla.mozilla.org/show_bug.cgi?id=793239');this._lock=null;req=this.getSettingsLock().get(name);}
req.addEventListener('success',(function onsuccess(){callback(typeof(req.result[name])!='undefined'?req.result[name]:defaultValue);}));var settingChanged=function settingChanged(evt){callback(evt.settingValue);};settings.addObserver(name,settingChanged);this._observers.push({name:name,callback:callback,observer:settingChanged});},unobserve:function sl_unobserve(name,callback){var settings=window.navigator.mozSettings;var that=this;this._observers.forEach(function(value,index){if(value.name===name&&value.callback===callback){settings.removeObserver(name,value.observer);that._observers.splice(index,1);}});}};;'use strict';(function(exports){var isManuallyPrivate=window.location.search.includes('private=1');var isManuallyRegular=window.location.search.includes('private=0');var isPrivateByDefault=false;SettingsListener.observe('browser.private.default',false,function(value){if(value){isPrivateByDefault=true;}else{isPrivateByDefault=false;}
exports.newtab.togglePrivacyMode();});function Newtab(){var self=this;navigator.mozApps.getSelf().onsuccess=function(){var app=this.result;app.connect('search-results').then(function onConnAccepted(ports){ports.forEach(function(port){self._port=port;});self.init();},function onConnectionRejected(reason){console.log('Error connecting: '+reason+'\n');});};this.togglePrivacyMode();}
Newtab.prototype={provider:null,init:function(){this.provider.init();this.provider.searchObj=this;},requestScreenshot:function(url){this._port.postMessage({'action':'request-screenshot','url':url});},requestPrivateWindow:function(){this._port.postMessage({'action':'private-window'});},togglePrivacyMode:function(){var themeMeta=document.querySelector('meta[name="theme-color"]');var themeColor=document.createElement('meta');if((isPrivateByDefault&&!isManuallyRegular)||(!isPrivateByDefault&&isManuallyPrivate)){if(themeMeta){document.head.removeChild(themeMeta);}
themeColor.setAttribute('name','theme-color');themeColor.setAttribute('content','#392E54');document.head.appendChild(themeColor);document.body.classList.add('private');asyncStorage.getItem('shouldSuppressPrivateDialog',value=>{if(value){return;}
this.privateBrowserDialog=document.getElementById('private-window-dialog');this.privateBrowserDialog.removeAttribute('hidden');this.privateBrowserDialogClose=document.getElementById('private-window-hide-dialog');this.privateBrowserDialogClose.addEventListener('click',this);this.privateBrowserLearnMore=document.getElementById('private-learn-more');this.privateBrowserLearnMore.addEventListener('click',this);});}
if(isPrivateByDefault&&isManuallyRegular){if(themeMeta){document.head.removeChild(themeMeta);}}},handleEvent:function(e){switch(e.target){case this.privateBrowserDialogClose:this.hidePrivateBrowserDialog();break;case this.privateBrowserLearnMore:this.learnAboutPrivateBrowsing(e);break;}},hidePrivateBrowserDialog:function(){this.privateBrowserDialog.setAttribute('hidden',true);var checkbox=this.privateBrowserDialog.querySelector('gaia-checkbox');if(checkbox.checked){asyncStorage.setItem('shouldSuppressPrivateDialog',true);}},learnAboutPrivateBrowsing:function(e){e.preventDefault();new MozActivity({name:'view',data:{type:'url',url:e.target.href}});}};exports.newtab=new Newtab();exports.Search={provider:function(provider){exports.newtab.provider=provider;},navigate:function(url){new MozActivity({name:'view',data:{type:'url',url:url}});}};})(window);;'use strict';(function IconsHelper(exports){const ICON_CACHE_PERIOD=24*60*60*1000;const FETCH_XHR_TIMEOUT=10000;const DEBUG=false;var dataStore=null;function getDefaultIconSize(){var dpr=window.devicePixelRatio;return(dpr&&dpr>1)?142:84;}
function sizeIsNearer(size1,size2,targetSize){var delta1=Math.abs(targetSize-size1);var delta2=Math.abs(targetSize-size2);return(delta1<=delta2);}
function getIcon(uri,iconTargetSize,placeObj={},siteObj={}){var iconUrl=null;iconTargetSize=iconTargetSize*window.devicePixelRatio;if(siteObj.webManifestUrl&&siteObj.webManifest){iconUrl=getBestIconFromWebManifest(siteObj.webManifest,iconTargetSize);if(DEBUG&&iconUrl){console.log('Icon from Web Manifest');}}
if(!iconUrl&&siteObj.manifest&&siteObj.manifest.icons){iconUrl=getBestIconFromWebManifest({icons:_convertToWebManifestIcons(siteObj.manifest,siteObj.origin||siteObj.manifest.origin)},iconTargetSize);if(DEBUG&&iconUrl){console.log('Icon from Firefox App Manifest');}}
if(!iconUrl&&placeObj&&placeObj.icons){iconUrl=getBestIconFromMetaTags(placeObj.icons,iconTargetSize);if(DEBUG&&iconUrl){console.log('Icon from Meta tags');}}
if(!iconUrl){var a=document.createElement('a');a.href=uri;iconUrl=a.origin+'/favicon.ico';if(iconTargetSize){iconUrl+='#-moz-resolution='+iconTargetSize+','+iconTargetSize;}
DEBUG&&console.log('Icon from favicon.ico');}
return new Promise(resolve=>{resolve(iconUrl);});}
function getIconBlob(uri,iconTargetSize,placeObj={},siteObj={}){return new Promise((resolve,reject)=>{getIcon(uri,iconTargetSize,placeObj,siteObj).then(iconUrl=>{getStore().then(iconStore=>{iconStore.get(iconUrl).then(iconObj=>{if(!iconObj||!iconObj.timestamp||Date.now()-iconObj.timestamp>=ICON_CACHE_PERIOD){return fetchIconBlob(iconUrl).then(iconBlob=>{var img=document.createElement('img');var icon=new Icon(img,uri);icon.renderBlob(iconBlob,{size:iconTargetSize,onLoad:function(blob){var iconObj={blob:blob,originalUrl:iconUrl.toString(),timestamp:Date.now()};resolve(iconObj);iconStore.add(iconObj,iconUrl);},onerror:function(e){reject(`Failed to fetch icon ${iconUrl}`);}});}).catch(err=>{reject(`Failed to fetch icon ${iconUrl}: ${err}`);});}
return resolve(iconObj);}).catch(err=>{reject(`Failed to get icon from dataStore: ${err}`);});}).catch(err=>{reject(`Error opening the dataStore: ${err}`);});});});}
function setElementIcon(icon,targetSize){return getIconBlob(icon.bookmark.url,targetSize,icon.bookmark,icon.bookmark).then(iconObj=>{if(iconObj.blob){icon.icon=iconObj.blob;return Promise.resolve();}else if(icon.bookmark.icon){return fetchIconBlob(icon.bookmark.icon).then(iconBlob=>{icon.icon=iconBlob;return Promise.resolve();},Promise.reject.bind(Promise));}
return Promise.reject('No icon data found');},Promise.reject.bind(Promise));}
function getBestIconFromWebManifest(webManifest,iconSize){var icons=webManifest.icons;if(!icons){return null;}
var maxSize=10000;var bestSize=maxSize;var iconURL=null;iconSize=iconSize||getDefaultIconSize();icons.forEach((potentialIcon)=>{if(!iconURL){iconURL=potentialIcon.src;}
var sizes=Array.from(potentialIcon.sizes);var nearestSize=getNearestSize(sizes,iconSize,bestSize);if(nearestSize!==bestSize&&sizeIsNearer(nearestSize,bestSize,iconSize)){iconURL=potentialIcon.src;bestSize=nearestSize;}});return iconURL?iconURL:null;}
function _convertToWebManifestIcons(manifest,origin){return Object.keys(manifest.icons).map(function(size){var url=manifest.icons[size];var sizes=[size+'x'+size];url=url.indexOf('http')>-1?url:origin+url;return{src:new URL(url),sizes:sizes};});}
function getBestIconFromMetaTags(icons,iconSize){if(!icons){return null;}
iconSize=iconSize||getDefaultIconSize();var iconURL=null;var bestSize=10000;Object.keys(icons).forEach((uri)=>{var potentialIcon=icons[uri];if(!iconURL){iconURL=uri;}
var sizes=Array.from(potentialIcon.sizes);var nearestSize=getNearestSize(sizes,iconSize,bestSize);if(nearestSize!==bestSize&&sizeIsNearer(nearestSize,bestSize,iconSize)){iconURL=uri;bestSize=nearestSize;}
if(potentialIcon.rel==='apple-touch-icon'||potentialIcon.rel==='apple-touch-icon-precomposed'){var moreInfoUrl='https://developer.mozilla.org/en-US/'+'Apps/Build/Icon_implementation_for_apps#General_icons_for_web_apps';console.warn('Warning: The apple-touch icons are being used '+'as a fallback only. They will be deprecated in '+'the future. See '+moreInfoUrl);}});return iconURL||null;}
function getNearestSize(sizes,iconSize,bestSize){var bogusSize=10000;if(!bestSize){bestSize=bogusSize;}
var nearestSize=sizes.reduce(function(nearestSize,sizeString,idx){var size=widthFromSizeString(sizeString);if(isNaN(size)){return nearestSize;}
if(sizeIsNearer(size,nearestSize,iconSize)){return size;}else{return nearestSize;}},bestSize);return nearestSize===bogusSize?-1:nearestSize;}
function widthFromSizeString(size){size=size||'';var xIndex=size.indexOf('x');if(!xIndex){return NaN;}
return parseInt(size.substr(0,xIndex));}
function getStore(){return new Promise(resolve=>{if(dataStore){return resolve(dataStore);}
navigator.getDataStores('icons').then(stores=>{dataStore=stores[0];return resolve(dataStore);});});}
function clear(){return getStore().then(iconStore=>{iconStore.clear();});}
function fetchIcon(iconUrl){return new Promise((resolve,reject)=>{fetchIconBlob(iconUrl).then((iconBlob)=>{var img=document.createElement('img');img.src=URL.createObjectURL(iconBlob);img.onload=()=>{var iconSize=Math.max(img.naturalWidth,img.naturalHeight);resolve({blob:iconBlob,url:iconUrl,size:iconSize,timestamp:Date.now()});};img.onerror=()=>{reject(new Error(`Error while loading image.`));};}).catch((e)=>{reject(new Error(`Error while loading image: ${e}`));});});}
function fetchIconBlob(iconUrl){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest({mozAnon:true,mozSystem:true});xhr.open('GET',iconUrl,true);xhr.responseType='blob';xhr.timeout=FETCH_XHR_TIMEOUT;xhr.send();xhr.onload=()=>{if(xhr.readyState===XMLHttpRequest.DONE&&xhr.status===200){var iconBlob=xhr.response;resolve(iconBlob);return;}
reject(new Error(`Got HTTP status ${xhr.status} trying to load ${iconUrl}.`));};xhr.onerror=xhr.ontimeout=()=>{reject(new Error(`Error while getting ${iconUrl}.`));};});}
exports.IconsHelper={getIcon:getIcon,getIconBlob:getIconBlob,setElementIcon:setElementIcon,getBestIconFromWebManifest:getBestIconFromWebManifest,getBestIconFromMetaTags:getBestIconFromMetaTags,fetchIcon:fetchIcon,fetchIconBlob:fetchIconBlob,get defaultIconSize(){return getDefaultIconSize();},clear:clear,getNearestSize:getNearestSize,};})(window);;'use strict';function Provider(){}
Provider.prototype={name:'Provider',dedupes:false,init:function(searchObj){this.searchObj=searchObj;this.container=document.getElementById(this.name.toLowerCase());this.container.addEventListener('click',this.click.bind(this));},clear:function(){this.container.innerHTML='';},click:function(){},abort:function(){if(this.request&&this.request.abort){this.request.abort();}},updateIcon:function(config,iconWrapper){var iconDom=iconWrapper.querySelector('img');IconsHelper.getIcon(config.dataset.url,null,config).then((icon)=>{if(icon&&iconDom){iconDom.onload=function(){iconWrapper.classList.remove('empty');iconDom.style.display='block';};iconDom.src=icon;}});},buildResultsDom:function(results){var frag=document.createDocumentFragment();results.forEach(function(config,index){var result=document.createElement('div');var iconWrapper=document.createElement('div');var icon=document.createElement('img');var description=document.createElement('div');var title=document.createElement('span');var meta=document.createElement('small');result.classList.add('result');iconWrapper.classList.add('icon');description.classList.add('description');title.classList.add('title');meta.classList.add('meta');for(var i in config.dataset){result.dataset[i]=config.dataset[i];}
if(config.title){title.setAttribute('dir','auto');title.textContent=config.title;}else{title.setAttribute('dir','ltr');title.textContent=config.url;}
if(config.meta){meta.textContent=config.meta;if(config.description){meta.id=this.name+'-description-'+index;meta.setAttribute('aria-label',config.description);result.setAttribute('aria-describedby',meta.id);}}
icon.setAttribute('role','presentation');if(config.icon){icon.src=window.URL.createObjectURL(config.icon);}else{iconWrapper.classList.add('empty');}
result.setAttribute('role','link');result.setAttribute('aria-label',config.label||config.title);description.appendChild(title);description.appendChild(meta);iconWrapper.appendChild(icon);result.appendChild(iconWrapper);result.appendChild(description);frag.appendChild(result);if(!config.icon){this.updateIcon(config,iconWrapper);}},this);return frag;},render:function(results){var dom=this.buildResultsDom(results);this.container.appendChild(dom);if(this.header){results.length?this.header.classList.remove('hidden'):this.header.classList.add('hidden');}}};;'use strict';function DataGridProvider(){}
DataGridProvider.prototype={__proto__:Provider.prototype,name:'DataGridProvider',isGridProvider:true,init:function(){this.grid=document.getElementById('icons');},clear:function(){this.grid.clear();},render:function(results){results.forEach(function(config,index){this.grid.add(config.data);},this);this.grid.render({skipDivider:true});}};;(function(exports){'use strict';var _=navigator.mozL10n.get;var MAX_AWESOME_RESULTS=4;var MAX_HISTORY_RESULTS=20;var MAX_TOPSITES_RESULTS=6;var STORE_NAME='places';var topSitesWrapper=document.getElementById('top-sites');var historyWrapper=document.getElementById('history');if(topSitesWrapper&&historyWrapper){topSitesWrapper.addEventListener('click',itemClicked);historyWrapper.addEventListener('click',itemClicked);}
var cachedLink=document.createElement('a');function parseUrl(url){cachedLink.href=url;return cachedLink;}
var icons={};var iconUrls={};function getIcon(place){if(place.url in icons&&icons[place.url]){return icons[place.url];}
IconsHelper.getIcon(place.url,null,place).then(icon=>{saveIcon(place.url,icon);});return false;}
function saveIcon(key,url){if(key in icons){return;}
icons[key]=null;iconUrls[key]=url;fetchIcon(url,function(err,icon){if(!err){icons[key]=icon;}});}
function fetchIcon(uri,callback){var xhr=new XMLHttpRequest({mozSystem:true});xhr.open('GET',uri,true);xhr.responseType='blob';xhr.addEventListener('load',function(){if(!(xhr.status===200||xhr.status===0)){return callback(new Error('error_downloading'));}
var blob=xhr.response;if(blob.size>this.MAX_ICON_SIZE){return callback(new Error('image_to_large'));}
var img=document.createElement('img');img.src=window.URL.createObjectURL(blob);img.onload=function(){window.URL.revokeObjectURL(img.src);if(img.naturalWidth<=0){return callback(new Error('Cannot load image'));}
callback(null,blob);};img.onerror=function(){window.URL.revokeObjectURL(img.src);return callback(new Error('Cannot load image'));};});xhr.onerror=function(err){return callback(new Error('Cannot load uri'));};xhr.send();}
function itemClicked(e){if(e.target.dataset.url){Search.navigate(e.target.dataset.url);}}
var listTemplate=createList();function createList(){var list=document.createElement('ul');list.setAttribute('role','listbox');return list;}
function incrementHistoryThreshold(timestamp,currentThreshold,thresholds){var newThreshold=currentThreshold+=1;if(timestamp<thresholds[newThreshold]){return incrementHistoryThreshold(timestamp,newThreshold,thresholds);}
return newThreshold;}
function drawHistoryHeading(parent,threshold,timestamp){var LABELS=['future','today','yesterday','last-7-days','this-month','last-6-months','older-than-6-months'];var text='';if(threshold==5&&timestamp){var date=new Date(timestamp);var now=new Date();text=_('month-'+date.getMonth());if(date.getFullYear()!=now.getFullYear()){text+=' '+date.getFullYear();}}else{text=_(LABELS[threshold]);}
var h3=document.createElement('h3');var spanNode=document.createElement('span');spanNode.textContent=text;var ul=listTemplate.cloneNode(true);h3.appendChild(spanNode);parent.appendChild(h3);parent.appendChild(ul);}
function updateIcon(visit,iconWrapper){var iconDom=iconWrapper.querySelector('img');IconsHelper.getIcon(visit.url,null,visit).then((icon)=>{if(icon&&iconDom){iconDom.onload=function(){iconWrapper.classList.remove('empty');iconDom.style.display='block';};iconDom.src=icon;}});}
function buildHistory(visits){var thresholds=[Date.now(),DateHelper.todayStarted(),DateHelper.yesterdayStarted(),DateHelper.thisWeekStarted(),DateHelper.thisMonthStarted(),DateHelper.lastSixMonthsStarted(),0];var threshold=0;var month=null;var year=null;var fragment=document.createDocumentFragment();visits.forEach(function(visit){if(visit.date>0&&visit.date<thresholds[threshold]){threshold=incrementHistoryThreshold(visit.date,threshold,thresholds);if(threshold!=5){drawHistoryHeading(fragment,threshold);}}
if(threshold===5){var timestampDate=new Date(visit.date);if(timestampDate.getMonth()!=month||timestampDate.getFullYear()!=year){month=timestampDate.getMonth();year=timestampDate.getFullYear();drawHistoryHeading(fragment,threshold,visit.date);}}
visit.meta=visit.url;visit.dataset={url:visit.url};var dom=exports.Places.buildResultsDom([visit]);var iconDom=dom.querySelector('.icon');fragment.appendChild(dom);updateIcon(visit,iconDom);});return fragment;}
function showStartPage(){if(!topSitesWrapper||!historyWrapper){return;}
var store=exports.Places.persistStore;var urls=[];store.readVisits(MAX_HISTORY_RESULTS,function(results){var docFragment=buildHistory(results);historyWrapper.innerHTML='';historyWrapper.appendChild(docFragment);},function filter(visit){var isStored=visit.url in urls;urls[visit.url]=true;return!isStored;});store.read('frecency',MAX_TOPSITES_RESULTS,function(results){var docFragment=document.createDocumentFragment();results.forEach(function(x){docFragment.appendChild(formatTopResult(x));});topSitesWrapper.innerHTML='';topSitesWrapper.appendChild(docFragment);});}
function formatTopResult(result){var div=document.createElement('div');var span=document.createElement('span');if(result.title){span.setAttribute('dir','auto');span.textContent=result.title;}else{span.setAttribute('dir','ltr');span.textContent=result.url;}
div.dataset.url=result.url;div.classList.add('top-site');div.appendChild(span);div.setAttribute('role','link');if(result.screenshot||result.tile){var img=result.screenshot||result.tile;var imgUrl=(typeof img==='string')?img:URL.createObjectURL(img);div.style.backgroundImage='url('+imgUrl+')';}
return div;}
function matchesFilter(value,filter){return!filter||(value&&value.match(new RegExp(filter,'i'))!==null);}
function formatPlace(placeObj,filter){var result={'title':placeObj.title,'meta':placeObj.url,'icon':getIcon(placeObj),'dataset':{'url':placeObj.url},'label':placeObj.title};return result;}
function Places(){}
Places.prototype={__proto__:Provider.prototype,name:'Places',click:itemClicked,init:function(){if(!topSitesWrapper||!historyWrapper){this.header=document.getElementById(this.name.toLowerCase()+'-header');this.container=document.getElementById(this.name.toLowerCase());this.container.addEventListener('click',this.click.bind(this));}
this.persistStore=new PlacesIdbStore();this.persistStore.init().then(()=>{this.syncStore=new SyncDataStore(STORE_NAME,this.persistStore,'url');this.syncStore.filter=function(place){return place.url.startsWith('app://')||place.url==='about:blank';};this.syncStore.onChange=function(){showStartPage();};var rev=this.persistStore.latestRevision||0;return this.syncStore.sync(rev).then(()=>{return new Promise(resolve=>{function done(){showStartPage();resolve();}
asyncStorage.getItem('have-preloaded-sites',(havePreloaded)=>{if(!havePreloaded){this.preloadTopSites().then(()=>{asyncStorage.setItem('have-preloaded-sites',true);done();});}else{done();}});});});});},saveSites:function(sites){return Promise.all(sites.map(site=>{site.frecency=-2;return this.persistStore.addPlace(site);}));},preloadTopSites:function(){return LazyLoader.getJSON('/js/inittopsites.json').then(sites=>{return this.saveSites(sites);});},search:function(filter){return new Promise((resolve,reject)=>{var matchedOrigins={};this.persistStore.read('frecency',MAX_AWESOME_RESULTS,(results)=>{resolve(results.map(function(result){return formatPlace(result,filter);}));},function filterFun(result){if(result.frecency<=0){return false;}
var url=parseUrl(result.url);var matches=!(url.hostname in matchedOrigins)&&(matchesFilter(result.title,filter)||matchesFilter(result.url,filter));if(matches){matchedOrigins[url.hostname]=true;}
return matches;});});}};exports.Places=new Places();Search.provider(exports.Places);}(window));

View file

@ -0,0 +1,6 @@
;(function(exports){'use strict';exports.ComponentUtils={style:function(baseUrl){if(window.VulpesCompat){window.VulpesCompat.componentStyle(this,baseUrl).catch(console.error);return;}var style=document.createElement('style');var url=baseUrl+'style.css';var self=this;style.setAttribute('scoped','');style.innerHTML='@import url('+url+');';this.appendChild(style);this.style.visibility='hidden';style.addEventListener('load',function(){if(self.shadowRoot){self.shadowRoot.appendChild(style.cloneNode(true));}
self.style.visibility='';});}};}(window));;'use strict';window.GaiaButtons=(function(win){var proto=Object.create(HTMLElement.prototype);var baseurl=window.GaiaButtonsBaseurl||'/shared/elements/gaia_buttons/';proto.createdCallback=function(){ComponentUtils.style.call(this,baseurl);};return document.registerElement('gaia-buttons',{prototype:proto});})(window);;'use strict';window.GaiaCheckbox=(function(win){var proto=Object.create(HTMLElement.prototype);var baseurl=window.GaiaCheckboxBaseurl||'/shared/elements/gaia_checkbox/';proto.createdCallback=function(){this.lastClick=0;this.throttleTime=250;var shadow=this.createShadowRoot();this._template=template.content.cloneNode(true);this._wrapper=this._template.getElementById('checkbox');this._wrapper.addEventListener('click',this.handleClick.bind(this));this.configureClass();this.checked=this.hasAttribute('checked');this._wrapper.setAttribute('aria-checked',this.checked);this.setAttribute('role','presentation');shadow.appendChild(this._template);ComponentUtils.style.call(this,baseurl);};proto.handleClick=function(e){e.preventDefault();e.stopImmediatePropagation();if(this.lastClick+this.throttleTime>Date.now()){return;}
this.lastClick=Date.now();var event=new MouseEvent('click',{view:window,bubbles:true,cancelable:true});this.dispatchEvent(event);if(!event.defaultPrevented){this.checked=!this.checked;this._wrapper.setAttribute('aria-checked',this.checked);}
this.dispatchEvent(new CustomEvent('change',{bubbles:true,cancelable:false}));};proto.configureClass=function(){this._wrapper.className=this.className;};proto.attributeChangedCallback=function(name,from,to){if(name==='class'){this._wrapper.className=to;}};Object.defineProperty(proto,'checked',{get:function(){return this._checked||false;},set:function(value){this._wrapper.classList.toggle('checked',value);this._checked=value;}});Object.defineProperty(proto,'name',{get:function(){return this.getAttribute('name');},set:function(value){this.setAttribute('name',value);}});var template=document.createElement('template');template.innerHTML=`<span id="checkbox" role="checkbox">
<span role="presentation"><content select="label"></content></span>
</span>`;return document.registerElement('gaia-checkbox',{prototype:proto});})(window);

View file

@ -0,0 +1,110 @@
<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0">
<link rel="stylesheet" href="style/search.css">
<link rel="stylesheet" href="shared/elements/gaia_grid/style/external.css">
<link rel="stylesheet" href="shared/style/progress_activity.css">
<meta name="defaultLanguage" content="en-US">
<meta name="availableLanguages" content="ar:201601260729, bg:201601260729, bn-BD:201601260729, ca:201601260729, cs:201601260729, da:201601260729, de:201601260729, el:201601260729, en-US:201601260729, es:201601260729, eu:201601260729, fr:201601260729, gl:201601260729, hr:201601260729, hu:201601260729, it:201601260729, ja:201601260729, km:201601260729, ko:201601260729, lt:201601260729, mk:201601260729, ms:201601260729, ne-NP:201601260729, nl:201601260729, pa:201601260729, pl:201601260729, pt-BR:201601260729, ro:201601260729, ru:201601260729, sk:201601260729, sq:201601260729, sr-Cyrl:201601260729, sr-Latn:201601260729, sv-SE:201601260729, tr:201601260729, zh-CN:201601260729, zh-TW:201601260729">
<link rel="localization" href="/locales-obj/index.{locale}.json">
<!-- <script defer="" src="shared/js/l10n.js"></script> -->
<!-- <script defer="" src="shared/js/lazy_loader.js"></script> -->
<!-- <script defer="" src="shared/js/async_storage.js"></script> -->
<!-- <script defer="" src="shared/js/utilities.js"></script> -->
<!-- <script defer="" src="shared/js/settings_listener.js"></script> -->
<!-- <script defer="" src="shared/js/format.js"></script> -->
<!-- <script defer="" src="shared/js/search_provider.js"></script> -->
<!-- <script defer src="shared/js/search_providers.json"></script> -->
<!-- Confirm dialog component -->
<!-- <script defer="" src="/shared/js/component_utils.js"></script> -->
<!-- <script defer="" src="/shared/elements/gaia_buttons/script.js"></script> -->
<!-- <script defer="" src="/shared/elements/gaia_confirm/script.js"></script> -->
<!--- gaia_grid required scripts -->
<!-- <script defer="" src="shared/js/homescreens/homescreen_settings.js"></script> -->
<!-- <script defer="" src="shared/js/homescreens/confirm_dialog_helper.js"></script> -->
<!-- <script defer="" src="shared/elements/gaia_grid/js/grid_view.js"></script> -->
<!-- <script defer="" src="shared/elements/gaia_grid/js/grid_icon_renderer.js"></script> -->
<!-- <script defer="" src="shared/elements/gaia_grid/js/grid_layout.js"></script> -->
<!-- <script defer="" src="shared/elements/gaia_grid/js/grid_zoom.js"></script> -->
<!-- <script defer="" src="shared/elements/gaia_grid/script.js"></script> -->
<!-- <script defer="" src="shared/elements/gaia_grid/js/items/grid_item.js"></script> -->
<!-- <script defer="" src="shared/elements/gaia_grid/js/items/bookmark.js"></script> -->
<!-- <script defer="" src="shared/elements/gaia_grid/js/items/marketplace_app.js"></script> -->
<!-- <script defer="" src="shared/elements/gaia_grid/js/items/divider.js"></script> -->
<!-- <script defer="" src="shared/elements/gaia_grid/js/items/mozapp.js"></script> -->
<!-- <script defer="" src="shared/elements/gaia_grid/js/items/placeholder.js"></script> -->
<!-- <script defer="" src="shared/js/async_storage.js"></script> -->
<!-- <script defer="" src="shared/js/url_helper.js"></script> -->
<!-- <script defer="" src="shared/js/web_manifest_helper.js"></script> -->
<!-- <script defer="" src="shared/js/utilities.js"></script> -->
<!-- <script defer="" src="shared/js/dedupe.js"></script> -->
<!-- <script defer="" src="js/places_idb.js"></script> -->
<!-- <script defer="" src="shared/js/sync_datastore.js"></script> -->
<!-- <script defer="" src="shared/js/icons_helper.js"></script> -->
<!-- <script defer="" src="shared/js/metrics_helper.js"></script> -->
<!-- <script defer="" src="js/contextmenu.js"></script> -->
<!-- <script defer="" src="js/search.js"></script> -->
<!-- <script defer="" src="js/providers/provider.js"></script> -->
<!-- <script defer="" src="js/providers/grid_provider.js"></script> -->
<!-- Ordering of the following files will impact which queries we send first -->
<!-- <script defer="" src="js/providers/marketplace.js"></script> -->
<!-- <script defer="" src="js/providers/suggestions.js"></script> -->
<!-- <script defer="" src="js/providers/bookmarks.js"></script> -->
<!-- <script defer="" src="js/providers/places.js"></script> -->
<!-- <script defer="" src="js/providers/local_apps.js"></script> --><script src="./gaia_build_defer_index.js" defer="" type="text/javascript"></script>
<!-- Include the app icon in the application.zip -->
<link rel="resource" type="image/png" href="shared/resources/branding/browser_84.png">
<link rel="resource" type="image/png" href="shared/resources/branding/browser_126.png">
<link rel="resource" type="image/png" href="shared/resources/branding/browser_142.png">
<link rel="resource" type="image/png" href="shared/resources/branding/browser_189.png">
<link rel="resource" type="image/png" href="shared/resources/branding/browser_284.png">
<meta content="2.5" name="appVersion"></head>
<body>
<div id="search-results" class="hidden">
<div id="offline-message">
<span id="settings-connectivity"></span>
<span data-l10n-id="offline-message">No internet connection</span>
</div>
<section id="contacts" class="local" data-l10n-id="contacts" aria-label="Contacts"></section>
<section id="icons-wrapper" class="apps" data-l10n-id="apps" aria-label="Apps">
<gaia-grid cols="4" text-rows="3" id="icons"></gaia-grid>
</section>
<h2 id="places-header" class="hidden"><span data-l10n-id="history">HISTORY</span></h2>
<section id="places" class="local" data-l10n-id="places" aria-label="Places"></section>
<div id="suggestions-wrapper">
<h2>
<select id="suggestions-select"></select>
<label for="suggestions-select" id="suggestions-provider"></label>
<span id="suggestions-provider-dropdown"></span>
</h2>
<div id="suggestions-notice-wrapper" hidden="">
<p data-l10n-id="suggestions-settings-notice">Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span id="settings-link">Settings</span>.</p>
<button id="suggestions-notice-confirm" data-l10n-id="ok">OK</button>
</div>
<section id="suggestions" class="suggestions" data-l10n-id="suggestions" aria-label="Suggestions"></section>
<div class="loading"><progress></progress></div>
</div>
</div>
<menu id="contextmenu" hidden="">
<menuitem label="Add to Home Screen" id="add-to-homescreen" data-l10n-id="add-to-home-screen" type="button"></menuitem>
</menu>
</body>
</html>

View file

@ -0,0 +1,4 @@
;'use strict';(function(exports){function Contextmenu(){this.menu=document.getElementById('contextmenu');this.grid=document.getElementById('icons');this.bookmarkButton=this.menu.querySelector('#add-to-homescreen');this.grid.addEventListener('contextmenu',this);this.bookmarkButton.addEventListener('click',this);}
Contextmenu.prototype={icon:null,handleEvent:function(e){switch(e.type){case'contextmenu':var identifier=e.target.dataset.identifier;var icon=this.grid.getIcon(identifier);if(!icon||icon.detail.type!=='bookmark'){return;}
var url=icon.detail.url;if(Bookmarks.get(url)){return;}
e.target.setAttribute('contextmenu','contextmenu');this.grid.stop();setTimeout(()=>{e.target.removeAttribute('contextmenu');this.grid.start();});this.icon=icon;break;case'click':var iconUrl=this.icon.detail.iconUrl||this.icon.icon;new MozActivity({name:'save-bookmark',data:{type:'url',url:this.icon.detail.url,name:this.icon.name,icon:iconUrl}});break;}}};exports.Contextmenu=Contextmenu;}(window));

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,6 @@
;'use strict';(function(exports){var isManuallyPrivate=window.location.search.includes('private=1');var isManuallyRegular=window.location.search.includes('private=0');var isPrivateByDefault=false;SettingsListener.observe('browser.private.default',false,function(value){if(value){isPrivateByDefault=true;}else{isPrivateByDefault=false;}
exports.newtab.togglePrivacyMode();});function Newtab(){var self=this;navigator.mozApps.getSelf().onsuccess=function(){var app=this.result;app.connect('search-results').then(function onConnAccepted(ports){ports.forEach(function(port){self._port=port;});self.init();},function onConnectionRejected(reason){console.log('Error connecting: '+reason+'\n');});};this.togglePrivacyMode();}
Newtab.prototype={provider:null,init:function(){this.provider.init();this.provider.searchObj=this;},requestScreenshot:function(url){this._port.postMessage({'action':'request-screenshot','url':url});},requestPrivateWindow:function(){this._port.postMessage({'action':'private-window'});},togglePrivacyMode:function(){var themeMeta=document.querySelector('meta[name="theme-color"]');var themeColor=document.createElement('meta');if((isPrivateByDefault&&!isManuallyRegular)||(!isPrivateByDefault&&isManuallyPrivate)){if(themeMeta){document.head.removeChild(themeMeta);}
themeColor.setAttribute('name','theme-color');themeColor.setAttribute('content','#392E54');document.head.appendChild(themeColor);document.body.classList.add('private');asyncStorage.getItem('shouldSuppressPrivateDialog',value=>{if(value){return;}
this.privateBrowserDialog=document.getElementById('private-window-dialog');this.privateBrowserDialog.removeAttribute('hidden');this.privateBrowserDialogClose=document.getElementById('private-window-hide-dialog');this.privateBrowserDialogClose.addEventListener('click',this);this.privateBrowserLearnMore=document.getElementById('private-learn-more');this.privateBrowserLearnMore.addEventListener('click',this);});}
if(isPrivateByDefault&&isManuallyRegular){if(themeMeta){document.head.removeChild(themeMeta);}}},handleEvent:function(e){switch(e.target){case this.privateBrowserDialogClose:this.hidePrivateBrowserDialog();break;case this.privateBrowserLearnMore:this.learnAboutPrivateBrowsing(e);break;}},hidePrivateBrowserDialog:function(){this.privateBrowserDialog.setAttribute('hidden',true);var checkbox=this.privateBrowserDialog.querySelector('gaia-checkbox');if(checkbox.checked){asyncStorage.setItem('shouldSuppressPrivateDialog',true);}},learnAboutPrivateBrowsing:function(e){e.preventDefault();new MozActivity({name:'view',data:{type:'url',url:e.target.href}});}};exports.newtab=new Newtab();exports.Search={provider:function(provider){exports.newtab.provider=provider;},navigate:function(url){new MozActivity({name:'view',data:{type:'url',url:url}});}};})(window);

View file

@ -0,0 +1,6 @@
;;(function(exports){'use strict';var DB_NAME='places_idb_store';var DB_VERSION=3;var PLACES_STORE='places';var VISITS_STORE='visits';function PlacesIdbStore(){}
PlacesIdbStore.prototype={db:null,latestRevision:null,init:function(){var self=this;return new Promise(function(resolve,reject){var req=window.indexedDB.open(DB_NAME,DB_VERSION);req.onupgradeneeded=self.upgradeSchema;req.onsuccess=function(e){self.db=e.target.result;asyncStorage.getItem('latest-revision',function(value){self.latestRevision=value||0;resolve();});};});},upgradeSchema:function(e){var db=e.target.result;var fromVersion=e.oldVersion;if(fromVersion<1){var places=db.createObjectStore(PLACES_STORE,{keyPath:'url'});places.createIndex('frecency','frecency',{unique:false});places.createIndex('visited','visited',{unique:false});}
if(fromVersion<2){asyncStorage.removeItem('latest-revision');var visits=db.createObjectStore(VISITS_STORE,{keyPath:'date'});visits.createIndex('date','date',{unique:true});}
if(fromVersion<3){var oStore=e.target.transaction.objectStore(VISITS_STORE);oStore.createIndex('url','url',{unique:false});}},add:function(id,data,rev){return new Promise((resolve,reject)=>{var txn=this.db.transaction([PLACES_STORE,VISITS_STORE],'readwrite');if(data.visits&&data.visits.length===0){this._removeUrl(id).then(this.saveAndResolve(rev,resolve));}else{txn.objectStore(PLACES_STORE).put(data);if(!data.visits){data.visits=Number.isFinite(data.visited)?[data.visited]:[];}
var visitsStore=txn.objectStore(VISITS_STORE);data.visits.filter(Number.isFinite).forEach(function(date){visitsStore.put({date:date,url:data.url,title:data.title,icons:data.icons});});txn.oncomplete=this.saveAndResolve(rev,resolve);}});},addPlace:function(place){return new Promise((resolve,reject)=>{var txn=this.db.transaction([PLACES_STORE],'readwrite');txn.objectStore(PLACES_STORE).put(place);txn.oncomplete=resolve;});},remove:function(id,rev){return new Promise((resolve,reject)=>{this._removeUrl(id).then(this.saveAndResolve(rev,resolve));});},_removeUrl:function(id){return Promise.all([new Promise((resolve,reject)=>{var txn=this.db.transaction([PLACES_STORE],'readwrite');txn.objectStore(PLACES_STORE).delete(id);txn.oncomplete=resolve;}),new Promise((resolve,reject)=>{var txn=this.db.transaction([VISITS_STORE],'readwrite');var visitsStore=txn.objectStore(VISITS_STORE);var urlIndex=visitsStore.index('url');var req=urlIndex.openCursor(IDBKeyRange.only(id));req.onsuccess=function(){var cursor=req.result;if(cursor){visitsStore.delete(cursor.primaryKey);cursor.continue();}else{resolve();}};})]);},clear:function(rev){return new Promise((resolve,reject)=>{var txn=this.db.transaction([PLACES_STORE,VISITS_STORE],'readwrite');txn.objectStore(PLACES_STORE).clear();txn.objectStore(VISITS_STORE).clear();txn.oncomplete=this.saveAndResolve(rev,resolve);});},saveAndResolve:function(rev,resolve){return function(){asyncStorage.setItem('latest-revision',rev);resolve();};},readStore:function(store,index,limit,done,filter){var results=[];var txn=this.db.transaction(store,'readonly');var oStore=txn.objectStore(store);oStore.index(index).openCursor(null,'prev').onsuccess=function(event){var cursor=event.target.result;if(cursor){if(!filter||filter(cursor.value)){results.push(cursor.value);}
if(results.length<limit){cursor.continue();}}};txn.oncomplete=function(){done(results);};},read:function(index,limit,done,filter){this.readStore(PLACES_STORE,index,limit,done,filter);},readVisits:function(limit,done,filter){this.readStore(VISITS_STORE,'date',limit,done,filter);}};exports.PlacesIdbStore=PlacesIdbStore;})(window);

View file

@ -0,0 +1,6 @@
;(function(exports){'use strict';var STORE_NAME='bookmarks_store';function formatBookmark(bookmark){return{data:new GaiaGrid.Bookmark({id:bookmark.url,name:bookmark.name||bookmark.url,url:bookmark.url,icon:bookmark.icon})};}
function Bookmarks(){}
Bookmarks.prototype={__proto__:DataGridProvider.prototype,name:'Bookmarks',init:function(){DataGridProvider.prototype.init.apply(this,arguments);this.persistStore=new InMemoryStore();this.syncStore=new SyncDataStore(STORE_NAME,this.persistStore,'url');return this.syncStore.sync();},get:function(url){var results=this.persistStore.results;for(var idx in results){var item=results[idx];if(item.url===url){return formatBookmark(item);}}
return null;},search:function(filter){var self=this;return new Promise(function(resolve,reject){var renderResults=[];filter=filter.toLowerCase();for(var elem in self.persistStore.results){var bookmark=self.persistStore.results[elem];var name=('name'in bookmark)&&bookmark.name.toLowerCase();if((!bookmark.url||bookmark.url.indexOf(filter)==-1)&&(!name||name.indexOf(filter)==-1)){continue;}
renderResults.push(formatBookmark(bookmark));}
resolve(renderResults);});}};exports.Bookmarks=new Bookmarks();Search.provider(exports.Bookmarks);}(window));

View file

@ -0,0 +1,77 @@
(function() {
'use strict';
/* global MozActivity, Promise, Provider, Search */
function Contacts() {
}
Contacts.prototype = {
__proto__: Provider.prototype,
name: 'Contacts',
click: function(e) {
var target = e.target;
Search.close();
/* jshint nonew: false */
new MozActivity({
name: 'open',
data: {
type: 'webcontacts/contact',
params: {
'id': target.dataset.contactId
}
}
});
},
search: function(input) {
return new Promise((resolve, reject) => {
var options = {
filterValue: input,
filterBy: ['givenName'],
filterOp: 'startsWith'
};
this.clear();
var request = navigator.mozContacts.find(options);
request.onsuccess = (function() {
var results = request.result;
if (!results.length) {
return reject();
}
var renderResults = [];
for (var i = 0; i < results.length; i++) {
var result = results[i];
for (var j = 0; j < result.name.length; j++) {
var renderObj = {
title: result.name[j],
dataset: {
contactId: result.id
}
};
if (result.photo) {
renderObj.icon = result.photo[0];
}
renderResults.push(renderObj);
}
}
resolve(renderResults);
}).bind(this);
request.onerror = function() {
};
});
}
};
Search.provider(new Contacts());
}());

View file

@ -0,0 +1,2 @@
;;'use strict';function DataGridProvider(){}
DataGridProvider.prototype={__proto__:Provider.prototype,name:'DataGridProvider',isGridProvider:true,init:function(){this.grid=document.getElementById('icons');},clear:function(){this.grid.clear();},render:function(results){results.forEach(function(config,index){this.grid.add(config.data);},this);this.grid.render({skipDivider:true});}};

View file

@ -0,0 +1,4 @@
;(function(){'use strict';function LocalApps(){this.apps={};this.appListing=[];this.blacklist;var mozApps=navigator.mozApps.mgmt;mozApps.oninstall=e=>{var app=e.application;var processApp=()=>{this.apps[app.manifestURL]=app;this.createAppListing();};if(app.downloading){app.ondownloadapplied=processApp;}else{processApp();}};mozApps.onuninstall=e=>{delete this.apps[e.application.manifestURL];this.createAppListing();};mozApps.getAll().onsuccess=e=>{e.target.result.forEach(app=>{this.apps[app.manifestURL]=app;});this.createBlacklist().then(()=>{this.createAppListing();});};}
LocalApps.prototype={__proto__:DataGridProvider.prototype,name:'LocalApps',dedupes:true,dedupeStrategy:'exact',createBlacklist:function(){return new Promise((resolve,reject)=>{var self=this;var key='app.launch_path.blacklist';var req=navigator.mozSettings.createLock().get(key);req.onsuccess=function onsuccess(){self.blacklist=req.result[key]||[];resolve();};});},createAppListing:function(){var appListing=[];var blacklist=this.blacklist;var manifestURLs=Object.keys(this.apps);manifestURLs.forEach(function eachManifest(manifestURL){var app=this.apps[manifestURL];var manifest=app.manifest||app.updateManifest;var HIDDEN_ROLES=['system','input','homescreen','search','theme','addon','langpack'];if(HIDDEN_ROLES.indexOf(manifest.role)!==-1){return;}
var entryPoints=manifest.entry_points;if(entryPoints){for(var i in entryPoints){var entry=entryPoints[i];entry.entryPoint=i;entry.manifestURL=app.manifestURL;appListing.push(entry);}}else{manifest.manifestURL=app.manifestURL;appListing.push(manifest);}
if(blacklist){blacklist.forEach(function(blackentry){for(var i in appListing){var app=appListing[i];if(app.launch_path===blackentry){appListing.splice(i,1);}}});}},this);this.appListing=appListing;},removeAppListing:function(app){for(var i in this.appListing){var manifest=this.appListing[i];if(manifest.manifestURL===app.manifestURL){this.appListing.splice(i,1);}}},search:function(input){return new Promise((resolve,reject)=>{var results=this.find(input);var formatted=[];results.forEach(function eachResult(result){formatted.push({dedupeId:result.app.manifestURL,data:new GaiaGrid.Mozapp(result.app,result.entryPoint)});},this);resolve(formatted);});},matches:function(manifest,query){query=query.toLowerCase();var shortName=manifest.short_name||'';var userLang=document.documentElement.lang;var locales=manifest.locales;var localized=locales&&locales[userLang]&&locales[userLang].name;localized=localized||'';return shortName.toLowerCase().indexOf(query)!=-1||manifest.name.toLowerCase().indexOf(query)!=-1||localized.toLowerCase().indexOf(query)!=-1;},find:function(query){var results=[];this.appListing.forEach(function(manifest){if(this.matches(manifest,query)){results.push({app:this.apps[manifest.manifestURL],entryPoint:manifest.entryPoint});}},this);return results;}};Search.provider(new LocalApps());}());

View file

@ -0,0 +1,5 @@
;(function(){'use strict';const NUM_DISPLAY=4;var apiUrl=null;function Marketplace(){}
Marketplace.prototype={__proto__:DataGridProvider.prototype,name:'Marketplace',dedupes:true,dedupeStrategy:'exact',remote:true,init:function(){DataGridProvider.prototype.init.apply(this,arguments);var urlKey='search.marketplace.url';var req=navigator.mozSettings.createLock().get(urlKey);req.onsuccess=function(){if(req.result[urlKey]){apiUrl=req.result[urlKey].replace('{limit}',NUM_DISPLAY).replace('{lang}',document.documentElement.lang);}};},search:function(input){return new Promise((resolve,reject)=>{this.abort();if(!input||!apiUrl){return resolve([]);}
var req=new XMLHttpRequest();req.open('GET',apiUrl.replace('{q}',encodeURIComponent(input)),true);req.onload=(function onload(){var results=JSON.parse(req.responseText);if(!results.length){resolve([]);return;}
var length=Math.min(NUM_DISPLAY,results.length);var formatted=[];for(var i=0;i<length;i++){var app=results[i];formatted.push({dedupeId:app.manifest_url,data:new GaiaGrid.MarketPlaceApp({id:app.manifest_url,name:navigator.mozL10n.get('install-marketplace-title',{title:app.name}),icons:app.icons,slug:app.slug})});}
resolve(formatted);}).bind(this);req.onerror=function onerror(){console.log('Marketplace error.');reject();};req.ontimeout=function ontimeout(){console.log('Marketplace timeout.');reject();};req.send();this.request=req;});}};Search.provider(new Marketplace());}());

View file

@ -0,0 +1,33 @@
;;(function(exports){'use strict';var _=navigator.mozL10n.get;var MAX_AWESOME_RESULTS=4;var MAX_HISTORY_RESULTS=20;var MAX_TOPSITES_RESULTS=6;var STORE_NAME='places';var topSitesWrapper=document.getElementById('top-sites');var historyWrapper=document.getElementById('history');if(topSitesWrapper&&historyWrapper){topSitesWrapper.addEventListener('click',itemClicked);historyWrapper.addEventListener('click',itemClicked);}
var cachedLink=document.createElement('a');function parseUrl(url){cachedLink.href=url;return cachedLink;}
var icons={};var iconUrls={};function getIcon(place){if(place.url in icons&&icons[place.url]){return icons[place.url];}
IconsHelper.getIcon(place.url,null,place).then(icon=>{saveIcon(place.url,icon);});return false;}
function saveIcon(key,url){if(key in icons){return;}
icons[key]=null;iconUrls[key]=url;fetchIcon(url,function(err,icon){if(!err){icons[key]=icon;}});}
function fetchIcon(uri,callback){var xhr=new XMLHttpRequest({mozSystem:true});xhr.open('GET',uri,true);xhr.responseType='blob';xhr.addEventListener('load',function(){if(!(xhr.status===200||xhr.status===0)){return callback(new Error('error_downloading'));}
var blob=xhr.response;if(blob.size>this.MAX_ICON_SIZE){return callback(new Error('image_to_large'));}
var img=document.createElement('img');img.src=window.URL.createObjectURL(blob);img.onload=function(){window.URL.revokeObjectURL(img.src);if(img.naturalWidth<=0){return callback(new Error('Cannot load image'));}
callback(null,blob);};img.onerror=function(){window.URL.revokeObjectURL(img.src);return callback(new Error('Cannot load image'));};});xhr.onerror=function(err){return callback(new Error('Cannot load uri'));};xhr.send();}
function itemClicked(e){if(e.target.dataset.url){Search.navigate(e.target.dataset.url);}}
var listTemplate=createList();function createList(){var list=document.createElement('ul');list.setAttribute('role','listbox');return list;}
function incrementHistoryThreshold(timestamp,currentThreshold,thresholds){var newThreshold=currentThreshold+=1;if(timestamp<thresholds[newThreshold]){return incrementHistoryThreshold(timestamp,newThreshold,thresholds);}
return newThreshold;}
function drawHistoryHeading(parent,threshold,timestamp){var LABELS=['future','today','yesterday','last-7-days','this-month','last-6-months','older-than-6-months'];var text='';if(threshold==5&&timestamp){var date=new Date(timestamp);var now=new Date();text=_('month-'+date.getMonth());if(date.getFullYear()!=now.getFullYear()){text+=' '+date.getFullYear();}}else{text=_(LABELS[threshold]);}
var h3=document.createElement('h3');var spanNode=document.createElement('span');spanNode.textContent=text;var ul=listTemplate.cloneNode(true);h3.appendChild(spanNode);parent.appendChild(h3);parent.appendChild(ul);}
function updateIcon(visit,iconWrapper){var iconDom=iconWrapper.querySelector('img');IconsHelper.getIcon(visit.url,null,visit).then((icon)=>{if(icon&&iconDom){iconDom.onload=function(){iconWrapper.classList.remove('empty');iconDom.style.display='block';};iconDom.src=icon;}});}
function buildHistory(visits){var thresholds=[Date.now(),DateHelper.todayStarted(),DateHelper.yesterdayStarted(),DateHelper.thisWeekStarted(),DateHelper.thisMonthStarted(),DateHelper.lastSixMonthsStarted(),0];var threshold=0;var month=null;var year=null;var fragment=document.createDocumentFragment();visits.forEach(function(visit){if(visit.date>0&&visit.date<thresholds[threshold]){threshold=incrementHistoryThreshold(visit.date,threshold,thresholds);if(threshold!=5){drawHistoryHeading(fragment,threshold);}}
if(threshold===5){var timestampDate=new Date(visit.date);if(timestampDate.getMonth()!=month||timestampDate.getFullYear()!=year){month=timestampDate.getMonth();year=timestampDate.getFullYear();drawHistoryHeading(fragment,threshold,visit.date);}}
visit.meta=visit.url;visit.dataset={url:visit.url};var dom=exports.Places.buildResultsDom([visit]);var iconDom=dom.querySelector('.icon');fragment.appendChild(dom);updateIcon(visit,iconDom);});return fragment;}
function showStartPage(){if(!topSitesWrapper||!historyWrapper){return;}
var store=exports.Places.persistStore;var urls=[];store.readVisits(MAX_HISTORY_RESULTS,function(results){var docFragment=buildHistory(results);historyWrapper.innerHTML='';historyWrapper.appendChild(docFragment);},function filter(visit){var isStored=visit.url in urls;urls[visit.url]=true;return!isStored;});store.read('frecency',MAX_TOPSITES_RESULTS,function(results){var docFragment=document.createDocumentFragment();results.forEach(function(x){docFragment.appendChild(formatTopResult(x));});topSitesWrapper.innerHTML='';topSitesWrapper.appendChild(docFragment);});}
function formatTopResult(result){var div=document.createElement('div');var span=document.createElement('span');if(result.title){span.setAttribute('dir','auto');span.textContent=result.title;}else{span.setAttribute('dir','ltr');span.textContent=result.url;}
div.dataset.url=result.url;div.classList.add('top-site');div.appendChild(span);div.setAttribute('role','link');if(result.screenshot||result.tile){var img=result.screenshot||result.tile;var imgUrl=(typeof img==='string')?img:URL.createObjectURL(img);div.style.backgroundImage='url('+imgUrl+')';}
return div;}
function matchesFilter(value,filter){return!filter||(value&&value.match(new RegExp(filter,'i'))!==null);}
function formatPlace(placeObj,filter){var result={'title':placeObj.title,'meta':placeObj.url,'icon':getIcon(placeObj),'dataset':{'url':placeObj.url},'label':placeObj.title};return result;}
function Places(){}
Places.prototype={__proto__:Provider.prototype,name:'Places',click:itemClicked,init:function(){if(!topSitesWrapper||!historyWrapper){this.header=document.getElementById(this.name.toLowerCase()+'-header');this.container=document.getElementById(this.name.toLowerCase());this.container.addEventListener('click',this.click.bind(this));}
this.persistStore=new PlacesIdbStore();this.persistStore.init().then(()=>{this.syncStore=new SyncDataStore(STORE_NAME,this.persistStore,'url');this.syncStore.filter=function(place){return place.url.startsWith('app://')||place.url==='about:blank';};this.syncStore.onChange=function(){showStartPage();};var rev=this.persistStore.latestRevision||0;return this.syncStore.sync(rev).then(()=>{return new Promise(resolve=>{function done(){showStartPage();resolve();}
asyncStorage.getItem('have-preloaded-sites',(havePreloaded)=>{if(!havePreloaded){this.preloadTopSites().then(()=>{asyncStorage.setItem('have-preloaded-sites',true);done();});}else{done();}});});});});},saveSites:function(sites){return Promise.all(sites.map(site=>{site.frecency=-2;return this.persistStore.addPlace(site);}));},preloadTopSites:function(){return LazyLoader.getJSON('/js/inittopsites.json').then(sites=>{return this.saveSites(sites);});},search:function(filter){return new Promise((resolve,reject)=>{var matchedOrigins={};this.persistStore.read('frecency',MAX_AWESOME_RESULTS,(results)=>{resolve(results.map(function(result){return formatPlace(result,filter);}));},function filterFun(result){if(result.frecency<=0){return false;}
var url=parseUrl(result.url);var matches=!(url.hostname in matchedOrigins)&&(matchesFilter(result.title,filter)||matchesFilter(result.url,filter));if(matches){matchedOrigins[url.hostname]=true;}
return matches;});});}};exports.Places=new Places();Search.provider(exports.Places);}(window));

View file

@ -0,0 +1,6 @@
;;'use strict';function Provider(){}
Provider.prototype={name:'Provider',dedupes:false,init:function(searchObj){this.searchObj=searchObj;this.container=document.getElementById(this.name.toLowerCase());this.container.addEventListener('click',this.click.bind(this));},clear:function(){this.container.innerHTML='';},click:function(){},abort:function(){if(this.request&&this.request.abort){this.request.abort();}},updateIcon:function(config,iconWrapper){var iconDom=iconWrapper.querySelector('img');IconsHelper.getIcon(config.dataset.url,null,config).then((icon)=>{if(icon&&iconDom){iconDom.onload=function(){iconWrapper.classList.remove('empty');iconDom.style.display='block';};iconDom.src=icon;}});},buildResultsDom:function(results){var frag=document.createDocumentFragment();results.forEach(function(config,index){var result=document.createElement('div');var iconWrapper=document.createElement('div');var icon=document.createElement('img');var description=document.createElement('div');var title=document.createElement('span');var meta=document.createElement('small');result.classList.add('result');iconWrapper.classList.add('icon');description.classList.add('description');title.classList.add('title');meta.classList.add('meta');for(var i in config.dataset){result.dataset[i]=config.dataset[i];}
if(config.title){title.setAttribute('dir','auto');title.textContent=config.title;}else{title.setAttribute('dir','ltr');title.textContent=config.url;}
if(config.meta){meta.textContent=config.meta;if(config.description){meta.id=this.name+'-description-'+index;meta.setAttribute('aria-label',config.description);result.setAttribute('aria-describedby',meta.id);}}
icon.setAttribute('role','presentation');if(config.icon){icon.src=window.URL.createObjectURL(config.icon);}else{iconWrapper.classList.add('empty');}
result.setAttribute('role','link');result.setAttribute('aria-label',config.label||config.title);description.appendChild(title);description.appendChild(meta);iconWrapper.appendChild(icon);result.appendChild(iconWrapper);result.appendChild(description);frag.appendChild(result);if(!config.icon){this.updateIcon(config,iconWrapper);}},this);return frag;},render:function(results){var dom=this.buildResultsDom(results);this.container.appendChild(dom);if(this.header){results.length?this.header.classList.remove('hidden'):this.header.classList.add('hidden');}}};

View file

@ -0,0 +1,7 @@
;(function(){'use strict';var suggestionsWrapper=document.getElementById('suggestions-wrapper');var suggestionsProvider=document.getElementById('suggestions-provider');var suggestionsSelect=document.getElementById('suggestions-select');function providerUpdated(){navigator.mozL10n.setAttributes(suggestionsProvider,'search-header',{provider:SearchProvider('title').toUpperCase()});var providers=SearchProvider.providers();var selectFragment=document.createDocumentFragment();var optionNode=document.createElement('option');Object.keys(providers).forEach(provider=>{var option=optionNode.cloneNode();option.value=provider;option.text=providers[provider].title;if(provider===SearchProvider.selected()){option.selected=true;}
selectFragment.appendChild(option);});suggestionsSelect.innerHTML='';suggestionsSelect.appendChild(selectFragment);}
function encodeTerms(str,search){return str.replace('{searchTerms}',encodeURIComponent(search));}
function Suggestions(){}
Suggestions.prototype={__proto__:Provider.prototype,name:'Suggestions',currentSearch:null,init:function(){this.metrics=new MetricsHelper();this.metrics.init();Provider.prototype.init.apply(this,arguments);suggestionsSelect.addEventListener('change',function(e){SearchProvider.setProvider(e.target.value);});SearchProvider.ready().then(()=>{providerUpdated();SearchProvider.providerUpdated(()=>{providerUpdated();this.redoSearch();});});},redoSearch:function(){if(!this.currentSearch){return;}
this.search(this.currentSearch).then(results=>{this.render(results);});},click:function(e){this.metrics.report('websearch',SearchProvider('title'));var suggestion=e.target.dataset.suggestion;var url=encodeTerms(SearchProvider('searchUrl'),suggestion);Search.navigate(url);},search:function(input,preventRemote){this.currentSearch=preventRemote?null:input;this.render([input]);if(!navigator.onLine||preventRemote){return Promise.resolve([input]);}
suggestionsWrapper.dataset.loading=true;return SearchProvider.ready().then(()=>{return new Promise((resolve,reject)=>{var url=encodeTerms(SearchProvider('suggestUrl'),input);LazyLoader.getJSON(url,true).then(result=>{var results=result[1];results.unshift(input);resolve(results);}).catch(function(){suggestionsWrapper.dataset.loading=false;reject();});});});},render:function(items){var ul=document.createElement('ul');ul.setAttribute('role','listbox');items.forEach(function each(item){var li=document.createElement('li');li.dataset.suggestion=li.textContent=item;li.setAttribute('role','option');ul.appendChild(li);});suggestionsWrapper.dataset.loading=false;this.container.innerHTML='';if(ul.childNodes.length){this.container.appendChild(ul);}},clear:function(){Provider.prototype.clear.apply(this,arguments);this.currentSearch=null;}};Search.provider(new Suggestions());}());

View file

@ -0,0 +1,14 @@
;(function(){'use strict';var SEARCH_DELAY=500;var MAX_GRID_SIZE=4;window.Search={_port:null,providers:{},gridCount:0,searchResults:document.getElementById('search-results'),offlineMessage:document.getElementById('offline-message'),suggestionsWrapper:document.getElementById('suggestions-wrapper'),grid:document.getElementById('icons'),gridWrapper:document.getElementById('icons-wrapper'),suggestionsEnabled:false,suggestionNotice:document.getElementById('suggestions-notice-wrapper'),get settingsLink(){return document.getElementById('settings-link');},toShowNotice:null,NOTICE_KEY:'notice-shown',init:function(){this.dedupe=new SearchDedupe();this.metrics=new MetricsHelper();this.metrics.init();var self=this;navigator.mozApps.getSelf().onsuccess=function(){var app=this.result;app.connect('search-results').then(function onConnAccepted(ports){ports.forEach(function(port){self._port=port;});setConnectionHandler();},function onConnectionRejected(reason){console.log('Error connecting: '+reason+'\n');});};function setConnectionHandler(){navigator.mozSetMessageHandler('connection',function(connectionRequest){var keyword=connectionRequest.keyword;var port=connectionRequest.port;if(keyword==='search'){port.onmessage=self.dispatchMessage.bind(self);port.start();}});initializeProviders();}
function initializeProviders(){for(var i in self.providers){self.providers[i].init(self);}}
var enabledKey='search.suggestions.enabled';SettingsListener.observe(enabledKey,true,function(enabled){this.suggestionsEnabled=enabled;}.bind(this));this.initNotice();this.initConnectivityCheck();this.contextmenu=new Contextmenu();window.addEventListener('resize',this.resize);window.addEventListener('scroll',this.onScroll);navigator.mozSetMessageHandler('activity',this.handleActivityEvents.bind(this));},resize:function(){if(this.grid&&this.grid.render){this.grid.render({rerender:true,skipDivider:true});}},onScroll:function(){window.focus();},provider:function(provider){if(!(provider.name in this.providers)){this.providers[provider.name]=provider;}},dispatchMessage:function(msg){if(typeof this[msg.data.action]==='function'){this[msg.data.action](msg);}},change:function(msg){clearTimeout(this.changeTimeout);this.showSearchResults();var input=msg.data.input;var providers=this.providers;this.changeTimeout=setTimeout(()=>{this.clear();this.dedupe.reset();Object.keys(providers).forEach((providerKey)=>{var provider=providers[providerKey];var preventRemoteFetch=UrlHelper.isURL(input)||msg.data.isPrivateBrowser||!this.suggestionsEnabled;if(provider.remote&&preventRemoteFetch){return;}
if(provider.name==='Suggestions'){var toShow=input.length>2&&this.toShowNotice&&this.suggestionsEnabled&&this.suggestionNotice.hidden&&navigator.onLine;if(toShow){this.suggestionNotice.hidden=false;}}
provider.search(input,preventRemoteFetch).then((results)=>{this.collect(provider,results);},error=>{if(error)console.warn('Search provider '+provider.name+': '+error);});});},SEARCH_DELAY);},initNotice:function(){var confirm=document.getElementById('suggestions-notice-confirm');confirm.addEventListener('click',this.discardNotice.bind(this,true));var settingsLink=this.settingsLink;if(settingsLink){settingsLink.addEventListener('click',this.openSettings.bind(this));}
asyncStorage.getItem(this.NOTICE_KEY,function(value){if(this.toShowNotice===null){this.toShowNotice=!value;}}.bind(this));},openSettings:function(){this.discardNotice();new MozActivity({name:'configure',data:{target:'device',section:'search'}});},discardNotice:function(focus){this.suggestionNotice.hidden=true;this.toShowNotice=false;asyncStorage.setItem(this.NOTICE_KEY,true);if(focus){this._port.postMessage({'action':'focus'});}},expandSearch:function(query){this.clear();this.providers.WebResults.fullscreen(query);},collect:function(provider,results){if(provider.dedupes){results=this.dedupe.reduce(results,provider.dedupeStrategy);}
if(provider.isGridProvider&&(results.length+this.gridCount)>MAX_GRID_SIZE){var spaces=MAX_GRID_SIZE-this.gridCount;if(spaces<1){this.abort();return;}
results.splice(spaces,(results.length-spaces));}
if(provider.isGridProvider){this.gridCount+=results.length;}
this.gridWrapper.classList.toggle('hidden',!this.gridCount);provider.render(results);},handleActivityEvents:function(activity){var activityName=activity.source.name;if(activityName==='search'){this.submit({data:{input:activity.source.data.keyword}});}},submit:function(msg){this.discardNotice();var input=msg.data.input;if(UrlHelper.isNotURL(input)){this.metrics.report('websearch',SearchProvider('title'));var url=SearchProvider('searchUrl').replace('{searchTerms}',encodeURIComponent(input));this.navigate(url);return;}
var hasScheme=UrlHelper.hasScheme(input);if(!hasScheme){input='http://'+input;}
this.navigate(input);},clear:function(msg){this.abort();for(var i in this.providers){this.providers[i].clear();}
this.gridCount=0;this.suggestionNotice.hidden=true;},showSearchResults:function(){if(this.searchResults){this.searchResults.classList.remove('hidden');}},abort:function(){clearTimeout(this.changeTimeout);for(var i in this.providers){this.providers[i].abort();}},close:function(){this.abort();this._port.postMessage({'action':'hide'});},navigate:function(url){new MozActivity({name:'view',data:{type:'url',url:url}});},setInput:function(input){this._port.postMessage({'action':'input','input':input});this.expandSearch(input);},initConnectivityCheck:function(){var self=this;function onConnectivityChange(){if(navigator.onLine){self.searchResults.classList.remove('offline');}else{self.searchResults.classList.add('offline');}}
this.offlineMessage.addEventListener('click',function(){var activity=new window.MozActivity({name:'configure',data:{target:'device',section:'root',filterBy:'connectivity'}});activity.onsuccess=function(){};});window.addEventListener('offline',onConnectivityChange);window.addEventListener('online',onConnectivityChange);onConnectivityChange();}};window.addEventListener('load',Search.init.bind(Search));})();

View file

@ -0,0 +1,18 @@
{
"name": "search",
"tags": {
"dictionaries": ["jsdoc"]
},
"source": {
"include": ["apps/search/js/**/*.js"]
},
"plugins": [
"plugins/markdown",
"plugins/summarize"
],
"opts": {
"private": true,
"recurse": true,
"destination": "docs/search"
}
}

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["ثبّت ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"التأريخ"},{"$i":"top-sites","$v":"أفضل المواقع"},{"$i":"suggestions","ariaLabel":"المُقترحات"},{"$i":"contacts","ariaLabel":"جهات الاتصال"},{"$i":"places","ariaLabel":"الأماكن"},{"$i":"apps","ariaLabel":"التطبيقات"},{"$i":"suggestions-settings-notice","$v":"تم تمكين اقتراحات البحث. يتم إرسال الأحرف التي تقوم بكتابتها عند الدخول إلى محرك البحث. يمكنك تعطيل اقتراحات البحث في الجهاز <span>الإعدادات</span>."},{"$i":"ok","$v":"موافق"},{"$i":"add-to-home-screen","label":"أضِف إلى الشاشة الرئيسية"},{"$i":"offline-message","$v":"لا يوجد اتصال باﻹنترنت"},{"$i":"future","$v":"المستقبل"},{"$i":"today","$v":"اليوم"},{"$i":"yesterday","$v":"الأمس"},{"$i":"last-7-days","$v":"آخر 7 أيام"},{"$i":"this-month","$v":"هذا الشّهر"},{"$i":"last-6-months","$v":"آخر 6 أشهر"},{"$i":"older-than-6-months","$v":"أقدم من 6 أشهر"},{"$i":"month-0","$v":"يناير"},{"$i":"month-1","$v":"فبراير"},{"$i":"month-2","$v":"مارس"},{"$i":"month-3","$v":"أبريل"},{"$i":"month-4","$v":"مايو"},{"$i":"month-5","$v":"يونيو"},{"$i":"month-6","$v":"يوليو"},{"$i":"month-7","$v":"أغسطس"},{"$i":"month-8","$v":"سبتمبر"},{"$i":"month-9","$v":"أكتوبر"},{"$i":"month-10","$v":"نوفمبر"},{"$i":"month-11","$v":"ديسمبر"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," بحث"]},{"$i":"private-window-header","$v":"أنت تتصفّح بخصوصية"},{"$i":"private-window-info1","$v":["في النوافذ الخاصة، ",{"t":"idOrVar","v":"brandShortName"}," لن يبقي أي سجل متصفحمع، كوكيز ، أو ملفات إنترنت مؤقتة. ولكن ، الملفات التي ستقوم بتحميلها و الإشارات المرجعية التي ستضيفها سيتم حفظها."]},{"$i":"private-window-info2","$v":"مع أن هذا الجهاز لن يكون فيه سجل التصفح الخاص بك، إلا أنه يمكن لمزود خدمة الإنترنت الخاص بك أن يتتبع الصفحات التي تزورها."},{"$i":"private-window-dont-tell","$v":"لا تخبرني مرة أخرى"},{"$i":"private-learn-more","$v":"معرفة المزيد"},{"$i":"gaia-grid-stop-download-title","$v":["إيقاف ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"هل تريد إيقاف التنزيل الجاري؟"},{"$i":"gaia-grid-stop-download-action","$v":"أوقِف"},{"$i":"gaia-grid-resume-download-title","$v":"أعِد التنزيل"},{"$i":"gaia-grid-resume-download-body","$v":["هل تريد تنزيل ",{"t":"idOrVar","v":"name"},"؟"]},{"$i":"gaia-grid-resume-download-action","$v":"نزِّل"},{"$i":"gaia-grid-cancel","$v":"ألغِ"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"وسّع المجموعة"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"اطو المجموعة"},{"$i":"gaia-grid-enter-group-name","$v":"أدخل اسما للمجموعة"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Инсталация на ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ИСТОРИЯ"},{"$i":"top-sites","$v":"НАЙ-ПОСЕЩАВАНИ"},{"$i":"suggestions","ariaLabel":"Предложения"},{"$i":"contacts","ariaLabel":"Контакти"},{"$i":"places","ariaLabel":"Места"},{"$i":"apps","ariaLabel":"Приложения"},{"$i":"suggestions-settings-notice","$v":"Подсказките при търсене са включени. Знаците, които въвеждате при търсене, ще бъдат изпращани към търсачката. Може да изключите подсказките при търсене от <span>Настройки</span>."},{"$i":"ok","$v":"Добре"},{"$i":"add-to-home-screen","label":"Добавяне към началния екран"},{"$i":"offline-message","$v":"Няма връзка с Интернет"},{"$i":"future","$v":"БЪДЕЩЕ"},{"$i":"today","$v":"ДНЕС"},{"$i":"yesterday","$v":"ВЧЕРА"},{"$i":"last-7-days","$v":"ПОСЛЕДНИТЕ 7 ДЕНА"},{"$i":"this-month","$v":"ТОЗИ МЕСЕЦ"},{"$i":"last-6-months","$v":"ПОСЛЕДНИТЕ 6 МЕСЕЦА"},{"$i":"older-than-6-months","$v":"ПО-СТАРИ ОТ 6 МЕСЕЦА"},{"$i":"month-0","$v":"ЯНУАРИ"},{"$i":"month-1","$v":"ФЕВРУАРИ"},{"$i":"month-2","$v":"МАРТ"},{"$i":"month-3","$v":"АПРИЛ"},{"$i":"month-4","$v":"МАЙ"},{"$i":"month-5","$v":"ЮНИ"},{"$i":"month-6","$v":"ЮЛИ"},{"$i":"month-7","$v":"АВГУСТ"},{"$i":"month-8","$v":"СЕПТЕМВРИ"},{"$i":"month-9","$v":"ОКТОМВРИ"},{"$i":"month-10","$v":"НОЕМВРИ"},{"$i":"month-11","$v":"ДЕКЕМВРИ"},{"$i":"search-header","$v":["ТЪРСЕНЕ С ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Сърфирате поверително"},{"$i":"private-window-info1","$v":["В поверителен прозорец, ",{"t":"idOrVar","v":"brandShortName"}," няма да пази история на сърфирането, бисквитки или временни файлове. Обаче, изтеглянията и отметките, които направите, ще бъдат запазени."]},{"$i":"private-window-info2","$v":"Устройството няма да пази история на сърфирането, но вашият работодател или Интернет доставчик може да проследи кои страници посещавате."},{"$i":"private-window-dont-tell","$v":"Изключване на съобщението"},{"$i":"private-learn-more","$v":"Научете повече"},{"$i":"gaia-grid-stop-download-title","$v":["Спиране на ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Желаете ли да спрете текущото изтегляне?"},{"$i":"gaia-grid-stop-download-action","$v":"Спиране"},{"$i":"gaia-grid-resume-download-title","$v":"Рестартиране на изтеглянето"},{"$i":"gaia-grid-resume-download-body","$v":["Желаете ли да изтеглите ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Изтегляне"},{"$i":"gaia-grid-cancel","$v":"Отказ"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Показване на групата"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Скриване на групата"},{"$i":"gaia-grid-enter-group-name","$v":"Въведете име на група"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," ইনস্টল করুন"]},{"$i":"history","$v":"ইতিহাস"},{"$i":"top-sites","$v":"শীর্ষ সাইট"},{"$i":"suggestions","ariaLabel":"প্রস্তাবনা"},{"$i":"contacts","ariaLabel":"পরিচিতি"},{"$i":"places","ariaLabel":"স্থান"},{"$i":"apps","ariaLabel":"অ্যাপ"},{"$i":"suggestions-settings-notice","$v":"সার্চ সাজেশন সক্রিয় আছে। সার্চ বক্সে আপনি যে বর্ণগুলো টাইপ করেন তা স্বয়ংক্রিয়ভাবে সার্চ ইঞ্জিনের কাছে পাঠানো হয়। আপনি ডিভাইসের <span>সেটিং</span> এ গিয়ে সার্চ সাজেশন বন্ধ করতে পারেন।"},{"$i":"ok","$v":"ঠিক আছে"},{"$i":"add-to-home-screen","label":"হোম স্ক্রিনে যুক্ত করুন"},{"$i":"offline-message","$v":"কোন ইন্টারনেট সংযোগ নেই"},{"$i":"future","$v":"ভবিষ্যৎ"},{"$i":"today","$v":"আজ"},{"$i":"yesterday","$v":"গতকাল"},{"$i":"last-7-days","$v":"গত ৭ দিন"},{"$i":"this-month","$v":"এই মাস"},{"$i":"last-6-months","$v":"গত ৬ মাস"},{"$i":"older-than-6-months","$v":"৬ মাসের চেয়ে পুরানো"},{"$i":"month-0","$v":"জানুয়ারি"},{"$i":"month-1","$v":"ফেব্রুয়ারি"},{"$i":"month-2","$v":"মার্চ"},{"$i":"month-3","$v":"এপ্রিল"},{"$i":"month-4","$v":"মে"},{"$i":"month-5","$v":"জুন"},{"$i":"month-6","$v":"জুলাই"},{"$i":"month-7","$v":"আগস্ট"},{"$i":"month-8","$v":"সেপ্টেম্বর"},{"$i":"month-9","$v":"অক্টোবর"},{"$i":"month-10","$v":"নভেম্বর"},{"$i":"month-11","$v":"ডিসেম্বর"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"অাপনি ব্যাক্তিগত ব্রাউজিং করছেন"},{"$i":"private-window-info1","$v":["ব্যক্তিগত ব্রাউজিং উইন্ডোতে, &",{"t":"idOrVar","v":"brandShortName"}," কোন ব্রাউজ ইতিহাস, অনুসন্ধান ইতিহাস, ডাউনলোড ইতিহাস, ওয়েব ফরম ইতিহাস, কুকি, বা অস্থায়ী ইন্টারনেট ফাইল সংরক্ষণ করবে না। তবে, আপনি যে সমস্ত ফাইল ডাউনলোড করবেন বা যে বুকমার্কগুলো তৈরী করবেন তা সংরক্ষণ করবে।"]},{"$i":"private-window-info2","$v":"যদিও আপনার ব্রাউজিং ইতিহাসের কোন রেকর্ড থাকবে না, আপনার ইন্টারনেট সেবা প্রদানকারী আপনার পরিদর্শিত পাতাগুলো অবলোকন করতে পারে।"},{"$i":"private-window-dont-tell","$v":"পুনরায় বলবেন না"},{"$i":"private-learn-more","$v":"আরও জানুন"},{"$i":"gaia-grid-stop-download-title","$v":[{"t":"idOrVar","v":"name"}," বন্ধ করুন"]},{"$i":"gaia-grid-stop-download-body","$v":"আপনি কি আপনার ডাউনলোড থামাতে চান?"},{"$i":"gaia-grid-stop-download-action","$v":"থামুন"},{"$i":"gaia-grid-resume-download-title","$v":"নতুন করে ডাউনলোড করুন"},{"$i":"gaia-grid-resume-download-body","$v":["আপনি কি ",{"t":"idOrVar","v":"name"}," ডাউনলোড করতে চান?"]},{"$i":"gaia-grid-resume-download-action","$v":"ডাউনলোড"},{"$i":"gaia-grid-cancel","$v":"বাতিল করুন"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"দল বর্ধিত করুন"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"দল বন্ধ করুন"},{"$i":"gaia-grid-enter-group-name","$v":"একটি গ্রুপের নাম প্রবেশ করান"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Instal·la: ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIAL"},{"$i":"top-sites","$v":"DESTACATS"},{"$i":"suggestions","ariaLabel":"Suggeriments"},{"$i":"contacts","ariaLabel":"Contactes"},{"$i":"places","ariaLabel":"Llocs"},{"$i":"apps","ariaLabel":"Aplicacions"},{"$i":"suggestions-settings-notice","$v":"Els suggeriments de cerca estan activats. Els caràcters que escriviu quan feu una cerca s'enviaran al motor de cerca. Podeu desactivar els suggeriments de cerca en els <span>Paràmetres</span> del dispositiu."},{"$i":"ok","$v":"D'acord"},{"$i":"add-to-home-screen","label":"Afegeix a la pantalla d'inici"},{"$i":"offline-message","$v":"No hi ha connexió a Internet"},{"$i":"future","$v":"FUTUR"},{"$i":"today","$v":"AVUI"},{"$i":"yesterday","$v":"AHIR"},{"$i":"last-7-days","$v":"DARRERS 7 DIES"},{"$i":"this-month","$v":"AQUEST MES"},{"$i":"last-6-months","$v":"DARRERS 6 MESOS"},{"$i":"older-than-6-months","$v":"FA MÉS DE 6 MESOS"},{"$i":"month-0","$v":"GENER"},{"$i":"month-1","$v":"FEBRER"},{"$i":"month-2","$v":"MARÇ"},{"$i":"month-3","$v":"ABRIL"},{"$i":"month-4","$v":"MAIG"},{"$i":"month-5","$v":"JUNY"},{"$i":"month-6","$v":"JULIOL"},{"$i":"month-7","$v":"AGOST"},{"$i":"month-8","$v":"SETEMBRE"},{"$i":"month-9","$v":"OCTUBRE"},{"$i":"month-10","$v":"NOVEMBRE"},{"$i":"month-11","$v":"DESEMBRE"},{"$i":"search-header","$v":["CERCA A ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Esteu navegant de forma privada"},{"$i":"private-window-info1","$v":["En les pestanyes privades, el ",{"t":"idOrVar","v":"brandShortName"}," no conservarà l'historial de navegació, les galetes ni els fitxers temporals d'Internet. Per altra banda, sí que es conservaran els fitxers que baixeu i les adreces d'interès que deseu."]},{"$i":"private-window-info2","$v":"Encara que aquest dispositiu no tindrà cap registre del vostre historial de navegació, el vostre proveïdor d'Internet sí que podria conèixer les pàgines que visiteu."},{"$i":"private-window-dont-tell","$v":"No em tornis a avisar"},{"$i":"private-learn-more","$v":"Més informació"},{"$i":"gaia-grid-stop-download-title","$v":["Atura ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Voleu aturar la baixada en curs?"},{"$i":"gaia-grid-stop-download-action","$v":"Atura"},{"$i":"gaia-grid-resume-download-title","$v":"Reinicia la baixada"},{"$i":"gaia-grid-resume-download-body","$v":["Voleu baixar ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Baixa"},{"$i":"gaia-grid-cancel","$v":"Cancel·la"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Expandeix el grup"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Redueix el grup"},{"$i":"gaia-grid-enter-group-name","$v":"Escriviu un nom del grup"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Nainstalovat ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIE"},{"$i":"top-sites","$v":"TOP STRÁNKY"},{"$i":"suggestions","ariaLabel":"Návrhy"},{"$i":"contacts","ariaLabel":"Kontakty"},{"$i":"places","ariaLabel":"Místa"},{"$i":"apps","ariaLabel":"Aplikace"},{"$i":"suggestions-settings-notice","$v":"Našeptávání vyhledávání je zobrazeno na základě toho, jak píšete. Znaky, které zadáváte při vyhledávání, jsou odesílány vyhledávači. Našeptávání můžete deaktivovat v <span>Nastavení</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Přidat na domovskou obrazovku "},{"$i":"offline-message","$v":"Žádné připojení k Internetu "},{"$i":"future","$v":"BUDOUCNOST"},{"$i":"today","$v":"DNES"},{"$i":"yesterday","$v":"VČERA"},{"$i":"last-7-days","$v":"POSLEDNÍCH 7 DNÍ"},{"$i":"this-month","$v":"TENTO MĚSÍC"},{"$i":"last-6-months","$v":"POSLEDNÍCH 6 MĚSÍCŮ"},{"$i":"older-than-6-months","$v":"STARŠÍ NEŽ 6 MĚSÍCŮ"},{"$i":"month-0","$v":"LEDEN"},{"$i":"month-1","$v":"ÚNOR"},{"$i":"month-2","$v":"BŘEZEN"},{"$i":"month-3","$v":"DUBEN"},{"$i":"month-4","$v":"KVĚTEN"},{"$i":"month-5","$v":"ČERVEN"},{"$i":"month-6","$v":"ČERVENEC"},{"$i":"month-7","$v":"SRPEN"},{"$i":"month-8","$v":"ZÁŘÍ"},{"$i":"month-9","$v":"ŘÍJEN"},{"$i":"month-10","$v":"LISTOPAD"},{"$i":"month-11","$v":"PROSINEC"},{"$i":"search-header","$v":["VYHLEDÁVÁNÍ ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Prohlížíte web anonymně"},{"$i":"private-window-info1","$v":["V anonymních oknech nebude ",{"t":"idOrVar","v":"brandShortName"}," ukládat historii prohlížení, cookies či dočasné soubory. Nicméně stažené soubory a záložky zůstanou zachovány."]},{"$i":"private-window-info2","$v":"I přes to, že toto zařízení nebude ukládat historii prohlížení, může váš poskytovatel připojení sledovat vaši aktivitu na webu."},{"$i":"private-window-dont-tell","$v":"Příště již neinformovat"},{"$i":"private-learn-more","$v":"Zjistit více"},{"$i":"gaia-grid-stop-download-title","$v":["Ukončení ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Chcete ukončit probíhající stahování?"},{"$i":"gaia-grid-stop-download-action","$v":"Ukončit"},{"$i":"gaia-grid-resume-download-title","$v":"Obnovení stahování"},{"$i":"gaia-grid-resume-download-body","$v":["Chcete stáhnout aplikaci ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Stáhnout"},{"$i":"gaia-grid-cancel","$v":"Zrušit"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Rozbalit skupinu"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Sbalit skupinu"},{"$i":"gaia-grid-enter-group-name","$v":"Zadejte jméno skupiny"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Installer ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"Historik"},{"$i":"top-sites","$v":"Topsider"},{"$i":"suggestions","ariaLabel":"Forslag"},{"$i":"contacts","ariaLabel":"Kontakter"},{"$i":"places","ariaLabel":"Steder"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Søgeforslag er aktiveret. Når du indtaster tegn, sendes de dynamisk til søgetjenesten. Du kan deaktivere søgeforslag i enhedens <span>Indstillinger</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Føj til startskærm"},{"$i":"offline-message","$v":"Ingen forbindelse til internettet"},{"$i":"future","$v":"SENERE"},{"$i":"today","$v":"I DAG"},{"$i":"yesterday","$v":"I GÅR"},{"$i":"last-7-days","$v":"SENESTE 7 DAGE"},{"$i":"this-month","$v":"DENNE MÅNED"},{"$i":"last-6-months","$v":"SENESTE 6 MÅNEDER"},{"$i":"older-than-6-months","$v":"ÆLDRE END 6 MÅNEDER"},{"$i":"month-0","$v":"JANUAR"},{"$i":"month-1","$v":"FEBRUAR"},{"$i":"month-2","$v":"MARTS"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAJ"},{"$i":"month-5","$v":"JUNI"},{"$i":"month-6","$v":"JULI"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OKTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"},"-søgning"]},{"$i":"private-window-header","$v":"Du surfer privat"},{"$i":"private-window-info1","$v":["I private vinduer vil ",{"t":"idOrVar","v":"brandShortName"}," ikke gemme historik, cookies og midlertidige internetfiler. Hentede filer og nye bogmærker vil dog blive gemt."]},{"$i":"private-window-info2","$v":"Selvom denne enhed ikke vil gemme din historik, kan din internetudbyder stadig spore, hvilke sider du besøger."},{"$i":"private-window-dont-tell","$v":"Fortæl mig det ikke igen"},{"$i":"private-learn-more","$v":"Læs mere"},{"$i":"gaia-grid-stop-download-title","$v":["Stop ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Vil du stoppe den igangværende filhentning?"},{"$i":"gaia-grid-stop-download-action","$v":"Stop"},{"$i":"gaia-grid-resume-download-title","$v":"Genstart filhentning"},{"$i":"gaia-grid-resume-download-body","$v":["Vil du hente ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Hent"},{"$i":"gaia-grid-cancel","$v":"Annuller"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Udvid gruppe"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Sammenfold gruppe"},{"$i":"gaia-grid-enter-group-name","$v":"Angiv et gruppenavn"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," installieren"]},{"$i":"history","$v":"Chronik"},{"$i":"top-sites","$v":"Meistbesuchte Seiten"},{"$i":"suggestions","ariaLabel":"Vorschläge"},{"$i":"contacts","ariaLabel":"Kontakte"},{"$i":"places","ariaLabel":"Orte"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Suchvorschläge sind aktiviert. Die von Ihnen eingegebenen Zeichen werden während der Eingabe des Suchbegriff an die Suchmaschine gesendet. Sie können die Suchvorschläge in den <span>Einstellungen</span> des Geräts ändern."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Zum Startbildschirm hinzufügen"},{"$i":"offline-message","$v":"Keine Internetverbindung"},{"$i":"future","$v":"ZUKUNFT"},{"$i":"today","$v":"HEUTE"},{"$i":"yesterday","$v":"GESTERN"},{"$i":"last-7-days","$v":"LETZTE 7 TAGE"},{"$i":"this-month","$v":"DIESER MONAT"},{"$i":"last-6-months","$v":"LETZTE 6 MONATE"},{"$i":"older-than-6-months","$v":"ÄLTER ALS 6 MONATE"},{"$i":"month-0","$v":"JANUAR"},{"$i":"month-1","$v":"FEBRUAR"},{"$i":"month-2","$v":"MÄRZ"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAI"},{"$i":"month-5","$v":"JUNI"},{"$i":"month-6","$v":"JULI"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OKTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DEZEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"},"-SUCHE"]},{"$i":"private-window-header","$v":"Sie surfen im Privaten Modus."},{"$i":"private-window-info1","$v":["In privaten Fenstern speichert ",{"t":"idOrVar","v":"brandShortName"}," weder Browser-Chronik, Cookies noch temporäre Internet-Dateien. Angelegte Lesezeichen und heruntergeladene Dateien bleiben gespeichert."]},{"$i":"private-window-info2","$v":"Während dieses Gerät keine Informationen über Ihre Browser-Chronik speichert, so kann Ihr Internetanbieter weiterhin die von Ihnen aufgerufenen Internetseiten verfolgen."},{"$i":"private-window-dont-tell","$v":"Nicht mehr darauf hinweisen"},{"$i":"private-learn-more","$v":"Weitere Informationen"},{"$i":"gaia-grid-stop-download-title","$v":[{"t":"idOrVar","v":"name"}," anhalten"]},{"$i":"gaia-grid-stop-download-body","$v":"Soll der laufende Download angehalten werden?"},{"$i":"gaia-grid-stop-download-action","$v":"Anhalten"},{"$i":"gaia-grid-resume-download-title","$v":"Download neu starten"},{"$i":"gaia-grid-resume-download-body","$v":["Soll ",{"t":"idOrVar","v":"name"}," heruntergeladen werden?"]},{"$i":"gaia-grid-resume-download-action","$v":"Herunterladen"},{"$i":"gaia-grid-cancel","$v":"Abbrechen"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Gruppe ausklappen"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Gruppe einklappen"},{"$i":"gaia-grid-enter-group-name","$v":"Gruppennamen eingeben"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Εγκατάσταση: ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ΙΣΤΟΡΙΚΟ"},{"$i":"top-sites","$v":"ΚΟΡΥΦΑΙΕΣ ΙΣΤΟΣΕΛΙΔΕΣ"},{"$i":"suggestions","ariaLabel":"Προτάσεις"},{"$i":"contacts","ariaLabel":"Επαφές"},{"$i":"places","ariaLabel":"Τοποθεσίες"},{"$i":"apps","ariaLabel":"Εφαρμογές"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"ΟΚ"},{"$i":"add-to-home-screen","label":"Προσθήκη στην αρχική οθόνη"},{"$i":"offline-message","$v":"Δεν υπάρχει σύνδεση στο διαδίκτυο"},{"$i":"future","$v":"ΜΕΛΛΟΝ"},{"$i":"today","$v":"ΣΗΜΕΡΑ"},{"$i":"yesterday","$v":"ΧΘΕΣ"},{"$i":"last-7-days","$v":"ΤΙΣ ΤΕΛΕΥΤΑΙΕΣ 7 HΜΕΡΕΣ"},{"$i":"this-month","$v":"ΑΥΤΟΝ ΤΟ ΜΗΝΑ"},{"$i":"last-6-months","$v":"ΤΟΥΣ ΤΕΛΕΥΤΑΙΟΥΣ 6 ΜΗΝΕΣ"},{"$i":"older-than-6-months","$v":"ΠΑΛΑΙΟΤΕΡΟ ΤΩΝ 6 ΜΗΝΩΝ"},{"$i":"month-0","$v":"ΙΑΝΟΥΑΡΙΟΣ"},{"$i":"month-1","$v":"ΦΕΒΡΟΥΑΡΙΟΣ"},{"$i":"month-2","$v":"ΜΑΡΤΙΟΣ"},{"$i":"month-3","$v":"ΑΠΡΙΛΙΟΣ"},{"$i":"month-4","$v":"ΜΑΙΟΣ"},{"$i":"month-5","$v":"ΙΟΥΝΙΟΣ"},{"$i":"month-6","$v":"ΙΟΥΛΙΟΣ"},{"$i":"month-7","$v":"ΑΥΓΟΥΣΤΟΣ"},{"$i":"month-8","$v":"ΣΕΠΤΕΜΒΡΙΟΣ"},{"$i":"month-9","$v":"ΟΚΤΩΒΡΙΟΣ"},{"$i":"month-10","$v":"ΝΟΕΜΒΡΙΟΣ"},{"$i":"month-11","$v":"ΔΕΚΕΜΒΡΙΟΣ"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," ΑΝΑΖΗΤΗΣΗ"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"},{"$i":"gaia-grid-stop-download-title","$v":["Διακοπή ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Θέλετε να διακόψετε τη τρέχουσα λήψη;"},{"$i":"gaia-grid-stop-download-action","$v":"Διακοπή"},{"$i":"gaia-grid-resume-download-title","$v":"Επανεκκίνηση λήψης"},{"$i":"gaia-grid-resume-download-body","$v":["Θέλετε να γίνει λήψη του ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Λήψη"},{"$i":"gaia-grid-cancel","$v":"Ακύρωση"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Επέκταση ομάδας"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Αναδίπλωση ομάδας"},{"$i":"gaia-grid-enter-group-name","$v":"Εισάγετε ένα όνομα ομάδας"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Install ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORY"},{"$i":"top-sites","$v":"TOP SITES"},{"$i":"suggestions","ariaLabel":"Suggestions"},{"$i":"contacts","ariaLabel":"Contacts"},{"$i":"places","ariaLabel":"Places"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Add to Home Screen"},{"$i":"offline-message","$v":"No internet connection"},{"$i":"future","$v":"FUTURE"},{"$i":"today","$v":"TODAY"},{"$i":"yesterday","$v":"YESTERDAY"},{"$i":"last-7-days","$v":"LAST 7 DAYS"},{"$i":"this-month","$v":"THIS MONTH"},{"$i":"last-6-months","$v":"LAST 6 MONTHS"},{"$i":"older-than-6-months","$v":"OLDER THAN 6 MONTHS"},{"$i":"month-0","$v":"JANUARY"},{"$i":"month-1","$v":"FEBRUARY"},{"$i":"month-2","$v":"MARCH"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAY"},{"$i":"month-5","$v":"JUNE"},{"$i":"month-6","$v":"JULY"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OCTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"},{"$i":"gaia-grid-stop-download-title","$v":["Stop ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Do you want to stop the download in progress?"},{"$i":"gaia-grid-stop-download-action","$v":"Stop"},{"$i":"gaia-grid-resume-download-title","$v":"Restart Download"},{"$i":"gaia-grid-resume-download-body","$v":["Do you want to download ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Download"},{"$i":"gaia-grid-cancel","$v":"Cancel"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Expand group"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Collapse group"},{"$i":"gaia-grid-enter-group-name","$v":"Enter a group name"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Instalar ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIAL"},{"$i":"top-sites","$v":"SITIOS DESTACADOS"},{"$i":"suggestions","ariaLabel":"Sugerencias"},{"$i":"contacts","ariaLabel":"Contactos"},{"$i":"places","ariaLabel":"Lugares"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Las sugerencias de búsqueda están activadas. Los caracteres que escriba al especificar una búsqueda se envían al buscador. Puede desactivar las sugerencias de búsqueda en los <span>Ajustes</span> del dispositivo."},{"$i":"ok","$v":"Aceptar"},{"$i":"add-to-home-screen","label":"Añadir a pantalla de inicio"},{"$i":"offline-message","$v":"Sin conexión a internet"},{"$i":"future","$v":"FUTURO"},{"$i":"today","$v":"HOY"},{"$i":"yesterday","$v":"AYER"},{"$i":"last-7-days","$v":"ÚLTIMOS 7 DÍAS"},{"$i":"this-month","$v":"ESTE MES"},{"$i":"last-6-months","$v":"ÚLTIMOS 6 MESES"},{"$i":"older-than-6-months","$v":"ANTERIOR A 6 MESES"},{"$i":"month-0","$v":"ENERO"},{"$i":"month-1","$v":"FEBRERO"},{"$i":"month-2","$v":"MARZO"},{"$i":"month-3","$v":"ABRIL"},{"$i":"month-4","$v":"MAYO"},{"$i":"month-5","$v":"JUNIO"},{"$i":"month-6","$v":"JULIO"},{"$i":"month-7","$v":"AGOSTO"},{"$i":"month-8","$v":"SEPTIEMBRE"},{"$i":"month-9","$v":"OCTUBRE"},{"$i":"month-10","$v":"NOVIEMBRE"},{"$i":"month-11","$v":"DICIEMBRE"},{"$i":"search-header","$v":["BÚSQUEDA EN ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Está navegando en privado"},{"$i":"private-window-info1","$v":["En las ventanas privadas, ",{"t":"idOrVar","v":"brandShortName"}," no guardará el historial, las cookies ni los archivos temporales de Internet. No obstante, sí se guardarán los archivos que descargue y los marcadores que agregue."]},{"$i":"private-window-info2","$v":"Aunque no se guarde el historial de navegación en este dispositivo, su proveedor de servicios de Internet puede rastrear las páginas que visite."},{"$i":"private-window-dont-tell","$v":"No preguntar de nuevo"},{"$i":"private-learn-more","$v":"Saber más"},{"$i":"gaia-grid-stop-download-title","$v":["Parar ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"¿Desea parar la descarga en curso?"},{"$i":"gaia-grid-stop-download-action","$v":"Parar"},{"$i":"gaia-grid-resume-download-title","$v":"Reiniciar descarga"},{"$i":"gaia-grid-resume-download-body","$v":["¿Desea descargar ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Descargar"},{"$i":"gaia-grid-cancel","$v":"Cancelar"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Expandir grupo"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Contraer grupo"},{"$i":"gaia-grid-enter-group-name","$v":"Escriba nombre de grupo"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Instalatu ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIA"},{"$i":"top-sites","$v":"GUNE ERABILIENAK"},{"$i":"suggestions","ariaLabel":"Gomendioak"},{"$i":"contacts","ariaLabel":"Kontaktuak"},{"$i":"places","ariaLabel":"Lekuak"},{"$i":"apps","ariaLabel":"Aplikazioak"},{"$i":"suggestions-settings-notice","$v":"Bilaketa-iradokizunak gaituta daude. Bilaketa bat sartzean idazten dituzun karaktereak bilaketa-motorrari bidaltzen zaizkio. Bilaketa-iradokizunak desgai ditzakezu gailuaren <span>Ezarpenak</span> atalean."},{"$i":"ok","$v":"Ados"},{"$i":"add-to-home-screen","label":"Gehitu hasiera-pantailari"},{"$i":"offline-message","$v":"Ez dago interneteko konexiorik"},{"$i":"future","$v":"ETORKIZUNEAN"},{"$i":"today","$v":"GAUR"},{"$i":"yesterday","$v":"ATZO"},{"$i":"last-7-days","$v":"AZKEN 7 EGUNETAN"},{"$i":"this-month","$v":"HIL HONETAN"},{"$i":"last-6-months","$v":"AZKEN 6 HILETAN"},{"$i":"older-than-6-months","$v":"6 HIL BAINO ZAHARRAGOA"},{"$i":"month-0","$v":"URTARRILA"},{"$i":"month-1","$v":"OTSAILA"},{"$i":"month-2","$v":"MARTXOA"},{"$i":"month-3","$v":"APIRILA"},{"$i":"month-4","$v":"MAIATZA"},{"$i":"month-5","$v":"EKAINA"},{"$i":"month-6","$v":"UZTAILA"},{"$i":"month-7","$v":"ABUZTUA"},{"$i":"month-8","$v":"IRAILA"},{"$i":"month-9","$v":"URRIA"},{"$i":"month-10","$v":"AZAROA"},{"$i":"month-11","$v":"ABENDUA"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," BILAKETA"]},{"$i":"private-window-header","$v":"Modu pribatuan ari zara nabigatzen"},{"$i":"private-window-info1","$v":["Leiho pribatuetan, ",{"t":"idOrVar","v":"brandShortName"},"(e)k ez du nabigatze-historia, cookie, edo Interneteko behin-behineko fitxategirik gordeko. Hala ere, deskargatzen dituzun fitxategiak eta egiten dituzun laster-markak gorde egingo dira."]},{"$i":"private-window-info2","$v":"Gailu honek zure nabigatze-historiaren erregistroa gordetzen ez badu ere, kontuan izan zure Internet hornitzaileak bisitatzen dituzun orrien jarraipena egin dezakeela."},{"$i":"private-window-dont-tell","$v":"Ez galdetu berriz"},{"$i":"private-learn-more","$v":"Argibide gehiago"},{"$i":"gaia-grid-stop-download-title","$v":["Gelditu ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Uneko deskarga gelditu nahi duzu?"},{"$i":"gaia-grid-stop-download-action","$v":"Gelditu"},{"$i":"gaia-grid-resume-download-title","$v":"Berrabiarazi deskarga"},{"$i":"gaia-grid-resume-download-body","$v":[{"t":"idOrVar","v":"name"}," deskargatu nahi duzu?"]},{"$i":"gaia-grid-resume-download-action","$v":"Deskargatu"},{"$i":"gaia-grid-cancel","$v":"Utzi"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Zabaldu taldea"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Tolestu taldea"},{"$i":"gaia-grid-enter-group-name","$v":"Sartu taldearen izena"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Installer ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIQUE"},{"$i":"top-sites","$v":"LES PLUS VISITÉS"},{"$i":"suggestions","ariaLabel":"Suggestions"},{"$i":"contacts","ariaLabel":"Contacts"},{"$i":"places","ariaLabel":"Lieux"},{"$i":"apps","ariaLabel":"Applications"},{"$i":"suggestions-settings-notice","$v":"Les suggestions de recherche sont activées. Les caractères que vous saisissez lorsque vous lancez une recherche sont envoyés au moteur de recherche. Vous pouvez désactiver les suggestions de recherche depuis l’application <span>Paramètres</span> de l’appareil."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Ajouter à l’écran d’accueil"},{"$i":"offline-message","$v":"Aucune connexion Internet"},{"$i":"future","$v":"FUTUR"},{"$i":"today","$v":"AUJOURD’HUI"},{"$i":"yesterday","$v":"HIER"},{"$i":"last-7-days","$v":"LES 7 DERNIERS JOURS"},{"$i":"this-month","$v":"CE MOIS-CI"},{"$i":"last-6-months","$v":"LES 6 DERNIERS MOIS"},{"$i":"older-than-6-months","$v":"IL Y A PLUS DE 6 MOIS"},{"$i":"month-0","$v":"JANVIER"},{"$i":"month-1","$v":"FÉVRIER"},{"$i":"month-2","$v":"MARS"},{"$i":"month-3","$v":"AVRIL"},{"$i":"month-4","$v":"MAI"},{"$i":"month-5","$v":"JUIN"},{"$i":"month-6","$v":"JUILLET"},{"$i":"month-7","$v":"AOÛT"},{"$i":"month-8","$v":"SEPTEMBRE"},{"$i":"month-9","$v":"OCTOBRE"},{"$i":"month-10","$v":"NOVEMBRE"},{"$i":"month-11","$v":"DÉCEMBRE"},{"$i":"search-header","$v":["RECHERCHES ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Vous avez ouvert une fenêtre privée"},{"$i":"private-window-info1","$v":["Dans les fenêtres privées, ",{"t":"idOrVar","v":"brandShortName"}," ne conservera aucun historique de navigation, cookies ou fichiers temporaires Internet. Cependant, les fichiers téléchargés ou les marque-pages ajoutés seront conservés."]},{"$i":"private-window-info2","$v":"Bien que cet appareil ne conserve aucun enregistrement de votre historique de navigation, votre fournisseur d’accès à Internet peut toujours connaître les pages que vous visitez."},{"$i":"private-window-dont-tell","$v":"Ne plus m’avertir"},{"$i":"private-learn-more","$v":"En savoir plus"},{"$i":"gaia-grid-stop-download-title","$v":["Arrêter ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Voulez-vous arrêter le téléchargement en cours ?"},{"$i":"gaia-grid-stop-download-action","$v":"Arrêter"},{"$i":"gaia-grid-resume-download-title","$v":"Redémarrer le téléchargement"},{"$i":"gaia-grid-resume-download-body","$v":["Voulez-vous télécharger ",{"t":"idOrVar","v":"name"}," ?"]},{"$i":"gaia-grid-resume-download-action","$v":"Télécharger"},{"$i":"gaia-grid-cancel","$v":"Annuler"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Développer le groupe"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Réduire le groupe"},{"$i":"gaia-grid-enter-group-name","$v":"Saisir un nom de groupe"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Instalar ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIAL"},{"$i":"top-sites","$v":"SITIOS FAVORITOS"},{"$i":"suggestions","ariaLabel":"Suxestións"},{"$i":"contacts","ariaLabel":"Contactos"},{"$i":"places","ariaLabel":"Lugares"},{"$i":"apps","ariaLabel":"Aplicativos"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"Aceptar"},{"$i":"add-to-home-screen","label":"Engadir á pantalla inicial"},{"$i":"offline-message","$v":"Sen conexión á Internet"},{"$i":"future","$v":"FUTURO"},{"$i":"today","$v":"HOXE"},{"$i":"yesterday","$v":"ONTE"},{"$i":"last-7-days","$v":"ÚLTIMOS 7 DÍAS"},{"$i":"this-month","$v":"ESTE MES"},{"$i":"last-6-months","$v":"ÚLTIMOS 6 MESES"},{"$i":"older-than-6-months","$v":"HAI MÁIS DE 6 MESES"},{"$i":"month-0","$v":"XANEIRO"},{"$i":"month-1","$v":"FEBREIRO"},{"$i":"month-2","$v":"MARZO"},{"$i":"month-3","$v":"ABRIL"},{"$i":"month-4","$v":"MAIO"},{"$i":"month-5","$v":"XUÑO"},{"$i":"month-6","$v":"XULLO"},{"$i":"month-7","$v":"AGOSTO"},{"$i":"month-8","$v":"SETEMBRO"},{"$i":"month-9","$v":"OUTUBRO"},{"$i":"month-10","$v":"NOVEMBRO"},{"$i":"month-11","$v":"DECEMBRO"},{"$i":"search-header","$v":["BUSCAR EN ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Ten activa a navegación privada"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"Lembre que aínda que este dispositivo non manteña un rexistro do seu historial de navegación, o seu fornecedor de internet pode saber as páxinas que vostede visita."},{"$i":"private-window-dont-tell","$v":"Non preguntarme de novo"},{"$i":"private-learn-more","$v":"Obter máis información"},{"$i":"gaia-grid-stop-download-title","$v":["Deter ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Quere deter a descarga en progreso?"},{"$i":"gaia-grid-stop-download-action","$v":"Deter"},{"$i":"gaia-grid-resume-download-title","$v":"Reiniciar a descarga"},{"$i":"gaia-grid-resume-download-body","$v":["Quere descargar ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Descargar"},{"$i":"gaia-grid-cancel","$v":"Cancelar"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Expandir grupo"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Contraer grupo"},{"$i":"gaia-grid-enter-group-name","$v":"Escriba un nome de grupo"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Install ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORY"},{"$i":"top-sites","$v":"TOP SITES"},{"$i":"suggestions","ariaLabel":"Suggestions"},{"$i":"contacts","ariaLabel":"Contacts"},{"$i":"places","ariaLabel":"Places"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Add to Home Screen"},{"$i":"offline-message","$v":"No internet connection"},{"$i":"future","$v":"FUTURE"},{"$i":"today","$v":"TODAY"},{"$i":"yesterday","$v":"YESTERDAY"},{"$i":"last-7-days","$v":"LAST 7 DAYS"},{"$i":"this-month","$v":"THIS MONTH"},{"$i":"last-6-months","$v":"LAST 6 MONTHS"},{"$i":"older-than-6-months","$v":"OLDER THAN 6 MONTHS"},{"$i":"month-0","$v":"JANUARY"},{"$i":"month-1","$v":"FEBRUARY"},{"$i":"month-2","$v":"MARCH"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAY"},{"$i":"month-5","$v":"JUNE"},{"$i":"month-6","$v":"JULY"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OCTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"},{"$i":"gaia-grid-stop-download-title","$v":["Stop ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Do you want to stop the download in progress?"},{"$i":"gaia-grid-stop-download-action","$v":"Stop"},{"$i":"gaia-grid-resume-download-title","$v":"Restart Download"},{"$i":"gaia-grid-resume-download-body","$v":["Do you want to download ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Download"},{"$i":"gaia-grid-cancel","$v":"Cancel"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Expand group"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Collapse group"},{"$i":"gaia-grid-enter-group-name","$v":"Enter a group name"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," telepítése"]},{"$i":"history","$v":"ELŐZMÉNYEK"},{"$i":"top-sites","$v":"KIEMELT OLDALAK"},{"$i":"suggestions","ariaLabel":"Javaslatok"},{"$i":"contacts","ariaLabel":"Névjegyek"},{"$i":"places","ariaLabel":"Helyek"},{"$i":"apps","ariaLabel":"Alkalmazások"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Kezdőképernyőre"},{"$i":"offline-message","$v":"Nincs internetkapcsolat"},{"$i":"future","$v":"A JÖVŐBEN"},{"$i":"today","$v":"MA"},{"$i":"yesterday","$v":"TEGNAP"},{"$i":"last-7-days","$v":"AZ ELMÚLT 7 NAPBAN"},{"$i":"this-month","$v":"EBBEN A HÓNAPBAN"},{"$i":"last-6-months","$v":"AZ ELMÚLT 6 HÓNAPBAN"},{"$i":"older-than-6-months","$v":"6 HÓNAPNÁL RÉGEBBI"},{"$i":"month-0","$v":"JANUÁR"},{"$i":"month-1","$v":"FEBRUÁR"},{"$i":"month-2","$v":"MÁRCIUS"},{"$i":"month-3","$v":"ÁPRILIS"},{"$i":"month-4","$v":"MÁJUS"},{"$i":"month-5","$v":"JÚNIUS"},{"$i":"month-6","$v":"JÚLIUS"},{"$i":"month-7","$v":"AUGUSZTUS"},{"$i":"month-8","$v":"SZEPTEMBER"},{"$i":"month-9","$v":"OKTÓBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," KERESÉS"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"},{"$i":"gaia-grid-stop-download-title","$v":[{"t":"idOrVar","v":"name"}," leállítása"]},{"$i":"gaia-grid-stop-download-body","$v":"Le szeretné állítani a folyamatban lévő letöltést?"},{"$i":"gaia-grid-stop-download-action","$v":"Leállítás"},{"$i":"gaia-grid-resume-download-title","$v":"Letöltés újraindítása"},{"$i":"gaia-grid-resume-download-body","$v":["Szeretné letölteni ezt: ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Letöltés"},{"$i":"gaia-grid-cancel","$v":"Mégse"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Csoport kibontása"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Csoport összecsukása"},{"$i":"gaia-grid-enter-group-name","$v":"Írjon be csoportnevet"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Installa ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"CRONOLOGIA"},{"$i":"top-sites","$v":"SITI PRINCIPALI"},{"$i":"suggestions","ariaLabel":"Suggerimenti"},{"$i":"contacts","ariaLabel":"Contatti"},{"$i":"places","ariaLabel":"Luoghi"},{"$i":"apps","ariaLabel":"App"},{"$i":"suggestions-settings-notice","$v":"I caratteri digitati vengono inviati al motore di ricerca per generare dei suggerimenti. È possibile disattivare questa caratteristica nelle <span>Impostazioni</span> del dispositivo."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Aggiungi alla schermata principale"},{"$i":"offline-message","$v":"Nessuna connessione a Internet"},{"$i":"future","$v":"FUTURO"},{"$i":"today","$v":"OGGI"},{"$i":"yesterday","$v":"IERI"},{"$i":"last-7-days","$v":"ULTIMI 7 GIORNI"},{"$i":"this-month","$v":"QUESTO MESE"},{"$i":"last-6-months","$v":"ULTIMI 6 MESI"},{"$i":"older-than-6-months","$v":"OLTRE 6 MESI"},{"$i":"month-0","$v":"GENNAIO"},{"$i":"month-1","$v":"FEBBRAIO"},{"$i":"month-2","$v":"MARZO"},{"$i":"month-3","$v":"APRILE"},{"$i":"month-4","$v":"MAGGIO"},{"$i":"month-5","$v":"GIUGNO"},{"$i":"month-6","$v":"LUGLIO"},{"$i":"month-7","$v":"AGOSTO"},{"$i":"month-8","$v":"SETTEMBRE"},{"$i":"month-9","$v":"OTTOBRE"},{"$i":"month-10","$v":"NOVEMBRE"},{"$i":"month-11","$v":"DICEMBRE"},{"$i":"search-header","$v":["RICERCA ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Navigazione anonima attiva"},{"$i":"private-window-info1","$v":["Nelle finestre anonime non verrà conservata in ",{"t":"idOrVar","v":"brandShortName"}," alcuna cronologia di navigazione, cookie o file temporanei. Tuttavia verranno mantenuti eventuali file scaricati o segnalibri aggiunti."]},{"$i":"private-window-info2","$v":"Anche se il dispositivo non conserverà alcuna informazione relativa alla cronologia di navigazione, il fornitore di servizi internet in uso sarà comunque in grado di mantenere un registro delle pagine visitate."},{"$i":"private-window-dont-tell","$v":"Non avvisare nuovamente"},{"$i":"private-learn-more","$v":"Ulteriori informazioni"},{"$i":"gaia-grid-stop-download-title","$v":["Interrompi ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Interrompere il download in corso?"},{"$i":"gaia-grid-stop-download-action","$v":"Interrompi"},{"$i":"gaia-grid-resume-download-title","$v":"Riavvio download"},{"$i":"gaia-grid-resume-download-body","$v":["Procedere con il download di ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Scarica"},{"$i":"gaia-grid-cancel","$v":"Annulla"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Espandi gruppo"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Contrai gruppo"},{"$i":"gaia-grid-enter-group-name","$v":"Inserire un nome per il gruppo"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," をインストールします"]},{"$i":"history","$v":"履歴"},{"$i":"top-sites","$v":"トップサイト"},{"$i":"suggestions","ariaLabel":"検索候補"},{"$i":"contacts","ariaLabel":"連絡先"},{"$i":"places","ariaLabel":"場所"},{"$i":"apps","ariaLabel":"アプリ"},{"$i":"suggestions-settings-notice","$v":"検索候補の表示が有効です。検索のために入力した文字は検索エンジンに送信されます。検索候補の表示は、端末の <span>環境設定</span> で無効にできます。"},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"ホーム画面に追加"},{"$i":"offline-message","$v":"インターネットに接続されていません"},{"$i":"future","$v":"未来"},{"$i":"today","$v":"今日"},{"$i":"yesterday","$v":"昨日"},{"$i":"last-7-days","$v":"7日以内"},{"$i":"this-month","$v":"今月"},{"$i":"last-6-months","$v":"6か月以内"},{"$i":"older-than-6-months","$v":"6か月以前"},{"$i":"month-0","$v":"1月"},{"$i":"month-1","$v":"2月"},{"$i":"month-2","$v":"3月"},{"$i":"month-3","$v":"4月"},{"$i":"month-4","$v":"5月"},{"$i":"month-5","$v":"6月"},{"$i":"month-6","$v":"7月"},{"$i":"month-7","$v":"8月"},{"$i":"month-8","$v":"9月"},{"$i":"month-9","$v":"10月"},{"$i":"month-10","$v":"11月"},{"$i":"month-11","$v":"12月"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"},"検索"]},{"$i":"private-window-header","$v":"プライベートブラウジングモードです"},{"$i":"private-window-info1","$v":["プライベートウィンドウでは、",{"t":"idOrVar","v":"brandShortName"}," はブラウズ履歴や Cookie、一時インターネットファイルを保存しません。ダウンロードしたファイルとブックマークは保存されます。"]},{"$i":"private-window-info2","$v":"この端末にブラウズ履歴が保存されなくても、ご利用のインターネットサービスプロバイダはあなたが訪れたページを追跡できます。"},{"$i":"private-window-dont-tell","$v":"今後は表示しない"},{"$i":"private-learn-more","$v":"詳細"},{"$i":"gaia-grid-stop-download-title","$v":[{"t":"idOrVar","v":"name"}," を中止"]},{"$i":"gaia-grid-stop-download-body","$v":"ダウンロードを中止してもよろしいですか?"},{"$i":"gaia-grid-stop-download-action","$v":"中止"},{"$i":"gaia-grid-resume-download-title","$v":"ダウンロード再開"},{"$i":"gaia-grid-resume-download-body","$v":[{"t":"idOrVar","v":"name"}," のダウンロードを再開しますか?"]},{"$i":"gaia-grid-resume-download-action","$v":"ダウンロード"},{"$i":"gaia-grid-cancel","$v":"キャンセル"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"グループを展開する"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"グループを折りたたむ"},{"$i":"gaia-grid-enter-group-name","$v":"グループ名を入力してください"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Install ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ប្រវត្តិ"},{"$i":"top-sites","$v":"តំបន់​បណ្ដាញ​កំពូល"},{"$i":"suggestions","ariaLabel":"សំណើ"},{"$i":"contacts","ariaLabel":"ទំនាក់ទំនង"},{"$i":"places","ariaLabel":"ទីតាំង"},{"$i":"apps","ariaLabel":"កម្មវិធី"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"យល់ព្រម"},{"$i":"add-to-home-screen","label":"បន្ថែម​ទៅ​អេក្រង់​ដើម"},{"$i":"offline-message","$v":"No internet connection"},{"$i":"future","$v":"FUTURE"},{"$i":"today","$v":"TODAY"},{"$i":"yesterday","$v":"YESTERDAY"},{"$i":"last-7-days","$v":"LAST 7 DAYS"},{"$i":"this-month","$v":"THIS MONTH"},{"$i":"last-6-months","$v":"LAST 6 MONTHS"},{"$i":"older-than-6-months","$v":"OLDER THAN 6 MONTHS"},{"$i":"month-0","$v":"JANUARY"},{"$i":"month-1","$v":"FEBRUARY"},{"$i":"month-2","$v":"MARCH"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAY"},{"$i":"month-5","$v":"JUNE"},{"$i":"month-6","$v":"JULY"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OCTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"},{"$i":"gaia-grid-stop-download-title","$v":["បញ្ឈប់ ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"តើ​អ្នក​ចង់​បញ្ឈប់​កា​រ​ទាញយក​​ដែល​កំពុង​ដំណើរការ?"},{"$i":"gaia-grid-stop-download-action","$v":"បញ្ឈប់"},{"$i":"gaia-grid-resume-download-title","$v":"ចាប់ផ្ដើម​ទាញ​យក​​ឡើងវិញ"},{"$i":"gaia-grid-resume-download-body","$v":["តើ​អ្នក​ចង់​ទាញយក ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"ទាញយក"},{"$i":"gaia-grid-cancel","$v":"បោះបង់"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Expand group"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Collapse group"},{"$i":"gaia-grid-enter-group-name","$v":"Enter a group name"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," 설치"]},{"$i":"history","$v":"이전 기록"},{"$i":"top-sites","$v":"상위 사이트"},{"$i":"suggestions","ariaLabel":"추천"},{"$i":"contacts","ariaLabel":"연락처"},{"$i":"places","ariaLabel":"장소"},{"$i":"apps","ariaLabel":"앱"},{"$i":"suggestions-settings-notice","$v":"검색 추천이 활성화 되었습니다. 검색어를 입력할 때 누른 글자가 검색 엔진으로 전송됩니다. 기기 <span>설정</span>에서 검색 추천을 비활성화 할 수 있습니다."},{"$i":"ok","$v":"확인"},{"$i":"add-to-home-screen","label":"홈스크린에 추가"},{"$i":"offline-message","$v":"인터넷 연결 없음"},{"$i":"future","$v":"미래"},{"$i":"today","$v":"오늘"},{"$i":"yesterday","$v":"어제"},{"$i":"last-7-days","$v":"지난 7일"},{"$i":"this-month","$v":"이번 달"},{"$i":"last-6-months","$v":"지난 6개월"},{"$i":"older-than-6-months","$v":"6개월 이상"},{"$i":"month-0","$v":"1월"},{"$i":"month-1","$v":"2월"},{"$i":"month-2","$v":"3월"},{"$i":"month-3","$v":"4월"},{"$i":"month-4","$v":"5월"},{"$i":"month-5","$v":"6월"},{"$i":"month-6","$v":"7월"},{"$i":"month-7","$v":"8월"},{"$i":"month-8","$v":"9월"},{"$i":"month-9","$v":"10월"},{"$i":"month-10","$v":"11월"},{"$i":"month-11","$v":"12월"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," 검색"]},{"$i":"private-window-header","$v":"사생활 보호 모드로 사용중"},{"$i":"private-window-info1","$v":["사생활 보호 모드 창에서는 ",{"t":"idOrVar","v":"brandShortName"},"가 브라우저의 방문 목록이나 쿠키, 임시 인터넷 파일을 저장하지 않습니다. 하지만 다운로드한 파일이나 즐겨찾기 목록은 유지됩니다."]},{"$i":"private-window-info2","$v":"기기는 브라우징 방문 목록을 기록하지 않지만 인터넷 서비스 제공자는 여전히 방문한 페이지를 추적할 수 있습니다."},{"$i":"private-window-dont-tell","$v":"다시 알리지 않음"},{"$i":"private-learn-more","$v":"자세히 보기"},{"$i":"gaia-grid-stop-download-title","$v":[{"t":"idOrVar","v":"name"}," 중지"]},{"$i":"gaia-grid-stop-download-body","$v":"진행중인 다운로드를 취소하시겠습니까?"},{"$i":"gaia-grid-stop-download-action","$v":"중지"},{"$i":"gaia-grid-resume-download-title","$v":"다운로드 재시작"},{"$i":"gaia-grid-resume-download-body","$v":[{"t":"idOrVar","v":"name"}," 항목을 다운로드 하시겠습니까?"]},{"$i":"gaia-grid-resume-download-action","$v":"다운로드"},{"$i":"gaia-grid-cancel","$v":"취소"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"그룹 열기"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"그룹 닫기"},{"$i":"gaia-grid-enter-group-name","$v":"그룹 이름 입력"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Įdiegti „",{"t":"idOrVar","v":"title"},"“"]},{"$i":"history","$v":"ŽURNALAS"},{"$i":"top-sites","$v":"LANKOMIAUSIOS SVETAINĖS"},{"$i":"suggestions","ariaLabel":"Paieškos siūlymai"},{"$i":"contacts","ariaLabel":"Adresatai"},{"$i":"places","ariaLabel":"Vietos"},{"$i":"apps","ariaLabel":"Programos"},{"$i":"suggestions-settings-notice","$v":"Jūsų renkamas tekstas naudojamas rodyti paieškos siūlymams. Ieškos parinktis galite keisti Nuostatų skyriuje „Ieška“."},{"$i":"ok","$v":"Gerai"},{"$i":"add-to-home-screen","label":"Įtraukti į Pradžios ekraną"},{"$i":"offline-message","$v":"Nėra ryšio su internetu"},{"$i":"future","$v":"ATEITIS"},{"$i":"today","$v":"ŠIANDIENA"},{"$i":"yesterday","$v":"VAKARDIENA"},{"$i":"last-7-days","$v":"PASTAROSIOS 7 DIENOS"},{"$i":"this-month","$v":"ŠIS MĖNUO"},{"$i":"last-6-months","$v":"PASTARIEJI 6 MĖNESIAI"},{"$i":"older-than-6-months","$v":"ANKSČIAU NEI PRIEŠ 6 MĖN."},{"$i":"month-0","$v":"SAUSIS"},{"$i":"month-1","$v":"VASARIS"},{"$i":"month-2","$v":"KOVAS"},{"$i":"month-3","$v":"BALANDIS"},{"$i":"month-4","$v":"GEGUŽĖ"},{"$i":"month-5","$v":"BIRŽELIS"},{"$i":"month-6","$v":"LIEPA"},{"$i":"month-7","$v":"RUGPJŪTIS"},{"$i":"month-8","$v":"RUGSĖJIS"},{"$i":"month-9","$v":"SPALIS"},{"$i":"month-10","$v":"LAPKRITIS"},{"$i":"month-11","$v":"GRUODIS"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"},{"$i":"gaia-grid-stop-download-title","$v":["Parsiuntimo „",{"t":"idOrVar","v":"name"},"“ nutraukimas"]},{"$i":"gaia-grid-stop-download-body","$v":"Ar norite nutraukti vykstantį parsiuntimą?ss?"},{"$i":"gaia-grid-stop-download-action","$v":"Nutraukti"},{"$i":"gaia-grid-resume-download-title","$v":"Parsiuntimo kartojimas"},{"$i":"gaia-grid-resume-download-body","$v":["Ar norite parsiųsti „",{"t":"idOrVar","v":"name"},"“?"]},{"$i":"gaia-grid-resume-download-action","$v":"Parsiųsti"},{"$i":"gaia-grid-cancel","$v":"Atsisakyti"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Expand group"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Collapse group"},{"$i":"gaia-grid-enter-group-name","$v":"Enter a group name"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Инсталирај ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORY"},{"$i":"top-sites","$v":"TOP SITES"},{"$i":"suggestions","ariaLabel":"Suggestions"},{"$i":"contacts","ariaLabel":"Contacts"},{"$i":"places","ariaLabel":"Places"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Add to Home Screen"},{"$i":"offline-message","$v":"No internet connection"},{"$i":"future","$v":"FUTURE"},{"$i":"today","$v":"TODAY"},{"$i":"yesterday","$v":"YESTERDAY"},{"$i":"last-7-days","$v":"LAST 7 DAYS"},{"$i":"this-month","$v":"THIS MONTH"},{"$i":"last-6-months","$v":"LAST 6 MONTHS"},{"$i":"older-than-6-months","$v":"OLDER THAN 6 MONTHS"},{"$i":"month-0","$v":"JANUARY"},{"$i":"month-1","$v":"FEBRUARY"},{"$i":"month-2","$v":"MARCH"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAY"},{"$i":"month-5","$v":"JUNE"},{"$i":"month-6","$v":"JULY"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OCTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"},{"$i":"gaia-grid-stop-download-title","$v":["Stop ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Do you want to stop the download in progress?"},{"$i":"gaia-grid-stop-download-action","$v":"Stop"},{"$i":"gaia-grid-resume-download-title","$v":"Restart Download"},{"$i":"gaia-grid-resume-download-body","$v":["Do you want to download ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Download"},{"$i":"gaia-grid-cancel","$v":"Cancel"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Expand group"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Collapse group"},{"$i":"gaia-grid-enter-group-name","$v":"Enter a group name"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Pasang ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORY"},{"$i":"top-sites","$v":"TOP SITES"},{"$i":"suggestions","ariaLabel":"Cadangan"},{"$i":"contacts","ariaLabel":"Kenalan"},{"$i":"places","ariaLabel":"Tempat"},{"$i":"apps","ariaLabel":"Aplikasi"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Tambah ke Skrin Utama"},{"$i":"offline-message","$v":"No internet connection"},{"$i":"future","$v":"KELAK"},{"$i":"today","$v":"HARI INI"},{"$i":"yesterday","$v":"KELMARIN"},{"$i":"last-7-days","$v":"7 HARI TERAKHIR"},{"$i":"this-month","$v":"BULAN INI"},{"$i":"last-6-months","$v":"6 BULAN TERAKHIR"},{"$i":"older-than-6-months","$v":"LEWAT DARI 6 BULAN"},{"$i":"month-0","$v":"JANUARI"},{"$i":"month-1","$v":"FEBRUARI"},{"$i":"month-2","$v":"MAC"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MEI"},{"$i":"month-5","$v":"JUN"},{"$i":"month-6","$v":"JULAI"},{"$i":"month-7","$v":"OGOS"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OKTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DISEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"},{"$i":"gaia-grid-stop-download-title","$v":["Henti ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Adakah anda ingin menghentikan muat turun yang sedang berlangsung?"},{"$i":"gaia-grid-stop-download-action","$v":"Henti"},{"$i":"gaia-grid-resume-download-title","$v":"Mula semula Muat turun"},{"$i":"gaia-grid-resume-download-body","$v":["Adakah anda ingin memuat turun ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Muat Turun"},{"$i":"gaia-grid-cancel","$v":"Batal"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Expand group"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Collapse group"},{"$i":"gaia-grid-enter-group-name","$v":"Enter a group name"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," स्थापना गर्नुहोस्"]},{"$i":"history","$v":"इतिहास"},{"$i":"top-sites","$v":"शीर्ष साइटहरु"},{"$i":"suggestions","ariaLabel":"सुझावहरू"},{"$i":"contacts","ariaLabel":"सम्पर्कहरू"},{"$i":"places","ariaLabel":"स्थानहरू"},{"$i":"apps","ariaLabel":"एप्स"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"ठीक छ"},{"$i":"add-to-home-screen","label":"गृह पर्दामा थप्नुहोस"},{"$i":"offline-message","$v":"No internet connection"},{"$i":"future","$v":"भविष्य"},{"$i":"today","$v":"आज"},{"$i":"yesterday","$v":"हिजो"},{"$i":"last-7-days","$v":"बितेको सात दिनमा"},{"$i":"this-month","$v":"यो महिना"},{"$i":"last-6-months","$v":"बितेको छ महिनामा"},{"$i":"older-than-6-months","$v":"छ महिना पुरानो"},{"$i":"month-0","$v":"जनवरी"},{"$i":"month-1","$v":"फेब्रुअरी"},{"$i":"month-2","$v":"मार्च"},{"$i":"month-3","$v":"अप्रिल"},{"$i":"month-4","$v":"मे"},{"$i":"month-5","$v":"जून"},{"$i":"month-6","$v":"जुलाई"},{"$i":"month-7","$v":"अगस्ट"},{"$i":"month-8","$v":"सेप्टेम्बर"},{"$i":"month-9","$v":"अक्टोबर"},{"$i":"month-10","$v":"नोभेम्बर"},{"$i":"month-11","$v":"डीसेम्बर"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"},{"$i":"gaia-grid-stop-download-title","$v":["बन्द",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"तपाई यो डाउनलोडको प्रगतिलाई रोक्न चाहनुहुन्छ? "},{"$i":"gaia-grid-stop-download-action","$v":"बन्द"},{"$i":"gaia-grid-resume-download-title","$v":"डाउनलोड फेरी सुरु गर्नुहोस्"},{"$i":"gaia-grid-resume-download-body","$v":["के तपाई ",{"t":"idOrVar","v":"name"}," डाउनलोड गर्न चाहनुहुन्छ?"]},{"$i":"gaia-grid-resume-download-action","$v":"डाउनलोड"},{"$i":"gaia-grid-cancel","$v":"रद्द गर्नुहोस्"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Expand group"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Collapse group"},{"$i":"gaia-grid-enter-group-name","$v":"Enter a group name"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," installeren"]},{"$i":"history","$v":"GESCHIEDENIS"},{"$i":"top-sites","$v":"TOPWEBSITES"},{"$i":"suggestions","ariaLabel":"Suggesties"},{"$i":"contacts","ariaLabel":"Contacten"},{"$i":"places","ariaLabel":"Plaatsen"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Zoeksuggesties zijn ingeschakeld. De tekens die u typt bij het invoeren van een zoekopdracht worden naar de zoekmachine verzonden. U kunt zoeksuggesties uitschakelen in de <span>Instellingen</span> van het apparaat."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Toevoegen aan startscherm"},{"$i":"offline-message","$v":"Geen internetverbinding"},{"$i":"future","$v":"TOEKOMST"},{"$i":"today","$v":"VANDAAG"},{"$i":"yesterday","$v":"GISTEREN"},{"$i":"last-7-days","$v":"AFGELOPEN 7 DAGEN"},{"$i":"this-month","$v":"DEZE MAAND"},{"$i":"last-6-months","$v":"AFGELOPEN 6 MAANDEN"},{"$i":"older-than-6-months","$v":"OUDER DAN 6 MAANDEN"},{"$i":"month-0","$v":"JANUARI"},{"$i":"month-1","$v":"FEBRUARI"},{"$i":"month-2","$v":"MAART"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MEI"},{"$i":"month-5","$v":"JUNI"},{"$i":"month-6","$v":"JULI"},{"$i":"month-7","$v":"AUGUSTUS"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OKTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," ZOEKEN"]},{"$i":"private-window-header","$v":"U navigeert privé"},{"$i":"private-window-info1","$v":["In privévensters zal ",{"t":"idOrVar","v":"brandShortName"}," geen navigatiegeschiedenis, cookies of tijdelijke internetbestanden bewaren. Bestanden die u downloadt en bladwijzers die u aanmaakt blijven echter bewaard."]},{"$i":"private-window-info2","$v":"Hoewel dit apparaat geen navigatiegeschiedenis van u zal bewaren, kan uw internetserviceprovider toch volgen welke pagina’s u bezoekt."},{"$i":"private-window-dont-tell","$v":"Dit niet meer laten weten"},{"$i":"private-learn-more","$v":"Meer info"},{"$i":"gaia-grid-stop-download-title","$v":[{"t":"idOrVar","v":"name"}," stoppen"]},{"$i":"gaia-grid-stop-download-body","$v":"Wilt u de actieve download stoppen?"},{"$i":"gaia-grid-stop-download-action","$v":"Stoppen"},{"$i":"gaia-grid-resume-download-title","$v":"Download herstarten"},{"$i":"gaia-grid-resume-download-body","$v":["Wilt u ",{"t":"idOrVar","v":"name"}," downloaden?"]},{"$i":"gaia-grid-resume-download-action","$v":"Downloaden"},{"$i":"gaia-grid-cancel","$v":"Annuleren"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Groep uitvouwen"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Groep samenvouwen"},{"$i":"gaia-grid-enter-group-name","$v":"Voer een groepsnaam in"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," ਇੰਸਟਾਲ ਕਰੋ"]},{"$i":"history","$v":"ਅਤੀਤ"},{"$i":"top-sites","$v":"ਚੋਟੀ ਦੀਆਂ ਸਾਈਟਾਂ"},{"$i":"suggestions","ariaLabel":"ਸੁਜਾਅ"},{"$i":"contacts","ariaLabel":"ਸੰਪਰਕ"},{"$i":"places","ariaLabel":"ਥਾਵਾਂ"},{"$i":"apps","ariaLabel":"ਐਪਸ"},{"$i":"suggestions-settings-notice","$v":"The characters you type are used to show you search suggestions. Go to the Search section of Settings to change your search preferences."},{"$i":"ok","$v":"ਠੀਕ ਹੈ"},{"$i":"add-to-home-screen","label":"ਮੁੱਖ ਸਕਰੀਨ ਉੱਤੇ ਜੋੜੋ"},{"$i":"offline-message","$v":"ਕੋਈ ਇੰਟਰਨੈੱਟ ਕਨੈਕਸ਼ਨ ਨਹੀਂ"},{"$i":"future","$v":"ਭਵਿੱਖ"},{"$i":"today","$v":"ਅੱਜ"},{"$i":"yesterday","$v":"ਕੱਲ੍ਹ"},{"$i":"last-7-days","$v":"ਪਿਛਲੇ 7 ਦਿਨ"},{"$i":"this-month","$v":"ਇਹ ਮਹੀਨੇ"},{"$i":"last-6-months","$v":"LAST 6 MONTHS"},{"$i":"older-than-6-months","$v":"OLDER THAN 6 MONTHS"},{"$i":"month-0","$v":"ਜਨਵਰੀ"},{"$i":"month-1","$v":"ਫਰਵਰੀ"},{"$i":"month-2","$v":"ਮਾਰਚ"},{"$i":"month-3","$v":"ਅਪਰੈਲ"},{"$i":"month-4","$v":"ਮਈ"},{"$i":"month-5","$v":"ਜੂਨ"},{"$i":"month-6","$v":"ਜੁਲਾਈ"},{"$i":"month-7","$v":"ਅਗਸਤ"},{"$i":"month-8","$v":"ਸਤੰਬਰ"},{"$i":"month-9","$v":"ਅਕਤੂਬਰ"},{"$i":"month-10","$v":"ਨਵੰਬਰ"},{"$i":"month-11","$v":"ਦਸੰਬਰ"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"},{"$i":"gaia-grid-stop-download-title","$v":[{"t":"idOrVar","v":"name"}," ਰੋਕੋ"]},{"$i":"gaia-grid-stop-download-body","$v":"ਕੀ ਤੁਸੀਂ ਚੱਲ ਰਹੇ ਡਾਊਨਲੋਡ ਨੂੰ ਰੋਕਣਾ ਚਾਹੁੰਦੇ ਹੋ?"},{"$i":"gaia-grid-stop-download-action","$v":"ਰੋਕੋ"},{"$i":"gaia-grid-resume-download-title","$v":"ਡਾਊਨਲੋਡ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"},{"$i":"gaia-grid-resume-download-body","$v":["ਕੀ ਤੁਸੀਂ ",{"t":"idOrVar","v":"name"}," ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"]},{"$i":"gaia-grid-resume-download-action","$v":"ਡਾਊਨਲੋਡ"},{"$i":"gaia-grid-cancel","$v":"ਰੱਦ ਕਰੋ"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Expand group"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Collapse group"},{"$i":"gaia-grid-enter-group-name","$v":"Enter a group name"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Zainstaluj „",{"t":"idOrVar","v":"title"},"”"]},{"$i":"history","$v":"Historia"},{"$i":"top-sites","$v":"Popularne"},{"$i":"suggestions","ariaLabel":"Podpowiedzi"},{"$i":"contacts","ariaLabel":"Kontakty"},{"$i":"places","ariaLabel":"Miejsca"},{"$i":"apps","ariaLabel":"Aplikacje"},{"$i":"suggestions-settings-notice","$v":"Podpowiedzi wyszukiwania są włączone i będą wyświetlane na podstawie wprowadzanych znaków wysyłanych do wyszukiwarek. Można je wyłączyć w <span>ustawieniach</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Dodaj do ekranu głównego"},{"$i":"offline-message","$v":"Brak połączenia z Internetem"},{"$i":"future","$v":"Przyszłość"},{"$i":"today","$v":"Dziś"},{"$i":"yesterday","$v":"Wczoraj"},{"$i":"last-7-days","$v":"Ostatnie 7 dni"},{"$i":"this-month","$v":"Ten miesiąc"},{"$i":"last-6-months","$v":"Ostatnie 6 miesięcy"},{"$i":"older-than-6-months","$v":"Starsze niż 6 miesięcy"},{"$i":"month-0","$v":"Styczeń"},{"$i":"month-1","$v":"Luty"},{"$i":"month-2","$v":"Marzec"},{"$i":"month-3","$v":"Kwiecień"},{"$i":"month-4","$v":"Maj"},{"$i":"month-5","$v":"Czerwiec"},{"$i":"month-6","$v":"Lipiec"},{"$i":"month-7","$v":"Sierpień"},{"$i":"month-8","$v":"Wrzesień"},{"$i":"month-9","$v":"Październik"},{"$i":"month-10","$v":"Listopad"},{"$i":"month-11","$v":"Grudzień"},{"$i":"search-header","$v":["Wyszukiwanie ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"},{"$i":"gaia-grid-stop-download-title","$v":["Zatrzymywanie pobierania „",{"t":"idOrVar","v":"name"},"”"]},{"$i":"gaia-grid-stop-download-body","$v":"Zatrzymać aktywne pobieranie aplikacji?"},{"$i":"gaia-grid-stop-download-action","$v":"Zatrzymaj"},{"$i":"gaia-grid-resume-download-title","$v":"Wznawianie pobierania"},{"$i":"gaia-grid-resume-download-body","$v":["Pobrać aplikację „",{"t":"idOrVar","v":"name"},"”?"]},{"$i":"gaia-grid-resume-download-action","$v":"Pobierz"},{"$i":"gaia-grid-cancel","$v":"Anuluj"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Rozwiń grupę"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Zwiń grupę"},{"$i":"gaia-grid-enter-group-name","$v":"Wprowadź nazwę grupy"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Instalar ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTÓRICO"},{"$i":"top-sites","$v":"MELHORES SITES"},{"$i":"suggestions","ariaLabel":"Sugestões"},{"$i":"contacts","ariaLabel":"Contatos"},{"$i":"places","ariaLabel":"Locais"},{"$i":"apps","ariaLabel":"Aplicativos"},{"$i":"suggestions-settings-notice","$v":"Sugestões de pesquisa estão habilitadas. Os caracteres são enviados ao buscador enquanto você digita. Você pode desabilitar as sugestões de pesquisa nas <span>Configurações</span> do dispositivo."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Adicionar a Tela Inicial"},{"$i":"offline-message","$v":"Sem conexão à internet"},{"$i":"future","$v":"FUTURO"},{"$i":"today","$v":"HOJE"},{"$i":"yesterday","$v":"ONTEM"},{"$i":"last-7-days","$v":"ÚLTIMOS 7 DIAS"},{"$i":"this-month","$v":"ESSE MÊS"},{"$i":"last-6-months","$v":"ÚLTIMOS 6 MESES"},{"$i":"older-than-6-months","$v":"MAIS VELHO QUE 6 MESES"},{"$i":"month-0","$v":"JANEIRO"},{"$i":"month-1","$v":"FEVEREIRO"},{"$i":"month-2","$v":"MARÇO"},{"$i":"month-3","$v":"ABRIL"},{"$i":"month-4","$v":"MAIO"},{"$i":"month-5","$v":"JUNHO"},{"$i":"month-6","$v":"JULHO"},{"$i":"month-7","$v":"AGOSTO"},{"$i":"month-8","$v":"SETEMBRO"},{"$i":"month-9","$v":"OUTUBRO"},{"$i":"month-10","$v":"NOVEMBRO"},{"$i":"month-11","$v":"DEZEMBRO"},{"$i":"search-header","$v":["PESQUISA ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Você está navegando privativamente"},{"$i":"private-window-info1","$v":["Você abriu uma nova janela privada, o ",{"t":"idOrVar","v":"brandShortName"}," não mantém nenhum histórico de navegação, cookies ou arquivos temporários de internet. Entretanto, os downloads e favoritos serão mantidos."]},{"$i":"private-window-info2","$v":"Apesar deste dispositivo não registrar o seu histórico de navegação, o seu empregador ou fornecedor de Internet poderão rastrear as páginas que você visita."},{"$i":"private-window-dont-tell","$v":"Não me informe novamente"},{"$i":"private-learn-more","$v":"Saiba mais"},{"$i":"gaia-grid-stop-download-title","$v":["Parar ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Deseja interromper o download em progresso?"},{"$i":"gaia-grid-stop-download-action","$v":"Parar"},{"$i":"gaia-grid-resume-download-title","$v":"Reiniciar Download"},{"$i":"gaia-grid-resume-download-body","$v":["Você deseja transferir ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Download"},{"$i":"gaia-grid-cancel","$v":"Cancelar"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Expandir grupo"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Recolher grupo"},{"$i":"gaia-grid-enter-group-name","$v":"Digite o nome do grupo"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Instalează ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ISTORIC"},{"$i":"top-sites","$v":"SITE-URI DE TOP"},{"$i":"suggestions","ariaLabel":"Sugestii"},{"$i":"contacts","ariaLabel":"Contacte"},{"$i":"places","ariaLabel":"Locuri"},{"$i":"apps","ariaLabel":"Aplicații"},{"$i":"suggestions-settings-notice","$v":"Sugestiile de căutare sunt activate. Caracterele pe care le tastezi la căutare sunt trimise motorului de căutare. Poți dezactiva sugestiile de căutare din <span>setările</span> dispozitivului."},{"$i":"ok","$v":"Ok"},{"$i":"add-to-home-screen","label":"Adaugă la ecran principal"},{"$i":"offline-message","$v":"Fără conexiune la internet"},{"$i":"future","$v":"VIITOR"},{"$i":"today","$v":"ASTĂZI"},{"$i":"yesterday","$v":"IERI"},{"$i":"last-7-days","$v":"ULTIMELE 7 ZILE"},{"$i":"this-month","$v":"LUNA ACEASTA"},{"$i":"last-6-months","$v":"ULTIMELE 6 LUNI"},{"$i":"older-than-6-months","$v":"MAI VECHI DE 6 LUNI"},{"$i":"month-0","$v":"IANUARIE"},{"$i":"month-1","$v":"FEBRUARIE"},{"$i":"month-2","$v":"MARTIE"},{"$i":"month-3","$v":"APRILIE"},{"$i":"month-4","$v":"MAI"},{"$i":"month-5","$v":"IUNIE"},{"$i":"month-6","$v":"IULIE"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBRIE"},{"$i":"month-9","$v":"OCTOMBRIE"},{"$i":"month-10","$v":"NOIEMBRIE"},{"$i":"month-11","$v":"DECEMBRIE"},{"$i":"search-header","$v":["CĂUTARE ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Navighezi în mod privat"},{"$i":"private-window-info1","$v":["În ferestrele private, ",{"t":"idOrVar","v":"brandShortName"}," nu va păstra istoricul browserului, cookie-urile sau fișierele temporare de internet. Cu toate acestea, fișierele pe care le descarci și semnele de carte pe care le pui vor fi păstrate."]},{"$i":"private-window-info2","$v":"Cu toate că acest dispozitiv nu va păstra istoricul navigării, furnizorul de internet poate încă să urmărească paginile pe care le vizitezi."},{"$i":"private-window-dont-tell","$v":"Nu-mi spune din nou"},{"$i":"private-learn-more","$v":"Află mai multe"},{"$i":"gaia-grid-stop-download-title","$v":["Oprește ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Dorești să oprești descărcarea în desfășurare?"},{"$i":"gaia-grid-stop-download-action","$v":"Oprește"},{"$i":"gaia-grid-resume-download-title","$v":"Repornește descărcarea"},{"$i":"gaia-grid-resume-download-body","$v":["Dorești să descarci ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Descarcă"},{"$i":"gaia-grid-cancel","$v":"Renunță"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Extinde grupul"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Restânge grupul"},{"$i":"gaia-grid-enter-group-name","$v":"Intro un nume de grup"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Установить ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ИСТОРИЯ"},{"$i":"top-sites","$v":"ТОП САЙТОВ"},{"$i":"suggestions","ariaLabel":"Предложения"},{"$i":"contacts","ariaLabel":"Контакты"},{"$i":"places","ariaLabel":"Места"},{"$i":"apps","ariaLabel":"Приложения"},{"$i":"suggestions-settings-notice","$v":"Поисковые предложения включены. Символы, набираемые вами при поисковом запросе, отправляются в поисковую систему. Вы можете отключить поисковые предложения в <span>Параметрах</span> устройства."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Добавить на домашний экран"},{"$i":"offline-message","$v":"Нет соединения с Интернетом"},{"$i":"future","$v":"БУДУЩЕЕ"},{"$i":"today","$v":"СЕГОДНЯ"},{"$i":"yesterday","$v":"ВЧЕРА"},{"$i":"last-7-days","$v":"ПОСЛЕДНИЕ 7 ДНЕЙ"},{"$i":"this-month","$v":"ЭТОТ МЕСЯЦ"},{"$i":"last-6-months","$v":"ПОСЛЕДНИЕ 6 МЕСЯЦЕВ"},{"$i":"older-than-6-months","$v":"СТАРШЕ 6 МЕСЯЦЕВ"},{"$i":"month-0","$v":"ЯНВАРЬ"},{"$i":"month-1","$v":"ФЕВРАЛЬ"},{"$i":"month-2","$v":"МАРТ"},{"$i":"month-3","$v":"АПРЕЛЬ"},{"$i":"month-4","$v":"МАЙ"},{"$i":"month-5","$v":"ИЮНЬ"},{"$i":"month-6","$v":"ИЮЛЬ"},{"$i":"month-7","$v":"АВГУСТ"},{"$i":"month-8","$v":"СЕНТЯБРЬ"},{"$i":"month-9","$v":"ОКТЯБРЬ"},{"$i":"month-10","$v":"НОЯБРЬ"},{"$i":"month-11","$v":"ДЕКАБРЬ"},{"$i":"search-header","$v":["ИСКАТЬ В ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Вы работаете в режиме приватности"},{"$i":"private-window-info1","$v":["При работе в приватных окнах ",{"t":"idOrVar","v":"brandShortName"}," не будет вести журнал посещаемых вами сайтов. Также не будут сохраняться куки и временные файлы Интернета. Однако любые загруженные вами файлы и созданные вами закладки будут сохранены."]},{"$i":"private-window-info2","$v":"Хотя это устройство не будет вести журнал посещаемых вами сайтов, ваш интернет-провайдер может следить за тем, какие страницы вы посещаете."},{"$i":"private-window-dont-tell","$v":"Больше мне об этом не сообщать"},{"$i":"private-learn-more","$v":"Подробнее"},{"$i":"gaia-grid-stop-download-title","$v":["Остановка ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Вы хотите остановить процесс загрузки?"},{"$i":"gaia-grid-stop-download-action","$v":"Остановить"},{"$i":"gaia-grid-resume-download-title","$v":"Перезапуск загрузки"},{"$i":"gaia-grid-resume-download-body","$v":["Вы хотите загрузить ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Загрузить"},{"$i":"gaia-grid-cancel","$v":"Отмена"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Развернуть группу"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Свернуть группу"},{"$i":"gaia-grid-enter-group-name","$v":"Введите имя группы"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Nainštalovať ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTÓRIA"},{"$i":"top-sites","$v":"TOP STRÁNKY"},{"$i":"suggestions","ariaLabel":"Návrhy"},{"$i":"contacts","ariaLabel":"Kontakty"},{"$i":"places","ariaLabel":"Miesta"},{"$i":"apps","ariaLabel":"Aplikácie"},{"$i":"suggestions-settings-notice","$v":"Návrhy vyhľadávania sú povolené. Znaky zadané do vyhľadávania sú okamžite odosielané vyhľadávaciemu modulu. Funkciu návrhov vyhľadávania môžete vypnúť v <span>Nastaveniach</span> zariadenia."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Pridať na Úvodnú stránku"},{"$i":"offline-message","$v":"Žiadne pripojenie k sieti internet"},{"$i":"future","$v":"BUDÚCNOSŤ"},{"$i":"today","$v":"DNES"},{"$i":"yesterday","$v":"VČERA"},{"$i":"last-7-days","$v":"POSLEDNÝCH 7 DNÍ"},{"$i":"this-month","$v":"TENTO MESIAC"},{"$i":"last-6-months","$v":"POSLEDNÝCH 6 MESIACOV"},{"$i":"older-than-6-months","$v":"STARŠIE AKO 6 MESIACOV"},{"$i":"month-0","$v":"JANUÁR"},{"$i":"month-1","$v":"FEBRUÁR"},{"$i":"month-2","$v":"MAREC"},{"$i":"month-3","$v":"APRÍL"},{"$i":"month-4","$v":"MÁJ"},{"$i":"month-5","$v":"JÚN"},{"$i":"month-6","$v":"JÚL"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OKTÓBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":["VYHĽADÁVANIE ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Režim Súkromné prehliadanie"},{"$i":"private-window-info1","$v":["V súkromných oknách ",{"t":"idOrVar","v":"brandShortName"}," neuchováva históriu prehliadania, cookies ani dočasné internetové súbory. Prevzaté súbory a vytvorené záložky však ostanú zachované."]},{"$i":"private-window-info2","$v":"Aj keď sa v tomto zariadení nebudú ukladať žiadne údaje o prehliadaných stránkach, váš poskytovateľ internetového pripojenia môže napriek tomu sledovať, ktoré stránky navštevujete."},{"$i":"private-window-dont-tell","$v":"Nabudúce ma neupozorňovať"},{"$i":"private-learn-more","$v":"Ďalšie informácie"},{"$i":"gaia-grid-stop-download-title","$v":["Zastaviť ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Naozaj chcete zastaviť prebiehajúce preberanie?"},{"$i":"gaia-grid-stop-download-action","$v":"Zastaviť"},{"$i":"gaia-grid-resume-download-title","$v":"Reštartovanie preberania"},{"$i":"gaia-grid-resume-download-body","$v":["Chcete prevziať ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Prevziať"},{"$i":"gaia-grid-cancel","$v":"Zrušiť"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Rozbaliť skupinu"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Zbaliť skupinu"},{"$i":"gaia-grid-enter-group-name","$v":"Zadajte názov skupiny"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Instaloni ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIK"},{"$i":"top-sites","$v":"SAJTE KRYESUES"},{"$i":"suggestions","ariaLabel":"Sugjerime"},{"$i":"contacts","ariaLabel":"Kontakte"},{"$i":"places","ariaLabel":"Vende"},{"$i":"apps","ariaLabel":"Aplikacione"},{"$i":"suggestions-settings-notice","$v":"Sugjerimet për kërkime janë të aktivizuara. Shenjat që shtypni kur jepni një term kërkimi, i dërgohen motorit të kërkimeve. Sugjerimet për kërkimet mund t’i çaktivizoni te <span>Rregullimet</span> e pajisjes."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Shtojeni te Kreu"},{"$i":"offline-message","$v":"Pa Lidhje Internet"},{"$i":"future","$v":"NË TË ARDHMEN"},{"$i":"today","$v":"SOT"},{"$i":"yesterday","$v":"DJE"},{"$i":"last-7-days","$v":"7 DITËT E FUNDIT"},{"$i":"this-month","$v":"KËTË MUAJ"},{"$i":"last-6-months","$v":"6 MUAJT E FUNDIT"},{"$i":"older-than-6-months","$v":"MË HERËT SE 6 MUAJ"},{"$i":"month-0","$v":"JANAR"},{"$i":"month-1","$v":"SHKURT"},{"$i":"month-2","$v":"MARS"},{"$i":"month-3","$v":"PRILL"},{"$i":"month-4","$v":"MAJ"},{"$i":"month-5","$v":"QERSHOR"},{"$i":"month-6","$v":"KORRIK"},{"$i":"month-7","$v":"GUSHT"},{"$i":"month-8","$v":"SHTATOR"},{"$i":"month-9","$v":"TETOR"},{"$i":"month-10","$v":"NËNTOR"},{"$i":"month-11","$v":"DHJETOR"},{"$i":"search-header","$v":["KËRKIM ME ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Po shfletoni privatisht"},{"$i":"private-window-info1","$v":["Në dritare private, ",{"t":"idOrVar","v":"brandShortName"}," s’do të ruajë gjë nga historiku i shfletuesit, cookie-t, apo kartela të përkohshme Interneti. Por do të ruhen te pajisja juaj faqerojtësit që shtoni dhe kartelat që shkarkoni."]},{"$i":"private-window-info2","$v":"Teksa kjo pajisje s’do të ketë ndonjë regjistrim të historikut tuaj të shfletimeve, mundësuesi i shërbimit internet mundet prapëseprapë të gjurmojë faqet që vizitoni."},{"$i":"private-window-dont-tell","$v":"Mos ma trego prapë"},{"$i":"private-learn-more","$v":"Mësoni më tepër"},{"$i":"gaia-grid-stop-download-title","$v":["Ndaleni ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Doni të ndalet shkarkimi që po kryhet?"},{"$i":"gaia-grid-stop-download-action","$v":"Ndale"},{"$i":"gaia-grid-resume-download-title","$v":"Rinisni Shkarkimin"},{"$i":"gaia-grid-resume-download-body","$v":["Doni të shkarkohet ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Shkarkoje"},{"$i":"gaia-grid-cancel","$v":"Anulojeni"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Zgjeroje grupin"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Tkurre grupin"},{"$i":"gaia-grid-enter-group-name","$v":"Jepni emër grupi"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Инсталирај ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ИСТОРИЈА"},{"$i":"top-sites","$v":"ПОПУЛАРНИ САЈТОВИ"},{"$i":"suggestions","ariaLabel":"Предлози"},{"$i":"contacts","ariaLabel":"Контакти"},{"$i":"places","ariaLabel":"Места"},{"$i":"apps","ariaLabel":"Апликације"},{"$i":"suggestions-settings-notice","$v":"Предлози претраге су омогућени. Карактери које куцате се шаљу претраживачима. Можете онемогућити предлоге претраге у <span>Поставкама</span> уређаја."},{"$i":"ok","$v":"У реду"},{"$i":"add-to-home-screen","label":"Додај на почетни екран"},{"$i":"offline-message","$v":"Нема интернет конекције"},{"$i":"future","$v":"БУДУЋНОСТ"},{"$i":"today","$v":"ДАНАС"},{"$i":"yesterday","$v":"ЈУЧЕ"},{"$i":"last-7-days","$v":"ПОСЛЕДЊИХ 7 ДАНА"},{"$i":"this-month","$v":"ОВАЈ МЕСЕЦ"},{"$i":"last-6-months","$v":"ПОСЛЕДЊИХ 6 МЕСЕЦИ"},{"$i":"older-than-6-months","$v":"СТАРИЈЕ ОД 6 МЕСЕЦА"},{"$i":"month-0","$v":"ЈАНУАР"},{"$i":"month-1","$v":"ФЕБРУАР"},{"$i":"month-2","$v":"МАРТ"},{"$i":"month-3","$v":"АПРИЛ"},{"$i":"month-4","$v":"МАЈ"},{"$i":"month-5","$v":"ЈУН"},{"$i":"month-6","$v":"ЈУЛ"},{"$i":"month-7","$v":"АВГУСТ"},{"$i":"month-8","$v":"СЕПТЕМБАР"},{"$i":"month-9","$v":"ОКТОБАР"},{"$i":"month-10","$v":"НОВЕМБАР"},{"$i":"month-11","$v":"ДЕЦЕМБАР"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," ПРЕТРАГА"]},{"$i":"private-window-header","$v":"Прегледавате приватно"},{"$i":"private-window-info1","$v":["У приватним прозорима, ",{"t":"idOrVar","v":"brandShortName"}," неће памтити историјат, колачиће или привремене интернет датотеке. Међутим, датотеке које преузмете или забелешке које направите ће бити запамћене."]},{"$i":"private-window-info2","$v":"Док овај уређај неће бележити историјат, ваш интернет провајдер и даље може да прати странице које ви посећујете."},{"$i":"private-window-dont-tell","$v":"Немој ми рећи опет"},{"$i":"private-learn-more","$v":"Сазнајте више"},{"$i":"gaia-grid-stop-download-title","$v":["Заустави ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Да ли желите да зауставите преузимање?"},{"$i":"gaia-grid-stop-download-action","$v":"Заустави"},{"$i":"gaia-grid-resume-download-title","$v":"Рестартуј преузимање"},{"$i":"gaia-grid-resume-download-body","$v":["Да ли желите да преузмете ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Преузми"},{"$i":"gaia-grid-cancel","$v":"Откажи"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Прошири групу"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Скупи групу"},{"$i":"gaia-grid-enter-group-name","$v":"Унесите име групе"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Instaliraj ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ISTORIJA"},{"$i":"top-sites","$v":"POPULARNI SAJTOVI"},{"$i":"suggestions","ariaLabel":"Predlozi"},{"$i":"contacts","ariaLabel":"Kontakti"},{"$i":"places","ariaLabel":"Mesta"},{"$i":"apps","ariaLabel":"Aplikacije"},{"$i":"suggestions-settings-notice","$v":"Predlozi pretrage su omogućeni. Karakteri koje kucate se šalju pretraživačima. Možete onemogućiti predloge pretrage u <span>Postavkama</span> uređaja."},{"$i":"ok","$v":"U redu"},{"$i":"add-to-home-screen","label":"Dodaj na početni ekran"},{"$i":"offline-message","$v":"Nema internet konekcije"},{"$i":"future","$v":"BUDUĆNOST"},{"$i":"today","$v":"DANAS"},{"$i":"yesterday","$v":"JUČE"},{"$i":"last-7-days","$v":"POSLEDNJIH 7 DANA"},{"$i":"this-month","$v":"OVAJ MESEC"},{"$i":"last-6-months","$v":"POSLEDNJIH 6 MESECI"},{"$i":"older-than-6-months","$v":"STARIJE OD 6 MESECA"},{"$i":"month-0","$v":"JANUAR"},{"$i":"month-1","$v":"FEBRUAR"},{"$i":"month-2","$v":"MART"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAJ"},{"$i":"month-5","$v":"JUN"},{"$i":"month-6","$v":"JUL"},{"$i":"month-7","$v":"AVGUST"},{"$i":"month-8","$v":"SEPTEMBAR"},{"$i":"month-9","$v":"OKTOBAR"},{"$i":"month-10","$v":"NOVEMBAR"},{"$i":"month-11","$v":"DECEMBAR"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," PRETRAGA"]},{"$i":"private-window-header","$v":"Pregledavate privatno"},{"$i":"private-window-info1","$v":["U privatnim prozorima, ",{"t":"idOrVar","v":"brandShortName"}," neće pamtiti istorijat, kolačiće ili privremene internet datoteke. Međutim, datoteke koje preuzmete ili zabeleške koje napravite će biti zapamćene."]},{"$i":"private-window-info2","$v":"Dok ovaj uređaj neće beležiti istorijat, vaš internet provajder i dalje može da prati stranice koje vi posećujete."},{"$i":"private-window-dont-tell","$v":"Nemoj mi reći opet"},{"$i":"private-learn-more","$v":"Saznajte više"},{"$i":"gaia-grid-stop-download-title","$v":["Zaustavi ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Da li želite da zaustavite preuzimanje?"},{"$i":"gaia-grid-stop-download-action","$v":"Zaustavi"},{"$i":"gaia-grid-resume-download-title","$v":"Restartuj preuzimanje"},{"$i":"gaia-grid-resume-download-body","$v":["Da li želite da preuzmete ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Preuzmi"},{"$i":"gaia-grid-cancel","$v":"Otkaži"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Proširi grupu"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Skupi grupu"},{"$i":"gaia-grid-enter-group-name","$v":"Unesite ime grupe"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["Installera ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIK"},{"$i":"top-sites","$v":"POPULÄRA WEBBPLATSER"},{"$i":"suggestions","ariaLabel":"Förslag"},{"$i":"contacts","ariaLabel":"Kontakter"},{"$i":"places","ariaLabel":"Platser"},{"$i":"apps","ariaLabel":"Appar"},{"$i":"suggestions-settings-notice","$v":"Sökförslag är aktiverade. De tecken du skriver i en sökning skickas till sökmotorn. Du kan inaktivera sökförslag i <span>enhetsinställningarna</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Lägg till på hemskärmen"},{"$i":"offline-message","$v":"Ingen internetanslutning"},{"$i":"future","$v":"FRAMTIDEN"},{"$i":"today","$v":"IDAG"},{"$i":"yesterday","$v":"IGÅR"},{"$i":"last-7-days","$v":"SENASTE 7 DAGARNA"},{"$i":"this-month","$v":"DENNA MÅNAD"},{"$i":"last-6-months","$v":"SENASTE 6 MÅNADERNA"},{"$i":"older-than-6-months","$v":"ÄLDRE ÄN 6 MÅNADER"},{"$i":"month-0","$v":"JANUARI"},{"$i":"month-1","$v":"FEBRUARI"},{"$i":"month-2","$v":"MARS"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAJ"},{"$i":"month-5","$v":"JUNI"},{"$i":"month-6","$v":"JULI"},{"$i":"month-7","$v":"AUGUSTI"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OKTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SÖK"]},{"$i":"private-window-header","$v":"Du surfar privat"},{"$i":"private-window-info1","$v":["I privata fönster, kommer inte ",{"t":"idOrVar","v":"brandShortName"}," att spara någon webbläsarhistorik, kakor eller tillfälliga internetfiler. Men filer du laddar ner och bokmärken du skapar kommer att sparas."]},{"$i":"private-window-info2","$v":"Även om denna enhet inte kommer att ha ett register över din webbläsarhistorik, kan din internetleverantör fortfarande spåra vilka sidor du besöker."},{"$i":"private-window-dont-tell","$v":"Berätta inte för mig igen"},{"$i":"private-learn-more","$v":"Läs mer"},{"$i":"gaia-grid-stop-download-title","$v":["Avbryt ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"Vill du avbryta pågående nedladdning??"},{"$i":"gaia-grid-stop-download-action","$v":"Avbryt"},{"$i":"gaia-grid-resume-download-title","$v":"Återuppta nedladdning"},{"$i":"gaia-grid-resume-download-body","$v":["Vill du hämta ",{"t":"idOrVar","v":"name"},"?"]},{"$i":"gaia-grid-resume-download-action","$v":"Hämta"},{"$i":"gaia-grid-cancel","$v":"Avbryt"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Expandera grupp"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Minimera grupp"},{"$i":"gaia-grid-enter-group-name","$v":"Ange ett gruppnamn"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," uygulamasını yükle"]},{"$i":"history","$v":"GEÇMİŞ"},{"$i":"top-sites","$v":"EN İYİ SİTELER"},{"$i":"suggestions","ariaLabel":"Öneriler"},{"$i":"contacts","ariaLabel":"Kişiler"},{"$i":"places","ariaLabel":"Yerler"},{"$i":"apps","ariaLabel":"Uygulamalar"},{"$i":"suggestions-settings-notice","$v":"Arama önerileri açık. Arama yaparken yazdığınız karakterler arama motoruna gönderilecektir. Arama önerilerini <span>Ayarlar</span>'dan kapatabilirsiniz."},{"$i":"ok","$v":"Tamam"},{"$i":"add-to-home-screen","label":"Ana ekrana ekle"},{"$i":"offline-message","$v":"İnternet bağlantısı yok"},{"$i":"future","$v":"GELECEK"},{"$i":"today","$v":"BUGÜN"},{"$i":"yesterday","$v":"DÜN"},{"$i":"last-7-days","$v":"SON 7 GÜN"},{"$i":"this-month","$v":"BU AY"},{"$i":"last-6-months","$v":"SON 6 AY"},{"$i":"older-than-6-months","$v":"6 AYDAN ESKİ"},{"$i":"month-0","$v":"OCAK"},{"$i":"month-1","$v":"ŞUBAT"},{"$i":"month-2","$v":"MART"},{"$i":"month-3","$v":"NİSAN"},{"$i":"month-4","$v":"MAYIS"},{"$i":"month-5","$v":"HAZİRAN"},{"$i":"month-6","$v":"TEMMUZ"},{"$i":"month-7","$v":"AĞUSTOS"},{"$i":"month-8","$v":"EYLÜL"},{"$i":"month-9","$v":"EKİM"},{"$i":"month-10","$v":"KASIM"},{"$i":"month-11","$v":"ARALIK"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," ARAMASI"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"},{"$i":"gaia-grid-stop-download-title","$v":[{"t":"idOrVar","v":"name"}," indirmesini durdur"]},{"$i":"gaia-grid-stop-download-body","$v":"Devam eden indirmeyi durdurmak istiyor musunuz?"},{"$i":"gaia-grid-stop-download-action","$v":"Durdur"},{"$i":"gaia-grid-resume-download-title","$v":"İndirmeyi yeniden başlat"},{"$i":"gaia-grid-resume-download-body","$v":[{"t":"idOrVar","v":"name"}," indirilsin mi?"]},{"$i":"gaia-grid-resume-download-action","$v":"İndir"},{"$i":"gaia-grid-cancel","$v":"İptal"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"Grubu genişlet"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"Grubu daralt"},{"$i":"gaia-grid-enter-group-name","$v":"Bir grup adı girin"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["安装 ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"历史"},{"$i":"top-sites","$v":"热门站点"},{"$i":"suggestions","ariaLabel":"建议"},{"$i":"contacts","ariaLabel":"联系人"},{"$i":"places","ariaLabel":"足迹"},{"$i":"apps","ariaLabel":"应用"},{"$i":"suggestions-settings-notice","$v":"搜索建议已启用。您在进行搜索时输入的字符将发送到该搜索引擎。您可以在设备的 <span>设置</span> 中禁用搜索建议功能。"},{"$i":"ok","$v":"确定"},{"$i":"add-to-home-screen","label":"添加到主屏幕"},{"$i":"offline-message","$v":"没有互联网连接"},{"$i":"future","$v":"未来"},{"$i":"today","$v":"今天"},{"$i":"yesterday","$v":"昨天"},{"$i":"last-7-days","$v":"最近 7 天"},{"$i":"this-month","$v":"本月"},{"$i":"last-6-months","$v":"最近 6 个月"},{"$i":"older-than-6-months","$v":"早于 6 个月"},{"$i":"month-0","$v":"一月"},{"$i":"month-1","$v":"二月"},{"$i":"month-2","$v":"三月"},{"$i":"month-3","$v":"四月"},{"$i":"month-4","$v":"五月"},{"$i":"month-5","$v":"六月"},{"$i":"month-6","$v":"七月"},{"$i":"month-7","$v":"八月"},{"$i":"month-8","$v":"九月"},{"$i":"month-9","$v":"十月"},{"$i":"month-10","$v":"十一月"},{"$i":"month-11","$v":"十二月"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," 搜索"]},{"$i":"private-window-header","$v":"您已进入隐私浏览"},{"$i":"private-window-info1","$v":["在隐私浏览窗口中,",{"t":"idOrVar","v":"brandShortName"}," 不会保留任何浏览器历史、Cookie 或临时互联网文件。不过,您下载的文件和创建的书签会被保留。"]},{"$i":"private-window-info2","$v":"尽管此设备不会记录您的浏览历史,您的互联网服务提供方仍可以跟踪您访问的页面。"},{"$i":"private-window-dont-tell","$v":"不再显示"},{"$i":"private-learn-more","$v":"详细了解"},{"$i":"gaia-grid-stop-download-title","$v":["停止 ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"您确定要停止正在进行的下载吗?"},{"$i":"gaia-grid-stop-download-action","$v":"停止"},{"$i":"gaia-grid-resume-download-title","$v":"重新开始下载"},{"$i":"gaia-grid-resume-download-body","$v":["你是否想下载 ",{"t":"idOrVar","v":"name"}," ?"]},{"$i":"gaia-grid-resume-download-action","$v":"下载"},{"$i":"gaia-grid-cancel","$v":"取消"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"展开分组"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"折叠分组"},{"$i":"gaia-grid-enter-group-name","$v":"请输入一个分组名称"}]

View file

@ -0,0 +1 @@
[{"$i":"install-marketplace-title","$v":["安裝 ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"歷史"},{"$i":"top-sites","$v":"最常瀏覽"},{"$i":"suggestions","ariaLabel":"建議"},{"$i":"contacts","ariaLabel":"聯絡人"},{"$i":"places","ariaLabel":"位置"},{"$i":"apps","ariaLabel":"應用程式"},{"$i":"suggestions-settings-notice","$v":"已開啟搜尋建議,您搜尋時輸入的字元將會送到搜尋引擎。您可以在裝置的 <span>設定</span> 中關閉搜尋建議功能。"},{"$i":"ok","$v":"確定"},{"$i":"add-to-home-screen","label":"新增至裝置主畫面"},{"$i":"offline-message","$v":"沒有網路連線"},{"$i":"future","$v":"未來"},{"$i":"today","$v":"今天"},{"$i":"yesterday","$v":"昨天"},{"$i":"last-7-days","$v":"最近 7 天"},{"$i":"this-month","$v":"這個月"},{"$i":"last-6-months","$v":"最近 6 個月"},{"$i":"older-than-6-months","$v":"超過 6 個月前"},{"$i":"month-0","$v":"一月"},{"$i":"month-1","$v":"二月"},{"$i":"month-2","$v":"三月"},{"$i":"month-3","$v":"四月"},{"$i":"month-4","$v":"五月"},{"$i":"month-5","$v":"六月"},{"$i":"month-6","$v":"七月"},{"$i":"month-7","$v":"八月"},{"$i":"month-8","$v":"九月"},{"$i":"month-9","$v":"十月"},{"$i":"month-10","$v":"十一月"},{"$i":"month-11","$v":"十二月"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," 搜尋"]},{"$i":"private-window-header","$v":"您正在隱私瀏覽模式當中"},{"$i":"private-window-info1","$v":[{"t":"idOrVar","v":"brandShortName"}," 不會在隱私瀏覽視窗中保留任何瀏覽紀錄、Cookie 或暫存檔案。但您下載的檔案與建立的書籤將會保留。"]},{"$i":"private-window-info2","$v":"雖然此裝置不會保留您的瀏覽紀錄,但您的電信業者或網路業者還是能追蹤您開過哪些網頁。"},{"$i":"private-window-dont-tell","$v":"別再告訴我"},{"$i":"private-learn-more","$v":"詳細資訊"},{"$i":"gaia-grid-stop-download-title","$v":["停止 ",{"t":"idOrVar","v":"name"}]},{"$i":"gaia-grid-stop-download-body","$v":"您想要停止正在進行中的下載嗎?"},{"$i":"gaia-grid-stop-download-action","$v":"停止"},{"$i":"gaia-grid-resume-download-title","$v":"重新開始下載"},{"$i":"gaia-grid-resume-download-body","$v":["想要下載 ",{"t":"idOrVar","v":"name"}," 嗎?"]},{"$i":"gaia-grid-resume-download-action","$v":"下載"},{"$i":"gaia-grid-cancel","$v":"取消"},{"$i":"gaia-grid-toggle-collapsed","ariaLabel":"展開群組"},{"$i":"gaia-grid-toggle-expanded","ariaLabel":"摺疊群組"},{"$i":"gaia-grid-enter-group-name","$v":"輸入群組名稱"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"إصدار مجتمع موزيلا فوكسفود"},{"$i":"ringtoneBrandName","$v":"افتراضي"},{"$i":"ringtoneSectionBrandName","$v":"النظام"},{"$i":"install-marketplace-title","$v":["ثبّت ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"التأريخ"},{"$i":"top-sites","$v":"أفضل المواقع"},{"$i":"suggestions","ariaLabel":"المُقترحات"},{"$i":"contacts","ariaLabel":"جهات الاتصال"},{"$i":"places","ariaLabel":"الأماكن"},{"$i":"apps","ariaLabel":"التطبيقات"},{"$i":"suggestions-settings-notice","$v":"تم تمكين اقتراحات البحث. يتم إرسال الأحرف التي تقوم بكتابتها عند الدخول إلى محرك البحث. يمكنك تعطيل اقتراحات البحث في الجهاز <span>الإعدادات</span>."},{"$i":"ok","$v":"موافق"},{"$i":"add-to-home-screen","label":"أضِف إلى الشاشة الرئيسية"},{"$i":"offline-message","$v":"لا يوجد اتصال باﻹنترنت"},{"$i":"future","$v":"المستقبل"},{"$i":"today","$v":"اليوم"},{"$i":"yesterday","$v":"الأمس"},{"$i":"last-7-days","$v":"آخر 7 أيام"},{"$i":"this-month","$v":"هذا الشّهر"},{"$i":"last-6-months","$v":"آخر 6 أشهر"},{"$i":"older-than-6-months","$v":"أقدم من 6 أشهر"},{"$i":"month-0","$v":"يناير"},{"$i":"month-1","$v":"فبراير"},{"$i":"month-2","$v":"مارس"},{"$i":"month-3","$v":"أبريل"},{"$i":"month-4","$v":"مايو"},{"$i":"month-5","$v":"يونيو"},{"$i":"month-6","$v":"يوليو"},{"$i":"month-7","$v":"أغسطس"},{"$i":"month-8","$v":"سبتمبر"},{"$i":"month-9","$v":"أكتوبر"},{"$i":"month-10","$v":"نوفمبر"},{"$i":"month-11","$v":"ديسمبر"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," بحث"]},{"$i":"private-window-header","$v":"أنت تتصفّح بخصوصية"},{"$i":"private-window-info1","$v":["في النوافذ الخاصة، ",{"t":"idOrVar","v":"brandShortName"}," لن يبقي أي سجل متصفحمع، كوكيز ، أو ملفات إنترنت مؤقتة. ولكن ، الملفات التي ستقوم بتحميلها و الإشارات المرجعية التي ستضيفها سيتم حفظها."]},{"$i":"private-window-info2","$v":"مع أن هذا الجهاز لن يكون فيه سجل التصفح الخاص بك، إلا أنه يمكن لمزود خدمة الإنترنت الخاص بك أن يتتبع الصفحات التي تزورها."},{"$i":"private-window-dont-tell","$v":"لا تخبرني مرة أخرى"},{"$i":"private-learn-more","$v":"معرفة المزيد"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Стандартно"},{"$i":"ringtoneSectionBrandName","$v":"Системно"},{"$i":"install-marketplace-title","$v":["Инсталация на ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ИСТОРИЯ"},{"$i":"top-sites","$v":"НАЙ-ПОСЕЩАВАНИ"},{"$i":"suggestions","ariaLabel":"Предложения"},{"$i":"contacts","ariaLabel":"Контакти"},{"$i":"places","ariaLabel":"Места"},{"$i":"apps","ariaLabel":"Приложения"},{"$i":"suggestions-settings-notice","$v":"Подсказките при търсене са включени. Знаците, които въвеждате при търсене, ще бъдат изпращани към търсачката. Може да изключите подсказките при търсене от <span>Настройки</span>."},{"$i":"ok","$v":"Добре"},{"$i":"add-to-home-screen","label":"Добавяне към началния екран"},{"$i":"offline-message","$v":"Няма връзка с Интернет"},{"$i":"future","$v":"БЪДЕЩЕ"},{"$i":"today","$v":"ДНЕС"},{"$i":"yesterday","$v":"ВЧЕРА"},{"$i":"last-7-days","$v":"ПОСЛЕДНИТЕ 7 ДЕНА"},{"$i":"this-month","$v":"ТОЗИ МЕСЕЦ"},{"$i":"last-6-months","$v":"ПОСЛЕДНИТЕ 6 МЕСЕЦА"},{"$i":"older-than-6-months","$v":"ПО-СТАРИ ОТ 6 МЕСЕЦА"},{"$i":"month-0","$v":"ЯНУАРИ"},{"$i":"month-1","$v":"ФЕВРУАРИ"},{"$i":"month-2","$v":"МАРТ"},{"$i":"month-3","$v":"АПРИЛ"},{"$i":"month-4","$v":"МАЙ"},{"$i":"month-5","$v":"ЮНИ"},{"$i":"month-6","$v":"ЮЛИ"},{"$i":"month-7","$v":"АВГУСТ"},{"$i":"month-8","$v":"СЕПТЕМВРИ"},{"$i":"month-9","$v":"ОКТОМВРИ"},{"$i":"month-10","$v":"НОЕМВРИ"},{"$i":"month-11","$v":"ДЕКЕМВРИ"},{"$i":"search-header","$v":["ТЪРСЕНЕ С ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Сърфирате поверително"},{"$i":"private-window-info1","$v":["В поверителен прозорец, ",{"t":"idOrVar","v":"brandShortName"}," няма да пази история на сърфирането, бисквитки или временни файлове. Обаче, изтеглянията и отметките, които направите, ще бъдат запазени."]},{"$i":"private-window-info2","$v":"Устройството няма да пази история на сърфирането, но вашият работодател или Интернет доставчик може да проследи кои страници посещавате."},{"$i":"private-window-dont-tell","$v":"Изключване на съобщението"},{"$i":"private-learn-more","$v":"Научете повече"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"ফক্সফুড"},{"$i":"browserBrandShortName","$v":"ফক্সফুড"},{"$i":"browserBrandFullName","$v":"মোজিলা ফক্সফুড কমিউনিটি সংস্করণ"},{"$i":"ringtoneBrandName","$v":"ডিফল্ট"},{"$i":"ringtoneSectionBrandName","$v":"সিস্টেম"},{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," ইনস্টল করুন"]},{"$i":"history","$v":"ইতিহাস"},{"$i":"top-sites","$v":"শীর্ষ সাইট"},{"$i":"suggestions","ariaLabel":"প্রস্তাবনা"},{"$i":"contacts","ariaLabel":"পরিচিতি"},{"$i":"places","ariaLabel":"স্থান"},{"$i":"apps","ariaLabel":"অ্যাপ"},{"$i":"suggestions-settings-notice","$v":"সার্চ সাজেশন সক্রিয় আছে। সার্চ বক্সে আপনি যে বর্ণগুলো টাইপ করেন তা স্বয়ংক্রিয়ভাবে সার্চ ইঞ্জিনের কাছে পাঠানো হয়। আপনি ডিভাইসের <span>সেটিং</span> এ গিয়ে সার্চ সাজেশন বন্ধ করতে পারেন।"},{"$i":"ok","$v":"ঠিক আছে"},{"$i":"add-to-home-screen","label":"হোম স্ক্রিনে যুক্ত করুন"},{"$i":"offline-message","$v":"কোন ইন্টারনেট সংযোগ নেই"},{"$i":"future","$v":"ভবিষ্যৎ"},{"$i":"today","$v":"আজ"},{"$i":"yesterday","$v":"গতকাল"},{"$i":"last-7-days","$v":"গত ৭ দিন"},{"$i":"this-month","$v":"এই মাস"},{"$i":"last-6-months","$v":"গত ৬ মাস"},{"$i":"older-than-6-months","$v":"৬ মাসের চেয়ে পুরানো"},{"$i":"month-0","$v":"জানুয়ারি"},{"$i":"month-1","$v":"ফেব্রুয়ারি"},{"$i":"month-2","$v":"মার্চ"},{"$i":"month-3","$v":"এপ্রিল"},{"$i":"month-4","$v":"মে"},{"$i":"month-5","$v":"জুন"},{"$i":"month-6","$v":"জুলাই"},{"$i":"month-7","$v":"আগস্ট"},{"$i":"month-8","$v":"সেপ্টেম্বর"},{"$i":"month-9","$v":"অক্টোবর"},{"$i":"month-10","$v":"নভেম্বর"},{"$i":"month-11","$v":"ডিসেম্বর"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"অাপনি ব্যাক্তিগত ব্রাউজিং করছেন"},{"$i":"private-window-info1","$v":["ব্যক্তিগত ব্রাউজিং উইন্ডোতে, &",{"t":"idOrVar","v":"brandShortName"}," কোন ব্রাউজ ইতিহাস, অনুসন্ধান ইতিহাস, ডাউনলোড ইতিহাস, ওয়েব ফরম ইতিহাস, কুকি, বা অস্থায়ী ইন্টারনেট ফাইল সংরক্ষণ করবে না। তবে, আপনি যে সমস্ত ফাইল ডাউনলোড করবেন বা যে বুকমার্কগুলো তৈরী করবেন তা সংরক্ষণ করবে।"]},{"$i":"private-window-info2","$v":"যদিও আপনার ব্রাউজিং ইতিহাসের কোন রেকর্ড থাকবে না, আপনার ইন্টারনেট সেবা প্রদানকারী আপনার পরিদর্শিত পাতাগুলো অবলোকন করতে পারে।"},{"$i":"private-window-dont-tell","$v":"পুনরায় বলবেন না"},{"$i":"private-learn-more","$v":"আরও জানুন"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Per defecte"},{"$i":"ringtoneSectionBrandName","$v":"Sistema"},{"$i":"install-marketplace-title","$v":["Instal·la: ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIAL"},{"$i":"top-sites","$v":"DESTACATS"},{"$i":"suggestions","ariaLabel":"Suggeriments"},{"$i":"contacts","ariaLabel":"Contactes"},{"$i":"places","ariaLabel":"Llocs"},{"$i":"apps","ariaLabel":"Aplicacions"},{"$i":"suggestions-settings-notice","$v":"Els suggeriments de cerca estan activats. Els caràcters que escriviu quan feu una cerca s'enviaran al motor de cerca. Podeu desactivar els suggeriments de cerca en els <span>Paràmetres</span> del dispositiu."},{"$i":"ok","$v":"D'acord"},{"$i":"add-to-home-screen","label":"Afegeix a la pantalla d'inici"},{"$i":"offline-message","$v":"No hi ha connexió a Internet"},{"$i":"future","$v":"FUTUR"},{"$i":"today","$v":"AVUI"},{"$i":"yesterday","$v":"AHIR"},{"$i":"last-7-days","$v":"DARRERS 7 DIES"},{"$i":"this-month","$v":"AQUEST MES"},{"$i":"last-6-months","$v":"DARRERS 6 MESOS"},{"$i":"older-than-6-months","$v":"FA MÉS DE 6 MESOS"},{"$i":"month-0","$v":"GENER"},{"$i":"month-1","$v":"FEBRER"},{"$i":"month-2","$v":"MARÇ"},{"$i":"month-3","$v":"ABRIL"},{"$i":"month-4","$v":"MAIG"},{"$i":"month-5","$v":"JUNY"},{"$i":"month-6","$v":"JULIOL"},{"$i":"month-7","$v":"AGOST"},{"$i":"month-8","$v":"SETEMBRE"},{"$i":"month-9","$v":"OCTUBRE"},{"$i":"month-10","$v":"NOVEMBRE"},{"$i":"month-11","$v":"DESEMBRE"},{"$i":"search-header","$v":["CERCA A ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Esteu navegant de forma privada"},{"$i":"private-window-info1","$v":["En les pestanyes privades, el ",{"t":"idOrVar","v":"brandShortName"}," no conservarà l'historial de navegació, les galetes ni els fitxers temporals d'Internet. Per altra banda, sí que es conservaran els fitxers que baixeu i les adreces d'interès que deseu."]},{"$i":"private-window-info2","$v":"Encara que aquest dispositiu no tindrà cap registre del vostre historial de navegació, el vostre proveïdor d'Internet sí que podria conèixer les pàgines que visiteu."},{"$i":"private-window-dont-tell","$v":"No em tornis a avisar"},{"$i":"private-learn-more","$v":"Més informació"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"Webový prohlížeč"},{"$i":"browserBrandFullName","$v":"Webový prohlížeč Mozilla"},{"$i":"ringtoneBrandName","$v":"Výchozí"},{"$i":"ringtoneSectionBrandName","$v":"Systém"},{"$i":"install-marketplace-title","$v":["Nainstalovat ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIE"},{"$i":"top-sites","$v":"TOP STRÁNKY"},{"$i":"suggestions","ariaLabel":"Návrhy"},{"$i":"contacts","ariaLabel":"Kontakty"},{"$i":"places","ariaLabel":"Místa"},{"$i":"apps","ariaLabel":"Aplikace"},{"$i":"suggestions-settings-notice","$v":"Našeptávání vyhledávání je zobrazeno na základě toho, jak píšete. Znaky, které zadáváte při vyhledávání, jsou odesílány vyhledávači. Našeptávání můžete deaktivovat v <span>Nastavení</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Přidat na domovskou obrazovku "},{"$i":"offline-message","$v":"Žádné připojení k Internetu "},{"$i":"future","$v":"BUDOUCNOST"},{"$i":"today","$v":"DNES"},{"$i":"yesterday","$v":"VČERA"},{"$i":"last-7-days","$v":"POSLEDNÍCH 7 DNÍ"},{"$i":"this-month","$v":"TENTO MĚSÍC"},{"$i":"last-6-months","$v":"POSLEDNÍCH 6 MĚSÍCŮ"},{"$i":"older-than-6-months","$v":"STARŠÍ NEŽ 6 MĚSÍCŮ"},{"$i":"month-0","$v":"LEDEN"},{"$i":"month-1","$v":"ÚNOR"},{"$i":"month-2","$v":"BŘEZEN"},{"$i":"month-3","$v":"DUBEN"},{"$i":"month-4","$v":"KVĚTEN"},{"$i":"month-5","$v":"ČERVEN"},{"$i":"month-6","$v":"ČERVENEC"},{"$i":"month-7","$v":"SRPEN"},{"$i":"month-8","$v":"ZÁŘÍ"},{"$i":"month-9","$v":"ŘÍJEN"},{"$i":"month-10","$v":"LISTOPAD"},{"$i":"month-11","$v":"PROSINEC"},{"$i":"search-header","$v":["VYHLEDÁVÁNÍ ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Prohlížíte web anonymně"},{"$i":"private-window-info1","$v":["V anonymních oknech nebude ",{"t":"idOrVar","v":"brandShortName"}," ukládat historii prohlížení, cookies či dočasné soubory. Nicméně stažené soubory a záložky zůstanou zachovány."]},{"$i":"private-window-info2","$v":"I přes to, že toto zařízení nebude ukládat historii prohlížení, může váš poskytovatel připojení sledovat vaši aktivitu na webu."},{"$i":"private-window-dont-tell","$v":"Příště již neinformovat"},{"$i":"private-learn-more","$v":"Zjistit více"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Standard"},{"$i":"ringtoneSectionBrandName","$v":"System"},{"$i":"install-marketplace-title","$v":["Installer ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"Historik"},{"$i":"top-sites","$v":"Topsider"},{"$i":"suggestions","ariaLabel":"Forslag"},{"$i":"contacts","ariaLabel":"Kontakter"},{"$i":"places","ariaLabel":"Steder"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Søgeforslag er aktiveret. Når du indtaster tegn, sendes de dynamisk til søgetjenesten. Du kan deaktivere søgeforslag i enhedens <span>Indstillinger</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Føj til startskærm"},{"$i":"offline-message","$v":"Ingen forbindelse til internettet"},{"$i":"future","$v":"SENERE"},{"$i":"today","$v":"I DAG"},{"$i":"yesterday","$v":"I GÅR"},{"$i":"last-7-days","$v":"SENESTE 7 DAGE"},{"$i":"this-month","$v":"DENNE MÅNED"},{"$i":"last-6-months","$v":"SENESTE 6 MÅNEDER"},{"$i":"older-than-6-months","$v":"ÆLDRE END 6 MÅNEDER"},{"$i":"month-0","$v":"JANUAR"},{"$i":"month-1","$v":"FEBRUAR"},{"$i":"month-2","$v":"MARTS"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAJ"},{"$i":"month-5","$v":"JUNI"},{"$i":"month-6","$v":"JULI"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OKTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"},"-søgning"]},{"$i":"private-window-header","$v":"Du surfer privat"},{"$i":"private-window-info1","$v":["I private vinduer vil ",{"t":"idOrVar","v":"brandShortName"}," ikke gemme historik, cookies og midlertidige internetfiler. Hentede filer og nye bogmærker vil dog blive gemt."]},{"$i":"private-window-info2","$v":"Selvom denne enhed ikke vil gemme din historik, kan din internetudbyder stadig spore, hvilke sider du besøger."},{"$i":"private-window-dont-tell","$v":"Fortæl mig det ikke igen"},{"$i":"private-learn-more","$v":"Læs mere"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"Internet-Browser"},{"$i":"browserBrandFullName","$v":"Mozilla-Internet-Browser"},{"$i":"ringtoneBrandName","$v":"Standard"},{"$i":"ringtoneSectionBrandName","$v":"System"},{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," installieren"]},{"$i":"history","$v":"Chronik"},{"$i":"top-sites","$v":"Meistbesuchte Seiten"},{"$i":"suggestions","ariaLabel":"Vorschläge"},{"$i":"contacts","ariaLabel":"Kontakte"},{"$i":"places","ariaLabel":"Orte"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Suchvorschläge sind aktiviert. Die von Ihnen eingegebenen Zeichen werden während der Eingabe des Suchbegriff an die Suchmaschine gesendet. Sie können die Suchvorschläge in den <span>Einstellungen</span> des Geräts ändern."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Zum Startbildschirm hinzufügen"},{"$i":"offline-message","$v":"Keine Internetverbindung"},{"$i":"future","$v":"ZUKUNFT"},{"$i":"today","$v":"HEUTE"},{"$i":"yesterday","$v":"GESTERN"},{"$i":"last-7-days","$v":"LETZTE 7 TAGE"},{"$i":"this-month","$v":"DIESER MONAT"},{"$i":"last-6-months","$v":"LETZTE 6 MONATE"},{"$i":"older-than-6-months","$v":"ÄLTER ALS 6 MONATE"},{"$i":"month-0","$v":"JANUAR"},{"$i":"month-1","$v":"FEBRUAR"},{"$i":"month-2","$v":"MÄRZ"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAI"},{"$i":"month-5","$v":"JUNI"},{"$i":"month-6","$v":"JULI"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OKTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DEZEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"},"-SUCHE"]},{"$i":"private-window-header","$v":"Sie surfen im Privaten Modus."},{"$i":"private-window-info1","$v":["In privaten Fenstern speichert ",{"t":"idOrVar","v":"brandShortName"}," weder Browser-Chronik, Cookies noch temporäre Internet-Dateien. Angelegte Lesezeichen und heruntergeladene Dateien bleiben gespeichert."]},{"$i":"private-window-info2","$v":"Während dieses Gerät keine Informationen über Ihre Browser-Chronik speichert, so kann Ihr Internetanbieter weiterhin die von Ihnen aufgerufenen Internetseiten verfolgen."},{"$i":"private-window-dont-tell","$v":"Nicht mehr darauf hinweisen"},{"$i":"private-learn-more","$v":"Weitere Informationen"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"Περιηγητής"},{"$i":"browserBrandFullName","$v":"Περιηγητής Mozilla"},{"$i":"ringtoneBrandName","$v":"Προκαθορισμένος"},{"$i":"ringtoneSectionBrandName","$v":"Συστήματος"},{"$i":"install-marketplace-title","$v":["Εγκατάσταση: ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ΙΣΤΟΡΙΚΟ"},{"$i":"top-sites","$v":"ΚΟΡΥΦΑΙΕΣ ΙΣΤΟΣΕΛΙΔΕΣ"},{"$i":"suggestions","ariaLabel":"Προτάσεις"},{"$i":"contacts","ariaLabel":"Επαφές"},{"$i":"places","ariaLabel":"Τοποθεσίες"},{"$i":"apps","ariaLabel":"Εφαρμογές"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"ΟΚ"},{"$i":"add-to-home-screen","label":"Προσθήκη στην αρχική οθόνη"},{"$i":"offline-message","$v":"Δεν υπάρχει σύνδεση στο διαδίκτυο"},{"$i":"future","$v":"ΜΕΛΛΟΝ"},{"$i":"today","$v":"ΣΗΜΕΡΑ"},{"$i":"yesterday","$v":"ΧΘΕΣ"},{"$i":"last-7-days","$v":"ΤΙΣ ΤΕΛΕΥΤΑΙΕΣ 7 HΜΕΡΕΣ"},{"$i":"this-month","$v":"ΑΥΤΟΝ ΤΟ ΜΗΝΑ"},{"$i":"last-6-months","$v":"ΤΟΥΣ ΤΕΛΕΥΤΑΙΟΥΣ 6 ΜΗΝΕΣ"},{"$i":"older-than-6-months","$v":"ΠΑΛΑΙΟΤΕΡΟ ΤΩΝ 6 ΜΗΝΩΝ"},{"$i":"month-0","$v":"ΙΑΝΟΥΑΡΙΟΣ"},{"$i":"month-1","$v":"ΦΕΒΡΟΥΑΡΙΟΣ"},{"$i":"month-2","$v":"ΜΑΡΤΙΟΣ"},{"$i":"month-3","$v":"ΑΠΡΙΛΙΟΣ"},{"$i":"month-4","$v":"ΜΑΙΟΣ"},{"$i":"month-5","$v":"ΙΟΥΝΙΟΣ"},{"$i":"month-6","$v":"ΙΟΥΛΙΟΣ"},{"$i":"month-7","$v":"ΑΥΓΟΥΣΤΟΣ"},{"$i":"month-8","$v":"ΣΕΠΤΕΜΒΡΙΟΣ"},{"$i":"month-9","$v":"ΟΚΤΩΒΡΙΟΣ"},{"$i":"month-10","$v":"ΝΟΕΜΒΡΙΟΣ"},{"$i":"month-11","$v":"ΔΕΚΕΜΒΡΙΟΣ"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," ΑΝΑΖΗΤΗΣΗ"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Default"},{"$i":"ringtoneSectionBrandName","$v":"System"},{"$i":"install-marketplace-title","$v":["Install ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORY"},{"$i":"top-sites","$v":"TOP SITES"},{"$i":"suggestions","ariaLabel":"Suggestions"},{"$i":"contacts","ariaLabel":"Contacts"},{"$i":"places","ariaLabel":"Places"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Add to Home Screen"},{"$i":"offline-message","$v":"No internet connection"},{"$i":"future","$v":"FUTURE"},{"$i":"today","$v":"TODAY"},{"$i":"yesterday","$v":"YESTERDAY"},{"$i":"last-7-days","$v":"LAST 7 DAYS"},{"$i":"this-month","$v":"THIS MONTH"},{"$i":"last-6-months","$v":"LAST 6 MONTHS"},{"$i":"older-than-6-months","$v":"OLDER THAN 6 MONTHS"},{"$i":"month-0","$v":"JANUARY"},{"$i":"month-1","$v":"FEBRUARY"},{"$i":"month-2","$v":"MARCH"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAY"},{"$i":"month-5","$v":"JUNE"},{"$i":"month-6","$v":"JULY"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OCTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Edición Comunidad Foxfood"},{"$i":"ringtoneBrandName","$v":"Predeterminado"},{"$i":"ringtoneSectionBrandName","$v":"Sistema"},{"$i":"install-marketplace-title","$v":["Instalar ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIAL"},{"$i":"top-sites","$v":"SITIOS DESTACADOS"},{"$i":"suggestions","ariaLabel":"Sugerencias"},{"$i":"contacts","ariaLabel":"Contactos"},{"$i":"places","ariaLabel":"Lugares"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Las sugerencias de búsqueda están activadas. Los caracteres que escriba al especificar una búsqueda se envían al buscador. Puede desactivar las sugerencias de búsqueda en los <span>Ajustes</span> del dispositivo."},{"$i":"ok","$v":"Aceptar"},{"$i":"add-to-home-screen","label":"Añadir a pantalla de inicio"},{"$i":"offline-message","$v":"Sin conexión a internet"},{"$i":"future","$v":"FUTURO"},{"$i":"today","$v":"HOY"},{"$i":"yesterday","$v":"AYER"},{"$i":"last-7-days","$v":"ÚLTIMOS 7 DÍAS"},{"$i":"this-month","$v":"ESTE MES"},{"$i":"last-6-months","$v":"ÚLTIMOS 6 MESES"},{"$i":"older-than-6-months","$v":"ANTERIOR A 6 MESES"},{"$i":"month-0","$v":"ENERO"},{"$i":"month-1","$v":"FEBRERO"},{"$i":"month-2","$v":"MARZO"},{"$i":"month-3","$v":"ABRIL"},{"$i":"month-4","$v":"MAYO"},{"$i":"month-5","$v":"JUNIO"},{"$i":"month-6","$v":"JULIO"},{"$i":"month-7","$v":"AGOSTO"},{"$i":"month-8","$v":"SEPTIEMBRE"},{"$i":"month-9","$v":"OCTUBRE"},{"$i":"month-10","$v":"NOVIEMBRE"},{"$i":"month-11","$v":"DICIEMBRE"},{"$i":"search-header","$v":["BÚSQUEDA EN ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Está navegando en privado"},{"$i":"private-window-info1","$v":["En las ventanas privadas, ",{"t":"idOrVar","v":"brandShortName"}," no guardará el historial, las cookies ni los archivos temporales de Internet. No obstante, sí se guardarán los archivos que descargue y los marcadores que agregue."]},{"$i":"private-window-info2","$v":"Aunque no se guarde el historial de navegación en este dispositivo, su proveedor de servicios de Internet puede rastrear las páginas que visite."},{"$i":"private-window-dont-tell","$v":"No preguntar de nuevo"},{"$i":"private-learn-more","$v":"Saber más"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood komunitateko edizioa"},{"$i":"ringtoneBrandName","$v":"Lehenetsia"},{"$i":"ringtoneSectionBrandName","$v":"Sistema"},{"$i":"install-marketplace-title","$v":["Instalatu ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIA"},{"$i":"top-sites","$v":"GUNE ERABILIENAK"},{"$i":"suggestions","ariaLabel":"Gomendioak"},{"$i":"contacts","ariaLabel":"Kontaktuak"},{"$i":"places","ariaLabel":"Lekuak"},{"$i":"apps","ariaLabel":"Aplikazioak"},{"$i":"suggestions-settings-notice","$v":"Bilaketa-iradokizunak gaituta daude. Bilaketa bat sartzean idazten dituzun karaktereak bilaketa-motorrari bidaltzen zaizkio. Bilaketa-iradokizunak desgai ditzakezu gailuaren <span>Ezarpenak</span> atalean."},{"$i":"ok","$v":"Ados"},{"$i":"add-to-home-screen","label":"Gehitu hasiera-pantailari"},{"$i":"offline-message","$v":"Ez dago interneteko konexiorik"},{"$i":"future","$v":"ETORKIZUNEAN"},{"$i":"today","$v":"GAUR"},{"$i":"yesterday","$v":"ATZO"},{"$i":"last-7-days","$v":"AZKEN 7 EGUNETAN"},{"$i":"this-month","$v":"HIL HONETAN"},{"$i":"last-6-months","$v":"AZKEN 6 HILETAN"},{"$i":"older-than-6-months","$v":"6 HIL BAINO ZAHARRAGOA"},{"$i":"month-0","$v":"URTARRILA"},{"$i":"month-1","$v":"OTSAILA"},{"$i":"month-2","$v":"MARTXOA"},{"$i":"month-3","$v":"APIRILA"},{"$i":"month-4","$v":"MAIATZA"},{"$i":"month-5","$v":"EKAINA"},{"$i":"month-6","$v":"UZTAILA"},{"$i":"month-7","$v":"ABUZTUA"},{"$i":"month-8","$v":"IRAILA"},{"$i":"month-9","$v":"URRIA"},{"$i":"month-10","$v":"AZAROA"},{"$i":"month-11","$v":"ABENDUA"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," BILAKETA"]},{"$i":"private-window-header","$v":"Modu pribatuan ari zara nabigatzen"},{"$i":"private-window-info1","$v":["Leiho pribatuetan, ",{"t":"idOrVar","v":"brandShortName"},"(e)k ez du nabigatze-historia, cookie, edo Interneteko behin-behineko fitxategirik gordeko. Hala ere, deskargatzen dituzun fitxategiak eta egiten dituzun laster-markak gorde egingo dira."]},{"$i":"private-window-info2","$v":"Gailu honek zure nabigatze-historiaren erregistroa gordetzen ez badu ere, kontuan izan zure Internet hornitzaileak bisitatzen dituzun orrien jarraipena egin dezakeela."},{"$i":"private-window-dont-tell","$v":"Ez galdetu berriz"},{"$i":"private-learn-more","$v":"Argibide gehiago"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Par défaut"},{"$i":"ringtoneSectionBrandName","$v":"système"},{"$i":"install-marketplace-title","$v":["Installer ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIQUE"},{"$i":"top-sites","$v":"LES PLUS VISITÉS"},{"$i":"suggestions","ariaLabel":"Suggestions"},{"$i":"contacts","ariaLabel":"Contacts"},{"$i":"places","ariaLabel":"Lieux"},{"$i":"apps","ariaLabel":"Applications"},{"$i":"suggestions-settings-notice","$v":"Les suggestions de recherche sont activées. Les caractères que vous saisissez lorsque vous lancez une recherche sont envoyés au moteur de recherche. Vous pouvez désactiver les suggestions de recherche depuis l’application <span>Paramètres</span> de l’appareil."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Ajouter à l’écran d’accueil"},{"$i":"offline-message","$v":"Aucune connexion Internet"},{"$i":"future","$v":"FUTUR"},{"$i":"today","$v":"AUJOURD’HUI"},{"$i":"yesterday","$v":"HIER"},{"$i":"last-7-days","$v":"LES 7 DERNIERS JOURS"},{"$i":"this-month","$v":"CE MOIS-CI"},{"$i":"last-6-months","$v":"LES 6 DERNIERS MOIS"},{"$i":"older-than-6-months","$v":"IL Y A PLUS DE 6 MOIS"},{"$i":"month-0","$v":"JANVIER"},{"$i":"month-1","$v":"FÉVRIER"},{"$i":"month-2","$v":"MARS"},{"$i":"month-3","$v":"AVRIL"},{"$i":"month-4","$v":"MAI"},{"$i":"month-5","$v":"JUIN"},{"$i":"month-6","$v":"JUILLET"},{"$i":"month-7","$v":"AOÛT"},{"$i":"month-8","$v":"SEPTEMBRE"},{"$i":"month-9","$v":"OCTOBRE"},{"$i":"month-10","$v":"NOVEMBRE"},{"$i":"month-11","$v":"DÉCEMBRE"},{"$i":"search-header","$v":["RECHERCHES ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Vous avez ouvert une fenêtre privée"},{"$i":"private-window-info1","$v":["Dans les fenêtres privées, ",{"t":"idOrVar","v":"brandShortName"}," ne conservera aucun historique de navigation, cookies ou fichiers temporaires Internet. Cependant, les fichiers téléchargés ou les marque-pages ajoutés seront conservés."]},{"$i":"private-window-info2","$v":"Bien que cet appareil ne conserve aucun enregistrement de votre historique de navigation, votre fournisseur d’accès à Internet peut toujours connaître les pages que vous visitez."},{"$i":"private-window-dont-tell","$v":"Ne plus m’avertir"},{"$i":"private-learn-more","$v":"En savoir plus"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Predeterminado"},{"$i":"ringtoneSectionBrandName","$v":"Sistema"},{"$i":"install-marketplace-title","$v":["Instalar ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIAL"},{"$i":"top-sites","$v":"SITIOS FAVORITOS"},{"$i":"suggestions","ariaLabel":"Suxestións"},{"$i":"contacts","ariaLabel":"Contactos"},{"$i":"places","ariaLabel":"Lugares"},{"$i":"apps","ariaLabel":"Aplicativos"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"Aceptar"},{"$i":"add-to-home-screen","label":"Engadir á pantalla inicial"},{"$i":"offline-message","$v":"Sen conexión á Internet"},{"$i":"future","$v":"FUTURO"},{"$i":"today","$v":"HOXE"},{"$i":"yesterday","$v":"ONTE"},{"$i":"last-7-days","$v":"ÚLTIMOS 7 DÍAS"},{"$i":"this-month","$v":"ESTE MES"},{"$i":"last-6-months","$v":"ÚLTIMOS 6 MESES"},{"$i":"older-than-6-months","$v":"HAI MÁIS DE 6 MESES"},{"$i":"month-0","$v":"XANEIRO"},{"$i":"month-1","$v":"FEBREIRO"},{"$i":"month-2","$v":"MARZO"},{"$i":"month-3","$v":"ABRIL"},{"$i":"month-4","$v":"MAIO"},{"$i":"month-5","$v":"XUÑO"},{"$i":"month-6","$v":"XULLO"},{"$i":"month-7","$v":"AGOSTO"},{"$i":"month-8","$v":"SETEMBRO"},{"$i":"month-9","$v":"OUTUBRO"},{"$i":"month-10","$v":"NOVEMBRO"},{"$i":"month-11","$v":"DECEMBRO"},{"$i":"search-header","$v":["BUSCAR EN ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Ten activa a navegación privada"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"Lembre que aínda que este dispositivo non manteña un rexistro do seu historial de navegación, o seu fornecedor de internet pode saber as páxinas que vostede visita."},{"$i":"private-window-dont-tell","$v":"Non preguntarme de novo"},{"$i":"private-learn-more","$v":"Obter máis información"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Default"},{"$i":"ringtoneSectionBrandName","$v":"System"},{"$i":"install-marketplace-title","$v":["Install ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORY"},{"$i":"top-sites","$v":"TOP SITES"},{"$i":"suggestions","ariaLabel":"Suggestions"},{"$i":"contacts","ariaLabel":"Contacts"},{"$i":"places","ariaLabel":"Places"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Add to Home Screen"},{"$i":"offline-message","$v":"No internet connection"},{"$i":"future","$v":"FUTURE"},{"$i":"today","$v":"TODAY"},{"$i":"yesterday","$v":"YESTERDAY"},{"$i":"last-7-days","$v":"LAST 7 DAYS"},{"$i":"this-month","$v":"THIS MONTH"},{"$i":"last-6-months","$v":"LAST 6 MONTHS"},{"$i":"older-than-6-months","$v":"OLDER THAN 6 MONTHS"},{"$i":"month-0","$v":"JANUARY"},{"$i":"month-1","$v":"FEBRUARY"},{"$i":"month-2","$v":"MARCH"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAY"},{"$i":"month-5","$v":"JUNE"},{"$i":"month-6","$v":"JULY"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OCTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood közösségi változat"},{"$i":"ringtoneBrandName","$v":"Alapértelmezett"},{"$i":"ringtoneSectionBrandName","$v":"Rendszer"},{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," telepítése"]},{"$i":"history","$v":"ELŐZMÉNYEK"},{"$i":"top-sites","$v":"KIEMELT OLDALAK"},{"$i":"suggestions","ariaLabel":"Javaslatok"},{"$i":"contacts","ariaLabel":"Névjegyek"},{"$i":"places","ariaLabel":"Helyek"},{"$i":"apps","ariaLabel":"Alkalmazások"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Kezdőképernyőre"},{"$i":"offline-message","$v":"Nincs internetkapcsolat"},{"$i":"future","$v":"A JÖVŐBEN"},{"$i":"today","$v":"MA"},{"$i":"yesterday","$v":"TEGNAP"},{"$i":"last-7-days","$v":"AZ ELMÚLT 7 NAPBAN"},{"$i":"this-month","$v":"EBBEN A HÓNAPBAN"},{"$i":"last-6-months","$v":"AZ ELMÚLT 6 HÓNAPBAN"},{"$i":"older-than-6-months","$v":"6 HÓNAPNÁL RÉGEBBI"},{"$i":"month-0","$v":"JANUÁR"},{"$i":"month-1","$v":"FEBRUÁR"},{"$i":"month-2","$v":"MÁRCIUS"},{"$i":"month-3","$v":"ÁPRILIS"},{"$i":"month-4","$v":"MÁJUS"},{"$i":"month-5","$v":"JÚNIUS"},{"$i":"month-6","$v":"JÚLIUS"},{"$i":"month-7","$v":"AUGUSZTUS"},{"$i":"month-8","$v":"SZEPTEMBER"},{"$i":"month-9","$v":"OKTÓBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," KERESÉS"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Predefinita"},{"$i":"ringtoneSectionBrandName","$v":"sistema"},{"$i":"install-marketplace-title","$v":["Installa ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"CRONOLOGIA"},{"$i":"top-sites","$v":"SITI PRINCIPALI"},{"$i":"suggestions","ariaLabel":"Suggerimenti"},{"$i":"contacts","ariaLabel":"Contatti"},{"$i":"places","ariaLabel":"Luoghi"},{"$i":"apps","ariaLabel":"App"},{"$i":"suggestions-settings-notice","$v":"I caratteri digitati vengono inviati al motore di ricerca per generare dei suggerimenti. È possibile disattivare questa caratteristica nelle <span>Impostazioni</span> del dispositivo."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Aggiungi alla schermata principale"},{"$i":"offline-message","$v":"Nessuna connessione a Internet"},{"$i":"future","$v":"FUTURO"},{"$i":"today","$v":"OGGI"},{"$i":"yesterday","$v":"IERI"},{"$i":"last-7-days","$v":"ULTIMI 7 GIORNI"},{"$i":"this-month","$v":"QUESTO MESE"},{"$i":"last-6-months","$v":"ULTIMI 6 MESI"},{"$i":"older-than-6-months","$v":"OLTRE 6 MESI"},{"$i":"month-0","$v":"GENNAIO"},{"$i":"month-1","$v":"FEBBRAIO"},{"$i":"month-2","$v":"MARZO"},{"$i":"month-3","$v":"APRILE"},{"$i":"month-4","$v":"MAGGIO"},{"$i":"month-5","$v":"GIUGNO"},{"$i":"month-6","$v":"LUGLIO"},{"$i":"month-7","$v":"AGOSTO"},{"$i":"month-8","$v":"SETTEMBRE"},{"$i":"month-9","$v":"OTTOBRE"},{"$i":"month-10","$v":"NOVEMBRE"},{"$i":"month-11","$v":"DICEMBRE"},{"$i":"search-header","$v":["RICERCA ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Navigazione anonima attiva"},{"$i":"private-window-info1","$v":["Nelle finestre anonime non verrà conservata in ",{"t":"idOrVar","v":"brandShortName"}," alcuna cronologia di navigazione, cookie o file temporanei. Tuttavia verranno mantenuti eventuali file scaricati o segnalibri aggiunti."]},{"$i":"private-window-info2","$v":"Anche se il dispositivo non conserverà alcuna informazione relativa alla cronologia di navigazione, il fornitore di servizi internet in uso sarà comunque in grado di mantenere un registro delle pagine visitate."},{"$i":"private-window-dont-tell","$v":"Non avvisare nuovamente"},{"$i":"private-learn-more","$v":"Ulteriori informazioni"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"既定"},{"$i":"ringtoneSectionBrandName","$v":"システム"},{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," をインストールします"]},{"$i":"history","$v":"履歴"},{"$i":"top-sites","$v":"トップサイト"},{"$i":"suggestions","ariaLabel":"検索候補"},{"$i":"contacts","ariaLabel":"連絡先"},{"$i":"places","ariaLabel":"場所"},{"$i":"apps","ariaLabel":"アプリ"},{"$i":"suggestions-settings-notice","$v":"検索候補の表示が有効です。検索のために入力した文字は検索エンジンに送信されます。検索候補の表示は、端末の <span>環境設定</span> で無効にできます。"},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"ホーム画面に追加"},{"$i":"offline-message","$v":"インターネットに接続されていません"},{"$i":"future","$v":"未来"},{"$i":"today","$v":"今日"},{"$i":"yesterday","$v":"昨日"},{"$i":"last-7-days","$v":"7日以内"},{"$i":"this-month","$v":"今月"},{"$i":"last-6-months","$v":"6か月以内"},{"$i":"older-than-6-months","$v":"6か月以前"},{"$i":"month-0","$v":"1月"},{"$i":"month-1","$v":"2月"},{"$i":"month-2","$v":"3月"},{"$i":"month-3","$v":"4月"},{"$i":"month-4","$v":"5月"},{"$i":"month-5","$v":"6月"},{"$i":"month-6","$v":"7月"},{"$i":"month-7","$v":"8月"},{"$i":"month-8","$v":"9月"},{"$i":"month-9","$v":"10月"},{"$i":"month-10","$v":"11月"},{"$i":"month-11","$v":"12月"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"},"検索"]},{"$i":"private-window-header","$v":"プライベートブラウジングモードです"},{"$i":"private-window-info1","$v":["プライベートウィンドウでは、",{"t":"idOrVar","v":"brandShortName"}," はブラウズ履歴や Cookie、一時インターネットファイルを保存しません。ダウンロードしたファイルとブックマークは保存されます。"]},{"$i":"private-window-info2","$v":"この端末にブラウズ履歴が保存されなくても、ご利用のインターネットサービスプロバイダはあなたが訪れたページを追跡できます。"},{"$i":"private-window-dont-tell","$v":"今後は表示しない"},{"$i":"private-learn-more","$v":"詳細"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Default"},{"$i":"ringtoneSectionBrandName","$v":"System"},{"$i":"install-marketplace-title","$v":["Install ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ប្រវត្តិ"},{"$i":"top-sites","$v":"តំបន់​បណ្ដាញ​កំពូល"},{"$i":"suggestions","ariaLabel":"សំណើ"},{"$i":"contacts","ariaLabel":"ទំនាក់ទំនង"},{"$i":"places","ariaLabel":"ទីតាំង"},{"$i":"apps","ariaLabel":"កម្មវិធី"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"យល់ព្រម"},{"$i":"add-to-home-screen","label":"បន្ថែម​ទៅ​អេក្រង់​ដើម"},{"$i":"offline-message","$v":"No internet connection"},{"$i":"future","$v":"FUTURE"},{"$i":"today","$v":"TODAY"},{"$i":"yesterday","$v":"YESTERDAY"},{"$i":"last-7-days","$v":"LAST 7 DAYS"},{"$i":"this-month","$v":"THIS MONTH"},{"$i":"last-6-months","$v":"LAST 6 MONTHS"},{"$i":"older-than-6-months","$v":"OLDER THAN 6 MONTHS"},{"$i":"month-0","$v":"JANUARY"},{"$i":"month-1","$v":"FEBRUARY"},{"$i":"month-2","$v":"MARCH"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAY"},{"$i":"month-5","$v":"JUNE"},{"$i":"month-6","$v":"JULY"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OCTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood 커뮤니티 에디션"},{"$i":"ringtoneBrandName","$v":"기본"},{"$i":"ringtoneSectionBrandName","$v":"시스템"},{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," 설치"]},{"$i":"history","$v":"이전 기록"},{"$i":"top-sites","$v":"상위 사이트"},{"$i":"suggestions","ariaLabel":"추천"},{"$i":"contacts","ariaLabel":"연락처"},{"$i":"places","ariaLabel":"장소"},{"$i":"apps","ariaLabel":"앱"},{"$i":"suggestions-settings-notice","$v":"검색 추천이 활성화 되었습니다. 검색어를 입력할 때 누른 글자가 검색 엔진으로 전송됩니다. 기기 <span>설정</span>에서 검색 추천을 비활성화 할 수 있습니다."},{"$i":"ok","$v":"확인"},{"$i":"add-to-home-screen","label":"홈스크린에 추가"},{"$i":"offline-message","$v":"인터넷 연결 없음"},{"$i":"future","$v":"미래"},{"$i":"today","$v":"오늘"},{"$i":"yesterday","$v":"어제"},{"$i":"last-7-days","$v":"지난 7일"},{"$i":"this-month","$v":"이번 달"},{"$i":"last-6-months","$v":"지난 6개월"},{"$i":"older-than-6-months","$v":"6개월 이상"},{"$i":"month-0","$v":"1월"},{"$i":"month-1","$v":"2월"},{"$i":"month-2","$v":"3월"},{"$i":"month-3","$v":"4월"},{"$i":"month-4","$v":"5월"},{"$i":"month-5","$v":"6월"},{"$i":"month-6","$v":"7월"},{"$i":"month-7","$v":"8월"},{"$i":"month-8","$v":"9월"},{"$i":"month-9","$v":"10월"},{"$i":"month-10","$v":"11월"},{"$i":"month-11","$v":"12월"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," 검색"]},{"$i":"private-window-header","$v":"사생활 보호 모드로 사용중"},{"$i":"private-window-info1","$v":["사생활 보호 모드 창에서는 ",{"t":"idOrVar","v":"brandShortName"},"가 브라우저의 방문 목록이나 쿠키, 임시 인터넷 파일을 저장하지 않습니다. 하지만 다운로드한 파일이나 즐겨찾기 목록은 유지됩니다."]},{"$i":"private-window-info2","$v":"기기는 브라우징 방문 목록을 기록하지 않지만 인터넷 서비스 제공자는 여전히 방문한 페이지를 추적할 수 있습니다."},{"$i":"private-window-dont-tell","$v":"다시 알리지 않음"},{"$i":"private-learn-more","$v":"자세히 보기"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"Saityno naršyklė"},{"$i":"browserBrandFullName","$v":"„Mozillos“ saityno naršyklė"},{"$i":"ringtoneBrandName","$v":"Numatytasis"},{"$i":"ringtoneSectionBrandName","$v":"Įtaisytieji"},{"$i":"install-marketplace-title","$v":["Įdiegti „",{"t":"idOrVar","v":"title"},"“"]},{"$i":"history","$v":"ŽURNALAS"},{"$i":"top-sites","$v":"LANKOMIAUSIOS SVETAINĖS"},{"$i":"suggestions","ariaLabel":"Paieškos siūlymai"},{"$i":"contacts","ariaLabel":"Adresatai"},{"$i":"places","ariaLabel":"Vietos"},{"$i":"apps","ariaLabel":"Programos"},{"$i":"suggestions-settings-notice","$v":"Jūsų renkamas tekstas naudojamas rodyti paieškos siūlymams. Ieškos parinktis galite keisti Nuostatų skyriuje „Ieška“."},{"$i":"ok","$v":"Gerai"},{"$i":"add-to-home-screen","label":"Įtraukti į Pradžios ekraną"},{"$i":"offline-message","$v":"Nėra ryšio su internetu"},{"$i":"future","$v":"ATEITIS"},{"$i":"today","$v":"ŠIANDIENA"},{"$i":"yesterday","$v":"VAKARDIENA"},{"$i":"last-7-days","$v":"PASTAROSIOS 7 DIENOS"},{"$i":"this-month","$v":"ŠIS MĖNUO"},{"$i":"last-6-months","$v":"PASTARIEJI 6 MĖNESIAI"},{"$i":"older-than-6-months","$v":"ANKSČIAU NEI PRIEŠ 6 MĖN."},{"$i":"month-0","$v":"SAUSIS"},{"$i":"month-1","$v":"VASARIS"},{"$i":"month-2","$v":"KOVAS"},{"$i":"month-3","$v":"BALANDIS"},{"$i":"month-4","$v":"GEGUŽĖ"},{"$i":"month-5","$v":"BIRŽELIS"},{"$i":"month-6","$v":"LIEPA"},{"$i":"month-7","$v":"RUGPJŪTIS"},{"$i":"month-8","$v":"RUGSĖJIS"},{"$i":"month-9","$v":"SPALIS"},{"$i":"month-10","$v":"LAPKRITIS"},{"$i":"month-11","$v":"GRUODIS"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"Прелистувач"},{"$i":"browserBrandFullName","$v":"Прелистувач на Mozilla"},{"$i":"ringtoneBrandName","$v":"Default"},{"$i":"ringtoneSectionBrandName","$v":"System"},{"$i":"install-marketplace-title","$v":["Инсталирај ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORY"},{"$i":"top-sites","$v":"TOP SITES"},{"$i":"suggestions","ariaLabel":"Suggestions"},{"$i":"contacts","ariaLabel":"Contacts"},{"$i":"places","ariaLabel":"Places"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Add to Home Screen"},{"$i":"offline-message","$v":"No internet connection"},{"$i":"future","$v":"FUTURE"},{"$i":"today","$v":"TODAY"},{"$i":"yesterday","$v":"YESTERDAY"},{"$i":"last-7-days","$v":"LAST 7 DAYS"},{"$i":"this-month","$v":"THIS MONTH"},{"$i":"last-6-months","$v":"LAST 6 MONTHS"},{"$i":"older-than-6-months","$v":"OLDER THAN 6 MONTHS"},{"$i":"month-0","$v":"JANUARY"},{"$i":"month-1","$v":"FEBRUARY"},{"$i":"month-2","$v":"MARCH"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAY"},{"$i":"month-5","$v":"JUNE"},{"$i":"month-6","$v":"JULY"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OCTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Lalai"},{"$i":"ringtoneSectionBrandName","$v":"Sistem"},{"$i":"install-marketplace-title","$v":["Pasang ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORY"},{"$i":"top-sites","$v":"TOP SITES"},{"$i":"suggestions","ariaLabel":"Cadangan"},{"$i":"contacts","ariaLabel":"Kenalan"},{"$i":"places","ariaLabel":"Tempat"},{"$i":"apps","ariaLabel":"Aplikasi"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Tambah ke Skrin Utama"},{"$i":"offline-message","$v":"No internet connection"},{"$i":"future","$v":"KELAK"},{"$i":"today","$v":"HARI INI"},{"$i":"yesterday","$v":"KELMARIN"},{"$i":"last-7-days","$v":"7 HARI TERAKHIR"},{"$i":"this-month","$v":"BULAN INI"},{"$i":"last-6-months","$v":"6 BULAN TERAKHIR"},{"$i":"older-than-6-months","$v":"LEWAT DARI 6 BULAN"},{"$i":"month-0","$v":"JANUARI"},{"$i":"month-1","$v":"FEBRUARI"},{"$i":"month-2","$v":"MAC"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MEI"},{"$i":"month-5","$v":"JUN"},{"$i":"month-6","$v":"JULAI"},{"$i":"month-7","$v":"OGOS"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OKTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DISEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"पूर्वनिर्धारित"},{"$i":"ringtoneSectionBrandName","$v":"प्रणाली"},{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," स्थापना गर्नुहोस्"]},{"$i":"history","$v":"इतिहास"},{"$i":"top-sites","$v":"शीर्ष साइटहरु"},{"$i":"suggestions","ariaLabel":"सुझावहरू"},{"$i":"contacts","ariaLabel":"सम्पर्कहरू"},{"$i":"places","ariaLabel":"स्थानहरू"},{"$i":"apps","ariaLabel":"एप्स"},{"$i":"suggestions-settings-notice","$v":"Search suggestions are enabled. The characters you type when entering a search are being sent to the search engine. You can disable search suggestions in the device <span>Settings</span>."},{"$i":"ok","$v":"ठीक छ"},{"$i":"add-to-home-screen","label":"गृह पर्दामा थप्नुहोस"},{"$i":"offline-message","$v":"No internet connection"},{"$i":"future","$v":"भविष्य"},{"$i":"today","$v":"आज"},{"$i":"yesterday","$v":"हिजो"},{"$i":"last-7-days","$v":"बितेको सात दिनमा"},{"$i":"this-month","$v":"यो महिना"},{"$i":"last-6-months","$v":"बितेको छ महिनामा"},{"$i":"older-than-6-months","$v":"छ महिना पुरानो"},{"$i":"month-0","$v":"जनवरी"},{"$i":"month-1","$v":"फेब्रुअरी"},{"$i":"month-2","$v":"मार्च"},{"$i":"month-3","$v":"अप्रिल"},{"$i":"month-4","$v":"मे"},{"$i":"month-5","$v":"जून"},{"$i":"month-6","$v":"जुलाई"},{"$i":"month-7","$v":"अगस्ट"},{"$i":"month-8","$v":"सेप्टेम्बर"},{"$i":"month-9","$v":"अक्टोबर"},{"$i":"month-10","$v":"नोभेम्बर"},{"$i":"month-11","$v":"डीसेम्बर"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Standaard"},{"$i":"ringtoneSectionBrandName","$v":"Systeem"},{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," installeren"]},{"$i":"history","$v":"GESCHIEDENIS"},{"$i":"top-sites","$v":"TOPWEBSITES"},{"$i":"suggestions","ariaLabel":"Suggesties"},{"$i":"contacts","ariaLabel":"Contacten"},{"$i":"places","ariaLabel":"Plaatsen"},{"$i":"apps","ariaLabel":"Apps"},{"$i":"suggestions-settings-notice","$v":"Zoeksuggesties zijn ingeschakeld. De tekens die u typt bij het invoeren van een zoekopdracht worden naar de zoekmachine verzonden. U kunt zoeksuggesties uitschakelen in de <span>Instellingen</span> van het apparaat."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Toevoegen aan startscherm"},{"$i":"offline-message","$v":"Geen internetverbinding"},{"$i":"future","$v":"TOEKOMST"},{"$i":"today","$v":"VANDAAG"},{"$i":"yesterday","$v":"GISTEREN"},{"$i":"last-7-days","$v":"AFGELOPEN 7 DAGEN"},{"$i":"this-month","$v":"DEZE MAAND"},{"$i":"last-6-months","$v":"AFGELOPEN 6 MAANDEN"},{"$i":"older-than-6-months","$v":"OUDER DAN 6 MAANDEN"},{"$i":"month-0","$v":"JANUARI"},{"$i":"month-1","$v":"FEBRUARI"},{"$i":"month-2","$v":"MAART"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MEI"},{"$i":"month-5","$v":"JUNI"},{"$i":"month-6","$v":"JULI"},{"$i":"month-7","$v":"AUGUSTUS"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OKTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," ZOEKEN"]},{"$i":"private-window-header","$v":"U navigeert privé"},{"$i":"private-window-info1","$v":["In privévensters zal ",{"t":"idOrVar","v":"brandShortName"}," geen navigatiegeschiedenis, cookies of tijdelijke internetbestanden bewaren. Bestanden die u downloadt en bladwijzers die u aanmaakt blijven echter bewaard."]},{"$i":"private-window-info2","$v":"Hoewel dit apparaat geen navigatiegeschiedenis van u zal bewaren, kan uw internetserviceprovider toch volgen welke pagina’s u bezoekt."},{"$i":"private-window-dont-tell","$v":"Dit niet meer laten weten"},{"$i":"private-learn-more","$v":"Meer info"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"B2G ਓ.ਸਿ."},{"$i":"browserBrandShortName","$v":"ਵੈੱਬ ਬਰਾਊਜ਼ਰ"},{"$i":"browserBrandFullName","$v":"ਮੋਜ਼ੀਲਾ ਵੈੱਬ ਬਰਾਊਜ਼ਰ"},{"$i":"ringtoneBrandName","$v":"ਮੂਲ"},{"$i":"ringtoneSectionBrandName","$v":"ਸਿਸਟਮ"},{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," ਇੰਸਟਾਲ ਕਰੋ"]},{"$i":"history","$v":"ਅਤੀਤ"},{"$i":"top-sites","$v":"ਚੋਟੀ ਦੀਆਂ ਸਾਈਟਾਂ"},{"$i":"suggestions","ariaLabel":"ਸੁਜਾਅ"},{"$i":"contacts","ariaLabel":"ਸੰਪਰਕ"},{"$i":"places","ariaLabel":"ਥਾਵਾਂ"},{"$i":"apps","ariaLabel":"ਐਪਸ"},{"$i":"suggestions-settings-notice","$v":"The characters you type are used to show you search suggestions. Go to the Search section of Settings to change your search preferences."},{"$i":"ok","$v":"ਠੀਕ ਹੈ"},{"$i":"add-to-home-screen","label":"ਮੁੱਖ ਸਕਰੀਨ ਉੱਤੇ ਜੋੜੋ"},{"$i":"offline-message","$v":"ਕੋਈ ਇੰਟਰਨੈੱਟ ਕਨੈਕਸ਼ਨ ਨਹੀਂ"},{"$i":"future","$v":"ਭਵਿੱਖ"},{"$i":"today","$v":"ਅੱਜ"},{"$i":"yesterday","$v":"ਕੱਲ੍ਹ"},{"$i":"last-7-days","$v":"ਪਿਛਲੇ 7 ਦਿਨ"},{"$i":"this-month","$v":"ਇਹ ਮਹੀਨੇ"},{"$i":"last-6-months","$v":"LAST 6 MONTHS"},{"$i":"older-than-6-months","$v":"OLDER THAN 6 MONTHS"},{"$i":"month-0","$v":"ਜਨਵਰੀ"},{"$i":"month-1","$v":"ਫਰਵਰੀ"},{"$i":"month-2","$v":"ਮਾਰਚ"},{"$i":"month-3","$v":"ਅਪਰੈਲ"},{"$i":"month-4","$v":"ਮਈ"},{"$i":"month-5","$v":"ਜੂਨ"},{"$i":"month-6","$v":"ਜੁਲਾਈ"},{"$i":"month-7","$v":"ਅਗਸਤ"},{"$i":"month-8","$v":"ਸਤੰਬਰ"},{"$i":"month-9","$v":"ਅਕਤੂਬਰ"},{"$i":"month-10","$v":"ਨਵੰਬਰ"},{"$i":"month-11","$v":"ਦਸੰਬਰ"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SEARCH"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"Przeglądarka"},{"$i":"browserBrandFullName","$v":"Przeglądarka Mozilli"},{"$i":"ringtoneBrandName","$v":"Domyślny"},{"$i":"ringtoneSectionBrandName","$v":"Systemowy"},{"$i":"install-marketplace-title","$v":["Zainstaluj „",{"t":"idOrVar","v":"title"},"”"]},{"$i":"history","$v":"Historia"},{"$i":"top-sites","$v":"Popularne"},{"$i":"suggestions","ariaLabel":"Podpowiedzi"},{"$i":"contacts","ariaLabel":"Kontakty"},{"$i":"places","ariaLabel":"Miejsca"},{"$i":"apps","ariaLabel":"Aplikacje"},{"$i":"suggestions-settings-notice","$v":"Podpowiedzi wyszukiwania są włączone i będą wyświetlane na podstawie wprowadzanych znaków wysyłanych do wyszukiwarek. Można je wyłączyć w <span>ustawieniach</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Dodaj do ekranu głównego"},{"$i":"offline-message","$v":"Brak połączenia z Internetem"},{"$i":"future","$v":"Przyszłość"},{"$i":"today","$v":"Dziś"},{"$i":"yesterday","$v":"Wczoraj"},{"$i":"last-7-days","$v":"Ostatnie 7 dni"},{"$i":"this-month","$v":"Ten miesiąc"},{"$i":"last-6-months","$v":"Ostatnie 6 miesięcy"},{"$i":"older-than-6-months","$v":"Starsze niż 6 miesięcy"},{"$i":"month-0","$v":"Styczeń"},{"$i":"month-1","$v":"Luty"},{"$i":"month-2","$v":"Marzec"},{"$i":"month-3","$v":"Kwiecień"},{"$i":"month-4","$v":"Maj"},{"$i":"month-5","$v":"Czerwiec"},{"$i":"month-6","$v":"Lipiec"},{"$i":"month-7","$v":"Sierpień"},{"$i":"month-8","$v":"Wrzesień"},{"$i":"month-9","$v":"Październik"},{"$i":"month-10","$v":"Listopad"},{"$i":"month-11","$v":"Grudzień"},{"$i":"search-header","$v":["Wyszukiwanie ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"Navegador da Web"},{"$i":"browserBrandFullName","$v":"Navegador da Web Mozilla"},{"$i":"ringtoneBrandName","$v":"Padrão"},{"$i":"ringtoneSectionBrandName","$v":"Sistema"},{"$i":"install-marketplace-title","$v":["Instalar ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTÓRICO"},{"$i":"top-sites","$v":"MELHORES SITES"},{"$i":"suggestions","ariaLabel":"Sugestões"},{"$i":"contacts","ariaLabel":"Contatos"},{"$i":"places","ariaLabel":"Locais"},{"$i":"apps","ariaLabel":"Aplicativos"},{"$i":"suggestions-settings-notice","$v":"Sugestões de pesquisa estão habilitadas. Os caracteres são enviados ao buscador enquanto você digita. Você pode desabilitar as sugestões de pesquisa nas <span>Configurações</span> do dispositivo."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Adicionar a Tela Inicial"},{"$i":"offline-message","$v":"Sem conexão à internet"},{"$i":"future","$v":"FUTURO"},{"$i":"today","$v":"HOJE"},{"$i":"yesterday","$v":"ONTEM"},{"$i":"last-7-days","$v":"ÚLTIMOS 7 DIAS"},{"$i":"this-month","$v":"ESSE MÊS"},{"$i":"last-6-months","$v":"ÚLTIMOS 6 MESES"},{"$i":"older-than-6-months","$v":"MAIS VELHO QUE 6 MESES"},{"$i":"month-0","$v":"JANEIRO"},{"$i":"month-1","$v":"FEVEREIRO"},{"$i":"month-2","$v":"MARÇO"},{"$i":"month-3","$v":"ABRIL"},{"$i":"month-4","$v":"MAIO"},{"$i":"month-5","$v":"JUNHO"},{"$i":"month-6","$v":"JULHO"},{"$i":"month-7","$v":"AGOSTO"},{"$i":"month-8","$v":"SETEMBRO"},{"$i":"month-9","$v":"OUTUBRO"},{"$i":"month-10","$v":"NOVEMBRO"},{"$i":"month-11","$v":"DEZEMBRO"},{"$i":"search-header","$v":["PESQUISA ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Você está navegando privativamente"},{"$i":"private-window-info1","$v":["Você abriu uma nova janela privada, o ",{"t":"idOrVar","v":"brandShortName"}," não mantém nenhum histórico de navegação, cookies ou arquivos temporários de internet. Entretanto, os downloads e favoritos serão mantidos."]},{"$i":"private-window-info2","$v":"Apesar deste dispositivo não registrar o seu histórico de navegação, o seu empregador ou fornecedor de Internet poderão rastrear as páginas que você visita."},{"$i":"private-window-dont-tell","$v":"Não me informe novamente"},{"$i":"private-learn-more","$v":"Saiba mais"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Implicit"},{"$i":"ringtoneSectionBrandName","$v":"Sistem"},{"$i":"install-marketplace-title","$v":["Instalează ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ISTORIC"},{"$i":"top-sites","$v":"SITE-URI DE TOP"},{"$i":"suggestions","ariaLabel":"Sugestii"},{"$i":"contacts","ariaLabel":"Contacte"},{"$i":"places","ariaLabel":"Locuri"},{"$i":"apps","ariaLabel":"Aplicații"},{"$i":"suggestions-settings-notice","$v":"Sugestiile de căutare sunt activate. Caracterele pe care le tastezi la căutare sunt trimise motorului de căutare. Poți dezactiva sugestiile de căutare din <span>setările</span> dispozitivului."},{"$i":"ok","$v":"Ok"},{"$i":"add-to-home-screen","label":"Adaugă la ecran principal"},{"$i":"offline-message","$v":"Fără conexiune la internet"},{"$i":"future","$v":"VIITOR"},{"$i":"today","$v":"ASTĂZI"},{"$i":"yesterday","$v":"IERI"},{"$i":"last-7-days","$v":"ULTIMELE 7 ZILE"},{"$i":"this-month","$v":"LUNA ACEASTA"},{"$i":"last-6-months","$v":"ULTIMELE 6 LUNI"},{"$i":"older-than-6-months","$v":"MAI VECHI DE 6 LUNI"},{"$i":"month-0","$v":"IANUARIE"},{"$i":"month-1","$v":"FEBRUARIE"},{"$i":"month-2","$v":"MARTIE"},{"$i":"month-3","$v":"APRILIE"},{"$i":"month-4","$v":"MAI"},{"$i":"month-5","$v":"IUNIE"},{"$i":"month-6","$v":"IULIE"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBRIE"},{"$i":"month-9","$v":"OCTOMBRIE"},{"$i":"month-10","$v":"NOIEMBRIE"},{"$i":"month-11","$v":"DECEMBRIE"},{"$i":"search-header","$v":["CĂUTARE ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Navighezi în mod privat"},{"$i":"private-window-info1","$v":["În ferestrele private, ",{"t":"idOrVar","v":"brandShortName"}," nu va păstra istoricul browserului, cookie-urile sau fișierele temporare de internet. Cu toate acestea, fișierele pe care le descarci și semnele de carte pe care le pui vor fi păstrate."]},{"$i":"private-window-info2","$v":"Cu toate că acest dispozitiv nu va păstra istoricul navigării, furnizorul de internet poate încă să urmărească paginile pe care le vizitezi."},{"$i":"private-window-dont-tell","$v":"Nu-mi spune din nou"},{"$i":"private-learn-more","$v":"Află mai multe"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Стандартный"},{"$i":"ringtoneSectionBrandName","$v":"Системный"},{"$i":"install-marketplace-title","$v":["Установить ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ИСТОРИЯ"},{"$i":"top-sites","$v":"ТОП САЙТОВ"},{"$i":"suggestions","ariaLabel":"Предложения"},{"$i":"contacts","ariaLabel":"Контакты"},{"$i":"places","ariaLabel":"Места"},{"$i":"apps","ariaLabel":"Приложения"},{"$i":"suggestions-settings-notice","$v":"Поисковые предложения включены. Символы, набираемые вами при поисковом запросе, отправляются в поисковую систему. Вы можете отключить поисковые предложения в <span>Параметрах</span> устройства."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Добавить на домашний экран"},{"$i":"offline-message","$v":"Нет соединения с Интернетом"},{"$i":"future","$v":"БУДУЩЕЕ"},{"$i":"today","$v":"СЕГОДНЯ"},{"$i":"yesterday","$v":"ВЧЕРА"},{"$i":"last-7-days","$v":"ПОСЛЕДНИЕ 7 ДНЕЙ"},{"$i":"this-month","$v":"ЭТОТ МЕСЯЦ"},{"$i":"last-6-months","$v":"ПОСЛЕДНИЕ 6 МЕСЯЦЕВ"},{"$i":"older-than-6-months","$v":"СТАРШЕ 6 МЕСЯЦЕВ"},{"$i":"month-0","$v":"ЯНВАРЬ"},{"$i":"month-1","$v":"ФЕВРАЛЬ"},{"$i":"month-2","$v":"МАРТ"},{"$i":"month-3","$v":"АПРЕЛЬ"},{"$i":"month-4","$v":"МАЙ"},{"$i":"month-5","$v":"ИЮНЬ"},{"$i":"month-6","$v":"ИЮЛЬ"},{"$i":"month-7","$v":"АВГУСТ"},{"$i":"month-8","$v":"СЕНТЯБРЬ"},{"$i":"month-9","$v":"ОКТЯБРЬ"},{"$i":"month-10","$v":"НОЯБРЬ"},{"$i":"month-11","$v":"ДЕКАБРЬ"},{"$i":"search-header","$v":["ИСКАТЬ В ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Вы работаете в режиме приватности"},{"$i":"private-window-info1","$v":["При работе в приватных окнах ",{"t":"idOrVar","v":"brandShortName"}," не будет вести журнал посещаемых вами сайтов. Также не будут сохраняться куки и временные файлы Интернета. Однако любые загруженные вами файлы и созданные вами закладки будут сохранены."]},{"$i":"private-window-info2","$v":"Хотя это устройство не будет вести журнал посещаемых вами сайтов, ваш интернет-провайдер может следить за тем, какие страницы вы посещаете."},{"$i":"private-window-dont-tell","$v":"Больше мне об этом не сообщать"},{"$i":"private-learn-more","$v":"Подробнее"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"Webový prehliadač"},{"$i":"browserBrandFullName","$v":"Webový prehliadač Mozilla"},{"$i":"ringtoneBrandName","$v":"Predvolený"},{"$i":"ringtoneSectionBrandName","$v":"Systém"},{"$i":"install-marketplace-title","$v":["Nainštalovať ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTÓRIA"},{"$i":"top-sites","$v":"TOP STRÁNKY"},{"$i":"suggestions","ariaLabel":"Návrhy"},{"$i":"contacts","ariaLabel":"Kontakty"},{"$i":"places","ariaLabel":"Miesta"},{"$i":"apps","ariaLabel":"Aplikácie"},{"$i":"suggestions-settings-notice","$v":"Návrhy vyhľadávania sú povolené. Znaky zadané do vyhľadávania sú okamžite odosielané vyhľadávaciemu modulu. Funkciu návrhov vyhľadávania môžete vypnúť v <span>Nastaveniach</span> zariadenia."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Pridať na Úvodnú stránku"},{"$i":"offline-message","$v":"Žiadne pripojenie k sieti internet"},{"$i":"future","$v":"BUDÚCNOSŤ"},{"$i":"today","$v":"DNES"},{"$i":"yesterday","$v":"VČERA"},{"$i":"last-7-days","$v":"POSLEDNÝCH 7 DNÍ"},{"$i":"this-month","$v":"TENTO MESIAC"},{"$i":"last-6-months","$v":"POSLEDNÝCH 6 MESIACOV"},{"$i":"older-than-6-months","$v":"STARŠIE AKO 6 MESIACOV"},{"$i":"month-0","$v":"JANUÁR"},{"$i":"month-1","$v":"FEBRUÁR"},{"$i":"month-2","$v":"MAREC"},{"$i":"month-3","$v":"APRÍL"},{"$i":"month-4","$v":"MÁJ"},{"$i":"month-5","$v":"JÚN"},{"$i":"month-6","$v":"JÚL"},{"$i":"month-7","$v":"AUGUST"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OKTÓBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":["VYHĽADÁVANIE ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Režim Súkromné prehliadanie"},{"$i":"private-window-info1","$v":["V súkromných oknách ",{"t":"idOrVar","v":"brandShortName"}," neuchováva históriu prehliadania, cookies ani dočasné internetové súbory. Prevzaté súbory a vytvorené záložky však ostanú zachované."]},{"$i":"private-window-info2","$v":"Aj keď sa v tomto zariadení nebudú ukladať žiadne údaje o prehliadaných stránkach, váš poskytovateľ internetového pripojenia môže napriek tomu sledovať, ktoré stránky navštevujete."},{"$i":"private-window-dont-tell","$v":"Nabudúce ma neupozorňovať"},{"$i":"private-learn-more","$v":"Ďalšie informácie"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Edicioni Foxfood i Bashkësisë Mozilla"},{"$i":"ringtoneBrandName","$v":"Parazgjedhje"},{"$i":"ringtoneSectionBrandName","$v":"Sistem"},{"$i":"install-marketplace-title","$v":["Instaloni ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIK"},{"$i":"top-sites","$v":"SAJTE KRYESUES"},{"$i":"suggestions","ariaLabel":"Sugjerime"},{"$i":"contacts","ariaLabel":"Kontakte"},{"$i":"places","ariaLabel":"Vende"},{"$i":"apps","ariaLabel":"Aplikacione"},{"$i":"suggestions-settings-notice","$v":"Sugjerimet për kërkime janë të aktivizuara. Shenjat që shtypni kur jepni një term kërkimi, i dërgohen motorit të kërkimeve. Sugjerimet për kërkimet mund t’i çaktivizoni te <span>Rregullimet</span> e pajisjes."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Shtojeni te Kreu"},{"$i":"offline-message","$v":"Pa Lidhje Internet"},{"$i":"future","$v":"NË TË ARDHMEN"},{"$i":"today","$v":"SOT"},{"$i":"yesterday","$v":"DJE"},{"$i":"last-7-days","$v":"7 DITËT E FUNDIT"},{"$i":"this-month","$v":"KËTË MUAJ"},{"$i":"last-6-months","$v":"6 MUAJT E FUNDIT"},{"$i":"older-than-6-months","$v":"MË HERËT SE 6 MUAJ"},{"$i":"month-0","$v":"JANAR"},{"$i":"month-1","$v":"SHKURT"},{"$i":"month-2","$v":"MARS"},{"$i":"month-3","$v":"PRILL"},{"$i":"month-4","$v":"MAJ"},{"$i":"month-5","$v":"QERSHOR"},{"$i":"month-6","$v":"KORRIK"},{"$i":"month-7","$v":"GUSHT"},{"$i":"month-8","$v":"SHTATOR"},{"$i":"month-9","$v":"TETOR"},{"$i":"month-10","$v":"NËNTOR"},{"$i":"month-11","$v":"DHJETOR"},{"$i":"search-header","$v":["KËRKIM ME ",{"t":"idOrVar","v":"provider"}]},{"$i":"private-window-header","$v":"Po shfletoni privatisht"},{"$i":"private-window-info1","$v":["Në dritare private, ",{"t":"idOrVar","v":"brandShortName"}," s’do të ruajë gjë nga historiku i shfletuesit, cookie-t, apo kartela të përkohshme Interneti. Por do të ruhen te pajisja juaj faqerojtësit që shtoni dhe kartelat që shkarkoni."]},{"$i":"private-window-info2","$v":"Teksa kjo pajisje s’do të ketë ndonjë regjistrim të historikut tuaj të shfletimeve, mundësuesi i shërbimit internet mundet prapëseprapë të gjurmojë faqet që vizitoni."},{"$i":"private-window-dont-tell","$v":"Mos ma trego prapë"},{"$i":"private-learn-more","$v":"Mësoni më tepër"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Подразумеванa"},{"$i":"ringtoneSectionBrandName","$v":"Систем"},{"$i":"install-marketplace-title","$v":["Инсталирај ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ИСТОРИЈА"},{"$i":"top-sites","$v":"ПОПУЛАРНИ САЈТОВИ"},{"$i":"suggestions","ariaLabel":"Предлози"},{"$i":"contacts","ariaLabel":"Контакти"},{"$i":"places","ariaLabel":"Места"},{"$i":"apps","ariaLabel":"Апликације"},{"$i":"suggestions-settings-notice","$v":"Предлози претраге су омогућени. Карактери које куцате се шаљу претраживачима. Можете онемогућити предлоге претраге у <span>Поставкама</span> уређаја."},{"$i":"ok","$v":"У реду"},{"$i":"add-to-home-screen","label":"Додај на почетни екран"},{"$i":"offline-message","$v":"Нема интернет конекције"},{"$i":"future","$v":"БУДУЋНОСТ"},{"$i":"today","$v":"ДАНАС"},{"$i":"yesterday","$v":"ЈУЧЕ"},{"$i":"last-7-days","$v":"ПОСЛЕДЊИХ 7 ДАНА"},{"$i":"this-month","$v":"ОВАЈ МЕСЕЦ"},{"$i":"last-6-months","$v":"ПОСЛЕДЊИХ 6 МЕСЕЦИ"},{"$i":"older-than-6-months","$v":"СТАРИЈЕ ОД 6 МЕСЕЦА"},{"$i":"month-0","$v":"ЈАНУАР"},{"$i":"month-1","$v":"ФЕБРУАР"},{"$i":"month-2","$v":"МАРТ"},{"$i":"month-3","$v":"АПРИЛ"},{"$i":"month-4","$v":"МАЈ"},{"$i":"month-5","$v":"ЈУН"},{"$i":"month-6","$v":"ЈУЛ"},{"$i":"month-7","$v":"АВГУСТ"},{"$i":"month-8","$v":"СЕПТЕМБАР"},{"$i":"month-9","$v":"ОКТОБАР"},{"$i":"month-10","$v":"НОВЕМБАР"},{"$i":"month-11","$v":"ДЕЦЕМБАР"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," ПРЕТРАГА"]},{"$i":"private-window-header","$v":"Прегледавате приватно"},{"$i":"private-window-info1","$v":["У приватним прозорима, ",{"t":"idOrVar","v":"brandShortName"}," неће памтити историјат, колачиће или привремене интернет датотеке. Међутим, датотеке које преузмете или забелешке које направите ће бити запамћене."]},{"$i":"private-window-info2","$v":"Док овај уређај неће бележити историјат, ваш интернет провајдер и даље може да прати странице које ви посећујете."},{"$i":"private-window-dont-tell","$v":"Немој ми рећи опет"},{"$i":"private-learn-more","$v":"Сазнајте више"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Podrazumevana"},{"$i":"ringtoneSectionBrandName","$v":"Sistem"},{"$i":"install-marketplace-title","$v":["Instaliraj ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"ISTORIJA"},{"$i":"top-sites","$v":"POPULARNI SAJTOVI"},{"$i":"suggestions","ariaLabel":"Predlozi"},{"$i":"contacts","ariaLabel":"Kontakti"},{"$i":"places","ariaLabel":"Mesta"},{"$i":"apps","ariaLabel":"Aplikacije"},{"$i":"suggestions-settings-notice","$v":"Predlozi pretrage su omogućeni. Karakteri koje kucate se šalju pretraživačima. Možete onemogućiti predloge pretrage u <span>Postavkama</span> uređaja."},{"$i":"ok","$v":"U redu"},{"$i":"add-to-home-screen","label":"Dodaj na početni ekran"},{"$i":"offline-message","$v":"Nema internet konekcije"},{"$i":"future","$v":"BUDUĆNOST"},{"$i":"today","$v":"DANAS"},{"$i":"yesterday","$v":"JUČE"},{"$i":"last-7-days","$v":"POSLEDNJIH 7 DANA"},{"$i":"this-month","$v":"OVAJ MESEC"},{"$i":"last-6-months","$v":"POSLEDNJIH 6 MESECI"},{"$i":"older-than-6-months","$v":"STARIJE OD 6 MESECA"},{"$i":"month-0","$v":"JANUAR"},{"$i":"month-1","$v":"FEBRUAR"},{"$i":"month-2","$v":"MART"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAJ"},{"$i":"month-5","$v":"JUN"},{"$i":"month-6","$v":"JUL"},{"$i":"month-7","$v":"AVGUST"},{"$i":"month-8","$v":"SEPTEMBAR"},{"$i":"month-9","$v":"OKTOBAR"},{"$i":"month-10","$v":"NOVEMBAR"},{"$i":"month-11","$v":"DECEMBAR"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," PRETRAGA"]},{"$i":"private-window-header","$v":"Pregledavate privatno"},{"$i":"private-window-info1","$v":["U privatnim prozorima, ",{"t":"idOrVar","v":"brandShortName"}," neće pamtiti istorijat, kolačiće ili privremene internet datoteke. Međutim, datoteke koje preuzmete ili zabeleške koje napravite će biti zapamćene."]},{"$i":"private-window-info2","$v":"Dok ovaj uređaj neće beležiti istorijat, vaš internet provajder i dalje može da prati stranice koje vi posećujete."},{"$i":"private-window-dont-tell","$v":"Nemoj mi reći opet"},{"$i":"private-learn-more","$v":"Saznajte više"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"Webbläsare"},{"$i":"browserBrandFullName","$v":"Webbläsare Mozilla"},{"$i":"ringtoneBrandName","$v":"Standard"},{"$i":"ringtoneSectionBrandName","$v":"System"},{"$i":"install-marketplace-title","$v":["Installera ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"HISTORIK"},{"$i":"top-sites","$v":"POPULÄRA WEBBPLATSER"},{"$i":"suggestions","ariaLabel":"Förslag"},{"$i":"contacts","ariaLabel":"Kontakter"},{"$i":"places","ariaLabel":"Platser"},{"$i":"apps","ariaLabel":"Appar"},{"$i":"suggestions-settings-notice","$v":"Sökförslag är aktiverade. De tecken du skriver i en sökning skickas till sökmotorn. Du kan inaktivera sökförslag i <span>enhetsinställningarna</span>."},{"$i":"ok","$v":"OK"},{"$i":"add-to-home-screen","label":"Lägg till på hemskärmen"},{"$i":"offline-message","$v":"Ingen internetanslutning"},{"$i":"future","$v":"FRAMTIDEN"},{"$i":"today","$v":"IDAG"},{"$i":"yesterday","$v":"IGÅR"},{"$i":"last-7-days","$v":"SENASTE 7 DAGARNA"},{"$i":"this-month","$v":"DENNA MÅNAD"},{"$i":"last-6-months","$v":"SENASTE 6 MÅNADERNA"},{"$i":"older-than-6-months","$v":"ÄLDRE ÄN 6 MÅNADER"},{"$i":"month-0","$v":"JANUARI"},{"$i":"month-1","$v":"FEBRUARI"},{"$i":"month-2","$v":"MARS"},{"$i":"month-3","$v":"APRIL"},{"$i":"month-4","$v":"MAJ"},{"$i":"month-5","$v":"JUNI"},{"$i":"month-6","$v":"JULI"},{"$i":"month-7","$v":"AUGUSTI"},{"$i":"month-8","$v":"SEPTEMBER"},{"$i":"month-9","$v":"OKTOBER"},{"$i":"month-10","$v":"NOVEMBER"},{"$i":"month-11","$v":"DECEMBER"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," SÖK"]},{"$i":"private-window-header","$v":"Du surfar privat"},{"$i":"private-window-info1","$v":["I privata fönster, kommer inte ",{"t":"idOrVar","v":"brandShortName"}," att spara någon webbläsarhistorik, kakor eller tillfälliga internetfiler. Men filer du laddar ner och bokmärken du skapar kommer att sparas."]},{"$i":"private-window-info2","$v":"Även om denna enhet inte kommer att ha ett register över din webbläsarhistorik, kan din internetleverantör fortfarande spåra vilka sidor du besöker."},{"$i":"private-window-dont-tell","$v":"Berätta inte för mig igen"},{"$i":"private-learn-more","$v":"Läs mer"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"Varsayılan"},{"$i":"ringtoneSectionBrandName","$v":"Sistem"},{"$i":"install-marketplace-title","$v":[{"t":"idOrVar","v":"title"}," uygulamasını yükle"]},{"$i":"history","$v":"GEÇMİŞ"},{"$i":"top-sites","$v":"EN İYİ SİTELER"},{"$i":"suggestions","ariaLabel":"Öneriler"},{"$i":"contacts","ariaLabel":"Kişiler"},{"$i":"places","ariaLabel":"Yerler"},{"$i":"apps","ariaLabel":"Uygulamalar"},{"$i":"suggestions-settings-notice","$v":"Arama önerileri açık. Arama yaparken yazdığınız karakterler arama motoruna gönderilecektir. Arama önerilerini <span>Ayarlar</span>'dan kapatabilirsiniz."},{"$i":"ok","$v":"Tamam"},{"$i":"add-to-home-screen","label":"Ana ekrana ekle"},{"$i":"offline-message","$v":"İnternet bağlantısı yok"},{"$i":"future","$v":"GELECEK"},{"$i":"today","$v":"BUGÜN"},{"$i":"yesterday","$v":"DÜN"},{"$i":"last-7-days","$v":"SON 7 GÜN"},{"$i":"this-month","$v":"BU AY"},{"$i":"last-6-months","$v":"SON 6 AY"},{"$i":"older-than-6-months","$v":"6 AYDAN ESKİ"},{"$i":"month-0","$v":"OCAK"},{"$i":"month-1","$v":"ŞUBAT"},{"$i":"month-2","$v":"MART"},{"$i":"month-3","$v":"NİSAN"},{"$i":"month-4","$v":"MAYIS"},{"$i":"month-5","$v":"HAZİRAN"},{"$i":"month-6","$v":"TEMMUZ"},{"$i":"month-7","$v":"AĞUSTOS"},{"$i":"month-8","$v":"EYLÜL"},{"$i":"month-9","$v":"EKİM"},{"$i":"month-10","$v":"KASIM"},{"$i":"month-11","$v":"ARALIK"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," ARAMASI"]},{"$i":"private-window-header","$v":"You’re browsing privately"},{"$i":"private-window-info1","$v":["In private windows, ",{"t":"idOrVar","v":"brandShortName"}," won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept."]},{"$i":"private-window-info2","$v":"While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit."},{"$i":"private-window-dont-tell","$v":"Don’t tell me again"},{"$i":"private-learn-more","$v":"Learn more"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"网络浏览器"},{"$i":"browserBrandFullName","$v":"Mozilla 网络浏览器"},{"$i":"ringtoneBrandName","$v":"默认"},{"$i":"ringtoneSectionBrandName","$v":"系统"},{"$i":"install-marketplace-title","$v":["安装 ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"历史"},{"$i":"top-sites","$v":"热门站点"},{"$i":"suggestions","ariaLabel":"建议"},{"$i":"contacts","ariaLabel":"联系人"},{"$i":"places","ariaLabel":"足迹"},{"$i":"apps","ariaLabel":"应用"},{"$i":"suggestions-settings-notice","$v":"搜索建议已启用。您在进行搜索时输入的字符将发送到该搜索引擎。您可以在设备的 <span>设置</span> 中禁用搜索建议功能。"},{"$i":"ok","$v":"确定"},{"$i":"add-to-home-screen","label":"添加到主屏幕"},{"$i":"offline-message","$v":"没有互联网连接"},{"$i":"future","$v":"未来"},{"$i":"today","$v":"今天"},{"$i":"yesterday","$v":"昨天"},{"$i":"last-7-days","$v":"最近 7 天"},{"$i":"this-month","$v":"本月"},{"$i":"last-6-months","$v":"最近 6 个月"},{"$i":"older-than-6-months","$v":"早于 6 个月"},{"$i":"month-0","$v":"一月"},{"$i":"month-1","$v":"二月"},{"$i":"month-2","$v":"三月"},{"$i":"month-3","$v":"四月"},{"$i":"month-4","$v":"五月"},{"$i":"month-5","$v":"六月"},{"$i":"month-6","$v":"七月"},{"$i":"month-7","$v":"八月"},{"$i":"month-8","$v":"九月"},{"$i":"month-9","$v":"十月"},{"$i":"month-10","$v":"十一月"},{"$i":"month-11","$v":"十二月"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," 搜索"]},{"$i":"private-window-header","$v":"您已进入隐私浏览"},{"$i":"private-window-info1","$v":["在隐私浏览窗口中,",{"t":"idOrVar","v":"brandShortName"}," 不会保留任何浏览器历史、Cookie 或临时互联网文件。不过,您下载的文件和创建的书签会被保留。"]},{"$i":"private-window-info2","$v":"尽管此设备不会记录您的浏览历史,您的互联网服务提供方仍可以跟踪您访问的页面。"},{"$i":"private-window-dont-tell","$v":"不再显示"},{"$i":"private-learn-more","$v":"详细了解"}]

View file

@ -0,0 +1 @@
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood Community Edition"},{"$i":"ringtoneBrandName","$v":"預設"},{"$i":"ringtoneSectionBrandName","$v":"系統"},{"$i":"install-marketplace-title","$v":["安裝 ",{"t":"idOrVar","v":"title"}]},{"$i":"history","$v":"歷史"},{"$i":"top-sites","$v":"最常瀏覽"},{"$i":"suggestions","ariaLabel":"建議"},{"$i":"contacts","ariaLabel":"聯絡人"},{"$i":"places","ariaLabel":"位置"},{"$i":"apps","ariaLabel":"應用程式"},{"$i":"suggestions-settings-notice","$v":"已開啟搜尋建議,您搜尋時輸入的字元將會送到搜尋引擎。您可以在裝置的 <span>設定</span> 中關閉搜尋建議功能。"},{"$i":"ok","$v":"確定"},{"$i":"add-to-home-screen","label":"新增至裝置主畫面"},{"$i":"offline-message","$v":"沒有網路連線"},{"$i":"future","$v":"未來"},{"$i":"today","$v":"今天"},{"$i":"yesterday","$v":"昨天"},{"$i":"last-7-days","$v":"最近 7 天"},{"$i":"this-month","$v":"這個月"},{"$i":"last-6-months","$v":"最近 6 個月"},{"$i":"older-than-6-months","$v":"超過 6 個月前"},{"$i":"month-0","$v":"一月"},{"$i":"month-1","$v":"二月"},{"$i":"month-2","$v":"三月"},{"$i":"month-3","$v":"四月"},{"$i":"month-4","$v":"五月"},{"$i":"month-5","$v":"六月"},{"$i":"month-6","$v":"七月"},{"$i":"month-7","$v":"八月"},{"$i":"month-8","$v":"九月"},{"$i":"month-9","$v":"十月"},{"$i":"month-10","$v":"十一月"},{"$i":"month-11","$v":"十二月"},{"$i":"search-header","$v":[{"t":"idOrVar","v":"provider"}," 搜尋"]},{"$i":"private-window-header","$v":"您正在隱私瀏覽模式當中"},{"$i":"private-window-info1","$v":[{"t":"idOrVar","v":"brandShortName"}," 不會在隱私瀏覽視窗中保留任何瀏覽紀錄、Cookie 或暫存檔案。但您下載的檔案與建立的書籤將會保留。"]},{"$i":"private-window-info2","$v":"雖然此裝置不會保留您的瀏覽紀錄,但您的電信業者或網路業者還是能追蹤您開過哪些網頁。"},{"$i":"private-window-dont-tell","$v":"別再告訴我"},{"$i":"private-learn-more","$v":"詳細資訊"}]

View file

@ -0,0 +1,213 @@
{
"name": "Browser",
"description": "Gaia System Web Browser",
"type": "certified",
"role": "search",
"launch_path": "/newtab.html",
"developer": {
"name": "The Gaia Team",
"url": "https://github.com/mozilla-b2g/gaia"
},
"locales": {
"ar": {
"name": "مُتصفّح",
"description": "مُتصفّح نظام Gaia"
},
"bg": {
"name": "Браузър",
"description": "Системен уеб браузър на Gaia"
},
"bn-BD": {
"name": "ব্রাউজার",
"description": "গায়া সিস্টেম ওয়েব ব্রাউজার"
},
"ca": {
"name": "Navegador",
"description": "Navegador web del sistema del Gaia"
},
"cs": {
"name": "Prohlížeč",
"description": "Vyhledávání"
},
"da": {
"name": "Browser",
"description": "Gaia system-webbrowser"
},
"de": {
"name": "Browser",
"description": "System-Webbrowser für Gaia"
},
"el": {
"name": "Περιηγητής",
"description": "Περιηγητής Ιστού του Gaia"
},
"en-US": {
"name": "Browser",
"description": "Gaia System Web Browser"
},
"es": {
"name": "Navegador",
"description": "Navegador del sistema Gaia"
},
"eu": {
"name": "Nabigatzailea",
"description": "Gaia, sistemaren web nagibatzailea"
},
"fr": {
"name": "Navigateur",
"description": "Navigateur web système de Gaia"
},
"gl": {
"name": "Navegador",
"description": "Navegador web do sistema Gaia"
},
"hr": {
"name": "Browser",
"description": "Gaia System Web Browser"
},
"hu": {
"name": "Böngésző",
"description": "Gaia webbögésző"
},
"it": {
"name": "Browser",
"description": "Browser di sistema di Gaia"
},
"ja": {
"name": "ブラウザ",
"description": "Gaia システムの Web ブラウザ"
},
"km": {
"name": "Browser",
"description": "កម្មវិធី​អ៊ីនធឺណិត​ជា​ប្រព័ន្ធ Gaia"
},
"ko": {
"name": "브라우저",
"description": "가이아 시스템 웹 브라우저"
},
"lt": {
"name": "Naršyklė",
"description": "„Gaia“ saityno naršyklė"
},
"mk": {
"name": "Пребарување",
"description": "Резултати од пребарување"
},
"ms": {
"name": "Pelayar",
"description": "Pelayar Web Sistem Gaia"
},
"ne-NP": {
"name": "ब्राउजर",
"description": "गैया प्रणाली वेब ब्राउजर"
},
"nl": {
"name": "Browser",
"description": "Gaia-systeemwebbrowser"
},
"pa": {
"name": "ਖੋਜ ਨਤੀਜੇ",
"description": "ਖੋਜ ਨਤੀਜੇ"
},
"pl": {
"name": "Firefox",
"description": "Systemowa przeglądarka"
},
"pt-BR": {
"name": "Navegador",
"description": "Navegador do Gaia"
},
"ro": {
"name": "Browser",
"description": "Browser web în sistemul Gaia"
},
"ru": {
"name": "Браузер",
"description": "Системный веб-браузер Gaia"
},
"sk": {
"name": "Prehliadač",
"description": "Webový prehliadač Gaia"
},
"sq": {
"name": "Shfletues",
"description": "Shfletuesi Web i Sistemit Gaia"
},
"sr-Cyrl": {
"name": "Прегледач",
"description": "Gaia веб прегледач"
},
"sr-Latn": {
"name": "Pregledač",
"description": "Gaia veb pregledač"
},
"sv-SE": {
"name": "Webbläsare",
"description": "Gaia systemwebbläsare"
},
"tr": {
"name": "Tarayıcı",
"description": "Gaia Sistem Web Tarayıcısı"
},
"zh-CN": {
"name": "浏览器",
"description": "Gaga 系统的网页浏览器"
},
"zh-TW": {
"name": "瀏覽器",
"description": "Gaia 系統網頁瀏覽器"
}
},
"default_locale": "en-US",
"permissions": {
"themeable": {},
"mobileconnection": {},
"webapps-manage": {},
"open-remote-window": {},
"settings": {
"access": "readwrite"
},
"systemXHR": {},
"contacts": {
"access": "readonly"
},
"moz-extremely-unstable-and-will-change-webcomponents": {}
},
"connections": {
"search": {
"handler_path": "index.html",
"description": "Notifies the search app on query change.",
"rules": {}
}
},
"datastores-access": {
"places": {
"access": "readonly",
"description": "Stores data about browsing history."
},
"bookmarks_store": {
"access": "readonly",
"description": "Stores data about bookmarks"
}
},
"icons": {
"284": "/shared/resources/branding/vulpes-browser.png"
},
"chrome": {
"navigation": true
},
"activities": {
"search": {
"filters": {
"type": "text/plain",
"keyword": {
"required": true
}
},
"disposition": "window",
"href": "/index.html"
}
},
"origin": "app://search.gaiamobile.org",
"version": "2.5"
}

View file

@ -0,0 +1,52 @@
<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="theme-color" content="#fff">
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0">
<link rel="stylesheet" href="style/newtab.css">
<meta name="defaultLanguage" content="en-US">
<meta name="availableLanguages" content="ar:201601260729, bg:201601260729, bn-BD:201601260729, ca:201601260729, cs:201601260729, da:201601260729, de:201601260729, el:201601260729, en-US:201601260729, es:201601260729, eu:201601260729, fr:201601260729, gl:201601260729, hr:201601260729, hu:201601260729, it:201601260729, ja:201601260729, km:201601260729, ko:201601260729, lt:201601260729, mk:201601260729, ms:201601260729, ne-NP:201601260729, nl:201601260729, pa:201601260729, pl:201601260729, pt-BR:201601260729, ro:201601260729, ru:201601260729, sk:201601260729, sq:201601260729, sr-Cyrl:201601260729, sr-Latn:201601260729, sv-SE:201601260729, tr:201601260729, zh-CN:201601260729, zh-TW:201601260729">
<link rel="localization" href="/locales-obj/newtab.{locale}.json">
<!-- <script defer="" src="shared/js/l10n.js"></script> -->
<!-- <script defer="" src="shared/js/lazy_loader.js"></script> -->
<!-- <script defer="" src="shared/js/async_storage.js"></script> -->
<!-- <script defer="" src="js/places_idb.js"></script> -->
<!-- <script defer="" src="shared/js/sync_datastore.js"></script> -->
<!-- <script defer="" src="shared/js/url_helper.js"></script> -->
<!-- <script defer="" src="shared/js/utilities.js"></script> -->
<!-- <script defer="" src="shared/js/settings_listener.js"></script> -->
<!-- <script src="shared/js/component_utils.js"></script> -->
<!-- <script src="shared/elements/gaia_buttons/script.js"></script> -->
<!-- <script src="shared/elements/gaia_checkbox/script.js"></script> --><script src="./gaia_build_newtab.js" type="text/javascript"></script>
<!-- <script defer="" src="js/newtab.js"></script> -->
<!-- <script defer="" src="shared/js/icons_helper.js"></script> -->
<!-- <script defer="" src="js/providers/provider.js"></script> -->
<!-- <script defer="" src="js/providers/grid_provider.js"></script> -->
<!-- <script defer="" src="js/providers/places.js"></script> --><script src="./gaia_build_defer_newtab.js" defer="" type="text/javascript"></script>
<meta content="2.5" name="appVersion"></head>
<body>
<div id="private-window-dialog" hidden="">
<h1 data-l10n-id="private-window-header">You’re browsing privately</h1>
<p data-l10n-id="private-window-info1">In private windows, ⁨Foxfood⁩ won’t keep any browser history, cookies, or temporary Internet files. However, files you download and bookmarks you make will be kept.</p>
<p data-l10n-id="private-window-info2">While this device won’t have a record of your browsing history, your Internet service provider can still track the pages you visit.</p>
<p>
<a id="private-learn-more" target="_blank" href="https://support.mozilla.org/kb/private-browsing-firefox-os" data-l10n-id="private-learn-more">Learn more</a>
</p>
<gaia-checkbox class="inline">
<label data-l10n-id="private-window-dont-tell">Don’t tell me again</label>
</gaia-checkbox>
<gaia-buttons class="inline">
<button type="submit" data-l10n-id="ok" id="private-window-hide-dialog" class="full">OK</button>
</gaia-buttons>
</div>
<h2 id="top-sites-header"><span data-l10n-id="top-sites">TOP SITES</span></h2>
<section id="top-sites" aria-labelledby="top-sites-header"></section>
<section id="history" class="local"></section>
</body>
</html>

View file

@ -0,0 +1,246 @@
/*
Gaia theme variables
*/
:root {
/** Grey Colors
---------------------------------------------------------*/
--color-alpha: #333333;
--color-beta: #ffffff;
--color-gamma: #4d4d4d;
--color-delta: #5f5f5f;
--color-epsilon: #858585;
--color-zeta: #a6a6a6;
--color-eta: #c7c7c7;
--color-theta: #e7e7e7;
--color-iota: #f4f4f4;
/** Brand Colors
---------------------------------------------------------*/
--color-darkblue: #00539f;
--color-blue: #00caf2;
--color-turquoise: #27c8c2;
--color-darkorange: #e66000;
--color-orange: #ff9500;
--color-yellow: #ffcb00;
--color-violet: #c40c84;
--color-warning: #fbbd3c;
--color-destructive: #e2443a;
--color-preffered: #00ba91;
/** Background
---------------------------------------------------------*/
--background: var(--color-beta);
--background-plus: var(--color-theta);
--background-minus: var(--color-zeta);
/** Borders
---------------------------------------------------------*/
--border-color: var(--color-theta);
/** Text Color
---------------------------------------------------------*/
--text-color: var(--color-gamma);
--text-color-minus: var(--color-eta);
--label-color: #000;
/** Button
---------------------------------------------------------*/
--button-background: var(--color-iota);
/** Links
---------------------------------------------------------*/
--link-color: var(--highlight-color);
/** Inputs
---------------------------------------------------------*/
--input-background: var(--color-beta);
--input-color: var(--color-alpha);
--input-clear-background: #909ca7;
/** Buttons
---------------------------------------------------------*/
--button-box-shadow:
inset 0 -1px 0 #d8d8d8,
inset 0 1px 0 #eeeeee;
--button-box-shadow-active: var(--button-box-shadow);
/** Header
---------------------------------------------------------*/
--header-disabled-button-color: rgba(255,255,255,0.3);
/** Transitions
---------------------------------------------------------*/
--transition-duration: 0.2s;
}
.theme-productivity {
/** Brand Color
---------------------------------------------------------*/
--highlight-color: var(--color-orange);
/** Header
---------------------------------------------------------*/
--header-background: var(--highlight-color);
--header-color: var(--color-beta);
}
.theme-communications {
/** Brand Color
---------------------------------------------------------*/
--highlight-color: var(--color-turquoise);
/** Links
---------------------------------------------------------*/
--link-color: #177874;
/** Header
---------------------------------------------------------*/
--header-background: var(--highlight-color);
--header-color: var(--color-beta);
--header-icon-color: var(--color-beta);
--header-button-color: var(--link-color);
}
.theme-settings {
/** Background
---------------------------------------------------------*/
--background: var(--color-iota);
--background-plus: var(--color-beta);
--background-minus: var(--color-epsilon);
--background-minus-minus: var(--color-zeta);
/** Highlight
---------------------------------------------------------*/
--highlight-color: var(--color-blue);
/** Borders
---------------------------------------------------------*/
--border-color: var(--color-theta);
/** Text Color
---------------------------------------------------------*/
--text-color: var(--color-gamma);
/** Titles
---------------------------------------------------------*/
--title-color: var(--background-minus);
/** Buttons
---------------------------------------------------------*/
--button-background: var(--background-plus);
/** Switch
---------------------------------------------------------*/
--switch-background: var(--background-minus-minus);
/** Checkbox
---------------------------------------------------------*/
--checkbox-border-color: var(--background-minus-minus);
/** Header
---------------------------------------------------------*/
--header-color: var(--title-color);
--header-background: var(--background);
--header-button-color: var(--highlight-color);
--header-disabled-button-color: var(--color-theta);
--header-action-button-color: var(--title-color);
}
.theme-media {
/** Highlight Color
---------------------------------------------------------*/
--highlight-color: var(--color-blue);
/** Background
---------------------------------------------------------*/
--background: var(--color-alpha);
--background-plus: var(--color-gamma);
--background-minus: #2B2B2B;
--background-minus-minus: #1a1a1a;
/** Text Color
---------------------------------------------------------*/
--text-color: var(--color-beta);
--label-color: var(--color-beta);
/** Button
---------------------------------------------------------*/
--button-background: var(--background-plus);
/** Header
---------------------------------------------------------*/
--header-background: var(--background);
--header-icon-color: var(--text-color);
--header-button-color: var(--highlight-color);
/** Borders
---------------------------------------------------------*/
--border-color: var(--color-gamma);
/** Inputs
---------------------------------------------------------*/
--input-background: var(--background-plus);
/** Text Input
---------------------------------------------------------*/
--text-input-background: var(--background-minus);
/** Switch
---------------------------------------------------------*/
--switch-head-border-color: var(--background-minus-minus);
--switch-background: var(--background-minus-minus);
/** Checkbox
---------------------------------------------------------*/
--checkbox-border-color: var(--background-minus-minus);
/** Buttons
---------------------------------------------------------*/
--button-box-shadow: none;
--button-box-shadow-active: none;
}

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><path fill="#667174" fill-opacity=".7" d="m 18.2995,19.66 -5.056,-5.057 5.056,-5.056 c -0.31,-0.516 -0.62,-1.032 -0.93,-1.34 l -5.672,5.673 v 1.652 l 5.675,5.676 c 0.31,-0.515 0.722,-0.928 0.93,-1.547 z"/></svg>

After

Width:  |  Height:  |  Size: 294 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#667174" fill-opacity=".7" d="M11.8,19.9l4.9-4.9l-4.9-4.9c0.3-0.5,0.6-1,0.9-1.3l5.5,5.5c0,0.3,0,0.5,0,0.8c0,0.3,0,0.5,0,0.8l-5.5,5.5 C12.4,20.9,12,20.5,11.8,19.9z"/></svg>

After

Width:  |  Height:  |  Size: 243 B

View file

@ -0,0 +1 @@
;;'use strict';window.GaiaButtons=(function(win){var proto=Object.create(HTMLElement.prototype);var baseurl=window.GaiaButtonsBaseurl||'/shared/elements/gaia_buttons/';proto.createdCallback=function(){ComponentUtils.style.call(this,baseurl);};return document.registerElement('gaia-buttons',{prototype:proto});})(window);

View file

@ -0,0 +1,281 @@
/* ---------------------------------------
* gaia-buttons:
* Container for buttons e.g:
* action menu, confirm, edit mode, FTU
* --------------------------------------- */
gaia-buttons {
display: flex;
justify-content: center;
align-items: center;
height: 7rem;
box-sizing: border-box;
pointer-events: auto;
}
gaia-buttons:not(.inline) {
position: absolute;
left: 0;
right: 0;
bottom: 0;
z-index: 10;
border-top: 0.1rem solid #e7e7e7;
padding: 0;
background-color: #f4f4f4;
}
/* this 'end' padding must match the buttons 'start' margin */
gaia-buttons:not(.inline):-moz-dir(ltr) { padding-right: 1.5rem; }
gaia-buttons:not(.inline):-moz-dir(rtl) { padding-left: 1.5rem; }
gaia-buttons.inline a,
gaia-buttons.inline button {
margin: 0;
}
button::-moz-focus-inner {
border: none;
outline: none;
}
a,
button {
position: relative;
font-family: sans-serif;
font-style: italic;
width: 100%;
height: 4rem;
margin: 0;
padding: 0 0.2rem;
box-sizing: border-box;
display: inline-block;
vertical-align: middle;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
background: #d8d8d8;
border: none;
border-radius: 2rem;
font-weight: normal;
font-size: 1.6rem;
line-height: 4rem;
color: #333;
text-align: center;
text-decoration: none;
outline: none;
}
:-moz-dir(ltr) a,
:-moz-dir(ltr) button {
margin-left: 1.5rem;
}
:-moz-dir(rtl) a,
:-moz-dir(rtl) button {
margin-right: 1.5rem;
}
/* Recommend */
a.recommend,
button.recommend {
background-color: #00caf2;
color: #fff;
}
/* Danger */
a.danger,
button.danger {
background-color: #e51e1e;
color: #fff;
}
/* Pressed */
a:active,
button:active {
background-color: #b2f2ff;
color: #fff;
}
a::-moz-selection,
button::-moz-selection {
background-color: transparent;
}
/* Disabled */
a[aria-disabled="true"],
button[disabled] {
background-color: rgba(0,0,0,0.05);
color: #c7c7c7;
pointer-events: auto;
}
a[aria-disabled="true"].recommend,
button[disabled].recommend {
background-color: #97cbd5;
color: rgba(255,255,255,0.5);
}
a[aria-disabled="true"].danger,
button[disabled].danger {
background-color: #eb7474;
color: rgba(255,255,255,0.5);
}
a[aria-disabled="true"]::-moz-selection,
button[disabled]::-moz-selection {
-moz-user-select: none;
}
/* Hidden */
[hidden] {
visibility: hidden;
}
/* Icons */
a.icon,
button.icon {
position: relative;
}
a.icon:before,
button.icon:before {
content: "";
width: 3rem;
height: 3rem;
position: absolute;
top: 50%;
margin-top: -1.5rem;
background: transparent no-repeat center center / 100% auto;
}
:-moz-dir(ltr) a.icon:before,
:-moz-dir(ltr) button.icon:before { right: 0.5rem; }
:-moz-dir(rtl) a.icon:before,
:-moz-dir(rtl) button.icon:before { left: 0.5rem; }
a.icon-next:before,
button.icon-next:before {
background-size: 3rem;
}
:-moz-dir(ltr) a.icon-next:before,
:-moz-dir(ltr) button.icon-next:before {
background-image: url(images/right-light.svg);
}
:-moz-dir(rtl) a.icon-next:before,
:-moz-dir(rtl) button.icon-next:before {
background-image: url(images/left-light.svg);
}
a.icon-previous:before,
button.icon-previous:before {
background-size: 3rem;
}
:-moz-dir(ltr) a.icon-previous:before,
:-moz-dir(ltr) button.icon-previous:before {
left: 0.5rem;
background-image: url(images/left-light.svg);
}
:-moz-dir(rtl) a.icon-previous:before,
:-moz-dir(rtl) button.icon-previous:before {
right: 0.5rem;
background-image: url(images/right-light.svg);
}
/* -----------------------------------------------------------------
SKIN: dark
----------------------------------------------------------------- */
gaia-buttons[skin="dark"] {
background: #4d4d4d;
border: none;
}
/* Pressed */
[skin="dark"] a:active,
[skin="dark"] button:active {
background-color: #00aacc;
}
/* Disabled */
[skin="dark"] a[aria-disabled="true"],
[skin="dark"] button[disabled] {
background-color: #565656;
color: rgba(255,255,255,0.4);
}
[skin="dark"] a[aria-disabled="true"].recommend,
[skin="dark"] button[disabled].recommend {
background-color: #006579;
}
[skin="dark"] a[aria-disabled="true"].danger,
[skin="dark"] button[disabled].danger {
background-color: #730f0f;
}
/* -----------------------------------------------------------------
Transitions
----------------------------------------------------------------- */
[transition] {
display: flex;
transition: visibility var(--transition-duration);
}
[transition][hidden] {
pointer-events: none;
}
[transition="slide"] {
transform: translateY(0);
transition: transform var(--transition-duration) ease,
visibility var(--transition-duration);
}
[transition="slide"][hidden] {
transform: translateY(100%);
}
[transition="fade"] {
opacity: 1;
transition: opacity var(--transition-duration) ease,
visibility var(--transition-duration);
}
[transition="fade"][hidden] {
opacity: 0;
}
/* -----------------------------------------------------------------
RESPONSIVE: tablet
----------------------------------------------------------------- */
@media (min-width: 768px) {
gaia-buttons {
height: 10rem;
}
gaia-buttons:not(.inline) {
border-top-width: 0.2rem;
}
/* this 'end' padding must match the buttons 'start' margin */
gaia-buttons:not(.inline):-moz-dir(ltr) { padding-right: 3rem; }
gaia-buttons:not(.inline):-moz-dir(rtl) { padding-left: 3rem; }
a,
button {
font-size: 2rem;
height: 5rem;
line-height: 5rem;
border-radius: 2.5rem;
max-width: 40rem;
}
:-moz-dir(ltr) a,
:-moz-dir(ltr) button {
margin-left: 3rem;
}
:-moz-dir(rtl) a,
:-moz-dir(rtl) button {
margin-right: 3rem;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

Some files were not shown because too many files have changed in this diff Show more