1
0
mirror of https://github.com/owncloudarchive/contacts.git synced 2025-01-19 08:52:22 +01:00

Merge branch 'master' into gallery

This commit is contained in:
Robin Appelman 2013-01-01 16:17:08 +01:00
commit 141311c63d
12 changed files with 225 additions and 27 deletions

View File

@ -145,6 +145,15 @@ dl.form { display: block; width: auto; margin: 0; padding: 0; cursor: normal; }
/* override the default margin on share dropdown */
#dropdown { margin: 1.5em 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; width: 100%; }
/* reset box-sizing for multiSelect */
.multiselect, .multiselect * { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; }
.multiselectoptions > li > * {
-webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box;
color: #888888;
display: block;
margin: 0; padding: .2em;
}
.action, .icon {
display: inline-block;
cursor: pointer;
@ -352,7 +361,6 @@ ul.propertylist { width: 450px; }
#contacts-settings li,#contacts-settings li:hover { background-color: transparent; white-space: nowrap; }
#contacts-settings a.action:not(.settings) { width: 16px; height: 16px; }
#contacts-settings .actions { float: right; }
.multiselectoptions label { display: block; }
/* Single elements */
#file_upload_target, #import_upload_target, #crop_target { display:none; }

View File

@ -1010,9 +1010,7 @@ OC.Contacts = OC.Contacts || {
$(document).bind('status.group.groupremoved', function(e, result) {
console.log('status.group.groupremoved', result);
if(parseInt(result.groupid) === parseInt(self.currentgroup)) {
console.time('hiding');
self.contacts.showContacts([]);
console.timeEnd('hiding');
self.currentgroup = 'all';
}
$.each(result.contacts, function(idx, contactid) {

View File

@ -638,8 +638,19 @@ OC.Contacts = OC.Contacts || {};
* @return A jquery object to be inserted in the DOM
*/
Contact.prototype.renderContact = function(groupprops) {
this.groupprops = groupprops;
var self = this;
this.groupprops = groupprops;
var buildGroupSelect = function($groupSelect, availableGroups) {
$.each(availableGroups, function(idx, group) {
var $option = $('<option value="' + group.id + '">' + group.name + '</option>');
if(self.inGroup(group.name)) {
$option.attr('selected', 'selected');
}
$groupSelect.append($option);
});
};
var n = this.getPreferredValue('N', ['', '', '', '', '']);
//console.log('Contact.renderContact', this.data);
var values = this.data
@ -667,6 +678,11 @@ OC.Contacts = OC.Contacts || {};
this.$fullelem.on('submit', function() {
return false;
});
this.$groupSelect = this.$fullelem.find('#contactgroups');
buildGroupSelect(this.$groupSelect, groupprops.groups);
this.$groupSelect.multiSelect();
this.$addMenu = this.$fullelem.find('#addproperty');
this.$addMenu.on('change', function(event) {
//console.log('add', $(this).val());
@ -1412,7 +1428,9 @@ OC.Contacts = OC.Contacts || {};
timeouthandler:function() {
console.log('timeout');
// Don't fire all deletes at once
self.deletionTimer = setInterval('self.deleteContacts()', 500);
self.deletionTimer = setInterval(function() {
self.deleteContacts();
}, 500);
},
clickhandler:function() {
console.log('clickhandler');

View File

@ -1,14 +1,14 @@
/**
* @param 'createCallback' A function to be called when a new entry is created. Two arguments are supplied to this function:
* The select element used and the value of the option. If the function returns false addition will be cancelled. If it returns
* anything else it will be used as the value of the newly added option.
* anything else it will be used as the value of the newly added option.
* @param 'createText' The placeholder text for the create action.
* @param 'title' The title to show if no options are selected.
* @param 'checked' An array containing values for options that should be checked. Any options which are already selected will be added to this array.
* @param 'labels' The corresponding labels to show for the checked items.
* @param 'oncheck' Callback function which will be called when a checkbox/radiobutton is selected. If the function returns false the input will be unchecked.
* @param 'onuncheck' @see 'oncheck'.
* @param 'singleSelect' If true radiobuttons will be used instead of checkboxes.
* @param 'singleSelect' If true radiobuttons will be used instead of checkboxes.
*/
(function( $ ){
var multiSelectId=-1;
@ -18,12 +18,14 @@
'createCallback':false,
'createText':false,
'singleSelect':false,
'selectedFirst':false,
'sort':true,
'title':this.attr('title'),
'checked':[],
'labels':[],
'oncheck':false,
'onuncheck':false,
'minWidth': 'default;'
'minWidth': 'default;',
};
$(this).attr('data-msid', multiSelectId);
$.extend(settings,options);
@ -62,18 +64,18 @@
var self = this;
self.menuDirection = 'down';
button.click(function(event){
var button=$(this);
if(button.parent().children('ul').length>0) {
if(self.menuDirection === 'down') {
button.parent().children('ul').slideUp(400,function() {
button.parent().children('ul').remove();
button.removeClass('active');
button.removeClass('active down');
});
} else {
button.parent().children('ul').fadeOut(400,function() {
button.parent().children('ul').remove();
button.removeClass('active').removeClass('up');
button.removeClass('active up');
});
}
return;
@ -133,6 +135,7 @@
}
settings.checked.push(value);
settings.labels.push(label);
$(this).parent().addClass('checked');
} else {
var index=settings.checked.indexOf(value);
element.attr('selected',null);
@ -142,11 +145,12 @@
return;
}
}
$(this).parent().removeClass('checked');
settings.checked.splice(index,1);
settings.labels.splice(index,1);
}
var oldWidth=button.width();
button.children('span').first().text(settings.labels.length > 0
button.children('span').first().text(settings.labels.length > 0
? settings.labels.join(', ')
: settings.title);
var newOuterWidth=Math.max((button.outerWidth()-2),settings.minOuterWidth)+'px';
@ -162,6 +166,9 @@
});
var li=$('<li></li>');
li.append(input).append(label);
if(input.is(':checked')) {
li.addClass('checked');
}
return li;
}
$.each(options,function(index,item){
@ -169,7 +176,7 @@
});
button.parent().data('preventHide',false);
if(settings.createText){
var li=$('<li>+ <em>'+settings.createText+'<em></li>');
var li=$('<li class="creator">+ <em>'+settings.createText+'<em></li>');
li.click(function(event){
li.empty();
var input=$('<input class="new">');
@ -193,11 +200,10 @@
return false;
}
var li=$(this).parent();
var val = $(this).val();
var val = $(this).val()
var select=button.parent().next();
if(typeof settings.createCallback === 'function') {
var response = settings.createCallback(select, val);
console.log('response', response);
if(response === false) {
return false;
} else if(typeof response !== 'undefined') {
@ -217,7 +223,7 @@
select.append(option);
li.prev().children('input').prop('checked', true).trigger('change');
button.parent().data('preventHide',false);
button.children('span').first().text(settings.labels.length > 0
button.children('span').first().text(settings.labels.length > 0
? settings.labels.join(', ')
: settings.title);
if(self.menuDirection === 'up') {
@ -238,18 +244,48 @@
});
list.append(li);
}
var doSort = function(list, selector) {
var rows = list.find('li'+selector).get();
if(settings.sort) {
rows.sort(function(a, b) {
return $(a).text().toUpperCase().localeCompare($(b).text().toUpperCase());
});
}
$.each(rows, function(index, row) {
list.append(row);
});
};
if(settings.sort && settings.selectedFirst) {
doSort(list, '.checked');
doSort(list, ':not(.checked)');
} else if(settings.sort && !settings.selectedFirst) {
doSort(list, '');
}
list.append(list.find('li.creator'));
var pos=button.position();
if($(document).height() > button.offset().top+button.outerHeight() + list.children().length * button.height()) {
list.css('top',pos.top+button.outerHeight()-5);
list.css('left',pos.left+3);
list.css('width',(button.outerWidth()-2)+'px');
if($(document).height() > (button.offset().top+button.outerHeight() + list.children().length * button.height())
|| $(document).height()/2 > pos.top
) {
list.css({
top:pos.top+button.outerHeight()-5,
left:pos.left+3,
width:(button.outerWidth()-2)+'px',
'max-height':($(document).height()-(button.offset().top+button.outerHeight()+10))+'px'
});
list.addClass('down');
button.addClass('down');
list.slideDown();
} else {
list.css('top', pos.top - list.height());
list.css('left', pos.left+3);
list.css('width',(button.outerWidth()-2)+'px');
list.css('max-height', $(document).height()-($(document).height()-(pos.top)+50)+'px');
list.css({
top:pos.top - list.height(),
left:pos.left+3,
width:(button.outerWidth()-2)+'px'
});
list.detach().insertBefore($(this));
list.addClass('up');
button.addClass('up');
@ -266,17 +302,17 @@
if(self.menuDirection === 'down') {
button.parent().children('ul').slideUp(400,function() {
button.parent().children('ul').remove();
button.removeClass('active').removeClass('down');
button.removeClass('active down');
});
} else {
button.parent().children('ul').fadeOut(400,function() {
button.parent().children('ul').remove();
button.removeClass('active').removeClass('up');
button.removeClass('active up');
});
}
}
});
return span;
};
})( jQuery );

View File

@ -49,6 +49,7 @@
"Couldn't load temporary image: " => "No se pudo cargar la imagen temporal",
"No file was uploaded. Unknown error" => "El archivo no fue subido. Error desconocido",
"Contacts" => "Contactos",
"%d_selected_contacts" => "%d_selected_contacts",
"Contact is already in this group." => "El contacto ya se encuentra en este grupo",
"Contacts are already in this group." => "Los contactos ya se encuentran en este grupo",
"Couldn't get contact list." => "No se pudo obtener la lista de contactos.",
@ -159,6 +160,7 @@
"OK" => "Aceptar",
"(De-)select all" => "(De)selecionar todos",
"New Contact" => "Nuevo contato",
"Download Contact(s)" => "Descargar contacto(s)",
"Groups" => "Grupos",
"Favorite" => "Favorito",
"Delete Contact" => "Borrar contacto",

View File

@ -48,12 +48,14 @@
"Couldn't load temporary image: " => "Ezin izan da aldi bateko irudia kargatu:",
"No file was uploaded. Unknown error" => "Ez da fitxategirik igo. Errore ezezaguna",
"Contacts" => "Kontaktuak",
"%d_selected_contacts" => "%d_kontaktu_hautatuta",
"Contact is already in this group." => "Kontaktua dagoeneko talde honetan dago.",
"Contacts are already in this group." => "Kontaktuak dagoeneko talde honetan daude.",
"Couldn't get contact list." => "Ezin izan da kontaktuen zerrenda lortu.",
"Contact is not in this group." => "Kontaktua ez dago talde honetan.",
"Contacts are not in this group." => "Kontaktuak ez daude talde honetan.",
"A group named {group} already exists" => "{group} izeneko taldea dagoeneko existitzen da",
"You can drag groups to\narrange them as you like." => "Taldeak nahi duzun moduan\nantolatzeko arrastra ditzakezu.",
"All" => "Denak",
"Favorites" => "Gogokoak",
"Shared by {owner}" => "{owner}-k partekatuta",
@ -66,12 +68,14 @@
"Error adding to group." => "Errore bat izan da taldera gehitzean.",
"Error removing from group." => "Errore bat izan da taldetik kentzean.",
"There was an error opening a mail composer." => "Errore bat izan da posta editorea abiaraztean.",
"Deleting done. Click here to cancel reloading." => "Ezabatzea burutu da. Klikatu hemen birkargatzea bertan behera uzteko.",
"Add address book" => "Gehitu helbide-liburua",
"Import done. Click here to cancel reloading." => "Inportatzea eginda. Hemen klikatu birkargatzea uzteko.",
"Not all files uploaded. Retrying..." => "Fitxategi guztiak ez dira igo. Berriz saiatzen...",
"Something went wrong with the upload, please retry." => "Zerbait gaizki joan da igotzean, mesedez saiatu berriz.",
"Error" => "Errorea",
"Importing from {filename}..." => "Inportatzen {fitxategi-izena}...",
"{success} imported, {failed} failed." => "{success} inportatuta, {failed} huts eginda.",
"Importing..." => "Inportatzen",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ezin izan da zure fitxategia igo karpeta bat delako edo 0 byte dituelako",
"Upload Error" => "Igotzeak huts egin du",
@ -143,6 +147,7 @@
"Could not find the Addressbook with ID: " => "Ezin izan da hurrengo IDa duen helbide-liburua aurkitu:",
"You do not have the permissions to delete this contact." => "Ez duzu kontaktu hau ezabatzeko baimenik.",
"There was an error deleting this contact." => "Errore bat izan da kontaktua ezabatzean.",
"Contact not found." => "Ez da kontaktua aurkitu.",
"HomePage" => "WebOrria",
"New Group" => "Talde berria",
"Settings" => "Ezarpenak",
@ -154,6 +159,7 @@
"OK" => "Ados",
"(De-)select all" => "(Ez-)Hautatu dena",
"New Contact" => "Kontaktu berria",
"Download Contact(s)" => "Deskargatu kontaktua(k)",
"Groups" => "Taldeak",
"Favorite" => "Gogokoa",
"Delete Contact" => "Ezabatu kontaktua",

View File

@ -49,12 +49,14 @@
"Couldn't load temporary image: " => "Impossible de charger l'image temporaire :",
"No file was uploaded. Unknown error" => "Aucun fichier n'a été chargé. Erreur inconnue",
"Contacts" => "Contacts",
"%d_selected_contacts" => "%d_contacts_selectionnés",
"Contact is already in this group." => "Ce contact est déjà présent dans le groupe.",
"Contacts are already in this group." => "Ces contacts sont déjà présents dans le groupe.",
"Couldn't get contact list." => "Impossible d'obtenir la liste des contacts.",
"Contact is not in this group." => "Ce contact n'est pas présent dans le groupe.",
"Contacts are not in this group." => "Ces contacts ne sont pas présents dans le groupe.",
"A group named {group} already exists" => "Un groupe nommé {group} existe déjà",
"You can drag groups to\narrange them as you like." => "Vous pouvez faire glisser les dossiers pour les réorganiser comme bon vous semble.",
"All" => "Tous",
"Favorites" => "Favoris",
"Shared by {owner}" => "Partagé par {owner}",
@ -158,6 +160,7 @@
"OK" => "OK",
"(De-)select all" => "(Dé-)sélectionner tout",
"New Contact" => "Nouveau Contact",
"Download Contact(s)" => "Télécharger le(s) Contact(s)",
"Groups" => "Groupes",
"Favorite" => "Favoris",
"Delete Contact" => "Supprimer le Contact",
@ -193,6 +196,7 @@
"Enter organization" => "Saisissez l'organisation",
"Birthday" => "Anniversaire",
"Notes go here..." => "Remarques…",
"Export as VCF" => "Exporter comme VCF",
"Add" => "Ajouter",
"Phone" => "Téléphone",
"Email" => "E-mail",

View File

@ -1,3 +1,33 @@
<?php $TRANSLATIONS = array(
"Add" => "Bæta"
"No categories selected for deletion." => "Enginn flokkur valinn til eyðingar.",
"File doesn't exist:" => "Skrá finnst ekki:",
"There is no error, the file uploaded with success" => "Engin villa, innsending heppnaðist",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Innsenda skráin er stærri en MAX_FILE_SIZE sem skilgreint er í HTML sniðinu.",
"The uploaded file was only partially uploaded" => "Einungis hluti af innsendri skrá skilaði sér",
"No file was uploaded" => "Engin skrá skilaði sér",
"Missing a temporary folder" => "Vantar bráðabirgðamöppu",
"Couldn't save temporary image: " => "Gat ekk vistað bráðabirgða mynd:",
"Error" => "<strong>Villa</strong>",
"Unable to upload your file as it is a directory or has 0 bytes" => "Innsending á skrá mistókst, hugsanlega sendir þú möppu eða skráin er 0 bæti.",
"Upload Error" => "Villa við innsendingu",
"Upload too large" => "Innsend skrá of stór",
"Pending" => "Bíður",
"Download" => "Niðurhal",
"Edit" => "Breyta",
"Delete" => "Eyða",
"Cancel" => "Hætta við",
"Other" => "Annað",
"Text" => "Texti",
"Settings" => "Stillingar",
"Import" => "Flytja inn",
"Groups" => "Hópar",
"Close" => "Loka",
"Title" => "Titill",
"Add" => "Bæta",
"Email" => "Netfang",
"Address" => "Slóð",
"Share" => "Deila",
"Export" => "Flytja út",
"Name" => "Nafn",
"Save" => "Vista"
);

View File

@ -37,6 +37,7 @@
"Couldn't load temporary image: " => "Kunne ikke laste midlertidig bilde:",
"No file was uploaded. Unknown error" => "Ingen filer ble lastet opp. Ukjent feil.",
"Contacts" => "Kontakter",
"Favorites" => "Favoritter",
"Select photo" => "Velg bilde",
"Error" => "Feil",
"Importing..." => "Importerer...",
@ -53,11 +54,22 @@
"Edit" => "Rediger",
"Delete" => "Slett",
"Cancel" => "Avbryt",
"More..." => "Mer...",
"Less..." => "Mindre...",
"You do not have the permissions to delete this addressbook." => "Du har ikke tilgang til å slette denne adresseboken",
"There was an error deleting this addressbook." => "Det oppstod en feil under sletting av denne adresseboken",
"Jabber" => "Jabber",
"AIM" => "AIM",
"MSN" => "MSN",
"Twitter" => "Twitter",
"GoogleTalk" => "GoogleTalk",
"Facebook" => "Facebook",
"XMPP" => "XMPP",
"ICQ" => "ICQ",
"Yahoo" => "Yahoo",
"Skype" => "Skype",
"QQ" => "QQ",
"GaduGadu" => "GaduGadu",
"Work" => "Arbeid",
"Home" => "Hjem",
"Other" => "Annet",
@ -73,12 +85,17 @@
"Contact" => "Kontakt",
"Could not find the vCard with ID." => "Kunne ikke finne vCard med denne IDen",
"You do not have the permissions to edit this contact." => "Du har ikke tilgang til å endre denne kontakten.",
"Could not find the vCard with ID: " => "Kunne ikke finne vCard med denne IDen:",
"You do not have the permissions to delete this contact." => "Du har ikke tilgang til å slette denne kontakten.",
"There was an error deleting this contact." => "Det oppstod en feil ved sletting av denne kontakten",
"New Group" => "Ny gruppe",
"Settings" => "Innstillinger",
"Import" => "Importer",
"Select files" => "Velg filer",
"OK" => "OK",
"New Contact" => "Ny kontakt",
"Groups" => "Grupper",
"Delete Contact" => "Slett kontakt",
"Close" => "Lukk",
"Keyboard shortcuts" => "Tastatur snarveier",
"Navigation" => "Navigasjon",
@ -93,7 +110,9 @@
"Edit current photo" => "Rediger nåværende bilde",
"Upload new photo" => "Last opp nytt bilde",
"Select photo from ownCloud" => "Velg bilde fra ownCloud",
"First name" => "Fornavn",
"Additional names" => "Ev. mellomnavn",
"Last name" => "Etternavn",
"Nickname" => "Kallenavn",
"Enter nickname" => "Skriv inn kallenavn",
"Title" => "Tittel",
@ -160,5 +179,6 @@
"Addressbooks" => "Adressebøker",
"New Address Book" => "Ny adressebok",
"Name" => "Navn",
"Description" => "Beskrivelse",
"Save" => "Lagre"
);

View File

@ -2,6 +2,8 @@
"Error (de)activating addressbook." => "Adres defteri etkisizleştirilirken hata oluştu.",
"id is not set." => "id atanmamış.",
"Cannot update addressbook with an empty name." => "Adres defterini boş bir isimle güncelleyemezsiniz.",
"No category name given." => "Kategori ismi girilmedi.",
"Error adding group." => "Grup eklerken hata.",
"No ID provided" => "ID verilmedi",
"Error setting checksum." => "İmza oluşturulurken hata.",
"No categories selected for deletion." => "Silmek için bir kategori seçilmedi.",
@ -10,6 +12,7 @@
"element name is not set." => "eleman ismi atanmamış.",
"checksum is not set." => "checksum atanmamış.",
"Information about vCard is incorrect. Please reload the page." => "vCard bilgileri doğru değil. Lütfen sayfayı yenileyin.",
"Couldn't find vCard for %d." => "%d için vCard bulunamadı.",
"Information about vCard is incorrect. Please reload the page: " => "vCard hakkındaki bilgi hatalı. Lütfen sayfayı yeniden yükleyin: ",
"Something went FUBAR. " => "Bir şey FUBAR gitti.",
"Missing IM parameter." => "IM parametersi kayıp.",
@ -29,6 +32,9 @@
"Error cropping image" => "Görüntü kırpılamadı.",
"Error creating temporary image" => "Geçici resim oluştururken hata oluştu",
"Error finding image: " => "Resim ararken hata oluştu:",
"Key is not set for: " => "Anahtar bunun için ayarlı değil:",
"Value is not set for: " => "Değer bunun için ayarlı değil:",
"Could not set preference: " => "Özellik atanamadı:",
"Error uploading contacts to storage." => "Bağlantıları depoya yükleme hatası",
"There is no error, the file uploaded with success" => "Dosya başarıyla yüklendi, hata oluşmadı",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Dosyanın boyutu php.ini dosyasındaki upload_max_filesize limitini aşıyor",
@ -40,19 +46,46 @@
"Couldn't load temporary image: " => "Geçici resmi yükleyemedi :",
"No file was uploaded. Unknown error" => "Dosya yüklenmedi. Bilinmeyen hata",
"Contacts" => "Kişiler",
"%d_selected_contacts" => "%d_selected_contacts",
"Contact is already in this group." => "Bağlantı zaten bu grupta.",
"Contacts are already in this group." => "Bağlantılar zaten bu gruptalar.",
"Couldn't get contact list." => "Bağlantı listesi alınamadı.",
"Contact is not in this group." => "Bağlantı bu grupta değil.",
"Contacts are not in this group." => "Bağlantılar bu grupta değiller.",
"A group named {group} already exists" => "{group} isimli bir grup zaten mevcut",
"All" => "Tümü",
"Favorites" => "Favoriler",
"Shared by {owner}" => "{owner} tarafından paylaşılmış",
"Indexing contacts" => "Bağlantılar listeleniyor",
"Add to..." => "Ekle...",
"Remove from..." => "Sil...",
"Add group..." => "Grup ekle...",
"Select photo" => "Fotograf seç",
"Network or server error. Please inform administrator." => "Ağ veya sunucu hatası. Lütfen sistem yöneticisini bilgilendirin.",
"Error adding to group." => "Grup eklenirken hata.",
"Error removing from group." => "Grup çıkartılırken hata.",
"Deleting done. Click here to cancel reloading." => "Silme tamamlandı. Yeniden yüklemeyi iptal etmek için buraya tıklayın.",
"Add address book" => "Adres defteri ekle",
"Import done. Click here to cancel reloading." => "İçe aktarma tamamlandı. Yeniden yüklemeyi iptal etmek için buraya tıklayın.",
"Not all files uploaded. Retrying..." => "Tüm dosyalar yüklenemedi. Yeniden deneniyor...",
"Error" => "Hata",
"Importing from {filename}..." => "{filename} dosyasından içe aktarılıyor...",
"{success} imported, {failed} failed." => "{success} içe aktarıldı, {failed} başarısız oldu.",
"Importing..." => "İçeri aktarılıyor...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Dosyanızın boyutu 0 byte olduğundan veya bir dizin olduğundan yüklenemedi",
"Upload Error" => "Yükleme Hatası",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Yüklemeye çalıştığınız dosya sunucudaki dosya yükleme maksimum boyutunu aşmaktadır. ",
"Upload too large" => "Yükleme çok büyük",
"Pending" => "Bekliyor",
"Add group" => "Grup ekle",
"No files selected for upload." => "Yükleme için dosya seçilmedi.",
"Edit profile picture" => "Profil fotografı ekle",
"Error loading profile picture." => "Profil resmi yüklenirken hata oluştu.",
"Enter name" => "İsim giriniz",
"Enter description" => "Tanım giriniz",
"Select addressbook" => "Adres defterini sil",
"The address book name cannot be empty." => "Adres defterinde adı boş olamaz.",
"Is this correct?" => "Doğru mu?",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Bazı kişiler silinmek için işaretlendi, hala silinmedi. Silinmesi için bekleyin.",
"Result: " => "Sonuç: ",
" imported, " => " içe aktarıldı, ",
@ -102,13 +135,24 @@
"Could not find the vCard with ID." => "vCard kimliği bulunamadı.",
"You do not have the permissions to edit this contact." => "Bu kişiyi düzenlemek için yetkiniz yok.",
"Could not find the vCard with ID: " => "vCard kimliği bulunamadı.",
"Could not find the Addressbook with ID: " => "Adres defterinde bu ID bulunamadı:",
"You do not have the permissions to delete this contact." => "Bu kişiyi silmek için yetkiniz yok.",
"There was an error deleting this contact." => "Kişi silinirken hata oluştu.",
"Contact not found." => "Bağlantı bulunamadı.",
"HomePage" => "Ev Sayfası",
"New Group" => "Yeni Grup",
"Settings" => "Ayarlar",
"Address books" => "Adres defterleri",
"Import" => "İçe aktar",
"Select files to import" => "İçe aktarılacak dosyarı seçin",
"Select files" => "Dosyaları seçin",
"Import into:" => "İçe aktar:",
"OK" => "OK",
"New Contact" => "Yeni Kişi",
"Download Contact(s)" => "Bağlantı(ları) İndir",
"Groups" => "Gruplar",
"Favorite" => "Favori",
"Delete Contact" => "Bağlantıyı Sil",
"Close" => "Kapat",
"Keyboard shortcuts" => "Klavye kısayolları",
"Navigation" => "Dolaşım",
@ -122,17 +166,26 @@
"Add new contact" => "Yeni kişi ekle",
"Add new addressbook" => "Yeni adres defteri ekle",
"Delete current contact" => "Şuanki kişiyi sil",
"<h3>You have no contacts in your addressbook.</h3><p>Add a new contact or import existing contacts from a VCF file.</p>" => "<h3>Adres defterinizde hiç bağlantınız yok.</h3><p>yeni bir bağlantı ekleyin veya bir VCF dosyasından içe aktarın.</p>",
"Add contact" => "Bağlatı ekle",
"Compose mail" => "Posta oluştur",
"Delete group" => "Grubu sil",
"Delete current photo" => "Mevcut fotoğrafı sil",
"Edit current photo" => "Mevcut fotoğrafı düzenle",
"Upload new photo" => "Yeni fotoğraf yükle",
"Select photo from ownCloud" => "ownCloud'dan bir fotoğraf seç",
"First name" => "İsim",
"Additional names" => "İlave isimler",
"Last name" => "Soyisim",
"Nickname" => "Takma ad",
"Enter nickname" => "Takma adı girin",
"Title" => "Başlık",
"Enter title" => "Başlık girin",
"Organization" => "Organizasyon",
"Enter organization" => "Organizasyonu girin",
"Birthday" => "Doğum günü",
"Notes go here..." => "Notlar buraya gidiyor...",
"Export as VCF" => "VCF olarak dışa aktar",
"Add" => "Ekle",
"Phone" => "Telefon",
"Email" => "Eposta",
@ -143,20 +196,30 @@
"Delete contact" => "Kişiyi sil",
"Preferred" => "Tercih edilen",
"Please specify a valid email address." => "Lütfen geçerli bir eposta adresi belirtin.",
"someone@example.com" => "someone@example.com",
"Mail to address" => "Eposta adresi",
"Delete email address" => "Eposta adresini sil",
"Enter phone number" => "Telefon numarasını gir",
"Delete phone number" => "Telefon numarasını sil",
"Go to web site" => "Web sitesine git",
"Delete URL" => "URL'yi sil",
"View on map" => "Haritada gör",
"Delete address" => "Adresi sil",
"1 Main Street" => "1 Main Street",
"Street address" => "Sokak adresi",
"12345" => "12345",
"Postal code" => "Posta kodu",
"Your city" => "Şehriniz",
"City" => "Şehir",
"Some region" => "Bölge",
"State or province" => "Eyalet",
"Your country" => "Ükleniz",
"Country" => "Ülke",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "IM Sil",
"Share" => "Paylaş",
"Export" => "Dışa aktar",
"CardDAV link" => "CardDAV bağlantısı",
"Add Contact" => "Kişi Ekle",
"Drop photo to upload" => "Fotoğrafı yüklenmesi için bırakın",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Biçin özel, Kısa isim, Tam isim, Ters veya noktalı ters",

View File

@ -45,19 +45,26 @@
"Couldn't load temporary image: " => "无法加载临时图像: ",
"No file was uploaded. Unknown error" => "没有文件被上传。未知错误",
"Contacts" => "联系人",
"Contact is already in this group." => "联系人已经在这个组中。",
"Contacts are already in this group." => "联系人都已经在这个组中。",
"Couldn't get contact list." => "无法获取联系人列表。",
"Contact is not in this group." => "联系人不在此分组中。",
"Contacts are not in this group." => "联系人都没有在这个组中。",
"A group named {group} already exists" => "分组{group}已存在。",
"You can drag groups to\narrange them as you like." => "你可以拖拽群组以你喜欢的方式摆放他们。",
"All" => "全部",
"Favorites" => "收藏",
"Shared by {owner}" => "共享人:{owner}",
"Indexing contacts" => "正在索引联系人",
"Add to..." => "添加到……",
"Remove from..." => "从……删除",
"Add group..." => "添加分组……",
"Select photo" => "选择图片",
"Network or server error. Please inform administrator." => "网络或服务器错误。请通知管理员。",
"Error adding to group." => "添加到组时出错。",
"Error removing from group." => "从组删除时出错。",
"There was an error opening a mail composer." => "打开邮件撰写器时出错。",
"Deleting done. Click here to cancel reloading." => "删除完成。点击此处以取消重新载入。",
"Add address book" => "添加地址簿",
"Import done. Click here to cancel reloading." => "导入完毕。点击此处取消重载。",
"Not all files uploaded. Retrying..." => "仍有文件未上传,重试中",
@ -79,7 +86,9 @@
"Select addressbook" => "选择地址簿",
"The address book name cannot be empty." => "地址簿名称不能为空",
"Is this correct?" => "这正确吗?",
"There was an unknown error when trying to delete this contact" => "尝试删除这个联系人时出现一个未知错误。",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "一些联系人已被标注为删除,但是尚未完成,请稍候。",
"Click to undo deletion of {num} contacts" => "点击以撤销删除这{num}个联系人",
"Result: " => "结果: ",
" imported, " => " 已导入, ",
" failed." => " 失败。",
@ -122,6 +131,7 @@
"Internet" => "互联网",
"Friends" => "朋友",
"Family" => "家庭",
"There was an error deleting properties for this contact." => "删除这个联系人的属性时出现了一个错误。",
"{name}'s Birthday" => "{name} 的生日",
"Contact" => "联系人",
"You do not have the permissions to add contacts to this addressbook." => "您没有权限增加联系人到此地址簿",
@ -160,6 +170,7 @@
"Add new contact" => "新增联系人",
"Add new addressbook" => "新增地址簿",
"Delete current contact" => "删除当前联系人",
"<h3>You have no contacts in your addressbook.</h3><p>Add a new contact or import existing contacts from a VCF file.</p>" => "<h3>你的地址薄中没有联系人。</h3><p>添加一个新的联系人或者从VCF文件中导入。</p>",
"Add contact" => "添加联系人",
"Compose mail" => "编写邮件",
"Delete group" => "删除分组",
@ -211,6 +222,7 @@
"Delete IM" => "删除即时通讯工具",
"Share" => "共享",
"Export" => "导出",
"CardDAV link" => "CardDAV 链接",
"Add Contact" => "添加联系人",
"Drop photo to upload" => "拖拽图片进行上传",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "自定义格式,简称,全名,姓在前,姓在前并用逗号分割",

View File

@ -173,6 +173,7 @@
</ul>
<a class="favorite action {favorite}"></a>
</div>
<select id="contactgroups" multiple></select>
<div class="singleproperties">
<input data-element="fn" class="fullname value propertycontainer" type="text" name="value" value="{name}" required />
<a class="action edit"></a>