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:
parent
93e3a48004
commit
b38dea0597
25901 changed files with 9982925 additions and 369 deletions
|
|
@ -0,0 +1,497 @@
|
|||
;(function(root,factory){'use strict';if(typeof define==='function'&&define.amd){define(factory);}else if(typeof exports==='object'){module.exports=factory();}else{root.Sanitizer=factory();}}(this,function(){'use strict';var Sanitizer={_entity:/[&<>"'/]/g,_entities:{'&':'&','<':'<','>':'>','"':'"','\'':''','/':'/'},getEntity:function(s){return Sanitizer._entities[s];},escapeHTML:function(strings,...values){var result='';for(var i=0;i<strings.length;i++){result+=strings[i];if(i<values.length){result+=String(values[i]).replace(Sanitizer._entity,Sanitizer.getEntity);}}
|
||||
return result;},createSafeHTML:function(strings,...values){var escaped=Sanitizer.escapeHTML(strings,...values);return{__html:escaped,toString:function(){return'[object WrappedHTMLObject]';},info:'This is a wrapped HTML object. See https://developer.mozilla.or'+'g/en-US/Firefox_OS/Security/Security_Automation for more.'};},unwrapSafeHTML:function(...htmlObjects){var markupList=htmlObjects.map(function(obj){return obj.__html;});return markupList.join('');}};return Sanitizer;}));;'use strict';var CustomDialog=(function(){var container=null;var screen=null;var dialog=null;var header=null;var message=null;var yes=null;var no=null;return{hide:function dialog_hide(){if(screen===null){return;}
|
||||
if(!container){container=document.body;}
|
||||
container.removeChild(screen);screen=null;dialog=null;header=null;message=null;yes=null;no=null;},show:function dialog_show(title,msg,cancel,confirm,containerElement){container=containerElement||document.body;if(screen===null){screen=document.createElement('form');screen.setAttribute('role','dialog');screen.setAttribute('data-type','confirm');screen.id='dialog-screen';dialog=document.createElement('section');screen.appendChild(dialog);var decorateWithOptions=function cd_decorateWithOptions(type,options,elm,dialog){if('string'===typeof options){elm.setAttribute('data-l10n-id',options);return elm;}
|
||||
var icon=options.icon;var textElm=elm;if(icon&&''!==icon){textElm=document.createElement('span');var iconImg=new Image();iconImg.src=icon;iconImg.classList.add('custom-dialog-'+type+'-icon');elm.insertBefore(iconImg,elm.firstChild);elm.appendChild(textElm);}
|
||||
if(options.id){document.l10n.setAttributes(textElm,options.id,options.args);}else{var text=options[type];textElm.textContent=text;}
|
||||
return elm;};var setElementText=function(element,options){if('string'===typeof options){element.setAttribute('data-l10n-id',options);}
|
||||
if(options.id){document.l10n.setAttributes(element,options.id,options.args);}};header=document.createElement('h1');header.id='dialog-title';if(title&&title!==''){header=decorateWithOptions('title',title,header,dialog);}
|
||||
dialog.appendChild(header);message=document.createElement('p');message.id='dialog-message';message=decorateWithOptions('message',msg,message,dialog);dialog.appendChild(message);var menu=document.createElement('menu');menu.dataset.items=1;no=document.createElement('button');no.type='button';setElementText(no,cancel.title);no.id='dialog-no';no.addEventListener('click',clickHandler);menu.appendChild(no);if(confirm){menu.dataset.items=2;yes=document.createElement('button');yes.type='button';setElementText(yes,confirm.title);yes.id='dialog-yes';yes.className=confirm.recommend?'recommend':'danger';yes.addEventListener('click',clickHandler);menu.appendChild(yes);}
|
||||
else{no.classList.add('full');}
|
||||
screen.appendChild(menu);container.appendChild(screen);}
|
||||
screen.classList.add('visible');function clickHandler(evt){screen.classList.remove('visible');if(evt.target===yes&&confirm.callback){confirm.callback();}else if(evt.target===no&&cancel.callback){cancel.callback();}}
|
||||
return screen;}};}());;'use strict';var Toaster={_containerElement:null,_messageElement:null,_defaultLatency:3000,_maxLatency:5000,_toastQueue:[],_parentElement:null,_toastVisibleClass:'toast-visible',_isBacklogged:function t_isBacklogged(){return this._toastQueue.length>0;},_isBusy:function t_isBusy(){return this._containerElement.classList.contains(this._toastVisibleClass);},_showContainerElement:function t_showContainerElement(){if(this._containerElement){this._containerElement.classList.add(this._toastVisibleClass);this._containerElement.hidden=false;}},_hideContainerElement:function t_hideContainerElement(useTransition){if(this._containerElement){this._containerElement.classList.remove(this._toastVisibleClass);if(!useTransition){this._containerElement.hidden=true;if(this._messageElement){this._messageElement.textContent='';this._messageElement.removeAttribute('data-l10n-id');}}}},_onTransitionEnd:function t_onTransitionEnd(e){if(!Toaster._containerElement.classList.contains(Toaster._toastVisibleClass)){Toaster._hideContainerElement();}},_produceToast:function t_producetToast(messageId,messageArgs,latency,useTransition){this._toastQueue.push({messageL10nId:messageId,messageL10nArgs:messageArgs,latency:Math.min(latency||this._defaultLatency,this._maxLatency),useTransition:useTransition});if(!this._isBusy()){this._consumeToast();}},_consumeToast:function t_consumeToast(){var self=this;var toast=null;if(self._isBacklogged()){toast=self._toastQueue.shift();self._messageElement.textContent='';document.l10n.setAttributes(self._messageElement,toast.messageL10nId,toast.messageL10nArgs);self._showContainerElement();setTimeout(function(){self._hideContainerElement(toast.useTransition);self._consumeToast();},toast.latency);}},_destroy:function t_destroy(){this._toastQueue=[];if(this._containerElement){this._containerElement.removeEventListener('transitionend',Toaster._onTransitionEnd);}
|
||||
if(this._parentElement&&this._containerElement){this._parentElement.removeChild(this._containerElement);}
|
||||
this._messageElement=null;this._containerElement=null;},get containerElement(){return this._containerElement;},get messageElement(){return this._messageElement;},initialize:function t_initialize(parentElement){var existedToastContainer=document.querySelector('section[role="status"]');if(existedToastContainer){existedToastContainer.parentNode.removeChild(existedToastContainer);}
|
||||
this._destroy();this._containerElement=document.createElement('section');this._containerElement.setAttribute('role','status');this._hideContainerElement();this._messageElement=document.createElement('p');this._containerElement.appendChild(this._messageElement);this._parentElement=parentElement||document.body;this._parentElement.appendChild(this._containerElement);this._containerElement.addEventListener('transitionend',Toaster._onTransitionEnd);},isInitialized:function t_isInitialized(){return(this._containerElement&&this._messageElement&&this._toastQueue);},showToast:function t_showToast(options){if(!this.isInitialized()){this.initialize();}
|
||||
this._produceToast(options.messageL10nId,options.messageL10nArgs,options.latency,options.useTransition);}};;'use strict';function enumerateAll(storages,dir,options){var storageIndex=0;var ds_cursor=null;var cursor={continue:function cursor_continue(){ds_cursor.continue();}};function onsuccess(e){cursor.result=e.target.result;if(!cursor.result){storageIndex++;if(storageIndex<storages.length){enumerateNextStorage();return;}}
|
||||
if(cursor.onsuccess){try{cursor.onsuccess(e);}catch(err){console.warn('enumerateAll onsuccess threw',err);}}}
|
||||
function onerror(e){cursor.error=e.target.error;if(cursor.error.name==='NotFoundError'&&storageIndex!==storages.length-1){storageIndex++;enumerateNextStorage();return;}
|
||||
if(cursor.onerror){try{cursor.onerror(e);}catch(err){console.warn('enumerateAll onerror threw',err);}}}
|
||||
function enumerateNextStorage(){ds_cursor=storages[storageIndex].enumerate(dir,options||{});ds_cursor.onsuccess=onsuccess;ds_cursor.onerror=onerror;}
|
||||
enumerateNextStorage();return cursor;};window.COMPONENTS_BASE_URL='/shared/elements/';;(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.GaiaHeader=f()}})(function(){var define,module,exports;return(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){;(function(define){define(function(require,exports,module){'use strict';var debug=0?console.log.bind(console):function(){};var cache={};var MIN=16;var MAX=24;var BUFFER=3;module.exports=function(config){debug('font fit',config);var space=config.space-BUFFER;var min=config.min||MIN;var max=config.max||MAX;var text=trim(config.text);var fontSize=max;var textWidth;var font;do{font=config.font.replace(/\d+px/,fontSize+'px');textWidth=getTextWidth(text,font);}while(textWidth>space&&fontSize!==min&&fontSize--);return{textWidth:textWidth,fontSize:fontSize,overflowing:textWidth>space};};function getTextWidth(text,font){var ctx=getCanvasContext(font);var width=ctx.measureText(text).width;debug('got text width',width);return width;}
|
||||
function getCanvasContext(font){debug('get canvas context',font);var cached=cache[font];if(cached){return cached;}
|
||||
var canvas=document.createElement('canvas');canvas.setAttribute('moz-opaque','true');canvas.setAttribute('width','1px');canvas.setAttribute('height','1px');debug('created canvas',canvas);var ctx=canvas.getContext('2d',{willReadFrequently:true});ctx.font=font;return cache[font]=ctx;}
|
||||
function trim(text){return text.replace(/\s+/g,' ').trim();}});})(typeof define=='function'&&define.amd?define:(function(n,w){'use strict';return typeof module=='object'?function(c){c(require,exports,module);}:function(c){var m={exports:{}};c(function(n){return w[n];},m.exports,m);w[n]=m.exports;};})('font-fit',this));},{}],2:[function(require,module,exports){;(function(define){'use strict';define(function(require,exports,module){var textContent=Object.getOwnPropertyDescriptor(Node.prototype,'textContent');var innerHTML=Object.getOwnPropertyDescriptor(Element.prototype,'innerHTML');var removeAttribute=Element.prototype.removeAttribute;var setAttribute=Element.prototype.setAttribute;var noop=function(){};exports.register=function(name,props){var baseProto=getBaseProto(props.extends);var template=props.template||baseProto.templateString;var extensible=props.extensible=props.hasOwnProperty('extensible')?props.extensible:true;delete props.extends;if(template){if(extensible&&props.template){props.templateString=props.template;}
|
||||
var output=processCss(template,name);props.template=document.createElement('template');props.template.innerHTML=output.template;props.lightCss=output.lightCss;props.globalCss=props.globalCss||'';props.globalCss+=output.globalCss;}
|
||||
injectGlobalCss(props.globalCss);delete props.globalCss;var descriptors=mixin(props.attrs||{},base.descriptors);props._attrs=props.attrs;delete props.attrs;var proto=createProto(baseProto,props);Object.defineProperties(proto,descriptors);try{return document.registerElement(name,{prototype:proto});}catch(e){if(e.name!=='NotSupportedError'){throw e;}}};var base={properties:{GaiaComponent:true,attributeChanged:noop,attached:noop,detached:noop,created:noop,createdCallback:function(){if(this.dirObserver){addDirObserver();}
|
||||
injectLightCss(this);this.created();},attributeChangedCallback:function(name,from,to){var prop=toCamelCase(name);if(this._attrs&&this._attrs[prop]){this[prop]=to;}
|
||||
this.attributeChanged(name,from,to);},attachedCallback:function(){if(this.dirObserver){this.setInnerDirAttributes=setInnerDirAttributes.bind(null,this);document.addEventListener('dirchanged',this.setInnerDirAttributes);}
|
||||
this.attached();},detachedCallback:function(){if(this.dirObserver){document.removeEventListener('dirchanged',this.setInnerDirAttributes);}
|
||||
this.detached();},setupShadowRoot:function(){if(!this.template){return;}
|
||||
var node=document.importNode(this.template.content,true);this.createShadowRoot().appendChild(node);if(this.dirObserver){setInnerDirAttributes(this);}
|
||||
return this.shadowRoot;},setAttr:function(name,value){var internal=this.shadowRoot.firstElementChild;setAttribute.call(internal,name,value);setAttribute.call(this,name,value);},removeAttr:function(name){var internal=this.shadowRoot.firstElementChild;removeAttribute.call(internal,name);removeAttribute.call(this,name);}},descriptors:{textContent:{set:function(value){textContent.set.call(this,value);if(this.lightStyle){this.appendChild(this.lightStyle);}},get:function(){return textContent.get();}},innerHTML:{set:function(value){innerHTML.set.call(this,value);if(this.lightStyle){this.appendChild(this.lightStyle);}},get:innerHTML.get}}};var defaultPrototype=createProto(HTMLElement.prototype,base.properties);function getBaseProto(proto){if(!proto){return defaultPrototype;}
|
||||
proto=proto.prototype||proto;return!proto.GaiaComponent?createProto(proto,base.properties):proto;}
|
||||
function createProto(proto,props){return mixin(Object.create(proto),props);}
|
||||
var hasShadowCSS=(function(){var div=document.createElement('div');try{div.querySelector(':host');div.querySelector('::content');return true;}
|
||||
catch(e){return false;}})();var regex={shadowCss:/(?:\:host|\:\:content)[^{]*\{[^}]*\}/g,':host':/(?:\:host)/g,':host()':/\:host\((.+)\)(?: \:\:content)?/g,':host-context':/\:host-context\((.+)\)([^{,]+)?/g,'::content':/(?:\:\:content)/g};function processCss(template,name){var globalCss='';var lightCss='';if(!hasShadowCSS){template=template.replace(regex.shadowCss,function(match){var hostContext=regex[':host-context'].exec(match);if(hostContext){globalCss+=match.replace(regex['::content'],'').replace(regex[':host-context'],'$1 '+name+'$2').replace(/ +/g,' ');}else{lightCss+=match.replace(regex[':host()'],name+'$1').replace(regex[':host'],name).replace(regex['::content'],name);}
|
||||
return'';});}
|
||||
return{template:template,lightCss:lightCss,globalCss:globalCss};}
|
||||
function injectGlobalCss(css){if(!css){return;}
|
||||
var style=document.createElement('style');style.innerHTML=css.trim();headReady().then(function(){document.head.appendChild(style);});}
|
||||
function headReady(){return new Promise(function(resolve){if(document.head){return resolve();}
|
||||
window.addEventListener('load',function fn(){window.removeEventListener('load',fn);resolve();});});}
|
||||
function injectLightCss(el){if(hasShadowCSS){return;}
|
||||
var stylesheet=el.querySelector('style');if(!stylesheet){stylesheet=document.createElement('style');stylesheet.setAttribute('scoped','');stylesheet.appendChild(document.createTextNode(el.lightCss));el.appendChild(stylesheet);}
|
||||
el.lightStyle=stylesheet;}
|
||||
function toCamelCase(string){return string.replace(/-(.)/g,function replacer(string,p1){return p1.toUpperCase();});}
|
||||
var dirObserver;function setInnerDirAttributes(component){var dir=component.dir||document.dir;Array.from(component.shadowRoot.children).forEach(element=>{if(element.nodeName!=='STYLE'){element.dir=dir;}});}
|
||||
function addDirObserver(){if(dirObserver){return;}
|
||||
dirObserver=new MutationObserver(onChanged);dirObserver.observe(document.documentElement,{attributeFilter:['dir'],attributes:true});function onChanged(mutations){document.dispatchEvent(new Event('dirchanged'));}}
|
||||
function mixin(target,source){for(var key in source){target[key]=source[key];}
|
||||
return target;}});})(typeof define=='function'&&define.amd?define:(function(n,w){'use strict';return typeof module=='object'?function(c){c(require,exports,module);}:function(c){var m={exports:{}};c(function(n){return w[n];},m.exports,m);w[n]=m.exports;};})('gaia-component',this));},{}],3:[function(require,module,exports){(function(define){'use strict';define(function(require,exports,module){var base=window.GAIA_ICONS_BASE_URL||window.COMPONENTS_BASE_URL||'bower_components/';if(!document.documentElement){window.addEventListener('load',load);}else{load();}
|
||||
function load(){if(isLoaded()){return;}
|
||||
var link=document.createElement('link');link.rel='stylesheet';link.type='text/css';link.href=base+'gaia-icons/gaia-icons.css';document.head.appendChild(link);exports.loaded=true;}
|
||||
function isLoaded(){return exports.loaded||document.querySelector('link[href*=gaia-icons]')||document.documentElement.classList.contains('gaia-icons-loaded');}});})(typeof define=='function'&&define.amd?define:(function(n,w){'use strict';return typeof module=='object'?function(c){c(require,exports,module);}:function(c){var m={exports:{}};c(function(n){return w[n];},m.exports,m);w[n]=m.exports;};})('gaia-icons',this));},{}],4:[function(require,module,exports){;(function(define){'use strict';define(function(require,exports,module){var component=require('gaia-component');var fontFit=require('font-fit');require('gaia-icons');var debug=0?console.log.bind(console):function(){};const KNOWN_ACTIONS={menu:'menu',back:'back',close:'close'};const TITLE_FONT='italic 300 24px FiraSans';const TITLE_PADDING=10;const MINIMUM_FONT_SIZE_CENTERED=20;const MINIMUM_FONT_SIZE_UNCENTERED=16;const MAXIMUM_FONT_SIZE=23;module.exports=component.register('gaia-header',{extensible:false,dirObserver:true,created:function(){debug('created');this.setupShadowRoot();this.els={actionButton:this.shadowRoot.querySelector('.action-button'),titles:this.getElementsByTagName('h1')};this.els.actionButton.addEventListener('click',e=>this.onActionButtonClick(e));this.observer=new MutationObserver(this.onMutation.bind(this));this.ignoreDir=this.hasAttribute('ignore-dir');this.titleEnd=this.getAttribute('title-end');this.titleStart=this.getAttribute('title-start');this.noFontFit=this.getAttribute('no-font-fit');this.notFlush=this.hasAttribute('not-flush');this.action=this.getAttribute('action');this.unresolved={};this.pending={};this._resizeThrottlingId=null;this.onResize=this.onResize.bind(this);},attached:function(){debug('attached');this.runFontFitSoon();this.observerStart();window.addEventListener('resize',this.onResize);},detached:function(){debug('detached');window.removeEventListener('resize',this.onResize);this.observerStop();this.clearPending();},clearPending:function(){for(var key in this.pending){this.pending[key].clear();delete this.pending[key];}
|
||||
window.cancelAnimationFrame(this._resizeThrottlingId);this._resizeThrottlingId=null;},runFontFit:function(){debug('run font-fit');if(this.noFontFit){return Promise.resolve();}
|
||||
var titles=this.els.titles;var space=this.getTitleSpace();var styles=[].map.call(titles,el=>this.getTitleStyle(el,space));return this.setTitleStylesSoon(styles);},runFontFitSoon:function(){debug('run font-fit soon');if(this.pending.runFontFitSoon){return;}
|
||||
this.pending.runFontFitSoon=this.nextTick(()=>{delete this.pending.runFontFitSoon;this.runFontFit();});},getTitleStyle:function(el,space){debug('get el style',el,space);var text=el.textContent;var styleId=space.start+text+space.end+'#'+space.value;if(!text||!text.trim()){return debug('exit: no text');}
|
||||
if(getStyleId(el)===styleId){return debug('exit: no change');}
|
||||
var marginStart=this.getTitleMarginStart();var textSpace=space.value-Math.abs(marginStart);var fontFitResult=this.fontFit(text,textSpace,{min:MINIMUM_FONT_SIZE_CENTERED});var overflowing=fontFitResult.overflowing;var padding={start:0,end:0};if(overflowing){debug('title overflowing');padding.start=!space.start?TITLE_PADDING:0;padding.end=!space.end?TITLE_PADDING:0;textSpace=space.value-padding.start-padding.end;fontFitResult=this.fontFit(text,textSpace);marginStart=0;}
|
||||
return{id:styleId,fontSize:fontFitResult.fontSize,marginStart:marginStart,overflowing:overflowing,padding:padding};},setTitleStylesSoon:function(styles){debug('set title styles soon',styles);var key='setStyleTitlesSoon';this._titleStyles=styles;if(this.unresolved[key]){return this.unresolved[key];}
|
||||
this.unresolved[key]=new Promise((resolve)=>{this.pending[key]=this.nextTick(()=>{var styles=this._titleStyles;var els=this.els.titles;[].forEach.call(els,(el,i)=>{if(!styles[i]){return debug('exit');}
|
||||
this.setTitleStyle(el,styles[i]);});delete this._titleStyles;delete this.unresolved[key];delete this.pending[key];resolve();});});},setTitleStyle:function(el,style){debug('set title style',style);this.observerStop();if(this.ignoreDir){el.style.marginLeft=style.marginStart+'px';el.style.paddingLeft=style.padding.start+'px';el.style.paddingRight=style.padding.end+'px';}else{el.style.marginInlineStart=style.marginStart+'px';el.style.paddingInlineStart=style.padding.start+'px';el.style.paddingInlineEnd=style.padding.end+'px';}
|
||||
el.style.fontSize=style.fontSize+'px';setStyleId(el,style.id);this.observerStart();},fontFit:function(text,space,opts={}){debug('font fit:',text,space,opts);var fontFitArgs={font:TITLE_FONT,min:opts.min||MINIMUM_FONT_SIZE_UNCENTERED,max:MAXIMUM_FONT_SIZE,text:text,space:space};return fontFit(fontFitArgs);},observerStart:function(){if(this.observing){return;}
|
||||
this.observer.observe(this,{childList:true,attributes:true,subtree:true});this.observing=true;debug('observer started');},observerStop:function(){if(!this.observing){return;}
|
||||
this.observer.disconnect();this.observing=false;debug('observer stopped');},onResize:function(e){debug('onResize',this._resizeThrottlingId);if(this._resizeThrottlingId!==null){return;}
|
||||
this._resizeThrottlingId=window.requestAnimationFrame(()=>{this._resizeThrottlingId=null;this.runFontFitSoon();});},onMutation:function(mutations){debug('on mutation',mutations);if(!this.pending.runFontFitSoon){this.runFontFit();}},getTitleSpace:function(){var start=this.titleStart;var end=this.titleEnd;var space=this.getWidth()-start-end;var result={value:space,start:start,end:end};debug('get title space',result);return result;},getWidth:function(){var value=this.notFlush?this.clientWidth:window.innerWidth;debug('get width',value);return value;},triggerAction:function(){if(this.action){this.els.actionButton.click();}},onActionButtonClick:function(){debug('action button click');var config={detail:{type:this.action}};var e=new CustomEvent('action',config);setTimeout(()=>this.dispatchEvent(e));},getTitleMarginStart:function(){var start=this.titleStart;var end=this.titleEnd;var marginStart=end-start;debug('get title margin start',marginStart);return marginStart;},getButtonsBeforeTitle:function(){var children=this.children;var l=children.length;var els=[];for(var i=0;i<l;i++){var el=children[i];if(el.tagName==='H1'){break;}
|
||||
if(!contributesToLayout(el)){continue;}
|
||||
els.push(el);}
|
||||
if(this.action){els.push(this.els.actionButton);}
|
||||
return els;},getButtonsAfterTitle:function(){var children=this.children;var els=[];for(var i=children.length-1;i>=0;i--){var el=children[i];if(el.tagName==='H1'){break;}
|
||||
if(!contributesToLayout(el)){continue;}
|
||||
els.push(el);}
|
||||
return els;},sumButtonWidths:function(buttons){var defaultWidth=50;var sum=buttons.reduce((prev,button)=>{var isStandardButton=button===this.els.actionButton;var width=isStandardButton?defaultWidth:button.clientWidth;return prev+width;},0);debug('sum button widths',buttons,sum);return sum;},attrs:{action:{get:function(){return this._action;},set:function(value){var action=KNOWN_ACTIONS[value];if(action===this._action){return;}
|
||||
this.setAttr('action',action);this._action=action;}},titleStart:{get:function(){debug('get title-start');if('_titleStart'in this){return this._titleStart;}
|
||||
var buttons=this.getButtonsBeforeTitle();var value=this.sumButtonWidths(buttons);debug('get title-start',buttons,value);return value;},set:function(value){debug('set title-start',value);value=parseInt(value,10);if(value===this._titleStart||isNaN(value)){return;}
|
||||
this.setAttr('title-start',value);this._titleStart=value;debug('set');}},titleEnd:{get:function(){debug('get title-end');if('_titleEnd'in this){return this._titleEnd;}
|
||||
var buttons=this.getButtonsAfterTitle();return this.sumButtonWidths(buttons);},set:function(value){debug('set title-end',value);value=parseInt(value,10);if(value===this._titleEnd||isNaN(value)){return;}
|
||||
this.setAttr('title-end',value);this._titleEnd=value;}},noFontFit:{get:function(){return this._noFontFit||false;},set:function(value){debug('set no-font-fit',value);value=!!(value||value==='');if(value===this.noFontFit){return;}
|
||||
this._noFontFit=value;if(value){this.setAttr('no-font-fit','');}
|
||||
else{this.removeAttr('no-font-fit');}}},ignoreDir:{get:function(){return this._ignoreDir||false;},set:function(value){debug('set ignore-dir',value);value=!!(value||value==='');if(value===this.ignoreDir){return;}
|
||||
this._ignoreDir=value;this.dirObserver=!value;if(value){this.setAttr('ignore-dir','');}
|
||||
else{this.removeAttr('ignore-dir');}}}},template:`<div class="inner">
|
||||
<button class="action-button">
|
||||
<content select="[l10n-action]"></content>
|
||||
</button>
|
||||
<content></content>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
|
||||
:host {
|
||||
display: block;
|
||||
-moz-user-select: none;
|
||||
|
||||
--gaia-header-button-color:
|
||||
var(--header-button-color,
|
||||
var(--header-color,
|
||||
var(--link-color,
|
||||
inherit)));
|
||||
}
|
||||
|
||||
/**
|
||||
* [hidden]
|
||||
*/
|
||||
|
||||
:host[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/** Reset
|
||||
---------------------------------------------------------*/
|
||||
|
||||
::-moz-focus-inner { border: 0; }
|
||||
|
||||
/** Inner
|
||||
---------------------------------------------------------*/
|
||||
|
||||
.inner {
|
||||
display: flex;
|
||||
min-height: 50px;
|
||||
-moz-user-select: none;
|
||||
|
||||
background:
|
||||
var(--header-background,
|
||||
var(--background,
|
||||
#fff));
|
||||
}
|
||||
|
||||
/** Action Button
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* 1. Hidden by default
|
||||
*/
|
||||
|
||||
.action-button {
|
||||
position: relative;
|
||||
|
||||
display: none; /* 1 */
|
||||
width: 50px;
|
||||
font-size: 30px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
|
||||
align-items: center;
|
||||
background: none;
|
||||
cursor: pointer;
|
||||
transition: opacity 200ms 280ms;
|
||||
color:
|
||||
var(--header-action-button-color,
|
||||
var(--header-icon-color,
|
||||
var(--gaia-header-button-color)));
|
||||
}
|
||||
|
||||
/**
|
||||
* [action=back]
|
||||
* [action=menu]
|
||||
* [action=close]
|
||||
*
|
||||
* 1. For icon vertical-alignment
|
||||
*/
|
||||
|
||||
[action=back] .action-button,
|
||||
[action=menu] .action-button,
|
||||
[action=close] .action-button {
|
||||
display: flex; /* 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* :active
|
||||
*/
|
||||
|
||||
.action-button:active {
|
||||
transition: none;
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
/** Action Button Icon
|
||||
---------------------------------------------------------*/
|
||||
|
||||
.action-button:before {
|
||||
font-family: 'gaia-icons';
|
||||
font-style: normal;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
[action=close] .action-button:before { content: 'close' }
|
||||
[action=menu] .action-button:before { content: 'menu' }
|
||||
|
||||
[action=back]:-moz-dir(ltr) .action-button:before { content: 'left' }
|
||||
[action=back]:-moz-dir(rtl) .action-button:before { content: 'right' }
|
||||
|
||||
/** Action Button Icon
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* 1. To enable vertical alignment.
|
||||
*/
|
||||
|
||||
.action-button:before {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/** Action Button Text
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* To provide custom localized content for
|
||||
* the action-button, we allow the user
|
||||
* to provide an element with the class
|
||||
* .l10n-action. This node is then
|
||||
* pulled inside the real action-button.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* <gaia-header action="back">
|
||||
* <span l10n-action aria-label="Back">Localized text</span>
|
||||
* <h1>title</h1>
|
||||
* </gaia-header>
|
||||
*/
|
||||
|
||||
::content [l10n-action] {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
/** Title
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* 1. Vertically center text. We can't use flexbox
|
||||
* here as it breaks text-overflow ellipsis
|
||||
* without an inner div.
|
||||
*/
|
||||
|
||||
::content h1 {
|
||||
flex: 1;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
text-align: center;
|
||||
line-height: 50px; /* 1 */
|
||||
font-weight: 300;
|
||||
font-style: italic;
|
||||
font-size: 24px;
|
||||
|
||||
color:
|
||||
var(--header-title-color,
|
||||
var(--header-color,
|
||||
var(--title-color,
|
||||
var(--text-color,
|
||||
inherit))));
|
||||
}
|
||||
|
||||
/**
|
||||
* [ignore-dir]
|
||||
*
|
||||
* When the <gaia-header> component has an [ignore-dir] attribute, header
|
||||
* direction is forced to LTR but we still want the <h1> text to be reversed
|
||||
* so that strings like '1 selected' become 'selected 1'.
|
||||
*
|
||||
* When we're happy for <gaia-header> to be fully RTL responsive we won't need
|
||||
* these rules anymore, but this depends on all Gaia apps being ready.
|
||||
*
|
||||
* This should be safe to remove when bug 1179459 lands.
|
||||
*/
|
||||
|
||||
:host[ignore-dir] {
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
:host[ignore-dir]:-moz-dir(rtl) h1 {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
/** Buttons
|
||||
---------------------------------------------------------*/
|
||||
|
||||
::content a,
|
||||
::content button {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
width: auto;
|
||||
height: auto;
|
||||
min-width: 50px;
|
||||
margin: 0;
|
||||
padding: 0 10px;
|
||||
outline: 0;
|
||||
border: 0;
|
||||
|
||||
font-size: 14px;
|
||||
line-height: 1;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
background: none;
|
||||
border-radius: 0;
|
||||
font-style: italic;
|
||||
cursor: pointer;
|
||||
transition: opacity 200ms 280ms;
|
||||
color: var(--gaia-header-button-color);
|
||||
}
|
||||
|
||||
/**
|
||||
* :active
|
||||
*/
|
||||
|
||||
::content a:active,
|
||||
::content button:active {
|
||||
transition: none;
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
/**
|
||||
* [hidden]
|
||||
*/
|
||||
|
||||
::content a[hidden],
|
||||
::content button[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* [disabled]
|
||||
*/
|
||||
|
||||
::content a[disabled],
|
||||
::content button[disabled] {
|
||||
pointer-events: none;
|
||||
color: var(--header-disabled-button-color);
|
||||
}
|
||||
|
||||
/** Icon Buttons
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Icons are a different color to text
|
||||
*/
|
||||
|
||||
::content .icon,
|
||||
::content [data-icon] {
|
||||
color:
|
||||
var(--header-icon-color,
|
||||
var(--gaia-header-button-color));
|
||||
}
|
||||
|
||||
/**
|
||||
* If users want their action button
|
||||
* to be in the component's light-dom
|
||||
* they can add an .action class
|
||||
* to make it look like the
|
||||
* shadow action button.
|
||||
*/
|
||||
|
||||
::content .action {
|
||||
color:
|
||||
var(--header-action-button-color,
|
||||
var(--header-icon-color,
|
||||
var(--gaia-header-button-color)));
|
||||
}
|
||||
|
||||
/**
|
||||
* [data-icon]:empty
|
||||
*
|
||||
* Icon buttons with no textContent,
|
||||
* should always be 50px.
|
||||
*
|
||||
* This is to prevent buttons being
|
||||
* larger than they should be before
|
||||
* icon-font has loaded.
|
||||
*/
|
||||
|
||||
::content [data-icon]:empty {
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
</style>`,nextTick:nextTick});function contributesToLayout(el){return el.localName!=='style'&&!el.hasAttribute('l10n-action');}
|
||||
function setStyleId(el,id){el._styleId=id;}
|
||||
function getStyleId(el){return el._styleId;}
|
||||
function nextTick(fn){var cleared;Promise.resolve().then(()=>{if(!cleared){fn();}});return{clear:function(){cleared=true;}};}});})(typeof define=='function'&&define.amd?define:(function(n,w){'use strict';return typeof module=='object'?function(c){c(require,exports,module);}:function(c){var m={exports:{}};c(function(n){return w[n];},m.exports,m);w[n]=m.exports;};})('gaia-header',this));},{"font-fit":1,"gaia-component":2,"gaia-icons":3}]},{},[4])(4)});;(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.GaiaSubheader=(function(win){var proto=Object.create(HTMLElement.prototype);var baseurl=window.GaiaSubheaderBaseurl||'/shared/elements/gaia_subheader/';proto.createdCallback=function(){ComponentUtils.style.call(this,baseurl);};return document.registerElement('gaia-subheader',{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);;'use strict';window.GaiaMenu=(function(win){var proto=Object.create(HTMLElement.prototype);var baseurl=window.GaiaMenuBaseurl||'/shared/elements/gaia_menu/';proto.createdCallback=function(){var shadow=this.createShadowRoot();this._template=template.content.cloneNode(true);var cancelButton=this._template.querySelector('.gaia-menu-cancel button');cancelButton.addEventListener('click',function(){this.hide();this.dispatchEvent(new CustomEvent('gaiamenu-cancel'));}.bind(this));shadow.appendChild(this._template);ComponentUtils.style.call(this,baseurl);document.l10n.ready.then(this.localize.bind(this));document.addEventListener('DOMRetranslated',this.localize.bind(this));};proto.localize=function(){document.l10n.formatValue('gaia-menu-cancel').then(value=>{this.shadowRoot.querySelector('button').textContent=value;});};proto.show=function(){this.removeAttribute('hidden');};proto.hide=function(){this.setAttribute('hidden','hidden');};var template=document.createElement('template');template.innerHTML=`<form role="dialog" data-type="action">
|
||||
<content select="header"></content>
|
||||
<menu>
|
||||
<content select="button"></content>
|
||||
<span class="gaia-menu-cancel">
|
||||
<button>Cancel</button>
|
||||
</span>
|
||||
</menu>
|
||||
</form>`;return document.registerElement('gaia-menu',{prototype:proto});})(window);;'use strict';var Templates={soundList:function({l10nID}){return Sanitizer.escapeHTML`
|
||||
<section hidden>
|
||||
<gaia-subheader skin="organic">
|
||||
<span data-l10n-id="${l10nID}"></span>
|
||||
</gaia-subheader>
|
||||
<ul data-type="list"></ul>
|
||||
</section>`;},soundItem:function({l10nID,name}){return Sanitizer.escapeHTML`
|
||||
<li>
|
||||
<aside class="pack-end">
|
||||
<a class="actions-button"></a>
|
||||
</aside>
|
||||
<div class="desc">
|
||||
<div class="play-icon"></div>
|
||||
<p class="name"><bdi data-l10n-id="${l10nID}">${name}</bdi></p>
|
||||
</div>
|
||||
</li>`;}};;'use strict';window.systemTones=(function(){function _getSettingsBase(toneType){switch(toneType){case'ringtone':return'dialer.ringtone';case'alerttone':return'notification.ringtone';default:throw new Error('tone type not supported');}}
|
||||
function _getSetting(settingKey){return new Promise(function(resolve,reject){var req=navigator.mozSettings.createLock().get(settingKey);req.onsuccess=function(){resolve(req.result[settingKey]);};req.onerror=function(){reject(req.error);};});}
|
||||
function getDefault(toneType){var settingKey=_getSettingsBase(toneType)+'.default.id';return _getSetting(settingKey).then(function(id){return window.builtInRingtones.get(id);});}
|
||||
function set(toneType,tone){var settingsBase=_getSettingsBase(toneType);return tone.getBlob().then(function(blob){return new Promise(function(resolve,reject){navigator.mozL10n.once(function(){var settings={};var name=tone.l10nID?{l10nID:tone.l10nID}:tone.name;settings[settingsBase]=blob;settings[settingsBase+'.name']=name||'';settings[settingsBase+'.id']=tone.id;var req=navigator.mozSettings.createLock().set(settings);req.onsuccess=function(){resolve();};req.onerror=function(){reject(req.error);};});});});}
|
||||
function isInUse(tone){var inUseAs=[];var getCurrentID=function(toneType){return _getSetting(_getSettingsBase(toneType)+'.id');};return getCurrentID('ringtone').then(function(id){if(tone.id===id){inUseAs.push('ringtone');}
|
||||
return getCurrentID('alerttone').then(function(id){if(tone.id===id){inUseAs.push('alerttone');}
|
||||
return inUseAs;});});}
|
||||
return{getDefault:getDefault,set:set,isInUse:isInUse};})();;'use strict';window.builtInRingtones=(function(){var ID_PREFIX='builtin:';var BASE_URLS={'ringtone':'/shared/resources/media/ringtones/','alerttone':'/shared/resources/media/notifications/'};var mimeTypeMap={'.mp3':'audio/mp3','.mp4':'audio/mp4','.ogg':'audio/ogg','.opus':'audio/ogg'};function inferMimeType(filename){var dot=filename.lastIndexOf('.');if(dot===-1){console.warn('Couldn\'t infer mimetype for '+filename);return'application/octet-stream';}
|
||||
var ext=filename.substr(dot);return mimeTypeMap[ext]||'application/octet-stream';}
|
||||
function BuiltInRingtone(toneType,filename,toneDef){this._toneType=toneType;this._filename=filename;this._l10nID=toneDef.l10nID;}
|
||||
BuiltInRingtone.prototype={get _rootName(){return this._filename.replace(/\.\w+$/,'');},get name(){return navigator.mozL10n.get(this.l10nID);},get filename(){return this._filename;},get l10nID(){return this._l10nID;},get id(){return ID_PREFIX+this._toneType+'/'+this._rootName;},get type(){return this._toneType;},get url(){return BASE_URLS[this._toneType]+this._filename;},get shareable(){return true;},get deletable(){return false;},getBlob:function(){var url=this.url;return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest();xhr.open('GET',url);xhr.overrideMimeType(inferMimeType(url));xhr.responseType='blob';xhr.send();xhr.onload=function(){resolve(xhr.response);};xhr.onerror=function(){var err=new Error('Could not read sound file: '+url+' (status: '+xhr.status+')');console.error(err);reject(err);};});}};function idToToneType(id){var slash=id.indexOf('/');if(id.indexOf(ID_PREFIX)!==0||slash===-1){throw new Error('invalid id: '+id);}
|
||||
return id.substring(ID_PREFIX.length,slash);}
|
||||
function idMatchesFilename(id,toneType,filename){return id===ID_PREFIX+toneType+'/'+filename.replace(/\.\w+$/,'');}
|
||||
var toneDefsCache={};function getSoundFilenames(toneType){if(!(toneType in BASE_URLS)){throw new Error('tone type not supported: '+toneType);}
|
||||
return new Promise(function(resolve,reject){if(toneType in toneDefsCache){resolve(toneDefsCache[toneType]);return;}
|
||||
var xhr=new XMLHttpRequest();xhr.open('GET',BASE_URLS[toneType]+'list.json');xhr.responseType='json';xhr.send(null);xhr.onload=function(){toneDefsCache[toneType]=xhr.response;resolve(xhr.response);};xhr.onerror=function(){var err=new Error('Could not read sounds list for '+toneType+' (status: '+xhr.status+')');console.error(err);reject(err);};});}
|
||||
function list(toneType){return getSoundFilenames(toneType).then(function(toneDefs){var tones=[];for(var filename in toneDefs){tones.push(new BuiltInRingtone(toneType,filename,toneDefs[filename]));}
|
||||
return tones;});}
|
||||
function get(id){return new Promise(function(resolve,reject){var toneType=idToToneType(id);resolve(getSoundFilenames(toneType).then(function(toneDefs){for(var filename in toneDefs){if(idMatchesFilename(id,toneType,filename)){return new BuiltInRingtone(toneType,filename,toneDefs[filename]);}}
|
||||
var err=new Error('No '+toneType+' found with id = '+id);console.error(err);throw err;}));});}
|
||||
return{list:list,get:get,get toneTypes(){return Object.keys(BASE_URLS);}};})();;'use strict';window.customRingtones=(function(){var ID_PREFIX='custom:';function CustomRingtone(info,dbKey){this._name=info.name;if(info.uniqueNum!==0||info.isExplicitNum){this._name+=' ('+info.uniqueNum+')';}
|
||||
this._subtitle=info.subtitle||null;this._id=ID_PREFIX+dbKey;this._blob=info.blob;}
|
||||
CustomRingtone.prototype={get name(){return this._name;},get filename(){return this._blob.name;},get subtitle(){return this._subtitle;},get id(){return this._id;},get type(){return'ringtone';},get url(){return this._url||(this._url=URL.createObjectURL(this._blob));},get shareable(){return true;},get deletable(){return true;},remove:function(){return remove(this.id);},getBlob:function(){return Promise.resolve(this._blob);}};function idToDBKey(id){if(id.indexOf(ID_PREFIX)!==0){throw new Error('invalid id: '+id);}
|
||||
return parseInt(id.substr(ID_PREFIX.length));}
|
||||
var DBNAME='customTones';var DBVERSION=1;var STORENAME='ringtones';var db=null;function withStore(type,callback){if(db){var transaction=db.transaction(STORENAME,type);callback(null,transaction.objectStore(STORENAME),transaction);}else{var openreq=indexedDB.open(DBNAME,DBVERSION);openreq.onerror=function(){console.error('customRingtones: can\'t open database:',openreq.error.name);callback(openreq.error);};openreq.onupgradeneeded=function(){var objStore=openreq.result.createObjectStore(STORENAME,{autoIncrement:true});objStore.createIndex('fullname',['name','subtitle','uniqueNum'],{unique:false});};openreq.onsuccess=function(){db=openreq.result;var transaction=db.transaction(STORENAME,type);callback(null,transaction.objectStore(STORENAME),transaction);};}}
|
||||
function uniqueify(info){return new Promise(function(resolve,reject){withStore('readonly',function(err,store){if(err){reject(err);return;}
|
||||
var nextUniqueNum=info.uniqueNum||0;var index=store.index('fullname');var req=index.openCursor(IDBKeyRange.bound([info.name,info.subtitle,0],[info.name,info.subtitle,Infinity]));req.onsuccess=function(event){var cursor=event.target.result;if(!cursor||nextUniqueNum<cursor.value.uniqueNum){resolve(nextUniqueNum);return;}
|
||||
nextUniqueNum=cursor.value.uniqueNum+1;cursor.continue();};req.onerror=function(){console.error('Error in customRingtones.uniqueify(): ',req.error.name);reject(req.error);};});});}
|
||||
function add(info){var cleanedInfo={name:info.name||'',subtitle:info.subtitle||'',blob:info.blob,uniqueNum:0};var m=/^(.*) \((\d+)\)$/.exec(cleanedInfo.name);if(m){cleanedInfo.name=m[1];cleanedInfo.uniqueNum=m[2];cleanedInfo.isExplicitNum=true;}
|
||||
return uniqueify(cleanedInfo).then(function(uniqueNum){return new Promise(function(resolve,reject){withStore('readwrite',function(err,store,transaction){if(err){reject(err);return;}
|
||||
cleanedInfo.uniqueNum=uniqueNum;var tone;var req=store.add(cleanedInfo);req.onsuccess=function(event){tone=new CustomRingtone(cleanedInfo,event.target.result);};transaction.oncomplete=function(event){resolve(tone);};transaction.onabort=transaction.onerror=function(){console.error('Error in customRingtones.add(): ',transaction.error.name);reject(req.error);};});});});}
|
||||
function remove(id){return new Promise(function(resolve,reject){withStore('readwrite',function(err,store,transaction){if(err){reject(err);return;}
|
||||
var req=store.delete(idToDBKey(id));transaction.oncomplete=function(event){resolve();};transaction.onabort=transaction.onerror=function(){console.error('Error in customRingtones.remove(): ',transaction.error.name);reject(req.error);};});});}
|
||||
function clear(){return new Promise(function(resolve,reject){withStore('readwrite',function(err,store,transaction){if(err){reject(err);return;}
|
||||
var req=store.clear();transaction.oncomplete=function(event){resolve();};transaction.onabort=transaction.onerror=function(){console.error('Error in customRingtones.clear(): ',transaction.error.name);reject(req.error);};});});}
|
||||
function get(id){return new Promise(function(resolve,reject){withStore('readonly',function(err,store){if(err){reject(err);return;}
|
||||
var key=idToDBKey(id);var req=store.get(key);req.onsuccess=function(event){var data=event.target.result;if(!data){resolve(null);}else{resolve(new CustomRingtone(data,key));}};req.onerror=function(){console.error('Error in customRingtones.get(): ',req.error.name);reject(req.error);};});});}
|
||||
function list(toneType){return new Promise(function(resolve,reject){if(toneType==='alerttone'){resolve([]);return;}
|
||||
withStore('readonly',function(err,store){if(err){reject(err);return;}
|
||||
var req=store.openCursor();var results=[];req.onsuccess=function listOnSuccess(event){var cursor=event.target.result;if(cursor){var value=cursor.value;results.push(new CustomRingtone(value,cursor.key));cursor.continue();}else{resolve(results);}};req.onerror=function listOnError(){console.error('Error in customRingtones.list(): ',req.error.name);reject(req.error);};});});}
|
||||
return{add:add,remove:remove,clear:clear,get:get,list:list};})();;'use strict';window.sdCardRingtones=(function(){var ID_PREFIX='sdcard:';var BASE_DIRS={'ringtone':'Ringtones','alerttone':'Notifications'};function pathToType(path){var folder=new RegExp('^(/[^/]*/)?([^/]*)/').exec(path)[2];for(var type in BASE_DIRS){if(BASE_DIRS[type]===folder){return type;}}
|
||||
throw new Error('unexpected SD card folder: '+folder);}
|
||||
function SDCardRingtone(file){var leafname=file.name.substr(file.name.lastIndexOf('/')+1);this._name=leafname.replace(/\.\w+$/,'');this._blob=file;this._type=pathToType(this._blob.name);}
|
||||
SDCardRingtone.prototype={get name(){return this._name;},get filename(){return this._blob.name;},get subtitle(){return navigator.mozL10n.get('sd-card-subtitle');},get id(){return ID_PREFIX+this._blob.name;},get type(){return this._type;},get url(){return this._url||(this._url=URL.createObjectURL(this._blob));},get shareable(){return true;},get deletable(){return true;},remove:function(){return remove(this.id);},getBlob:function(){return Promise.resolve(this._blob);}};function idToFilename(id){return id.substr(ID_PREFIX.length);}
|
||||
var defaultStorage=navigator.getDeviceStorage('music');function remove(id){return new Promise(function(resolve,reject){var request=defaultStorage.delete(idToFilename(id));request.onsuccess=function(){resolve();};request.onerror=function(){console.error('Error in sdCardRingtones.remove(): ',this.error);reject(this.error);};});}
|
||||
function get(id){return new Promise(function(resolve,reject){var request=defaultStorage.get(idToFilename(id));request.onsuccess=function(){resolve(new SDCardRingtone(this.result));};request.onerror=function(){console.error('Error in sdCardRingtones.get(): ',this.error);reject(this.error);};});}
|
||||
function list(toneType){if(!(toneType in BASE_DIRS)){throw new Error('tone type not supported: '+toneType);}
|
||||
return new Promise(function(resolve,reject){var results=[];var sdcards=navigator.getDeviceStorages('music');var cursor=enumerateAll(sdcards,BASE_DIRS[toneType]);cursor.onsuccess=function(){var file=this.result;if(file){if(file.name[0]!=='.'&&file.name.indexOf('/.')===-1){results.push(new SDCardRingtone(file));}
|
||||
this.continue();}else{resolve(results);}};cursor.onerror=function(){if(this.error.name==='NotFoundError'||this.error.name==='TypeMismatchError'){resolve([]);}else{console.error('Error in sdCardRingtones.list(): ',this.error);reject(this.error);}};});}
|
||||
return{remove:remove,get:get,list:list};})();;'use strict';function TonePlayer(){this._currentTone=null;this._isValid=true;this._player=new Audio();this._player.addEventListener('loadedmetadata',function(){if(this._player.src){this._isValid=true;this._player.dispatchEvent(new CustomEvent('validated',{detail:this._isValid}));}}.bind(this));this._player.addEventListener('error',function(){if(this._player.src){this._isValid=false;this._player.dispatchEvent(new CustomEvent('validated',{detail:this._isValid}));}}.bind(this));this._player.addEventListener('ended',function(){this._firePlayingCallback(false);}.bind(this));window.addEventListener('visibilitychange',function(){if(document.hidden){this.stop();this._setExclusiveMode(false);}}.bind(this));}
|
||||
TonePlayer.prototype={setTone:function(tone,callback){if(tone!==this._currentTone){this._firePlayingCallback(false);this._currentTone=tone;this._playingCallback=callback;if(tone&&tone.url){this._isValid=undefined;this._player.src=tone.url;this._player.play();this._firePlayingCallback(true);this._setExclusiveMode(true);}else{this._isValid=true;this._player.removeAttribute('src');this._player.load();}}else{if(!this._isValid){return;}
|
||||
if(this._player.paused||this._player.ended){this._player.currentTime=0;this._player.play();this._firePlayingCallback(true);this._setExclusiveMode(true);}else{this._player.pause();this._firePlayingCallback(false);}}},stop:function(){this._player.pause();this._firePlayingCallback(false);},get currentTone(){return this._currentTone;},isValid:function(callback){if(this._isValid!==undefined){callback(this._isValid);return;}
|
||||
this._player.addEventListener('validated',function validated(event){this.removeEventListener('validated',validated);callback(event.detail);});},_firePlayingCallback:function(playing){if(this._playingCallback){this._playingCallback(playing);}},_setExclusiveMode:function(exclusive){if(exclusive){if(!this._source){this._context=new AudioContext('ringer');this._source=this._context.createMediaElementSource(this._player);this._source.connect(this._context.destination);}}else{if(this._source){this._source.disconnect();this._context=null;this._source=null;}}}};;'use strict';var ToneList=(function(){var NONE_ID='none:none';function toneCompare(a,b){if(a.id===NONE_ID&&b.id===NONE_ID){return 0;}else if(a.id===NONE_ID){return-1;}else if(b.id===NONE_ID){return 1;}
|
||||
var aName=a.name.toLocaleLowerCase();var bName=b.name.toLocaleLowerCase();var cmp=aName.localeCompare(bName);if(cmp){return cmp;}
|
||||
var aSubtitle=(a.subtitle||'').toLocaleLowerCase();var bSubtitle=(b.subtitle||'').toLocaleLowerCase();return aSubtitle.localeCompare(bSubtitle);}
|
||||
function domify(htmlText){var dummyDiv=document.createElement('div');dummyDiv.innerHTML=htmlText;var element=dummyDiv.firstElementChild;return element;}
|
||||
function ToneList(titleID,parent){this.element=domify(Templates.soundList({l10nID:titleID}));if(parent){parent.appendChild(this.element);}
|
||||
this._ul=this.element.querySelector('ul');this._toneMap={};}
|
||||
ToneList.prototype={makeItem:function(tone){var templateArgs={};if(tone.l10nID){templateArgs.l10nID=tone.l10nID;}else{templateArgs.name=tone.name;}
|
||||
var item=domify(Templates.soundItem(templateArgs));item.dataset.id=tone.id;var detailNode=item.querySelector('details');if(detailNode&&tone.subtitle){detailNode.textContent=tone.subtitle;}else if(detailNode){detailNode.parentNode.hideDetails();}else if(tone.subtitle){var subtitle=document.createElement('p');subtitle.classList.add('subtitle');var bdi=document.createElement('bdi');bdi.textContent=tone.subtitle;subtitle.appendChild(bdi);item.querySelector('.name').parentNode.appendChild(subtitle);}
|
||||
return item;},add:function(tones){if(this._ul.children.length===0){if(Array.isArray(tones)){tones.sort(toneCompare);tones.forEach(this._append.bind(this));}else{this._append(tones);}}else{if(Array.isArray(tones)){tones.forEach(this._insertSorted.bind(this));}else{this._insertSorted(tones);}}},remove:function(tone){this._ul.removeChild(this._toneMap[tone.id].element);if(!this._ul.firstChild){this.element.hidden=true;}},_append:function(tone){if(tone.id in this._toneMap){throw new Error('A tone with this ID is already in the list: '+
|
||||
tone.id);}
|
||||
var newItem=this.makeItem(tone);this._toneMap[tone.id]={tone:tone,element:newItem};this.element.hidden=false;this._ul.appendChild(newItem);},_insertSorted:function(tone){if(tone.id in this._toneMap){throw new Error('A tone with this ID is already in the list: '+
|
||||
tone.id);}
|
||||
var newItem=this.makeItem(tone);this._toneMap[tone.id]={tone:tone,element:newItem};this.element.hidden=false;var items=this._ul.querySelectorAll('li');for(var i=0;i<items.length;i++){var currTone=this._toneMap[items[i].dataset.id].tone;if(toneCompare(tone,currTone)<0){this._ul.insertBefore(newItem,items[i]);return;}}
|
||||
this._ul.appendChild(newItem);}};return ToneList;})();;'use strict';function ActionsMenu(menuElement){this._menuElement=menuElement;function getButton(action){return menuElement.querySelector('button[data-action="'+action+'"]');}
|
||||
this._shareButton=getButton('share');this._deleteButton=getButton('delete');this._shareButton.addEventListener('click',this._share.bind(this));this._deleteButton.addEventListener('click',this._delete.bind(this));}
|
||||
ActionsMenu.prototype={open:function(tone,inUseAs,callback){if(!this._menuElement.hidden){throw new Error('actions menu is already open');}
|
||||
if(tone.shareable||tone.deletable){this._tone=tone;this._callback=callback;this._menuElement.hidden=false;this._inUseAs=inUseAs;this._shareButton.hidden=!tone.shareable;this._shareButton.dataset.l10nId='actions-share-'+tone.type;this._deleteButton.hidden=!tone.deletable;this._deleteButton.dataset.l10nId='actions-delete-'+tone.type;}
|
||||
return!this._menuElement.hidden;},_share:function(event){var self=this;this._menuElement.hide();this._tone.getBlob().then(function(blob){var activity=new MozActivity({name:'share',data:{type:'audio/*',__bug1015513_hide_from_self__:true,number:1,blobs:[blob],filenames:[self._tone.filename],metadata:[{title:self._tone.name}]}});activity.onerror=function(e){console.warn('share activity error:',activity.error.name);self._finish('share');};activity.onsuccess=function(e){self._finish('share');};});},_delete:function(event){var self=this;this._menuElement.hide();var messageKey='delete-message';if(self._inUseAs.length){messageKey+='-default-'+self._inUseAs[0];}
|
||||
var cancelButton={title:'delete-cancel',callback:function(){CustomDialog.hide();self._finish('cancel');}};var confirmButton={title:'delete-confirm',callback:function(){CustomDialog.hide();Toaster.showToast({messageL10nId:'deleted-'+self._tone.type,latency:3000,useTransition:true});self._tone.remove();self._finish('delete');}};CustomDialog.show('delete-title',{id:messageKey,args:{tone:self._tone.name}},cancelButton,confirmButton);},_finish:function(command){if(this._callback){this._callback(command);}
|
||||
this._tone=null;this._callback=null;this._inUseAs=null;}};;'use strict';navigator.mozSetMessageHandler('activity',function(activity){var tonePlayer=new TonePlayer();document.getElementById('header').addEventListener('action',function(){tonePlayer.stop();window.close();});function addNewTone(customRingtonesList){tonePlayer.stop();var pickActivity=new MozActivity({name:'pick',data:{type:'audio/*'}});pickActivity.onsuccess=function(){var result=pickActivity.result;var popup=window.open('share.html','share','mozhaidasheet');popup.addEventListener('load',function loaded(){popup.removeEventListener('load',loaded);popup.postMessage(result,window.location.origin);});window.addEventListener('message',function receive(event){window.removeEventListener('message',receive);if(event.origin!==window.location.origin){console.error('Couldn\'t recieve message: origins don\'t match',event.origin,window.location.origin);return;}
|
||||
var data=event.data;if(data.command!=='save'){return;}
|
||||
window.customRingtones.get(data.details.toneID).then(function(tone){customRingtonesList.add(tone);});});};}
|
||||
var actionsMenu=new ActionsMenu(document.getElementById('ringtone-actions'));function ManagerToneList(...args){ToneList.apply(this,args);}
|
||||
ManagerToneList.prototype=Object.create(ToneList.prototype);ManagerToneList.prototype.constructor=ManagerToneList;ManagerToneList.prototype.makeItem=function(tone){var item=ToneList.prototype.makeItem.call(this,tone);item.querySelector('.desc').addEventListener('click',function(){tonePlayer.setTone(tone,function(playing){item.dataset.playing=playing;});});var self=this;var actionsButton=item.querySelector('.actions-button');actionsButton.addEventListener('click',function(){tonePlayer.stop();window.systemTones.isInUse(tone).then(function(inUseAs){actionsMenu.open(tone,inUseAs,function(command){if(command==='delete'){self.remove(tone);inUseAs.forEach(function(toneType){window.systemTones.getDefault(toneType).then(function(tone){window.systemTones.set(toneType,tone);});});}});});});return item;};navigator.mozL10n.once(function(){var promises=[];var listParent=document.getElementById('list-parent');window.builtInRingtones.toneTypes.forEach(function(toneType){var builtInList=new ManagerToneList('section-title-builtin-'+toneType,listParent);promises.push(window.builtInRingtones.list(toneType).then(function(tones){builtInList.add(tones);}));var customList=new ManagerToneList('section-title-custom-'+toneType,listParent);promises.push(window.customRingtones.list(toneType).then(function(tones){customList.add(tones);if(toneType==='ringtone'){document.getElementById('add').addEventListener('click',addNewTone.bind(null,customList));}}));promises.push(window.sdCardRingtones.list(toneType).then(function(tones){customList.add(tones);}));});Promise.all(promises).then(function(){document.querySelector('body').dataset.ready=true;});});});
|
||||
467
assets/webapps/ringtones.gaiamobile.org/gaia_build_defer_pick.js
Normal file
467
assets/webapps/ringtones.gaiamobile.org/gaia_build_defer_pick.js
Normal file
|
|
@ -0,0 +1,467 @@
|
|||
;;(function(root,factory){'use strict';if(typeof define==='function'&&define.amd){define(factory);}else if(typeof exports==='object'){module.exports=factory();}else{root.Sanitizer=factory();}}(this,function(){'use strict';var Sanitizer={_entity:/[&<>"'/]/g,_entities:{'&':'&','<':'<','>':'>','"':'"','\'':''','/':'/'},getEntity:function(s){return Sanitizer._entities[s];},escapeHTML:function(strings,...values){var result='';for(var i=0;i<strings.length;i++){result+=strings[i];if(i<values.length){result+=String(values[i]).replace(Sanitizer._entity,Sanitizer.getEntity);}}
|
||||
return result;},createSafeHTML:function(strings,...values){var escaped=Sanitizer.escapeHTML(strings,...values);return{__html:escaped,toString:function(){return'[object WrappedHTMLObject]';},info:'This is a wrapped HTML object. See https://developer.mozilla.or'+'g/en-US/Firefox_OS/Security/Security_Automation for more.'};},unwrapSafeHTML:function(...htmlObjects){var markupList=htmlObjects.map(function(obj){return obj.__html;});return markupList.join('');}};return Sanitizer;}));;;'use strict';function enumerateAll(storages,dir,options){var storageIndex=0;var ds_cursor=null;var cursor={continue:function cursor_continue(){ds_cursor.continue();}};function onsuccess(e){cursor.result=e.target.result;if(!cursor.result){storageIndex++;if(storageIndex<storages.length){enumerateNextStorage();return;}}
|
||||
if(cursor.onsuccess){try{cursor.onsuccess(e);}catch(err){console.warn('enumerateAll onsuccess threw',err);}}}
|
||||
function onerror(e){cursor.error=e.target.error;if(cursor.error.name==='NotFoundError'&&storageIndex!==storages.length-1){storageIndex++;enumerateNextStorage();return;}
|
||||
if(cursor.onerror){try{cursor.onerror(e);}catch(err){console.warn('enumerateAll onerror threw',err);}}}
|
||||
function enumerateNextStorage(){ds_cursor=storages[storageIndex].enumerate(dir,options||{});ds_cursor.onsuccess=onsuccess;ds_cursor.onerror=onerror;}
|
||||
enumerateNextStorage();return cursor;};;;window.COMPONENTS_BASE_URL='/shared/elements/';;;;(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.GaiaHeader=f()}})(function(){var define,module,exports;return(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){;(function(define){define(function(require,exports,module){'use strict';var debug=0?console.log.bind(console):function(){};var cache={};var MIN=16;var MAX=24;var BUFFER=3;module.exports=function(config){debug('font fit',config);var space=config.space-BUFFER;var min=config.min||MIN;var max=config.max||MAX;var text=trim(config.text);var fontSize=max;var textWidth;var font;do{font=config.font.replace(/\d+px/,fontSize+'px');textWidth=getTextWidth(text,font);}while(textWidth>space&&fontSize!==min&&fontSize--);return{textWidth:textWidth,fontSize:fontSize,overflowing:textWidth>space};};function getTextWidth(text,font){var ctx=getCanvasContext(font);var width=ctx.measureText(text).width;debug('got text width',width);return width;}
|
||||
function getCanvasContext(font){debug('get canvas context',font);var cached=cache[font];if(cached){return cached;}
|
||||
var canvas=document.createElement('canvas');canvas.setAttribute('moz-opaque','true');canvas.setAttribute('width','1px');canvas.setAttribute('height','1px');debug('created canvas',canvas);var ctx=canvas.getContext('2d',{willReadFrequently:true});ctx.font=font;return cache[font]=ctx;}
|
||||
function trim(text){return text.replace(/\s+/g,' ').trim();}});})(typeof define=='function'&&define.amd?define:(function(n,w){'use strict';return typeof module=='object'?function(c){c(require,exports,module);}:function(c){var m={exports:{}};c(function(n){return w[n];},m.exports,m);w[n]=m.exports;};})('font-fit',this));},{}],2:[function(require,module,exports){;(function(define){'use strict';define(function(require,exports,module){var textContent=Object.getOwnPropertyDescriptor(Node.prototype,'textContent');var innerHTML=Object.getOwnPropertyDescriptor(Element.prototype,'innerHTML');var removeAttribute=Element.prototype.removeAttribute;var setAttribute=Element.prototype.setAttribute;var noop=function(){};exports.register=function(name,props){var baseProto=getBaseProto(props.extends);var template=props.template||baseProto.templateString;var extensible=props.extensible=props.hasOwnProperty('extensible')?props.extensible:true;delete props.extends;if(template){if(extensible&&props.template){props.templateString=props.template;}
|
||||
var output=processCss(template,name);props.template=document.createElement('template');props.template.innerHTML=output.template;props.lightCss=output.lightCss;props.globalCss=props.globalCss||'';props.globalCss+=output.globalCss;}
|
||||
injectGlobalCss(props.globalCss);delete props.globalCss;var descriptors=mixin(props.attrs||{},base.descriptors);props._attrs=props.attrs;delete props.attrs;var proto=createProto(baseProto,props);Object.defineProperties(proto,descriptors);try{return document.registerElement(name,{prototype:proto});}catch(e){if(e.name!=='NotSupportedError'){throw e;}}};var base={properties:{GaiaComponent:true,attributeChanged:noop,attached:noop,detached:noop,created:noop,createdCallback:function(){if(this.dirObserver){addDirObserver();}
|
||||
injectLightCss(this);this.created();},attributeChangedCallback:function(name,from,to){var prop=toCamelCase(name);if(this._attrs&&this._attrs[prop]){this[prop]=to;}
|
||||
this.attributeChanged(name,from,to);},attachedCallback:function(){if(this.dirObserver){this.setInnerDirAttributes=setInnerDirAttributes.bind(null,this);document.addEventListener('dirchanged',this.setInnerDirAttributes);}
|
||||
this.attached();},detachedCallback:function(){if(this.dirObserver){document.removeEventListener('dirchanged',this.setInnerDirAttributes);}
|
||||
this.detached();},setupShadowRoot:function(){if(!this.template){return;}
|
||||
var node=document.importNode(this.template.content,true);this.createShadowRoot().appendChild(node);if(this.dirObserver){setInnerDirAttributes(this);}
|
||||
return this.shadowRoot;},setAttr:function(name,value){var internal=this.shadowRoot.firstElementChild;setAttribute.call(internal,name,value);setAttribute.call(this,name,value);},removeAttr:function(name){var internal=this.shadowRoot.firstElementChild;removeAttribute.call(internal,name);removeAttribute.call(this,name);}},descriptors:{textContent:{set:function(value){textContent.set.call(this,value);if(this.lightStyle){this.appendChild(this.lightStyle);}},get:function(){return textContent.get();}},innerHTML:{set:function(value){innerHTML.set.call(this,value);if(this.lightStyle){this.appendChild(this.lightStyle);}},get:innerHTML.get}}};var defaultPrototype=createProto(HTMLElement.prototype,base.properties);function getBaseProto(proto){if(!proto){return defaultPrototype;}
|
||||
proto=proto.prototype||proto;return!proto.GaiaComponent?createProto(proto,base.properties):proto;}
|
||||
function createProto(proto,props){return mixin(Object.create(proto),props);}
|
||||
var hasShadowCSS=(function(){var div=document.createElement('div');try{div.querySelector(':host');div.querySelector('::content');return true;}
|
||||
catch(e){return false;}})();var regex={shadowCss:/(?:\:host|\:\:content)[^{]*\{[^}]*\}/g,':host':/(?:\:host)/g,':host()':/\:host\((.+)\)(?: \:\:content)?/g,':host-context':/\:host-context\((.+)\)([^{,]+)?/g,'::content':/(?:\:\:content)/g};function processCss(template,name){var globalCss='';var lightCss='';if(!hasShadowCSS){template=template.replace(regex.shadowCss,function(match){var hostContext=regex[':host-context'].exec(match);if(hostContext){globalCss+=match.replace(regex['::content'],'').replace(regex[':host-context'],'$1 '+name+'$2').replace(/ +/g,' ');}else{lightCss+=match.replace(regex[':host()'],name+'$1').replace(regex[':host'],name).replace(regex['::content'],name);}
|
||||
return'';});}
|
||||
return{template:template,lightCss:lightCss,globalCss:globalCss};}
|
||||
function injectGlobalCss(css){if(!css){return;}
|
||||
var style=document.createElement('style');style.innerHTML=css.trim();headReady().then(function(){document.head.appendChild(style);});}
|
||||
function headReady(){return new Promise(function(resolve){if(document.head){return resolve();}
|
||||
window.addEventListener('load',function fn(){window.removeEventListener('load',fn);resolve();});});}
|
||||
function injectLightCss(el){if(hasShadowCSS){return;}
|
||||
var stylesheet=el.querySelector('style');if(!stylesheet){stylesheet=document.createElement('style');stylesheet.setAttribute('scoped','');stylesheet.appendChild(document.createTextNode(el.lightCss));el.appendChild(stylesheet);}
|
||||
el.lightStyle=stylesheet;}
|
||||
function toCamelCase(string){return string.replace(/-(.)/g,function replacer(string,p1){return p1.toUpperCase();});}
|
||||
var dirObserver;function setInnerDirAttributes(component){var dir=component.dir||document.dir;Array.from(component.shadowRoot.children).forEach(element=>{if(element.nodeName!=='STYLE'){element.dir=dir;}});}
|
||||
function addDirObserver(){if(dirObserver){return;}
|
||||
dirObserver=new MutationObserver(onChanged);dirObserver.observe(document.documentElement,{attributeFilter:['dir'],attributes:true});function onChanged(mutations){document.dispatchEvent(new Event('dirchanged'));}}
|
||||
function mixin(target,source){for(var key in source){target[key]=source[key];}
|
||||
return target;}});})(typeof define=='function'&&define.amd?define:(function(n,w){'use strict';return typeof module=='object'?function(c){c(require,exports,module);}:function(c){var m={exports:{}};c(function(n){return w[n];},m.exports,m);w[n]=m.exports;};})('gaia-component',this));},{}],3:[function(require,module,exports){(function(define){'use strict';define(function(require,exports,module){var base=window.GAIA_ICONS_BASE_URL||window.COMPONENTS_BASE_URL||'bower_components/';if(!document.documentElement){window.addEventListener('load',load);}else{load();}
|
||||
function load(){if(isLoaded()){return;}
|
||||
var link=document.createElement('link');link.rel='stylesheet';link.type='text/css';link.href=base+'gaia-icons/gaia-icons.css';document.head.appendChild(link);exports.loaded=true;}
|
||||
function isLoaded(){return exports.loaded||document.querySelector('link[href*=gaia-icons]')||document.documentElement.classList.contains('gaia-icons-loaded');}});})(typeof define=='function'&&define.amd?define:(function(n,w){'use strict';return typeof module=='object'?function(c){c(require,exports,module);}:function(c){var m={exports:{}};c(function(n){return w[n];},m.exports,m);w[n]=m.exports;};})('gaia-icons',this));},{}],4:[function(require,module,exports){;(function(define){'use strict';define(function(require,exports,module){var component=require('gaia-component');var fontFit=require('font-fit');require('gaia-icons');var debug=0?console.log.bind(console):function(){};const KNOWN_ACTIONS={menu:'menu',back:'back',close:'close'};const TITLE_FONT='italic 300 24px FiraSans';const TITLE_PADDING=10;const MINIMUM_FONT_SIZE_CENTERED=20;const MINIMUM_FONT_SIZE_UNCENTERED=16;const MAXIMUM_FONT_SIZE=23;module.exports=component.register('gaia-header',{extensible:false,dirObserver:true,created:function(){debug('created');this.setupShadowRoot();this.els={actionButton:this.shadowRoot.querySelector('.action-button'),titles:this.getElementsByTagName('h1')};this.els.actionButton.addEventListener('click',e=>this.onActionButtonClick(e));this.observer=new MutationObserver(this.onMutation.bind(this));this.ignoreDir=this.hasAttribute('ignore-dir');this.titleEnd=this.getAttribute('title-end');this.titleStart=this.getAttribute('title-start');this.noFontFit=this.getAttribute('no-font-fit');this.notFlush=this.hasAttribute('not-flush');this.action=this.getAttribute('action');this.unresolved={};this.pending={};this._resizeThrottlingId=null;this.onResize=this.onResize.bind(this);},attached:function(){debug('attached');this.runFontFitSoon();this.observerStart();window.addEventListener('resize',this.onResize);},detached:function(){debug('detached');window.removeEventListener('resize',this.onResize);this.observerStop();this.clearPending();},clearPending:function(){for(var key in this.pending){this.pending[key].clear();delete this.pending[key];}
|
||||
window.cancelAnimationFrame(this._resizeThrottlingId);this._resizeThrottlingId=null;},runFontFit:function(){debug('run font-fit');if(this.noFontFit){return Promise.resolve();}
|
||||
var titles=this.els.titles;var space=this.getTitleSpace();var styles=[].map.call(titles,el=>this.getTitleStyle(el,space));return this.setTitleStylesSoon(styles);},runFontFitSoon:function(){debug('run font-fit soon');if(this.pending.runFontFitSoon){return;}
|
||||
this.pending.runFontFitSoon=this.nextTick(()=>{delete this.pending.runFontFitSoon;this.runFontFit();});},getTitleStyle:function(el,space){debug('get el style',el,space);var text=el.textContent;var styleId=space.start+text+space.end+'#'+space.value;if(!text||!text.trim()){return debug('exit: no text');}
|
||||
if(getStyleId(el)===styleId){return debug('exit: no change');}
|
||||
var marginStart=this.getTitleMarginStart();var textSpace=space.value-Math.abs(marginStart);var fontFitResult=this.fontFit(text,textSpace,{min:MINIMUM_FONT_SIZE_CENTERED});var overflowing=fontFitResult.overflowing;var padding={start:0,end:0};if(overflowing){debug('title overflowing');padding.start=!space.start?TITLE_PADDING:0;padding.end=!space.end?TITLE_PADDING:0;textSpace=space.value-padding.start-padding.end;fontFitResult=this.fontFit(text,textSpace);marginStart=0;}
|
||||
return{id:styleId,fontSize:fontFitResult.fontSize,marginStart:marginStart,overflowing:overflowing,padding:padding};},setTitleStylesSoon:function(styles){debug('set title styles soon',styles);var key='setStyleTitlesSoon';this._titleStyles=styles;if(this.unresolved[key]){return this.unresolved[key];}
|
||||
this.unresolved[key]=new Promise((resolve)=>{this.pending[key]=this.nextTick(()=>{var styles=this._titleStyles;var els=this.els.titles;[].forEach.call(els,(el,i)=>{if(!styles[i]){return debug('exit');}
|
||||
this.setTitleStyle(el,styles[i]);});delete this._titleStyles;delete this.unresolved[key];delete this.pending[key];resolve();});});},setTitleStyle:function(el,style){debug('set title style',style);this.observerStop();if(this.ignoreDir){el.style.marginLeft=style.marginStart+'px';el.style.paddingLeft=style.padding.start+'px';el.style.paddingRight=style.padding.end+'px';}else{el.style.marginInlineStart=style.marginStart+'px';el.style.paddingInlineStart=style.padding.start+'px';el.style.paddingInlineEnd=style.padding.end+'px';}
|
||||
el.style.fontSize=style.fontSize+'px';setStyleId(el,style.id);this.observerStart();},fontFit:function(text,space,opts={}){debug('font fit:',text,space,opts);var fontFitArgs={font:TITLE_FONT,min:opts.min||MINIMUM_FONT_SIZE_UNCENTERED,max:MAXIMUM_FONT_SIZE,text:text,space:space};return fontFit(fontFitArgs);},observerStart:function(){if(this.observing){return;}
|
||||
this.observer.observe(this,{childList:true,attributes:true,subtree:true});this.observing=true;debug('observer started');},observerStop:function(){if(!this.observing){return;}
|
||||
this.observer.disconnect();this.observing=false;debug('observer stopped');},onResize:function(e){debug('onResize',this._resizeThrottlingId);if(this._resizeThrottlingId!==null){return;}
|
||||
this._resizeThrottlingId=window.requestAnimationFrame(()=>{this._resizeThrottlingId=null;this.runFontFitSoon();});},onMutation:function(mutations){debug('on mutation',mutations);if(!this.pending.runFontFitSoon){this.runFontFit();}},getTitleSpace:function(){var start=this.titleStart;var end=this.titleEnd;var space=this.getWidth()-start-end;var result={value:space,start:start,end:end};debug('get title space',result);return result;},getWidth:function(){var value=this.notFlush?this.clientWidth:window.innerWidth;debug('get width',value);return value;},triggerAction:function(){if(this.action){this.els.actionButton.click();}},onActionButtonClick:function(){debug('action button click');var config={detail:{type:this.action}};var e=new CustomEvent('action',config);setTimeout(()=>this.dispatchEvent(e));},getTitleMarginStart:function(){var start=this.titleStart;var end=this.titleEnd;var marginStart=end-start;debug('get title margin start',marginStart);return marginStart;},getButtonsBeforeTitle:function(){var children=this.children;var l=children.length;var els=[];for(var i=0;i<l;i++){var el=children[i];if(el.tagName==='H1'){break;}
|
||||
if(!contributesToLayout(el)){continue;}
|
||||
els.push(el);}
|
||||
if(this.action){els.push(this.els.actionButton);}
|
||||
return els;},getButtonsAfterTitle:function(){var children=this.children;var els=[];for(var i=children.length-1;i>=0;i--){var el=children[i];if(el.tagName==='H1'){break;}
|
||||
if(!contributesToLayout(el)){continue;}
|
||||
els.push(el);}
|
||||
return els;},sumButtonWidths:function(buttons){var defaultWidth=50;var sum=buttons.reduce((prev,button)=>{var isStandardButton=button===this.els.actionButton;var width=isStandardButton?defaultWidth:button.clientWidth;return prev+width;},0);debug('sum button widths',buttons,sum);return sum;},attrs:{action:{get:function(){return this._action;},set:function(value){var action=KNOWN_ACTIONS[value];if(action===this._action){return;}
|
||||
this.setAttr('action',action);this._action=action;}},titleStart:{get:function(){debug('get title-start');if('_titleStart'in this){return this._titleStart;}
|
||||
var buttons=this.getButtonsBeforeTitle();var value=this.sumButtonWidths(buttons);debug('get title-start',buttons,value);return value;},set:function(value){debug('set title-start',value);value=parseInt(value,10);if(value===this._titleStart||isNaN(value)){return;}
|
||||
this.setAttr('title-start',value);this._titleStart=value;debug('set');}},titleEnd:{get:function(){debug('get title-end');if('_titleEnd'in this){return this._titleEnd;}
|
||||
var buttons=this.getButtonsAfterTitle();return this.sumButtonWidths(buttons);},set:function(value){debug('set title-end',value);value=parseInt(value,10);if(value===this._titleEnd||isNaN(value)){return;}
|
||||
this.setAttr('title-end',value);this._titleEnd=value;}},noFontFit:{get:function(){return this._noFontFit||false;},set:function(value){debug('set no-font-fit',value);value=!!(value||value==='');if(value===this.noFontFit){return;}
|
||||
this._noFontFit=value;if(value){this.setAttr('no-font-fit','');}
|
||||
else{this.removeAttr('no-font-fit');}}},ignoreDir:{get:function(){return this._ignoreDir||false;},set:function(value){debug('set ignore-dir',value);value=!!(value||value==='');if(value===this.ignoreDir){return;}
|
||||
this._ignoreDir=value;this.dirObserver=!value;if(value){this.setAttr('ignore-dir','');}
|
||||
else{this.removeAttr('ignore-dir');}}}},template:`<div class="inner">
|
||||
<button class="action-button">
|
||||
<content select="[l10n-action]"></content>
|
||||
</button>
|
||||
<content></content>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
|
||||
:host {
|
||||
display: block;
|
||||
-moz-user-select: none;
|
||||
|
||||
--gaia-header-button-color:
|
||||
var(--header-button-color,
|
||||
var(--header-color,
|
||||
var(--link-color,
|
||||
inherit)));
|
||||
}
|
||||
|
||||
/**
|
||||
* [hidden]
|
||||
*/
|
||||
|
||||
:host[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/** Reset
|
||||
---------------------------------------------------------*/
|
||||
|
||||
::-moz-focus-inner { border: 0; }
|
||||
|
||||
/** Inner
|
||||
---------------------------------------------------------*/
|
||||
|
||||
.inner {
|
||||
display: flex;
|
||||
min-height: 50px;
|
||||
-moz-user-select: none;
|
||||
|
||||
background:
|
||||
var(--header-background,
|
||||
var(--background,
|
||||
#fff));
|
||||
}
|
||||
|
||||
/** Action Button
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* 1. Hidden by default
|
||||
*/
|
||||
|
||||
.action-button {
|
||||
position: relative;
|
||||
|
||||
display: none; /* 1 */
|
||||
width: 50px;
|
||||
font-size: 30px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
|
||||
align-items: center;
|
||||
background: none;
|
||||
cursor: pointer;
|
||||
transition: opacity 200ms 280ms;
|
||||
color:
|
||||
var(--header-action-button-color,
|
||||
var(--header-icon-color,
|
||||
var(--gaia-header-button-color)));
|
||||
}
|
||||
|
||||
/**
|
||||
* [action=back]
|
||||
* [action=menu]
|
||||
* [action=close]
|
||||
*
|
||||
* 1. For icon vertical-alignment
|
||||
*/
|
||||
|
||||
[action=back] .action-button,
|
||||
[action=menu] .action-button,
|
||||
[action=close] .action-button {
|
||||
display: flex; /* 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* :active
|
||||
*/
|
||||
|
||||
.action-button:active {
|
||||
transition: none;
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
/** Action Button Icon
|
||||
---------------------------------------------------------*/
|
||||
|
||||
.action-button:before {
|
||||
font-family: 'gaia-icons';
|
||||
font-style: normal;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
[action=close] .action-button:before { content: 'close' }
|
||||
[action=menu] .action-button:before { content: 'menu' }
|
||||
|
||||
[action=back]:-moz-dir(ltr) .action-button:before { content: 'left' }
|
||||
[action=back]:-moz-dir(rtl) .action-button:before { content: 'right' }
|
||||
|
||||
/** Action Button Icon
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* 1. To enable vertical alignment.
|
||||
*/
|
||||
|
||||
.action-button:before {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/** Action Button Text
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* To provide custom localized content for
|
||||
* the action-button, we allow the user
|
||||
* to provide an element with the class
|
||||
* .l10n-action. This node is then
|
||||
* pulled inside the real action-button.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* <gaia-header action="back">
|
||||
* <span l10n-action aria-label="Back">Localized text</span>
|
||||
* <h1>title</h1>
|
||||
* </gaia-header>
|
||||
*/
|
||||
|
||||
::content [l10n-action] {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
/** Title
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* 1. Vertically center text. We can't use flexbox
|
||||
* here as it breaks text-overflow ellipsis
|
||||
* without an inner div.
|
||||
*/
|
||||
|
||||
::content h1 {
|
||||
flex: 1;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
text-align: center;
|
||||
line-height: 50px; /* 1 */
|
||||
font-weight: 300;
|
||||
font-style: italic;
|
||||
font-size: 24px;
|
||||
|
||||
color:
|
||||
var(--header-title-color,
|
||||
var(--header-color,
|
||||
var(--title-color,
|
||||
var(--text-color,
|
||||
inherit))));
|
||||
}
|
||||
|
||||
/**
|
||||
* [ignore-dir]
|
||||
*
|
||||
* When the <gaia-header> component has an [ignore-dir] attribute, header
|
||||
* direction is forced to LTR but we still want the <h1> text to be reversed
|
||||
* so that strings like '1 selected' become 'selected 1'.
|
||||
*
|
||||
* When we're happy for <gaia-header> to be fully RTL responsive we won't need
|
||||
* these rules anymore, but this depends on all Gaia apps being ready.
|
||||
*
|
||||
* This should be safe to remove when bug 1179459 lands.
|
||||
*/
|
||||
|
||||
:host[ignore-dir] {
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
:host[ignore-dir]:-moz-dir(rtl) h1 {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
/** Buttons
|
||||
---------------------------------------------------------*/
|
||||
|
||||
::content a,
|
||||
::content button {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
width: auto;
|
||||
height: auto;
|
||||
min-width: 50px;
|
||||
margin: 0;
|
||||
padding: 0 10px;
|
||||
outline: 0;
|
||||
border: 0;
|
||||
|
||||
font-size: 14px;
|
||||
line-height: 1;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
background: none;
|
||||
border-radius: 0;
|
||||
font-style: italic;
|
||||
cursor: pointer;
|
||||
transition: opacity 200ms 280ms;
|
||||
color: var(--gaia-header-button-color);
|
||||
}
|
||||
|
||||
/**
|
||||
* :active
|
||||
*/
|
||||
|
||||
::content a:active,
|
||||
::content button:active {
|
||||
transition: none;
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
/**
|
||||
* [hidden]
|
||||
*/
|
||||
|
||||
::content a[hidden],
|
||||
::content button[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* [disabled]
|
||||
*/
|
||||
|
||||
::content a[disabled],
|
||||
::content button[disabled] {
|
||||
pointer-events: none;
|
||||
color: var(--header-disabled-button-color);
|
||||
}
|
||||
|
||||
/** Icon Buttons
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Icons are a different color to text
|
||||
*/
|
||||
|
||||
::content .icon,
|
||||
::content [data-icon] {
|
||||
color:
|
||||
var(--header-icon-color,
|
||||
var(--gaia-header-button-color));
|
||||
}
|
||||
|
||||
/**
|
||||
* If users want their action button
|
||||
* to be in the component's light-dom
|
||||
* they can add an .action class
|
||||
* to make it look like the
|
||||
* shadow action button.
|
||||
*/
|
||||
|
||||
::content .action {
|
||||
color:
|
||||
var(--header-action-button-color,
|
||||
var(--header-icon-color,
|
||||
var(--gaia-header-button-color)));
|
||||
}
|
||||
|
||||
/**
|
||||
* [data-icon]:empty
|
||||
*
|
||||
* Icon buttons with no textContent,
|
||||
* should always be 50px.
|
||||
*
|
||||
* This is to prevent buttons being
|
||||
* larger than they should be before
|
||||
* icon-font has loaded.
|
||||
*/
|
||||
|
||||
::content [data-icon]:empty {
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
</style>`,nextTick:nextTick});function contributesToLayout(el){return el.localName!=='style'&&!el.hasAttribute('l10n-action');}
|
||||
function setStyleId(el,id){el._styleId=id;}
|
||||
function getStyleId(el){return el._styleId;}
|
||||
function nextTick(fn){var cleared;Promise.resolve().then(()=>{if(!cleared){fn();}});return{clear:function(){cleared=true;}};}});})(typeof define=='function'&&define.amd?define:(function(n,w){'use strict';return typeof module=='object'?function(c){c(require,exports,module);}:function(c){var m={exports:{}};c(function(n){return w[n];},m.exports,m);w[n]=m.exports;};})('gaia-header',this));},{"font-fit":1,"gaia-component":2,"gaia-icons":3}]},{},[4])(4)});;;;(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.GaiaSubheader=(function(win){var proto=Object.create(HTMLElement.prototype);var baseurl=window.GaiaSubheaderBaseurl||'/shared/elements/gaia_subheader/';proto.createdCallback=function(){ComponentUtils.style.call(this,baseurl);};return document.registerElement('gaia-subheader',{prototype:proto});})(window);;'use strict';window.GaiaRadio=(function(win){var proto=Object.create(HTMLElement.prototype);var baseurl=window.GaiaRadioBaseurl||'/shared/elements/gaia_radio/';proto.createdCallback=function(){var shadow=this.createShadowRoot();this._template=template.content.cloneNode(true);this._wrapper=this._template.getElementById('radio');this._wrapper.addEventListener('click',this.handleClick.bind(this));if(this.dataset.role){this._wrapper.setAttribute('role',this.dataset.role);}
|
||||
if(!this.hasAttribute('role')){this.setAttribute('role','presentation');}
|
||||
this.configureClass();shadow.appendChild(this._template);this.checked=this.hasAttribute('checked');this._wrapper.setAttribute('aria-checked',this.checked);setTimeout(function nextTick(){var label=this.querySelector('label, p');if(!label){return;}
|
||||
label.addEventListener('click',this.handleClick.bind(this));}.bind(this));ComponentUtils.style.call(this,baseurl);var dirObserver=new MutationObserver(this.updateInternalDir.bind(this));dirObserver.observe(document.documentElement,{attributeFilter:['dir'],attributes:true});this.updateInternalDir();};proto.updateInternalDir=function(){var internal=this.shadowRoot.firstElementChild;if(document.documentElement.dir==='rtl'){internal.setAttribute('dir','rtl');}else{internal.removeAttribute('dir');}};proto.handleClick=function(e){e.stopImmediatePropagation();var event=new MouseEvent('click',{view:window,bubbles:true,cancelable:true});this.dispatchEvent(event);if(this.checked){return;}
|
||||
if(!event.defaultPrevented){this.checked=!this.checked;}
|
||||
this.dispatchEvent(new CustomEvent('change',{bubbles:true,cancelable:false}));};proto.configureClass=function(){this._wrapper.className=this.className;this._wrapper.classList.toggle('checked',this._checked);};proto.hideDetails=function(){this.shadowRoot.querySelector('.details').style.display='none';};proto.attributeChangedCallback=function(name,from,to){if(name==='class'){this._wrapper.className=to;}};Object.defineProperty(proto,'checked',{get:function(){return this._checked;},set:function(value){if(!this._template){return;}
|
||||
if(value){var relevant=document.querySelectorAll('gaia-radio[name="'+this.getAttribute('name')+'"]');for(var i=0,iLen=relevant.length;i<iLen;i++){relevant[i].checked=false;}
|
||||
this.setAttribute('checked',true);}else{this.removeAttribute('checked');}
|
||||
this._wrapper.classList.toggle('checked',value);this._wrapper.setAttribute('aria-checked',value);this._checked=value;}});Object.defineProperty(proto,'name',{get:function(){return this.getAttribute('name');},set:function(value){this.setAttribute('name',value);}});Object.defineProperty(proto,'value',{get:function(){return this.getAttribute('value');},set:function(value){this.setAttribute('value',value);}});Object.defineProperty(proto,'type',{get:function(){return'gaia-radio';}});var template=document.createElement('template');template.innerHTML='<span role="radio" id="radio">'+'<span><content select="p,label"></content></span>'+'<div class="details"><content select="details"></content></div>'+'<div class="divider"></div>'+'</span>';return document.registerElement('gaia-radio',{prototype:proto});})(window);;'use strict';var Templates={soundList:function({l10nID}){return Sanitizer.escapeHTML`
|
||||
<section hidden>
|
||||
<gaia-subheader skin="organic">
|
||||
<span data-l10n-id="${l10nID}"></span>
|
||||
</gaia-subheader>
|
||||
<section data-type="list">
|
||||
<ul></ul>
|
||||
</section>
|
||||
</section>`;},soundItem:function({l10nID,name}){return Sanitizer.escapeHTML`
|
||||
<li>
|
||||
<gaia-radio name="sounds" class="truncate">
|
||||
<label class="name">
|
||||
<bdi data-l10n-id="${l10nID}">${name}</bdi>
|
||||
</label>
|
||||
<details></details>
|
||||
</gaia-radio>
|
||||
</li>`;}};;'use strict';function NullRingtone(){}
|
||||
NullRingtone.prototype={get name(){return navigator.mozL10n.get(this.l10nID);},get filename(){return null;},get l10nID(){return'ringtone-none';},get id(){return'none:none';},get type(){return null;},get url(){return null;},get shareable(){return false;},get deletable(){return false;},getBlob:function(){return new Promise(function(resolve,reject){resolve(null);});}};;;'use strict';window.builtInRingtones=(function(){var ID_PREFIX='builtin:';var BASE_URLS={'ringtone':'/shared/resources/media/ringtones/','alerttone':'/shared/resources/media/notifications/'};var mimeTypeMap={'.mp3':'audio/mp3','.mp4':'audio/mp4','.ogg':'audio/ogg','.opus':'audio/ogg'};function inferMimeType(filename){var dot=filename.lastIndexOf('.');if(dot===-1){console.warn('Couldn\'t infer mimetype for '+filename);return'application/octet-stream';}
|
||||
var ext=filename.substr(dot);return mimeTypeMap[ext]||'application/octet-stream';}
|
||||
function BuiltInRingtone(toneType,filename,toneDef){this._toneType=toneType;this._filename=filename;this._l10nID=toneDef.l10nID;}
|
||||
BuiltInRingtone.prototype={get _rootName(){return this._filename.replace(/\.\w+$/,'');},get name(){return navigator.mozL10n.get(this.l10nID);},get filename(){return this._filename;},get l10nID(){return this._l10nID;},get id(){return ID_PREFIX+this._toneType+'/'+this._rootName;},get type(){return this._toneType;},get url(){return BASE_URLS[this._toneType]+this._filename;},get shareable(){return true;},get deletable(){return false;},getBlob:function(){var url=this.url;return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest();xhr.open('GET',url);xhr.overrideMimeType(inferMimeType(url));xhr.responseType='blob';xhr.send();xhr.onload=function(){resolve(xhr.response);};xhr.onerror=function(){var err=new Error('Could not read sound file: '+url+' (status: '+xhr.status+')');console.error(err);reject(err);};});}};function idToToneType(id){var slash=id.indexOf('/');if(id.indexOf(ID_PREFIX)!==0||slash===-1){throw new Error('invalid id: '+id);}
|
||||
return id.substring(ID_PREFIX.length,slash);}
|
||||
function idMatchesFilename(id,toneType,filename){return id===ID_PREFIX+toneType+'/'+filename.replace(/\.\w+$/,'');}
|
||||
var toneDefsCache={};function getSoundFilenames(toneType){if(!(toneType in BASE_URLS)){throw new Error('tone type not supported: '+toneType);}
|
||||
return new Promise(function(resolve,reject){if(toneType in toneDefsCache){resolve(toneDefsCache[toneType]);return;}
|
||||
var xhr=new XMLHttpRequest();xhr.open('GET',BASE_URLS[toneType]+'list.json');xhr.responseType='json';xhr.send(null);xhr.onload=function(){toneDefsCache[toneType]=xhr.response;resolve(xhr.response);};xhr.onerror=function(){var err=new Error('Could not read sounds list for '+toneType+' (status: '+xhr.status+')');console.error(err);reject(err);};});}
|
||||
function list(toneType){return getSoundFilenames(toneType).then(function(toneDefs){var tones=[];for(var filename in toneDefs){tones.push(new BuiltInRingtone(toneType,filename,toneDefs[filename]));}
|
||||
return tones;});}
|
||||
function get(id){return new Promise(function(resolve,reject){var toneType=idToToneType(id);resolve(getSoundFilenames(toneType).then(function(toneDefs){for(var filename in toneDefs){if(idMatchesFilename(id,toneType,filename)){return new BuiltInRingtone(toneType,filename,toneDefs[filename]);}}
|
||||
var err=new Error('No '+toneType+' found with id = '+id);console.error(err);throw err;}));});}
|
||||
return{list:list,get:get,get toneTypes(){return Object.keys(BASE_URLS);}};})();;;;'use strict';window.customRingtones=(function(){var ID_PREFIX='custom:';function CustomRingtone(info,dbKey){this._name=info.name;if(info.uniqueNum!==0||info.isExplicitNum){this._name+=' ('+info.uniqueNum+')';}
|
||||
this._subtitle=info.subtitle||null;this._id=ID_PREFIX+dbKey;this._blob=info.blob;}
|
||||
CustomRingtone.prototype={get name(){return this._name;},get filename(){return this._blob.name;},get subtitle(){return this._subtitle;},get id(){return this._id;},get type(){return'ringtone';},get url(){return this._url||(this._url=URL.createObjectURL(this._blob));},get shareable(){return true;},get deletable(){return true;},remove:function(){return remove(this.id);},getBlob:function(){return Promise.resolve(this._blob);}};function idToDBKey(id){if(id.indexOf(ID_PREFIX)!==0){throw new Error('invalid id: '+id);}
|
||||
return parseInt(id.substr(ID_PREFIX.length));}
|
||||
var DBNAME='customTones';var DBVERSION=1;var STORENAME='ringtones';var db=null;function withStore(type,callback){if(db){var transaction=db.transaction(STORENAME,type);callback(null,transaction.objectStore(STORENAME),transaction);}else{var openreq=indexedDB.open(DBNAME,DBVERSION);openreq.onerror=function(){console.error('customRingtones: can\'t open database:',openreq.error.name);callback(openreq.error);};openreq.onupgradeneeded=function(){var objStore=openreq.result.createObjectStore(STORENAME,{autoIncrement:true});objStore.createIndex('fullname',['name','subtitle','uniqueNum'],{unique:false});};openreq.onsuccess=function(){db=openreq.result;var transaction=db.transaction(STORENAME,type);callback(null,transaction.objectStore(STORENAME),transaction);};}}
|
||||
function uniqueify(info){return new Promise(function(resolve,reject){withStore('readonly',function(err,store){if(err){reject(err);return;}
|
||||
var nextUniqueNum=info.uniqueNum||0;var index=store.index('fullname');var req=index.openCursor(IDBKeyRange.bound([info.name,info.subtitle,0],[info.name,info.subtitle,Infinity]));req.onsuccess=function(event){var cursor=event.target.result;if(!cursor||nextUniqueNum<cursor.value.uniqueNum){resolve(nextUniqueNum);return;}
|
||||
nextUniqueNum=cursor.value.uniqueNum+1;cursor.continue();};req.onerror=function(){console.error('Error in customRingtones.uniqueify(): ',req.error.name);reject(req.error);};});});}
|
||||
function add(info){var cleanedInfo={name:info.name||'',subtitle:info.subtitle||'',blob:info.blob,uniqueNum:0};var m=/^(.*) \((\d+)\)$/.exec(cleanedInfo.name);if(m){cleanedInfo.name=m[1];cleanedInfo.uniqueNum=m[2];cleanedInfo.isExplicitNum=true;}
|
||||
return uniqueify(cleanedInfo).then(function(uniqueNum){return new Promise(function(resolve,reject){withStore('readwrite',function(err,store,transaction){if(err){reject(err);return;}
|
||||
cleanedInfo.uniqueNum=uniqueNum;var tone;var req=store.add(cleanedInfo);req.onsuccess=function(event){tone=new CustomRingtone(cleanedInfo,event.target.result);};transaction.oncomplete=function(event){resolve(tone);};transaction.onabort=transaction.onerror=function(){console.error('Error in customRingtones.add(): ',transaction.error.name);reject(req.error);};});});});}
|
||||
function remove(id){return new Promise(function(resolve,reject){withStore('readwrite',function(err,store,transaction){if(err){reject(err);return;}
|
||||
var req=store.delete(idToDBKey(id));transaction.oncomplete=function(event){resolve();};transaction.onabort=transaction.onerror=function(){console.error('Error in customRingtones.remove(): ',transaction.error.name);reject(req.error);};});});}
|
||||
function clear(){return new Promise(function(resolve,reject){withStore('readwrite',function(err,store,transaction){if(err){reject(err);return;}
|
||||
var req=store.clear();transaction.oncomplete=function(event){resolve();};transaction.onabort=transaction.onerror=function(){console.error('Error in customRingtones.clear(): ',transaction.error.name);reject(req.error);};});});}
|
||||
function get(id){return new Promise(function(resolve,reject){withStore('readonly',function(err,store){if(err){reject(err);return;}
|
||||
var key=idToDBKey(id);var req=store.get(key);req.onsuccess=function(event){var data=event.target.result;if(!data){resolve(null);}else{resolve(new CustomRingtone(data,key));}};req.onerror=function(){console.error('Error in customRingtones.get(): ',req.error.name);reject(req.error);};});});}
|
||||
function list(toneType){return new Promise(function(resolve,reject){if(toneType==='alerttone'){resolve([]);return;}
|
||||
withStore('readonly',function(err,store){if(err){reject(err);return;}
|
||||
var req=store.openCursor();var results=[];req.onsuccess=function listOnSuccess(event){var cursor=event.target.result;if(cursor){var value=cursor.value;results.push(new CustomRingtone(value,cursor.key));cursor.continue();}else{resolve(results);}};req.onerror=function listOnError(){console.error('Error in customRingtones.list(): ',req.error.name);reject(req.error);};});});}
|
||||
return{add:add,remove:remove,clear:clear,get:get,list:list};})();;;'use strict';window.sdCardRingtones=(function(){var ID_PREFIX='sdcard:';var BASE_DIRS={'ringtone':'Ringtones','alerttone':'Notifications'};function pathToType(path){var folder=new RegExp('^(/[^/]*/)?([^/]*)/').exec(path)[2];for(var type in BASE_DIRS){if(BASE_DIRS[type]===folder){return type;}}
|
||||
throw new Error('unexpected SD card folder: '+folder);}
|
||||
function SDCardRingtone(file){var leafname=file.name.substr(file.name.lastIndexOf('/')+1);this._name=leafname.replace(/\.\w+$/,'');this._blob=file;this._type=pathToType(this._blob.name);}
|
||||
SDCardRingtone.prototype={get name(){return this._name;},get filename(){return this._blob.name;},get subtitle(){return navigator.mozL10n.get('sd-card-subtitle');},get id(){return ID_PREFIX+this._blob.name;},get type(){return this._type;},get url(){return this._url||(this._url=URL.createObjectURL(this._blob));},get shareable(){return true;},get deletable(){return true;},remove:function(){return remove(this.id);},getBlob:function(){return Promise.resolve(this._blob);}};function idToFilename(id){return id.substr(ID_PREFIX.length);}
|
||||
var defaultStorage=navigator.getDeviceStorage('music');function remove(id){return new Promise(function(resolve,reject){var request=defaultStorage.delete(idToFilename(id));request.onsuccess=function(){resolve();};request.onerror=function(){console.error('Error in sdCardRingtones.remove(): ',this.error);reject(this.error);};});}
|
||||
function get(id){return new Promise(function(resolve,reject){var request=defaultStorage.get(idToFilename(id));request.onsuccess=function(){resolve(new SDCardRingtone(this.result));};request.onerror=function(){console.error('Error in sdCardRingtones.get(): ',this.error);reject(this.error);};});}
|
||||
function list(toneType){if(!(toneType in BASE_DIRS)){throw new Error('tone type not supported: '+toneType);}
|
||||
return new Promise(function(resolve,reject){var results=[];var sdcards=navigator.getDeviceStorages('music');var cursor=enumerateAll(sdcards,BASE_DIRS[toneType]);cursor.onsuccess=function(){var file=this.result;if(file){if(file.name[0]!=='.'&&file.name.indexOf('/.')===-1){results.push(new SDCardRingtone(file));}
|
||||
this.continue();}else{resolve(results);}};cursor.onerror=function(){if(this.error.name==='NotFoundError'||this.error.name==='TypeMismatchError'){resolve([]);}else{console.error('Error in sdCardRingtones.list(): ',this.error);reject(this.error);}};});}
|
||||
return{remove:remove,get:get,list:list};})();;;'use strict';function TonePlayer(){this._currentTone=null;this._isValid=true;this._player=new Audio();this._player.addEventListener('loadedmetadata',function(){if(this._player.src){this._isValid=true;this._player.dispatchEvent(new CustomEvent('validated',{detail:this._isValid}));}}.bind(this));this._player.addEventListener('error',function(){if(this._player.src){this._isValid=false;this._player.dispatchEvent(new CustomEvent('validated',{detail:this._isValid}));}}.bind(this));this._player.addEventListener('ended',function(){this._firePlayingCallback(false);}.bind(this));window.addEventListener('visibilitychange',function(){if(document.hidden){this.stop();this._setExclusiveMode(false);}}.bind(this));}
|
||||
TonePlayer.prototype={setTone:function(tone,callback){if(tone!==this._currentTone){this._firePlayingCallback(false);this._currentTone=tone;this._playingCallback=callback;if(tone&&tone.url){this._isValid=undefined;this._player.src=tone.url;this._player.play();this._firePlayingCallback(true);this._setExclusiveMode(true);}else{this._isValid=true;this._player.removeAttribute('src');this._player.load();}}else{if(!this._isValid){return;}
|
||||
if(this._player.paused||this._player.ended){this._player.currentTime=0;this._player.play();this._firePlayingCallback(true);this._setExclusiveMode(true);}else{this._player.pause();this._firePlayingCallback(false);}}},stop:function(){this._player.pause();this._firePlayingCallback(false);},get currentTone(){return this._currentTone;},isValid:function(callback){if(this._isValid!==undefined){callback(this._isValid);return;}
|
||||
this._player.addEventListener('validated',function validated(event){this.removeEventListener('validated',validated);callback(event.detail);});},_firePlayingCallback:function(playing){if(this._playingCallback){this._playingCallback(playing);}},_setExclusiveMode:function(exclusive){if(exclusive){if(!this._source){this._context=new AudioContext('ringer');this._source=this._context.createMediaElementSource(this._player);this._source.connect(this._context.destination);}}else{if(this._source){this._source.disconnect();this._context=null;this._source=null;}}}};;;'use strict';var ToneList=(function(){var NONE_ID='none:none';function toneCompare(a,b){if(a.id===NONE_ID&&b.id===NONE_ID){return 0;}else if(a.id===NONE_ID){return-1;}else if(b.id===NONE_ID){return 1;}
|
||||
var aName=a.name.toLocaleLowerCase();var bName=b.name.toLocaleLowerCase();var cmp=aName.localeCompare(bName);if(cmp){return cmp;}
|
||||
var aSubtitle=(a.subtitle||'').toLocaleLowerCase();var bSubtitle=(b.subtitle||'').toLocaleLowerCase();return aSubtitle.localeCompare(bSubtitle);}
|
||||
function domify(htmlText){var dummyDiv=document.createElement('div');dummyDiv.innerHTML=htmlText;var element=dummyDiv.firstElementChild;return element;}
|
||||
function ToneList(titleID,parent){this.element=domify(Templates.soundList({l10nID:titleID}));if(parent){parent.appendChild(this.element);}
|
||||
this._ul=this.element.querySelector('ul');this._toneMap={};}
|
||||
ToneList.prototype={makeItem:function(tone){var templateArgs={};if(tone.l10nID){templateArgs.l10nID=tone.l10nID;}else{templateArgs.name=tone.name;}
|
||||
var item=domify(Templates.soundItem(templateArgs));item.dataset.id=tone.id;var detailNode=item.querySelector('details');if(detailNode&&tone.subtitle){detailNode.textContent=tone.subtitle;}else if(detailNode){detailNode.parentNode.hideDetails();}else if(tone.subtitle){var subtitle=document.createElement('p');subtitle.classList.add('subtitle');var bdi=document.createElement('bdi');bdi.textContent=tone.subtitle;subtitle.appendChild(bdi);item.querySelector('.name').parentNode.appendChild(subtitle);}
|
||||
return item;},add:function(tones){if(this._ul.children.length===0){if(Array.isArray(tones)){tones.sort(toneCompare);tones.forEach(this._append.bind(this));}else{this._append(tones);}}else{if(Array.isArray(tones)){tones.forEach(this._insertSorted.bind(this));}else{this._insertSorted(tones);}}},remove:function(tone){this._ul.removeChild(this._toneMap[tone.id].element);if(!this._ul.firstChild){this.element.hidden=true;}},_append:function(tone){if(tone.id in this._toneMap){throw new Error('A tone with this ID is already in the list: '+
|
||||
tone.id);}
|
||||
var newItem=this.makeItem(tone);this._toneMap[tone.id]={tone:tone,element:newItem};this.element.hidden=false;this._ul.appendChild(newItem);},_insertSorted:function(tone){if(tone.id in this._toneMap){throw new Error('A tone with this ID is already in the list: '+
|
||||
tone.id);}
|
||||
var newItem=this.makeItem(tone);this._toneMap[tone.id]={tone:tone,element:newItem};this.element.hidden=false;var items=this._ul.querySelectorAll('li');for(var i=0;i<items.length;i++){var currTone=this._toneMap[items[i].dataset.id].tone;if(toneCompare(tone,currTone)<0){this._ul.insertBefore(newItem,items[i]);return;}}
|
||||
this._ul.appendChild(newItem);}};return ToneList;})();;'use strict';navigator.mozSetMessageHandler('activity',function(activity){var tonePlayer=new TonePlayer();var toneTypes=activity.source.data.type;var allowNone=activity.source.data.allowNone;var currentToneID=activity.source.data.currentToneID;var allToneTypes=window.builtInRingtones.toneTypes;if(!Array.isArray(toneTypes)){toneTypes=[toneTypes];}
|
||||
toneTypes=toneTypes.filter(function(x){return allToneTypes.indexOf(x)!==-1;});var otherToneTypes=allToneTypes.filter(function(x){return toneTypes.indexOf(x)===-1;});document.getElementById('header').addEventListener('action',function(){tonePlayer.stop();activity.postError('cancelled');});document.getElementById('set').addEventListener('click',function(){tonePlayer.stop();tonePlayer.isValid(function(valid){if(!valid){activity.postError('cancelled');}
|
||||
var selectedTone=tonePlayer.currentTone;selectedTone.getBlob().then(function(blob){activity.postResult({name:selectedTone.name,l10nID:selectedTone.l10nID,id:selectedTone.id,blob:blob});});});});function PickerToneList(...args){ToneList.apply(this,args);}
|
||||
PickerToneList.prototype=Object.create(ToneList.prototype);PickerToneList.prototype.constructor=PickerToneList;PickerToneList.prototype.makeItem=function(tone){var item=ToneList.prototype.makeItem.call(this,tone);var input=item.querySelector('gaia-radio');input.checked=(tone.id===currentToneID);input.addEventListener('click',function(){tonePlayer.setTone(tone);document.getElementById('set').disabled=false;});return item;};navigator.mozL10n.once(function(){var promises=[];var listParent=document.getElementById('list-parent');function addToneLists(toneType,includeNone){var builtInList=new PickerToneList('section-title-builtin-'+toneType,listParent);promises.push(window.builtInRingtones.list(toneType).then(function(tones){builtInList.add(tones);if(includeNone){builtInList.add(new NullRingtone());}}));var customList=new PickerToneList('section-title-custom-'+toneType,listParent);promises.push(window.customRingtones.list(toneType).then(function(tones){customList.add(tones);}));promises.push(window.sdCardRingtones.list(toneType).then(function(tones){customList.add(tones);}));}
|
||||
toneTypes.forEach(function(toneType,i){addToneLists(toneType,i===0&&allowNone);});otherToneTypes.forEach(function(toneType){addToneLists(toneType);});Promise.all(promises).then(function(listsData){document.querySelector('body').dataset.ready=true;});});});
|
||||
|
|
@ -0,0 +1,431 @@
|
|||
;;'use strict';var CustomDialog=(function(){var container=null;var screen=null;var dialog=null;var header=null;var message=null;var yes=null;var no=null;return{hide:function dialog_hide(){if(screen===null){return;}
|
||||
if(!container){container=document.body;}
|
||||
container.removeChild(screen);screen=null;dialog=null;header=null;message=null;yes=null;no=null;},show:function dialog_show(title,msg,cancel,confirm,containerElement){container=containerElement||document.body;if(screen===null){screen=document.createElement('form');screen.setAttribute('role','dialog');screen.setAttribute('data-type','confirm');screen.id='dialog-screen';dialog=document.createElement('section');screen.appendChild(dialog);var decorateWithOptions=function cd_decorateWithOptions(type,options,elm,dialog){if('string'===typeof options){elm.setAttribute('data-l10n-id',options);return elm;}
|
||||
var icon=options.icon;var textElm=elm;if(icon&&''!==icon){textElm=document.createElement('span');var iconImg=new Image();iconImg.src=icon;iconImg.classList.add('custom-dialog-'+type+'-icon');elm.insertBefore(iconImg,elm.firstChild);elm.appendChild(textElm);}
|
||||
if(options.id){document.l10n.setAttributes(textElm,options.id,options.args);}else{var text=options[type];textElm.textContent=text;}
|
||||
return elm;};var setElementText=function(element,options){if('string'===typeof options){element.setAttribute('data-l10n-id',options);}
|
||||
if(options.id){document.l10n.setAttributes(element,options.id,options.args);}};header=document.createElement('h1');header.id='dialog-title';if(title&&title!==''){header=decorateWithOptions('title',title,header,dialog);}
|
||||
dialog.appendChild(header);message=document.createElement('p');message.id='dialog-message';message=decorateWithOptions('message',msg,message,dialog);dialog.appendChild(message);var menu=document.createElement('menu');menu.dataset.items=1;no=document.createElement('button');no.type='button';setElementText(no,cancel.title);no.id='dialog-no';no.addEventListener('click',clickHandler);menu.appendChild(no);if(confirm){menu.dataset.items=2;yes=document.createElement('button');yes.type='button';setElementText(yes,confirm.title);yes.id='dialog-yes';yes.className=confirm.recommend?'recommend':'danger';yes.addEventListener('click',clickHandler);menu.appendChild(yes);}
|
||||
else{no.classList.add('full');}
|
||||
screen.appendChild(menu);container.appendChild(screen);}
|
||||
screen.classList.add('visible');function clickHandler(evt){screen.classList.remove('visible');if(evt.target===yes&&confirm.callback){confirm.callback();}else if(evt.target===no&&cancel.callback){cancel.callback();}}
|
||||
return screen;}};}());;;window.COMPONENTS_BASE_URL='/shared/elements/';;;(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.GaiaHeader=f()}})(function(){var define,module,exports;return(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){;(function(define){define(function(require,exports,module){'use strict';var debug=0?console.log.bind(console):function(){};var cache={};var MIN=16;var MAX=24;var BUFFER=3;module.exports=function(config){debug('font fit',config);var space=config.space-BUFFER;var min=config.min||MIN;var max=config.max||MAX;var text=trim(config.text);var fontSize=max;var textWidth;var font;do{font=config.font.replace(/\d+px/,fontSize+'px');textWidth=getTextWidth(text,font);}while(textWidth>space&&fontSize!==min&&fontSize--);return{textWidth:textWidth,fontSize:fontSize,overflowing:textWidth>space};};function getTextWidth(text,font){var ctx=getCanvasContext(font);var width=ctx.measureText(text).width;debug('got text width',width);return width;}
|
||||
function getCanvasContext(font){debug('get canvas context',font);var cached=cache[font];if(cached){return cached;}
|
||||
var canvas=document.createElement('canvas');canvas.setAttribute('moz-opaque','true');canvas.setAttribute('width','1px');canvas.setAttribute('height','1px');debug('created canvas',canvas);var ctx=canvas.getContext('2d',{willReadFrequently:true});ctx.font=font;return cache[font]=ctx;}
|
||||
function trim(text){return text.replace(/\s+/g,' ').trim();}});})(typeof define=='function'&&define.amd?define:(function(n,w){'use strict';return typeof module=='object'?function(c){c(require,exports,module);}:function(c){var m={exports:{}};c(function(n){return w[n];},m.exports,m);w[n]=m.exports;};})('font-fit',this));},{}],2:[function(require,module,exports){;(function(define){'use strict';define(function(require,exports,module){var textContent=Object.getOwnPropertyDescriptor(Node.prototype,'textContent');var innerHTML=Object.getOwnPropertyDescriptor(Element.prototype,'innerHTML');var removeAttribute=Element.prototype.removeAttribute;var setAttribute=Element.prototype.setAttribute;var noop=function(){};exports.register=function(name,props){var baseProto=getBaseProto(props.extends);var template=props.template||baseProto.templateString;var extensible=props.extensible=props.hasOwnProperty('extensible')?props.extensible:true;delete props.extends;if(template){if(extensible&&props.template){props.templateString=props.template;}
|
||||
var output=processCss(template,name);props.template=document.createElement('template');props.template.innerHTML=output.template;props.lightCss=output.lightCss;props.globalCss=props.globalCss||'';props.globalCss+=output.globalCss;}
|
||||
injectGlobalCss(props.globalCss);delete props.globalCss;var descriptors=mixin(props.attrs||{},base.descriptors);props._attrs=props.attrs;delete props.attrs;var proto=createProto(baseProto,props);Object.defineProperties(proto,descriptors);try{return document.registerElement(name,{prototype:proto});}catch(e){if(e.name!=='NotSupportedError'){throw e;}}};var base={properties:{GaiaComponent:true,attributeChanged:noop,attached:noop,detached:noop,created:noop,createdCallback:function(){if(this.dirObserver){addDirObserver();}
|
||||
injectLightCss(this);this.created();},attributeChangedCallback:function(name,from,to){var prop=toCamelCase(name);if(this._attrs&&this._attrs[prop]){this[prop]=to;}
|
||||
this.attributeChanged(name,from,to);},attachedCallback:function(){if(this.dirObserver){this.setInnerDirAttributes=setInnerDirAttributes.bind(null,this);document.addEventListener('dirchanged',this.setInnerDirAttributes);}
|
||||
this.attached();},detachedCallback:function(){if(this.dirObserver){document.removeEventListener('dirchanged',this.setInnerDirAttributes);}
|
||||
this.detached();},setupShadowRoot:function(){if(!this.template){return;}
|
||||
var node=document.importNode(this.template.content,true);this.createShadowRoot().appendChild(node);if(this.dirObserver){setInnerDirAttributes(this);}
|
||||
return this.shadowRoot;},setAttr:function(name,value){var internal=this.shadowRoot.firstElementChild;setAttribute.call(internal,name,value);setAttribute.call(this,name,value);},removeAttr:function(name){var internal=this.shadowRoot.firstElementChild;removeAttribute.call(internal,name);removeAttribute.call(this,name);}},descriptors:{textContent:{set:function(value){textContent.set.call(this,value);if(this.lightStyle){this.appendChild(this.lightStyle);}},get:function(){return textContent.get();}},innerHTML:{set:function(value){innerHTML.set.call(this,value);if(this.lightStyle){this.appendChild(this.lightStyle);}},get:innerHTML.get}}};var defaultPrototype=createProto(HTMLElement.prototype,base.properties);function getBaseProto(proto){if(!proto){return defaultPrototype;}
|
||||
proto=proto.prototype||proto;return!proto.GaiaComponent?createProto(proto,base.properties):proto;}
|
||||
function createProto(proto,props){return mixin(Object.create(proto),props);}
|
||||
var hasShadowCSS=(function(){var div=document.createElement('div');try{div.querySelector(':host');div.querySelector('::content');return true;}
|
||||
catch(e){return false;}})();var regex={shadowCss:/(?:\:host|\:\:content)[^{]*\{[^}]*\}/g,':host':/(?:\:host)/g,':host()':/\:host\((.+)\)(?: \:\:content)?/g,':host-context':/\:host-context\((.+)\)([^{,]+)?/g,'::content':/(?:\:\:content)/g};function processCss(template,name){var globalCss='';var lightCss='';if(!hasShadowCSS){template=template.replace(regex.shadowCss,function(match){var hostContext=regex[':host-context'].exec(match);if(hostContext){globalCss+=match.replace(regex['::content'],'').replace(regex[':host-context'],'$1 '+name+'$2').replace(/ +/g,' ');}else{lightCss+=match.replace(regex[':host()'],name+'$1').replace(regex[':host'],name).replace(regex['::content'],name);}
|
||||
return'';});}
|
||||
return{template:template,lightCss:lightCss,globalCss:globalCss};}
|
||||
function injectGlobalCss(css){if(!css){return;}
|
||||
var style=document.createElement('style');style.innerHTML=css.trim();headReady().then(function(){document.head.appendChild(style);});}
|
||||
function headReady(){return new Promise(function(resolve){if(document.head){return resolve();}
|
||||
window.addEventListener('load',function fn(){window.removeEventListener('load',fn);resolve();});});}
|
||||
function injectLightCss(el){if(hasShadowCSS){return;}
|
||||
var stylesheet=el.querySelector('style');if(!stylesheet){stylesheet=document.createElement('style');stylesheet.setAttribute('scoped','');stylesheet.appendChild(document.createTextNode(el.lightCss));el.appendChild(stylesheet);}
|
||||
el.lightStyle=stylesheet;}
|
||||
function toCamelCase(string){return string.replace(/-(.)/g,function replacer(string,p1){return p1.toUpperCase();});}
|
||||
var dirObserver;function setInnerDirAttributes(component){var dir=component.dir||document.dir;Array.from(component.shadowRoot.children).forEach(element=>{if(element.nodeName!=='STYLE'){element.dir=dir;}});}
|
||||
function addDirObserver(){if(dirObserver){return;}
|
||||
dirObserver=new MutationObserver(onChanged);dirObserver.observe(document.documentElement,{attributeFilter:['dir'],attributes:true});function onChanged(mutations){document.dispatchEvent(new Event('dirchanged'));}}
|
||||
function mixin(target,source){for(var key in source){target[key]=source[key];}
|
||||
return target;}});})(typeof define=='function'&&define.amd?define:(function(n,w){'use strict';return typeof module=='object'?function(c){c(require,exports,module);}:function(c){var m={exports:{}};c(function(n){return w[n];},m.exports,m);w[n]=m.exports;};})('gaia-component',this));},{}],3:[function(require,module,exports){(function(define){'use strict';define(function(require,exports,module){var base=window.GAIA_ICONS_BASE_URL||window.COMPONENTS_BASE_URL||'bower_components/';if(!document.documentElement){window.addEventListener('load',load);}else{load();}
|
||||
function load(){if(isLoaded()){return;}
|
||||
var link=document.createElement('link');link.rel='stylesheet';link.type='text/css';link.href=base+'gaia-icons/gaia-icons.css';document.head.appendChild(link);exports.loaded=true;}
|
||||
function isLoaded(){return exports.loaded||document.querySelector('link[href*=gaia-icons]')||document.documentElement.classList.contains('gaia-icons-loaded');}});})(typeof define=='function'&&define.amd?define:(function(n,w){'use strict';return typeof module=='object'?function(c){c(require,exports,module);}:function(c){var m={exports:{}};c(function(n){return w[n];},m.exports,m);w[n]=m.exports;};})('gaia-icons',this));},{}],4:[function(require,module,exports){;(function(define){'use strict';define(function(require,exports,module){var component=require('gaia-component');var fontFit=require('font-fit');require('gaia-icons');var debug=0?console.log.bind(console):function(){};const KNOWN_ACTIONS={menu:'menu',back:'back',close:'close'};const TITLE_FONT='italic 300 24px FiraSans';const TITLE_PADDING=10;const MINIMUM_FONT_SIZE_CENTERED=20;const MINIMUM_FONT_SIZE_UNCENTERED=16;const MAXIMUM_FONT_SIZE=23;module.exports=component.register('gaia-header',{extensible:false,dirObserver:true,created:function(){debug('created');this.setupShadowRoot();this.els={actionButton:this.shadowRoot.querySelector('.action-button'),titles:this.getElementsByTagName('h1')};this.els.actionButton.addEventListener('click',e=>this.onActionButtonClick(e));this.observer=new MutationObserver(this.onMutation.bind(this));this.ignoreDir=this.hasAttribute('ignore-dir');this.titleEnd=this.getAttribute('title-end');this.titleStart=this.getAttribute('title-start');this.noFontFit=this.getAttribute('no-font-fit');this.notFlush=this.hasAttribute('not-flush');this.action=this.getAttribute('action');this.unresolved={};this.pending={};this._resizeThrottlingId=null;this.onResize=this.onResize.bind(this);},attached:function(){debug('attached');this.runFontFitSoon();this.observerStart();window.addEventListener('resize',this.onResize);},detached:function(){debug('detached');window.removeEventListener('resize',this.onResize);this.observerStop();this.clearPending();},clearPending:function(){for(var key in this.pending){this.pending[key].clear();delete this.pending[key];}
|
||||
window.cancelAnimationFrame(this._resizeThrottlingId);this._resizeThrottlingId=null;},runFontFit:function(){debug('run font-fit');if(this.noFontFit){return Promise.resolve();}
|
||||
var titles=this.els.titles;var space=this.getTitleSpace();var styles=[].map.call(titles,el=>this.getTitleStyle(el,space));return this.setTitleStylesSoon(styles);},runFontFitSoon:function(){debug('run font-fit soon');if(this.pending.runFontFitSoon){return;}
|
||||
this.pending.runFontFitSoon=this.nextTick(()=>{delete this.pending.runFontFitSoon;this.runFontFit();});},getTitleStyle:function(el,space){debug('get el style',el,space);var text=el.textContent;var styleId=space.start+text+space.end+'#'+space.value;if(!text||!text.trim()){return debug('exit: no text');}
|
||||
if(getStyleId(el)===styleId){return debug('exit: no change');}
|
||||
var marginStart=this.getTitleMarginStart();var textSpace=space.value-Math.abs(marginStart);var fontFitResult=this.fontFit(text,textSpace,{min:MINIMUM_FONT_SIZE_CENTERED});var overflowing=fontFitResult.overflowing;var padding={start:0,end:0};if(overflowing){debug('title overflowing');padding.start=!space.start?TITLE_PADDING:0;padding.end=!space.end?TITLE_PADDING:0;textSpace=space.value-padding.start-padding.end;fontFitResult=this.fontFit(text,textSpace);marginStart=0;}
|
||||
return{id:styleId,fontSize:fontFitResult.fontSize,marginStart:marginStart,overflowing:overflowing,padding:padding};},setTitleStylesSoon:function(styles){debug('set title styles soon',styles);var key='setStyleTitlesSoon';this._titleStyles=styles;if(this.unresolved[key]){return this.unresolved[key];}
|
||||
this.unresolved[key]=new Promise((resolve)=>{this.pending[key]=this.nextTick(()=>{var styles=this._titleStyles;var els=this.els.titles;[].forEach.call(els,(el,i)=>{if(!styles[i]){return debug('exit');}
|
||||
this.setTitleStyle(el,styles[i]);});delete this._titleStyles;delete this.unresolved[key];delete this.pending[key];resolve();});});},setTitleStyle:function(el,style){debug('set title style',style);this.observerStop();if(this.ignoreDir){el.style.marginLeft=style.marginStart+'px';el.style.paddingLeft=style.padding.start+'px';el.style.paddingRight=style.padding.end+'px';}else{el.style.marginInlineStart=style.marginStart+'px';el.style.paddingInlineStart=style.padding.start+'px';el.style.paddingInlineEnd=style.padding.end+'px';}
|
||||
el.style.fontSize=style.fontSize+'px';setStyleId(el,style.id);this.observerStart();},fontFit:function(text,space,opts={}){debug('font fit:',text,space,opts);var fontFitArgs={font:TITLE_FONT,min:opts.min||MINIMUM_FONT_SIZE_UNCENTERED,max:MAXIMUM_FONT_SIZE,text:text,space:space};return fontFit(fontFitArgs);},observerStart:function(){if(this.observing){return;}
|
||||
this.observer.observe(this,{childList:true,attributes:true,subtree:true});this.observing=true;debug('observer started');},observerStop:function(){if(!this.observing){return;}
|
||||
this.observer.disconnect();this.observing=false;debug('observer stopped');},onResize:function(e){debug('onResize',this._resizeThrottlingId);if(this._resizeThrottlingId!==null){return;}
|
||||
this._resizeThrottlingId=window.requestAnimationFrame(()=>{this._resizeThrottlingId=null;this.runFontFitSoon();});},onMutation:function(mutations){debug('on mutation',mutations);if(!this.pending.runFontFitSoon){this.runFontFit();}},getTitleSpace:function(){var start=this.titleStart;var end=this.titleEnd;var space=this.getWidth()-start-end;var result={value:space,start:start,end:end};debug('get title space',result);return result;},getWidth:function(){var value=this.notFlush?this.clientWidth:window.innerWidth;debug('get width',value);return value;},triggerAction:function(){if(this.action){this.els.actionButton.click();}},onActionButtonClick:function(){debug('action button click');var config={detail:{type:this.action}};var e=new CustomEvent('action',config);setTimeout(()=>this.dispatchEvent(e));},getTitleMarginStart:function(){var start=this.titleStart;var end=this.titleEnd;var marginStart=end-start;debug('get title margin start',marginStart);return marginStart;},getButtonsBeforeTitle:function(){var children=this.children;var l=children.length;var els=[];for(var i=0;i<l;i++){var el=children[i];if(el.tagName==='H1'){break;}
|
||||
if(!contributesToLayout(el)){continue;}
|
||||
els.push(el);}
|
||||
if(this.action){els.push(this.els.actionButton);}
|
||||
return els;},getButtonsAfterTitle:function(){var children=this.children;var els=[];for(var i=children.length-1;i>=0;i--){var el=children[i];if(el.tagName==='H1'){break;}
|
||||
if(!contributesToLayout(el)){continue;}
|
||||
els.push(el);}
|
||||
return els;},sumButtonWidths:function(buttons){var defaultWidth=50;var sum=buttons.reduce((prev,button)=>{var isStandardButton=button===this.els.actionButton;var width=isStandardButton?defaultWidth:button.clientWidth;return prev+width;},0);debug('sum button widths',buttons,sum);return sum;},attrs:{action:{get:function(){return this._action;},set:function(value){var action=KNOWN_ACTIONS[value];if(action===this._action){return;}
|
||||
this.setAttr('action',action);this._action=action;}},titleStart:{get:function(){debug('get title-start');if('_titleStart'in this){return this._titleStart;}
|
||||
var buttons=this.getButtonsBeforeTitle();var value=this.sumButtonWidths(buttons);debug('get title-start',buttons,value);return value;},set:function(value){debug('set title-start',value);value=parseInt(value,10);if(value===this._titleStart||isNaN(value)){return;}
|
||||
this.setAttr('title-start',value);this._titleStart=value;debug('set');}},titleEnd:{get:function(){debug('get title-end');if('_titleEnd'in this){return this._titleEnd;}
|
||||
var buttons=this.getButtonsAfterTitle();return this.sumButtonWidths(buttons);},set:function(value){debug('set title-end',value);value=parseInt(value,10);if(value===this._titleEnd||isNaN(value)){return;}
|
||||
this.setAttr('title-end',value);this._titleEnd=value;}},noFontFit:{get:function(){return this._noFontFit||false;},set:function(value){debug('set no-font-fit',value);value=!!(value||value==='');if(value===this.noFontFit){return;}
|
||||
this._noFontFit=value;if(value){this.setAttr('no-font-fit','');}
|
||||
else{this.removeAttr('no-font-fit');}}},ignoreDir:{get:function(){return this._ignoreDir||false;},set:function(value){debug('set ignore-dir',value);value=!!(value||value==='');if(value===this.ignoreDir){return;}
|
||||
this._ignoreDir=value;this.dirObserver=!value;if(value){this.setAttr('ignore-dir','');}
|
||||
else{this.removeAttr('ignore-dir');}}}},template:`<div class="inner">
|
||||
<button class="action-button">
|
||||
<content select="[l10n-action]"></content>
|
||||
</button>
|
||||
<content></content>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
|
||||
:host {
|
||||
display: block;
|
||||
-moz-user-select: none;
|
||||
|
||||
--gaia-header-button-color:
|
||||
var(--header-button-color,
|
||||
var(--header-color,
|
||||
var(--link-color,
|
||||
inherit)));
|
||||
}
|
||||
|
||||
/**
|
||||
* [hidden]
|
||||
*/
|
||||
|
||||
:host[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/** Reset
|
||||
---------------------------------------------------------*/
|
||||
|
||||
::-moz-focus-inner { border: 0; }
|
||||
|
||||
/** Inner
|
||||
---------------------------------------------------------*/
|
||||
|
||||
.inner {
|
||||
display: flex;
|
||||
min-height: 50px;
|
||||
-moz-user-select: none;
|
||||
|
||||
background:
|
||||
var(--header-background,
|
||||
var(--background,
|
||||
#fff));
|
||||
}
|
||||
|
||||
/** Action Button
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* 1. Hidden by default
|
||||
*/
|
||||
|
||||
.action-button {
|
||||
position: relative;
|
||||
|
||||
display: none; /* 1 */
|
||||
width: 50px;
|
||||
font-size: 30px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
|
||||
align-items: center;
|
||||
background: none;
|
||||
cursor: pointer;
|
||||
transition: opacity 200ms 280ms;
|
||||
color:
|
||||
var(--header-action-button-color,
|
||||
var(--header-icon-color,
|
||||
var(--gaia-header-button-color)));
|
||||
}
|
||||
|
||||
/**
|
||||
* [action=back]
|
||||
* [action=menu]
|
||||
* [action=close]
|
||||
*
|
||||
* 1. For icon vertical-alignment
|
||||
*/
|
||||
|
||||
[action=back] .action-button,
|
||||
[action=menu] .action-button,
|
||||
[action=close] .action-button {
|
||||
display: flex; /* 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* :active
|
||||
*/
|
||||
|
||||
.action-button:active {
|
||||
transition: none;
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
/** Action Button Icon
|
||||
---------------------------------------------------------*/
|
||||
|
||||
.action-button:before {
|
||||
font-family: 'gaia-icons';
|
||||
font-style: normal;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
[action=close] .action-button:before { content: 'close' }
|
||||
[action=menu] .action-button:before { content: 'menu' }
|
||||
|
||||
[action=back]:-moz-dir(ltr) .action-button:before { content: 'left' }
|
||||
[action=back]:-moz-dir(rtl) .action-button:before { content: 'right' }
|
||||
|
||||
/** Action Button Icon
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* 1. To enable vertical alignment.
|
||||
*/
|
||||
|
||||
.action-button:before {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/** Action Button Text
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* To provide custom localized content for
|
||||
* the action-button, we allow the user
|
||||
* to provide an element with the class
|
||||
* .l10n-action. This node is then
|
||||
* pulled inside the real action-button.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* <gaia-header action="back">
|
||||
* <span l10n-action aria-label="Back">Localized text</span>
|
||||
* <h1>title</h1>
|
||||
* </gaia-header>
|
||||
*/
|
||||
|
||||
::content [l10n-action] {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
/** Title
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* 1. Vertically center text. We can't use flexbox
|
||||
* here as it breaks text-overflow ellipsis
|
||||
* without an inner div.
|
||||
*/
|
||||
|
||||
::content h1 {
|
||||
flex: 1;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
text-align: center;
|
||||
line-height: 50px; /* 1 */
|
||||
font-weight: 300;
|
||||
font-style: italic;
|
||||
font-size: 24px;
|
||||
|
||||
color:
|
||||
var(--header-title-color,
|
||||
var(--header-color,
|
||||
var(--title-color,
|
||||
var(--text-color,
|
||||
inherit))));
|
||||
}
|
||||
|
||||
/**
|
||||
* [ignore-dir]
|
||||
*
|
||||
* When the <gaia-header> component has an [ignore-dir] attribute, header
|
||||
* direction is forced to LTR but we still want the <h1> text to be reversed
|
||||
* so that strings like '1 selected' become 'selected 1'.
|
||||
*
|
||||
* When we're happy for <gaia-header> to be fully RTL responsive we won't need
|
||||
* these rules anymore, but this depends on all Gaia apps being ready.
|
||||
*
|
||||
* This should be safe to remove when bug 1179459 lands.
|
||||
*/
|
||||
|
||||
:host[ignore-dir] {
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
:host[ignore-dir]:-moz-dir(rtl) h1 {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
/** Buttons
|
||||
---------------------------------------------------------*/
|
||||
|
||||
::content a,
|
||||
::content button {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
width: auto;
|
||||
height: auto;
|
||||
min-width: 50px;
|
||||
margin: 0;
|
||||
padding: 0 10px;
|
||||
outline: 0;
|
||||
border: 0;
|
||||
|
||||
font-size: 14px;
|
||||
line-height: 1;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
background: none;
|
||||
border-radius: 0;
|
||||
font-style: italic;
|
||||
cursor: pointer;
|
||||
transition: opacity 200ms 280ms;
|
||||
color: var(--gaia-header-button-color);
|
||||
}
|
||||
|
||||
/**
|
||||
* :active
|
||||
*/
|
||||
|
||||
::content a:active,
|
||||
::content button:active {
|
||||
transition: none;
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
/**
|
||||
* [hidden]
|
||||
*/
|
||||
|
||||
::content a[hidden],
|
||||
::content button[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* [disabled]
|
||||
*/
|
||||
|
||||
::content a[disabled],
|
||||
::content button[disabled] {
|
||||
pointer-events: none;
|
||||
color: var(--header-disabled-button-color);
|
||||
}
|
||||
|
||||
/** Icon Buttons
|
||||
---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Icons are a different color to text
|
||||
*/
|
||||
|
||||
::content .icon,
|
||||
::content [data-icon] {
|
||||
color:
|
||||
var(--header-icon-color,
|
||||
var(--gaia-header-button-color));
|
||||
}
|
||||
|
||||
/**
|
||||
* If users want their action button
|
||||
* to be in the component's light-dom
|
||||
* they can add an .action class
|
||||
* to make it look like the
|
||||
* shadow action button.
|
||||
*/
|
||||
|
||||
::content .action {
|
||||
color:
|
||||
var(--header-action-button-color,
|
||||
var(--header-icon-color,
|
||||
var(--gaia-header-button-color)));
|
||||
}
|
||||
|
||||
/**
|
||||
* [data-icon]:empty
|
||||
*
|
||||
* Icon buttons with no textContent,
|
||||
* should always be 50px.
|
||||
*
|
||||
* This is to prevent buttons being
|
||||
* larger than they should be before
|
||||
* icon-font has loaded.
|
||||
*/
|
||||
|
||||
::content [data-icon]:empty {
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
</style>`,nextTick:nextTick});function contributesToLayout(el){return el.localName!=='style'&&!el.hasAttribute('l10n-action');}
|
||||
function setStyleId(el,id){el._styleId=id;}
|
||||
function getStyleId(el){return el._styleId;}
|
||||
function nextTick(fn){var cleared;Promise.resolve().then(()=>{if(!cleared){fn();}});return{clear:function(){cleared=true;}};}});})(typeof define=='function'&&define.amd?define:(function(n,w){'use strict';return typeof module=='object'?function(c){c(require,exports,module);}:function(c){var m={exports:{}};c(function(n){return w[n];},m.exports,m);w[n]=m.exports;};})('gaia-header',this));},{"font-fit":1,"gaia-component":2,"gaia-icons":3}]},{},[4])(4)});;;(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.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);;;'use strict';window.systemTones=(function(){function _getSettingsBase(toneType){switch(toneType){case'ringtone':return'dialer.ringtone';case'alerttone':return'notification.ringtone';default:throw new Error('tone type not supported');}}
|
||||
function _getSetting(settingKey){return new Promise(function(resolve,reject){var req=navigator.mozSettings.createLock().get(settingKey);req.onsuccess=function(){resolve(req.result[settingKey]);};req.onerror=function(){reject(req.error);};});}
|
||||
function getDefault(toneType){var settingKey=_getSettingsBase(toneType)+'.default.id';return _getSetting(settingKey).then(function(id){return window.builtInRingtones.get(id);});}
|
||||
function set(toneType,tone){var settingsBase=_getSettingsBase(toneType);return tone.getBlob().then(function(blob){return new Promise(function(resolve,reject){navigator.mozL10n.once(function(){var settings={};var name=tone.l10nID?{l10nID:tone.l10nID}:tone.name;settings[settingsBase]=blob;settings[settingsBase+'.name']=name||'';settings[settingsBase+'.id']=tone.id;var req=navigator.mozSettings.createLock().set(settings);req.onsuccess=function(){resolve();};req.onerror=function(){reject(req.error);};});});});}
|
||||
function isInUse(tone){var inUseAs=[];var getCurrentID=function(toneType){return _getSetting(_getSettingsBase(toneType)+'.id');};return getCurrentID('ringtone').then(function(id){if(tone.id===id){inUseAs.push('ringtone');}
|
||||
return getCurrentID('alerttone').then(function(id){if(tone.id===id){inUseAs.push('alerttone');}
|
||||
return inUseAs;});});}
|
||||
return{getDefault:getDefault,set:set,isInUse:isInUse};})();;;'use strict';window.customRingtones=(function(){var ID_PREFIX='custom:';function CustomRingtone(info,dbKey){this._name=info.name;if(info.uniqueNum!==0||info.isExplicitNum){this._name+=' ('+info.uniqueNum+')';}
|
||||
this._subtitle=info.subtitle||null;this._id=ID_PREFIX+dbKey;this._blob=info.blob;}
|
||||
CustomRingtone.prototype={get name(){return this._name;},get filename(){return this._blob.name;},get subtitle(){return this._subtitle;},get id(){return this._id;},get type(){return'ringtone';},get url(){return this._url||(this._url=URL.createObjectURL(this._blob));},get shareable(){return true;},get deletable(){return true;},remove:function(){return remove(this.id);},getBlob:function(){return Promise.resolve(this._blob);}};function idToDBKey(id){if(id.indexOf(ID_PREFIX)!==0){throw new Error('invalid id: '+id);}
|
||||
return parseInt(id.substr(ID_PREFIX.length));}
|
||||
var DBNAME='customTones';var DBVERSION=1;var STORENAME='ringtones';var db=null;function withStore(type,callback){if(db){var transaction=db.transaction(STORENAME,type);callback(null,transaction.objectStore(STORENAME),transaction);}else{var openreq=indexedDB.open(DBNAME,DBVERSION);openreq.onerror=function(){console.error('customRingtones: can\'t open database:',openreq.error.name);callback(openreq.error);};openreq.onupgradeneeded=function(){var objStore=openreq.result.createObjectStore(STORENAME,{autoIncrement:true});objStore.createIndex('fullname',['name','subtitle','uniqueNum'],{unique:false});};openreq.onsuccess=function(){db=openreq.result;var transaction=db.transaction(STORENAME,type);callback(null,transaction.objectStore(STORENAME),transaction);};}}
|
||||
function uniqueify(info){return new Promise(function(resolve,reject){withStore('readonly',function(err,store){if(err){reject(err);return;}
|
||||
var nextUniqueNum=info.uniqueNum||0;var index=store.index('fullname');var req=index.openCursor(IDBKeyRange.bound([info.name,info.subtitle,0],[info.name,info.subtitle,Infinity]));req.onsuccess=function(event){var cursor=event.target.result;if(!cursor||nextUniqueNum<cursor.value.uniqueNum){resolve(nextUniqueNum);return;}
|
||||
nextUniqueNum=cursor.value.uniqueNum+1;cursor.continue();};req.onerror=function(){console.error('Error in customRingtones.uniqueify(): ',req.error.name);reject(req.error);};});});}
|
||||
function add(info){var cleanedInfo={name:info.name||'',subtitle:info.subtitle||'',blob:info.blob,uniqueNum:0};var m=/^(.*) \((\d+)\)$/.exec(cleanedInfo.name);if(m){cleanedInfo.name=m[1];cleanedInfo.uniqueNum=m[2];cleanedInfo.isExplicitNum=true;}
|
||||
return uniqueify(cleanedInfo).then(function(uniqueNum){return new Promise(function(resolve,reject){withStore('readwrite',function(err,store,transaction){if(err){reject(err);return;}
|
||||
cleanedInfo.uniqueNum=uniqueNum;var tone;var req=store.add(cleanedInfo);req.onsuccess=function(event){tone=new CustomRingtone(cleanedInfo,event.target.result);};transaction.oncomplete=function(event){resolve(tone);};transaction.onabort=transaction.onerror=function(){console.error('Error in customRingtones.add(): ',transaction.error.name);reject(req.error);};});});});}
|
||||
function remove(id){return new Promise(function(resolve,reject){withStore('readwrite',function(err,store,transaction){if(err){reject(err);return;}
|
||||
var req=store.delete(idToDBKey(id));transaction.oncomplete=function(event){resolve();};transaction.onabort=transaction.onerror=function(){console.error('Error in customRingtones.remove(): ',transaction.error.name);reject(req.error);};});});}
|
||||
function clear(){return new Promise(function(resolve,reject){withStore('readwrite',function(err,store,transaction){if(err){reject(err);return;}
|
||||
var req=store.clear();transaction.oncomplete=function(event){resolve();};transaction.onabort=transaction.onerror=function(){console.error('Error in customRingtones.clear(): ',transaction.error.name);reject(req.error);};});});}
|
||||
function get(id){return new Promise(function(resolve,reject){withStore('readonly',function(err,store){if(err){reject(err);return;}
|
||||
var key=idToDBKey(id);var req=store.get(key);req.onsuccess=function(event){var data=event.target.result;if(!data){resolve(null);}else{resolve(new CustomRingtone(data,key));}};req.onerror=function(){console.error('Error in customRingtones.get(): ',req.error.name);reject(req.error);};});});}
|
||||
function list(toneType){return new Promise(function(resolve,reject){if(toneType==='alerttone'){resolve([]);return;}
|
||||
withStore('readonly',function(err,store){if(err){reject(err);return;}
|
||||
var req=store.openCursor();var results=[];req.onsuccess=function listOnSuccess(event){var cursor=event.target.result;if(cursor){var value=cursor.value;results.push(new CustomRingtone(value,cursor.key));cursor.continue();}else{resolve(results);}};req.onerror=function listOnError(){console.error('Error in customRingtones.list(): ',req.error.name);reject(req.error);};});});}
|
||||
return{add:add,remove:remove,clear:clear,get:get,list:list};})();;'use strict';screen.mozLockOrientation('portrait');if(document.location.hash==='#activity'){navigator.mozSetMessageHandler('activity',function(activity){function flatten(arr){return arr&&arr.length?arr[0]:null;}
|
||||
var data=activity.source.data;data.blob=flatten(data.blobs);data.metadata=flatten(data.metadata);data.name=flatten(data.filenames);handleShare(data,function(command,details){switch(command){case'save':activity.postResult({});break;case'cancel':activity.postError('pick cancelled');break;case'error':activity.postError('pick error');break;}});});}
|
||||
else{window.addEventListener('visibilitychange',function(){if(document.hidden){window.close();}});window.addEventListener('message',function(event){if(event.origin!==window.location.origin){console.error('Couldn\'t recieve message: origins don\'t match',event.origin,window.location.origin);return;}
|
||||
handleShare(event.data,function(command,details){event.source.postMessage({command:command,details:details},event.origin);window.close();});});}
|
||||
function handleShare(data,callback){navigator.mozL10n.once(function(){function showError(title,message,okCallback){var okButton={title:'ok',callback:function(){CustomDialog.hide();okCallback();}};CustomDialog.show(title,message,okButton);}
|
||||
var save=document.getElementById('save');var header=document.getElementById('header');var control=document.getElementById('playpause');var preview=document.getElementById('preview');var songtitle;if(data.metadata&&data.metadata.title){songtitle=data.metadata.title;}
|
||||
else if(data.name){songtitle=data.name;}
|
||||
else{songtitle='ringtone-untitled';}
|
||||
var subtitle='';if(data.metadata&&data.metadata.artist){subtitle=data.metadata.artist;}
|
||||
document.getElementById('songtitle').textContent=songtitle;document.getElementById('artist').textContent=subtitle;if(data.metadata&&data.metadata.picture){if(!subtitle){document.getElementById('artist').textContent='\u00a0';}
|
||||
try{var pictureURL=URL.createObjectURL(data.metadata.picture);var picture=document.getElementById('picture');picture.hidden=false;picture.style.backgroundImage='url('+pictureURL+')';}
|
||||
catch(e){console.error('Couldn\'t set picture:',e);}}
|
||||
control.addEventListener('click',function(){if(preview.paused){(function(){var hack_activity_property='_hack_hack_shut_up';var hack_settings_property=data[hack_activity_property];if(hack_settings_property){var lock=navigator.mozSettings.createLock();lock.get(hack_settings_property).onsuccess=function(e){var value=e.target.result[hack_settings_property];var o={};o[hack_settings_property]=!value;navigator.mozSettings.createLock().set(o).onsuccess=function(){preview.play();};delete data[hack_activity_property];};}
|
||||
else{preview.play();}}());}
|
||||
else{preview.pause();}});preview.src=URL.createObjectURL(data.blob);preview.addEventListener('canplay',function(){save.disabled=false;});preview.addEventListener('error',function(){showError('play-error-title','play-error-desc',callback.bind(null,'error'));});preview.addEventListener('playing',function(){control.classList.add('playing');});preview.addEventListener('pause',function(){control.classList.remove('playing');});header.addEventListener('action',function(){callback('cancel');});save.addEventListener('click',function(){save.disabled=true;document.getElementById('saving-overlay').hidden=false;var info={name:songtitle,subtitle:subtitle,blob:data.blob};window.customRingtones.add(info).then(function(tone){if(document.getElementById('default-switch').checked){return window.systemTones.set('ringtone',tone).then(function(){return{toneID:tone.id,setAsDefault:true};});}
|
||||
return{toneID:tone.id,setAsDefault:false};}).then(function(details){NotificationHelper.send(songtitle,{bodyL10n:details.setAsDefault?'set-default-tone':'created-tone',closeOnClick:false}).then((notification)=>{notification.close();callback('save',details);});},function(error){console.log('Error saving ringtone',error);showError('save-error-title','save-error-desc',callback.bind(null,'error'));});});});}
|
||||
245
assets/webapps/ringtones.gaiamobile.org/gaia_build_manage.js
Normal file
245
assets/webapps/ringtones.gaiamobile.org/gaia_build_manage.js
Normal file
|
|
@ -0,0 +1,245 @@
|
|||
;(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={'&':'&','<':'<','>':'>',};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);
|
||||
245
assets/webapps/ringtones.gaiamobile.org/gaia_build_pick.js
Normal file
245
assets/webapps/ringtones.gaiamobile.org/gaia_build_pick.js
Normal file
|
|
@ -0,0 +1,245 @@
|
|||
;;;(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={'&':'&','<':'<','>':'>',};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);
|
||||
252
assets/webapps/ringtones.gaiamobile.org/gaia_build_share.js
Normal file
252
assets/webapps/ringtones.gaiamobile.org/gaia_build_share.js
Normal file
|
|
@ -0,0 +1,252 @@
|
|||
;;(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={'&':'&','<':'<','>':'>',};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);;(function(window){'use strict';window.NotificationHelper={getIconURI:function nh_getIconURI(app,entryPoint){var icons=app.manifest.icons;if(entryPoint){icons=app.manifest.entry_points[entryPoint].icons;}
|
||||
if(!icons){return null;}
|
||||
var sizes=Object.keys(icons).map(function parse(str){return parseInt(str,10);});sizes.sort(function(x,y){return y-x;});var HVGA=document.documentElement.clientWidth<480;var index=sizes[HVGA?sizes.length-1:0];return app.installOrigin+icons[index];},send:function nh_send(titleL10n,options){return Promise.all([titleL10n,options.bodyL10n].map(getL10n)).then(([title,body])=>{if(body){options.body=body;}
|
||||
options.lang=document.documentElement.getAttribute('lang');var notification=new window.Notification(title,options);if(options.closeOnClick!==false){notification.addEventListener('click',function nh_click(){notification.removeEventListener('click',nh_click);notification.close();});}
|
||||
return notification;});},};function getL10n(l10nAttrs){if(!l10nAttrs){return;}
|
||||
if(typeof l10nAttrs==='string'){return document.l10n.formatValue(l10nAttrs);}
|
||||
if(typeof l10nAttrs.raw==="string"){return l10nAttrs.raw;}
|
||||
return document.l10n.formatValue(l10nAttrs.id,l10nAttrs.args);}})(this);
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
;'use strict';function ActionsMenu(menuElement){this._menuElement=menuElement;function getButton(action){return menuElement.querySelector('button[data-action="'+action+'"]');}
|
||||
this._shareButton=getButton('share');this._deleteButton=getButton('delete');this._shareButton.addEventListener('click',this._share.bind(this));this._deleteButton.addEventListener('click',this._delete.bind(this));}
|
||||
ActionsMenu.prototype={open:function(tone,inUseAs,callback){if(!this._menuElement.hidden){throw new Error('actions menu is already open');}
|
||||
if(tone.shareable||tone.deletable){this._tone=tone;this._callback=callback;this._menuElement.hidden=false;this._inUseAs=inUseAs;this._shareButton.hidden=!tone.shareable;this._shareButton.dataset.l10nId='actions-share-'+tone.type;this._deleteButton.hidden=!tone.deletable;this._deleteButton.dataset.l10nId='actions-delete-'+tone.type;}
|
||||
return!this._menuElement.hidden;},_share:function(event){var self=this;this._menuElement.hide();this._tone.getBlob().then(function(blob){var activity=new MozActivity({name:'share',data:{type:'audio/*',__bug1015513_hide_from_self__:true,number:1,blobs:[blob],filenames:[self._tone.filename],metadata:[{title:self._tone.name}]}});activity.onerror=function(e){console.warn('share activity error:',activity.error.name);self._finish('share');};activity.onsuccess=function(e){self._finish('share');};});},_delete:function(event){var self=this;this._menuElement.hide();var messageKey='delete-message';if(self._inUseAs.length){messageKey+='-default-'+self._inUseAs[0];}
|
||||
var cancelButton={title:'delete-cancel',callback:function(){CustomDialog.hide();self._finish('cancel');}};var confirmButton={title:'delete-confirm',callback:function(){CustomDialog.hide();Toaster.showToast({messageL10nId:'deleted-'+self._tone.type,latency:3000,useTransition:true});self._tone.remove();self._finish('delete');}};CustomDialog.show('delete-title',{id:messageKey,args:{tone:self._tone.name}},cancelButton,confirmButton);},_finish:function(command){if(this._callback){this._callback(command);}
|
||||
this._tone=null;this._callback=null;this._inUseAs=null;}};
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
;;'use strict';window.builtInRingtones=(function(){var ID_PREFIX='builtin:';var BASE_URLS={'ringtone':'/shared/resources/media/ringtones/','alerttone':'/shared/resources/media/notifications/'};var mimeTypeMap={'.mp3':'audio/mp3','.mp4':'audio/mp4','.ogg':'audio/ogg','.opus':'audio/ogg'};function inferMimeType(filename){var dot=filename.lastIndexOf('.');if(dot===-1){console.warn('Couldn\'t infer mimetype for '+filename);return'application/octet-stream';}
|
||||
var ext=filename.substr(dot);return mimeTypeMap[ext]||'application/octet-stream';}
|
||||
function BuiltInRingtone(toneType,filename,toneDef){this._toneType=toneType;this._filename=filename;this._l10nID=toneDef.l10nID;}
|
||||
BuiltInRingtone.prototype={get _rootName(){return this._filename.replace(/\.\w+$/,'');},get name(){return navigator.mozL10n.get(this.l10nID);},get filename(){return this._filename;},get l10nID(){return this._l10nID;},get id(){return ID_PREFIX+this._toneType+'/'+this._rootName;},get type(){return this._toneType;},get url(){return BASE_URLS[this._toneType]+this._filename;},get shareable(){return true;},get deletable(){return false;},getBlob:function(){var url=this.url;return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest();xhr.open('GET',url);xhr.overrideMimeType(inferMimeType(url));xhr.responseType='blob';xhr.send();xhr.onload=function(){resolve(xhr.response);};xhr.onerror=function(){var err=new Error('Could not read sound file: '+url+' (status: '+xhr.status+')');console.error(err);reject(err);};});}};function idToToneType(id){var slash=id.indexOf('/');if(id.indexOf(ID_PREFIX)!==0||slash===-1){throw new Error('invalid id: '+id);}
|
||||
return id.substring(ID_PREFIX.length,slash);}
|
||||
function idMatchesFilename(id,toneType,filename){return id===ID_PREFIX+toneType+'/'+filename.replace(/\.\w+$/,'');}
|
||||
var toneDefsCache={};function getSoundFilenames(toneType){if(!(toneType in BASE_URLS)){throw new Error('tone type not supported: '+toneType);}
|
||||
return new Promise(function(resolve,reject){if(toneType in toneDefsCache){resolve(toneDefsCache[toneType]);return;}
|
||||
var xhr=new XMLHttpRequest();xhr.open('GET',BASE_URLS[toneType]+'list.json');xhr.responseType='json';xhr.send(null);xhr.onload=function(){toneDefsCache[toneType]=xhr.response;resolve(xhr.response);};xhr.onerror=function(){var err=new Error('Could not read sounds list for '+toneType+' (status: '+xhr.status+')');console.error(err);reject(err);};});}
|
||||
function list(toneType){return getSoundFilenames(toneType).then(function(toneDefs){var tones=[];for(var filename in toneDefs){tones.push(new BuiltInRingtone(toneType,filename,toneDefs[filename]));}
|
||||
return tones;});}
|
||||
function get(id){return new Promise(function(resolve,reject){var toneType=idToToneType(id);resolve(getSoundFilenames(toneType).then(function(toneDefs){for(var filename in toneDefs){if(idMatchesFilename(id,toneType,filename)){return new BuiltInRingtone(toneType,filename,toneDefs[filename]);}}
|
||||
var err=new Error('No '+toneType+' found with id = '+id);console.error(err);throw err;}));});}
|
||||
return{list:list,get:get,get toneTypes(){return Object.keys(BASE_URLS);}};})();
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
;;;'use strict';window.customRingtones=(function(){var ID_PREFIX='custom:';function CustomRingtone(info,dbKey){this._name=info.name;if(info.uniqueNum!==0||info.isExplicitNum){this._name+=' ('+info.uniqueNum+')';}
|
||||
this._subtitle=info.subtitle||null;this._id=ID_PREFIX+dbKey;this._blob=info.blob;}
|
||||
CustomRingtone.prototype={get name(){return this._name;},get filename(){return this._blob.name;},get subtitle(){return this._subtitle;},get id(){return this._id;},get type(){return'ringtone';},get url(){return this._url||(this._url=URL.createObjectURL(this._blob));},get shareable(){return true;},get deletable(){return true;},remove:function(){return remove(this.id);},getBlob:function(){return Promise.resolve(this._blob);}};function idToDBKey(id){if(id.indexOf(ID_PREFIX)!==0){throw new Error('invalid id: '+id);}
|
||||
return parseInt(id.substr(ID_PREFIX.length));}
|
||||
var DBNAME='customTones';var DBVERSION=1;var STORENAME='ringtones';var db=null;function withStore(type,callback){if(db){var transaction=db.transaction(STORENAME,type);callback(null,transaction.objectStore(STORENAME),transaction);}else{var openreq=indexedDB.open(DBNAME,DBVERSION);openreq.onerror=function(){console.error('customRingtones: can\'t open database:',openreq.error.name);callback(openreq.error);};openreq.onupgradeneeded=function(){var objStore=openreq.result.createObjectStore(STORENAME,{autoIncrement:true});objStore.createIndex('fullname',['name','subtitle','uniqueNum'],{unique:false});};openreq.onsuccess=function(){db=openreq.result;var transaction=db.transaction(STORENAME,type);callback(null,transaction.objectStore(STORENAME),transaction);};}}
|
||||
function uniqueify(info){return new Promise(function(resolve,reject){withStore('readonly',function(err,store){if(err){reject(err);return;}
|
||||
var nextUniqueNum=info.uniqueNum||0;var index=store.index('fullname');var req=index.openCursor(IDBKeyRange.bound([info.name,info.subtitle,0],[info.name,info.subtitle,Infinity]));req.onsuccess=function(event){var cursor=event.target.result;if(!cursor||nextUniqueNum<cursor.value.uniqueNum){resolve(nextUniqueNum);return;}
|
||||
nextUniqueNum=cursor.value.uniqueNum+1;cursor.continue();};req.onerror=function(){console.error('Error in customRingtones.uniqueify(): ',req.error.name);reject(req.error);};});});}
|
||||
function add(info){var cleanedInfo={name:info.name||'',subtitle:info.subtitle||'',blob:info.blob,uniqueNum:0};var m=/^(.*) \((\d+)\)$/.exec(cleanedInfo.name);if(m){cleanedInfo.name=m[1];cleanedInfo.uniqueNum=m[2];cleanedInfo.isExplicitNum=true;}
|
||||
return uniqueify(cleanedInfo).then(function(uniqueNum){return new Promise(function(resolve,reject){withStore('readwrite',function(err,store,transaction){if(err){reject(err);return;}
|
||||
cleanedInfo.uniqueNum=uniqueNum;var tone;var req=store.add(cleanedInfo);req.onsuccess=function(event){tone=new CustomRingtone(cleanedInfo,event.target.result);};transaction.oncomplete=function(event){resolve(tone);};transaction.onabort=transaction.onerror=function(){console.error('Error in customRingtones.add(): ',transaction.error.name);reject(req.error);};});});});}
|
||||
function remove(id){return new Promise(function(resolve,reject){withStore('readwrite',function(err,store,transaction){if(err){reject(err);return;}
|
||||
var req=store.delete(idToDBKey(id));transaction.oncomplete=function(event){resolve();};transaction.onabort=transaction.onerror=function(){console.error('Error in customRingtones.remove(): ',transaction.error.name);reject(req.error);};});});}
|
||||
function clear(){return new Promise(function(resolve,reject){withStore('readwrite',function(err,store,transaction){if(err){reject(err);return;}
|
||||
var req=store.clear();transaction.oncomplete=function(event){resolve();};transaction.onabort=transaction.onerror=function(){console.error('Error in customRingtones.clear(): ',transaction.error.name);reject(req.error);};});});}
|
||||
function get(id){return new Promise(function(resolve,reject){withStore('readonly',function(err,store){if(err){reject(err);return;}
|
||||
var key=idToDBKey(id);var req=store.get(key);req.onsuccess=function(event){var data=event.target.result;if(!data){resolve(null);}else{resolve(new CustomRingtone(data,key));}};req.onerror=function(){console.error('Error in customRingtones.get(): ',req.error.name);reject(req.error);};});});}
|
||||
function list(toneType){return new Promise(function(resolve,reject){if(toneType==='alerttone'){resolve([]);return;}
|
||||
withStore('readonly',function(err,store){if(err){reject(err);return;}
|
||||
var req=store.openCursor();var results=[];req.onsuccess=function listOnSuccess(event){var cursor=event.target.result;if(cursor){var value=cursor.value;results.push(new CustomRingtone(value,cursor.key));cursor.continue();}else{resolve(results);}};req.onerror=function listOnError(){console.error('Error in customRingtones.list(): ',req.error.name);reject(req.error);};});});}
|
||||
return{add:add,remove:remove,clear:clear,get:get,list:list};})();
|
||||
5
assets/webapps/ringtones.gaiamobile.org/js/manage.js
Normal file
5
assets/webapps/ringtones.gaiamobile.org/js/manage.js
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
;'use strict';navigator.mozSetMessageHandler('activity',function(activity){var tonePlayer=new TonePlayer();document.getElementById('header').addEventListener('action',function(){tonePlayer.stop();window.close();});function addNewTone(customRingtonesList){tonePlayer.stop();var pickActivity=new MozActivity({name:'pick',data:{type:'audio/*'}});pickActivity.onsuccess=function(){var result=pickActivity.result;var popup=window.open('share.html','share','mozhaidasheet');popup.addEventListener('load',function loaded(){popup.removeEventListener('load',loaded);popup.postMessage(result,window.location.origin);});window.addEventListener('message',function receive(event){window.removeEventListener('message',receive);if(event.origin!==window.location.origin){console.error('Couldn\'t recieve message: origins don\'t match',event.origin,window.location.origin);return;}
|
||||
var data=event.data;if(data.command!=='save'){return;}
|
||||
window.customRingtones.get(data.details.toneID).then(function(tone){customRingtonesList.add(tone);});});};}
|
||||
var actionsMenu=new ActionsMenu(document.getElementById('ringtone-actions'));function ManagerToneList(...args){ToneList.apply(this,args);}
|
||||
ManagerToneList.prototype=Object.create(ToneList.prototype);ManagerToneList.prototype.constructor=ManagerToneList;ManagerToneList.prototype.makeItem=function(tone){var item=ToneList.prototype.makeItem.call(this,tone);item.querySelector('.desc').addEventListener('click',function(){tonePlayer.setTone(tone,function(playing){item.dataset.playing=playing;});});var self=this;var actionsButton=item.querySelector('.actions-button');actionsButton.addEventListener('click',function(){tonePlayer.stop();window.systemTones.isInUse(tone).then(function(inUseAs){actionsMenu.open(tone,inUseAs,function(command){if(command==='delete'){self.remove(tone);inUseAs.forEach(function(toneType){window.systemTones.getDefault(toneType).then(function(tone){window.systemTones.set(toneType,tone);});});}});});});return item;};navigator.mozL10n.once(function(){var promises=[];var listParent=document.getElementById('list-parent');window.builtInRingtones.toneTypes.forEach(function(toneType){var builtInList=new ManagerToneList('section-title-builtin-'+toneType,listParent);promises.push(window.builtInRingtones.list(toneType).then(function(tones){builtInList.add(tones);}));var customList=new ManagerToneList('section-title-custom-'+toneType,listParent);promises.push(window.customRingtones.list(toneType).then(function(tones){customList.add(tones);if(toneType==='ringtone'){document.getElementById('add').addEventListener('click',addNewTone.bind(null,customList));}}));promises.push(window.sdCardRingtones.list(toneType).then(function(tones){customList.add(tones);}));});Promise.all(promises).then(function(){document.querySelector('body').dataset.ready=true;});});});
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
;'use strict';var Templates={soundList:function({l10nID}){return Sanitizer.escapeHTML`
|
||||
<section hidden>
|
||||
<gaia-subheader skin="organic">
|
||||
<span data-l10n-id="${l10nID}"></span>
|
||||
</gaia-subheader>
|
||||
<ul data-type="list"></ul>
|
||||
</section>`;},soundItem:function({l10nID,name}){return Sanitizer.escapeHTML`
|
||||
<li>
|
||||
<aside class="pack-end">
|
||||
<a class="actions-button"></a>
|
||||
</aside>
|
||||
<div class="desc">
|
||||
<div class="play-icon"></div>
|
||||
<p class="name"><bdi data-l10n-id="${l10nID}">${name}</bdi></p>
|
||||
</div>
|
||||
</li>`;}};
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
;'use strict';function NullRingtone(){}
|
||||
NullRingtone.prototype={get name(){return navigator.mozL10n.get(this.l10nID);},get filename(){return null;},get l10nID(){return'ringtone-none';},get id(){return'none:none';},get type(){return null;},get url(){return null;},get shareable(){return false;},get deletable(){return false;},getBlob:function(){return new Promise(function(resolve,reject){resolve(null);});}};
|
||||
5
assets/webapps/ringtones.gaiamobile.org/js/pick.js
Normal file
5
assets/webapps/ringtones.gaiamobile.org/js/pick.js
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
;'use strict';navigator.mozSetMessageHandler('activity',function(activity){var tonePlayer=new TonePlayer();var toneTypes=activity.source.data.type;var allowNone=activity.source.data.allowNone;var currentToneID=activity.source.data.currentToneID;var allToneTypes=window.builtInRingtones.toneTypes;if(!Array.isArray(toneTypes)){toneTypes=[toneTypes];}
|
||||
toneTypes=toneTypes.filter(function(x){return allToneTypes.indexOf(x)!==-1;});var otherToneTypes=allToneTypes.filter(function(x){return toneTypes.indexOf(x)===-1;});document.getElementById('header').addEventListener('action',function(){tonePlayer.stop();activity.postError('cancelled');});document.getElementById('set').addEventListener('click',function(){tonePlayer.stop();tonePlayer.isValid(function(valid){if(!valid){activity.postError('cancelled');}
|
||||
var selectedTone=tonePlayer.currentTone;selectedTone.getBlob().then(function(blob){activity.postResult({name:selectedTone.name,l10nID:selectedTone.l10nID,id:selectedTone.id,blob:blob});});});});function PickerToneList(...args){ToneList.apply(this,args);}
|
||||
PickerToneList.prototype=Object.create(ToneList.prototype);PickerToneList.prototype.constructor=PickerToneList;PickerToneList.prototype.makeItem=function(tone){var item=ToneList.prototype.makeItem.call(this,tone);var input=item.querySelector('gaia-radio');input.checked=(tone.id===currentToneID);input.addEventListener('click',function(){tonePlayer.setTone(tone);document.getElementById('set').disabled=false;});return item;};navigator.mozL10n.once(function(){var promises=[];var listParent=document.getElementById('list-parent');function addToneLists(toneType,includeNone){var builtInList=new PickerToneList('section-title-builtin-'+toneType,listParent);promises.push(window.builtInRingtones.list(toneType).then(function(tones){builtInList.add(tones);if(includeNone){builtInList.add(new NullRingtone());}}));var customList=new PickerToneList('section-title-custom-'+toneType,listParent);promises.push(window.customRingtones.list(toneType).then(function(tones){customList.add(tones);}));promises.push(window.sdCardRingtones.list(toneType).then(function(tones){customList.add(tones);}));}
|
||||
toneTypes.forEach(function(toneType,i){addToneLists(toneType,i===0&&allowNone);});otherToneTypes.forEach(function(toneType){addToneLists(toneType);});Promise.all(promises).then(function(listsData){document.querySelector('body').dataset.ready=true;});});});
|
||||
17
assets/webapps/ringtones.gaiamobile.org/js/pick_templates.js
Normal file
17
assets/webapps/ringtones.gaiamobile.org/js/pick_templates.js
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
;'use strict';var Templates={soundList:function({l10nID}){return Sanitizer.escapeHTML`
|
||||
<section hidden>
|
||||
<gaia-subheader skin="organic">
|
||||
<span data-l10n-id="${l10nID}"></span>
|
||||
</gaia-subheader>
|
||||
<section data-type="list">
|
||||
<ul></ul>
|
||||
</section>
|
||||
</section>`;},soundItem:function({l10nID,name}){return Sanitizer.escapeHTML`
|
||||
<li>
|
||||
<gaia-radio name="sounds" class="truncate">
|
||||
<label class="name">
|
||||
<bdi data-l10n-id="${l10nID}">${name}</bdi>
|
||||
</label>
|
||||
<details></details>
|
||||
</gaia-radio>
|
||||
</li>`;}};
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
;;'use strict';window.sdCardRingtones=(function(){var ID_PREFIX='sdcard:';var BASE_DIRS={'ringtone':'Ringtones','alerttone':'Notifications'};function pathToType(path){var folder=new RegExp('^(/[^/]*/)?([^/]*)/').exec(path)[2];for(var type in BASE_DIRS){if(BASE_DIRS[type]===folder){return type;}}
|
||||
throw new Error('unexpected SD card folder: '+folder);}
|
||||
function SDCardRingtone(file){var leafname=file.name.substr(file.name.lastIndexOf('/')+1);this._name=leafname.replace(/\.\w+$/,'');this._blob=file;this._type=pathToType(this._blob.name);}
|
||||
SDCardRingtone.prototype={get name(){return this._name;},get filename(){return this._blob.name;},get subtitle(){return navigator.mozL10n.get('sd-card-subtitle');},get id(){return ID_PREFIX+this._blob.name;},get type(){return this._type;},get url(){return this._url||(this._url=URL.createObjectURL(this._blob));},get shareable(){return true;},get deletable(){return true;},remove:function(){return remove(this.id);},getBlob:function(){return Promise.resolve(this._blob);}};function idToFilename(id){return id.substr(ID_PREFIX.length);}
|
||||
var defaultStorage=navigator.getDeviceStorage('music');function remove(id){return new Promise(function(resolve,reject){var request=defaultStorage.delete(idToFilename(id));request.onsuccess=function(){resolve();};request.onerror=function(){console.error('Error in sdCardRingtones.remove(): ',this.error);reject(this.error);};});}
|
||||
function get(id){return new Promise(function(resolve,reject){var request=defaultStorage.get(idToFilename(id));request.onsuccess=function(){resolve(new SDCardRingtone(this.result));};request.onerror=function(){console.error('Error in sdCardRingtones.get(): ',this.error);reject(this.error);};});}
|
||||
function list(toneType){if(!(toneType in BASE_DIRS)){throw new Error('tone type not supported: '+toneType);}
|
||||
return new Promise(function(resolve,reject){var results=[];var sdcards=navigator.getDeviceStorages('music');var cursor=enumerateAll(sdcards,BASE_DIRS[toneType]);cursor.onsuccess=function(){var file=this.result;if(file){if(file.name[0]!=='.'&&file.name.indexOf('/.')===-1){results.push(new SDCardRingtone(file));}
|
||||
this.continue();}else{resolve(results);}};cursor.onerror=function(){if(this.error.name==='NotFoundError'||this.error.name==='TypeMismatchError'){resolve([]);}else{console.error('Error in sdCardRingtones.list(): ',this.error);reject(this.error);}};});}
|
||||
return{remove:remove,get:get,list:list};})();
|
||||
16
assets/webapps/ringtones.gaiamobile.org/js/share.js
Normal file
16
assets/webapps/ringtones.gaiamobile.org/js/share.js
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
;'use strict';screen.mozLockOrientation('portrait');if(document.location.hash==='#activity'){navigator.mozSetMessageHandler('activity',function(activity){function flatten(arr){return arr&&arr.length?arr[0]:null;}
|
||||
var data=activity.source.data;data.blob=flatten(data.blobs);data.metadata=flatten(data.metadata);data.name=flatten(data.filenames);handleShare(data,function(command,details){switch(command){case'save':activity.postResult({});break;case'cancel':activity.postError('pick cancelled');break;case'error':activity.postError('pick error');break;}});});}
|
||||
else{window.addEventListener('visibilitychange',function(){if(document.hidden){window.close();}});window.addEventListener('message',function(event){if(event.origin!==window.location.origin){console.error('Couldn\'t recieve message: origins don\'t match',event.origin,window.location.origin);return;}
|
||||
handleShare(event.data,function(command,details){event.source.postMessage({command:command,details:details},event.origin);window.close();});});}
|
||||
function handleShare(data,callback){navigator.mozL10n.once(function(){function showError(title,message,okCallback){var okButton={title:'ok',callback:function(){CustomDialog.hide();okCallback();}};CustomDialog.show(title,message,okButton);}
|
||||
var save=document.getElementById('save');var header=document.getElementById('header');var control=document.getElementById('playpause');var preview=document.getElementById('preview');var songtitle;if(data.metadata&&data.metadata.title){songtitle=data.metadata.title;}
|
||||
else if(data.name){songtitle=data.name;}
|
||||
else{songtitle='ringtone-untitled';}
|
||||
var subtitle='';if(data.metadata&&data.metadata.artist){subtitle=data.metadata.artist;}
|
||||
document.getElementById('songtitle').textContent=songtitle;document.getElementById('artist').textContent=subtitle;if(data.metadata&&data.metadata.picture){if(!subtitle){document.getElementById('artist').textContent='\u00a0';}
|
||||
try{var pictureURL=URL.createObjectURL(data.metadata.picture);var picture=document.getElementById('picture');picture.hidden=false;picture.style.backgroundImage='url('+pictureURL+')';}
|
||||
catch(e){console.error('Couldn\'t set picture:',e);}}
|
||||
control.addEventListener('click',function(){if(preview.paused){(function(){var hack_activity_property='_hack_hack_shut_up';var hack_settings_property=data[hack_activity_property];if(hack_settings_property){var lock=navigator.mozSettings.createLock();lock.get(hack_settings_property).onsuccess=function(e){var value=e.target.result[hack_settings_property];var o={};o[hack_settings_property]=!value;navigator.mozSettings.createLock().set(o).onsuccess=function(){preview.play();};delete data[hack_activity_property];};}
|
||||
else{preview.play();}}());}
|
||||
else{preview.pause();}});preview.src=URL.createObjectURL(data.blob);preview.addEventListener('canplay',function(){save.disabled=false;});preview.addEventListener('error',function(){showError('play-error-title','play-error-desc',callback.bind(null,'error'));});preview.addEventListener('playing',function(){control.classList.add('playing');});preview.addEventListener('pause',function(){control.classList.remove('playing');});header.addEventListener('action',function(){callback('cancel');});save.addEventListener('click',function(){save.disabled=true;document.getElementById('saving-overlay').hidden=false;var info={name:songtitle,subtitle:subtitle,blob:data.blob};window.customRingtones.add(info).then(function(tone){if(document.getElementById('default-switch').checked){return window.systemTones.set('ringtone',tone).then(function(){return{toneID:tone.id,setAsDefault:true};});}
|
||||
return{toneID:tone.id,setAsDefault:false};}).then(function(details){NotificationHelper.send(songtitle,{bodyL10n:details.setAsDefault?'set-default-tone':'created-tone',closeOnClick:false}).then((notification)=>{notification.close();callback('save',details);});},function(error){console.log('Error saving ringtone',error);showError('save-error-title','save-error-desc',callback.bind(null,'error'));});});});}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
;;'use strict';window.systemTones=(function(){function _getSettingsBase(toneType){switch(toneType){case'ringtone':return'dialer.ringtone';case'alerttone':return'notification.ringtone';default:throw new Error('tone type not supported');}}
|
||||
function _getSetting(settingKey){return new Promise(function(resolve,reject){var req=navigator.mozSettings.createLock().get(settingKey);req.onsuccess=function(){resolve(req.result[settingKey]);};req.onerror=function(){reject(req.error);};});}
|
||||
function getDefault(toneType){var settingKey=_getSettingsBase(toneType)+'.default.id';return _getSetting(settingKey).then(function(id){return window.builtInRingtones.get(id);});}
|
||||
function set(toneType,tone){var settingsBase=_getSettingsBase(toneType);return tone.getBlob().then(function(blob){return new Promise(function(resolve,reject){navigator.mozL10n.once(function(){var settings={};var name=tone.l10nID?{l10nID:tone.l10nID}:tone.name;settings[settingsBase]=blob;settings[settingsBase+'.name']=name||'';settings[settingsBase+'.id']=tone.id;var req=navigator.mozSettings.createLock().set(settings);req.onsuccess=function(){resolve();};req.onerror=function(){reject(req.error);};});});});}
|
||||
function isInUse(tone){var inUseAs=[];var getCurrentID=function(toneType){return _getSetting(_getSettingsBase(toneType)+'.id');};return getCurrentID('ringtone').then(function(id){if(tone.id===id){inUseAs.push('ringtone');}
|
||||
return getCurrentID('alerttone').then(function(id){if(tone.id===id){inUseAs.push('alerttone');}
|
||||
return inUseAs;});});}
|
||||
return{getDefault:getDefault,set:set,isInUse:isInUse};})();
|
||||
14
assets/webapps/ringtones.gaiamobile.org/js/tone_list.js
Normal file
14
assets/webapps/ringtones.gaiamobile.org/js/tone_list.js
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
;;'use strict';var ToneList=(function(){var NONE_ID='none:none';function toneCompare(a,b){if(a.id===NONE_ID&&b.id===NONE_ID){return 0;}else if(a.id===NONE_ID){return-1;}else if(b.id===NONE_ID){return 1;}
|
||||
var aName=a.name.toLocaleLowerCase();var bName=b.name.toLocaleLowerCase();var cmp=aName.localeCompare(bName);if(cmp){return cmp;}
|
||||
var aSubtitle=(a.subtitle||'').toLocaleLowerCase();var bSubtitle=(b.subtitle||'').toLocaleLowerCase();return aSubtitle.localeCompare(bSubtitle);}
|
||||
function domify(htmlText){var dummyDiv=document.createElement('div');dummyDiv.innerHTML=htmlText;var element=dummyDiv.firstElementChild;return element;}
|
||||
function ToneList(titleID,parent){this.element=domify(Templates.soundList({l10nID:titleID}));if(parent){parent.appendChild(this.element);}
|
||||
this._ul=this.element.querySelector('ul');this._toneMap={};}
|
||||
ToneList.prototype={makeItem:function(tone){var templateArgs={};if(tone.l10nID){templateArgs.l10nID=tone.l10nID;}else{templateArgs.name=tone.name;}
|
||||
var item=domify(Templates.soundItem(templateArgs));item.dataset.id=tone.id;var detailNode=item.querySelector('details');if(detailNode&&tone.subtitle){detailNode.textContent=tone.subtitle;}else if(detailNode){detailNode.parentNode.hideDetails();}else if(tone.subtitle){var subtitle=document.createElement('p');subtitle.classList.add('subtitle');var bdi=document.createElement('bdi');bdi.textContent=tone.subtitle;subtitle.appendChild(bdi);item.querySelector('.name').parentNode.appendChild(subtitle);}
|
||||
return item;},add:function(tones){if(this._ul.children.length===0){if(Array.isArray(tones)){tones.sort(toneCompare);tones.forEach(this._append.bind(this));}else{this._append(tones);}}else{if(Array.isArray(tones)){tones.forEach(this._insertSorted.bind(this));}else{this._insertSorted(tones);}}},remove:function(tone){this._ul.removeChild(this._toneMap[tone.id].element);if(!this._ul.firstChild){this.element.hidden=true;}},_append:function(tone){if(tone.id in this._toneMap){throw new Error('A tone with this ID is already in the list: '+
|
||||
tone.id);}
|
||||
var newItem=this.makeItem(tone);this._toneMap[tone.id]={tone:tone,element:newItem};this.element.hidden=false;this._ul.appendChild(newItem);},_insertSorted:function(tone){if(tone.id in this._toneMap){throw new Error('A tone with this ID is already in the list: '+
|
||||
tone.id);}
|
||||
var newItem=this.makeItem(tone);this._toneMap[tone.id]={tone:tone,element:newItem};this.element.hidden=false;var items=this._ul.querySelectorAll('li');for(var i=0;i<items.length;i++){var currTone=this._toneMap[items[i].dataset.id].tone;if(toneCompare(tone,currTone)<0){this._ul.insertBefore(newItem,items[i]);return;}}
|
||||
this._ul.appendChild(newItem);}};return ToneList;})();
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
;;'use strict';function TonePlayer(){this._currentTone=null;this._isValid=true;this._player=new Audio();this._player.addEventListener('loadedmetadata',function(){if(this._player.src){this._isValid=true;this._player.dispatchEvent(new CustomEvent('validated',{detail:this._isValid}));}}.bind(this));this._player.addEventListener('error',function(){if(this._player.src){this._isValid=false;this._player.dispatchEvent(new CustomEvent('validated',{detail:this._isValid}));}}.bind(this));this._player.addEventListener('ended',function(){this._firePlayingCallback(false);}.bind(this));window.addEventListener('visibilitychange',function(){if(document.hidden){this.stop();this._setExclusiveMode(false);}}.bind(this));}
|
||||
TonePlayer.prototype={setTone:function(tone,callback){if(tone!==this._currentTone){this._firePlayingCallback(false);this._currentTone=tone;this._playingCallback=callback;if(tone&&tone.url){this._isValid=undefined;this._player.src=tone.url;this._player.play();this._firePlayingCallback(true);this._setExclusiveMode(true);}else{this._isValid=true;this._player.removeAttribute('src');this._player.load();}}else{if(!this._isValid){return;}
|
||||
if(this._player.paused||this._player.ended){this._player.currentTime=0;this._player.play();this._firePlayingCallback(true);this._setExclusiveMode(true);}else{this._player.pause();this._firePlayingCallback(false);}}},stop:function(){this._player.pause();this._firePlayingCallback(false);},get currentTone(){return this._currentTone;},isValid:function(callback){if(this._isValid!==undefined){callback(this._isValid);return;}
|
||||
this._player.addEventListener('validated',function validated(event){this.removeEventListener('validated',validated);callback(event.detail);});},_firePlayingCallback:function(playing){if(this._playingCallback){this._playingCallback(playing);}},_setExclusiveMode:function(exclusive){if(exclusive){if(!this._source){this._context=new AudioContext('ringer');this._source=this._context.createMediaElementSource(this._player);this._source.connect(this._context.destination);}}else{if(this._source){this._source.disconnect();this._context=null;this._source=null;}}}};
|
||||
18
assets/webapps/ringtones.gaiamobile.org/jsdoc.json
Normal file
18
assets/webapps/ringtones.gaiamobile.org/jsdoc.json
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"name": "ringtones",
|
||||
"tags": {
|
||||
"dictionaries": ["jsdoc"]
|
||||
},
|
||||
"source": {
|
||||
"include": ["apps/ringtones/js/**/*.js"]
|
||||
},
|
||||
"plugins": [
|
||||
"plugins/markdown",
|
||||
"plugins/summarize"
|
||||
],
|
||||
"opts": {
|
||||
"private": true,
|
||||
"recurse": true,
|
||||
"destination": "docs/ringtones"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"إصدار مجتمع موزيلا فوكسفود"},{"$i":"ringtoneBrandName","$v":"افتراضي"},{"$i":"ringtoneSectionBrandName","$v":"النظام"},{"$i":"ringtone-none","$v":"لا شيء"},{"$i":"ringer_bubble","$v":"فقاعة"},{"$i":"ringer_chimer","$v":"رنين أجراس"},{"$i":"ringer_cunning","$v":"بارع"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"حديقة"},{"$i":"ringer_marbled","$v":"رخام"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"نظيف"},{"$i":"ringer_standard1","$v":"تقليدية"},{"$i":"ringer_standard2","$v":"تقليديّة سريعة"},{"$i":"ringer_stutter","$v":"تمتمة"},{"$i":"ringer_symmetry","$v":"تناظر"},{"$i":"ringer_tailwind","$v":"رياح خلفية"},{"$i":"ringer_thoughtful","$v":"عميق الفكر"},{"$i":"ringer_wit","$v":"ظريف"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"أجراس"},{"$i":"notifier_bloom","$v":"إزهار"},{"$i":"notifier_chime","$v":"الأجراس"},{"$i":"notifier_clicka","$v":"نقرات"},{"$i":"notifier_digi","$v":"ديجي"},{"$i":"notifier_dropplet","$v":"قطرات"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"مرحبًا"},{"$i":"notifier_lowmarble","$v":"رخامي منخفض"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"أحمر"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"سويب"},{"$i":"notifier_trickleup","$v":"تريكل آب"},{"$i":"notifier_trink","$v":"شبكة صيد"},{"$i":"notifier_verse","$v":"فيرس"},{"$i":"manage-title-2","$v":"إدارة النغمات"},{"$i":"actions-share-ringtone","$v":"شارك النغمة"},{"$i":"actions-delete-ringtone","$v":"احذف النغمة"},{"$i":"actions-share-alerttone","$v":"مشاركة التنبيه"},{"$i":"actions-delete-alerttone","$v":"احذف صوت الإنذار"},{"$i":"actions-cancel","$v":"ألغِ"},{"$i":"delete-title-ringtone","$v":"حذف النغمة"},{"$i":"delete-title-alerttone","$v":"حذف صوت الإنذار"},{"$i":"delete-message","$v":["هل أنت متأكد أنك تريد أن تحذف \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"؟"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" هي النغمة الحالية. <br><br> هل أنت متأكد أنك تريد حذفها؟"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" هو صوت الإنذار الحالي. <br><br>هل أنت متأكد أنك تريد حذفه؟"]},{"$i":"delete-cancel","$v":"ألغِ"},{"$i":"delete-confirm","$v":"احذف"},{"$i":"deleted-ringtone","$v":"حُذفت النغمة."},{"$i":"deleted-alerttone","$v":"حُذف صوت الإنذار."},{"$i":"created-tone","$v":"أُنشئت نغمة جديدة."},{"$i":"set-default-tone","$v":"جُعلت النغمةُ النغمةَ المبدئية."},{"$i":"sd-card-subtitle","$v":"بطاقة الذاكرة"},{"$i":"pick-title","$v":"اختر الصوت"},{"$i":"pick-set","$v":"عيّن"},{"$i":"section-title-builtin-ringtone","$v":["نغمات ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["أصوات إنذار ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"نغماتي"},{"$i":"section-title-custom-alerttone","$v":"أصوات الإنذار"},{"$i":"create-title","$v":"أنشئ نغمة"},{"$i":"create-save","$v":"احفظ"},{"$i":"create-cancel","$v":"ألغِ"},{"$i":"play-error-title","$v":"ملف تالف"},{"$i":"play-error-desc","$v":"الملف تالف. لا يمكن أن يستخدم لإنشاء نغمة."},{"$i":"save-error-title","$v":"لم تُنشئ النغمة"},{"$i":"save-error-desc","$v":"وقع خطأ عند إنشاء النغمة. حاول مرة أخرى."},{"$i":"default-label","$v":"اجعلها النغمة المبدئيّة"},{"$i":"ok","$v":"موافق"},{"$i":"ringtone-untitled","$v":"بلا عنوان"},{"$i":"addButton","ariaLabel":"إضافة"},{"$i":"gaia-menu-cancel","$v":"ألغِ"}]
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -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":"ringtone-none","$v":"Cap"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Gestió dels tons"},{"$i":"actions-share-ringtone","$v":"Comparteix el to de trucada"},{"$i":"actions-delete-ringtone","$v":"Elimina to de trucada"},{"$i":"actions-share-alerttone","$v":"Comparteix l'alerta"},{"$i":"actions-delete-alerttone","$v":"Elimina l'alerta"},{"$i":"actions-cancel","$v":"Cancel·la"},{"$i":"delete-title-ringtone","$v":"Elimina to de trucada"},{"$i":"delete-title-alerttone","$v":"Elimina l'alerta"},{"$i":"delete-message","$v":["Segur que voleu eliminar «<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>»?"]},{"$i":"delete-message-default-ringtone","$v":["«<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>» és actualment el to de trucada per defecte.<br><br>Segur que voleu eliminar-lo?"]},{"$i":"delete-message-default-alerttone","$v":["«<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>» és actualment l'alerta per defecte.<br><br>Segur que voleu eliminar-la?"]},{"$i":"delete-cancel","$v":"Cancel·la"},{"$i":"delete-confirm","$v":"Elimina"},{"$i":"deleted-ringtone","$v":"S'ha eliminat el to de trucada."},{"$i":"deleted-alerttone","$v":"S'ha eliminat l'alerta."},{"$i":"created-tone","$v":"S'ha creat un to de trucada nou."},{"$i":"set-default-tone","$v":"S'ha definit com a to de trucada per defecte."},{"$i":"sd-card-subtitle","$v":"Targeta SD"},{"$i":"pick-title","$v":"Trieu un to"},{"$i":"pick-set","$v":"Defineix"},{"$i":"section-title-builtin-ringtone","$v":["Tons de trucada del ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Alertes del ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Els meus tons de trucada"},{"$i":"section-title-custom-alerttone","$v":"Les meves alertes"},{"$i":"create-title","$v":"Crea un to de trucada"},{"$i":"create-save","$v":"Desa"},{"$i":"create-cancel","$v":"Cancel·la"},{"$i":"play-error-title","$v":"Fitxer malmès"},{"$i":"play-error-desc","$v":"El fitxer és malmès. No es pot fer servir per crear un to de trucada."},{"$i":"save-error-title","$v":"No s'ha creat el to de trucada"},{"$i":"save-error-desc","$v":"S'ha produït un problema en crear el to de trucada. Torneu-ho a provar."},{"$i":"default-label","$v":"Utilitza com a to de trucada per defecte"},{"$i":"ok","$v":"D'acord"},{"$i":"ringtone-untitled","$v":"Sense títol"},{"$i":"addButton","ariaLabel":"Afegeix"},{"$i":"gaia-menu-cancel","$v":"Cancel·la"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Žádný"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Správa vyzvánění"},{"$i":"actions-share-ringtone","$v":"Sdílet vyzvánění"},{"$i":"actions-delete-ringtone","$v":"Smazat vyzvánění"},{"$i":"actions-share-alerttone","$v":"Sdílet tón upozornění"},{"$i":"actions-delete-alerttone","$v":"Smazat tón upozornění"},{"$i":"actions-cancel","$v":"Zrušit"},{"$i":"delete-title-ringtone","$v":"Smazání vyzvánění"},{"$i":"delete-title-alerttone","$v":"Smazání tónu upozornění"},{"$i":"delete-message","$v":["Opravdu chcete smazat \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je aktuální výchozí vyzvánění.<br><br>Opravdu ho chcete smazat?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je aktuální výchozí upozornění.<br><br>Opravdu ho chcete smazat?"]},{"$i":"delete-cancel","$v":"Zrušit"},{"$i":"delete-confirm","$v":"Smazat"},{"$i":"deleted-ringtone","$v":"Vyzvánění smazáno."},{"$i":"deleted-alerttone","$v":"Tón upozornění smazán."},{"$i":"created-tone","$v":"Nové vyzvánění vytvořeno."},{"$i":"set-default-tone","$v":"Vyzvánění nastaveno jako výchozí."},{"$i":"sd-card-subtitle","$v":"SD karta"},{"$i":"pick-title","$v":"Výběr zvuku"},{"$i":"pick-set","$v":"Nastavit"},{"$i":"section-title-builtin-ringtone","$v":["Vyzvánění ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}," "]},{"$i":"section-title-builtin-alerttone","$v":["Upozornění ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}," "]},{"$i":"section-title-custom-ringtone","$v":"Má vyzvánění"},{"$i":"section-title-custom-alerttone","$v":"Má upozornění"},{"$i":"create-title","$v":"Vytvoření vyzvánění"},{"$i":"create-save","$v":"Uložit"},{"$i":"create-cancel","$v":"Zrušit"},{"$i":"play-error-title","$v":"Poškozený soubor"},{"$i":"play-error-desc","$v":"Soubor je poškozen, a proto nemůže být použit k vytvoření vyzvánění."},{"$i":"save-error-title","$v":"Vyzvánění nebylo vytvořeno"},{"$i":"save-error-desc","$v":"Problém s vytvořením vyzvánění. Zkuste to prosím znovu."},{"$i":"default-label","$v":"Použít jako výchozí vyzvánění"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Nepojmenované"},{"$i":"addButton","ariaLabel":"Přidat"},{"$i":"gaia-menu-cancel","$v":"Zrušit"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Ingen"},{"$i":"ringer_bubble","$v":"Bobler"},{"$i":"ringer_chimer","$v":"Harper"},{"$i":"ringer_cunning","$v":"Listig"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Have"},{"$i":"ringer_marbled","$v":"Marmoreret"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Ren"},{"$i":"ringer_standard1","$v":"Klassisk"},{"$i":"ringer_standard2","$v":"Klassisk, hurtig"},{"$i":"ringer_stutter","$v":"Stammen"},{"$i":"ringer_symmetry","$v":"Symmetri"},{"$i":"ringer_tailwind","$v":"Medvind"},{"$i":"ringer_thoughtful","$v":"Tankefuld"},{"$i":"ringer_wit","$v":"Humor"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Klokker"},{"$i":"notifier_bloom","$v":"Blomstre"},{"$i":"notifier_chime","$v":"Harper"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dråber"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hallo"},{"$i":"notifier_lowmarble","$v":"Marmor, lav"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Rød"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Sive op"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Vers"},{"$i":"manage-title-2","$v":"Håndter toner"},{"$i":"actions-share-ringtone","$v":"Del ringetone"},{"$i":"actions-delete-ringtone","$v":"Slet ringetone"},{"$i":"actions-share-alerttone","$v":"Del alarm"},{"$i":"actions-delete-alerttone","$v":"Slet alarm"},{"$i":"actions-cancel","$v":"Annuller"},{"$i":"delete-title-ringtone","$v":"Slet ringetone"},{"$i":"delete-title-alerttone","$v":"Slet alarm"},{"$i":"delete-message","$v":["Er du sikker på, at du vil slette \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" er den nuværende standardringetone.<br><br>Er du sikker på, at du vil slette den?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" er den nuværende standardalarm.<br><br>Er du sikker på, at du vil slette den?"]},{"$i":"delete-cancel","$v":"Annuller"},{"$i":"delete-confirm","$v":"Slet"},{"$i":"deleted-ringtone","$v":"Ringetone slettet."},{"$i":"deleted-alerttone","$v":"Alarm slettet."},{"$i":"created-tone","$v":"Ny ringetone oprettet."},{"$i":"set-default-tone","$v":"Ringetone sat som standard."},{"$i":"sd-card-subtitle","$v":"SD-kort"},{"$i":"pick-title","$v":"Vælg lyd"},{"$i":"pick-set","$v":"Indstil"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-ringetoner"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-alarmer"]},{"$i":"section-title-custom-ringtone","$v":"Mine ringetoner"},{"$i":"section-title-custom-alerttone","$v":"Mine alarmer"},{"$i":"create-title","$v":"Opret ringetone"},{"$i":"create-save","$v":"Gem"},{"$i":"create-cancel","$v":"Annuller"},{"$i":"play-error-title","$v":"Ødelagt fil"},{"$i":"play-error-desc","$v":"Filen er ødelagt. Den kan ikke bruges til at oprette en ringetone."},{"$i":"save-error-title","$v":"Ringetone ikke oprettet"},{"$i":"save-error-desc","$v":"Der var et problem med at oprette ringetonen. Prøv igen."},{"$i":"default-label","$v":"Brug som standardringetone"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Uden navn"},{"$i":"addButton","ariaLabel":"Tilføj"},{"$i":"gaia-menu-cancel","$v":"Annuller"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Nichts"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Töne verwalten"},{"$i":"actions-share-ringtone","$v":"Klingelton weitergeben"},{"$i":"actions-delete-ringtone","$v":"Klingelton löschen"},{"$i":"actions-share-alerttone","$v":"Alarmton weitergeben"},{"$i":"actions-delete-alerttone","$v":"Alarmton löschen"},{"$i":"actions-cancel","$v":"Abbrechen"},{"$i":"delete-title-ringtone","$v":"Klingelton löschen"},{"$i":"delete-title-alerttone","$v":"Alarmton löschen"},{"$i":"delete-message","$v":["Soll \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" wirklich gelöscht werden?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" ist derzeit der Standardklingelton.<br><br>Soll er wirklich gelöscht werden?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" ist derzeit der Standardalarmton.<br><br>Soll er wirklich gelöscht werden?"]},{"$i":"delete-cancel","$v":"Abbrechen"},{"$i":"delete-confirm","$v":"Löschen"},{"$i":"deleted-ringtone","$v":"Klingelton gelöscht"},{"$i":"deleted-alerttone","$v":"Alarmton gelöscht"},{"$i":"created-tone","$v":"Neuer Klingelton erstellt"},{"$i":"set-default-tone","$v":"Als Standardklingelton festgelegt"},{"$i":"sd-card-subtitle","$v":"Speicherkarte"},{"$i":"pick-title","$v":"Klingelton auswählen"},{"$i":"pick-set","$v":"Übernehmen"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-Klingeltöne"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-Alarmtöne"]},{"$i":"section-title-custom-ringtone","$v":"Meine Klingeltöne"},{"$i":"section-title-custom-alerttone","$v":"Meine Alarmtöne"},{"$i":"create-title","$v":"Klingelton erstellen"},{"$i":"create-save","$v":"Speichern"},{"$i":"create-cancel","$v":"Abbrechen"},{"$i":"play-error-title","$v":"Datei beschädigt"},{"$i":"play-error-desc","$v":"Die Datei ist beschädigt und kann nicht zur Erstellung eines Klingeltons verwendet werden."},{"$i":"save-error-title","$v":"Klingelton nicht erstellt"},{"$i":"save-error-desc","$v":"Beim Erstellen des Klingeltons trat ein Fehler auf. Bitte versuchen Sie es erneut."},{"$i":"default-label","$v":"Als Standardklingelton verwenden"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Unbenannt"},{"$i":"addButton","ariaLabel":"Hinzufügen"},{"$i":"gaia-menu-cancel","$v":"Abbrechen"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"Περιηγητής"},{"$i":"browserBrandFullName","$v":"Περιηγητής Mozilla"},{"$i":"ringtoneBrandName","$v":"Προκαθορισμένος"},{"$i":"ringtoneSectionBrandName","$v":"Συστήματος"},{"$i":"ringtone-none","$v":"Κανένας"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Διαχείριση ήχων"},{"$i":"actions-share-ringtone","$v":"Μοιραστείτε τον ήχο κλήσης"},{"$i":"actions-delete-ringtone","$v":"Διαγραφή ήχου κλήσης"},{"$i":"actions-share-alerttone","$v":"Μοιραστείτε τον ήχο ειδοποίησης"},{"$i":"actions-delete-alerttone","$v":"Διαγραφή ήχου ειδοποίησης"},{"$i":"actions-cancel","$v":"Ακύρωση"},{"$i":"delete-title-ringtone","$v":"Διαγραφή ήχου κλήσης"},{"$i":"delete-title-alerttone","$v":"Διαγραφή ήχου ειδοποίησης"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Ακύρωση"},{"$i":"delete-confirm","$v":"Διαγραφή"},{"$i":"deleted-ringtone","$v":"Ο ήχος κλήσης διαγράφηκε."},{"$i":"deleted-alerttone","$v":"Ο ήχος ειδοποίησης διαγράφηκε."},{"$i":"created-tone","$v":"Νέος ήχος δημιουργήθηκε."},{"$i":"set-default-tone","$v":"Ο ήχος ορίστηκε ως προεπιλογή."},{"$i":"sd-card-subtitle","$v":"Κάρτα SD"},{"$i":"pick-title","$v":"Επιλογή ήχου"},{"$i":"pick-set","$v":"ΟΚ"},{"$i":"section-title-builtin-ringtone","$v":["Ήχοι ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Ειδοποιήσεις ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Οι ήχοι μου"},{"$i":"section-title-custom-alerttone","$v":"Οι ειδοποιήσεις μου"},{"$i":"create-title","$v":"Ορισμός ήχου"},{"$i":"create-save","$v":"Αποθήκευση"},{"$i":"create-cancel","$v":"Ακύρωση"},{"$i":"play-error-title","$v":"Κατεστραμμένο αρχείο"},{"$i":"play-error-desc","$v":"Το αρχείο είναι κατεστραμμένο. Δε μπορεί να χρησιμοποιηθεί για τη δημιουργία ήχου."},{"$i":"save-error-title","$v":"Ο ήχος δε δημιουργήθηκε"},{"$i":"save-error-desc","$v":"Προέκυψε σφάλμα κατά τη δημιουργία του ήχου. Παρακαλούμε προσπαθήστε ξανά."},{"$i":"default-label","$v":"Χρήση ως προεπιλεγμένο ήχο κλήσης"},{"$i":"ok","$v":"ΟΚ"},{"$i":"ringtone-untitled","$v":"Χωρίς τίτλο"},{"$i":"addButton","ariaLabel":"Add"},{"$i":"gaia-menu-cancel","$v":"Ακύρωση"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"None"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Manage Tones"},{"$i":"actions-share-ringtone","$v":"Share ringtone"},{"$i":"actions-delete-ringtone","$v":"Delete ringtone"},{"$i":"actions-share-alerttone","$v":"Share alert"},{"$i":"actions-delete-alerttone","$v":"Delete alert"},{"$i":"actions-cancel","$v":"Cancel"},{"$i":"delete-title-ringtone","$v":"Delete Ringtone"},{"$i":"delete-title-alerttone","$v":"Delete Alert"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Cancel"},{"$i":"delete-confirm","$v":"Delete"},{"$i":"deleted-ringtone","$v":"Ringtone deleted."},{"$i":"deleted-alerttone","$v":"Alert deleted."},{"$i":"created-tone","$v":"New ringtone created."},{"$i":"set-default-tone","$v":"Ringtone set as default."},{"$i":"sd-card-subtitle","$v":"SD Card"},{"$i":"pick-title","$v":"Select Sound"},{"$i":"pick-set","$v":"Set"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Ringtones"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Alerts"]},{"$i":"section-title-custom-ringtone","$v":"My Ringtones"},{"$i":"section-title-custom-alerttone","$v":"My Alerts"},{"$i":"create-title","$v":"Create Ringtone"},{"$i":"create-save","$v":"Save"},{"$i":"create-cancel","$v":"Cancel"},{"$i":"play-error-title","$v":"Corrupted File"},{"$i":"play-error-desc","$v":"The file is corrupted. It cannot be used to create a ringtone."},{"$i":"save-error-title","$v":"Ringtone Not Created"},{"$i":"save-error-desc","$v":"There was an issue creating the ringtone. Please try again."},{"$i":"default-label","$v":"Use as default ringtone"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Untitled"},{"$i":"addButton","ariaLabel":"Add"},{"$i":"gaia-menu-cancel","$v":"Cancel"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Ninguno"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hola"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Administrar tonos"},{"$i":"actions-share-ringtone","$v":"Compartir tono"},{"$i":"actions-delete-ringtone","$v":"Borrar tono"},{"$i":"actions-share-alerttone","$v":"Compartir alerta"},{"$i":"actions-delete-alerttone","$v":"Borrar alerta"},{"$i":"actions-cancel","$v":"Cancelar"},{"$i":"delete-title-ringtone","$v":"Borrar tono"},{"$i":"delete-title-alerttone","$v":"Borrar alerta"},{"$i":"delete-message","$v":["¿Seguro que desea borrar \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" es el tono predeterminado.<br><br>¿Seguro que desea borrarlo?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" es el tono de alarma predeterminado.<br><br>¿Seguro que desea borrarlo?"]},{"$i":"delete-cancel","$v":"Cancelar"},{"$i":"delete-confirm","$v":"Borrar"},{"$i":"deleted-ringtone","$v":"Tono borrado."},{"$i":"deleted-alerttone","$v":"Alerta borrada."},{"$i":"created-tone","$v":"Nuevo tono creado."},{"$i":"set-default-tone","$v":"Tono configurado como predeterminado."},{"$i":"sd-card-subtitle","$v":"Tarjeta SD"},{"$i":"pick-title","$v":"Seleccionar sonido"},{"$i":"pick-set","$v":"Establecer"},{"$i":"section-title-builtin-ringtone","$v":["Tonos ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Alertas ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Mis tonos"},{"$i":"section-title-custom-alerttone","$v":"Mis alertas"},{"$i":"create-title","$v":"Crear tono"},{"$i":"create-save","$v":"Guardar"},{"$i":"create-cancel","$v":"Cancelar"},{"$i":"play-error-title","$v":"Archivo corrupto"},{"$i":"play-error-desc","$v":"El archivo está corrupto. No puede usarse para crear un tono."},{"$i":"save-error-title","$v":"Tono no creado"},{"$i":"save-error-desc","$v":"Hubo un problema al crear el tono. Pruebe de nuevo."},{"$i":"default-label","$v":"Usar como tono predeterminado"},{"$i":"ok","$v":"Aceptar"},{"$i":"ringtone-untitled","$v":"Sin título"},{"$i":"addButton","ariaLabel":"Agregar"},{"$i":"gaia-menu-cancel","$v":"Cancelar"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Bat ere ez"},{"$i":"ringer_bubble","$v":"Burbuila"},{"$i":"ringer_chimer","$v":"Ezkila-hotsak"},{"$i":"ringer_cunning","$v":"Zuhurra"},{"$i":"ringer_dulco","$v":"Orientala"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Lorategia"},{"$i":"ringer_marbled","$v":"Marmolairea"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Okiltxoa"},{"$i":"ringer_pingy","$v":"Txilina"},{"$i":"ringer_poppop","$v":"Pil-pila"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Garbia"},{"$i":"ringer_standard1","$v":"Klasikoa"},{"$i":"ringer_standard2","$v":"Klasiko azkarra"},{"$i":"ringer_stutter","$v":"Totela"},{"$i":"ringer_symmetry","$v":"Simetria"},{"$i":"ringer_tailwind","$v":"Atzeko haizea"},{"$i":"ringer_thoughtful","$v":"Atsegina"},{"$i":"ringer_wit","$v":"Burutsua"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Kanpaiak"},{"$i":"notifier_bloom","$v":"Lorea"},{"$i":"notifier_chime","$v":"Kanpaia"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Tantatxoa"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Kaixo"},{"$i":"notifier_lowmarble","$v":"Marmolaire baxua"},{"$i":"notifier_ping","$v":"Ping-a"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Gorria"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Itogina"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Bertsoa"},{"$i":"manage-title-2","$v":"Kudeatu tonuak"},{"$i":"actions-share-ringtone","$v":"Partekatu txirrin-tonua"},{"$i":"actions-delete-ringtone","$v":"Ezabatu txirrin-tonua"},{"$i":"actions-share-alerttone","$v":"Partekatu alerta"},{"$i":"actions-delete-alerttone","$v":"Ezabatu alerta"},{"$i":"actions-cancel","$v":"Utzi"},{"$i":"delete-title-ringtone","$v":"Ezabatu txirrin-tonua"},{"$i":"delete-title-alerttone","$v":"Ezabatu alerta"},{"$i":"delete-message","$v":["Ziur <bdi>",{"t":"idOrVar","v":"tone"},"</bdi> ezabatu nahi duzula?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" da uneko txirrin-tonu lehenetsia.<br><br>Ziur ezabatu egin nahi duzula?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" da uneko abisu-tonu lehenetsia.<br><br>Ziur ezabatu egin nahi duzula?"]},{"$i":"delete-cancel","$v":"Utzi"},{"$i":"delete-confirm","$v":"Ezabatu"},{"$i":"deleted-ringtone","$v":"Txirrin-tonua ezabatuta."},{"$i":"deleted-alerttone","$v":"Alerta ezabatu da."},{"$i":"created-tone","$v":"Txirrin-tonu berria sortuta."},{"$i":"set-default-tone","$v":"Txirrin-tonua lehenetsi gisa ezarrita."},{"$i":"sd-card-subtitle","$v":"SD txartela"},{"$i":"pick-title","$v":"Hautatu soinua"},{"$i":"pick-set","$v":"Ezarri"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," txirrin-tonuak"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," alertak"]},{"$i":"section-title-custom-ringtone","$v":"Nire txirrin-tonuak"},{"$i":"section-title-custom-alerttone","$v":"Nire alertak"},{"$i":"create-title","$v":"Sortu txirrin-tonua"},{"$i":"create-save","$v":"Gorde"},{"$i":"create-cancel","$v":"Utzi"},{"$i":"play-error-title","$v":"Hondatutako fitxategia"},{"$i":"play-error-desc","$v":"Fitxategia hondatuta dago. Ezin da erabili txirrin-tonua sortzeko."},{"$i":"save-error-title","$v":"Txirrin-tonua ez da sortu"},{"$i":"save-error-desc","$v":"Arazo bat gertatu da txirrin-tonua sortzean. Saiatu berriro mesedez."},{"$i":"default-label","$v":"Erabili txirrin-tonu lehenetsi gisa"},{"$i":"ok","$v":"Ados"},{"$i":"ringtone-untitled","$v":"Izengabea"},{"$i":"addButton","ariaLabel":"Gehitu"},{"$i":"gaia-menu-cancel","$v":"Utzi"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Aucune"},{"$i":"ringer_bubble","$v":"Dragon"},{"$i":"ringer_chimer","$v":"Partage"},{"$i":"ringer_cunning","$v":"Bleu"},{"$i":"ringer_dulco","$v":"Ambiance asiatique"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Croissance"},{"$i":"ringer_marbled","$v":"Ramune"},{"$i":"ringer_opti","$v":"Transformation"},{"$i":"ringer_pecko","$v":"Pivert"},{"$i":"ringer_pingy","$v":"Téléportation"},{"$i":"ringer_poppop","$v":"Alerte vaisseau spatial"},{"$i":"ringer_sata","$v":"Lien"},{"$i":"ringer_simple","$v":"Anthropique"},{"$i":"ringer_standard1","$v":"Hyperbole"},{"$i":"ringer_standard2","$v":"Malice"},{"$i":"ringer_stutter","$v":"Phoniatrie"},{"$i":"ringer_symmetry","$v":"Autrui"},{"$i":"ringer_tailwind","$v":"Afrique"},{"$i":"ringer_thoughtful","$v":"Rêve"},{"$i":"ringer_wit","$v":"Raison"},{"$i":"ringer_zen","$v":"Verrillon"},{"$i":"notifier_bells","$v":"Campaniforme"},{"$i":"notifier_bloom","$v":"Enfance"},{"$i":"notifier_chime","$v":"Tatouage"},{"$i":"notifier_clicka","$v":"Fontaine de bambou"},{"$i":"notifier_digi","$v":"Arc"},{"$i":"notifier_dropplet","$v":"Goutte d’eau"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Nouveau message"},{"$i":"notifier_lowmarble","$v":"Écho"},{"$i":"notifier_ping","$v":"Sonar"},{"$i":"notifier_plickle","$v":"Idiophone"},{"$i":"notifier_pocko","$v":"Abeille"},{"$i":"notifier_quado","$v":"Lipogramme"},{"$i":"notifier_red","$v":"Évolution"},{"$i":"notifier_sato","$v":"Aux frontières du réel"},{"$i":"notifier_swipo","$v":"Luxure"},{"$i":"notifier_trickleup","$v":"Résonance"},{"$i":"notifier_trink","$v":"Saccharification"},{"$i":"notifier_verse","$v":"Bille"},{"$i":"manage-title-2","$v":"Gérer les sonneries"},{"$i":"actions-share-ringtone","$v":"Partager la sonnerie"},{"$i":"actions-delete-ringtone","$v":"Supprimer la sonnerie"},{"$i":"actions-share-alerttone","$v":"Partager l’alerte"},{"$i":"actions-delete-alerttone","$v":"Supprimer l’alerte"},{"$i":"actions-cancel","$v":"Annuler"},{"$i":"delete-title-ringtone","$v":"Supprimer la sonnerie"},{"$i":"delete-title-alerttone","$v":"Supprimer l’alerte"},{"$i":"delete-message","$v":["Voulez-vous vraiment supprimer « <bdi>",{"t":"idOrVar","v":"tone"},"</bdi> » ?"]},{"$i":"delete-message-default-ringtone","$v":["« <bdi>",{"t":"idOrVar","v":"tone"},"</bdi> » est la sonnerie par défaut.\n\nVoulez-vous vraiment la supprimer ?"]},{"$i":"delete-message-default-alerttone","$v":["« <bdi>",{"t":"idOrVar","v":"tone"},"</bdi> » est l’alerte par défaut.\n\nVoulez-vous vraiment la supprimer ?"]},{"$i":"delete-cancel","$v":"Annuler"},{"$i":"delete-confirm","$v":"Supprimer"},{"$i":"deleted-ringtone","$v":"Sonnerie supprimée."},{"$i":"deleted-alerttone","$v":"Alerte supprimée."},{"$i":"created-tone","$v":"Nouvelle sonnerie créée."},{"$i":"set-default-tone","$v":"Définie par défaut."},{"$i":"sd-card-subtitle","$v":"Carte SD"},{"$i":"pick-title","$v":"Choisir un son"},{"$i":"pick-set","$v":"Définir"},{"$i":"section-title-builtin-ringtone","$v":["Sonneries ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Alertes ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Mes sonneries"},{"$i":"section-title-custom-alerttone","$v":"Mes alertes"},{"$i":"create-title","$v":"Créer sonnerie"},{"$i":"create-save","$v":"Enregistrer"},{"$i":"create-cancel","$v":"Annuler"},{"$i":"play-error-title","$v":"Fichier corrompu"},{"$i":"play-error-desc","$v":"Le fichier est corrompu. Il ne peut pas être utilisé pour créer une sonnerie."},{"$i":"save-error-title","$v":"Échec de la création"},{"$i":"save-error-desc","$v":"Une erreur est survenue lors de la création de la sonnerie. Veuillez réessayer."},{"$i":"default-label","$v":"Sonnerie par défaut."},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Sans titre"},{"$i":"addButton","ariaLabel":"Ajouter"},{"$i":"gaia-menu-cancel","$v":"Annuler"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Ningún"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Xestionar tons"},{"$i":"actions-share-ringtone","$v":"Compartir ton"},{"$i":"actions-delete-ringtone","$v":"Eliminar ton"},{"$i":"actions-share-alerttone","$v":"Compartir alerta"},{"$i":"actions-delete-alerttone","$v":"Eliminar alerta"},{"$i":"actions-cancel","$v":"Cancelar"},{"$i":"delete-title-ringtone","$v":"Eliminar ton"},{"$i":"delete-title-alerttone","$v":"Eliminar alerta"},{"$i":"delete-message","$v":["Confirma que quere eliminar \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" é o ton predeterminado actual.<br><br>Confirma que quere eliminalo?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" é a alerta predeterminada actual.<br><br>Confirma que quere eliminala?"]},{"$i":"delete-cancel","$v":"Cancelar"},{"$i":"delete-confirm","$v":"Eliminar"},{"$i":"deleted-ringtone","$v":"Eliminouse o ton."},{"$i":"deleted-alerttone","$v":"Eliminouse a alerta."},{"$i":"created-tone","$v":"Creouse un novo ton."},{"$i":"set-default-tone","$v":"Estabelecido como predeterminado."},{"$i":"sd-card-subtitle","$v":"Tarxeta SD"},{"$i":"pick-title","$v":"Seleccionar son"},{"$i":"pick-set","$v":"Estabelecer"},{"$i":"section-title-builtin-ringtone","$v":["Tons de ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Alertas de ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Meus tons"},{"$i":"section-title-custom-alerttone","$v":"Miñas alertas"},{"$i":"create-title","$v":"Crear ton"},{"$i":"create-save","$v":"Gardar"},{"$i":"create-cancel","$v":"Cancelar"},{"$i":"play-error-title","$v":"Ficheiro danado"},{"$i":"play-error-desc","$v":"O ficheiro está dando. Non é posíbel usalo para crear un ton."},{"$i":"save-error-title","$v":"Non se creou o ton"},{"$i":"save-error-desc","$v":"Produciuse un problema ao crear o ton. Tente de novo."},{"$i":"default-label","$v":"Usar como ton predeterminado"},{"$i":"ok","$v":"Aceptar"},{"$i":"ringtone-untitled","$v":"Sen título"},{"$i":"addButton","ariaLabel":"Engadir"},{"$i":"gaia-menu-cancel","$v":"Cancelar"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"None"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Manage Tones"},{"$i":"actions-share-ringtone","$v":"Share ringtone"},{"$i":"actions-delete-ringtone","$v":"Delete ringtone"},{"$i":"actions-share-alerttone","$v":"Share alert"},{"$i":"actions-delete-alerttone","$v":"Delete alert"},{"$i":"actions-cancel","$v":"Cancel"},{"$i":"delete-title-ringtone","$v":"Delete Ringtone"},{"$i":"delete-title-alerttone","$v":"Delete Alert"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Cancel"},{"$i":"delete-confirm","$v":"Delete"},{"$i":"deleted-ringtone","$v":"Ringtone deleted."},{"$i":"deleted-alerttone","$v":"Alert deleted."},{"$i":"created-tone","$v":"New ringtone created."},{"$i":"set-default-tone","$v":"Ringtone set as default."},{"$i":"sd-card-subtitle","$v":"SD Card"},{"$i":"pick-title","$v":"Select Sound"},{"$i":"pick-set","$v":"Set"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Ringtones"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Alerts"]},{"$i":"section-title-custom-ringtone","$v":"My Ringtones"},{"$i":"section-title-custom-alerttone","$v":"My Alerts"},{"$i":"create-title","$v":"Create Ringtone"},{"$i":"create-save","$v":"Save"},{"$i":"create-cancel","$v":"Cancel"},{"$i":"play-error-title","$v":"Corrupted File"},{"$i":"play-error-desc","$v":"The file is corrupted. It cannot be used to create a ringtone."},{"$i":"save-error-title","$v":"Ringtone Not Created"},{"$i":"save-error-desc","$v":"There was an issue creating the ringtone. Please try again."},{"$i":"default-label","$v":"Use as default ringtone"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Untitled"},{"$i":"addButton","ariaLabel":"Add"},{"$i":"gaia-menu-cancel","$v":"Cancel"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Nincs"},{"$i":"ringer_bubble","$v":"Buborék"},{"$i":"ringer_chimer","$v":"Harangjáték"},{"$i":"ringer_cunning","$v":"Elbűvölő"},{"$i":"ringer_dulco","$v":"Ősi"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Kert"},{"$i":"ringer_marbled","$v":"Márvány"},{"$i":"ringer_opti","$v":"Válasz"},{"$i":"ringer_pecko","$v":"Fakopács"},{"$i":"ringer_pingy","$v":"Láncszemek"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Végzet"},{"$i":"ringer_simple","$v":"Tisztaság"},{"$i":"ringer_standard1","$v":"Klasszikus"},{"$i":"ringer_standard2","$v":"Klasszikus gyorsan"},{"$i":"ringer_stutter","$v":"Dadogó"},{"$i":"ringer_symmetry","$v":"Szimmetria"},{"$i":"ringer_tailwind","$v":"Hátszél"},{"$i":"ringer_thoughtful","$v":"Gondolkodó"},{"$i":"ringer_wit","$v":"Eszes"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Csengők"},{"$i":"notifier_bloom","$v":"Virágzás"},{"$i":"notifier_chime","$v":"Harangszó"},{"$i":"notifier_clicka","$v":"Kattanás"},{"$i":"notifier_digi","$v":"Adat"},{"$i":"notifier_dropplet","$v":"Cseppek"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Helló"},{"$i":"notifier_lowmarble","$v":"Játékgolyó"},{"$i":"notifier_ping","$v":"Pittyegés"},{"$i":"notifier_plickle","$v":"Gyöngyszemek"},{"$i":"notifier_pocko","$v":"Leesett"},{"$i":"notifier_quado","$v":"Négyszög"},{"$i":"notifier_red","$v":"Vörös"},{"$i":"notifier_sato","$v":"Ötlet"},{"$i":"notifier_swipo","$v":"Csúszás"},{"$i":"notifier_trickleup","$v":"Csörgedezés"},{"$i":"notifier_trink","$v":"Madárfütty"},{"$i":"notifier_verse","$v":"Verssor"},{"$i":"manage-title-2","$v":"Hangok kezelése"},{"$i":"actions-share-ringtone","$v":"Csengőhang megosztása"},{"$i":"actions-delete-ringtone","$v":"Csengőhang törlése"},{"$i":"actions-share-alerttone","$v":"Értesítési hang megosztása"},{"$i":"actions-delete-alerttone","$v":"Értesítési hang törlése"},{"$i":"actions-cancel","$v":"Mégse"},{"$i":"delete-title-ringtone","$v":"Csengőhang törlése"},{"$i":"delete-title-alerttone","$v":"Értesítési hang törlése"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Mégse"},{"$i":"delete-confirm","$v":"Törlés"},{"$i":"deleted-ringtone","$v":"Csengőhang törölve."},{"$i":"deleted-alerttone","$v":"Értesítési hang törölve."},{"$i":"created-tone","$v":"Új csengőhang létrehozva."},{"$i":"set-default-tone","$v":"Alapértelmezett csengőhang beállítva."},{"$i":"sd-card-subtitle","$v":"SD kártya"},{"$i":"pick-title","$v":"Hang kiválasztása"},{"$i":"pick-set","$v":"Beállítás"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Csengőhangok"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Riasztások"]},{"$i":"section-title-custom-ringtone","$v":"Csengőhangok"},{"$i":"section-title-custom-alerttone","$v":"Riasztások"},{"$i":"create-title","$v":"Új csengőhang"},{"$i":"create-save","$v":"Mentés"},{"$i":"create-cancel","$v":"Mégse"},{"$i":"play-error-title","$v":"Érvénytelen fájl"},{"$i":"play-error-desc","$v":"A fájl érvénytelen. Nem használható fel csengőhangként."},{"$i":"save-error-title","$v":"Csengőhang létrehozása sikertelen"},{"$i":"save-error-desc","$v":"Hiba a csengőhang létrehozásakor. Próbálja újra."},{"$i":"default-label","$v":"Beállítás alapértelmezett csengőhangként."},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Névtelen"},{"$i":"addButton","ariaLabel":"Add"},{"$i":"gaia-menu-cancel","$v":"Mégse"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Nessuna"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Gestione suoni"},{"$i":"actions-share-ringtone","$v":"Condividi suoneria"},{"$i":"actions-delete-ringtone","$v":"Elimina suoneria"},{"$i":"actions-share-alerttone","$v":"Condividi avviso"},{"$i":"actions-delete-alerttone","$v":"Elimina avviso"},{"$i":"actions-cancel","$v":"Annulla"},{"$i":"delete-title-ringtone","$v":"Elimina suoneria"},{"$i":"delete-title-alerttone","$v":"Elimina avviso"},{"$i":"delete-message","$v":["Eliminare la suoneria “<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>”?"]},{"$i":"delete-message-default-ringtone","$v":["“<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>” è attualmente la suoneria predefinita.<br><br>Procedere con l’eliminazione?"]},{"$i":"delete-message-default-alerttone","$v":["“<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>” è attualmente l’allarme predefinito.<br><br>Procedere con l’eliminazione?"]},{"$i":"delete-cancel","$v":"Annulla"},{"$i":"delete-confirm","$v":"Elimina"},{"$i":"deleted-ringtone","$v":"Suoneria eliminata."},{"$i":"deleted-alerttone","$v":"Avviso eliminato."},{"$i":"created-tone","$v":"Creata nuova suoneria."},{"$i":"set-default-tone","$v":"Suoneria impostata come predefinita."},{"$i":"sd-card-subtitle","$v":"Scheda SD"},{"$i":"pick-title","$v":"Seleziona suono"},{"$i":"pick-set","$v":"Imposta"},{"$i":"section-title-builtin-ringtone","$v":["Suonerie di ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Avvisi di ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Suonerie personalizzate"},{"$i":"section-title-custom-alerttone","$v":"Avvisi personalizzati"},{"$i":"create-title","$v":"Crea suoneria"},{"$i":"create-save","$v":"Salva"},{"$i":"create-cancel","$v":"Annulla"},{"$i":"play-error-title","$v":"File danneggiato"},{"$i":"play-error-desc","$v":"Il file è danneggiato e non può essere utilizzato per creare una suoneria."},{"$i":"save-error-title","$v":"Suoneria non creata"},{"$i":"save-error-desc","$v":"Si è verificato un errore durante la creazione della suoneria. Riprovare."},{"$i":"default-label","$v":"Utilizza come suoneria predefinita"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Senza titolo"},{"$i":"addButton","ariaLabel":"Aggiungi"},{"$i":"gaia-menu-cancel","$v":"Annulla"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"なし"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"着信音の管理"},{"$i":"actions-share-ringtone","$v":"着信音を共有する"},{"$i":"actions-delete-ringtone","$v":"着信音を削除する"},{"$i":"actions-share-alerttone","$v":"通知音を共有する"},{"$i":"actions-delete-alerttone","$v":"通知音を削除する"},{"$i":"actions-cancel","$v":"キャンセル"},{"$i":"delete-title-ringtone","$v":"着信音の削除"},{"$i":"delete-title-alerttone","$v":"通知音の削除"},{"$i":"delete-message","$v":["本当に \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" を削除してもよろしいですか?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" は現在の既定の着信音です。<br><br>本当に削除してもよろしいですか?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" は現在の既定の通知音です。<br><br>本当に削除してもよろしいですか?"]},{"$i":"delete-cancel","$v":"キャンセル"},{"$i":"delete-confirm","$v":"削除"},{"$i":"deleted-ringtone","$v":"着信音を削除しました。"},{"$i":"deleted-alerttone","$v":"通知音を削除しました。"},{"$i":"created-tone","$v":"新しい着信音を作成しました。"},{"$i":"set-default-tone","$v":"着信音を既定に設定しました。"},{"$i":"sd-card-subtitle","$v":"SD カード"},{"$i":"pick-title","$v":"サウンドの選択"},{"$i":"pick-set","$v":"設定"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 着信音"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 通知音"]},{"$i":"section-title-custom-ringtone","$v":"カスタム着信音"},{"$i":"section-title-custom-alerttone","$v":"カスタム通知音"},{"$i":"create-title","$v":"着信音の作成"},{"$i":"create-save","$v":"保存"},{"$i":"create-cancel","$v":"キャンセル"},{"$i":"play-error-title","$v":"ファイルが壊れています"},{"$i":"play-error-desc","$v":"このファイルは壊れています。着信音の作成に使用できません。"},{"$i":"save-error-title","$v":"着信音の作成失敗"},{"$i":"save-error-desc","$v":"問題が発生したため着信音を作成できませんでした。再度試してください。"},{"$i":"default-label","$v":"既定の着信音に設定する"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"無題"},{"$i":"addButton","ariaLabel":"追加"},{"$i":"gaia-menu-cancel","$v":"キャンセル"}]
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood 커뮤니티 에디션"},{"$i":"ringtoneBrandName","$v":"기본"},{"$i":"ringtoneSectionBrandName","$v":"시스템"},{"$i":"ringtone-none","$v":"없음"},{"$i":"ringer_bubble","$v":"거품"},{"$i":"ringer_chimer","$v":"종소리"},{"$i":"ringer_cunning","$v":"컨닝"},{"$i":"ringer_dulco","$v":"둘코"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"정원"},{"$i":"ringer_marbled","$v":"대리석"},{"$i":"ringer_opti","$v":"옵티"},{"$i":"ringer_pecko","$v":"팩코"},{"$i":"ringer_pingy","$v":"핑기"},{"$i":"ringer_poppop","$v":"팝팝"},{"$i":"ringer_sata","$v":"사타"},{"$i":"ringer_simple","$v":"깨끗한"},{"$i":"ringer_standard1","$v":"클래식"},{"$i":"ringer_standard2","$v":"빠른 클래식"},{"$i":"ringer_stutter","$v":"더듬더듬"},{"$i":"ringer_symmetry","$v":"균형"},{"$i":"ringer_tailwind","$v":"순풍"},{"$i":"ringer_thoughtful","$v":"사색"},{"$i":"ringer_wit","$v":"재치"},{"$i":"ringer_zen","$v":"고요"},{"$i":"notifier_bells","$v":"벨"},{"$i":"notifier_bloom","$v":"개화"},{"$i":"notifier_chime","$v":"종소리"},{"$i":"notifier_clicka","$v":"클리카"},{"$i":"notifier_digi","$v":"디기"},{"$i":"notifier_dropplet","$v":"똑똑"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"헬로우"},{"$i":"notifier_lowmarble","$v":"대리석 저음"},{"$i":"notifier_ping","$v":"핑"},{"$i":"notifier_plickle","$v":"플리클"},{"$i":"notifier_pocko","$v":"폭코"},{"$i":"notifier_quado","$v":"쿼도"},{"$i":"notifier_red","$v":"빨강"},{"$i":"notifier_sato","$v":"사토"},{"$i":"notifier_swipo","$v":"스위포"},{"$i":"notifier_trickleup","$v":"상승"},{"$i":"notifier_trink","$v":"방울"},{"$i":"notifier_verse","$v":"시"},{"$i":"manage-title-2","$v":"소리 관리"},{"$i":"actions-share-ringtone","$v":"벨소리 공유"},{"$i":"actions-delete-ringtone","$v":"벨소리 삭제"},{"$i":"actions-share-alerttone","$v":"경고음 공유"},{"$i":"actions-delete-alerttone","$v":"경고음 삭제"},{"$i":"actions-cancel","$v":"취소"},{"$i":"delete-title-ringtone","$v":"벨소리 삭제"},{"$i":"delete-title-alerttone","$v":"경고음 삭제"},{"$i":"delete-message","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" 항목을 정말로 삭제하시겠습니까?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" 항목은 현재 기본 벨소리입니다.<br><br>정말로 삭제하시겠습니까?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" 항목은 현재 기본 경고음입니다.<br><br>정말로 삭제하시겠습니까?"]},{"$i":"delete-cancel","$v":"취소"},{"$i":"delete-confirm","$v":"삭제"},{"$i":"deleted-ringtone","$v":"벨소리가 지워졌습니다."},{"$i":"deleted-alerttone","$v":"경고음이 지워졌습니다."},{"$i":"created-tone","$v":"새 벨소리가 만들어졌습니다."},{"$i":"set-default-tone","$v":"기본 벨소리로 설정되었습니다."},{"$i":"sd-card-subtitle","$v":"SD 카드"},{"$i":"pick-title","$v":"소리 선택"},{"$i":"pick-set","$v":"설정"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 벨소리"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 경고음"]},{"$i":"section-title-custom-ringtone","$v":"내 벨소리"},{"$i":"section-title-custom-alerttone","$v":"내 경고음"},{"$i":"create-title","$v":"벨소리 만들기"},{"$i":"create-save","$v":"저장"},{"$i":"create-cancel","$v":"취소"},{"$i":"play-error-title","$v":"꺠진 파일"},{"$i":"play-error-desc","$v":"파일이 깨졌습니다. 벨소리로 사용할 수 없습니다."},{"$i":"save-error-title","$v":"벨소리가 생성되지 않음"},{"$i":"save-error-desc","$v":"벨소리를 만드는데 문제가 발생하였습니다. 다시 시도해 주세요."},{"$i":"default-label","$v":"기본 벨소리로 사용"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"이름없음"},{"$i":"addButton","ariaLabel":"추가"},{"$i":"gaia-menu-cancel","$v":"취소"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Be garso"},{"$i":"ringer_bubble","$v":"Burbuliukai"},{"$i":"ringer_chimer","$v":"Varpelis"},{"$i":"ringer_cunning","$v":"Mielas"},{"$i":"ringer_dulco","$v":"Kanklės"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Sodas"},{"$i":"ringer_marbled","$v":"Marmuro rutuliukai"},{"$i":"ringer_opti","$v":"Lietutis"},{"$i":"ringer_pecko","$v":"Genys"},{"$i":"ringer_pingy","$v":"Pypsiukas"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Etiudas"},{"$i":"ringer_simple","$v":"Paprastas"},{"$i":"ringer_standard1","$v":"Klasikinis"},{"$i":"ringer_standard2","$v":"Klasikinis greitas"},{"$i":"ringer_stutter","$v":"Žvirbliai"},{"$i":"ringer_symmetry","$v":"Simetrija"},{"$i":"ringer_tailwind","$v":"Pavėjui"},{"$i":"ringer_thoughtful","$v":"Mąslus"},{"$i":"ringer_wit","$v":"Gudrus"},{"$i":"ringer_zen","$v":"Pusiausvyra"},{"$i":"notifier_bells","$v":"Skambutis"},{"$i":"notifier_bloom","$v":"Duslus"},{"$i":"notifier_chime","$v":"Varpelis"},{"$i":"notifier_clicka","$v":"Tik tak"},{"$i":"notifier_digi","$v":"Styga"},{"$i":"notifier_dropplet","$v":"Lašelis"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Sveiki"},{"$i":"notifier_lowmarble","$v":"Marmuro rutuliukas"},{"$i":"notifier_ping","$v":"Pyptelėjimas"},{"$i":"notifier_plickle","$v":"Pelytė"},{"$i":"notifier_pocko","$v":"Skylutė"},{"$i":"notifier_quado","$v":"Ketvertukas"},{"$i":"notifier_red","$v":"Raudonas"},{"$i":"notifier_sato","$v":"Aidas"},{"$i":"notifier_swipo","$v":"Butelio kakliukas"},{"$i":"notifier_trickleup","$v":"Srovelė"},{"$i":"notifier_trink","$v":"Čir čir"},{"$i":"notifier_verse","$v":"Akordas"},{"$i":"manage-title-2","$v":"Garsų tvarkymas"},{"$i":"actions-share-ringtone","$v":"Dalintis skambėjimo garsu"},{"$i":"actions-delete-ringtone","$v":"Šalinti skambėjimo garsą"},{"$i":"actions-share-alerttone","$v":"Dalintis įspėjimo garsu"},{"$i":"actions-delete-alerttone","$v":"Šalinti įspėjimo garsą"},{"$i":"actions-cancel","$v":"Atsisakyti"},{"$i":"delete-title-ringtone","$v":"Skambėjimo garso šalinimas"},{"$i":"delete-title-alerttone","$v":"Įspėjimo garso šalinimas"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Atsisakyti"},{"$i":"delete-confirm","$v":"Šalinti"},{"$i":"deleted-ringtone","$v":"Skambėjimo garsas pašalintas."},{"$i":"deleted-alerttone","$v":"Įspėjimo garsas pašalintas."},{"$i":"created-tone","$v":"Sukurtas naujas skambėjimo garsas."},{"$i":"set-default-tone","$v":"Skambėjimo garsas skirtas numatytuoju."},{"$i":"sd-card-subtitle","$v":"Atminties kortelė"},{"$i":"pick-title","$v":"Parinkite garsą"},{"$i":"pick-set","$v":"Gerai"},{"$i":"section-title-builtin-ringtone","$v":["„",{"t":"idOrVar","v":"ringtoneSectionBrandName"},"“ skambėjimo garsai"]},{"$i":"section-title-builtin-alerttone","$v":["„",{"t":"idOrVar","v":"ringtoneSectionBrandName"},"“ įspėjimo garsai"]},{"$i":"section-title-custom-ringtone","$v":"Jūsų skambėjimo garsai"},{"$i":"section-title-custom-alerttone","$v":"Jūsų įspėjimo garsai"},{"$i":"create-title","$v":"Skamb. garso kūrimas"},{"$i":"create-save","$v":"Įrašyti"},{"$i":"create-cancel","$v":"Atsisakyti"},{"$i":"play-error-title","$v":"Failas sugadintas"},{"$i":"play-error-desc","$v":"Šis failas sugadintas. Jo panaudoti skambėjimo garsui sukurti neįmanoma."},{"$i":"save-error-title","$v":"Skambėjimo garsas nesukurtas"},{"$i":"save-error-desc","$v":"Kuriant skambėjimo garsą, iškilo nesklandumų. Pabandykite dar kartą."},{"$i":"default-label","$v":"Skirti numatytuoju skambėjimo garsu"},{"$i":"ok","$v":"Gerai"},{"$i":"ringtone-untitled","$v":"Be pavadinimo"},{"$i":"addButton","ariaLabel":"Add"},{"$i":"gaia-menu-cancel","$v":"Atsisakyti"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"Прелистувач"},{"$i":"browserBrandFullName","$v":"Прелистувач на Mozilla"},{"$i":"ringtoneBrandName","$v":"Default"},{"$i":"ringtoneSectionBrandName","$v":"System"},{"$i":"ringtone-none","$v":"None"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Manage Tones"},{"$i":"actions-share-ringtone","$v":"Share ringtone"},{"$i":"actions-delete-ringtone","$v":"Delete ringtone"},{"$i":"actions-share-alerttone","$v":"Share alert"},{"$i":"actions-delete-alerttone","$v":"Delete alert"},{"$i":"actions-cancel","$v":"Cancel"},{"$i":"delete-title-ringtone","$v":"Delete Ringtone"},{"$i":"delete-title-alerttone","$v":"Delete Alert"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Cancel"},{"$i":"delete-confirm","$v":"Delete"},{"$i":"deleted-ringtone","$v":"Ringtone deleted."},{"$i":"deleted-alerttone","$v":"Alert deleted."},{"$i":"created-tone","$v":"New ringtone created."},{"$i":"set-default-tone","$v":"Ringtone set as default."},{"$i":"sd-card-subtitle","$v":"SD Card"},{"$i":"pick-title","$v":"Select Sound"},{"$i":"pick-set","$v":"Set"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Ringtones"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Alerts"]},{"$i":"section-title-custom-ringtone","$v":"My Ringtones"},{"$i":"section-title-custom-alerttone","$v":"My Alerts"},{"$i":"create-title","$v":"Create Ringtone"},{"$i":"create-save","$v":"Save"},{"$i":"create-cancel","$v":"Cancel"},{"$i":"play-error-title","$v":"Corrupted File"},{"$i":"play-error-desc","$v":"The file is corrupted. It cannot be used to create a ringtone."},{"$i":"save-error-title","$v":"Ringtone Not Created"},{"$i":"save-error-desc","$v":"There was an issue creating the ringtone. Please try again."},{"$i":"default-label","$v":"Use as default ringtone"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Untitled"},{"$i":"addButton","ariaLabel":"Add"},{"$i":"gaia-menu-cancel","$v":"Cancel"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Tiada"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Urus Ton"},{"$i":"actions-share-ringtone","$v":"Kongsi nada dering"},{"$i":"actions-delete-ringtone","$v":"Hapus nada dering"},{"$i":"actions-share-alerttone","$v":"Share alert"},{"$i":"actions-delete-alerttone","$v":"Delete alert"},{"$i":"actions-cancel","$v":"Batal"},{"$i":"delete-title-ringtone","$v":"Hapus Nada Dering"},{"$i":"delete-title-alerttone","$v":"Delete Alert"},{"$i":"delete-message","$v":["Adakah anda pasti untuk menghapus \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" Kini sebagai nada dering lalai.<br><br>Adakah anda pasti untuk menghapusnya?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" Kini sebagai waspada lalai.<br><br>Adakah anda pasti untuk menghapusnya?"]},{"$i":"delete-cancel","$v":"Batal"},{"$i":"delete-confirm","$v":"Hapus"},{"$i":"deleted-ringtone","$v":"Nada dering dipadam."},{"$i":"deleted-alerttone","$v":"Alert deleted."},{"$i":"created-tone","$v":"Nada dering baru dicipta."},{"$i":"set-default-tone","$v":"Nada dering ditetapkan sebagai lalai."},{"$i":"sd-card-subtitle","$v":"Kad SD"},{"$i":"pick-title","$v":"Pilih Bunyi"},{"$i":"pick-set","$v":"Tetap"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Nada Dering"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Waspada"]},{"$i":"section-title-custom-ringtone","$v":"Nada Dering Ku"},{"$i":"section-title-custom-alerttone","$v":"Waspada Ku"},{"$i":"create-title","$v":"Cipta Nada Dering"},{"$i":"create-save","$v":"Simpan"},{"$i":"create-cancel","$v":"Batal"},{"$i":"play-error-title","$v":"Fail Tercemar"},{"$i":"play-error-desc","$v":"Fail ini tercemar. Ia tidak dapat diguna untuk mencipta nada dering."},{"$i":"save-error-title","$v":"Nada Dering Tidak Dicipta"},{"$i":"save-error-desc","$v":"Terdapat isu mencipta nada dering. Sila cuba lagi."},{"$i":"default-label","$v":"Guna sebagai nada dering lalai"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Tak berjudul"},{"$i":"addButton","ariaLabel":"Add"},{"$i":"gaia-menu-cancel","$v":"Batal"}]
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -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":"ringtone-none","$v":"Geen"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Tonen beheren"},{"$i":"actions-share-ringtone","$v":"Beltoon delen"},{"$i":"actions-delete-ringtone","$v":"Beltoon verwijderen"},{"$i":"actions-share-alerttone","$v":"Melding delen"},{"$i":"actions-delete-alerttone","$v":"Melding verwijderen"},{"$i":"actions-cancel","$v":"Annuleren"},{"$i":"delete-title-ringtone","$v":"Beltoon verwijderen"},{"$i":"delete-title-alerttone","$v":"Melding verwijderen"},{"$i":"delete-message","$v":["Weet u zeker dat u ‘<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>’ wilt verwijderen?"]},{"$i":"delete-message-default-ringtone","$v":["‘<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>’ is de huidige standaardbeltoon.<br><br>Weet u zeker dat u deze wilt verwijderen?"]},{"$i":"delete-message-default-alerttone","$v":["‘<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>’ is de huidige standaardmelding.<br><br>Weet u zeker dat u deze wilt verwijderen?"]},{"$i":"delete-cancel","$v":"Annuleren"},{"$i":"delete-confirm","$v":"Verwijderen"},{"$i":"deleted-ringtone","$v":"Beltoon verwijderd."},{"$i":"deleted-alerttone","$v":"Melding verwijderd."},{"$i":"created-tone","$v":"Nieuwe beltoon aangemaakt."},{"$i":"set-default-tone","$v":"Beltoon als standaard ingesteld."},{"$i":"sd-card-subtitle","$v":"SD-kaart"},{"$i":"pick-title","$v":"Geluid selecteren"},{"$i":"pick-set","$v":"Instellen"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-beltonen"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-meldingen"]},{"$i":"section-title-custom-ringtone","$v":"Mijn beltonen"},{"$i":"section-title-custom-alerttone","$v":"Mijn meldingen"},{"$i":"create-title","$v":"Beltoon aanmaken"},{"$i":"create-save","$v":"Opslaan"},{"$i":"create-cancel","$v":"Annuleren"},{"$i":"play-error-title","$v":"Beschadigd bestand"},{"$i":"play-error-desc","$v":"Het bestand is beschadigd. Het kan niet worden gebruikt om een beltoon aan te maken."},{"$i":"save-error-title","$v":"Beltoon niet aangemaakt"},{"$i":"save-error-desc","$v":"Er was een probleem bij het aanmaken van de beltoon. Probeer het opnieuw."},{"$i":"default-label","$v":"Gebruiken als standaardbeltoon"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Naamloos"},{"$i":"addButton","ariaLabel":"Toevoegen"},{"$i":"gaia-menu-cancel","$v":"Annuleren"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"brandShortName","$v":"B2G ਓ.ਸਿ."},{"$i":"browserBrandShortName","$v":"ਵੈੱਬ ਬਰਾਊਜ਼ਰ"},{"$i":"browserBrandFullName","$v":"ਮੋਜ਼ੀਲਾ ਵੈੱਬ ਬਰਾਊਜ਼ਰ"},{"$i":"ringtoneBrandName","$v":"ਮੂਲ"},{"$i":"ringtoneSectionBrandName","$v":"ਸਿਸਟਮ"},{"$i":"ringtone-none","$v":"ਕੋਈ ਨਹੀਂ"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Manage Tones"},{"$i":"actions-share-ringtone","$v":"Share ringtone"},{"$i":"actions-delete-ringtone","$v":"Delete ringtone"},{"$i":"actions-share-alerttone","$v":"Share alert"},{"$i":"actions-delete-alerttone","$v":"Delete alert"},{"$i":"actions-cancel","$v":"Cancel"},{"$i":"delete-title-ringtone","$v":"Delete Ringtone"},{"$i":"delete-title-alerttone","$v":"Delete Alert"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Cancel"},{"$i":"delete-confirm","$v":"Delete"},{"$i":"deleted-ringtone","$v":"Ringtone deleted."},{"$i":"deleted-alerttone","$v":"Alert deleted."},{"$i":"created-tone","$v":"New ringtone created."},{"$i":"set-default-tone","$v":"Ringtone set as default."},{"$i":"sd-card-subtitle","$v":"SD Card"},{"$i":"pick-title","$v":"Select Sound"},{"$i":"pick-set","$v":"Set"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Ringtones"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Alerts"]},{"$i":"section-title-custom-ringtone","$v":"My Ringtones"},{"$i":"section-title-custom-alerttone","$v":"My Alerts"},{"$i":"create-title","$v":"Create Ringtone"},{"$i":"create-save","$v":"Save"},{"$i":"create-cancel","$v":"Cancel"},{"$i":"play-error-title","$v":"Corrupted File"},{"$i":"play-error-desc","$v":"The file is corrupted. It cannot be used to create a ringtone."},{"$i":"save-error-title","$v":"Ringtone Not Created"},{"$i":"save-error-desc","$v":"There was an issue creating the ringtone. Please try again."},{"$i":"default-label","$v":"Use as default ringtone"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Untitled"},{"$i":"addButton","ariaLabel":"Add"},{"$i":"gaia-menu-cancel","$v":"ਰੱਦ ਕਰੋ"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Brak"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Ogród"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Czysty"},{"$i":"ringer_standard1","$v":"Klasyczny"},{"$i":"ringer_standard2","$v":"Szybki klasyczny"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symetria"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Dzwonki"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hej!"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Zarządzanie dźwiękami"},{"$i":"actions-share-ringtone","$v":"Udostępnij dzwonek"},{"$i":"actions-delete-ringtone","$v":"Usuń dzwonek"},{"$i":"actions-share-alerttone","$v":"Udostępnij alarm"},{"$i":"actions-delete-alerttone","$v":"Usuń alarm"},{"$i":"actions-cancel","$v":"Anuluj"},{"$i":"delete-title-ringtone","$v":"Usuwanie dzwonka"},{"$i":"delete-title-alerttone","$v":"Usuwanie alarmu"},{"$i":"delete-message","$v":["Na pewno usunąć dzwonek „<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>”?"]},{"$i":"delete-message-default-ringtone","$v":["„<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>” jest obecnie domyślnym dzwonkiem.<br><br>Czy na pewno chcesz go usunąć?"]},{"$i":"delete-message-default-alerttone","$v":["„<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>” jest obecnie domyślnym dźwiękiem alarmów.<br><br>Czy na pewno chcesz go usunąć?"]},{"$i":"delete-cancel","$v":"Anuluj"},{"$i":"delete-confirm","$v":"Usuń"},{"$i":"deleted-ringtone","$v":"Dzwonek usunięty."},{"$i":"deleted-alerttone","$v":"Alarm usunięty."},{"$i":"created-tone","$v":"Utworzono nowy dzwonek."},{"$i":"set-default-tone","$v":"Dzwonek ustawiony jako domyślny."},{"$i":"sd-card-subtitle","$v":"Karta SD"},{"$i":"pick-title","$v":"Wybór dźwięku"},{"$i":"pick-set","$v":"Ustaw"},{"$i":"section-title-builtin-ringtone","$v":"Dzwonki systemowe"},{"$i":"section-title-builtin-alerttone","$v":"Alarmy systemowe"},{"$i":"section-title-custom-ringtone","$v":"Dzwonki użytkownika"},{"$i":"section-title-custom-alerttone","$v":"Alarmy użytkownika"},{"$i":"create-title","$v":"Tworzenie dzwonka"},{"$i":"create-save","$v":"Zapisz"},{"$i":"create-cancel","$v":"Anuluj"},{"$i":"play-error-title","$v":"Uszkodzony plik"},{"$i":"play-error-desc","$v":"Plik jest uszkodzony i nie może zostać użyty do utworzenia dzwonka."},{"$i":"save-error-title","$v":"Nie utworzono dzwonka"},{"$i":"save-error-desc","$v":"Wystąpił problem podczas tworzenia dzwonka. Spróbuj ponownie."},{"$i":"default-label","$v":"Użyj jako domyślnego dzwonka"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Brak nazwy"},{"$i":"addButton","ariaLabel":"Dodaj"},{"$i":"gaia-menu-cancel","$v":"Anuluj"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Nenhum"},{"$i":"ringer_bubble","$v":"Bolha"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Jardim"},{"$i":"ringer_marbled","$v":"Mármore"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pica-Pau"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Limpo"},{"$i":"ringer_standard1","$v":"Clássico"},{"$i":"ringer_standard2","$v":"Clássico Rápido"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Simetria"},{"$i":"ringer_tailwind","$v":"Sussurro do Vento"},{"$i":"ringer_thoughtful","$v":"Pensativo"},{"$i":"ringer_wit","$v":"Sagáz"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Sinos"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Gota"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Olá"},{"$i":"notifier_lowmarble","$v":"Mármore Baixo"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Vermelho"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Gerenciar toques"},{"$i":"actions-share-ringtone","$v":"Compartilhar toque"},{"$i":"actions-delete-ringtone","$v":"Apagar toque"},{"$i":"actions-share-alerttone","$v":"Compartilhar alerta"},{"$i":"actions-delete-alerttone","$v":"Apagar alerta"},{"$i":"actions-cancel","$v":"Cancelar"},{"$i":"delete-title-ringtone","$v":"Apagar toque"},{"$i":"delete-title-alerttone","$v":"Apagar alerta"},{"$i":"delete-message","$v":["Tem certeza que deseja apagar \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" é o toque padrão.<br><br>Tem certeza de que deseja apagá-lo?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" é o alerta padrão.<br><br>Tem certeza de que deseja apagá-lo?"]},{"$i":"delete-cancel","$v":"Cancelar"},{"$i":"delete-confirm","$v":"Apagar"},{"$i":"deleted-ringtone","$v":"Toque apagado."},{"$i":"deleted-alerttone","$v":"Alerta apagado."},{"$i":"created-tone","$v":"Novo toque criado."},{"$i":"set-default-tone","$v":"Toque definido como padrão."},{"$i":"sd-card-subtitle","$v":"Cartão SD"},{"$i":"pick-title","$v":"Selecionar Som"},{"$i":"pick-set","$v":"Definir"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Toques"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Alertas"]},{"$i":"section-title-custom-ringtone","$v":"Meus toques"},{"$i":"section-title-custom-alerttone","$v":"Meus Alertas"},{"$i":"create-title","$v":"criar toque"},{"$i":"create-save","$v":"Salvar"},{"$i":"create-cancel","$v":"Cancelar"},{"$i":"play-error-title","$v":"Arquivo Corrompido"},{"$i":"play-error-desc","$v":"O arquivo está corrompido. Ele não pode ser usado para criar um toque."},{"$i":"save-error-title","$v":"Toque não foi criado"},{"$i":"save-error-desc","$v":"Ocorreu um problema ao criar o toque. Por favor, tente novamente."},{"$i":"default-label","$v":"Definir como toque padrão"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Sem título"},{"$i":"addButton","ariaLabel":"Adicionar"},{"$i":"gaia-menu-cancel","$v":"Cancelar"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Niciunul"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Gestionează tonuri"},{"$i":"actions-share-ringtone","$v":"Partajează tonul de apel"},{"$i":"actions-delete-ringtone","$v":"Șterge tonul de apel"},{"$i":"actions-share-alerttone","$v":"Partajează alerta"},{"$i":"actions-delete-alerttone","$v":"Șterge alerta"},{"$i":"actions-cancel","$v":"Renunță"},{"$i":"delete-title-ringtone","$v":"Șterge tonul de apel"},{"$i":"delete-title-alerttone","$v":"Șterge alerta"},{"$i":"delete-message","$v":["Sigur dorești să ștergi „<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>”?"]},{"$i":"delete-message-default-ringtone","$v":["„<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>” e tonul de apel actual implicit.<br><br>Sigur dorești să-l ștergi?"]},{"$i":"delete-message-default-alerttone","$v":["„<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>” e alerta actuală implicită.<br><br>Sigur dorești să o ștergi?"]},{"$i":"delete-cancel","$v":"Renunță"},{"$i":"delete-confirm","$v":"Șterge"},{"$i":"deleted-ringtone","$v":"Ton de apel șters."},{"$i":"deleted-alerttone","$v":"Alertă ștearsă."},{"$i":"created-tone","$v":"Ton de apel nou creat."},{"$i":"set-default-tone","$v":"Ton de apel setat ca implicit."},{"$i":"sd-card-subtitle","$v":"Card SD"},{"$i":"pick-title","$v":"Selectează sunetul"},{"$i":"pick-set","$v":"Setează"},{"$i":"section-title-builtin-ringtone","$v":["Tonuri de apel ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Alerte ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Tonurile mele"},{"$i":"section-title-custom-alerttone","$v":"Alertele mele"},{"$i":"create-title","$v":"Creează ton de apel"},{"$i":"create-save","$v":"Salvează"},{"$i":"create-cancel","$v":"Renunță"},{"$i":"play-error-title","$v":"Fișier corupt"},{"$i":"play-error-desc","$v":"Fișierul este corupt. Nu poate fi folosit pentru a crea un ton de apel."},{"$i":"save-error-title","$v":"Ton de apel necreat"},{"$i":"save-error-desc","$v":"A apărut o problemă la crearea tonului de apel. Te rugăm să reîncerci."},{"$i":"default-label","$v":"Folosește ca ton implicit"},{"$i":"ok","$v":"Ok"},{"$i":"ringtone-untitled","$v":"Fără titlu"},{"$i":"addButton","ariaLabel":"Adaugă"},{"$i":"gaia-menu-cancel","$v":"Renunță"}]
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -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":"ringtone-none","$v":"Žiadny"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Správa tónov"},{"$i":"actions-share-ringtone","$v":"Zdieľať vyzváňanie"},{"$i":"actions-delete-ringtone","$v":"Odstrániť vyzváňanie"},{"$i":"actions-share-alerttone","$v":"Zdieľať tón upozornenia"},{"$i":"actions-delete-alerttone","$v":"Odstrániť tón upozornenia"},{"$i":"actions-cancel","$v":"Zrušiť"},{"$i":"delete-title-ringtone","$v":"Odstránenie vyzváňania"},{"$i":"delete-title-alerttone","$v":"Odstránenie tónu upozornenia"},{"$i":"delete-message","$v":["Naozaj chcete odstrániť vyzváňanie \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je aktuálne predvoleným vyzváňaním.<br><br>Naozaj ho chcete odstrániť?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je aktuálne predvoleným tónom upozornení.<br><br>Naozaj ho chcete odstrániť?"]},{"$i":"delete-cancel","$v":"Zrušiť"},{"$i":"delete-confirm","$v":"Odstrániť"},{"$i":"deleted-ringtone","$v":"Vyzváňanie bolo odstránené."},{"$i":"deleted-alerttone","$v":"Tón upozornenia bol odstránený."},{"$i":"created-tone","$v":"Nové vyzváňanie bolo vytvorené."},{"$i":"set-default-tone","$v":"Vyzváňanie bolo nastavené ako predvolené."},{"$i":"sd-card-subtitle","$v":"Karta SD"},{"$i":"pick-title","$v":"Zvoľte zvuk"},{"$i":"pick-set","$v":"Nastaviť"},{"$i":"section-title-builtin-ringtone","$v":["Vyzváňania ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Tóny upozornenia ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Moje vyzváňania"},{"$i":"section-title-custom-alerttone","$v":"Moje tóny upozornenia"},{"$i":"create-title","$v":"Vytvorenie vyzváňania"},{"$i":"create-save","$v":"Uložiť"},{"$i":"create-cancel","$v":"Zrušiť"},{"$i":"play-error-title","$v":"Poškodený súbor"},{"$i":"play-error-desc","$v":"Súbor je poškodený. Nie je možné ho použiť na vytvorenie vyzváňania."},{"$i":"save-error-title","$v":"Vyzváňanie nebolo vytvorené"},{"$i":"save-error-desc","$v":"Pri vytváraní vyzváňania sa vyskytla chyba. Skúste to znova."},{"$i":"default-label","$v":"Použiť ako predvolené vyzváňanie"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Bez názvu"},{"$i":"addButton","ariaLabel":"Pridať"},{"$i":"gaia-menu-cancel","$v":"Zrušiť"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Asnjë"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Administroni Zile"},{"$i":"actions-share-ringtone","$v":"Ndajeni zilen me të tjerë"},{"$i":"actions-delete-ringtone","$v":"Fshije zilen"},{"$i":"actions-share-alerttone","$v":"Ndajeni sinjalin me të tjerët"},{"$i":"actions-delete-alerttone","$v":"Fshije sinjalin"},{"$i":"actions-cancel","$v":"Anulojeni"},{"$i":"delete-title-ringtone","$v":"Fshini Zile"},{"$i":"delete-title-alerttone","$v":"Fshini Sinjal"},{"$i":"delete-message","$v":["Jeni i sigurt se doni të fshihet \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" është zilja parazgjedhje e tanishme.<br><br>Jeni i sigurt se doni të fshihet?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" është tingulli parazgjedhje i tanishëm.<br><br>Jeni i sigurt se doni të fshihet?"]},{"$i":"delete-cancel","$v":"Anulojeni"},{"$i":"delete-confirm","$v":"Fshije"},{"$i":"deleted-ringtone","$v":"Zilja u fshi."},{"$i":"deleted-alerttone","$v":"Sinjalizimi u fshi."},{"$i":"created-tone","$v":"U krijua zile e re."},{"$i":"set-default-tone","$v":"Zilja u caktua si parazgjedhja."},{"$i":"sd-card-subtitle","$v":"Kartë SD"},{"$i":"pick-title","$v":"Përzgjidhni Tingull"},{"$i":"pick-set","$v":"U bë"},{"$i":"section-title-builtin-ringtone","$v":["Zile ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Sinjalizime ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Zilet e Mia"},{"$i":"section-title-custom-alerttone","$v":"Sinjalizimet e Mia"},{"$i":"create-title","$v":"Krijoni Zile"},{"$i":"create-save","$v":"Ruaje"},{"$i":"create-cancel","$v":"Anulojeni"},{"$i":"play-error-title","$v":"Kartelë e Dëmtuar"},{"$i":"play-error-desc","$v":"Kartela është e dëmtuar. S’përdoret dot për krijim zileje."},{"$i":"save-error-title","$v":"Zilja S’u Krijua"},{"$i":"save-error-desc","$v":"Pati një problem në krijimin e ziles. Ju lutemi, riprovoni."},{"$i":"default-label","$v":"Përdore si zilen parazgjedhje"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"E patitull"},{"$i":"addButton","ariaLabel":"Shtoje"},{"$i":"gaia-menu-cancel","$v":"Anulojeni"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Ниједан"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Управљање мелодијама"},{"$i":"actions-share-ringtone","$v":"Подели мелодију"},{"$i":"actions-delete-ringtone","$v":"Избриши мелодију"},{"$i":"actions-share-alerttone","$v":"Подели упозорење"},{"$i":"actions-delete-alerttone","$v":"Избриши упозорење"},{"$i":"actions-cancel","$v":"Откажи"},{"$i":"delete-title-ringtone","$v":"Избриши мелодију"},{"$i":"delete-title-alerttone","$v":"Избриши упозорење"},{"$i":"delete-message","$v":["Да ли сте сигурни да желите да обришете \"<bdi>",{"t":"idOrVar","v":"tone"},"\"<bdi>?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" је тренутно подразумевана мелодија.<br><br>Да ли сте сигурни да желите да је обришете?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" је тренутно подразумевано упозорење.<br><br>Да ли сте сигурни да желите да га обришете?"]},{"$i":"delete-cancel","$v":"Откажи"},{"$i":"delete-confirm","$v":"Избриши"},{"$i":"deleted-ringtone","$v":"Мелодија је обрисана."},{"$i":"deleted-alerttone","$v":"Упозорење је обрисано."},{"$i":"created-tone","$v":"Нова мелодија је направљена."},{"$i":"set-default-tone","$v":"Мелодија је постављена."},{"$i":"sd-card-subtitle","$v":"SD картица"},{"$i":"pick-title","$v":"Одабери звук"},{"$i":"pick-set","$v":"Постави"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," мелодије"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," упозорења"]},{"$i":"section-title-custom-ringtone","$v":"Моје мелодије"},{"$i":"section-title-custom-alerttone","$v":"Моја упозорења"},{"$i":"create-title","$v":"Направи мел."},{"$i":"create-save","$v":"Сними"},{"$i":"create-cancel","$v":"Откажи"},{"$i":"play-error-title","$v":"Оштећена датотека"},{"$i":"play-error-desc","$v":"Датотека је оштећена. Не може да се користи за прављење мелодије."},{"$i":"save-error-title","$v":"Мелодија није направљена"},{"$i":"save-error-desc","$v":"Дошло је до грешке при прављењу мелодије. Покушајте поново."},{"$i":"default-label","$v":"Користи као подразумевану мелодију"},{"$i":"ok","$v":"У реду"},{"$i":"ringtone-untitled","$v":"Без имена"},{"$i":"addButton","ariaLabel":"Додај"},{"$i":"gaia-menu-cancel","$v":"Откажи"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Nijedan"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Upravljanje melodijama"},{"$i":"actions-share-ringtone","$v":"Podeli melodiju"},{"$i":"actions-delete-ringtone","$v":"Izbriši melodiju"},{"$i":"actions-share-alerttone","$v":"Podeli upozorenje"},{"$i":"actions-delete-alerttone","$v":"Izbriši upozorenje"},{"$i":"actions-cancel","$v":"Otkaži"},{"$i":"delete-title-ringtone","$v":"Izbriši melodiju"},{"$i":"delete-title-alerttone","$v":"Izbriši upozorenje"},{"$i":"delete-message","$v":["Da li ste sigurni da želite da obrišete \"<bdi>",{"t":"idOrVar","v":"tone"},"\"<bdi>?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je trenutno podrazumevana melodija.<br><br>Da li ste sigurni da želite da je obrišete?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je trenutno podrazumevano upozorenje.<br><br>Da li ste sigurni da želite da ga obrišete?"]},{"$i":"delete-cancel","$v":"Otkaži"},{"$i":"delete-confirm","$v":"Izbriši"},{"$i":"deleted-ringtone","$v":"Melodija je obrisana."},{"$i":"deleted-alerttone","$v":"Upozorenje je obrisano."},{"$i":"created-tone","$v":"Nova melodija je napravljena."},{"$i":"set-default-tone","$v":"Melodija je postavljena."},{"$i":"sd-card-subtitle","$v":"SD kartica"},{"$i":"pick-title","$v":"Odaberi zvuk"},{"$i":"pick-set","$v":"Postavi"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," melodije"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," upozorenja"]},{"$i":"section-title-custom-ringtone","$v":"Moje melodije"},{"$i":"section-title-custom-alerttone","$v":"Moja upozorenja"},{"$i":"create-title","$v":"Napravi mel."},{"$i":"create-save","$v":"Snimi"},{"$i":"create-cancel","$v":"Otkaži"},{"$i":"play-error-title","$v":"Oštećena datoteka"},{"$i":"play-error-desc","$v":"Datoteka je oštećena. Ne može da se koristi za pravljenje melodije."},{"$i":"save-error-title","$v":"Melodija nije napravljena"},{"$i":"save-error-desc","$v":"Došlo je do greške pri pravljenju melodije. Pokušajte ponovo."},{"$i":"default-label","$v":"Koristi kao podrazumevanu melodiju"},{"$i":"ok","$v":"U redu"},{"$i":"ringtone-untitled","$v":"Bez imena"},{"$i":"addButton","ariaLabel":"Dodaj"},{"$i":"gaia-menu-cancel","$v":"Otkaži"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Ingen"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Hantera ringsignaler"},{"$i":"actions-share-ringtone","$v":"Dela ringsignal"},{"$i":"actions-delete-ringtone","$v":"Ta bort ringsignal"},{"$i":"actions-share-alerttone","$v":"Dela aviseringsljud"},{"$i":"actions-delete-alerttone","$v":"Ta bort aviseringsljud"},{"$i":"actions-cancel","$v":"Avbryt"},{"$i":"delete-title-ringtone","$v":"Ta bort ringsignal"},{"$i":"delete-title-alerttone","$v":"Ta bort aviseringsljud"},{"$i":"delete-message","$v":["Är du säker på att du vill ta bort \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" är den nuvarande standardringsignalen.<br><br>Är du säker på att du vill ta bort det?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" är det nuvarande standardaviseringsljudet.<br><br>Är du säker på att du vill ta bort det?"]},{"$i":"delete-cancel","$v":"Avbryt"},{"$i":"delete-confirm","$v":"Ta bort"},{"$i":"deleted-ringtone","$v":"Ringsignal borttagen."},{"$i":"deleted-alerttone","$v":"Aviseringsljud borttaget."},{"$i":"created-tone","$v":"Ny ringsignal skapad."},{"$i":"set-default-tone","$v":"Ringsignal satt till standard."},{"$i":"sd-card-subtitle","$v":"Minneskort"},{"$i":"pick-title","$v":"Välj ljud"},{"$i":"pick-set","$v":"Använd"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," ringsignaler"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," aviseringsljud"]},{"$i":"section-title-custom-ringtone","$v":"Mina ringsignaler"},{"$i":"section-title-custom-alerttone","$v":"Mina aviseringsljud"},{"$i":"create-title","$v":"Skapa ringsignal"},{"$i":"create-save","$v":"Spara"},{"$i":"create-cancel","$v":"Avbryt"},{"$i":"play-error-title","$v":"Skadad fil"},{"$i":"play-error-desc","$v":"Filen är skadad. Den kan inte användas för att skapa en ringsignal."},{"$i":"save-error-title","$v":"Ringsignal skapades inte"},{"$i":"save-error-desc","$v":"Det uppstod ett problem när ringsignal skapades. Försök igen."},{"$i":"default-label","$v":"Använd som standardringsignal"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Namnlös"},{"$i":"addButton","ariaLabel":"Lägg till"},{"$i":"gaia-menu-cancel","$v":"Avbryt"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Yok"},{"$i":"ringer_bubble","$v":"Balon"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Bahçe"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Yalın"},{"$i":"ringer_standard1","$v":"Klasik"},{"$i":"ringer_standard2","$v":"Klasik Hızlı"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Kuyruk Rüzgârı"},{"$i":"ringer_thoughtful","$v":"Düşünceli"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Çan"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Merhaba"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Sesleri yönet"},{"$i":"actions-share-ringtone","$v":"Zil sesini paylaş"},{"$i":"actions-delete-ringtone","$v":"Zil sesini sil"},{"$i":"actions-share-alerttone","$v":"Uyarıyı paylaş"},{"$i":"actions-delete-alerttone","$v":"Uyarıyı sil"},{"$i":"actions-cancel","$v":"İptal"},{"$i":"delete-title-ringtone","$v":"Zil sesini sil"},{"$i":"delete-title-alerttone","$v":"Uyarıyı sil"},{"$i":"delete-message","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" sesini silmek istediğinizden emin misiniz?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" şu anda varsayılan zil sesiniz.<br><br>Silmek istediğinizden emin misiniz?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" şu anda varsayılan uyarınız.<br><br>Silmek istediğinizden emin misiniz? "]},{"$i":"delete-cancel","$v":"İptal"},{"$i":"delete-confirm","$v":"Sil"},{"$i":"deleted-ringtone","$v":"Zil sesi silindi."},{"$i":"deleted-alerttone","$v":"Uyarı silindi."},{"$i":"created-tone","$v":"Yeni zil sesi oluşturuldu."},{"$i":"set-default-tone","$v":"Zil sesi varsayılan olarak ayarlandı."},{"$i":"sd-card-subtitle","$v":"SD kart"},{"$i":"pick-title","$v":"Ses seçin"},{"$i":"pick-set","$v":"Ayarla"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," zil sesleri"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," uyarıları"]},{"$i":"section-title-custom-ringtone","$v":"Zil seslerim"},{"$i":"section-title-custom-alerttone","$v":"Uyarılarım"},{"$i":"create-title","$v":"Zil sesi oluştur"},{"$i":"create-save","$v":"Kaydet"},{"$i":"create-cancel","$v":"İptal"},{"$i":"play-error-title","$v":"Bozuk dosya"},{"$i":"play-error-desc","$v":"Dosya hasar gördüğü için zil sesi oluşturmakta kullanılamaz."},{"$i":"save-error-title","$v":"Zil sesi oluşturulamadı"},{"$i":"save-error-desc","$v":"Zil sesi oluşturulurken bir sorun oluştu. Lütfen tekrar deneyin."},{"$i":"default-label","$v":"Varsayılan zil sesi olarak kullan"},{"$i":"ok","$v":"Tamam"},{"$i":"ringtone-untitled","$v":"Adsız"},{"$i":"addButton","ariaLabel":"Ekle"},{"$i":"gaia-menu-cancel","$v":"İptal"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"网络浏览器"},{"$i":"browserBrandFullName","$v":"Mozilla 网络浏览器"},{"$i":"ringtoneBrandName","$v":"默认"},{"$i":"ringtoneSectionBrandName","$v":"系统"},{"$i":"ringtone-none","$v":"无"},{"$i":"ringer_bubble","$v":"气泡"},{"$i":"ringer_chimer","$v":"叮铃"},{"$i":"ringer_cunning","$v":"精巧"},{"$i":"ringer_dulco","$v":"达尔茜"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"花园"},{"$i":"ringer_marbled","$v":"弹子"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"坷叩坷扣"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"泡泡"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"纯净"},{"$i":"ringer_standard1","$v":"经典"},{"$i":"ringer_standard2","$v":"快速经典"},{"$i":"ringer_stutter","$v":"重复断续"},{"$i":"ringer_symmetry","$v":"对称性"},{"$i":"ringer_tailwind","$v":"一路顺风"},{"$i":"ringer_thoughtful","$v":"沉思"},{"$i":"ringer_wit","$v":"机智幽默"},{"$i":"ringer_zen","$v":"禅"},{"$i":"notifier_bells","$v":"钟琴"},{"$i":"notifier_bloom","$v":"啵棱"},{"$i":"notifier_chime","$v":"敲击"},{"$i":"notifier_clicka","$v":"叮咔"},{"$i":"notifier_digi","$v":"叮"},{"$i":"notifier_dropplet","$v":"叮咕嘀"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"低声弹子"},{"$i":"notifier_ping","$v":"乒"},{"$i":"notifier_plickle","$v":"叮铃咚"},{"$i":"notifier_pocko","$v":"简短"},{"$i":"notifier_quado","$v":"气泡弹出"},{"$i":"notifier_red","$v":"红色提示"},{"$i":"notifier_sato","$v":"深邃"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"滴流"},{"$i":"notifier_trink","$v":"明快"},{"$i":"notifier_verse","$v":"短句"},{"$i":"manage-title-2","$v":"管理铃声"},{"$i":"actions-share-ringtone","$v":"分享铃声"},{"$i":"actions-delete-ringtone","$v":"删除铃声"},{"$i":"actions-share-alerttone","$v":"分享警示音"},{"$i":"actions-delete-alerttone","$v":"删除警示音"},{"$i":"actions-cancel","$v":"取消"},{"$i":"delete-title-ringtone","$v":"删除铃声"},{"$i":"delete-title-alerttone","$v":"删除警告"},{"$i":"delete-message","$v":["您确定要删除“<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>”?"]},{"$i":"delete-message-default-ringtone","$v":["“<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>”是目前的默认铃声<br><br>您确定要删除它?"]},{"$i":"delete-message-default-alerttone","$v":["“<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>”是目前的默认警示音<br><br>您确定要删除它?"]},{"$i":"delete-cancel","$v":"取消"},{"$i":"delete-confirm","$v":"删除"},{"$i":"deleted-ringtone","$v":"铃声已删除。"},{"$i":"deleted-alerttone","$v":"警示音已删除。"},{"$i":"created-tone","$v":"新铃声已创建。"},{"$i":"set-default-tone","$v":"已设置为默认铃声。"},{"$i":"sd-card-subtitle","$v":"SD 卡"},{"$i":"pick-title","$v":"选择铃声"},{"$i":"pick-set","$v":"设置"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 铃声"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 警示音"]},{"$i":"section-title-custom-ringtone","$v":"我的铃声"},{"$i":"section-title-custom-alerttone","$v":"我的警示音"},{"$i":"create-title","$v":"创建铃声"},{"$i":"create-save","$v":"保存"},{"$i":"create-cancel","$v":"取消"},{"$i":"play-error-title","$v":"文件已损坏"},{"$i":"play-error-desc","$v":"此文件已损坏,无法被用来创建铃声。"},{"$i":"save-error-title","$v":"铃声未创建"},{"$i":"save-error-desc","$v":"创建铃声时出现问题。请重试。"},{"$i":"default-label","$v":"设为默认铃声"},{"$i":"ok","$v":"确定"},{"$i":"ringtone-untitled","$v":"未命名"},{"$i":"addButton","ariaLabel":"添加"},{"$i":"gaia-menu-cancel","$v":"取消"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"無"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"管理鈴聲"},{"$i":"actions-share-ringtone","$v":"分享鈴聲"},{"$i":"actions-delete-ringtone","$v":"刪除鈴聲"},{"$i":"actions-share-alerttone","$v":"分享警示音效"},{"$i":"actions-delete-alerttone","$v":"刪除警示音效"},{"$i":"actions-cancel","$v":"取消"},{"$i":"delete-title-ringtone","$v":"刪除鈴聲"},{"$i":"delete-title-alerttone","$v":"刪除警示音效"},{"$i":"delete-message","$v":["您確定要刪除「<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>」嗎?"]},{"$i":"delete-message-default-ringtone","$v":["「<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>」是目前的預設鈴聲。<br><br>您確定要刪除嗎?"]},{"$i":"delete-message-default-alerttone","$v":["「<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>」是目前的預設警示聲。<br><br>您確定要刪除嗎?"]},{"$i":"delete-cancel","$v":"取消"},{"$i":"delete-confirm","$v":"刪除"},{"$i":"deleted-ringtone","$v":"已刪除鈴聲。"},{"$i":"deleted-alerttone","$v":"已刪除警示音效。"},{"$i":"created-tone","$v":"已建立新鈴聲。"},{"$i":"set-default-tone","$v":"已將鈴聲設為預設鈴聲。"},{"$i":"sd-card-subtitle","$v":"SD 卡"},{"$i":"pick-title","$v":"選擇音效"},{"$i":"pick-set","$v":"設定"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 鈴聲"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 警示音效"]},{"$i":"section-title-custom-ringtone","$v":"我的鈴聲"},{"$i":"section-title-custom-alerttone","$v":"我的警示音效"},{"$i":"create-title","$v":"建立鈴聲"},{"$i":"create-save","$v":"儲存"},{"$i":"create-cancel","$v":"取消"},{"$i":"play-error-title","$v":"檔案已毀損"},{"$i":"play-error-desc","$v":"檔案已毀損,無法用來建立鈴聲。"},{"$i":"save-error-title","$v":"未建立鈴聲"},{"$i":"save-error-desc","$v":"建立鈴聲時遇到問題,請再試一次。"},{"$i":"default-label","$v":"設定為預設鈴聲"},{"$i":"ok","$v":"確定"},{"$i":"ringtone-untitled","$v":"無標題"},{"$i":"addButton","ariaLabel":"新增"},{"$i":"gaia-menu-cancel","$v":"取消"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"إصدار مجتمع موزيلا فوكسفود"},{"$i":"ringtoneBrandName","$v":"افتراضي"},{"$i":"ringtoneSectionBrandName","$v":"النظام"},{"$i":"ringtone-none","$v":"لا شيء"},{"$i":"ringer_bubble","$v":"فقاعة"},{"$i":"ringer_chimer","$v":"رنين أجراس"},{"$i":"ringer_cunning","$v":"بارع"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"حديقة"},{"$i":"ringer_marbled","$v":"رخام"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"نظيف"},{"$i":"ringer_standard1","$v":"تقليدية"},{"$i":"ringer_standard2","$v":"تقليديّة سريعة"},{"$i":"ringer_stutter","$v":"تمتمة"},{"$i":"ringer_symmetry","$v":"تناظر"},{"$i":"ringer_tailwind","$v":"رياح خلفية"},{"$i":"ringer_thoughtful","$v":"عميق الفكر"},{"$i":"ringer_wit","$v":"ظريف"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"أجراس"},{"$i":"notifier_bloom","$v":"إزهار"},{"$i":"notifier_chime","$v":"الأجراس"},{"$i":"notifier_clicka","$v":"نقرات"},{"$i":"notifier_digi","$v":"ديجي"},{"$i":"notifier_dropplet","$v":"قطرات"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"مرحبًا"},{"$i":"notifier_lowmarble","$v":"رخامي منخفض"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"أحمر"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"سويب"},{"$i":"notifier_trickleup","$v":"تريكل آب"},{"$i":"notifier_trink","$v":"شبكة صيد"},{"$i":"notifier_verse","$v":"فيرس"},{"$i":"manage-title-2","$v":"إدارة النغمات"},{"$i":"actions-share-ringtone","$v":"شارك النغمة"},{"$i":"actions-delete-ringtone","$v":"احذف النغمة"},{"$i":"actions-share-alerttone","$v":"مشاركة التنبيه"},{"$i":"actions-delete-alerttone","$v":"احذف صوت الإنذار"},{"$i":"actions-cancel","$v":"ألغِ"},{"$i":"delete-title-ringtone","$v":"حذف النغمة"},{"$i":"delete-title-alerttone","$v":"حذف صوت الإنذار"},{"$i":"delete-message","$v":["هل أنت متأكد أنك تريد أن تحذف \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"؟"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" هي النغمة الحالية. <br><br> هل أنت متأكد أنك تريد حذفها؟"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" هو صوت الإنذار الحالي. <br><br>هل أنت متأكد أنك تريد حذفه؟"]},{"$i":"delete-cancel","$v":"ألغِ"},{"$i":"delete-confirm","$v":"احذف"},{"$i":"deleted-ringtone","$v":"حُذفت النغمة."},{"$i":"deleted-alerttone","$v":"حُذف صوت الإنذار."},{"$i":"created-tone","$v":"أُنشئت نغمة جديدة."},{"$i":"set-default-tone","$v":"جُعلت النغمةُ النغمةَ المبدئية."},{"$i":"sd-card-subtitle","$v":"بطاقة الذاكرة"},{"$i":"pick-title","$v":"اختر الصوت"},{"$i":"pick-set","$v":"عيّن"},{"$i":"section-title-builtin-ringtone","$v":["نغمات ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["أصوات إنذار ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"نغماتي"},{"$i":"section-title-custom-alerttone","$v":"أصوات الإنذار"},{"$i":"create-title","$v":"أنشئ نغمة"},{"$i":"create-save","$v":"احفظ"},{"$i":"create-cancel","$v":"ألغِ"},{"$i":"play-error-title","$v":"ملف تالف"},{"$i":"play-error-desc","$v":"الملف تالف. لا يمكن أن يستخدم لإنشاء نغمة."},{"$i":"save-error-title","$v":"لم تُنشئ النغمة"},{"$i":"save-error-desc","$v":"وقع خطأ عند إنشاء النغمة. حاول مرة أخرى."},{"$i":"default-label","$v":"اجعلها النغمة المبدئيّة"},{"$i":"ok","$v":"موافق"},{"$i":"ringtone-untitled","$v":"بلا عنوان"},{"$i":"addButton","ariaLabel":"إضافة"}]
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -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":"ringtone-none","$v":"Cap"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Gestió dels tons"},{"$i":"actions-share-ringtone","$v":"Comparteix el to de trucada"},{"$i":"actions-delete-ringtone","$v":"Elimina to de trucada"},{"$i":"actions-share-alerttone","$v":"Comparteix l'alerta"},{"$i":"actions-delete-alerttone","$v":"Elimina l'alerta"},{"$i":"actions-cancel","$v":"Cancel·la"},{"$i":"delete-title-ringtone","$v":"Elimina to de trucada"},{"$i":"delete-title-alerttone","$v":"Elimina l'alerta"},{"$i":"delete-message","$v":["Segur que voleu eliminar «<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>»?"]},{"$i":"delete-message-default-ringtone","$v":["«<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>» és actualment el to de trucada per defecte.<br><br>Segur que voleu eliminar-lo?"]},{"$i":"delete-message-default-alerttone","$v":["«<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>» és actualment l'alerta per defecte.<br><br>Segur que voleu eliminar-la?"]},{"$i":"delete-cancel","$v":"Cancel·la"},{"$i":"delete-confirm","$v":"Elimina"},{"$i":"deleted-ringtone","$v":"S'ha eliminat el to de trucada."},{"$i":"deleted-alerttone","$v":"S'ha eliminat l'alerta."},{"$i":"created-tone","$v":"S'ha creat un to de trucada nou."},{"$i":"set-default-tone","$v":"S'ha definit com a to de trucada per defecte."},{"$i":"sd-card-subtitle","$v":"Targeta SD"},{"$i":"pick-title","$v":"Trieu un to"},{"$i":"pick-set","$v":"Defineix"},{"$i":"section-title-builtin-ringtone","$v":["Tons de trucada del ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Alertes del ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Els meus tons de trucada"},{"$i":"section-title-custom-alerttone","$v":"Les meves alertes"},{"$i":"create-title","$v":"Crea un to de trucada"},{"$i":"create-save","$v":"Desa"},{"$i":"create-cancel","$v":"Cancel·la"},{"$i":"play-error-title","$v":"Fitxer malmès"},{"$i":"play-error-desc","$v":"El fitxer és malmès. No es pot fer servir per crear un to de trucada."},{"$i":"save-error-title","$v":"No s'ha creat el to de trucada"},{"$i":"save-error-desc","$v":"S'ha produït un problema en crear el to de trucada. Torneu-ho a provar."},{"$i":"default-label","$v":"Utilitza com a to de trucada per defecte"},{"$i":"ok","$v":"D'acord"},{"$i":"ringtone-untitled","$v":"Sense títol"},{"$i":"addButton","ariaLabel":"Afegeix"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Žádný"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Správa vyzvánění"},{"$i":"actions-share-ringtone","$v":"Sdílet vyzvánění"},{"$i":"actions-delete-ringtone","$v":"Smazat vyzvánění"},{"$i":"actions-share-alerttone","$v":"Sdílet tón upozornění"},{"$i":"actions-delete-alerttone","$v":"Smazat tón upozornění"},{"$i":"actions-cancel","$v":"Zrušit"},{"$i":"delete-title-ringtone","$v":"Smazání vyzvánění"},{"$i":"delete-title-alerttone","$v":"Smazání tónu upozornění"},{"$i":"delete-message","$v":["Opravdu chcete smazat \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je aktuální výchozí vyzvánění.<br><br>Opravdu ho chcete smazat?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je aktuální výchozí upozornění.<br><br>Opravdu ho chcete smazat?"]},{"$i":"delete-cancel","$v":"Zrušit"},{"$i":"delete-confirm","$v":"Smazat"},{"$i":"deleted-ringtone","$v":"Vyzvánění smazáno."},{"$i":"deleted-alerttone","$v":"Tón upozornění smazán."},{"$i":"created-tone","$v":"Nové vyzvánění vytvořeno."},{"$i":"set-default-tone","$v":"Vyzvánění nastaveno jako výchozí."},{"$i":"sd-card-subtitle","$v":"SD karta"},{"$i":"pick-title","$v":"Výběr zvuku"},{"$i":"pick-set","$v":"Nastavit"},{"$i":"section-title-builtin-ringtone","$v":["Vyzvánění ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}," "]},{"$i":"section-title-builtin-alerttone","$v":["Upozornění ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}," "]},{"$i":"section-title-custom-ringtone","$v":"Má vyzvánění"},{"$i":"section-title-custom-alerttone","$v":"Má upozornění"},{"$i":"create-title","$v":"Vytvoření vyzvánění"},{"$i":"create-save","$v":"Uložit"},{"$i":"create-cancel","$v":"Zrušit"},{"$i":"play-error-title","$v":"Poškozený soubor"},{"$i":"play-error-desc","$v":"Soubor je poškozen, a proto nemůže být použit k vytvoření vyzvánění."},{"$i":"save-error-title","$v":"Vyzvánění nebylo vytvořeno"},{"$i":"save-error-desc","$v":"Problém s vytvořením vyzvánění. Zkuste to prosím znovu."},{"$i":"default-label","$v":"Použít jako výchozí vyzvánění"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Nepojmenované"},{"$i":"addButton","ariaLabel":"Přidat"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Ingen"},{"$i":"ringer_bubble","$v":"Bobler"},{"$i":"ringer_chimer","$v":"Harper"},{"$i":"ringer_cunning","$v":"Listig"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Have"},{"$i":"ringer_marbled","$v":"Marmoreret"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Ren"},{"$i":"ringer_standard1","$v":"Klassisk"},{"$i":"ringer_standard2","$v":"Klassisk, hurtig"},{"$i":"ringer_stutter","$v":"Stammen"},{"$i":"ringer_symmetry","$v":"Symmetri"},{"$i":"ringer_tailwind","$v":"Medvind"},{"$i":"ringer_thoughtful","$v":"Tankefuld"},{"$i":"ringer_wit","$v":"Humor"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Klokker"},{"$i":"notifier_bloom","$v":"Blomstre"},{"$i":"notifier_chime","$v":"Harper"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dråber"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hallo"},{"$i":"notifier_lowmarble","$v":"Marmor, lav"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Rød"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Sive op"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Vers"},{"$i":"manage-title-2","$v":"Håndter toner"},{"$i":"actions-share-ringtone","$v":"Del ringetone"},{"$i":"actions-delete-ringtone","$v":"Slet ringetone"},{"$i":"actions-share-alerttone","$v":"Del alarm"},{"$i":"actions-delete-alerttone","$v":"Slet alarm"},{"$i":"actions-cancel","$v":"Annuller"},{"$i":"delete-title-ringtone","$v":"Slet ringetone"},{"$i":"delete-title-alerttone","$v":"Slet alarm"},{"$i":"delete-message","$v":["Er du sikker på, at du vil slette \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" er den nuværende standardringetone.<br><br>Er du sikker på, at du vil slette den?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" er den nuværende standardalarm.<br><br>Er du sikker på, at du vil slette den?"]},{"$i":"delete-cancel","$v":"Annuller"},{"$i":"delete-confirm","$v":"Slet"},{"$i":"deleted-ringtone","$v":"Ringetone slettet."},{"$i":"deleted-alerttone","$v":"Alarm slettet."},{"$i":"created-tone","$v":"Ny ringetone oprettet."},{"$i":"set-default-tone","$v":"Ringetone sat som standard."},{"$i":"sd-card-subtitle","$v":"SD-kort"},{"$i":"pick-title","$v":"Vælg lyd"},{"$i":"pick-set","$v":"Indstil"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-ringetoner"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-alarmer"]},{"$i":"section-title-custom-ringtone","$v":"Mine ringetoner"},{"$i":"section-title-custom-alerttone","$v":"Mine alarmer"},{"$i":"create-title","$v":"Opret ringetone"},{"$i":"create-save","$v":"Gem"},{"$i":"create-cancel","$v":"Annuller"},{"$i":"play-error-title","$v":"Ødelagt fil"},{"$i":"play-error-desc","$v":"Filen er ødelagt. Den kan ikke bruges til at oprette en ringetone."},{"$i":"save-error-title","$v":"Ringetone ikke oprettet"},{"$i":"save-error-desc","$v":"Der var et problem med at oprette ringetonen. Prøv igen."},{"$i":"default-label","$v":"Brug som standardringetone"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Uden navn"},{"$i":"addButton","ariaLabel":"Tilføj"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Nichts"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Töne verwalten"},{"$i":"actions-share-ringtone","$v":"Klingelton weitergeben"},{"$i":"actions-delete-ringtone","$v":"Klingelton löschen"},{"$i":"actions-share-alerttone","$v":"Alarmton weitergeben"},{"$i":"actions-delete-alerttone","$v":"Alarmton löschen"},{"$i":"actions-cancel","$v":"Abbrechen"},{"$i":"delete-title-ringtone","$v":"Klingelton löschen"},{"$i":"delete-title-alerttone","$v":"Alarmton löschen"},{"$i":"delete-message","$v":["Soll \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" wirklich gelöscht werden?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" ist derzeit der Standardklingelton.<br><br>Soll er wirklich gelöscht werden?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" ist derzeit der Standardalarmton.<br><br>Soll er wirklich gelöscht werden?"]},{"$i":"delete-cancel","$v":"Abbrechen"},{"$i":"delete-confirm","$v":"Löschen"},{"$i":"deleted-ringtone","$v":"Klingelton gelöscht"},{"$i":"deleted-alerttone","$v":"Alarmton gelöscht"},{"$i":"created-tone","$v":"Neuer Klingelton erstellt"},{"$i":"set-default-tone","$v":"Als Standardklingelton festgelegt"},{"$i":"sd-card-subtitle","$v":"Speicherkarte"},{"$i":"pick-title","$v":"Klingelton auswählen"},{"$i":"pick-set","$v":"Übernehmen"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-Klingeltöne"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-Alarmtöne"]},{"$i":"section-title-custom-ringtone","$v":"Meine Klingeltöne"},{"$i":"section-title-custom-alerttone","$v":"Meine Alarmtöne"},{"$i":"create-title","$v":"Klingelton erstellen"},{"$i":"create-save","$v":"Speichern"},{"$i":"create-cancel","$v":"Abbrechen"},{"$i":"play-error-title","$v":"Datei beschädigt"},{"$i":"play-error-desc","$v":"Die Datei ist beschädigt und kann nicht zur Erstellung eines Klingeltons verwendet werden."},{"$i":"save-error-title","$v":"Klingelton nicht erstellt"},{"$i":"save-error-desc","$v":"Beim Erstellen des Klingeltons trat ein Fehler auf. Bitte versuchen Sie es erneut."},{"$i":"default-label","$v":"Als Standardklingelton verwenden"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Unbenannt"},{"$i":"addButton","ariaLabel":"Hinzufügen"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"Περιηγητής"},{"$i":"browserBrandFullName","$v":"Περιηγητής Mozilla"},{"$i":"ringtoneBrandName","$v":"Προκαθορισμένος"},{"$i":"ringtoneSectionBrandName","$v":"Συστήματος"},{"$i":"ringtone-none","$v":"Κανένας"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Διαχείριση ήχων"},{"$i":"actions-share-ringtone","$v":"Μοιραστείτε τον ήχο κλήσης"},{"$i":"actions-delete-ringtone","$v":"Διαγραφή ήχου κλήσης"},{"$i":"actions-share-alerttone","$v":"Μοιραστείτε τον ήχο ειδοποίησης"},{"$i":"actions-delete-alerttone","$v":"Διαγραφή ήχου ειδοποίησης"},{"$i":"actions-cancel","$v":"Ακύρωση"},{"$i":"delete-title-ringtone","$v":"Διαγραφή ήχου κλήσης"},{"$i":"delete-title-alerttone","$v":"Διαγραφή ήχου ειδοποίησης"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Ακύρωση"},{"$i":"delete-confirm","$v":"Διαγραφή"},{"$i":"deleted-ringtone","$v":"Ο ήχος κλήσης διαγράφηκε."},{"$i":"deleted-alerttone","$v":"Ο ήχος ειδοποίησης διαγράφηκε."},{"$i":"created-tone","$v":"Νέος ήχος δημιουργήθηκε."},{"$i":"set-default-tone","$v":"Ο ήχος ορίστηκε ως προεπιλογή."},{"$i":"sd-card-subtitle","$v":"Κάρτα SD"},{"$i":"pick-title","$v":"Επιλογή ήχου"},{"$i":"pick-set","$v":"ΟΚ"},{"$i":"section-title-builtin-ringtone","$v":["Ήχοι ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Ειδοποιήσεις ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Οι ήχοι μου"},{"$i":"section-title-custom-alerttone","$v":"Οι ειδοποιήσεις μου"},{"$i":"create-title","$v":"Ορισμός ήχου"},{"$i":"create-save","$v":"Αποθήκευση"},{"$i":"create-cancel","$v":"Ακύρωση"},{"$i":"play-error-title","$v":"Κατεστραμμένο αρχείο"},{"$i":"play-error-desc","$v":"Το αρχείο είναι κατεστραμμένο. Δε μπορεί να χρησιμοποιηθεί για τη δημιουργία ήχου."},{"$i":"save-error-title","$v":"Ο ήχος δε δημιουργήθηκε"},{"$i":"save-error-desc","$v":"Προέκυψε σφάλμα κατά τη δημιουργία του ήχου. Παρακαλούμε προσπαθήστε ξανά."},{"$i":"default-label","$v":"Χρήση ως προεπιλεγμένο ήχο κλήσης"},{"$i":"ok","$v":"ΟΚ"},{"$i":"ringtone-untitled","$v":"Χωρίς τίτλο"},{"$i":"addButton","ariaLabel":"Add"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"None"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Manage Tones"},{"$i":"actions-share-ringtone","$v":"Share ringtone"},{"$i":"actions-delete-ringtone","$v":"Delete ringtone"},{"$i":"actions-share-alerttone","$v":"Share alert"},{"$i":"actions-delete-alerttone","$v":"Delete alert"},{"$i":"actions-cancel","$v":"Cancel"},{"$i":"delete-title-ringtone","$v":"Delete Ringtone"},{"$i":"delete-title-alerttone","$v":"Delete Alert"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Cancel"},{"$i":"delete-confirm","$v":"Delete"},{"$i":"deleted-ringtone","$v":"Ringtone deleted."},{"$i":"deleted-alerttone","$v":"Alert deleted."},{"$i":"created-tone","$v":"New ringtone created."},{"$i":"set-default-tone","$v":"Ringtone set as default."},{"$i":"sd-card-subtitle","$v":"SD Card"},{"$i":"pick-title","$v":"Select Sound"},{"$i":"pick-set","$v":"Set"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Ringtones"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Alerts"]},{"$i":"section-title-custom-ringtone","$v":"My Ringtones"},{"$i":"section-title-custom-alerttone","$v":"My Alerts"},{"$i":"create-title","$v":"Create Ringtone"},{"$i":"create-save","$v":"Save"},{"$i":"create-cancel","$v":"Cancel"},{"$i":"play-error-title","$v":"Corrupted File"},{"$i":"play-error-desc","$v":"The file is corrupted. It cannot be used to create a ringtone."},{"$i":"save-error-title","$v":"Ringtone Not Created"},{"$i":"save-error-desc","$v":"There was an issue creating the ringtone. Please try again."},{"$i":"default-label","$v":"Use as default ringtone"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Untitled"},{"$i":"addButton","ariaLabel":"Add"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Ninguno"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hola"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Administrar tonos"},{"$i":"actions-share-ringtone","$v":"Compartir tono"},{"$i":"actions-delete-ringtone","$v":"Borrar tono"},{"$i":"actions-share-alerttone","$v":"Compartir alerta"},{"$i":"actions-delete-alerttone","$v":"Borrar alerta"},{"$i":"actions-cancel","$v":"Cancelar"},{"$i":"delete-title-ringtone","$v":"Borrar tono"},{"$i":"delete-title-alerttone","$v":"Borrar alerta"},{"$i":"delete-message","$v":["¿Seguro que desea borrar \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" es el tono predeterminado.<br><br>¿Seguro que desea borrarlo?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" es el tono de alarma predeterminado.<br><br>¿Seguro que desea borrarlo?"]},{"$i":"delete-cancel","$v":"Cancelar"},{"$i":"delete-confirm","$v":"Borrar"},{"$i":"deleted-ringtone","$v":"Tono borrado."},{"$i":"deleted-alerttone","$v":"Alerta borrada."},{"$i":"created-tone","$v":"Nuevo tono creado."},{"$i":"set-default-tone","$v":"Tono configurado como predeterminado."},{"$i":"sd-card-subtitle","$v":"Tarjeta SD"},{"$i":"pick-title","$v":"Seleccionar sonido"},{"$i":"pick-set","$v":"Establecer"},{"$i":"section-title-builtin-ringtone","$v":["Tonos ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Alertas ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Mis tonos"},{"$i":"section-title-custom-alerttone","$v":"Mis alertas"},{"$i":"create-title","$v":"Crear tono"},{"$i":"create-save","$v":"Guardar"},{"$i":"create-cancel","$v":"Cancelar"},{"$i":"play-error-title","$v":"Archivo corrupto"},{"$i":"play-error-desc","$v":"El archivo está corrupto. No puede usarse para crear un tono."},{"$i":"save-error-title","$v":"Tono no creado"},{"$i":"save-error-desc","$v":"Hubo un problema al crear el tono. Pruebe de nuevo."},{"$i":"default-label","$v":"Usar como tono predeterminado"},{"$i":"ok","$v":"Aceptar"},{"$i":"ringtone-untitled","$v":"Sin título"},{"$i":"addButton","ariaLabel":"Agregar"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Bat ere ez"},{"$i":"ringer_bubble","$v":"Burbuila"},{"$i":"ringer_chimer","$v":"Ezkila-hotsak"},{"$i":"ringer_cunning","$v":"Zuhurra"},{"$i":"ringer_dulco","$v":"Orientala"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Lorategia"},{"$i":"ringer_marbled","$v":"Marmolairea"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Okiltxoa"},{"$i":"ringer_pingy","$v":"Txilina"},{"$i":"ringer_poppop","$v":"Pil-pila"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Garbia"},{"$i":"ringer_standard1","$v":"Klasikoa"},{"$i":"ringer_standard2","$v":"Klasiko azkarra"},{"$i":"ringer_stutter","$v":"Totela"},{"$i":"ringer_symmetry","$v":"Simetria"},{"$i":"ringer_tailwind","$v":"Atzeko haizea"},{"$i":"ringer_thoughtful","$v":"Atsegina"},{"$i":"ringer_wit","$v":"Burutsua"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Kanpaiak"},{"$i":"notifier_bloom","$v":"Lorea"},{"$i":"notifier_chime","$v":"Kanpaia"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Tantatxoa"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Kaixo"},{"$i":"notifier_lowmarble","$v":"Marmolaire baxua"},{"$i":"notifier_ping","$v":"Ping-a"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Gorria"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Itogina"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Bertsoa"},{"$i":"manage-title-2","$v":"Kudeatu tonuak"},{"$i":"actions-share-ringtone","$v":"Partekatu txirrin-tonua"},{"$i":"actions-delete-ringtone","$v":"Ezabatu txirrin-tonua"},{"$i":"actions-share-alerttone","$v":"Partekatu alerta"},{"$i":"actions-delete-alerttone","$v":"Ezabatu alerta"},{"$i":"actions-cancel","$v":"Utzi"},{"$i":"delete-title-ringtone","$v":"Ezabatu txirrin-tonua"},{"$i":"delete-title-alerttone","$v":"Ezabatu alerta"},{"$i":"delete-message","$v":["Ziur <bdi>",{"t":"idOrVar","v":"tone"},"</bdi> ezabatu nahi duzula?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" da uneko txirrin-tonu lehenetsia.<br><br>Ziur ezabatu egin nahi duzula?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" da uneko abisu-tonu lehenetsia.<br><br>Ziur ezabatu egin nahi duzula?"]},{"$i":"delete-cancel","$v":"Utzi"},{"$i":"delete-confirm","$v":"Ezabatu"},{"$i":"deleted-ringtone","$v":"Txirrin-tonua ezabatuta."},{"$i":"deleted-alerttone","$v":"Alerta ezabatu da."},{"$i":"created-tone","$v":"Txirrin-tonu berria sortuta."},{"$i":"set-default-tone","$v":"Txirrin-tonua lehenetsi gisa ezarrita."},{"$i":"sd-card-subtitle","$v":"SD txartela"},{"$i":"pick-title","$v":"Hautatu soinua"},{"$i":"pick-set","$v":"Ezarri"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," txirrin-tonuak"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," alertak"]},{"$i":"section-title-custom-ringtone","$v":"Nire txirrin-tonuak"},{"$i":"section-title-custom-alerttone","$v":"Nire alertak"},{"$i":"create-title","$v":"Sortu txirrin-tonua"},{"$i":"create-save","$v":"Gorde"},{"$i":"create-cancel","$v":"Utzi"},{"$i":"play-error-title","$v":"Hondatutako fitxategia"},{"$i":"play-error-desc","$v":"Fitxategia hondatuta dago. Ezin da erabili txirrin-tonua sortzeko."},{"$i":"save-error-title","$v":"Txirrin-tonua ez da sortu"},{"$i":"save-error-desc","$v":"Arazo bat gertatu da txirrin-tonua sortzean. Saiatu berriro mesedez."},{"$i":"default-label","$v":"Erabili txirrin-tonu lehenetsi gisa"},{"$i":"ok","$v":"Ados"},{"$i":"ringtone-untitled","$v":"Izengabea"},{"$i":"addButton","ariaLabel":"Gehitu"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Aucune"},{"$i":"ringer_bubble","$v":"Dragon"},{"$i":"ringer_chimer","$v":"Partage"},{"$i":"ringer_cunning","$v":"Bleu"},{"$i":"ringer_dulco","$v":"Ambiance asiatique"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Croissance"},{"$i":"ringer_marbled","$v":"Ramune"},{"$i":"ringer_opti","$v":"Transformation"},{"$i":"ringer_pecko","$v":"Pivert"},{"$i":"ringer_pingy","$v":"Téléportation"},{"$i":"ringer_poppop","$v":"Alerte vaisseau spatial"},{"$i":"ringer_sata","$v":"Lien"},{"$i":"ringer_simple","$v":"Anthropique"},{"$i":"ringer_standard1","$v":"Hyperbole"},{"$i":"ringer_standard2","$v":"Malice"},{"$i":"ringer_stutter","$v":"Phoniatrie"},{"$i":"ringer_symmetry","$v":"Autrui"},{"$i":"ringer_tailwind","$v":"Afrique"},{"$i":"ringer_thoughtful","$v":"Rêve"},{"$i":"ringer_wit","$v":"Raison"},{"$i":"ringer_zen","$v":"Verrillon"},{"$i":"notifier_bells","$v":"Campaniforme"},{"$i":"notifier_bloom","$v":"Enfance"},{"$i":"notifier_chime","$v":"Tatouage"},{"$i":"notifier_clicka","$v":"Fontaine de bambou"},{"$i":"notifier_digi","$v":"Arc"},{"$i":"notifier_dropplet","$v":"Goutte d’eau"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Nouveau message"},{"$i":"notifier_lowmarble","$v":"Écho"},{"$i":"notifier_ping","$v":"Sonar"},{"$i":"notifier_plickle","$v":"Idiophone"},{"$i":"notifier_pocko","$v":"Abeille"},{"$i":"notifier_quado","$v":"Lipogramme"},{"$i":"notifier_red","$v":"Évolution"},{"$i":"notifier_sato","$v":"Aux frontières du réel"},{"$i":"notifier_swipo","$v":"Luxure"},{"$i":"notifier_trickleup","$v":"Résonance"},{"$i":"notifier_trink","$v":"Saccharification"},{"$i":"notifier_verse","$v":"Bille"},{"$i":"manage-title-2","$v":"Gérer les sonneries"},{"$i":"actions-share-ringtone","$v":"Partager la sonnerie"},{"$i":"actions-delete-ringtone","$v":"Supprimer la sonnerie"},{"$i":"actions-share-alerttone","$v":"Partager l’alerte"},{"$i":"actions-delete-alerttone","$v":"Supprimer l’alerte"},{"$i":"actions-cancel","$v":"Annuler"},{"$i":"delete-title-ringtone","$v":"Supprimer la sonnerie"},{"$i":"delete-title-alerttone","$v":"Supprimer l’alerte"},{"$i":"delete-message","$v":["Voulez-vous vraiment supprimer « <bdi>",{"t":"idOrVar","v":"tone"},"</bdi> » ?"]},{"$i":"delete-message-default-ringtone","$v":["« <bdi>",{"t":"idOrVar","v":"tone"},"</bdi> » est la sonnerie par défaut.\n\nVoulez-vous vraiment la supprimer ?"]},{"$i":"delete-message-default-alerttone","$v":["« <bdi>",{"t":"idOrVar","v":"tone"},"</bdi> » est l’alerte par défaut.\n\nVoulez-vous vraiment la supprimer ?"]},{"$i":"delete-cancel","$v":"Annuler"},{"$i":"delete-confirm","$v":"Supprimer"},{"$i":"deleted-ringtone","$v":"Sonnerie supprimée."},{"$i":"deleted-alerttone","$v":"Alerte supprimée."},{"$i":"created-tone","$v":"Nouvelle sonnerie créée."},{"$i":"set-default-tone","$v":"Définie par défaut."},{"$i":"sd-card-subtitle","$v":"Carte SD"},{"$i":"pick-title","$v":"Choisir un son"},{"$i":"pick-set","$v":"Définir"},{"$i":"section-title-builtin-ringtone","$v":["Sonneries ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Alertes ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Mes sonneries"},{"$i":"section-title-custom-alerttone","$v":"Mes alertes"},{"$i":"create-title","$v":"Créer sonnerie"},{"$i":"create-save","$v":"Enregistrer"},{"$i":"create-cancel","$v":"Annuler"},{"$i":"play-error-title","$v":"Fichier corrompu"},{"$i":"play-error-desc","$v":"Le fichier est corrompu. Il ne peut pas être utilisé pour créer une sonnerie."},{"$i":"save-error-title","$v":"Échec de la création"},{"$i":"save-error-desc","$v":"Une erreur est survenue lors de la création de la sonnerie. Veuillez réessayer."},{"$i":"default-label","$v":"Sonnerie par défaut."},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Sans titre"},{"$i":"addButton","ariaLabel":"Ajouter"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Ningún"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Xestionar tons"},{"$i":"actions-share-ringtone","$v":"Compartir ton"},{"$i":"actions-delete-ringtone","$v":"Eliminar ton"},{"$i":"actions-share-alerttone","$v":"Compartir alerta"},{"$i":"actions-delete-alerttone","$v":"Eliminar alerta"},{"$i":"actions-cancel","$v":"Cancelar"},{"$i":"delete-title-ringtone","$v":"Eliminar ton"},{"$i":"delete-title-alerttone","$v":"Eliminar alerta"},{"$i":"delete-message","$v":["Confirma que quere eliminar \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" é o ton predeterminado actual.<br><br>Confirma que quere eliminalo?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" é a alerta predeterminada actual.<br><br>Confirma que quere eliminala?"]},{"$i":"delete-cancel","$v":"Cancelar"},{"$i":"delete-confirm","$v":"Eliminar"},{"$i":"deleted-ringtone","$v":"Eliminouse o ton."},{"$i":"deleted-alerttone","$v":"Eliminouse a alerta."},{"$i":"created-tone","$v":"Creouse un novo ton."},{"$i":"set-default-tone","$v":"Estabelecido como predeterminado."},{"$i":"sd-card-subtitle","$v":"Tarxeta SD"},{"$i":"pick-title","$v":"Seleccionar son"},{"$i":"pick-set","$v":"Estabelecer"},{"$i":"section-title-builtin-ringtone","$v":["Tons de ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Alertas de ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Meus tons"},{"$i":"section-title-custom-alerttone","$v":"Miñas alertas"},{"$i":"create-title","$v":"Crear ton"},{"$i":"create-save","$v":"Gardar"},{"$i":"create-cancel","$v":"Cancelar"},{"$i":"play-error-title","$v":"Ficheiro danado"},{"$i":"play-error-desc","$v":"O ficheiro está dando. Non é posíbel usalo para crear un ton."},{"$i":"save-error-title","$v":"Non se creou o ton"},{"$i":"save-error-desc","$v":"Produciuse un problema ao crear o ton. Tente de novo."},{"$i":"default-label","$v":"Usar como ton predeterminado"},{"$i":"ok","$v":"Aceptar"},{"$i":"ringtone-untitled","$v":"Sen título"},{"$i":"addButton","ariaLabel":"Engadir"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"None"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Manage Tones"},{"$i":"actions-share-ringtone","$v":"Share ringtone"},{"$i":"actions-delete-ringtone","$v":"Delete ringtone"},{"$i":"actions-share-alerttone","$v":"Share alert"},{"$i":"actions-delete-alerttone","$v":"Delete alert"},{"$i":"actions-cancel","$v":"Cancel"},{"$i":"delete-title-ringtone","$v":"Delete Ringtone"},{"$i":"delete-title-alerttone","$v":"Delete Alert"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Cancel"},{"$i":"delete-confirm","$v":"Delete"},{"$i":"deleted-ringtone","$v":"Ringtone deleted."},{"$i":"deleted-alerttone","$v":"Alert deleted."},{"$i":"created-tone","$v":"New ringtone created."},{"$i":"set-default-tone","$v":"Ringtone set as default."},{"$i":"sd-card-subtitle","$v":"SD Card"},{"$i":"pick-title","$v":"Select Sound"},{"$i":"pick-set","$v":"Set"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Ringtones"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Alerts"]},{"$i":"section-title-custom-ringtone","$v":"My Ringtones"},{"$i":"section-title-custom-alerttone","$v":"My Alerts"},{"$i":"create-title","$v":"Create Ringtone"},{"$i":"create-save","$v":"Save"},{"$i":"create-cancel","$v":"Cancel"},{"$i":"play-error-title","$v":"Corrupted File"},{"$i":"play-error-desc","$v":"The file is corrupted. It cannot be used to create a ringtone."},{"$i":"save-error-title","$v":"Ringtone Not Created"},{"$i":"save-error-desc","$v":"There was an issue creating the ringtone. Please try again."},{"$i":"default-label","$v":"Use as default ringtone"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Untitled"},{"$i":"addButton","ariaLabel":"Add"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Nincs"},{"$i":"ringer_bubble","$v":"Buborék"},{"$i":"ringer_chimer","$v":"Harangjáték"},{"$i":"ringer_cunning","$v":"Elbűvölő"},{"$i":"ringer_dulco","$v":"Ősi"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Kert"},{"$i":"ringer_marbled","$v":"Márvány"},{"$i":"ringer_opti","$v":"Válasz"},{"$i":"ringer_pecko","$v":"Fakopács"},{"$i":"ringer_pingy","$v":"Láncszemek"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Végzet"},{"$i":"ringer_simple","$v":"Tisztaság"},{"$i":"ringer_standard1","$v":"Klasszikus"},{"$i":"ringer_standard2","$v":"Klasszikus gyorsan"},{"$i":"ringer_stutter","$v":"Dadogó"},{"$i":"ringer_symmetry","$v":"Szimmetria"},{"$i":"ringer_tailwind","$v":"Hátszél"},{"$i":"ringer_thoughtful","$v":"Gondolkodó"},{"$i":"ringer_wit","$v":"Eszes"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Csengők"},{"$i":"notifier_bloom","$v":"Virágzás"},{"$i":"notifier_chime","$v":"Harangszó"},{"$i":"notifier_clicka","$v":"Kattanás"},{"$i":"notifier_digi","$v":"Adat"},{"$i":"notifier_dropplet","$v":"Cseppek"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Helló"},{"$i":"notifier_lowmarble","$v":"Játékgolyó"},{"$i":"notifier_ping","$v":"Pittyegés"},{"$i":"notifier_plickle","$v":"Gyöngyszemek"},{"$i":"notifier_pocko","$v":"Leesett"},{"$i":"notifier_quado","$v":"Négyszög"},{"$i":"notifier_red","$v":"Vörös"},{"$i":"notifier_sato","$v":"Ötlet"},{"$i":"notifier_swipo","$v":"Csúszás"},{"$i":"notifier_trickleup","$v":"Csörgedezés"},{"$i":"notifier_trink","$v":"Madárfütty"},{"$i":"notifier_verse","$v":"Verssor"},{"$i":"manage-title-2","$v":"Hangok kezelése"},{"$i":"actions-share-ringtone","$v":"Csengőhang megosztása"},{"$i":"actions-delete-ringtone","$v":"Csengőhang törlése"},{"$i":"actions-share-alerttone","$v":"Értesítési hang megosztása"},{"$i":"actions-delete-alerttone","$v":"Értesítési hang törlése"},{"$i":"actions-cancel","$v":"Mégse"},{"$i":"delete-title-ringtone","$v":"Csengőhang törlése"},{"$i":"delete-title-alerttone","$v":"Értesítési hang törlése"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Mégse"},{"$i":"delete-confirm","$v":"Törlés"},{"$i":"deleted-ringtone","$v":"Csengőhang törölve."},{"$i":"deleted-alerttone","$v":"Értesítési hang törölve."},{"$i":"created-tone","$v":"Új csengőhang létrehozva."},{"$i":"set-default-tone","$v":"Alapértelmezett csengőhang beállítva."},{"$i":"sd-card-subtitle","$v":"SD kártya"},{"$i":"pick-title","$v":"Hang kiválasztása"},{"$i":"pick-set","$v":"Beállítás"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Csengőhangok"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Riasztások"]},{"$i":"section-title-custom-ringtone","$v":"Csengőhangok"},{"$i":"section-title-custom-alerttone","$v":"Riasztások"},{"$i":"create-title","$v":"Új csengőhang"},{"$i":"create-save","$v":"Mentés"},{"$i":"create-cancel","$v":"Mégse"},{"$i":"play-error-title","$v":"Érvénytelen fájl"},{"$i":"play-error-desc","$v":"A fájl érvénytelen. Nem használható fel csengőhangként."},{"$i":"save-error-title","$v":"Csengőhang létrehozása sikertelen"},{"$i":"save-error-desc","$v":"Hiba a csengőhang létrehozásakor. Próbálja újra."},{"$i":"default-label","$v":"Beállítás alapértelmezett csengőhangként."},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Névtelen"},{"$i":"addButton","ariaLabel":"Add"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Nessuna"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Gestione suoni"},{"$i":"actions-share-ringtone","$v":"Condividi suoneria"},{"$i":"actions-delete-ringtone","$v":"Elimina suoneria"},{"$i":"actions-share-alerttone","$v":"Condividi avviso"},{"$i":"actions-delete-alerttone","$v":"Elimina avviso"},{"$i":"actions-cancel","$v":"Annulla"},{"$i":"delete-title-ringtone","$v":"Elimina suoneria"},{"$i":"delete-title-alerttone","$v":"Elimina avviso"},{"$i":"delete-message","$v":["Eliminare la suoneria “<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>”?"]},{"$i":"delete-message-default-ringtone","$v":["“<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>” è attualmente la suoneria predefinita.<br><br>Procedere con l’eliminazione?"]},{"$i":"delete-message-default-alerttone","$v":["“<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>” è attualmente l’allarme predefinito.<br><br>Procedere con l’eliminazione?"]},{"$i":"delete-cancel","$v":"Annulla"},{"$i":"delete-confirm","$v":"Elimina"},{"$i":"deleted-ringtone","$v":"Suoneria eliminata."},{"$i":"deleted-alerttone","$v":"Avviso eliminato."},{"$i":"created-tone","$v":"Creata nuova suoneria."},{"$i":"set-default-tone","$v":"Suoneria impostata come predefinita."},{"$i":"sd-card-subtitle","$v":"Scheda SD"},{"$i":"pick-title","$v":"Seleziona suono"},{"$i":"pick-set","$v":"Imposta"},{"$i":"section-title-builtin-ringtone","$v":["Suonerie di ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Avvisi di ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Suonerie personalizzate"},{"$i":"section-title-custom-alerttone","$v":"Avvisi personalizzati"},{"$i":"create-title","$v":"Crea suoneria"},{"$i":"create-save","$v":"Salva"},{"$i":"create-cancel","$v":"Annulla"},{"$i":"play-error-title","$v":"File danneggiato"},{"$i":"play-error-desc","$v":"Il file è danneggiato e non può essere utilizzato per creare una suoneria."},{"$i":"save-error-title","$v":"Suoneria non creata"},{"$i":"save-error-desc","$v":"Si è verificato un errore durante la creazione della suoneria. Riprovare."},{"$i":"default-label","$v":"Utilizza come suoneria predefinita"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Senza titolo"},{"$i":"addButton","ariaLabel":"Aggiungi"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"なし"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"着信音の管理"},{"$i":"actions-share-ringtone","$v":"着信音を共有する"},{"$i":"actions-delete-ringtone","$v":"着信音を削除する"},{"$i":"actions-share-alerttone","$v":"通知音を共有する"},{"$i":"actions-delete-alerttone","$v":"通知音を削除する"},{"$i":"actions-cancel","$v":"キャンセル"},{"$i":"delete-title-ringtone","$v":"着信音の削除"},{"$i":"delete-title-alerttone","$v":"通知音の削除"},{"$i":"delete-message","$v":["本当に \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" を削除してもよろしいですか?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" は現在の既定の着信音です。<br><br>本当に削除してもよろしいですか?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" は現在の既定の通知音です。<br><br>本当に削除してもよろしいですか?"]},{"$i":"delete-cancel","$v":"キャンセル"},{"$i":"delete-confirm","$v":"削除"},{"$i":"deleted-ringtone","$v":"着信音を削除しました。"},{"$i":"deleted-alerttone","$v":"通知音を削除しました。"},{"$i":"created-tone","$v":"新しい着信音を作成しました。"},{"$i":"set-default-tone","$v":"着信音を既定に設定しました。"},{"$i":"sd-card-subtitle","$v":"SD カード"},{"$i":"pick-title","$v":"サウンドの選択"},{"$i":"pick-set","$v":"設定"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 着信音"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 通知音"]},{"$i":"section-title-custom-ringtone","$v":"カスタム着信音"},{"$i":"section-title-custom-alerttone","$v":"カスタム通知音"},{"$i":"create-title","$v":"着信音の作成"},{"$i":"create-save","$v":"保存"},{"$i":"create-cancel","$v":"キャンセル"},{"$i":"play-error-title","$v":"ファイルが壊れています"},{"$i":"play-error-desc","$v":"このファイルは壊れています。着信音の作成に使用できません。"},{"$i":"save-error-title","$v":"着信音の作成失敗"},{"$i":"save-error-desc","$v":"問題が発生したため着信音を作成できませんでした。再度試してください。"},{"$i":"default-label","$v":"既定の着信音に設定する"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"無題"},{"$i":"addButton","ariaLabel":"追加"}]
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"brandShortName","$v":"Foxfood"},{"$i":"browserBrandShortName","$v":"Foxfood"},{"$i":"browserBrandFullName","$v":"Mozilla Foxfood 커뮤니티 에디션"},{"$i":"ringtoneBrandName","$v":"기본"},{"$i":"ringtoneSectionBrandName","$v":"시스템"},{"$i":"ringtone-none","$v":"없음"},{"$i":"ringer_bubble","$v":"거품"},{"$i":"ringer_chimer","$v":"종소리"},{"$i":"ringer_cunning","$v":"컨닝"},{"$i":"ringer_dulco","$v":"둘코"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"정원"},{"$i":"ringer_marbled","$v":"대리석"},{"$i":"ringer_opti","$v":"옵티"},{"$i":"ringer_pecko","$v":"팩코"},{"$i":"ringer_pingy","$v":"핑기"},{"$i":"ringer_poppop","$v":"팝팝"},{"$i":"ringer_sata","$v":"사타"},{"$i":"ringer_simple","$v":"깨끗한"},{"$i":"ringer_standard1","$v":"클래식"},{"$i":"ringer_standard2","$v":"빠른 클래식"},{"$i":"ringer_stutter","$v":"더듬더듬"},{"$i":"ringer_symmetry","$v":"균형"},{"$i":"ringer_tailwind","$v":"순풍"},{"$i":"ringer_thoughtful","$v":"사색"},{"$i":"ringer_wit","$v":"재치"},{"$i":"ringer_zen","$v":"고요"},{"$i":"notifier_bells","$v":"벨"},{"$i":"notifier_bloom","$v":"개화"},{"$i":"notifier_chime","$v":"종소리"},{"$i":"notifier_clicka","$v":"클리카"},{"$i":"notifier_digi","$v":"디기"},{"$i":"notifier_dropplet","$v":"똑똑"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"헬로우"},{"$i":"notifier_lowmarble","$v":"대리석 저음"},{"$i":"notifier_ping","$v":"핑"},{"$i":"notifier_plickle","$v":"플리클"},{"$i":"notifier_pocko","$v":"폭코"},{"$i":"notifier_quado","$v":"쿼도"},{"$i":"notifier_red","$v":"빨강"},{"$i":"notifier_sato","$v":"사토"},{"$i":"notifier_swipo","$v":"스위포"},{"$i":"notifier_trickleup","$v":"상승"},{"$i":"notifier_trink","$v":"방울"},{"$i":"notifier_verse","$v":"시"},{"$i":"manage-title-2","$v":"소리 관리"},{"$i":"actions-share-ringtone","$v":"벨소리 공유"},{"$i":"actions-delete-ringtone","$v":"벨소리 삭제"},{"$i":"actions-share-alerttone","$v":"경고음 공유"},{"$i":"actions-delete-alerttone","$v":"경고음 삭제"},{"$i":"actions-cancel","$v":"취소"},{"$i":"delete-title-ringtone","$v":"벨소리 삭제"},{"$i":"delete-title-alerttone","$v":"경고음 삭제"},{"$i":"delete-message","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" 항목을 정말로 삭제하시겠습니까?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" 항목은 현재 기본 벨소리입니다.<br><br>정말로 삭제하시겠습니까?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" 항목은 현재 기본 경고음입니다.<br><br>정말로 삭제하시겠습니까?"]},{"$i":"delete-cancel","$v":"취소"},{"$i":"delete-confirm","$v":"삭제"},{"$i":"deleted-ringtone","$v":"벨소리가 지워졌습니다."},{"$i":"deleted-alerttone","$v":"경고음이 지워졌습니다."},{"$i":"created-tone","$v":"새 벨소리가 만들어졌습니다."},{"$i":"set-default-tone","$v":"기본 벨소리로 설정되었습니다."},{"$i":"sd-card-subtitle","$v":"SD 카드"},{"$i":"pick-title","$v":"소리 선택"},{"$i":"pick-set","$v":"설정"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 벨소리"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 경고음"]},{"$i":"section-title-custom-ringtone","$v":"내 벨소리"},{"$i":"section-title-custom-alerttone","$v":"내 경고음"},{"$i":"create-title","$v":"벨소리 만들기"},{"$i":"create-save","$v":"저장"},{"$i":"create-cancel","$v":"취소"},{"$i":"play-error-title","$v":"꺠진 파일"},{"$i":"play-error-desc","$v":"파일이 깨졌습니다. 벨소리로 사용할 수 없습니다."},{"$i":"save-error-title","$v":"벨소리가 생성되지 않음"},{"$i":"save-error-desc","$v":"벨소리를 만드는데 문제가 발생하였습니다. 다시 시도해 주세요."},{"$i":"default-label","$v":"기본 벨소리로 사용"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"이름없음"},{"$i":"addButton","ariaLabel":"추가"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Be garso"},{"$i":"ringer_bubble","$v":"Burbuliukai"},{"$i":"ringer_chimer","$v":"Varpelis"},{"$i":"ringer_cunning","$v":"Mielas"},{"$i":"ringer_dulco","$v":"Kanklės"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Sodas"},{"$i":"ringer_marbled","$v":"Marmuro rutuliukai"},{"$i":"ringer_opti","$v":"Lietutis"},{"$i":"ringer_pecko","$v":"Genys"},{"$i":"ringer_pingy","$v":"Pypsiukas"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Etiudas"},{"$i":"ringer_simple","$v":"Paprastas"},{"$i":"ringer_standard1","$v":"Klasikinis"},{"$i":"ringer_standard2","$v":"Klasikinis greitas"},{"$i":"ringer_stutter","$v":"Žvirbliai"},{"$i":"ringer_symmetry","$v":"Simetrija"},{"$i":"ringer_tailwind","$v":"Pavėjui"},{"$i":"ringer_thoughtful","$v":"Mąslus"},{"$i":"ringer_wit","$v":"Gudrus"},{"$i":"ringer_zen","$v":"Pusiausvyra"},{"$i":"notifier_bells","$v":"Skambutis"},{"$i":"notifier_bloom","$v":"Duslus"},{"$i":"notifier_chime","$v":"Varpelis"},{"$i":"notifier_clicka","$v":"Tik tak"},{"$i":"notifier_digi","$v":"Styga"},{"$i":"notifier_dropplet","$v":"Lašelis"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Sveiki"},{"$i":"notifier_lowmarble","$v":"Marmuro rutuliukas"},{"$i":"notifier_ping","$v":"Pyptelėjimas"},{"$i":"notifier_plickle","$v":"Pelytė"},{"$i":"notifier_pocko","$v":"Skylutė"},{"$i":"notifier_quado","$v":"Ketvertukas"},{"$i":"notifier_red","$v":"Raudonas"},{"$i":"notifier_sato","$v":"Aidas"},{"$i":"notifier_swipo","$v":"Butelio kakliukas"},{"$i":"notifier_trickleup","$v":"Srovelė"},{"$i":"notifier_trink","$v":"Čir čir"},{"$i":"notifier_verse","$v":"Akordas"},{"$i":"manage-title-2","$v":"Garsų tvarkymas"},{"$i":"actions-share-ringtone","$v":"Dalintis skambėjimo garsu"},{"$i":"actions-delete-ringtone","$v":"Šalinti skambėjimo garsą"},{"$i":"actions-share-alerttone","$v":"Dalintis įspėjimo garsu"},{"$i":"actions-delete-alerttone","$v":"Šalinti įspėjimo garsą"},{"$i":"actions-cancel","$v":"Atsisakyti"},{"$i":"delete-title-ringtone","$v":"Skambėjimo garso šalinimas"},{"$i":"delete-title-alerttone","$v":"Įspėjimo garso šalinimas"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Atsisakyti"},{"$i":"delete-confirm","$v":"Šalinti"},{"$i":"deleted-ringtone","$v":"Skambėjimo garsas pašalintas."},{"$i":"deleted-alerttone","$v":"Įspėjimo garsas pašalintas."},{"$i":"created-tone","$v":"Sukurtas naujas skambėjimo garsas."},{"$i":"set-default-tone","$v":"Skambėjimo garsas skirtas numatytuoju."},{"$i":"sd-card-subtitle","$v":"Atminties kortelė"},{"$i":"pick-title","$v":"Parinkite garsą"},{"$i":"pick-set","$v":"Gerai"},{"$i":"section-title-builtin-ringtone","$v":["„",{"t":"idOrVar","v":"ringtoneSectionBrandName"},"“ skambėjimo garsai"]},{"$i":"section-title-builtin-alerttone","$v":["„",{"t":"idOrVar","v":"ringtoneSectionBrandName"},"“ įspėjimo garsai"]},{"$i":"section-title-custom-ringtone","$v":"Jūsų skambėjimo garsai"},{"$i":"section-title-custom-alerttone","$v":"Jūsų įspėjimo garsai"},{"$i":"create-title","$v":"Skamb. garso kūrimas"},{"$i":"create-save","$v":"Įrašyti"},{"$i":"create-cancel","$v":"Atsisakyti"},{"$i":"play-error-title","$v":"Failas sugadintas"},{"$i":"play-error-desc","$v":"Šis failas sugadintas. Jo panaudoti skambėjimo garsui sukurti neįmanoma."},{"$i":"save-error-title","$v":"Skambėjimo garsas nesukurtas"},{"$i":"save-error-desc","$v":"Kuriant skambėjimo garsą, iškilo nesklandumų. Pabandykite dar kartą."},{"$i":"default-label","$v":"Skirti numatytuoju skambėjimo garsu"},{"$i":"ok","$v":"Gerai"},{"$i":"ringtone-untitled","$v":"Be pavadinimo"},{"$i":"addButton","ariaLabel":"Add"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"Прелистувач"},{"$i":"browserBrandFullName","$v":"Прелистувач на Mozilla"},{"$i":"ringtoneBrandName","$v":"Default"},{"$i":"ringtoneSectionBrandName","$v":"System"},{"$i":"ringtone-none","$v":"None"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Manage Tones"},{"$i":"actions-share-ringtone","$v":"Share ringtone"},{"$i":"actions-delete-ringtone","$v":"Delete ringtone"},{"$i":"actions-share-alerttone","$v":"Share alert"},{"$i":"actions-delete-alerttone","$v":"Delete alert"},{"$i":"actions-cancel","$v":"Cancel"},{"$i":"delete-title-ringtone","$v":"Delete Ringtone"},{"$i":"delete-title-alerttone","$v":"Delete Alert"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Cancel"},{"$i":"delete-confirm","$v":"Delete"},{"$i":"deleted-ringtone","$v":"Ringtone deleted."},{"$i":"deleted-alerttone","$v":"Alert deleted."},{"$i":"created-tone","$v":"New ringtone created."},{"$i":"set-default-tone","$v":"Ringtone set as default."},{"$i":"sd-card-subtitle","$v":"SD Card"},{"$i":"pick-title","$v":"Select Sound"},{"$i":"pick-set","$v":"Set"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Ringtones"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Alerts"]},{"$i":"section-title-custom-ringtone","$v":"My Ringtones"},{"$i":"section-title-custom-alerttone","$v":"My Alerts"},{"$i":"create-title","$v":"Create Ringtone"},{"$i":"create-save","$v":"Save"},{"$i":"create-cancel","$v":"Cancel"},{"$i":"play-error-title","$v":"Corrupted File"},{"$i":"play-error-desc","$v":"The file is corrupted. It cannot be used to create a ringtone."},{"$i":"save-error-title","$v":"Ringtone Not Created"},{"$i":"save-error-desc","$v":"There was an issue creating the ringtone. Please try again."},{"$i":"default-label","$v":"Use as default ringtone"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Untitled"},{"$i":"addButton","ariaLabel":"Add"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Tiada"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Urus Ton"},{"$i":"actions-share-ringtone","$v":"Kongsi nada dering"},{"$i":"actions-delete-ringtone","$v":"Hapus nada dering"},{"$i":"actions-share-alerttone","$v":"Share alert"},{"$i":"actions-delete-alerttone","$v":"Delete alert"},{"$i":"actions-cancel","$v":"Batal"},{"$i":"delete-title-ringtone","$v":"Hapus Nada Dering"},{"$i":"delete-title-alerttone","$v":"Delete Alert"},{"$i":"delete-message","$v":["Adakah anda pasti untuk menghapus \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" Kini sebagai nada dering lalai.<br><br>Adakah anda pasti untuk menghapusnya?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" Kini sebagai waspada lalai.<br><br>Adakah anda pasti untuk menghapusnya?"]},{"$i":"delete-cancel","$v":"Batal"},{"$i":"delete-confirm","$v":"Hapus"},{"$i":"deleted-ringtone","$v":"Nada dering dipadam."},{"$i":"deleted-alerttone","$v":"Alert deleted."},{"$i":"created-tone","$v":"Nada dering baru dicipta."},{"$i":"set-default-tone","$v":"Nada dering ditetapkan sebagai lalai."},{"$i":"sd-card-subtitle","$v":"Kad SD"},{"$i":"pick-title","$v":"Pilih Bunyi"},{"$i":"pick-set","$v":"Tetap"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Nada Dering"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Waspada"]},{"$i":"section-title-custom-ringtone","$v":"Nada Dering Ku"},{"$i":"section-title-custom-alerttone","$v":"Waspada Ku"},{"$i":"create-title","$v":"Cipta Nada Dering"},{"$i":"create-save","$v":"Simpan"},{"$i":"create-cancel","$v":"Batal"},{"$i":"play-error-title","$v":"Fail Tercemar"},{"$i":"play-error-desc","$v":"Fail ini tercemar. Ia tidak dapat diguna untuk mencipta nada dering."},{"$i":"save-error-title","$v":"Nada Dering Tidak Dicipta"},{"$i":"save-error-desc","$v":"Terdapat isu mencipta nada dering. Sila cuba lagi."},{"$i":"default-label","$v":"Guna sebagai nada dering lalai"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Tak berjudul"},{"$i":"addButton","ariaLabel":"Add"}]
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -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":"ringtone-none","$v":"Geen"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Tonen beheren"},{"$i":"actions-share-ringtone","$v":"Beltoon delen"},{"$i":"actions-delete-ringtone","$v":"Beltoon verwijderen"},{"$i":"actions-share-alerttone","$v":"Melding delen"},{"$i":"actions-delete-alerttone","$v":"Melding verwijderen"},{"$i":"actions-cancel","$v":"Annuleren"},{"$i":"delete-title-ringtone","$v":"Beltoon verwijderen"},{"$i":"delete-title-alerttone","$v":"Melding verwijderen"},{"$i":"delete-message","$v":["Weet u zeker dat u ‘<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>’ wilt verwijderen?"]},{"$i":"delete-message-default-ringtone","$v":["‘<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>’ is de huidige standaardbeltoon.<br><br>Weet u zeker dat u deze wilt verwijderen?"]},{"$i":"delete-message-default-alerttone","$v":["‘<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>’ is de huidige standaardmelding.<br><br>Weet u zeker dat u deze wilt verwijderen?"]},{"$i":"delete-cancel","$v":"Annuleren"},{"$i":"delete-confirm","$v":"Verwijderen"},{"$i":"deleted-ringtone","$v":"Beltoon verwijderd."},{"$i":"deleted-alerttone","$v":"Melding verwijderd."},{"$i":"created-tone","$v":"Nieuwe beltoon aangemaakt."},{"$i":"set-default-tone","$v":"Beltoon als standaard ingesteld."},{"$i":"sd-card-subtitle","$v":"SD-kaart"},{"$i":"pick-title","$v":"Geluid selecteren"},{"$i":"pick-set","$v":"Instellen"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-beltonen"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-meldingen"]},{"$i":"section-title-custom-ringtone","$v":"Mijn beltonen"},{"$i":"section-title-custom-alerttone","$v":"Mijn meldingen"},{"$i":"create-title","$v":"Beltoon aanmaken"},{"$i":"create-save","$v":"Opslaan"},{"$i":"create-cancel","$v":"Annuleren"},{"$i":"play-error-title","$v":"Beschadigd bestand"},{"$i":"play-error-desc","$v":"Het bestand is beschadigd. Het kan niet worden gebruikt om een beltoon aan te maken."},{"$i":"save-error-title","$v":"Beltoon niet aangemaakt"},{"$i":"save-error-desc","$v":"Er was een probleem bij het aanmaken van de beltoon. Probeer het opnieuw."},{"$i":"default-label","$v":"Gebruiken als standaardbeltoon"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Naamloos"},{"$i":"addButton","ariaLabel":"Toevoegen"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"brandShortName","$v":"B2G ਓ.ਸਿ."},{"$i":"browserBrandShortName","$v":"ਵੈੱਬ ਬਰਾਊਜ਼ਰ"},{"$i":"browserBrandFullName","$v":"ਮੋਜ਼ੀਲਾ ਵੈੱਬ ਬਰਾਊਜ਼ਰ"},{"$i":"ringtoneBrandName","$v":"ਮੂਲ"},{"$i":"ringtoneSectionBrandName","$v":"ਸਿਸਟਮ"},{"$i":"ringtone-none","$v":"ਕੋਈ ਨਹੀਂ"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Manage Tones"},{"$i":"actions-share-ringtone","$v":"Share ringtone"},{"$i":"actions-delete-ringtone","$v":"Delete ringtone"},{"$i":"actions-share-alerttone","$v":"Share alert"},{"$i":"actions-delete-alerttone","$v":"Delete alert"},{"$i":"actions-cancel","$v":"Cancel"},{"$i":"delete-title-ringtone","$v":"Delete Ringtone"},{"$i":"delete-title-alerttone","$v":"Delete Alert"},{"$i":"delete-message","$v":["Are you sure you want to delete \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default ringtone.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" is the current default alert.<br><br>Are you sure you want to delete it?"]},{"$i":"delete-cancel","$v":"Cancel"},{"$i":"delete-confirm","$v":"Delete"},{"$i":"deleted-ringtone","$v":"Ringtone deleted."},{"$i":"deleted-alerttone","$v":"Alert deleted."},{"$i":"created-tone","$v":"New ringtone created."},{"$i":"set-default-tone","$v":"Ringtone set as default."},{"$i":"sd-card-subtitle","$v":"SD Card"},{"$i":"pick-title","$v":"Select Sound"},{"$i":"pick-set","$v":"Set"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Ringtones"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Alerts"]},{"$i":"section-title-custom-ringtone","$v":"My Ringtones"},{"$i":"section-title-custom-alerttone","$v":"My Alerts"},{"$i":"create-title","$v":"Create Ringtone"},{"$i":"create-save","$v":"Save"},{"$i":"create-cancel","$v":"Cancel"},{"$i":"play-error-title","$v":"Corrupted File"},{"$i":"play-error-desc","$v":"The file is corrupted. It cannot be used to create a ringtone."},{"$i":"save-error-title","$v":"Ringtone Not Created"},{"$i":"save-error-desc","$v":"There was an issue creating the ringtone. Please try again."},{"$i":"default-label","$v":"Use as default ringtone"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Untitled"},{"$i":"addButton","ariaLabel":"Add"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Brak"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Ogród"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Czysty"},{"$i":"ringer_standard1","$v":"Klasyczny"},{"$i":"ringer_standard2","$v":"Szybki klasyczny"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symetria"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Dzwonki"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hej!"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Zarządzanie dźwiękami"},{"$i":"actions-share-ringtone","$v":"Udostępnij dzwonek"},{"$i":"actions-delete-ringtone","$v":"Usuń dzwonek"},{"$i":"actions-share-alerttone","$v":"Udostępnij alarm"},{"$i":"actions-delete-alerttone","$v":"Usuń alarm"},{"$i":"actions-cancel","$v":"Anuluj"},{"$i":"delete-title-ringtone","$v":"Usuwanie dzwonka"},{"$i":"delete-title-alerttone","$v":"Usuwanie alarmu"},{"$i":"delete-message","$v":["Na pewno usunąć dzwonek „<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>”?"]},{"$i":"delete-message-default-ringtone","$v":["„<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>” jest obecnie domyślnym dzwonkiem.<br><br>Czy na pewno chcesz go usunąć?"]},{"$i":"delete-message-default-alerttone","$v":["„<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>” jest obecnie domyślnym dźwiękiem alarmów.<br><br>Czy na pewno chcesz go usunąć?"]},{"$i":"delete-cancel","$v":"Anuluj"},{"$i":"delete-confirm","$v":"Usuń"},{"$i":"deleted-ringtone","$v":"Dzwonek usunięty."},{"$i":"deleted-alerttone","$v":"Alarm usunięty."},{"$i":"created-tone","$v":"Utworzono nowy dzwonek."},{"$i":"set-default-tone","$v":"Dzwonek ustawiony jako domyślny."},{"$i":"sd-card-subtitle","$v":"Karta SD"},{"$i":"pick-title","$v":"Wybór dźwięku"},{"$i":"pick-set","$v":"Ustaw"},{"$i":"section-title-builtin-ringtone","$v":"Dzwonki systemowe"},{"$i":"section-title-builtin-alerttone","$v":"Alarmy systemowe"},{"$i":"section-title-custom-ringtone","$v":"Dzwonki użytkownika"},{"$i":"section-title-custom-alerttone","$v":"Alarmy użytkownika"},{"$i":"create-title","$v":"Tworzenie dzwonka"},{"$i":"create-save","$v":"Zapisz"},{"$i":"create-cancel","$v":"Anuluj"},{"$i":"play-error-title","$v":"Uszkodzony plik"},{"$i":"play-error-desc","$v":"Plik jest uszkodzony i nie może zostać użyty do utworzenia dzwonka."},{"$i":"save-error-title","$v":"Nie utworzono dzwonka"},{"$i":"save-error-desc","$v":"Wystąpił problem podczas tworzenia dzwonka. Spróbuj ponownie."},{"$i":"default-label","$v":"Użyj jako domyślnego dzwonka"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Brak nazwy"},{"$i":"addButton","ariaLabel":"Dodaj"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Nenhum"},{"$i":"ringer_bubble","$v":"Bolha"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Jardim"},{"$i":"ringer_marbled","$v":"Mármore"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pica-Pau"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Limpo"},{"$i":"ringer_standard1","$v":"Clássico"},{"$i":"ringer_standard2","$v":"Clássico Rápido"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Simetria"},{"$i":"ringer_tailwind","$v":"Sussurro do Vento"},{"$i":"ringer_thoughtful","$v":"Pensativo"},{"$i":"ringer_wit","$v":"Sagáz"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Sinos"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Gota"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Olá"},{"$i":"notifier_lowmarble","$v":"Mármore Baixo"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Vermelho"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Gerenciar toques"},{"$i":"actions-share-ringtone","$v":"Compartilhar toque"},{"$i":"actions-delete-ringtone","$v":"Apagar toque"},{"$i":"actions-share-alerttone","$v":"Compartilhar alerta"},{"$i":"actions-delete-alerttone","$v":"Apagar alerta"},{"$i":"actions-cancel","$v":"Cancelar"},{"$i":"delete-title-ringtone","$v":"Apagar toque"},{"$i":"delete-title-alerttone","$v":"Apagar alerta"},{"$i":"delete-message","$v":["Tem certeza que deseja apagar \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" é o toque padrão.<br><br>Tem certeza de que deseja apagá-lo?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" é o alerta padrão.<br><br>Tem certeza de que deseja apagá-lo?"]},{"$i":"delete-cancel","$v":"Cancelar"},{"$i":"delete-confirm","$v":"Apagar"},{"$i":"deleted-ringtone","$v":"Toque apagado."},{"$i":"deleted-alerttone","$v":"Alerta apagado."},{"$i":"created-tone","$v":"Novo toque criado."},{"$i":"set-default-tone","$v":"Toque definido como padrão."},{"$i":"sd-card-subtitle","$v":"Cartão SD"},{"$i":"pick-title","$v":"Selecionar Som"},{"$i":"pick-set","$v":"Definir"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Toques"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," Alertas"]},{"$i":"section-title-custom-ringtone","$v":"Meus toques"},{"$i":"section-title-custom-alerttone","$v":"Meus Alertas"},{"$i":"create-title","$v":"criar toque"},{"$i":"create-save","$v":"Salvar"},{"$i":"create-cancel","$v":"Cancelar"},{"$i":"play-error-title","$v":"Arquivo Corrompido"},{"$i":"play-error-desc","$v":"O arquivo está corrompido. Ele não pode ser usado para criar um toque."},{"$i":"save-error-title","$v":"Toque não foi criado"},{"$i":"save-error-desc","$v":"Ocorreu um problema ao criar o toque. Por favor, tente novamente."},{"$i":"default-label","$v":"Definir como toque padrão"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Sem título"},{"$i":"addButton","ariaLabel":"Adicionar"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Niciunul"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Gestionează tonuri"},{"$i":"actions-share-ringtone","$v":"Partajează tonul de apel"},{"$i":"actions-delete-ringtone","$v":"Șterge tonul de apel"},{"$i":"actions-share-alerttone","$v":"Partajează alerta"},{"$i":"actions-delete-alerttone","$v":"Șterge alerta"},{"$i":"actions-cancel","$v":"Renunță"},{"$i":"delete-title-ringtone","$v":"Șterge tonul de apel"},{"$i":"delete-title-alerttone","$v":"Șterge alerta"},{"$i":"delete-message","$v":["Sigur dorești să ștergi „<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>”?"]},{"$i":"delete-message-default-ringtone","$v":["„<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>” e tonul de apel actual implicit.<br><br>Sigur dorești să-l ștergi?"]},{"$i":"delete-message-default-alerttone","$v":["„<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>” e alerta actuală implicită.<br><br>Sigur dorești să o ștergi?"]},{"$i":"delete-cancel","$v":"Renunță"},{"$i":"delete-confirm","$v":"Șterge"},{"$i":"deleted-ringtone","$v":"Ton de apel șters."},{"$i":"deleted-alerttone","$v":"Alertă ștearsă."},{"$i":"created-tone","$v":"Ton de apel nou creat."},{"$i":"set-default-tone","$v":"Ton de apel setat ca implicit."},{"$i":"sd-card-subtitle","$v":"Card SD"},{"$i":"pick-title","$v":"Selectează sunetul"},{"$i":"pick-set","$v":"Setează"},{"$i":"section-title-builtin-ringtone","$v":["Tonuri de apel ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Alerte ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Tonurile mele"},{"$i":"section-title-custom-alerttone","$v":"Alertele mele"},{"$i":"create-title","$v":"Creează ton de apel"},{"$i":"create-save","$v":"Salvează"},{"$i":"create-cancel","$v":"Renunță"},{"$i":"play-error-title","$v":"Fișier corupt"},{"$i":"play-error-desc","$v":"Fișierul este corupt. Nu poate fi folosit pentru a crea un ton de apel."},{"$i":"save-error-title","$v":"Ton de apel necreat"},{"$i":"save-error-desc","$v":"A apărut o problemă la crearea tonului de apel. Te rugăm să reîncerci."},{"$i":"default-label","$v":"Folosește ca ton implicit"},{"$i":"ok","$v":"Ok"},{"$i":"ringtone-untitled","$v":"Fără titlu"},{"$i":"addButton","ariaLabel":"Adaugă"}]
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -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":"ringtone-none","$v":"Žiadny"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Správa tónov"},{"$i":"actions-share-ringtone","$v":"Zdieľať vyzváňanie"},{"$i":"actions-delete-ringtone","$v":"Odstrániť vyzváňanie"},{"$i":"actions-share-alerttone","$v":"Zdieľať tón upozornenia"},{"$i":"actions-delete-alerttone","$v":"Odstrániť tón upozornenia"},{"$i":"actions-cancel","$v":"Zrušiť"},{"$i":"delete-title-ringtone","$v":"Odstránenie vyzváňania"},{"$i":"delete-title-alerttone","$v":"Odstránenie tónu upozornenia"},{"$i":"delete-message","$v":["Naozaj chcete odstrániť vyzváňanie \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je aktuálne predvoleným vyzváňaním.<br><br>Naozaj ho chcete odstrániť?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je aktuálne predvoleným tónom upozornení.<br><br>Naozaj ho chcete odstrániť?"]},{"$i":"delete-cancel","$v":"Zrušiť"},{"$i":"delete-confirm","$v":"Odstrániť"},{"$i":"deleted-ringtone","$v":"Vyzváňanie bolo odstránené."},{"$i":"deleted-alerttone","$v":"Tón upozornenia bol odstránený."},{"$i":"created-tone","$v":"Nové vyzváňanie bolo vytvorené."},{"$i":"set-default-tone","$v":"Vyzváňanie bolo nastavené ako predvolené."},{"$i":"sd-card-subtitle","$v":"Karta SD"},{"$i":"pick-title","$v":"Zvoľte zvuk"},{"$i":"pick-set","$v":"Nastaviť"},{"$i":"section-title-builtin-ringtone","$v":["Vyzváňania ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Tóny upozornenia ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Moje vyzváňania"},{"$i":"section-title-custom-alerttone","$v":"Moje tóny upozornenia"},{"$i":"create-title","$v":"Vytvorenie vyzváňania"},{"$i":"create-save","$v":"Uložiť"},{"$i":"create-cancel","$v":"Zrušiť"},{"$i":"play-error-title","$v":"Poškodený súbor"},{"$i":"play-error-desc","$v":"Súbor je poškodený. Nie je možné ho použiť na vytvorenie vyzváňania."},{"$i":"save-error-title","$v":"Vyzváňanie nebolo vytvorené"},{"$i":"save-error-desc","$v":"Pri vytváraní vyzváňania sa vyskytla chyba. Skúste to znova."},{"$i":"default-label","$v":"Použiť ako predvolené vyzváňanie"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Bez názvu"},{"$i":"addButton","ariaLabel":"Pridať"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Asnjë"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Administroni Zile"},{"$i":"actions-share-ringtone","$v":"Ndajeni zilen me të tjerë"},{"$i":"actions-delete-ringtone","$v":"Fshije zilen"},{"$i":"actions-share-alerttone","$v":"Ndajeni sinjalin me të tjerët"},{"$i":"actions-delete-alerttone","$v":"Fshije sinjalin"},{"$i":"actions-cancel","$v":"Anulojeni"},{"$i":"delete-title-ringtone","$v":"Fshini Zile"},{"$i":"delete-title-alerttone","$v":"Fshini Sinjal"},{"$i":"delete-message","$v":["Jeni i sigurt se doni të fshihet \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" është zilja parazgjedhje e tanishme.<br><br>Jeni i sigurt se doni të fshihet?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" është tingulli parazgjedhje i tanishëm.<br><br>Jeni i sigurt se doni të fshihet?"]},{"$i":"delete-cancel","$v":"Anulojeni"},{"$i":"delete-confirm","$v":"Fshije"},{"$i":"deleted-ringtone","$v":"Zilja u fshi."},{"$i":"deleted-alerttone","$v":"Sinjalizimi u fshi."},{"$i":"created-tone","$v":"U krijua zile e re."},{"$i":"set-default-tone","$v":"Zilja u caktua si parazgjedhja."},{"$i":"sd-card-subtitle","$v":"Kartë SD"},{"$i":"pick-title","$v":"Përzgjidhni Tingull"},{"$i":"pick-set","$v":"U bë"},{"$i":"section-title-builtin-ringtone","$v":["Zile ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Sinjalizime ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Zilet e Mia"},{"$i":"section-title-custom-alerttone","$v":"Sinjalizimet e Mia"},{"$i":"create-title","$v":"Krijoni Zile"},{"$i":"create-save","$v":"Ruaje"},{"$i":"create-cancel","$v":"Anulojeni"},{"$i":"play-error-title","$v":"Kartelë e Dëmtuar"},{"$i":"play-error-desc","$v":"Kartela është e dëmtuar. S’përdoret dot për krijim zileje."},{"$i":"save-error-title","$v":"Zilja S’u Krijua"},{"$i":"save-error-desc","$v":"Pati një problem në krijimin e ziles. Ju lutemi, riprovoni."},{"$i":"default-label","$v":"Përdore si zilen parazgjedhje"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"E patitull"},{"$i":"addButton","ariaLabel":"Shtoje"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Ниједан"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Управљање мелодијама"},{"$i":"actions-share-ringtone","$v":"Подели мелодију"},{"$i":"actions-delete-ringtone","$v":"Избриши мелодију"},{"$i":"actions-share-alerttone","$v":"Подели упозорење"},{"$i":"actions-delete-alerttone","$v":"Избриши упозорење"},{"$i":"actions-cancel","$v":"Откажи"},{"$i":"delete-title-ringtone","$v":"Избриши мелодију"},{"$i":"delete-title-alerttone","$v":"Избриши упозорење"},{"$i":"delete-message","$v":["Да ли сте сигурни да желите да обришете \"<bdi>",{"t":"idOrVar","v":"tone"},"\"<bdi>?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" је тренутно подразумевана мелодија.<br><br>Да ли сте сигурни да желите да је обришете?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" је тренутно подразумевано упозорење.<br><br>Да ли сте сигурни да желите да га обришете?"]},{"$i":"delete-cancel","$v":"Откажи"},{"$i":"delete-confirm","$v":"Избриши"},{"$i":"deleted-ringtone","$v":"Мелодија је обрисана."},{"$i":"deleted-alerttone","$v":"Упозорење је обрисано."},{"$i":"created-tone","$v":"Нова мелодија је направљена."},{"$i":"set-default-tone","$v":"Мелодија је постављена."},{"$i":"sd-card-subtitle","$v":"SD картица"},{"$i":"pick-title","$v":"Одабери звук"},{"$i":"pick-set","$v":"Постави"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," мелодије"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," упозорења"]},{"$i":"section-title-custom-ringtone","$v":"Моје мелодије"},{"$i":"section-title-custom-alerttone","$v":"Моја упозорења"},{"$i":"create-title","$v":"Направи мел."},{"$i":"create-save","$v":"Сними"},{"$i":"create-cancel","$v":"Откажи"},{"$i":"play-error-title","$v":"Оштећена датотека"},{"$i":"play-error-desc","$v":"Датотека је оштећена. Не може да се користи за прављење мелодије."},{"$i":"save-error-title","$v":"Мелодија није направљена"},{"$i":"save-error-desc","$v":"Дошло је до грешке при прављењу мелодије. Покушајте поново."},{"$i":"default-label","$v":"Користи као подразумевану мелодију"},{"$i":"ok","$v":"У реду"},{"$i":"ringtone-untitled","$v":"Без имена"},{"$i":"addButton","ariaLabel":"Додај"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Nijedan"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Upravljanje melodijama"},{"$i":"actions-share-ringtone","$v":"Podeli melodiju"},{"$i":"actions-delete-ringtone","$v":"Izbriši melodiju"},{"$i":"actions-share-alerttone","$v":"Podeli upozorenje"},{"$i":"actions-delete-alerttone","$v":"Izbriši upozorenje"},{"$i":"actions-cancel","$v":"Otkaži"},{"$i":"delete-title-ringtone","$v":"Izbriši melodiju"},{"$i":"delete-title-alerttone","$v":"Izbriši upozorenje"},{"$i":"delete-message","$v":["Da li ste sigurni da želite da obrišete \"<bdi>",{"t":"idOrVar","v":"tone"},"\"<bdi>?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je trenutno podrazumevana melodija.<br><br>Da li ste sigurni da želite da je obrišete?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je trenutno podrazumevano upozorenje.<br><br>Da li ste sigurni da želite da ga obrišete?"]},{"$i":"delete-cancel","$v":"Otkaži"},{"$i":"delete-confirm","$v":"Izbriši"},{"$i":"deleted-ringtone","$v":"Melodija je obrisana."},{"$i":"deleted-alerttone","$v":"Upozorenje je obrisano."},{"$i":"created-tone","$v":"Nova melodija je napravljena."},{"$i":"set-default-tone","$v":"Melodija je postavljena."},{"$i":"sd-card-subtitle","$v":"SD kartica"},{"$i":"pick-title","$v":"Odaberi zvuk"},{"$i":"pick-set","$v":"Postavi"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," melodije"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," upozorenja"]},{"$i":"section-title-custom-ringtone","$v":"Moje melodije"},{"$i":"section-title-custom-alerttone","$v":"Moja upozorenja"},{"$i":"create-title","$v":"Napravi mel."},{"$i":"create-save","$v":"Snimi"},{"$i":"create-cancel","$v":"Otkaži"},{"$i":"play-error-title","$v":"Oštećena datoteka"},{"$i":"play-error-desc","$v":"Datoteka je oštećena. Ne može da se koristi za pravljenje melodije."},{"$i":"save-error-title","$v":"Melodija nije napravljena"},{"$i":"save-error-desc","$v":"Došlo je do greške pri pravljenju melodije. Pokušajte ponovo."},{"$i":"default-label","$v":"Koristi kao podrazumevanu melodiju"},{"$i":"ok","$v":"U redu"},{"$i":"ringtone-untitled","$v":"Bez imena"},{"$i":"addButton","ariaLabel":"Dodaj"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Ingen"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Hantera ringsignaler"},{"$i":"actions-share-ringtone","$v":"Dela ringsignal"},{"$i":"actions-delete-ringtone","$v":"Ta bort ringsignal"},{"$i":"actions-share-alerttone","$v":"Dela aviseringsljud"},{"$i":"actions-delete-alerttone","$v":"Ta bort aviseringsljud"},{"$i":"actions-cancel","$v":"Avbryt"},{"$i":"delete-title-ringtone","$v":"Ta bort ringsignal"},{"$i":"delete-title-alerttone","$v":"Ta bort aviseringsljud"},{"$i":"delete-message","$v":["Är du säker på att du vill ta bort \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" är den nuvarande standardringsignalen.<br><br>Är du säker på att du vill ta bort det?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" är det nuvarande standardaviseringsljudet.<br><br>Är du säker på att du vill ta bort det?"]},{"$i":"delete-cancel","$v":"Avbryt"},{"$i":"delete-confirm","$v":"Ta bort"},{"$i":"deleted-ringtone","$v":"Ringsignal borttagen."},{"$i":"deleted-alerttone","$v":"Aviseringsljud borttaget."},{"$i":"created-tone","$v":"Ny ringsignal skapad."},{"$i":"set-default-tone","$v":"Ringsignal satt till standard."},{"$i":"sd-card-subtitle","$v":"Minneskort"},{"$i":"pick-title","$v":"Välj ljud"},{"$i":"pick-set","$v":"Använd"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," ringsignaler"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," aviseringsljud"]},{"$i":"section-title-custom-ringtone","$v":"Mina ringsignaler"},{"$i":"section-title-custom-alerttone","$v":"Mina aviseringsljud"},{"$i":"create-title","$v":"Skapa ringsignal"},{"$i":"create-save","$v":"Spara"},{"$i":"create-cancel","$v":"Avbryt"},{"$i":"play-error-title","$v":"Skadad fil"},{"$i":"play-error-desc","$v":"Filen är skadad. Den kan inte användas för att skapa en ringsignal."},{"$i":"save-error-title","$v":"Ringsignal skapades inte"},{"$i":"save-error-desc","$v":"Det uppstod ett problem när ringsignal skapades. Försök igen."},{"$i":"default-label","$v":"Använd som standardringsignal"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Namnlös"},{"$i":"addButton","ariaLabel":"Lägg till"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"Yok"},{"$i":"ringer_bubble","$v":"Balon"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Bahçe"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Yalın"},{"$i":"ringer_standard1","$v":"Klasik"},{"$i":"ringer_standard2","$v":"Klasik Hızlı"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Kuyruk Rüzgârı"},{"$i":"ringer_thoughtful","$v":"Düşünceli"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Çan"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Merhaba"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"Sesleri yönet"},{"$i":"actions-share-ringtone","$v":"Zil sesini paylaş"},{"$i":"actions-delete-ringtone","$v":"Zil sesini sil"},{"$i":"actions-share-alerttone","$v":"Uyarıyı paylaş"},{"$i":"actions-delete-alerttone","$v":"Uyarıyı sil"},{"$i":"actions-cancel","$v":"İptal"},{"$i":"delete-title-ringtone","$v":"Zil sesini sil"},{"$i":"delete-title-alerttone","$v":"Uyarıyı sil"},{"$i":"delete-message","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" sesini silmek istediğinizden emin misiniz?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" şu anda varsayılan zil sesiniz.<br><br>Silmek istediğinizden emin misiniz?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" şu anda varsayılan uyarınız.<br><br>Silmek istediğinizden emin misiniz? "]},{"$i":"delete-cancel","$v":"İptal"},{"$i":"delete-confirm","$v":"Sil"},{"$i":"deleted-ringtone","$v":"Zil sesi silindi."},{"$i":"deleted-alerttone","$v":"Uyarı silindi."},{"$i":"created-tone","$v":"Yeni zil sesi oluşturuldu."},{"$i":"set-default-tone","$v":"Zil sesi varsayılan olarak ayarlandı."},{"$i":"sd-card-subtitle","$v":"SD kart"},{"$i":"pick-title","$v":"Ses seçin"},{"$i":"pick-set","$v":"Ayarla"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," zil sesleri"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," uyarıları"]},{"$i":"section-title-custom-ringtone","$v":"Zil seslerim"},{"$i":"section-title-custom-alerttone","$v":"Uyarılarım"},{"$i":"create-title","$v":"Zil sesi oluştur"},{"$i":"create-save","$v":"Kaydet"},{"$i":"create-cancel","$v":"İptal"},{"$i":"play-error-title","$v":"Bozuk dosya"},{"$i":"play-error-desc","$v":"Dosya hasar gördüğü için zil sesi oluşturmakta kullanılamaz."},{"$i":"save-error-title","$v":"Zil sesi oluşturulamadı"},{"$i":"save-error-desc","$v":"Zil sesi oluşturulurken bir sorun oluştu. Lütfen tekrar deneyin."},{"$i":"default-label","$v":"Varsayılan zil sesi olarak kullan"},{"$i":"ok","$v":"Tamam"},{"$i":"ringtone-untitled","$v":"Adsız"},{"$i":"addButton","ariaLabel":"Ekle"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"brandShortName","$v":"B2G OS"},{"$i":"browserBrandShortName","$v":"网络浏览器"},{"$i":"browserBrandFullName","$v":"Mozilla 网络浏览器"},{"$i":"ringtoneBrandName","$v":"默认"},{"$i":"ringtoneSectionBrandName","$v":"系统"},{"$i":"ringtone-none","$v":"无"},{"$i":"ringer_bubble","$v":"气泡"},{"$i":"ringer_chimer","$v":"叮铃"},{"$i":"ringer_cunning","$v":"精巧"},{"$i":"ringer_dulco","$v":"达尔茜"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"花园"},{"$i":"ringer_marbled","$v":"弹子"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"坷叩坷扣"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"泡泡"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"纯净"},{"$i":"ringer_standard1","$v":"经典"},{"$i":"ringer_standard2","$v":"快速经典"},{"$i":"ringer_stutter","$v":"重复断续"},{"$i":"ringer_symmetry","$v":"对称性"},{"$i":"ringer_tailwind","$v":"一路顺风"},{"$i":"ringer_thoughtful","$v":"沉思"},{"$i":"ringer_wit","$v":"机智幽默"},{"$i":"ringer_zen","$v":"禅"},{"$i":"notifier_bells","$v":"钟琴"},{"$i":"notifier_bloom","$v":"啵棱"},{"$i":"notifier_chime","$v":"敲击"},{"$i":"notifier_clicka","$v":"叮咔"},{"$i":"notifier_digi","$v":"叮"},{"$i":"notifier_dropplet","$v":"叮咕嘀"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"低声弹子"},{"$i":"notifier_ping","$v":"乒"},{"$i":"notifier_plickle","$v":"叮铃咚"},{"$i":"notifier_pocko","$v":"简短"},{"$i":"notifier_quado","$v":"气泡弹出"},{"$i":"notifier_red","$v":"红色提示"},{"$i":"notifier_sato","$v":"深邃"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"滴流"},{"$i":"notifier_trink","$v":"明快"},{"$i":"notifier_verse","$v":"短句"},{"$i":"manage-title-2","$v":"管理铃声"},{"$i":"actions-share-ringtone","$v":"分享铃声"},{"$i":"actions-delete-ringtone","$v":"删除铃声"},{"$i":"actions-share-alerttone","$v":"分享警示音"},{"$i":"actions-delete-alerttone","$v":"删除警示音"},{"$i":"actions-cancel","$v":"取消"},{"$i":"delete-title-ringtone","$v":"删除铃声"},{"$i":"delete-title-alerttone","$v":"删除警告"},{"$i":"delete-message","$v":["您确定要删除“<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>”?"]},{"$i":"delete-message-default-ringtone","$v":["“<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>”是目前的默认铃声<br><br>您确定要删除它?"]},{"$i":"delete-message-default-alerttone","$v":["“<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>”是目前的默认警示音<br><br>您确定要删除它?"]},{"$i":"delete-cancel","$v":"取消"},{"$i":"delete-confirm","$v":"删除"},{"$i":"deleted-ringtone","$v":"铃声已删除。"},{"$i":"deleted-alerttone","$v":"警示音已删除。"},{"$i":"created-tone","$v":"新铃声已创建。"},{"$i":"set-default-tone","$v":"已设置为默认铃声。"},{"$i":"sd-card-subtitle","$v":"SD 卡"},{"$i":"pick-title","$v":"选择铃声"},{"$i":"pick-set","$v":"设置"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 铃声"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 警示音"]},{"$i":"section-title-custom-ringtone","$v":"我的铃声"},{"$i":"section-title-custom-alerttone","$v":"我的警示音"},{"$i":"create-title","$v":"创建铃声"},{"$i":"create-save","$v":"保存"},{"$i":"create-cancel","$v":"取消"},{"$i":"play-error-title","$v":"文件已损坏"},{"$i":"play-error-desc","$v":"此文件已损坏,无法被用来创建铃声。"},{"$i":"save-error-title","$v":"铃声未创建"},{"$i":"save-error-desc","$v":"创建铃声时出现问题。请重试。"},{"$i":"default-label","$v":"设为默认铃声"},{"$i":"ok","$v":"确定"},{"$i":"ringtone-untitled","$v":"未命名"},{"$i":"addButton","ariaLabel":"添加"}]
|
||||
|
|
@ -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":"ringtone-none","$v":"無"},{"$i":"ringer_bubble","$v":"Bubble"},{"$i":"ringer_chimer","$v":"Chimer"},{"$i":"ringer_cunning","$v":"Cunning"},{"$i":"ringer_dulco","$v":"Dulco"},{"$i":"ringer_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"ringer_garden","$v":"Garden"},{"$i":"ringer_marbled","$v":"Marbled"},{"$i":"ringer_opti","$v":"Opti"},{"$i":"ringer_pecko","$v":"Pecko"},{"$i":"ringer_pingy","$v":"Pingy"},{"$i":"ringer_poppop","$v":"Pop Pop"},{"$i":"ringer_sata","$v":"Sata"},{"$i":"ringer_simple","$v":"Clean"},{"$i":"ringer_standard1","$v":"Classic"},{"$i":"ringer_standard2","$v":"Classic Fast"},{"$i":"ringer_stutter","$v":"Stutter"},{"$i":"ringer_symmetry","$v":"Symmetry"},{"$i":"ringer_tailwind","$v":"Tail Wind"},{"$i":"ringer_thoughtful","$v":"Thoughtful"},{"$i":"ringer_wit","$v":"Wit"},{"$i":"ringer_zen","$v":"Zen"},{"$i":"notifier_bells","$v":"Bells"},{"$i":"notifier_bloom","$v":"Bloom"},{"$i":"notifier_chime","$v":"Chime"},{"$i":"notifier_clicka","$v":"Clicka"},{"$i":"notifier_digi","$v":"Digi"},{"$i":"notifier_dropplet","$v":"Dropplet"},{"$i":"notifier_firefox2","$v":[{"t":"idOrVar","v":"ringtoneBrandName"}]},{"$i":"notifier_hello","$v":"Hello"},{"$i":"notifier_lowmarble","$v":"Low Marble"},{"$i":"notifier_ping","$v":"Ping"},{"$i":"notifier_plickle","$v":"Plickle"},{"$i":"notifier_pocko","$v":"Pocko"},{"$i":"notifier_quado","$v":"Quado"},{"$i":"notifier_red","$v":"Red"},{"$i":"notifier_sato","$v":"Sato"},{"$i":"notifier_swipo","$v":"Swipo"},{"$i":"notifier_trickleup","$v":"Trickle Up"},{"$i":"notifier_trink","$v":"Trink"},{"$i":"notifier_verse","$v":"Verse"},{"$i":"manage-title-2","$v":"管理鈴聲"},{"$i":"actions-share-ringtone","$v":"分享鈴聲"},{"$i":"actions-delete-ringtone","$v":"刪除鈴聲"},{"$i":"actions-share-alerttone","$v":"分享警示音效"},{"$i":"actions-delete-alerttone","$v":"刪除警示音效"},{"$i":"actions-cancel","$v":"取消"},{"$i":"delete-title-ringtone","$v":"刪除鈴聲"},{"$i":"delete-title-alerttone","$v":"刪除警示音效"},{"$i":"delete-message","$v":["您確定要刪除「<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>」嗎?"]},{"$i":"delete-message-default-ringtone","$v":["「<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>」是目前的預設鈴聲。<br><br>您確定要刪除嗎?"]},{"$i":"delete-message-default-alerttone","$v":["「<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>」是目前的預設警示聲。<br><br>您確定要刪除嗎?"]},{"$i":"delete-cancel","$v":"取消"},{"$i":"delete-confirm","$v":"刪除"},{"$i":"deleted-ringtone","$v":"已刪除鈴聲。"},{"$i":"deleted-alerttone","$v":"已刪除警示音效。"},{"$i":"created-tone","$v":"已建立新鈴聲。"},{"$i":"set-default-tone","$v":"已將鈴聲設為預設鈴聲。"},{"$i":"sd-card-subtitle","$v":"SD 卡"},{"$i":"pick-title","$v":"選擇音效"},{"$i":"pick-set","$v":"設定"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 鈴聲"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," 警示音效"]},{"$i":"section-title-custom-ringtone","$v":"我的鈴聲"},{"$i":"section-title-custom-alerttone","$v":"我的警示音效"},{"$i":"create-title","$v":"建立鈴聲"},{"$i":"create-save","$v":"儲存"},{"$i":"create-cancel","$v":"取消"},{"$i":"play-error-title","$v":"檔案已毀損"},{"$i":"play-error-desc","$v":"檔案已毀損,無法用來建立鈴聲。"},{"$i":"save-error-title","$v":"未建立鈴聲"},{"$i":"save-error-desc","$v":"建立鈴聲時遇到問題,請再試一次。"},{"$i":"default-label","$v":"設定為預設鈴聲"},{"$i":"ok","$v":"確定"},{"$i":"ringtone-untitled","$v":"無標題"},{"$i":"addButton","ariaLabel":"新增"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"manage-title-2","$v":"إدارة النغمات"},{"$i":"actions-share-ringtone","$v":"شارك النغمة"},{"$i":"actions-delete-ringtone","$v":"احذف النغمة"},{"$i":"actions-share-alerttone","$v":"مشاركة التنبيه"},{"$i":"actions-delete-alerttone","$v":"احذف صوت الإنذار"},{"$i":"actions-cancel","$v":"ألغِ"},{"$i":"delete-title-ringtone","$v":"حذف النغمة"},{"$i":"delete-title-alerttone","$v":"حذف صوت الإنذار"},{"$i":"delete-message","$v":["هل أنت متأكد أنك تريد أن تحذف \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"؟"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" هي النغمة الحالية. <br><br> هل أنت متأكد أنك تريد حذفها؟"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" هو صوت الإنذار الحالي. <br><br>هل أنت متأكد أنك تريد حذفه؟"]},{"$i":"delete-cancel","$v":"ألغِ"},{"$i":"delete-confirm","$v":"احذف"},{"$i":"deleted-ringtone","$v":"حُذفت النغمة."},{"$i":"deleted-alerttone","$v":"حُذف صوت الإنذار."},{"$i":"created-tone","$v":"أُنشئت نغمة جديدة."},{"$i":"set-default-tone","$v":"جُعلت النغمةُ النغمةَ المبدئية."},{"$i":"sd-card-subtitle","$v":"بطاقة الذاكرة"},{"$i":"pick-title","$v":"اختر الصوت"},{"$i":"pick-set","$v":"عيّن"},{"$i":"section-title-builtin-ringtone","$v":["نغمات ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["أصوات إنذار ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"نغماتي"},{"$i":"section-title-custom-alerttone","$v":"أصوات الإنذار"},{"$i":"create-title","$v":"أنشئ نغمة"},{"$i":"create-save","$v":"احفظ"},{"$i":"create-cancel","$v":"ألغِ"},{"$i":"play-error-title","$v":"ملف تالف"},{"$i":"play-error-desc","$v":"الملف تالف. لا يمكن أن يستخدم لإنشاء نغمة."},{"$i":"save-error-title","$v":"لم تُنشئ النغمة"},{"$i":"save-error-desc","$v":"وقع خطأ عند إنشاء النغمة. حاول مرة أخرى."},{"$i":"default-label","$v":"اجعلها النغمة المبدئيّة"},{"$i":"ok","$v":"موافق"},{"$i":"ringtone-untitled","$v":"بلا عنوان"},{"$i":"addButton","ariaLabel":"إضافة"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"manage-title-2","$v":"Управление на звуци"},{"$i":"actions-share-ringtone","$v":"Споделяне на звук за звънене"},{"$i":"actions-delete-ringtone","$v":"Изтриване на звук за звънене"},{"$i":"actions-share-alerttone","$v":"Споделяне на аларма"},{"$i":"actions-delete-alerttone","$v":"Изтриване на аларма"},{"$i":"actions-cancel","$v":"Отказ"},{"$i":"delete-title-ringtone","$v":"Изтриване на звук за звънене"},{"$i":"delete-title-alerttone","$v":"Изтриване на аларма"},{"$i":"delete-message","$v":["Сигурни ли сте, че желаете да изтриете „<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>“?"]},{"$i":"delete-message-default-ringtone","$v":["„",{"t":"idOrVar","v":"tone"},"“ е текущият стандартен звук за звънене.<br><br>Сигурни ли сте, че желаете да го изтриете?"]},{"$i":"delete-message-default-alerttone","$v":["„",{"t":"idOrVar","v":"tone"},"“ е текущият стандартен будилник.<br><br>Сигурни ли сте, че желаете да го изтриете?"]},{"$i":"delete-cancel","$v":"Отказ"},{"$i":"delete-confirm","$v":"Изтриване"},{"$i":"deleted-ringtone","$v":"Звукът за звънене е изтрит."},{"$i":"deleted-alerttone","$v":"Алармата е изтрита."},{"$i":"created-tone","$v":"Създаден е нов звук за звънене."},{"$i":"set-default-tone","$v":"Стандартен звук за звънене."},{"$i":"sd-card-subtitle","$v":"SD карта"},{"$i":"pick-title","$v":"Избиране на звук"},{"$i":"pick-set","$v":"Задаване"},{"$i":"section-title-builtin-ringtone","$v":["Звънене на ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Будилник на ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Моите звуци за звънене"},{"$i":"section-title-custom-alerttone","$v":"Моите аларми"},{"$i":"create-title","$v":"Създаване"},{"$i":"create-save","$v":"Запис"},{"$i":"create-cancel","$v":"Отказ"},{"$i":"play-error-title","$v":"Повреден файл"},{"$i":"play-error-desc","$v":"Файлът е повреден. Не може да се използва за звук за звънене."},{"$i":"save-error-title","$v":"Звукът за звънене не е създаден"},{"$i":"save-error-desc","$v":"Имаше проблем при създаването на звук за звънене. Моля опитайте отново."},{"$i":"default-label","$v":"Задаване като стандартен звук за звънене"},{"$i":"ok","$v":"Добре"},{"$i":"ringtone-untitled","$v":"Неозаглавен"},{"$i":"addButton","ariaLabel":"Добавяне"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"manage-title-2","$v":"টোন ব্যবস্থাপনা"},{"$i":"actions-share-ringtone","$v":"রিংটোন শেয়ার"},{"$i":"actions-delete-ringtone","$v":"রিংটোন অপসারণ"},{"$i":"actions-share-alerttone","$v":"সর্তকবার্তা শেয়ার"},{"$i":"actions-delete-alerttone","$v":"সর্তকবার্তা মুছে ফেলুন"},{"$i":"actions-cancel","$v":"বাতিল"},{"$i":"delete-title-ringtone","$v":"রিংটোন অপসারণ"},{"$i":"delete-title-alerttone","$v":"সর্তকবার্তা মুছে ফেলুন"},{"$i":"delete-message","$v":["আপনি \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" অপসারণের ব্যপারে নিশ্চিত?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" বর্তমান ডিফল্ট রিংটোন। <br><br>আপনি এটি অপসারণের ব্যপারে নিশ্চিত?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" বর্তমান ডিফল্ট এলার্টটোন। <br><br>আপনি এটি অপসারণের ব্যপারে নিশ্চিত?"]},{"$i":"delete-cancel","$v":"বাতিল"},{"$i":"delete-confirm","$v":"অপসারণ"},{"$i":"deleted-ringtone","$v":"রিংটোন অপসারিত হয়েছে।"},{"$i":"deleted-alerttone","$v":"সর্তকবার্তা মুছে ফেলা হয়েছে।"},{"$i":"created-tone","$v":"নতুন রিংটোন তৈরি হয়েছে।"},{"$i":"set-default-tone","$v":"ডিফল্ট রিংটোন হিসেবে সেট হয়েছে।"},{"$i":"sd-card-subtitle","$v":"SD কার্ড"},{"$i":"pick-title","$v":"রিংটোন নির্বাচন করুন"},{"$i":"pick-set","$v":"নির্ধারণ"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," রিংটোন"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"}," সর্তকবার্তা"]},{"$i":"section-title-custom-ringtone","$v":"আমার রিংটোন"},{"$i":"section-title-custom-alerttone","$v":"আমার সর্তকবার্তা"},{"$i":"create-title","$v":"রিংটোন তৈরি করুন"},{"$i":"create-save","$v":"সংরক্ষণ"},{"$i":"create-cancel","$v":"বাতিল"},{"$i":"play-error-title","$v":"নষ্ট হওয়া ফাইল"},{"$i":"play-error-desc","$v":"এই ফাইলটি নষ্ট। এটি রিংটোন তৈরিতে ব্যবহার করা যাবেনা।"},{"$i":"save-error-title","$v":"রিংটোন তৈরি হয়নি"},{"$i":"save-error-desc","$v":"রিংটোন তৈরিতে একটি সমস্যা হয়েছে। দয়া করে পুনরায় চেষ্টা করুন।"},{"$i":"default-label","$v":"ডিফল্ট রিংটোন হিসেবে ব্যবহার করুন"},{"$i":"ok","$v":"ঠিক আছে"},{"$i":"ringtone-untitled","$v":"শিরোনামহীন"},{"$i":"addButton","ariaLabel":"যোগ"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"manage-title-2","$v":"Gestió dels tons"},{"$i":"actions-share-ringtone","$v":"Comparteix el to de trucada"},{"$i":"actions-delete-ringtone","$v":"Elimina to de trucada"},{"$i":"actions-share-alerttone","$v":"Comparteix l'alerta"},{"$i":"actions-delete-alerttone","$v":"Elimina l'alerta"},{"$i":"actions-cancel","$v":"Cancel·la"},{"$i":"delete-title-ringtone","$v":"Elimina to de trucada"},{"$i":"delete-title-alerttone","$v":"Elimina l'alerta"},{"$i":"delete-message","$v":["Segur que voleu eliminar «<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>»?"]},{"$i":"delete-message-default-ringtone","$v":["«<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>» és actualment el to de trucada per defecte.<br><br>Segur que voleu eliminar-lo?"]},{"$i":"delete-message-default-alerttone","$v":["«<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>» és actualment l'alerta per defecte.<br><br>Segur que voleu eliminar-la?"]},{"$i":"delete-cancel","$v":"Cancel·la"},{"$i":"delete-confirm","$v":"Elimina"},{"$i":"deleted-ringtone","$v":"S'ha eliminat el to de trucada."},{"$i":"deleted-alerttone","$v":"S'ha eliminat l'alerta."},{"$i":"created-tone","$v":"S'ha creat un to de trucada nou."},{"$i":"set-default-tone","$v":"S'ha definit com a to de trucada per defecte."},{"$i":"sd-card-subtitle","$v":"Targeta SD"},{"$i":"pick-title","$v":"Trieu un to"},{"$i":"pick-set","$v":"Defineix"},{"$i":"section-title-builtin-ringtone","$v":["Tons de trucada del ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-builtin-alerttone","$v":["Alertes del ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}]},{"$i":"section-title-custom-ringtone","$v":"Els meus tons de trucada"},{"$i":"section-title-custom-alerttone","$v":"Les meves alertes"},{"$i":"create-title","$v":"Crea un to de trucada"},{"$i":"create-save","$v":"Desa"},{"$i":"create-cancel","$v":"Cancel·la"},{"$i":"play-error-title","$v":"Fitxer malmès"},{"$i":"play-error-desc","$v":"El fitxer és malmès. No es pot fer servir per crear un to de trucada."},{"$i":"save-error-title","$v":"No s'ha creat el to de trucada"},{"$i":"save-error-desc","$v":"S'ha produït un problema en crear el to de trucada. Torneu-ho a provar."},{"$i":"default-label","$v":"Utilitza com a to de trucada per defecte"},{"$i":"ok","$v":"D'acord"},{"$i":"ringtone-untitled","$v":"Sense títol"},{"$i":"addButton","ariaLabel":"Afegeix"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"manage-title-2","$v":"Správa vyzvánění"},{"$i":"actions-share-ringtone","$v":"Sdílet vyzvánění"},{"$i":"actions-delete-ringtone","$v":"Smazat vyzvánění"},{"$i":"actions-share-alerttone","$v":"Sdílet tón upozornění"},{"$i":"actions-delete-alerttone","$v":"Smazat tón upozornění"},{"$i":"actions-cancel","$v":"Zrušit"},{"$i":"delete-title-ringtone","$v":"Smazání vyzvánění"},{"$i":"delete-title-alerttone","$v":"Smazání tónu upozornění"},{"$i":"delete-message","$v":["Opravdu chcete smazat \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je aktuální výchozí vyzvánění.<br><br>Opravdu ho chcete smazat?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" je aktuální výchozí upozornění.<br><br>Opravdu ho chcete smazat?"]},{"$i":"delete-cancel","$v":"Zrušit"},{"$i":"delete-confirm","$v":"Smazat"},{"$i":"deleted-ringtone","$v":"Vyzvánění smazáno."},{"$i":"deleted-alerttone","$v":"Tón upozornění smazán."},{"$i":"created-tone","$v":"Nové vyzvánění vytvořeno."},{"$i":"set-default-tone","$v":"Vyzvánění nastaveno jako výchozí."},{"$i":"sd-card-subtitle","$v":"SD karta"},{"$i":"pick-title","$v":"Výběr zvuku"},{"$i":"pick-set","$v":"Nastavit"},{"$i":"section-title-builtin-ringtone","$v":["Vyzvánění ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}," "]},{"$i":"section-title-builtin-alerttone","$v":["Upozornění ",{"t":"idOrVar","v":"ringtoneSectionBrandName"}," "]},{"$i":"section-title-custom-ringtone","$v":"Má vyzvánění"},{"$i":"section-title-custom-alerttone","$v":"Má upozornění"},{"$i":"create-title","$v":"Vytvoření vyzvánění"},{"$i":"create-save","$v":"Uložit"},{"$i":"create-cancel","$v":"Zrušit"},{"$i":"play-error-title","$v":"Poškozený soubor"},{"$i":"play-error-desc","$v":"Soubor je poškozen, a proto nemůže být použit k vytvoření vyzvánění."},{"$i":"save-error-title","$v":"Vyzvánění nebylo vytvořeno"},{"$i":"save-error-desc","$v":"Problém s vytvořením vyzvánění. Zkuste to prosím znovu."},{"$i":"default-label","$v":"Použít jako výchozí vyzvánění"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Nepojmenované"},{"$i":"addButton","ariaLabel":"Přidat"}]
|
||||
|
|
@ -0,0 +1 @@
|
|||
[{"$i":"manage-title-2","$v":"Håndter toner"},{"$i":"actions-share-ringtone","$v":"Del ringetone"},{"$i":"actions-delete-ringtone","$v":"Slet ringetone"},{"$i":"actions-share-alerttone","$v":"Del alarm"},{"$i":"actions-delete-alerttone","$v":"Slet alarm"},{"$i":"actions-cancel","$v":"Annuller"},{"$i":"delete-title-ringtone","$v":"Slet ringetone"},{"$i":"delete-title-alerttone","$v":"Slet alarm"},{"$i":"delete-message","$v":["Er du sikker på, at du vil slette \"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\"?"]},{"$i":"delete-message-default-ringtone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" er den nuværende standardringetone.<br><br>Er du sikker på, at du vil slette den?"]},{"$i":"delete-message-default-alerttone","$v":["\"<bdi>",{"t":"idOrVar","v":"tone"},"</bdi>\" er den nuværende standardalarm.<br><br>Er du sikker på, at du vil slette den?"]},{"$i":"delete-cancel","$v":"Annuller"},{"$i":"delete-confirm","$v":"Slet"},{"$i":"deleted-ringtone","$v":"Ringetone slettet."},{"$i":"deleted-alerttone","$v":"Alarm slettet."},{"$i":"created-tone","$v":"Ny ringetone oprettet."},{"$i":"set-default-tone","$v":"Ringetone sat som standard."},{"$i":"sd-card-subtitle","$v":"SD-kort"},{"$i":"pick-title","$v":"Vælg lyd"},{"$i":"pick-set","$v":"Indstil"},{"$i":"section-title-builtin-ringtone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-ringetoner"]},{"$i":"section-title-builtin-alerttone","$v":[{"t":"idOrVar","v":"ringtoneSectionBrandName"},"-alarmer"]},{"$i":"section-title-custom-ringtone","$v":"Mine ringetoner"},{"$i":"section-title-custom-alerttone","$v":"Mine alarmer"},{"$i":"create-title","$v":"Opret ringetone"},{"$i":"create-save","$v":"Gem"},{"$i":"create-cancel","$v":"Annuller"},{"$i":"play-error-title","$v":"Ødelagt fil"},{"$i":"play-error-desc","$v":"Filen er ødelagt. Den kan ikke bruges til at oprette en ringetone."},{"$i":"save-error-title","$v":"Ringetone ikke oprettet"},{"$i":"save-error-desc","$v":"Der var et problem med at oprette ringetonen. Prøv igen."},{"$i":"default-label","$v":"Brug som standardringetone"},{"$i":"ok","$v":"OK"},{"$i":"ringtone-untitled","$v":"Uden navn"},{"$i":"addButton","ariaLabel":"Tilføj"}]
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue