1
0
mirror of https://github.com/owncloudarchive/contacts.git synced 2024-11-29 11:24:11 +01:00

Merge branch 'master' into filesystem

This commit is contained in:
Robin Appelman 2012-11-15 00:38:46 +01:00
commit 2194e944b5
64 changed files with 352 additions and 542 deletions

View File

@ -18,17 +18,21 @@ if(is_null($id)) {
exit();
}
$vcard = OC_Contacts_App::getContactVCard( $id );
foreach($vcard->children as $property) {
if($property->name == 'CATEGORIES') {
$checksum = md5($property->serialize());
OCP\JSON::success(array(
'data' => array(
'value' => $property->value,
'checksum' => $checksum,
)));
exit();
if(isset($vcard->CATEGORIES)) {
foreach($vcard->children as $property) {
if($property->name == 'CATEGORIES') {
$checksum = md5($property->serialize());
OCP\JSON::success(array(
'data' => array(
'value' => $property->value,
'checksum' => $checksum,
)));
exit();
}
}
}
OCP\JSON::error(array(
'data' => array(
'message' => OC_Contacts_App::$l10n->t('Error setting checksum.'))));
OCP\JSON::error(array(
'data' => array(
'message' => OC_Contacts_App::$l10n->t('Error setting checksum.'))));
} else {
OCP\JSON::success();
}

View File

@ -41,7 +41,7 @@ foreach($contacts as $contact) {
debug('Before delete: '.print_r($categories, true));
$catman = new OC_VCategories('contacts');
$catman = new OC_VCategories('contact');
$catman->delete($categories, $cards);
debug('After delete: '.print_r($catman->categories(), true));
OC_Contacts_VCard::updateDataByID($cards);

View File

@ -55,9 +55,7 @@ if(!$lastmodified) {
$lastmodified = new DateTime();
}
$permissions = OCP\Share::PERMISSION_CREATE | OCP\Share::PERMISSION_READ
| OCP\Share::PERMISSION_UPDATE | OCP\Share::PERMISSION_DELETE
| OCP\Share::PERMISSION_SHARE;
$permissions = OCP\PERMISSION_ALL;
$addressbook = OC_Contacts_Addressbook::find($card['addressbookid']);
if ($addressbook['userid'] != OCP\User::getUser()) {
$sharedAddressbook = OCP\Share::getItemSharedWithBySource('addressbook', $card['addressbookid']);

View File

@ -41,6 +41,8 @@ foreach($active_addressbooks as $addressbook) {
= array('contacts' => array('type' => 'book',));
$contacts_addressbook[$addressbook['id']]['displayname']
= $addressbook['displayname'];
$contacts_addressbook[$addressbook['id']]['description']
= $addressbook['description'];
$contacts_addressbook[$addressbook['id']]['permissions']
= $addressbook['permissions'];
$contacts_addressbook[$addressbook['id']]['owner']

View File

@ -0,0 +1,63 @@
<?php
/**
* Copyright (c) 2011 Thomas Tanghus <thomas@tanghus.net>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
function cmpcategories($a, $b)
{
if (strtolower($a['name']) == strtolower($b['name'])) {
return 0;
}
return (strtolower($a['name']) < strtolower($b['name'])) ? -1 : 1;
}
function cmpcontacts($a, $b)
{
if (strtolower($a['fullname']) == strtolower($b['fullname'])) {
return 0;
}
return (strtolower($a['fullname']) < strtolower($b['fullname'])) ? -1 : 1;
}
OCP\JSON::checkLoggedIn();
OCP\JSON::checkAppEnabled('contacts');
$offset = isset($_GET['startat']) ? $_GET['startat'] : null;
$category = isset($_GET['category']) ? $_GET['category'] : null;
$list = array();
$catmgr = OC_Contacts_App::getVCategories();
if(is_null($category)) {
$categories = $catmgr->categories(OC_VCategories::FORMAT_MAP);
uasort($categories, 'cmpcategories');
foreach($categories as $category) {
$list[$category['id']] = array(
'name' => $category['name'],
'contacts' => $catmgr->itemsForCategory(
$category['name'],
array(
'tablename' => '*PREFIX*contacts_cards',
'fields' => array('id', 'addressbookid', 'fullname'),
),
50,
$offset)
);
uasort($list[$category['id']]['contacts'], 'cmpcontacts');
}
} else {
$list[$category] = $catmgr->itemsForCategory(
$category,
'*PREFIX*contacts_cards',
50,
$offset);
uasort($list[$category], 'cmpcontacts');
}
session_write_close();
OCP\JSON::success(array('data' => array('categories' => $list)));

View File

@ -118,6 +118,11 @@ if(!$value) {
break;
case 'CATEGORIES':
debug('Setting string:'.$name.' '.$value);
$catmgr = OC_Contacts_App::getVCategories();
$catmgr->purgeObject($id, 'contact');
foreach(array_map('trim', explode(',', $value)) as $category) {
$catmgr->addToCategory($id, $category);
}
$vcard->children[$line]->setValue($value);
break;
case 'EMAIL':

View File

@ -341,7 +341,7 @@ OC.Contacts={
bookid = parseInt(params.aid);
}
if(!bookid || !newid) {
bookid = parseInt($('#contacts h3').first().data('id'));
bookid = parseInt($('#contacts h3.addressbook').first().data('id'));
newid = parseInt($('#contacts').find('li[data-bookid="'+bookid+'"]').first().data('id'));
}
//console.log('newid: ' + newid + ' bookid: ' +bookid);
@ -356,7 +356,7 @@ OC.Contacts={
data:jsondata.data
});
}
$('#contacts li[data-id="'+newid+'"],#contacts h3[data-id="'+bookid+'"]').addClass('active');
$('#contacts li[data-id="'+newid+'"],#contacts h3.addressbook[data-id="'+bookid+'"]').addClass('active');
$('#contacts ul[data-id="'+bookid+'"]').slideDown(300);
OC.Contacts.Card.loadContact(jsondata.data, bookid);
OC.Contacts.Contacts.scrollTo(newid);
@ -379,7 +379,7 @@ OC.Contacts={
$('#firstrun').show();
$('#card').hide();
}
$('#contacts h3[data-id="'+bookid+'"]').addClass('active');
$('#contacts h3.addressbook[data-id="'+bookid+'"]').addClass('active');
},
setEnabled:function(enabled) {
//console.log('setEnabled', enabled);
@ -413,7 +413,7 @@ OC.Contacts={
//console.log('Adding ' + fn);
$('#firstrun').hide();
$('#card').show();
aid = aid?aid:$('#contacts h3.active').first().data('id');
aid = aid?aid:$('#contacts h3.addressbook.active').first().data('id');
$.post(OC.filePath('contacts', 'ajax', 'contact/add.php'), { n: n, fn: fn, aid: aid, isnew: isnew },
function(jsondata) {
if (jsondata.status == 'success'){
@ -648,19 +648,19 @@ OC.Contacts={
$('#fn_select option').remove();
var names = [this.fn, this.fullname, this.givname + ' ' + this.famname, this.famname + ' ' + this.givname, this.famname + ', ' + this.givname];
if(this.data.ORG) {
names[names.length]=this.data.ORG[0].value;
names.push(this.data.ORG[0].value);
}
$.each(names, function(key, value) {
$.each($.unique(names), function(key, value) {
$('#fn_select')
.append($('<option></option>')
.text(value));
});
$('#fn_select').combobox('value', this.fn);
$('#contact_identity').find('*[data-element="N"]').data('checksum', this.data.N[0]['checksum']);
if(this.data.FN) {
$('#contact_identity').find('*[data-element="FN"]').data('checksum', this.data.FN[0]['checksum']);
}
$('#contact_identity').show();
$('#fn_select').combobox('value', this.fn);
$('#contact_identity').find('*[data-element="N"]').data('checksum', this.data.N[0]['checksum']);
if(this.data.FN) {
$('#contact_identity').find('*[data-element="FN"]').data('checksum', this.data.FN[0]['checksum']);
}
$('#contact_identity').show();
},
hasCategory:function(category) {
if(this.data.CATEGORIES) {
@ -676,12 +676,20 @@ OC.Contacts={
},
categoriesChanged:function(newcategories) { // Categories added/deleted.
categories = $.map(newcategories, function(v) {return v;});
$('#contacts h3.category').each(function() {
if(categories.indexOf($(this).text()) === -1) {
$(this).next('ul').remove();
$(this).remove();
}
});
$('#categories').multiple_autocomplete('option', 'source', categories);
var categorylist = $('#categories_value').find('input');
$.getJSON(OC.filePath('contacts', 'ajax', 'categories/categoriesfor.php'),{'id':OC.Contacts.Card.id},function(jsondata){
if(jsondata.status == 'success'){
$('#categories_value').data('checksum', jsondata.data.checksum);
categorylist.val(jsondata.data.value);
if(jsondata.status == 'success') {
if(jsondata.data) {
$('#categories_value').data('checksum', jsondata.data.checksum);
categorylist.val(jsondata.data.value);
}
} else {
OC.dialogs.alert(jsondata.data.message, t('contacts', 'Error'));
}
@ -732,6 +740,9 @@ OC.Contacts={
var name = container.data('element');
var fields = container.find('input.contacts_property,select.contacts_property').serializeArray();
switch(name) {
case 'CATEGORIES':
OC.Contacts.Contacts.updateCategories(this.id, $('#categories').val());
break;
case 'FN':
var nempty = true;
for(var i in OC.Contacts.Card.data.N[0]['value']) {
@ -968,11 +979,11 @@ OC.Contacts={
var tmp = [this.fullname, this.givname + ' ' + this.famname, this.famname + ' ' + this.givname, this.famname + ', ' + this.givname];
var names = new Array();
for(var name in tmp) {
if(names.indexOf(tmp[name]) == -1) {
if(tmp[name] && names.indexOf(tmp[name]) == -1) {
names.push(tmp[name]);
}
}
$.each(names, function(key, value) {
$.each($.unique(names), function(key, value) {
$('#fn_select')
.append($('<option></option>')
.text(value));
@ -1636,6 +1647,37 @@ OC.Contacts={
return false;
}
},
updateCategories:function(id, catstr) {
var categories = $.map(catstr.split(','), function(category) {return category.trim();});
// Not pretty, but only proof of concept
$('#contacts ul.category').each(function() {
if(categories.indexOf($(this).prev('h3').text()) === -1) {
$(this).find('li[data-id="' + id + '"]').remove();
} else {
if($(this).find('li[data-id="' + id + '"]').length === 0) {
var contacts = $(this).children();
var contact = $('<li data-id="'+id+'" data-categoryid="'+$(this).data('id')
+ '" role="button"><a href="'+OC.linkTo('contacts', 'index.php')+'&id='
+ id+'" style="background: url('+OC.filePath('contacts', '', 'thumbnail.php')
+ '?id='+id+') no-repeat scroll 0% 0% transparent;">'
+ OC.Contacts.Card.fn+'</a></li>');
var added = false;
contacts.each(function() {
if($(this).text().toLowerCase().localeCompare(OC.Contacts.Card.fn.toLowerCase()) > 0) {
$(this).before(contact);
added = true;
return false; // break out of loop
}
});
if(!added || !contacts.length) {
$(this).append(contact);
}
}
}
});
},
/**
* @params params An object with the properties 'contactlist':a jquery object of the ul to insert into,
* 'contacts':a jquery object of all items in the list and either 'data': an object with the properties
@ -1747,7 +1789,7 @@ OC.Contacts={
if(!params) { params = {}; }
if(!params.start) {
if(params.aid) {
$('#contacts h3[data-id="'+params.aid+'"],#contacts ul[data-id="'+params.aid+'"]').remove();
$('#contacts h3.addressbook[data-id="'+params.aid+'"],#contacts ul[data-id="'+params.aid+'"]').remove();
} else {
$('#contacts').empty();
}
@ -1760,27 +1802,27 @@ OC.Contacts={
if(params.aid) {
opts['aid'] = params.aid;
}
$.getJSON(OC.filePath('contacts', 'ajax', 'contact/list.php'),opts,function(jsondata){
$.getJSON(OC.filePath('contacts', 'ajax', 'contact/list.php'),opts,function(jsondata) {
if(jsondata.status == 'success'){
var books = jsondata.data.entries;
$.each(books, function(b, book) {
if($('#contacts h3[data-id="'+b+'"]').length == 0) {
if($('#contacts h3.addressbook[data-id="'+b+'"]').length == 0) {
firstrun = true;
var sharedindicator = book.owner == OC.currentUser ? ''
: '<img class="shared svg" src="'+OC.imagePath('core', 'actions/shared')+'" title="'+t('contacts', 'Shared by ')+book.owner+'" />'
if($('#contacts h3').length == 0) {
if($('#contacts h3.addressbook').length == 0) {
$('#contacts').html('<h3 class="addressbook" data-id="'
+ b + '" data-permissions="' + book.permissions + '">' + book.displayname
+ sharedindicator + '</h3><ul class="contacts hidden" data-id="'+b+'" data-permissions="'
+ sharedindicator + '</h3><ul class="contacts addressbook hidden" data-id="'+b+'" data-permissions="'
+ book.permissions + '"></ul>');
} else {
if(!$('#contacts h3[data-id="' + b + '"]').length) {
if(!$('#contacts h3.addressbook[data-id="' + b + '"]').length) {
var item = $('<h3 class="addressbook" data-id="'
+ b + '" data-permissions="' + book.permissions + '">'
+ book.displayname+sharedindicator+'</h3><ul class="contacts hidden" data-id="' + b
+ book.displayname+sharedindicator+'</h3><ul class="contacts addressbook hidden" data-id="' + b
+ '" data-permissions="' + book.permissions + '"></ul>');
var added = false;
$('#contacts h3').each(function(){
$('#contacts h3.addressbook').each(function(){
if ($(this).text().toLowerCase().localeCompare(book.displayname.toLowerCase()) > 0) {
$(this).before(item).fadeIn('fast');
added = true;
@ -1792,14 +1834,14 @@ OC.Contacts={
}
}
}
$('#contacts h3[data-id="'+b+'"]').on('click', function(event) {
$('#contacts h3').removeClass('active');
$('#contacts h3.addressbook[data-id="'+b+'"]').on('click', function(event) {
$('#contacts h3.addressbook').removeClass('active');
$(this).addClass('active');
$('#contacts ul[data-id="'+b+'"]').slideToggle(300);
return false;
});
var accept = 'li:not([data-bookid="'+b+'"]),h3:not([data-id="'+b+'"])';
$('#contacts h3[data-id="'+b+'"],#contacts ul[data-id="'+b+'"]').droppable({
$('#contacts h3.addressbook[data-id="'+b+'"],#contacts ul[data-id="'+b+'"]').droppable({
drop: OC.Contacts.Contacts.drop,
activeClass: 'ui-state-hover',
accept: accept
@ -1843,6 +1885,62 @@ OC.Contacts={
} else {
OC.Contacts.notify({message:t('contacts', 'Error')+': '+jsondata.data.message});
}
$.getJSON(OC.filePath('contacts', 'ajax', 'contact/listbycategory.php'),opts,function(jsondata) {
if(jsondata.status == 'success') {
var categories = jsondata.data.categories;
$.each(categories, function(catid, category) {
console.log('category', catid, category.name);
if(!$('#contacts h3.category[data-id="' + catid + '"]').length) {
var item = $('<h3 class="category" data-id="' + catid + '">'
+ category.name + '</h3><ul class="contacts category hidden" data-id="' + catid + '"></ul>');
var added = false;
$('#contacts h3.category').each(function(){
if ($(this).text().toLowerCase().localeCompare(category.name.toLowerCase()) > 0) {
$(this).before(item).fadeIn('fast');
added = true;
return false;
}
});
if(!added) {
$('#contacts').append(item);
}
$('#contacts h3.category[data-id="'+catid+'"]').on('click', function(event) {
console.log('click');
$('#contacts h3.category').removeClass('active');
$(this).addClass('active');
$('#contacts ul.category[data-id="'+catid+'"]').slideToggle(300);
return false;
});
var contactlist = $('#contacts ul.category[data-id="'+catid+'"]');
var contacts = $('#contacts ul.category[data-id="'+catid+'"] li');
for(var c in category.contacts) {
if(category.contacts[c].id == undefined) { continue; }
if(!$('ul.category[data-id="'+catid+'"] li[data-id="'+category.contacts[c]['id']+'"]').length) {
var contact = $('<li data-id="'+category.contacts[c].id+'" data-categoryid="'+catid
+ '" role="button"><a href="'+OC.linkTo('contacts', 'index.php')+'&id='
+ category.contacts[c].id+'" style="background: url('+OC.filePath('contacts', '', 'thumbnail.php')
+ '?id='+category.contacts[c].id+') no-repeat scroll 0% 0% transparent;">'
+ category.contacts[c].fullname+'</a></li>');
var added = false;
var name = category.contacts[c].fullname.toLowerCase();
if(contacts.length) {
contacts.each(function() {
if ($(this).text().toLowerCase().localeCompare(name) > 0) {
$(this).before(contact);
added = true;
return false;
}
});
}
if(!added || !params.contacts) {
contactlist.append(contact);
}
}
}
}
});
}
});
});
},
refreshThumbnail:function(id){
@ -1864,6 +1962,7 @@ $(document).ready(function(){
OCCategories.changed = OC.Contacts.Card.categoriesChanged;
OCCategories.app = 'contacts';
OCCategories.type = 'contact';
var ninjahelp = $('#ninjahelp');
@ -1928,7 +2027,7 @@ $(document).ready(function(){
OC.Contacts.Contacts.nextAddressbook();
break;
case 79: // o
var aid = $('#contacts h3.active').first().data('id');
var aid = $('#contacts h3.addressbook.active').first().data('id');
if(aid) {
$('#contacts ul[data-id="'+aid+'"]').slideToggle(300);
}

View File

@ -18,10 +18,10 @@
"Fax" => "الفاكس",
"Video" => "الفيديو",
"Pager" => "الرنان",
"Birthday" => "تاريخ الميلاد",
"Contact" => "معرفه",
"Add Contact" => "أضف شخص ",
"Organization" => "المؤسسة",
"Birthday" => "تاريخ الميلاد",
"Preferred" => "مفضل",
"Phone" => "الهاتف",
"Email" => "البريد الالكتروني",

View File

@ -126,19 +126,6 @@
"Video" => "Vídeo",
"Pager" => "Paginador",
"Internet" => "Internet",
"Birthday" => "Aniversari",
"Business" => "Negocis",
"Call" => "Trucada",
"Clients" => "Clients",
"Deliverer" => "Emissari",
"Holidays" => "Vacances",
"Ideas" => "Idees",
"Journey" => "Viatge",
"Jubilee" => "Aniversari",
"Meeting" => "Reunió",
"Personal" => "Personal",
"Projects" => "Projectes",
"Questions" => "Preguntes",
"{name}'s Birthday" => "Aniversari de {name}",
"Contact" => "Contacte",
"You do not have the permissions to add contacts to this addressbook." => "No teniu permisos per afegir contactes a aquesta llibreta d'adreces.",
@ -176,6 +163,7 @@
"Web site" => "Adreça web",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Vés a la web",
"Birthday" => "Aniversari",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "Grups",
"Separate groups with commas" => "Separeu els grups amb comes",

View File

@ -126,19 +126,6 @@
"Video" => "Video",
"Pager" => "Pager",
"Internet" => "Internet",
"Birthday" => "Narozeniny",
"Business" => "Pracovní",
"Call" => "Volat",
"Clients" => "Klienti",
"Deliverer" => "Dodavatel",
"Holidays" => "Svátky",
"Ideas" => "Nápady",
"Journey" => "Cestování",
"Jubilee" => "Jubileum",
"Meeting" => "Schůze",
"Personal" => "Osobní",
"Projects" => "Projekty",
"Questions" => "Otázky",
"{name}'s Birthday" => "Narozeniny {name}",
"Contact" => "Kontakt",
"You do not have the permissions to add contacts to this addressbook." => "Nemáte práva pro přidání kontaktů do této knihy adres.",
@ -176,6 +163,7 @@
"Web site" => "Webová stránka",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Přejít na webovou stránku",
"Birthday" => "Narozeniny",
"dd-mm-yyyy" => "dd. mm. yyyy",
"Groups" => "Skupiny",
"Separate groups with commas" => "Oddělte skupiny čárkami",

View File

@ -126,19 +126,6 @@
"Video" => "Video",
"Pager" => "Personsøger",
"Internet" => "Internet",
"Birthday" => "Fødselsdag",
"Business" => "Firma",
"Call" => "Ring op",
"Clients" => "Klienter",
"Deliverer" => "Udbringer",
"Holidays" => "Ferie",
"Ideas" => "Ideer",
"Journey" => "Rejse",
"Jubilee" => "Jubilæum",
"Meeting" => "Møde",
"Personal" => "Personligt",
"Projects" => "Projekter",
"Questions" => "Spørgsmål",
"{name}'s Birthday" => "{name}s fødselsdag",
"Contact" => "Kontaktperson",
"You do not have the permissions to add contacts to this addressbook." => "Du har ikke rettigheder til at tilføje kontaktpersoner til denne adressebog",
@ -176,6 +163,7 @@
"Web site" => "Hjemmeside",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Gå til web site",
"Birthday" => "Fødselsdag",
"dd-mm-yyyy" => "dd-mm-åååå",
"Groups" => "Grupper",
"Separate groups with commas" => "Opdel gruppenavne med kommaer",

View File

@ -126,19 +126,6 @@
"Video" => "Video",
"Pager" => "Pager",
"Internet" => "Internet",
"Birthday" => "Geburtstag",
"Business" => "Geschäftlich",
"Call" => "Anruf",
"Clients" => "Kunden",
"Deliverer" => "Lieferant",
"Holidays" => "Feiertage",
"Ideas" => "Ideen",
"Journey" => "Reise",
"Jubilee" => "Jubiläum",
"Meeting" => "Besprechung",
"Personal" => "Persönlich",
"Projects" => "Projekte",
"Questions" => "Fragen",
"{name}'s Birthday" => "Geburtstag von {name}",
"Contact" => "Kontakt",
"You do not have the permissions to add contacts to this addressbook." => "Du besitzt nicht die erforderlichen Rechte, diesem Adressbuch Kontakte hinzuzufügen.",
@ -176,6 +163,7 @@
"Web site" => "Webseite",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Webseite aufrufen",
"Birthday" => "Geburtstag",
"dd-mm-yyyy" => "dd.mm.yyyy",
"Groups" => "Gruppen",
"Separate groups with commas" => "Gruppen mit Komma getrennt",

View File

@ -126,19 +126,6 @@
"Video" => "Video",
"Pager" => "Pager",
"Internet" => "Internet",
"Birthday" => "Geburtstag",
"Business" => "Geschäftlich",
"Call" => "Anruf",
"Clients" => "Kunden",
"Deliverer" => "Lieferant",
"Holidays" => "Feiertage",
"Ideas" => "Ideen",
"Journey" => "Reise",
"Jubilee" => "Jubiläum",
"Meeting" => "Besprechung",
"Personal" => "Persönlich",
"Projects" => "Projekte",
"Questions" => "Fragen",
"{name}'s Birthday" => "Geburtstag von {name}",
"Contact" => "Kontakt",
"You do not have the permissions to add contacts to this addressbook." => "Sie besitzen nicht die erforderlichen Rechte, diesem Adressbuch Kontakte hinzuzufügen.",
@ -176,6 +163,7 @@
"Web site" => "Webseite",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Webseite aufrufen",
"Birthday" => "Geburtstag",
"dd-mm-yyyy" => "dd.mm.yyyy",
"Groups" => "Gruppen",
"Separate groups with commas" => "Gruppen mit Komma getrennt",

View File

@ -126,19 +126,6 @@
"Video" => "Βίντεο",
"Pager" => "Βομβητής",
"Internet" => "Διαδίκτυο",
"Birthday" => "Γενέθλια",
"Business" => "Επιχείρηση",
"Call" => "Κάλεσε",
"Clients" => "Πελάτες",
"Deliverer" => "Προμηθευτής",
"Holidays" => "Διακοπές",
"Ideas" => "Ιδέες",
"Journey" => "Ταξίδι",
"Jubilee" => "Ιωβηλαίο",
"Meeting" => "Συνάντηση",
"Personal" => "Προσωπικό",
"Projects" => "Έργα",
"Questions" => "Ερωτήσεις",
"{name}'s Birthday" => "Τα Γεννέθλια του/της {name}",
"Contact" => "Επαφή",
"You do not have the permissions to add contacts to this addressbook." => "Δεν έχετε δικαιώματα να προσθέσετε επαφές σε αυτό το βιβλίο διευθύνσεων.",
@ -176,6 +163,7 @@
"Web site" => "Ιστότοπος",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Πήγαινε στον ιστότοπο",
"Birthday" => "Γενέθλια",
"dd-mm-yyyy" => "ΗΗ-ΜΜ-ΕΕΕΕ",
"Groups" => "Ομάδες",
"Separate groups with commas" => "Διαχώρισε τις ομάδες με κόμμα ",

View File

@ -120,19 +120,6 @@
"Video" => "Videaĵo",
"Pager" => "Televokilo",
"Internet" => "Interreto",
"Birthday" => "Naskiĝotago",
"Business" => "Negoco",
"Call" => "Voko",
"Clients" => "Klientoj",
"Deliverer" => "Liveranto",
"Holidays" => "Ferioj",
"Ideas" => "Ideoj",
"Journey" => "Vojaĝo",
"Jubilee" => "Jubileo",
"Meeting" => "Kunveno",
"Personal" => "Persona",
"Projects" => "Projektoj",
"Questions" => "Demandoj",
"{name}'s Birthday" => "Naskiĝtago de {name}",
"Contact" => "Kontakto",
"You do not have the permissions to add contacts to this addressbook." => "Vi ne havas la permeson aldoni kontaktojn al ĉi tiu adresaro.",
@ -167,6 +154,7 @@
"Web site" => "TTT-ejo",
"http://www.somesite.com" => "http://www.iuejo.com",
"Go to web site" => "Iri al TTT-ejon",
"Birthday" => "Naskiĝotago",
"dd-mm-yyyy" => "yyyy-mm-dd",
"Groups" => "Grupoj",
"Separate groups with commas" => "Disigi grupojn per komoj",

View File

@ -126,19 +126,6 @@
"Video" => "Vídeo",
"Pager" => "Localizador",
"Internet" => "Internet",
"Birthday" => "Cumpleaños",
"Business" => "Negocio",
"Call" => "Llamada",
"Clients" => "Clientes",
"Deliverer" => "Mensajero",
"Holidays" => "Vacaciones",
"Ideas" => "Ideas",
"Journey" => "Jornada",
"Jubilee" => "Aniversario",
"Meeting" => "Reunión",
"Personal" => "Personal",
"Projects" => "Proyectos",
"Questions" => "Preguntas",
"{name}'s Birthday" => "Cumpleaños de {name}",
"Contact" => "Contacto",
"You do not have the permissions to add contacts to this addressbook." => "No tiene permisos para añadir contactos a esta libreta de direcciones.",
@ -176,6 +163,7 @@
"Web site" => "Sitio Web",
"http://www.somesite.com" => "http://www.unsitio.com",
"Go to web site" => "Ir al sitio Web",
"Birthday" => "Cumpleaños",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "Grupos",
"Separate groups with commas" => "Separa los grupos con comas",

View File

@ -126,19 +126,6 @@
"Video" => "Video",
"Pager" => "Pager",
"Internet" => "Internet",
"Birthday" => "Cumpleaños",
"Business" => "Negocio",
"Call" => "Llamar",
"Clients" => "Clientes",
"Deliverer" => "Distribuidor",
"Holidays" => "Vacaciones",
"Ideas" => "Ideas",
"Journey" => "Viaje",
"Jubilee" => "Aniversario",
"Meeting" => "Reunión",
"Personal" => "Personal",
"Projects" => "Proyectos",
"Questions" => "Preguntas",
"{name}'s Birthday" => "Cumpleaños de {name}",
"Contact" => "Contacto",
"You do not have the permissions to add contacts to this addressbook." => "No tenés permisos para agregar contactos a esta agenda.",
@ -176,6 +163,7 @@
"Web site" => "Página web",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Ir al sitio web",
"Birthday" => "Cumpleaños",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "Grupos",
"Separate groups with commas" => "Separá los grupos con comas",

View File

@ -126,19 +126,6 @@
"Video" => "Video",
"Pager" => "Piipar",
"Internet" => "Internet",
"Birthday" => "Sünnipäev",
"Business" => "Ettevõte",
"Call" => "Helista",
"Clients" => "Kliendid",
"Deliverer" => "Kohaletoimetaja",
"Holidays" => "Puhkused",
"Ideas" => "Ideed",
"Journey" => "Teekond",
"Jubilee" => "Juubel",
"Meeting" => "Kohtumine",
"Personal" => "Isiklik",
"Projects" => "Projektid",
"Questions" => "Küsimused",
"{name}'s Birthday" => "{name} sünnipäev",
"Contact" => "Kontakt",
"You do not have the permissions to add contacts to this addressbook." => "Sul pole õigusi sellesse aadressiraamatusse kontaktide lisamiseks.",
@ -176,6 +163,7 @@
"Web site" => "Veebisait",
"http://www.somesite.com" => "http://www.mingisait.ee",
"Go to web site" => "Mine veebisaidile",
"Birthday" => "Sünnipäev",
"dd-mm-yyyy" => "dd.mm.yyyy",
"Groups" => "Grupid",
"Separate groups with commas" => "Eralda grupid komadega",

View File

@ -124,19 +124,6 @@
"Video" => "Bideoa",
"Pager" => "Bilagailua",
"Internet" => "Internet",
"Birthday" => "Jaioteguna",
"Business" => "Negozioak",
"Call" => "Deia",
"Clients" => "Bezeroak",
"Deliverer" => "Banatzailea",
"Holidays" => "Oporrak",
"Ideas" => "Ideiak",
"Journey" => "Bidaia",
"Jubilee" => "Urteurrenak",
"Meeting" => "Bilera",
"Personal" => "Pertsonala",
"Projects" => "Proiektuak",
"Questions" => "Galderak",
"{name}'s Birthday" => "{name}ren jaioteguna",
"Contact" => "Kontaktua",
"You do not have the permissions to add contacts to this addressbook." => "Ez duzu helbide-liburu honetara kontaktuak gehitzeko baimenik.",
@ -174,6 +161,7 @@
"Web site" => "Web orria",
"http://www.somesite.com" => "http://www.webgunea.com",
"Go to web site" => "Web orrira joan",
"Birthday" => "Jaioteguna",
"dd-mm-yyyy" => "yyyy-mm-dd",
"Groups" => "Taldeak",
"Separate groups with commas" => "Banatu taldeak komekin",

View File

@ -74,7 +74,6 @@
"Video" => "رسانه تصویری",
"Pager" => "صفحه",
"Internet" => "اینترنت",
"Birthday" => "روزتولد",
"{name}'s Birthday" => "روز تولد {name} است",
"Contact" => "اشخاص",
"Add Contact" => "افزودن اطلاعات شخص مورد نظر",
@ -89,6 +88,7 @@
"Organization" => "نهاد(ارگان)",
"Nickname" => "نام مستعار",
"Enter nickname" => "یک نام مستعار وارد کنید",
"Birthday" => "روزتولد",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "گروه ها",
"Separate groups with commas" => "جدا کردن گروه ها به وسیله درنگ نما",

View File

@ -123,19 +123,6 @@
"Video" => "Video",
"Pager" => "Hakulaite",
"Internet" => "Internet",
"Birthday" => "Syntymäpäivä",
"Business" => "Työ",
"Call" => "Kutsu",
"Clients" => "Asiakkaat",
"Deliverer" => "Toimittaja",
"Holidays" => "Vapaapäivät",
"Ideas" => "Ideat",
"Journey" => "Matka",
"Jubilee" => "Juhla",
"Meeting" => "Kokous",
"Personal" => "Henkilökohtainen",
"Projects" => "Projektit",
"Questions" => "Kysymykset",
"{name}'s Birthday" => "Henkilön {name} syntymäpäivä",
"Contact" => "Yhteystieto",
"You do not have the permissions to add contacts to this addressbook." => "Sinulla ei ole oikeuksia lisätä yhteystietoja tähän osoitekirjaan.",
@ -173,6 +160,7 @@
"Web site" => "Verkkosivu",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Siirry verkkosivulle",
"Birthday" => "Syntymäpäivä",
"dd-mm-yyyy" => "pp-kk-vvvv",
"Groups" => "Ryhmät",
"Separate groups with commas" => "Erota ryhmät pilkuilla",
@ -236,6 +224,7 @@
"create a new addressbook" => "luo uusi osoitekirja",
"Name of new addressbook" => "Uuden osoitekirjan nimi",
"Importing contacts" => "Tuodaan yhteystietoja",
"<h3>You have no contacts in your addressbook.</h3><p>You can import VCF files by dragging them to the contacts list and either drop them on an addressbook to import into it, or on an empty spot to create a new addressbook and import into that.<br />You can also import by clicking on the import button at the bottom of the list.</p>" => "<h3>Osoitekirjassasi ei ole yhteystietoja.</h3><p>Voit tuoda VCF-tiedostoja vetämällä ne yhteystietoluetteloon ja pudottamalla ne haluamaasi osoitekirjaan, tai lisätä yhteystiedon uuteen osoitekirjaan pudottamalla sen tyhjään tilaan.<br />Vaihtoehtoisesti voit myös napsauttaa Tuo-painiketta luettelon alaosassa.</p>",
"Add contact" => "Lisää yhteystieto",
"Select Address Books" => "Valitse osoitekirjat",
"Enter description" => "Anna kuvaus",

View File

@ -126,19 +126,6 @@
"Video" => "Vidéo",
"Pager" => "Bipeur",
"Internet" => "Internet",
"Birthday" => "Anniversaire",
"Business" => "Business",
"Call" => "Appel",
"Clients" => "Clients",
"Deliverer" => "Livreur",
"Holidays" => "Vacances",
"Ideas" => "Idées",
"Journey" => "Trajet",
"Jubilee" => "Jubilé",
"Meeting" => "Rendez-vous",
"Personal" => "Personnel",
"Projects" => "Projets",
"Questions" => "Questions",
"{name}'s Birthday" => "Anniversaire de {name}",
"Contact" => "Contact",
"You do not have the permissions to add contacts to this addressbook." => "Vous n'avez pas les droits suffisants pour ajouter des contacts à ce carnet d'adresses.",
@ -176,6 +163,7 @@
"Web site" => "Page web",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Allez à la page web",
"Birthday" => "Anniversaire",
"dd-mm-yyyy" => "jj-mm-aaaa",
"Groups" => "Groupes",
"Separate groups with commas" => "Séparer les groupes avec des virgules",

View File

@ -73,7 +73,6 @@
"Video" => "Vídeo",
"Pager" => "Paxinador",
"Internet" => "Internet",
"Birthday" => "Aniversario",
"{name}'s Birthday" => "Cumpleanos de {name}",
"Contact" => "Contacto",
"Add Contact" => "Engadir contacto",
@ -88,6 +87,7 @@
"Organization" => "Organización",
"Nickname" => "Apodo",
"Enter nickname" => "Introuza apodo",
"Birthday" => "Aniversario",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "Grupos",
"Separate groups with commas" => "Separe grupos con comas",

View File

@ -53,7 +53,6 @@
"Video" => "וידאו",
"Pager" => "זימונית",
"Internet" => "אינטרנט",
"Birthday" => "יום הולדת",
"{name}'s Birthday" => "יום ההולדת של {name}",
"Contact" => "איש קשר",
"Add Contact" => "הוספת איש קשר",
@ -67,6 +66,7 @@
"Organization" => "ארגון",
"Nickname" => "כינוי",
"Enter nickname" => "הכנס כינוי",
"Birthday" => "יום הולדת",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "קבוצות",
"Separate groups with commas" => "הפרד קבוצות עם פסיקים",

View File

@ -60,7 +60,6 @@
"Video" => "Video",
"Pager" => "Pager",
"Internet" => "Internet",
"Birthday" => "Rođendan",
"{name}'s Birthday" => "{name} Rođendan",
"Contact" => "Kontakt",
"Add Contact" => "Dodaj kontakt",
@ -75,6 +74,7 @@
"Nickname" => "Nadimak",
"Enter nickname" => "Unesi nadimank",
"http://www.somesite.com" => "http://www.somesite.com",
"Birthday" => "Rođendan",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "Grupe",
"Separate groups with commas" => "Razdvoji grupe sa zarezom",

View File

@ -74,7 +74,6 @@
"Video" => "Video",
"Pager" => "Személyhívó",
"Internet" => "Internet",
"Birthday" => "Születésnap",
"{name}'s Birthday" => "{name} születésnapja",
"Contact" => "Kapcsolat",
"Add Contact" => "Kapcsolat hozzáadása",
@ -89,6 +88,7 @@
"Organization" => "Szervezet",
"Nickname" => "Becenév",
"Enter nickname" => "Becenév megadása",
"Birthday" => "Születésnap",
"dd-mm-yyyy" => "yyyy-mm-dd",
"Groups" => "Csoportok",
"Separate groups with commas" => "Vesszővel válassza el a csoportokat",

View File

@ -23,7 +23,6 @@
"Video" => "Video",
"Pager" => "Pager",
"Internet" => "Internet",
"Birthday" => "Anniversario",
"Contact" => "Contacto",
"Add Contact" => "Adder contacto",
"Import" => "Importar",
@ -34,6 +33,7 @@
"Organization" => "Organisation",
"Nickname" => "Pseudonymo",
"Enter nickname" => "Inserer pseudonymo",
"Birthday" => "Anniversario",
"Groups" => "Gruppos",
"Edit groups" => "Modificar gruppos",
"Preferred" => "Preferite",

View File

@ -18,7 +18,6 @@
"Video" => "video",
"Pager" => "pager",
"Internet" => "internet",
"Birthday" => "tanggal lahir",
"{name}'s Birthday" => "hari ulang tahun {name}",
"Contact" => "kontak",
"Add Contact" => "tambah kontak",
@ -26,6 +25,7 @@
"Organization" => "organisasi",
"Nickname" => "nama panggilan",
"Enter nickname" => "masukkan nama panggilan",
"Birthday" => "tanggal lahir",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "grup",
"Separate groups with commas" => "pisahkan grup dengan tanda koma",

View File

@ -126,19 +126,6 @@
"Video" => "Video",
"Pager" => "Cercapersone",
"Internet" => "Internet",
"Birthday" => "Compleanno",
"Business" => "Lavoro",
"Call" => "Chiama",
"Clients" => "Client",
"Deliverer" => "Corriere",
"Holidays" => "Festività",
"Ideas" => "Idee",
"Journey" => "Viaggio",
"Jubilee" => "Anniversario",
"Meeting" => "Riunione",
"Personal" => "Personale",
"Projects" => "Progetti",
"Questions" => "Domande",
"{name}'s Birthday" => "Data di nascita di {name}",
"Contact" => "Contatto",
"You do not have the permissions to add contacts to this addressbook." => "Non hai i permessi per aggiungere contatti a questa rubrica.",
@ -176,6 +163,7 @@
"Web site" => "Sito web",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Vai al sito web",
"Birthday" => "Compleanno",
"dd-mm-yyyy" => "gg-mm-aaaa",
"Groups" => "Gruppi",
"Separate groups with commas" => "Separa i gruppi con virgole",

View File

@ -126,19 +126,6 @@
"Video" => "テレビ電話",
"Pager" => "ポケベル",
"Internet" => "インターネット",
"Birthday" => "誕生日",
"Business" => "ビジネス",
"Call" => "電話",
"Clients" => "顧客",
"Deliverer" => "運送会社",
"Holidays" => "休日",
"Ideas" => "アイデア",
"Journey" => "旅行",
"Jubilee" => "記念祭",
"Meeting" => "打ち合わせ",
"Personal" => "個人",
"Projects" => "プロジェクト",
"Questions" => "質問",
"{name}'s Birthday" => "{name}の誕生日",
"Contact" => "連絡先",
"You do not have the permissions to add contacts to this addressbook." => "アドレスブックに連絡先を追加する権限がありません",
@ -176,6 +163,7 @@
"Web site" => "ウェブサイト",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Webサイトへ移動",
"Birthday" => "誕生日",
"dd-mm-yyyy" => "yyyy-mm-dd",
"Groups" => "グループ",
"Separate groups with commas" => "コンマでグループを分割",

View File

@ -14,9 +14,6 @@
"Video" => "ვიდეო",
"Pager" => "პეიჯერი",
"Internet" => "ინტერნეტი",
"Birthday" => "დაბადების დრე",
"Business" => "ბიზნესი",
"Clients" => "კლიენტები",
"Contact" => "კონტაქტი",
"Add Contact" => "კონტაქტის დამატება",
"Import" => "იმპორტი",
@ -26,6 +23,7 @@
"Select photo from ownCloud" => "აირჩიე სურათი ownCloud –იდან",
"Organization" => "ორგანიზაცია",
"Nickname" => "ნიკნეიმი",
"Birthday" => "დაბადების დრე",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "ჯგუფები",
"Edit groups" => "ჯგუფების რედაქტირება",

View File

@ -102,19 +102,6 @@
"Video" => "영상 번호",
"Pager" => "호출기",
"Internet" => "인터넷",
"Birthday" => "생일",
"Business" => "비즈니스",
"Call" => "전화",
"Clients" => "고객",
"Deliverer" => "운송자",
"Holidays" => "휴가",
"Ideas" => "아이디어",
"Journey" => "여행",
"Jubilee" => "축제",
"Meeting" => "미팅",
"Personal" => "개인의",
"Projects" => "프로젝트",
"Questions" => "질문",
"{name}'s Birthday" => "{이름}의 생일",
"Contact" => "연락처",
"You do not have the permissions to edit this contact." => "당신은 연락처를 수정할 권한이 없습니다. ",
@ -147,6 +134,7 @@
"Web site" => "웹 사이트",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "웹 사이트로 가기",
"Birthday" => "생일",
"dd-mm-yyyy" => "일-월-년",
"Groups" => "그룹",
"Separate groups with commas" => "쉼표로 그룹 구분",

View File

@ -38,7 +38,6 @@
"Video" => "Video",
"Pager" => "Pager",
"Internet" => "Internet",
"Birthday" => "Gebuertsdag",
"{name}'s Birthday" => "{name} säi Gebuertsdag",
"Contact" => "Kontakt",
"Add Contact" => "Kontakt bäisetzen",
@ -46,6 +45,7 @@
"Organization" => "Firma",
"Nickname" => "Spëtznumm",
"Enter nickname" => "Gëff e Spëtznumm an",
"Birthday" => "Gebuertsdag",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "Gruppen",
"Edit groups" => "Gruppen editéieren",

View File

@ -28,12 +28,12 @@
"Video" => "Vaizdo",
"Pager" => "Pranešimų gaviklis",
"Internet" => "Internetas",
"Birthday" => "Gimtadienis",
"Contact" => "Kontaktas",
"Add Contact" => "Pridėti kontaktą",
"Organization" => "Organizacija",
"Nickname" => "Slapyvardis",
"Enter nickname" => "Įveskite slapyvardį",
"Birthday" => "Gimtadienis",
"Phone" => "Telefonas",
"Email" => "El. paštas",
"Address" => "Adresas",

View File

@ -74,7 +74,6 @@
"Video" => "Видео",
"Pager" => "Пејџер",
"Internet" => "Интернет",
"Birthday" => "Роденден",
"{name}'s Birthday" => "Роденден на {name}",
"Contact" => "Контакт",
"Add Contact" => "Додади контакт",
@ -89,6 +88,7 @@
"Organization" => "Организација",
"Nickname" => "Прекар",
"Enter nickname" => "Внеси прекар",
"Birthday" => "Роденден",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "Групи",
"Separate groups with commas" => "Одвоете ги групите со запирка",

View File

@ -78,16 +78,6 @@
"Video" => "Video",
"Pager" => "Alat Kelui",
"Internet" => "Internet",
"Birthday" => "Hari lahir",
"Business" => "Perniagaan",
"Clients" => "klien",
"Holidays" => "Hari kelepasan",
"Ideas" => "Idea",
"Journey" => "Perjalanan",
"Jubilee" => "Jubli",
"Meeting" => "Mesyuarat",
"Personal" => "Peribadi",
"Projects" => "Projek",
"{name}'s Birthday" => "Hari Lahir {name}",
"Contact" => "Hubungan",
"Add Contact" => "Tambah kenalan",
@ -105,6 +95,7 @@
"Organization" => "Organisasi",
"Nickname" => "Nama Samaran",
"Enter nickname" => "Masukkan nama samaran",
"Birthday" => "Hari lahir",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "Kumpulan",
"Separate groups with commas" => "Asingkan kumpulan dengan koma",

View File

@ -84,16 +84,6 @@
"Video" => "Video",
"Pager" => "Pager",
"Internet" => "Internett",
"Birthday" => "Bursdag",
"Call" => "Ring",
"Clients" => "Klienter",
"Holidays" => "Helligdager",
"Ideas" => "Idè",
"Journey" => "Reise",
"Meeting" => "Møte",
"Personal" => "Personlig",
"Projects" => "Prosjekt",
"Questions" => "Spørsmål",
"{name}'s Birthday" => "{name}s bursdag",
"Contact" => "Kontakt",
"Could not find the vCard with ID." => "Kunne ikke finne vCard med denne IDen",
@ -122,6 +112,7 @@
"Enter nickname" => "Skriv inn kallenavn",
"Web site" => "Hjemmeside",
"http://www.somesite.com" => "http://www.domene.no",
"Birthday" => "Bursdag",
"dd-mm-yyyy" => "dd-mm-åååå",
"Groups" => "Grupper",
"Separate groups with commas" => "Skill gruppene med komma",

View File

@ -126,19 +126,6 @@
"Video" => "Video",
"Pager" => "Pieper",
"Internet" => "Internet",
"Birthday" => "Verjaardag",
"Business" => "Business",
"Call" => "Bel",
"Clients" => "Klanten",
"Deliverer" => "Leverancier",
"Holidays" => "Vakanties",
"Ideas" => "Ideeën",
"Journey" => "Reis",
"Jubilee" => "Jubileum",
"Meeting" => "Vergadering",
"Personal" => "Persoonlijk",
"Projects" => "Projecten",
"Questions" => "Vragen",
"{name}'s Birthday" => "{name}'s verjaardag",
"Contact" => "Contact",
"You do not have the permissions to add contacts to this addressbook." => "U kunt geen contact personen toevoegen aan dit adresboek.",
@ -176,6 +163,7 @@
"Web site" => "Website",
"http://www.somesite.com" => "http://www.willekeurigesite.com",
"Go to web site" => "Ga naar website",
"Birthday" => "Verjaardag",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "Groepen",
"Separate groups with commas" => "Gebruik komma bij meerder groepen",

View File

@ -18,10 +18,10 @@
"Fax" => "Faks",
"Video" => "Video",
"Pager" => "Personsøkjar",
"Birthday" => "Bursdag",
"Contact" => "Kontakt",
"Add Contact" => "Legg til kontakt",
"Organization" => "Organisasjon",
"Birthday" => "Bursdag",
"Preferred" => "Føretrekt",
"Phone" => "Telefonnummer",
"Email" => "Epost",

View File

@ -126,19 +126,6 @@
"Video" => "Połączenie wideo",
"Pager" => "Pager",
"Internet" => "Internet",
"Birthday" => "Urodziny",
"Business" => "Biznesowe",
"Call" => "Wywołanie",
"Clients" => "Klienci",
"Deliverer" => "Doręczanie",
"Holidays" => "Święta",
"Ideas" => "Pomysły",
"Journey" => "Podróż",
"Jubilee" => "Jubileusz",
"Meeting" => "Spotkanie",
"Personal" => "Osobiste",
"Projects" => "Projekty",
"Questions" => "Pytania",
"{name}'s Birthday" => "{name} Urodzony",
"Contact" => "Kontakt",
"You do not have the permissions to add contacts to this addressbook." => "Nie masz uprawnień do dodawania kontaktów do tej książki adresowej.",
@ -176,6 +163,7 @@
"Web site" => "Strona www",
"http://www.somesite.com" => "http://www.jakasstrona.pl",
"Go to web site" => "Idż do strony www",
"Birthday" => "Urodziny",
"dd-mm-yyyy" => "dd-mm-rrrr",
"Groups" => "Grupy",
"Separate groups with commas" => "Oddziel grupy przecinkami",

View File

@ -126,19 +126,6 @@
"Video" => "Vídeo",
"Pager" => "Pager",
"Internet" => "Internet",
"Birthday" => "Aniversário",
"Business" => "Trabalho",
"Call" => "Chamar",
"Clients" => "Clientes",
"Deliverer" => "Entrega",
"Holidays" => "Feriados",
"Ideas" => "Idéias",
"Journey" => "Jornada",
"Jubilee" => "Jubileu",
"Meeting" => "Reunião",
"Personal" => "Pessoal",
"Projects" => "Projetos",
"Questions" => "Perguntas",
"{name}'s Birthday" => "Aniversário de {name}",
"Contact" => "Contato",
"You do not have the permissions to add contacts to this addressbook." => "Você não tem permissões para adicionar contatos a essa agenda.",
@ -176,6 +163,7 @@
"Web site" => "Web site",
"http://www.somesite.com" => "http://www.qualquersite.com",
"Go to web site" => "Ir para web site",
"Birthday" => "Aniversário",
"dd-mm-yyyy" => "dd-mm-aaaa",
"Groups" => "Grupos",
"Separate groups with commas" => "Separe grupos por virgula",

View File

@ -126,19 +126,6 @@
"Video" => "Vídeo",
"Pager" => "Pager",
"Internet" => "Internet",
"Birthday" => "Aniversário",
"Business" => "Empresa",
"Call" => "Telefonar",
"Clients" => "Clientes",
"Deliverer" => "Fornecedor",
"Holidays" => "Férias",
"Ideas" => "Ideias",
"Journey" => "Viagem",
"Jubilee" => "Jubileu",
"Meeting" => "Encontro",
"Personal" => "Pessoal",
"Projects" => "Projectos",
"Questions" => "Questões",
"{name}'s Birthday" => "Aniversário de {name}",
"Contact" => "Contacto",
"You do not have the permissions to add contacts to this addressbook." => "Não tem permissões para acrescentar contactos a este livro de endereços.",
@ -176,6 +163,7 @@
"Web site" => "Página web",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Ir para página web",
"Birthday" => "Aniversário",
"dd-mm-yyyy" => "dd-mm-aaaa",
"Groups" => "Grupos",
"Separate groups with commas" => "Separe os grupos usando virgulas",

View File

@ -55,15 +55,6 @@
"Video" => "Video",
"Pager" => "Pager",
"Internet" => "Internet",
"Birthday" => "Zi de naștere",
"Business" => "Companie",
"Call" => "Sună",
"Clients" => "Clienți",
"Ideas" => "Idei",
"Meeting" => "Întâlnire",
"Personal" => "Personal",
"Projects" => "Proiecte",
"Questions" => "Întrebări",
"{name}'s Birthday" => "Ziua de naștere a {name}",
"Contact" => "Contact",
"Add Contact" => "Adaugă contact",
@ -87,6 +78,7 @@
"Enter nickname" => "Introdu pseudonim",
"Web site" => "Site web",
"Go to web site" => "Vizitează site-ul",
"Birthday" => "Zi de naștere",
"dd-mm-yyyy" => "zz-ll-aaaa",
"Groups" => "Grupuri",
"Separate groups with commas" => "Separă grupurile cu virgule",

View File

@ -126,19 +126,6 @@
"Video" => "Видео",
"Pager" => "Пейджер",
"Internet" => "Интернет",
"Birthday" => "День рождения",
"Business" => "Бизнес",
"Call" => "Вызов",
"Clients" => "Клиенты",
"Deliverer" => "Посыльный",
"Holidays" => "Праздники",
"Ideas" => "Идеи",
"Journey" => "Поездка",
"Jubilee" => "Юбилей",
"Meeting" => "Встреча",
"Personal" => "Личный",
"Projects" => "Проекты",
"Questions" => "Вопросы",
"{name}'s Birthday" => "День рождения {name}",
"Contact" => "Контакт",
"You do not have the permissions to add contacts to this addressbook." => "У вас нет права создавать контакты в этой адресной книге.",
@ -176,6 +163,7 @@
"Web site" => "Веб-сайт",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Перейти на веб-сайт",
"Birthday" => "День рождения",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "Группы",
"Separate groups with commas" => "Разделить группы запятыми",

View File

@ -126,19 +126,6 @@
"Video" => "Видео",
"Pager" => "Пейджер",
"Internet" => "Интернет",
"Birthday" => "День рождения",
"Business" => "Бизнес",
"Call" => "Вызов",
"Clients" => "Клиенты",
"Deliverer" => "Поставщик",
"Holidays" => "Праздники",
"Ideas" => "Идеи",
"Journey" => "Путешествие",
"Jubilee" => "Юбилей",
"Meeting" => "Встреча",
"Personal" => "Персональный",
"Projects" => "Проекты",
"Questions" => "Вопросы",
"{name}'s Birthday" => "{имя} день рождения",
"Contact" => "Контакт",
"You do not have the permissions to add contacts to this addressbook." => "У Вас нет разрешения для добавления контактов в эту адресную книгу.",
@ -176,6 +163,7 @@
"Web site" => "Веб-сайт",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Перейти к веб-сайту",
"Birthday" => "День рождения",
"dd-mm-yyyy" => "дд-мм-гггг",
"Groups" => "Группы",
"Separate groups with commas" => "Разделите группы запятыми",

View File

@ -79,18 +79,6 @@
"Video" => "වීඩියෝව",
"Pager" => "පේජරය",
"Internet" => "අන්තර්ජාලය",
"Birthday" => "උපන් දිනය",
"Business" => "ව්‍යාපාරය",
"Call" => "අමතන්න",
"Clients" => "සේවාලාභීන්",
"Deliverer" => "බාරදෙන්නා",
"Holidays" => "නිවාඩු",
"Ideas" => "අදහස්",
"Journey" => "ගමන",
"Meeting" => "රැස්වීම",
"Personal" => "පෞද්ගලික",
"Projects" => "ව්‍යාපෘති",
"Questions" => "ප්‍රශ්ණ",
"{name}'s Birthday" => "{name}ගේ උපන්දිනය",
"Contact" => "සබඳතාව",
"You do not have the permissions to add contacts to this addressbook." => "මෙම ලිපින පොතට අලුත් සම්බන්ධතා එක් කිරීමට ඔබට අවසර නැත",
@ -114,6 +102,7 @@
"Web site" => "වෙබ් අඩවිය",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "වෙබ් අඩවියට යන්න",
"Birthday" => "උපන් දිනය",
"dd-mm-yyyy" => "දිදි-මාමා-වවවව",
"Groups" => "කණ්ඩායම්",
"Separate groups with commas" => "කණ්ඩායම් කොමා භාවිතයෙන් වෙන් කරන්න",

View File

@ -126,19 +126,6 @@
"Video" => "Video",
"Pager" => "Pager",
"Internet" => "Internet",
"Birthday" => "Narodeniny",
"Business" => "Biznis",
"Call" => "Zavolať",
"Clients" => "Klienti",
"Deliverer" => "Dodávateľ",
"Holidays" => "Prázdniny",
"Ideas" => "Nápady",
"Journey" => "Cesta",
"Jubilee" => "Jubileum",
"Meeting" => "Stretnutie",
"Personal" => "Osobné",
"Projects" => "Projekty",
"Questions" => "Otázky",
"{name}'s Birthday" => "Narodeniny {name}",
"Contact" => "Kontakt",
"You do not have the permissions to add contacts to this addressbook." => "Nemáte oprávnenie pridať kontakt do adresára.",
@ -176,6 +163,7 @@
"Web site" => "Web stránka",
"http://www.somesite.com" => "http://www.stranka.sk",
"Go to web site" => "Navštíviť web",
"Birthday" => "Narodeniny",
"dd-mm-yyyy" => "dd. mm. yyyy",
"Groups" => "Skupiny",
"Separate groups with commas" => "Oddelte skupiny čiarkami",

View File

@ -126,19 +126,6 @@
"Video" => "Video",
"Pager" => "Pozivnik",
"Internet" => "Internet",
"Birthday" => "Rojstni dan",
"Business" => "Poslovno",
"Call" => "Klic",
"Clients" => "Stranka",
"Deliverer" => "Dostavljalec",
"Holidays" => "Prazniki",
"Ideas" => "Ideje",
"Journey" => "Potovanje",
"Jubilee" => "Obletnica",
"Meeting" => "Srečanje",
"Personal" => "Osebno",
"Projects" => "Projekti",
"Questions" => "Vprašanja",
"{name}'s Birthday" => "{name} - rojstni dan",
"Contact" => "Stik",
"You do not have the permissions to add contacts to this addressbook." => "Ni ustreznih dovoljenj za dodajanje stikov v ta imenik.",
@ -176,6 +163,7 @@
"Web site" => "Spletna stran",
"http://www.somesite.com" => "http://www.spletnastran.si",
"Go to web site" => "Pojdi na spletno stran",
"Birthday" => "Rojstni dan",
"dd-mm-yyyy" => "dd. mm. yyyy",
"Groups" => "Skupine",
"Separate groups with commas" => "Skupine ločite z vejicami",

View File

@ -15,10 +15,10 @@
"Fax" => "Факс",
"Video" => "Видео",
"Pager" => "Пејџер",
"Birthday" => "Рођендан",
"Contact" => "Контакт",
"Add Contact" => "Додај контакт",
"Organization" => "Организација",
"Birthday" => "Рођендан",
"Preferred" => "Пожељан",
"Phone" => "Телефон",
"Email" => "Е-маил",

View File

@ -12,9 +12,9 @@
"Fax" => "Faks",
"Video" => "Video",
"Pager" => "Pejdžer",
"Birthday" => "Rođendan",
"Add Contact" => "Dodaj kontakt",
"Organization" => "Organizacija",
"Birthday" => "Rođendan",
"Phone" => "Telefon",
"Email" => "E-mail",
"Address" => "Adresa",

View File

@ -126,19 +126,6 @@
"Video" => "Video",
"Pager" => "Personsökare",
"Internet" => "Internet",
"Birthday" => "Födelsedag",
"Business" => "Företag",
"Call" => "Ring",
"Clients" => "Kunder",
"Deliverer" => "Leverera",
"Holidays" => "Helgdagar",
"Ideas" => "Idéer",
"Journey" => "Resa",
"Jubilee" => "Jubileum",
"Meeting" => "Möte",
"Personal" => "Privat",
"Projects" => "Projekt",
"Questions" => "Frågor",
"{name}'s Birthday" => "{name}'s födelsedag",
"Contact" => "Kontakt",
"You do not have the permissions to add contacts to this addressbook." => "Du har inte behörighet att lägga till kontakter i denna adressbok.",
@ -176,6 +163,7 @@
"Web site" => "Webbplats",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Gå till webbplats",
"Birthday" => "Födelsedag",
"dd-mm-yyyy" => "dd-mm-åååå",
"Groups" => "Grupper",
"Separate groups with commas" => "Separera grupperna med kommatecken",

View File

@ -126,19 +126,6 @@
"Video" => "วีดีโอ",
"Pager" => "เพจเจอร์",
"Internet" => "อินเทอร์เน็ต",
"Birthday" => "วันเกิด",
"Business" => "ธุรกิจ",
"Call" => "โทร",
"Clients" => "ลูกค้า",
"Deliverer" => "ผู้จัดส่ง",
"Holidays" => "วันหยุด",
"Ideas" => "ไอเดีย",
"Journey" => "การเดินทาง",
"Jubilee" => "งานเฉลิมฉลอง",
"Meeting" => "ประชุม",
"Personal" => "ส่วนตัว",
"Projects" => "โปรเจค",
"Questions" => "คำถาม",
"{name}'s Birthday" => "วันเกิดของ {name}",
"Contact" => "ข้อมูลการติดต่อ",
"You do not have the permissions to add contacts to this addressbook." => "คุณไม่ได้รับสิทธิ์ให้เพิ่มข้อมูลผู้ติดต่อเข้าไปในสมุดบันทึกที่อยู่นี้",
@ -176,6 +163,7 @@
"Web site" => "เว็บไซต์",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "ไปที่เว็บไซต์",
"Birthday" => "วันเกิด",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "กลุ่ม",
"Separate groups with commas" => "คั่นระหว่างรายชื่อกลุ่มด้วยเครื่องหมายจุลภาีคหรือคอมม่า",

View File

@ -109,19 +109,6 @@
"Video" => "Video",
"Pager" => "Sayfalayıcı",
"Internet" => "İnternet",
"Birthday" => "Doğum günü",
"Business" => "İş",
"Call" => "Çağrı",
"Clients" => "Müşteriler",
"Deliverer" => "Dağıtıcı",
"Holidays" => "Tatiller",
"Ideas" => "Fikirler",
"Journey" => "Seyahat",
"Jubilee" => "Yıl Dönümü",
"Meeting" => "Toplantı",
"Personal" => "Kişisel",
"Projects" => "Projeler",
"Questions" => "Sorular",
"{name}'s Birthday" => "{name}'nin Doğumgünü",
"Contact" => "Kişi",
"You do not have the permissions to add contacts to this addressbook." => "Bu adres defterine kişi eklemek için yetkiniz yok.",
@ -156,6 +143,7 @@
"Web site" => "Web sitesi",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Web sitesine git",
"Birthday" => "Doğum günü",
"dd-mm-yyyy" => "gg-aa-yyyy",
"Groups" => "Gruplar",
"Separate groups with commas" => "Grupları birbirinden virgülle ayırın",

View File

@ -11,11 +11,11 @@
"Fax" => "Факс",
"Video" => "Відео",
"Pager" => "Пейджер",
"Birthday" => "День народження",
"Contact" => "Контакт",
"Add Contact" => "Додати контакт",
"Settings" => "Налаштування",
"Organization" => "Організація",
"Birthday" => "День народження",
"Phone" => "Телефон",
"Email" => "Ел.пошта",
"Address" => "Адреса",

View File

@ -8,6 +8,7 @@
"No address books found." => "Không tìm thấy sổ địa chỉ.",
"No contacts found." => "Không tìm thấy danh sách",
"element name is not set." => "tên phần tử không được thiết lập.",
"Could not parse contact: " => "Không thể phân tích vui lòng liên hệ :",
"Cannot add empty property." => "Không thể thêm thuộc tính rỗng",
"At least one of the address fields has to be filled out." => "Ít nhất một địa chỉ phải được điền.",
"Trying to add duplicate property: " => "Thêm hai thuộc tính trùng nhau",
@ -15,8 +16,10 @@
"Unknown IM: " => "Không biết IM:",
"Information about vCard is incorrect. Please reload the page." => "Thông tin vCard không chính xác. Vui lòng tải lại trang.",
"Missing ID" => "Missing ID",
"Error parsing VCard for ID: \"" => "Lỗi cú pháp VCard ID: \"",
"checksum is not set." => "tổng kiểm tra không được thiết lập.",
"Information about vCard is incorrect. Please reload the page: " => "Thông tin về vCard không chính xác. Vui lòng tải lại trang:",
"Something went FUBAR. " => "Có cái gì đó không được khắc phục.",
"No contact ID was submitted." => "Không có ID của liên lạc được tìm thấy",
"Error reading contact photo." => "Lỗi đọc liên lạc hình ảnh.",
"Error saving temporary file." => "Lỗi trong quá trình lưu file tạm",
@ -47,27 +50,57 @@
"Not implemented" => "không thực hiện được",
"Couldn't get a valid address." => "Không thể có được một địa chỉ hợp lệ.",
"Error" => "Lỗi",
"Please enter an email address." => "Vui lòng nhập địa chỉ email.",
"Enter name" => "Nhập tên",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Định dạng tùy chỉnh, Tên viết tắt, Tên đầy đủ, hoặc đảo ngược với dấu phẩy",
"Select type" => "Chọn loại",
"Select photo" => "Chọn photo",
"You do not have permission to add contacts to " => "Bạn không có quyền để thêm địa chỉ liên lạc",
"Please select one of your own address books." => "Vui lòng chọn một trong những danh bạ địa chỉ của riêng bạn.",
"Permission error" => "Lỗi quyền truy cập",
"Click to undo deletion of \"" => "Nhấn vào đây để hoàn tất xóa \"",
"Cancelled deletion of: \"" => "Hủy xóa :\"",
"This property has to be non-empty." => "Thuộc tính này không được rỗng.",
"Couldn't serialize elements." => "Không thể nối tiếp các yếu tố.",
"Unknown error. Please check logs." => "Hệ thống báo lỗi .Vui lòng xem lại",
"'deleteProperty' called without type argument. Please report at bugs.owncloud.org" => "'deleteProperty' kêu gọi mà không có đối số kiểu. Xin báo cáo tại bugs.owncloud.org",
"Edit name" => "Sửa tên",
"No files selected for upload." => "Không có tập tin nào được chọn để tải lên.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Các tập tin bạn đang cố gắng tải lên vượt quá kích thước tối đa cho tập tin tải lên trên máy chủ.",
"Error loading profile picture." => "Lỗi khi tải lên hồ sơ hình ảnh.",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Một số địa chỉ liên lạc được đánh dấu để xóa, nhưng chưa bị xóa . Hãy đợi đến khi họ xóa.",
"Do you want to merge these address books?" => "Bạn có muốn kết hợp những cuốn sách địa chỉ?",
"Shared by " => " Được chia sẻ bởi",
"Upload too large" => "Tải lên quá lớn",
"Only image files can be used as profile picture." => "Chỉ sử dụng các tập tin hình ảnh. ",
"Wrong file type" => "Sai kiểu tập tin",
"Your browser doesn't support AJAX upload. Please click on the profile picture to select a photo to upload." => " Trình duyệt của bạn không hỗ trợ AJAX upload .Xin vui lòng click vào hình ảnh hồ sơ cá nhân để lựa chọn một ảnh để tải lên.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Không thể tải lên tập tin của bạn ,nó như là một thư mục hoặc có 0 byte",
"Upload Error" => "Lỗi tải lên",
"Pending" => "Đang chờ",
"Import done" => "Thực hiện import",
"Not all files uploaded. Retrying..." => "Tất cả các tập tin không được tải lên .Đang thử lại...",
"Something went wrong with the upload, please retry." => "Một cái gì đó đã sai khi tải lên ,hãy thử lại.",
"Importing..." => "Importing...",
"The address book name cannot be empty." => "không thể để rỗng address book .",
"Result: " => "Kết quả:",
" imported, " => " imported, ",
" failed." => "thất bại.",
"Displayname cannot be empty." => "Tên hiển thị không được để trống :",
"Show CardDav link" => "Hiển thị CardDav ",
"Show read-only VCF link" => "Hiển thị liên kết VCF chỉ đọc",
"Download" => "Tải về",
"Edit" => "Sửa",
"Delete" => "Xóa",
"Cancel" => "Hủy",
"More..." => "nhiều hơn...",
"Less..." => " ít hơn...",
"You do not have the permissions to read this addressbook." => " Bạn không được quyền đọc addressbook. ",
"You do not have the permissions to update this addressbook." => "Bạn không có quyền truy cập để cập nhật danh bạ này.",
"There was an error updating the addressbook." => "Có một lỗi khi cập nhật danh bạ.",
"You do not have the permissions to delete this addressbook." => "Bạn không có quyền truy cập để xóa danh bạ này.",
"There was an error deleting this addressbook." => "Có một lỗi khi xóa danh bạ này.",
"Addressbook not found: " => "Không tìm thấy Addressbook :",
"This is not your addressbook." => "Đây không phải là sổ địa chỉ của bạn.",
"Contact could not be found." => "Liên lạc không được tìm thấy",
"Jabber" => "Jabber",
@ -84,6 +117,7 @@
"GaduGadu" => "GaduGadu",
"Work" => "Công việc",
"Home" => "Nhà",
"Other" => "Khác",
"Mobile" => "Di động",
"Text" => "Văn bản",
"Voice" => "Giọng nói",
@ -92,15 +126,9 @@
"Video" => "Video",
"Pager" => "số trang",
"Internet" => "Mạng internet",
"Birthday" => "Ngày sinh nhật",
"Business" => "Kinh doanh",
"Call" => "Gọi",
"Holidays" => "Ngày nghỉ",
"Ideas" => "Ý tưởng",
"Jubilee" => "Lễ kỉ niệm",
"Meeting" => "Hội nghị",
"{name}'s Birthday" => "Sinh nhật của {name}",
"Contact" => "Danh sách",
"You do not have the permissions to add contacts to this addressbook." => "Bạn không có quyền thêm tới Addressbook.",
"Could not find the vCard with ID." => "Không thể tìm thấy ID vCard.",
"You do not have the permissions to edit this contact." => "Bạn không có quyền truy cập để chỉnh sửa địa chỉ liên hệ này.",
"Could not find the vCard with ID: " => "Không thể tìm thấy ID vCard: ",
@ -111,9 +139,14 @@
"Import" => "Nhập",
"Settings" => "Tùy chỉnh",
"Close" => "Đóng",
"Keyboard shortcuts" => "Phím tắt",
"Navigation" => "Navigation",
"Next contact in list" => "Liên lạc tiếp theo",
"Previous contact in list" => "Liên lạc trước",
"Expand/collapse current addressbook" => "Đóng/mở sổ địa chỉ",
"Next addressbook" => "Next addressbook",
"Previous addressbook" => "Previous addressbook",
"Actions" => "Actions",
"Refresh contacts list" => "Làm mới danh sách liên lạc",
"Add new contact" => "Thêm liên lạc mới",
"Add new addressbook" => "Thêm sổ địa chỉ mới",
@ -130,6 +163,7 @@
"Web site" => "Web site",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "Đi tới website",
"Birthday" => "Ngày sinh nhật",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "Nhóm",
"Separate groups with commas" => "Phân cách bởi dấu phẩy",
@ -193,6 +227,7 @@
"create a new addressbook" => "Tạo một sổ địa chỉ mới",
"Name of new addressbook" => "Tên danh bạ mới",
"Importing contacts" => "Nhập liên lạc",
"<h3>You have no contacts in your addressbook.</h3><p>You can import VCF files by dragging them to the contacts list and either drop them on an addressbook to import into it, or on an empty spot to create a new addressbook and import into that.<br />You can also import by clicking on the import button at the bottom of the list.</p>" => "<h3> Bạn không có địa chỉ liên lạc trong sổ địa chỉ của bạn </ h3> <p> Bạn có thể nhập các file VCF bằng cách kéo chúng vào danh sách liên lạc hoặc thả chúng vào một sổ địa chỉ để nhập vào nó, hoặc trên một khoảng trống để tạo ra mộtbsổ địa chỉ mới và nhập vào đó <br. /> Bạn cũng có thể nhập vào bằng cách nhấp vào nút nhập khẩu ở dưới cùng của danh sách. </ p>",
"Add contact" => "Thêm liên lạc",
"Select Address Books" => "Chọn sổ địa chỉ",
"Enter description" => "Nhập mô tả",
@ -203,5 +238,7 @@
"Addressbooks" => "Sổ địa chỉ",
"Share" => "Chia sẽ",
"New Address Book" => "Sổ địa chỉ mới",
"Name" => "Tên",
"Description" => "Mô tả",
"Save" => "Lưu"
);

View File

@ -126,19 +126,6 @@
"Video" => "视频",
"Pager" => "分页",
"Internet" => "互联网",
"Birthday" => "生日",
"Business" => "商业",
"Call" => "呼叫",
"Clients" => "客户",
"Deliverer" => "供应商",
"Holidays" => "假日",
"Ideas" => "想法",
"Journey" => "路程",
"Jubilee" => "娱乐",
"Meeting" => "会议",
"Personal" => "私人",
"Projects" => "项目",
"Questions" => "问题",
"{name}'s Birthday" => "{name} 的生日",
"Contact" => "联系人",
"You do not have the permissions to add contacts to this addressbook." => "您没有权限添加联系人到此地址薄。",
@ -176,6 +163,7 @@
"Web site" => "网站",
"http://www.somesite.com" => "http://www.somesite.com",
"Go to web site" => "访问网站",
"Birthday" => "生日",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "群组",
"Separate groups with commas" => "用逗号分隔群组",

View File

@ -126,19 +126,6 @@
"Video" => "视频",
"Pager" => "传呼机",
"Internet" => "互联网",
"Birthday" => "生日",
"Business" => "商务",
"Call" => "电话",
"Clients" => "客户",
"Deliverer" => "供应商",
"Holidays" => "假期",
"Ideas" => "创意",
"Journey" => "旅行",
"Jubilee" => "Jubilee",
"Meeting" => "会议",
"Personal" => "个人",
"Projects" => "项目",
"Questions" => "问题",
"{name}'s Birthday" => "{name} 的生日",
"Contact" => "联系人",
"You do not have the permissions to add contacts to this addressbook." => "您没有权限增加联系人到此地址簿",
@ -176,6 +163,7 @@
"Web site" => "网址",
"http://www.somesite.com" => "http://www.wodewangzhan.com",
"Go to web site" => "访问网址",
"Birthday" => "生日",
"dd-mm-yyyy" => "yyyy-mm-dd",
"Groups" => "分组",
"Separate groups with commas" => "用逗号隔开分组",

View File

@ -27,7 +27,6 @@
"Video" => "影片",
"Pager" => "呼叫器",
"Internet" => "網際網路",
"Birthday" => "生日",
"{name}'s Birthday" => "{name}的生日",
"Contact" => "通訊錄",
"Add Contact" => "添加通訊錄",
@ -37,6 +36,7 @@
"Organization" => "組織",
"Nickname" => "綽號",
"Enter nickname" => "輸入綽號",
"Birthday" => "生日",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "群組",
"Separate groups with commas" => "用逗號分隔群組",

View File

@ -62,9 +62,7 @@ class OC_Contacts_Addressbook {
$addressbooks = array();
while( $row = $result->fetchRow()) {
$row['permissions'] = OCP\Share::PERMISSION_CREATE
| OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_UPDATE
| OCP\Share::PERMISSION_DELETE | OCP\Share::PERMISSION_SHARE;
$row['permissions'] = OCP\PERMISSION_ALL;
$addressbooks[] = $row;
}
$addressbooks = array_merge($addressbooks, OCP\Share::getItemsSharedWith('addressbook', OC_Share_Backend_Addressbook::FORMAT_ADDRESSBOOKS));
@ -132,7 +130,7 @@ class OC_Contacts_Addressbook {
$row = $result->fetchRow();
if($row['userid'] != OCP\USER::getUser() && !OC_Group::inGroup(OCP\User::getUser(), 'admin')) {
$sharedAddressbook = OCP\Share::getItemSharedWithBySource('addressbook', $id);
if (!$sharedAddressbook || !($sharedAddressbook['permissions'] & OCP\Share::PERMISSION_READ)) {
if (!$sharedAddressbook || !($sharedAddressbook['permissions'] & OCP\PERMISSION_READ)) {
throw new Exception(
OC_Contacts_App::$l10n->t(
'You do not have the permissions to read this addressbook.'
@ -141,9 +139,7 @@ class OC_Contacts_Addressbook {
}
$row['permissions'] = $sharedAddressbook['permissions'];
} else {
$row['permissions'] = OCP\Share::PERMISSION_CREATE
| OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_UPDATE
| OCP\Share::PERMISSION_DELETE | OCP\Share::PERMISSION_SHARE;
$row['permissions'] = OCP\PERMISSION_ALL;
}
return $row;
}
@ -233,7 +229,7 @@ class OC_Contacts_Addressbook {
$addressbook = self::find($id);
if ($addressbook['userid'] != OCP\User::getUser() && !OC_Group::inGroup(OCP\User::getUser(), 'admin')) {
$sharedAddressbook = OCP\Share::getItemSharedWithBySource('addressbook', $id);
if (!$sharedAddressbook || !($sharedAddressbook['permissions'] & OCP\Share::PERMISSION_UPDATE)) {
if (!$sharedAddressbook || !($sharedAddressbook['permissions'] & OCP\PERMISSION_UPDATE)) {
throw new Exception(
OC_Contacts_App::$l10n->t(
'You do not have the permissions to update this addressbook.'
@ -309,7 +305,7 @@ class OC_Contacts_Addressbook {
$addressbook = self::find($id);
if ($addressbook['userid'] != OCP\User::getUser() && !OC_Group::inGroup(OCP\User::getUser(), 'admin')) {
$sharedAddressbook = OCP\Share::getItemSharedWithBySource('addressbook', $id);
if (!$sharedAddressbook || !($sharedAddressbook['permissions'] & OCP\Share::PERMISSION_DELETE)) {
if (!$sharedAddressbook || !($sharedAddressbook['permissions'] & OCP\PERMISSION_DELETE)) {
throw new Exception(
OC_Contacts_App::$l10n->t(
'You do not have the permissions to delete this addressbook.'

View File

@ -221,9 +221,12 @@ class OC_Contacts_App {
* @brief returns the vcategories object of the user
* @return (object) $vcategories
*/
protected static function getVCategories() {
public static function getVCategories() {
if (is_null(self::$categories)) {
self::$categories = new OC_VCategories('contacts',
if(OC_VCategories::isEmpty('contact')) {
self::scanCategories();
}
self::$categories = new OC_VCategories('contact',
null,
self::getDefaultCategories());
}
@ -236,10 +239,6 @@ class OC_Contacts_App {
*/
public static function getCategories() {
$categories = self::getVCategories()->categories();
if(count($categories) == 0) {
self::scanCategories();
$categories = self::$categories->categories();
}
return ($categories ? $categories : self::getDefaultCategories());
}
@ -249,21 +248,10 @@ class OC_Contacts_App {
*/
public static function getDefaultCategories() {
return array(
(string)self::$l10n->t('Birthday'),
(string)self::$l10n->t('Business'),
(string)self::$l10n->t('Call'),
(string)self::$l10n->t('Clients'),
(string)self::$l10n->t('Deliverer'),
(string)self::$l10n->t('Holidays'),
(string)self::$l10n->t('Ideas'),
(string)self::$l10n->t('Journey'),
(string)self::$l10n->t('Jubilee'),
(string)self::$l10n->t('Meeting'),
(string)self::$l10n->t('Other'),
(string)self::$l10n->t('Personal'),
(string)self::$l10n->t('Projects'),
(string)self::$l10n->t('Questions'),
(string)self::$l10n->t('Friends'),
(string)self::$l10n->t('Family'),
(string)self::$l10n->t('Work'),
(string)self::$l10n->t('Other'),
);
}
@ -277,22 +265,25 @@ class OC_Contacts_App {
if(count($vcaddressbooks) > 0) {
$vcaddressbookids = array();
foreach($vcaddressbooks as $vcaddressbook) {
$vcaddressbookids[] = $vcaddressbook['id'];
if($vcaddressbook['userid'] === OCP\User::getUser()) {
$vcaddressbookids[] = $vcaddressbook['id'];
}
}
$start = 0;
$batchsize = 10;
$categories = new OC_VCategories('contact');
while($vccontacts =
OC_Contacts_VCard::all($vcaddressbookids, $start, $batchsize)) {
$cards = array();
foreach($vccontacts as $vccontact) {
$cards[] = $vccontact['carddata'];
$cards[] = array($vccontact['id'], $vccontact['carddata']);
}
OCP\Util::writeLog('contacts',
__CLASS__.'::'.__METHOD__
.', scanning: '.$batchsize.' starting from '.$start,
OCP\Util::DEBUG);
// only reset on first batch.
self::getVCategories()->rescan($cards,
$categories->rescan($cards,
true,
($start == 0 ? true : false));
$start += $batchsize;
@ -305,8 +296,8 @@ class OC_Contacts_App {
* check VCard for new categories.
* @see OC_VCategories::loadFromVObject
*/
public static function loadCategoriesFromVCard(OC_VObject $contact) {
self::getVCategories()->loadFromVObject($contact, true);
public static function loadCategoriesFromVCard($id, OC_VObject $contact) {
self::getVCategories()->loadFromVObject($id, $contact, true);
}
/**

View File

@ -72,10 +72,10 @@ class OC_Connector_Sabre_CardDAV_AddressBook extends Sabre_CardDAV_AddressBook {
if($uid != OCP\USER::getUser()) {
$sharedAddressbook = OCP\Share::getItemSharedWithBySource('addressbook', $this->addressBookInfo['id']);
if ($sharedAddressbook && ($sharedAddressbook['permissions'] & OCP\Share::PERMISSION_READ)) {
if ($sharedAddressbook && ($sharedAddressbook['permissions'] & OCP\PERMISSION_READ)) {
$readprincipal = 'principals/' . OCP\USER::getUser();
}
if ($sharedAddressbook && ($sharedAddressbook['permissions'] & OCP\Share::PERMISSION_UPDATE)) {
if ($sharedAddressbook && ($sharedAddressbook['permissions'] & OCP\PERMISSION_UPDATE)) {
$writeprincipal = 'principals/' . OCP\USER::getUser();
}
}

View File

@ -67,10 +67,10 @@ class OC_Connector_Sabre_CardDAV_Card extends Sabre_CardDAV_Card {
if($uid != OCP\USER::getUser()) {
$sharedAddressbook = OCP\Share::getItemSharedWithBySource('addressbook', $this->addressBookInfo['id']);
if ($sharedAddressbook && ($sharedAddressbook['permissions'] & OCP\Share::PERMISSION_READ)) {
if ($sharedAddressbook && ($sharedAddressbook['permissions'] & OCP\PERMISSION_READ)) {
$readprincipal = 'principals/' . OCP\USER::getUser();
}
if ($sharedAddressbook && ($sharedAddressbook['permissions'] & OCP\Share::PERMISSION_UPDATE)) {
if ($sharedAddressbook && ($sharedAddressbook['permissions'] & OCP\PERMISSION_UPDATE)) {
$writeprincipal = 'principals/' . OCP\USER::getUser();
}
}

View File

@ -295,7 +295,7 @@ class OC_Contacts_VCard {
$addressbook = OC_Contacts_Addressbook::find($aid);
if ($addressbook['userid'] != OCP\User::getUser()) {
$sharedAddressbook = OCP\Share::getItemSharedWithBySource('addressbook', $aid);
if (!$sharedAddressbook || !($sharedAddressbook['permissions'] & OCP\Share::PERMISSION_CREATE)) {
if (!$sharedAddressbook || !($sharedAddressbook['permissions'] & OCP\PERMISSION_CREATE)) {
throw new Exception(
OC_Contacts_App::$l10n->t(
'You do not have the permissions to add contacts to this addressbook.'
@ -304,7 +304,6 @@ class OC_Contacts_VCard {
}
}
if(!$isChecked) {
OC_Contacts_App::loadCategoriesFromVCard($card);
self::updateValuesFromAdd($aid, $card);
}
$card->setString('VERSION', '3.0');
@ -337,6 +336,7 @@ class OC_Contacts_VCard {
return false;
}
$newid = OCP\DB::insertid('*PREFIX*contacts_cards');
OC_Contacts_App::loadCategoriesFromVCard($newid, $card);
OC_Contacts_Addressbook::touch($aid);
OC_Hook::emit('OC_Contacts_VCard', 'post_createVCard', $newid);
@ -372,7 +372,7 @@ class OC_Contacts_VCard {
$addressbook = OC_Contacts_Addressbook::find($oldcard['addressbookid']);
if ($addressbook['userid'] != OCP\User::getUser()) {
$sharedContact = OCP\Share::getItemSharedWithBySource('contact', $object[0], OCP\Share::FORMAT_NONE, null, true);
if (!$sharedContact || !($sharedContact['permissions'] & OCP\Share::PERMISSION_UPDATE)) {
if (!$sharedContact || !($sharedContact['permissions'] & OCP\PERMISSION_UPDATE)) {
return false;
}
}
@ -424,7 +424,7 @@ class OC_Contacts_VCard {
$contact_permissions = $sharedEvent['permissions'];
}
$permissions = max($addressbook_permissions, $contact_permissions);
if (!($permissions & OCP\Share::PERMISSION_UPDATE)) {
if (!($permissions & OCP\PERMISSION_UPDATE)) {
throw new Exception(
OC_Contacts_App::$l10n->t(
'You do not have the permissions to edit this contact.'
@ -432,7 +432,7 @@ class OC_Contacts_VCard {
);
}
}
OC_Contacts_App::loadCategoriesFromVCard($card);
OC_Contacts_App::loadCategoriesFromVCard($id, $card);
$fn = $card->getAsString('FN');
if (empty($fn)) {
@ -526,7 +526,7 @@ class OC_Contacts_VCard {
$contact_permissions = $sharedEvent['permissions'];
}
$permissions = max($addressbook_permissions, $contact_permissions);
if (!($permissions & OCP\Share::PERMISSION_DELETE)) {
if (!($permissions & OCP\PERMISSION_DELETE)) {
throw new Exception(
OC_Contacts_App::$l10n->t(
'You do not have the permissions to delete this contact.'
@ -551,6 +551,7 @@ class OC_Contacts_VCard {
)
);
}
OC_Contacts_App::getVCategories()->purgeObject($id);
OCP\Share::unshareAll('contact', $id);
@ -572,7 +573,7 @@ class OC_Contacts_VCard {
return false;
}
$sharedContact = OCP\Share::getItemSharedWithBySource('contact', $id, OCP\Share::FORMAT_NONE, null, true);
if (!$sharedContact || !($sharedContact['permissions'] & OCP\Share::PERMISSION_DELETE)) {
if (!$sharedContact || !($sharedContact['permissions'] & OCP\PERMISSION_DELETE)) {
return false;
}
}
@ -733,7 +734,7 @@ class OC_Contacts_VCard {
$addressbook = OC_Contacts_Addressbook::find($aid);
if ($addressbook['userid'] != OCP\User::getUser()) {
$sharedAddressbook = OCP\Share::getItemSharedWithBySource('addressbook', $aid);
if (!$sharedAddressbook || !($sharedAddressbook['permissions'] & OCP\Share::PERMISSION_CREATE)) {
if (!$sharedAddressbook || !($sharedAddressbook['permissions'] & OCP\PERMISSION_CREATE)) {
return false;
}
}
@ -746,7 +747,7 @@ class OC_Contacts_VCard {
$oldAddressbook = OC_Contacts_Addressbook::find($card['addressbookid']);
if ($oldAddressbook['userid'] != OCP\User::getUser()) {
$sharedContact = OCP\Share::getItemSharedWithBySource('contact', $cardId, OCP\Share::FORMAT_NONE, null, true);
if (!$sharedContact || !($sharedContact['permissions'] & OCP\Share::PERMISSION_DELETE)) {
if (!$sharedContact || !($sharedContact['permissions'] & OCP\PERMISSION_DELETE)) {
unset($id[$index]);
}
}
@ -776,7 +777,7 @@ class OC_Contacts_VCard {
$oldAddressbook = OC_Contacts_Addressbook::find($card['addressbookid']);
if ($oldAddressbook['userid'] != OCP\User::getUser()) {
$sharedContact = OCP\Share::getItemSharedWithBySource('contact', $id, OCP\Share::FORMAT_NONE, null, true);
if (!$sharedContact || !($sharedContact['permissions'] & OCP\Share::PERMISSION_DELETE)) {
if (!$sharedContact || !($sharedContact['permissions'] & OCP\PERMISSION_DELETE)) {
return false;
}
}

View File

@ -15,7 +15,7 @@
data-owner="<?php echo $addressbook['userid'] ?>"
>
<td class="active">
<?php if($addressbook['permissions'] & OCP\Share::PERMISSION_UPDATE) { ?>
<?php if($addressbook['permissions'] & OCP\PERMISSION_UPDATE) { ?>
<input type="checkbox" <?php echo (($addressbook['active']) == '1' ? ' checked="checked"' : ''); ?> />
<?php } ?>
</td>
@ -28,7 +28,7 @@
<a class="svg action cloud" title="<?php echo $l->t('Show read-only VCF link'); ?>"></a>
</td>
<td class="action">
<?php if($addressbook['permissions'] & OCP\Share::PERMISSION_SHARE) { ?>
<?php if($addressbook['permissions'] & OCP\PERMISSION_SHARE) { ?>
<a class="svg action share" data-item-type="addressbook"
data-item="<?php echo $addressbook['id'] ?>"
data-possible-permissions="<?php echo $addressbook['permissions'] ?>"
@ -40,12 +40,12 @@
href="<?php echo OCP\Util::linkToAbsolute('contacts', 'export.php'); ?>?bookid=<?php echo $addressbook['id'] ?>"></a>
</td>
<td class="action">
<?php if($addressbook['permissions'] & OCP\Share::PERMISSION_UPDATE) { ?>
<?php if($addressbook['permissions'] & OCP\PERMISSION_UPDATE) { ?>
<a class="svg action edit" title="<?php echo $l->t("Edit"); ?>"></a>
<?php } ?>
</td>
<td class="action">
<?php if($addressbook['permissions'] & OCP\Share::PERMISSION_DELETE) { ?>
<?php if($addressbook['permissions'] & OCP\PERMISSION_DELETE) { ?>
<a class="svg action delete" title="<?php echo $l->t("Delete"); ?>"></a>
<?php } ?>
</td>