Commit 390d4a0a authored by CardBook's avatar CardBook

version 26.6

parent e450dd1f
......@@ -13,13 +13,13 @@
<wizard id="addressbook-wizard"
title="&wizard.title;"
windowtype="Addressbook:NewAddressbookWizard"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
onload="wdw_addressbooksAdd.loadWizard();"
onwizardcancel="wdw_addressbooksAdd.cancelWizard();"
onclose="wdw_addressbooksAdd.cancelWizard();"
onwizardfinish="wdw_addressbooksAdd.closeWizard();"
windowtype="CardBook:addressbookAddWindow"
style="min-height:600px;min-width:1200px;"
persist="screenX screenY">
......
......@@ -23,7 +23,7 @@ if ("undefined" == typeof(wdw_addressbooksEdit)) {
myLabel = myLabel + "{{5}} : " + strBundle.getString("suffixnameLabel") + " ";
var count = 6;
if (allOrg.length === 0) {
myLabel = "{{6}} : " + strBundle.getString("orgLabel");
myLabel = myLabel + "{{6}} : " + strBundle.getString("orgLabel");
} else {
for (var i = 0; i < allOrg.length; i++) {
var index = count + i;
......
......@@ -15,6 +15,7 @@
onclose="wdw_addressbooksEdit.cancel();"
id="wdw_addressbooksEdit" title="&wdw_addressbooksEditTitle;"
persist="screenX screenY width height" class="cardbookBackgroundColorClass dialog-content-box"
windowtype="CardBook:addressbookEditionWindow"
style="max-width:700px;max-height:400px;">
<stringbundleset id="stringbundleset"/>
......
......@@ -31,6 +31,7 @@
onclose="wdw_cardEdition.cancel();"
id="wdw_cardEdition"
persist="screenX screenY width height" class="cardbookBackgroundColorClass dialog-content-box"
windowtype="CardBook:contactEditionWindow"
style="min-width:500px;min-height:600px;">
<stringbundleset id="stringbundleset"/>
......
......@@ -107,6 +107,7 @@ if ("undefined" == typeof(wdw_imageEdition)) {
cardbookUtils.adjustFields();
wdw_imageEdition.resizeImageCard("chrome://cardbook/skin/missing_photo_200_214.png");
}
},
addImageCardFromFile: function () {
......
if ("undefined" == typeof(cardbookObserver)) {
if ("undefined" == typeof(cardBookObserver)) {
Components.utils.import("resource://gre/modules/Services.jsm");
var cardBookPrefObserverRepository = {
......@@ -82,7 +82,7 @@ if ("undefined" == typeof(cardbookObserver)) {
}
};
var cardbookObserverRepository = {
var cardBookObserverRepository = {
registerAll: function(aObserver) {
Services.obs.addObserver(aObserver, "cardbook.catModifiedIndirect", false);
Services.obs.addObserver(aObserver, "cardbook.catModifiedDirect", false);
......@@ -112,6 +112,8 @@ if ("undefined" == typeof(cardbookObserver)) {
Services.obs.addObserver(aObserver, "cardbook.complexSearchLoaded", false);
Services.obs.addObserver(aObserver, "cardbook.preferencesChanged", false);
Services.obs.addObserver(aObserver, "cardbook.identityChanged", false);
},
unregisterAll: function(aObserver) {
......@@ -143,16 +145,18 @@ if ("undefined" == typeof(cardbookObserver)) {
Services.obs.removeObserver(aObserver, "cardbook.complexSearchLoaded");
Services.obs.removeObserver(aObserver, "cardbook.preferencesChanged");
Services.obs.removeObserver(aObserver, "cardbook.identityChanged");
}
};
var myCardBookLightningObserver = {
register: function() {
cardbookObserverRepository.registerAll(this);
cardBookObserverRepository.registerAll(this);
},
unregister: function() {
cardbookObserverRepository.unregisterAll(this);
cardBookObserverRepository.unregisterAll(this);
},
observe: function(aSubject, aTopic, aData) {
......@@ -169,11 +173,11 @@ if ("undefined" == typeof(cardbookObserver)) {
var myCardBookSideBarObserver = {
register: function() {
cardbookObserverRepository.registerAll(this);
cardBookObserverRepository.registerAll(this);
},
unregister: function() {
cardbookObserverRepository.unregisterAll(this);
cardBookObserverRepository.unregisterAll(this);
},
observe: function(aSubject, aTopic, aData) {
......@@ -215,11 +219,11 @@ if ("undefined" == typeof(cardbookObserver)) {
var myCardBookComposeMsgObserver = {
register: function() {
cardbookObserverRepository.registerAll(this);
cardBookObserverRepository.registerAll(this);
},
unregister: function() {
cardbookObserverRepository.unregisterAll(this);
cardBookObserverRepository.unregisterAll(this);
},
observe: function(aSubject, aTopic, aData) {
......@@ -234,13 +238,37 @@ if ("undefined" == typeof(cardbookObserver)) {
}
};
var cardbookObserver = {
var cardBookObserver = {
register: function() {
cardbookObserverRepository.registerAll(this);
cardBookObserverRepository.registerAll(this);
},
unregister: function() {
cardbookObserverRepository.unregisterAll(this);
cardBookObserverRepository.unregisterAll(this);
},
observe: function(aSubject, aTopic, aData) {
switch (aTopic) {
case "cardbook.DBOpen":
cardbookSynchronization.loadComplexSearchAccounts();
break;
case "cardbook.complexSearchInitLoaded":
cardbookSynchronization.loadAccounts();
if (wdw_cardbook) {
wdw_cardbook.loadFirstWindow();
}
break;
}
}
};
var cardBookWindowObserver = {
register: function() {
cardBookObserverRepository.registerAll(this);
},
unregister: function() {
cardBookObserverRepository.unregisterAll(this);
},
observe: function(aSubject, aTopic, aData) {
......@@ -279,15 +307,6 @@ if ("undefined" == typeof(cardbookObserver)) {
wdw_cardbook.loadCssRules();
wdw_cardbook.refreshWindow(aData);
break;
case "cardbook.DBOpen":
cardbookSynchronization.loadComplexSearchAccounts();
break;
case "cardbook.complexSearchInitLoaded":
cardbookSynchronization.loadAccounts();
if (wdw_cardbook) {
wdw_cardbook.loadFirstWindow();
}
break;
}
}
};
......
......@@ -79,7 +79,7 @@ if ("undefined" == typeof(cardbookUtils)) {
if (myAdrFormula == "") {
myAdrFormula = cardbookRepository.defaultAdrFormula;
}
result = cardbookUtils.getStringFromFormula(myAdrFormula, aAddress, false);
result = cardbookUtils.getStringFromFormula(myAdrFormula, aAddress);
var re = /[\n\u0085\u2028\u2029]|\r\n?/;
var myAdrResultArray = result.split(re);
return cardbookUtils.cleanArray(myAdrResultArray).join("\n");
......@@ -685,38 +685,74 @@ if ("undefined" == typeof(cardbookUtils)) {
var myArray = [];
myArray = myArray.concat(aNewN);
myArray = myArray.concat(myOrgArray);
result = cardbookUtils.getStringFromFormula(myFnFormula, myArray, false);
result = cardbookUtils.getStringFromFormula(myFnFormula, myArray);
return result.trim();
},
getStringFromFormula: function(aFormula, aArray) {
var result = "";
var finalResult = "";
var myFormulaArray = cardbookUtils.escapeString1(aFormula).split(')');
for (var i = 0; i < myFormulaArray.length; i++) {
var tmpString = myFormulaArray[i].substr(myFormulaArray[i].indexOf("(")+1,myFormulaArray[i].length);
var tmpString = myFormulaArray[i].replace(/^\(/, "");
var tmpStringArray = tmpString.split('|');
var changed = false;
var replaced = false;
var result = "";
for (var j = 1; j < aArray.length+1; j++) {
if (tmpStringArray[0].indexOf("{{" + j + "}}") >= 0) {
if (aArray[j-1] != "") {
changed = true;
var myRegExp = new RegExp("\\{\\{" + j + "\\}\\}", "g");
result = result + tmpStringArray[0].replace(myRegExp, aArray[j-1]);
} else if (tmpStringArray[1] || tmpStringArray[1] == "") {
if (!changed) {
result = tmpStringArray[0].replace(myRegExp, aArray[j-1]);
} else {
result = result.replace(myRegExp, aArray[j-1]);
}
replaced = true;
} else {
var myRegExp = new RegExp("\\{\\{" + j + "\\}\\}", "g");
if (!changed) {
result = tmpStringArray[0].replace(myRegExp, "");
} else {
result = result.replace(myRegExp, "");
}
}
changed = true;
}
}
if (!replaced && tmpStringArray[1]) {
var changed = false;
for (var j = 1; j < aArray.length+1; j++) {
if (tmpStringArray[1].indexOf("{{" + j + "}}") >= 0) {
if (aArray[j-1] != "") {
var myRegExp = new RegExp("\\{\\{" + j + "\\}\\}", "g");
if (!changed) {
result = tmpStringArray[1].replace(myRegExp, aArray[j-1]);
} else {
result = result.replace(myRegExp, aArray[j-1]);
}
} else {
var myRegExp = new RegExp("\\{\\{" + j + "\\}\\}", "g");
if (!changed) {
result = tmpStringArray[1].replace(myRegExp, "");
} else {
result = result.replace(myRegExp, "");
}
}
changed = true;
result = result + cardbookUtils.getStringFromFormula("(" + tmpStringArray[1] + ")", aArray);
replaced = true;
}
}
}
if (!changed) {
if (tmpStringArray[1]) {
result = result + tmpStringArray[1];
if (!replaced) {
if (tmpStringArray[1] || tmpStringArray[1] == "") {
result = tmpStringArray[1];
} else {
result = result + tmpStringArray[0];
result = tmpStringArray[0];
}
}
finalResult = finalResult + result;
}
return cardbookUtils.unescapeString1(result);
return cardbookUtils.unescapeString1(finalResult);
},
parseLists: function(aCard, aMemberLines, aKindValue) {
......@@ -2647,8 +2683,24 @@ if ("undefined" == typeof(cardbookUtils)) {
openEditionWindow: function(aCard, aMode, aSource) {
try {
var myArgs = {cardIn: aCard, cardOut: {}, editionMode: aMode, editionSource: aSource, cardEditionAction: "", editionCallback: cardbookUtils.openEditionWindowSave};
var myWindow = window.openDialog("chrome://cardbook/content/cardEdition/wdw_cardEdition.xul", "", cardbookRepository.windowParams, myArgs);
if (aCard.uid == "") {
cardbookUtils.setCardUUID(aCard);
cardbookUtils.setCalculatedFields(aCard);
}
var windowsList = Services.wm.getEnumerator("CardBook:contactEditionWindow");
var found = false
while (windowsList.hasMoreElements()) {
var myWindow = windowsList.getNext();
if (myWindow.arguments[0] && myWindow.arguments[0].cardIn && myWindow.arguments[0].cardIn.cbid == aCard.cbid) {
myWindow.focus();
found = true;
break;
}
}
if (!found) {
var myArgs = {cardIn: aCard, cardOut: {}, editionMode: aMode, editionSource: aSource, cardEditionAction: "", editionCallback: cardbookUtils.openEditionWindowSave};
var myWindow = window.openDialog("chrome://cardbook/content/cardEdition/wdw_cardEdition.xul", "", cardbookRepository.windowParams, myArgs);
}
}
catch (e) {
wdw_cardbooklog.updateStatusProgressInformation("cardbookUtils.openEditionWindow error : " + e, "Error");
......
......@@ -47,6 +47,8 @@ if ("undefined" == typeof(cardbookComplexSearch)) {
var found = true;
} else if (cardbookRepository.cardbookComplexSearch[aComplexSearchDirPrefId].rules[i][2] == "IsntEmpty") {
var found = true;
} else {
var found = false;
}
} else if (myField.find(searchArray) == undefined) {
var found = false;
......
......@@ -8,6 +8,7 @@ if ("undefined" == typeof(cardbookTabType)) {
onTabTitleChanged: function() {},
onTabOpened: function(aTab) {
if (aTab.mode.name == "cardbook") {
// in case of opening a new window without having a reload
wdw_cardbook.loadFirstWindow();
}
},
......
......@@ -3,8 +3,8 @@ if ("undefined" == typeof(ovl_cardbookComposeMsg)) {
Components.utils.import("chrome://cardbook/content/cardbookRepository.js");
var ovl_cardbookComposeMsg = {
onIdentityChanged: function() {
var outerID = content.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindowUtils).outerWindowID;
LoadIdentity: function() {
var outerID = GetCurrentEditorElement().outerWindowID;
cardbookRepository.composeMsgIdentity[outerID] = document.getElementById("msgIdentity").selectedItem.getAttribute("identitykey");
// this event is used only when the identity is changed, not for the initial start
cardbookUtils.notifyObservers("cardbook.identityChanged", outerID);
......@@ -79,7 +79,7 @@ if ("undefined" == typeof(ovl_cardbookComposeMsg)) {
var rv = _original.apply(null, arguments);
// Execute some action afterwards.
ovl_cardbookComposeMsg.onIdentityChanged();
ovl_cardbookComposeMsg.LoadIdentity();
// return the original result
return rv;
......
......@@ -30,10 +30,4 @@
oncommand="ovl_cardbook.open();"
insertafter="tasksMenuAddressBook"/>
</menupopup>
<menulist id="msgIdentity" type="description" flex="1"
disableautoselect="true" onkeypress="fromKeyPress(event);"
oncommand="LoadIdentity(false);ovl_cardbookComposeMsg.onIdentityChanged();" disableonsend="true">
<menupopup id="msgIdentityPopup"/>
</menulist>
</overlay>
......@@ -90,7 +90,7 @@ if ("undefined" == typeof(ovl_synchro)) {
prefs.setCharPref("accountsShown", "all");
prefs.setCharPref("uncategorizedCards", "");
prefs.setCharPref("addonVersion", "26.5");
prefs.setCharPref("addonVersion", "26.6");
},
lEventTimerSync : { notify: function(lTimerSync) {
......@@ -133,8 +133,7 @@ if ("undefined" == typeof(ovl_synchro)) {
// observers are needed not only UI but also for synchro
// there is no unregister launched
cardBookPrefObserver.register();
cardbookObserver.register();
cardBookObserver.register();
// once openDB is finished, it will fire an event
// and then load the cache and maybe sync the accounts
......
......@@ -121,6 +121,8 @@ if ("undefined" == typeof(wdw_cardbook)) {
},
loadFirstWindow: function () {
cardBookPrefObserver.register();
cardBookWindowObserver.register();
// for versions <= 20.4
wdw_cardbook.migrateIcons();
wdw_cardbook.setSyncControl();
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Synchronizace kvůli opakované synchronizaci …
fileEmpty=Soubor %S je prázdný
fileAlreadyOpen=Soubor %S je již v Cardbooku otevřen
directoryAlreadyOpen=Adresář %S je již v CardBooku otevřen
parsingCardError=%1$S : Chyba při parsování kontaktu : \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Chyba při parsování kontaktu : \n%2$S \n%3$S
addressbookOpened=%S : Adresář otevřen
addressbookModified=%S : Adresář změněn
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Synkroniserer pga. periodisk synkonisering …
fileEmpty=Fil %S er tom
fileAlreadyOpen=Fil %S er allerede åben i CardBook
directoryAlreadyOpen=Katalog %S er allerede åben i CardBook
parsingCardError=%1$S : Fejl ved fortolkning af kontakt : \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Fejl ved fortolkning af kontakt : \n%2$S \n%3$S
addressbookOpened=%S : Adressebog åbnet
addressbookModified=%S : Adressebog ændret
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S: Synchronisiere aufgrund des periodischen Syncs …
fileEmpty=Datei %S ist leer
fileAlreadyOpen=Datei %S ist bereits geöffnet
directoryAlreadyOpen=Verzeichnis %S ist bereits geöffnet
parsingCardError=%1$S: Fehler beim Parsen des Kontakts: \r\n%2$S \r\n%3$S
parsingCardError=%1$S: Fehler beim Parsen des Kontakts: \n%2$S \n%3$S
addressbookOpened=%S : Adressbuch geöffnet
addressbookModified=%S : Adressbuch geändert
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Synchronizing due to periodic synchronization settings
fileEmpty=File %S is empty
fileAlreadyOpen=File %S is already open in CardBook
directoryAlreadyOpen=Directory %S is already open in CardBook
parsingCardError=%1$S : Error when parsing contact : \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Error when parsing contact : \n%2$S \n%3$S
addressbookOpened=%S : Address book opened
addressbookModified=%S : Address book modified
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Synchronisation à cause du traitement de synchronisati
fileEmpty=Fichier %S vide
fileAlreadyOpen=Fichier %S déjà ouvert par CardBook
directoryAlreadyOpen=Répertoire %S déjà ouvert par CardBook
parsingCardError=%1$S : Erreur lors de la traduction de la carte de visite : \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Erreur lors de la traduction de la carte de visite : \n%2$S \n%3$S
addressbookOpened=%S : Carnet d'adresses ouvert
addressbookModified=%S : Carnet d'adresses modifié
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Sinkronizacija zbog periodičnog sinkronizacije …
fileEmpty=Datoteka %S prazno je
fileAlreadyOpen=Datoteka %S već je otvoren u Kontaktima
directoryAlreadyOpen=Imenik %S već je otvoren u Kontaktima
parsingCardError=%1$S : Pogreška prilikom raščlanjivanja kontakta : \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Pogreška prilikom raščlanjivanja kontakta : \n%2$S \n%3$S
addressbookOpened=%S : Otvorena je adresar
addressbookModified=%S : Izmijenjena adresara
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Szinkronizálása miatt időszakos szinkronizálás …
fileEmpty=%S fájl üres
fileAlreadyOpen=%S fájl már meg van nyitva névjegyzékben
directoryAlreadyOpen=%S könyvtár már meg van nyitva névjegyzékben
parsingCardError=%1$S : Névjegy elemzési hiba : \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Névjegy elemzési hiba : \n%2$S \n%3$S
addressbookOpened=%S : Címjegyzék nyitott
addressbookModified=%S : Címjegyzék módosított
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Sinkronisasi karena pengaturan sinkronisasi berkala …
fileEmpty=File %S kosong
fileAlreadyOpen=File %S sudah terbuka di Kontak
directoryAlreadyOpen=Direktori %S sudah terbuka di Kontak
parsingCardError=%1$S : Kesalahan saat menguraikan kontak : \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Kesalahan saat menguraikan kontak : \n%2$S \n%3$S
addressbookOpened=%S : Buku alamat dibuka
addressbookModified=%S : Buku alamat diubah
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Sincronizzazione periodica in corso
fileEmpty=Il file %S è vuoto
fileAlreadyOpen=Il file %S è già aperto in CardBook
directoryAlreadyOpen=La cartella %S è già aperta in CardBook
parsingCardError=%1$S : Errore nel parsing del contatto: \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Errore nel parsing del contatto: \n%2$S \n%3$S
addressbookOpened=%S : Rubrica aperta
addressbookModified=%S : Rubrica modificata
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S: 주기적 동기화 설정으로 인한 동기화…
fileEmpty=파일 %S이 비어 있습니다
fileAlreadyOpen=파일 %S이 이미 연락처에서 열려 있습니다
directoryAlreadyOpen=디렉토리 %S는 이미 연락처에서 열려 있습니다
parsingCardError=%1$S: 연락처를 파싱하는 중 오류가 발생했습니다: \r\n%2$S \r\n%3$S
parsingCardError=%1$S: 연락처를 파싱하는 중 오류가 발생했습니다: \n%2$S \n%3$S
addressbookOpened=%S: 주소록 열림
addressbookModified=%S: 주소록 수정 된
......@@ -273,9 +273,9 @@ noBirthdaysFoundMessage=%S까지 기념일을 찾지 못했습니다
noEmailFoundMessage=%S에 대한 이메일이 없습니다
eventEntryTitleMessage=%1$S 기념일, 나이: %2$S
calendarNotFoundTitle=기념일 알림 - 번개(Lightning)와의 동기화가 중단되었습니다
calendarNotFoundMessage=캘린더 『%S』을 (를) 찾을 수 없습니다.\r\n번개(Lightning)와의 동기화가 중단되었습니다
calendarNotFoundMessage=캘린더 『%S』을 (를) 찾을 수 없습니다.\n번개(Lightning)와의 동기화가 중단되었습니다
calendarNotWritableTitle=기념일 알림 - 번개(Lightning)와의 동기화가 중단되었습니다
calendarNotWritableMessage=『%S』캘린더에 쓸 수 없습니다 (읽기 전용 또는 오프라인입니까?)\r\n번개(Lightning)와의 동기화가 중단되었습니다
calendarNotWritableMessage=『%S』캘린더에 쓸 수 없습니다 (읽기 전용 또는 오프라인입니까?)\n번개(Lightning)와의 동기화가 중단되었습니다
errorAttachingFile=가상 카드 연결: 메일에 가상 카드 (vCard)를 첨부 할 파일을 생성 할 수 없습니다: %1$S (%2$S)
errorFiltersAddEmailsABNotEnabled=필터: 이메일 추가: %1$S 작업, 주소록을 사용할 수 없음: %2$S
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Sinchronizavimas dėl periodinio sinchronizavimo
fileEmpty=Failas %S yra tuščias
fileAlreadyOpen=Failas %S jau yra atidarytas į Kontaktuose
directoryAlreadyOpen=Katalogas %S jau yra atidarytas Kontaktuose
parsingCardError=%1$S : Klaida nagrinėjant kontaktą : \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Klaida nagrinėjant kontaktą : \n%2$S \n%3$S
addressbookOpened=%S : Adresų knyga atidaryta
addressbookModified=%S : Adresų knyga pakeista
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Uitvoeren van periodieke synchronisatie…
fileEmpty=Bestand %S is leeg
fileAlreadyOpen=Bestand %S is al geopend in CardBook
directoryAlreadyOpen=Map %S is al geopend in CardBook
parsingCardError=%1$S : Fout bij analyse van contactpersoon-gegevens: \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Fout bij analyse van contactpersoon-gegevens: \n%2$S \n%3$S
addressbookOpened=%S : Adresboek geopened
addressbookModified=%S : Adresboek gewijzigd
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Synchronizacja z powodu okresowej synchronizacji…
fileEmpty=Plik %S jest pusty
fileAlreadyOpen=Plik %S już jest otwarty w CardBook
directoryAlreadyOpen=Katalog %S już jest otwarty w CardBook
parsingCardError=%1$S : Błąd przetwarzania wizytówki: \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Błąd przetwarzania wizytówki: \n%2$S \n%3$S
addressbookOpened=%S : Książka adresowa otwarta
addressbookModified=%S : Książka adresowa zmodyfikowana
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Sincronizar sincronização periodico …
fileEmpty=Ficheiro %S está vazio
fileAlreadyOpen=Ficheiro %S já aberto no CardBook
directoryAlreadyOpen=A directoria %S já está aberta no CardBook
parsingCardError=%1$S : Erro na análise do cartão : \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Erro na análise do cartão : \n%2$S \n%3$S
addressbookOpened=%S : Agenda aberta
addressbookModified=%S : Agenda modificada
......
......@@ -17,7 +17,7 @@
<!ENTITY buttonRemoveFromListLabel "Remover">
<!ENTITY buttonRemoveFromListAccesskey "O">
<!ENTITY buttonGuessFromListLabel "Escolha">
<!ENTITY buttonGuessFromListAccesskey "G">
<!ENTITY buttonGuessFromListAccesskey "E">
<!ENTITY loadTemplateLabel "Selecionar modelo">
<!ENTITY loadTemplateAccesskey "m">
<!ENTITY saveTemplateLabel "Gravar modelo">
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Sincronizarea datorată sincronizării periodice …
fileEmpty=Fișierul %S este gol
fileAlreadyOpen=Fișierul %S este deja deschis în Contacte
directoryAlreadyOpen=Directorul %S este deja deschis în Contacte
parsingCardError=%1$S : Eroare la parsarea unui contact : \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Eroare la parsarea unui contact : \n%2$S \n%3$S
addressbookOpened=%S : Agendă deschisă
addressbookModified=%S : Agendă modificată
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Синхронизация по расписанию…
fileEmpty=Файл «%S» пустой
fileAlreadyOpen=Файл «%S» уже открыт в CardBook
directoryAlreadyOpen=Каталог «%S» уже открыт в CardBook
parsingCardError=%1$S : Ошибка разбора контакта : \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Ошибка разбора контакта : \n%2$S \n%3$S
addressbookOpened=%S : Адресная книга открыта
addressbookModified=%S : Адресная книга изменена
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S: Sinhroniziranje zaradi občasne sinhronizacije …
fileEmpty=Datoteka %S je prazna
fileAlreadyOpen=Datoteka %S je že odprta v CardBooku
directoryAlreadyOpen=Mapa %S je že odprta v CardBooku
parsingCardError=%1$S: napaka pri razčlenjevanju stika: \r\n%2$S \r\n%3$S
parsingCardError=%1$S: napaka pri razčlenjevanju stika: \n%2$S \n%3$S
addressbookOpened=%S: imenik je odprt
addressbookModified=%S: imenik je spremenjen
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Synkronisering på grund av periodisk synkronisering
fileEmpty=Filen %S är tom
fileAlreadyOpen=Filen %S är redan öppen i Kontakter
directoryAlreadyOpen=Katalog %S är redan öppet i Kontakter
parsingCardError=%1$S : Fel vid analysering av kontakt : \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Fel vid analysering av kontakt : \n%2$S \n%3$S
addressbookOpened=%S : Adressbok öppnad
addressbookModified=%S : Adressbok ändrad
......
......@@ -159,7 +159,7 @@ periodicSyncSyncing=%S : Đồng bộ hóa do cài đặt đồng bộ hóa đ
fileEmpty=Tập tin %S rỗng
fileAlreadyOpen=Tập tin %S đã mở trong Danh bạ
directoryAlreadyOpen=Danh mục %S đã mở trong Danh bạ
parsingCardError=%1$S : Lỗi khi phân tích liên hệ : \r\n%2$S \r\n%3$S
parsingCardError=%1$S : Lỗi khi phân tích liên hệ : \n%2$S \n%3$S
addressbookOpened=%S : Đã mở sổ địa chỉ
addressbookModified=%S : Đã sửa đổi sổ địa chỉ
......
......@@ -6,7 +6,7 @@
<Description about="urn:mozilla:install-manifest">
<em:id>cardbook@vigneau.philippe</em:id>
<em:name>CardBook</em:name>
<em:version>26.5</em:version>
<em:version>26.6</em:version>
<em:type>2</em:type>
<em:description>vCard Address Book</em:description>
<em:creator>Philippe Vigneau</em:creator>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment