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

Merge branch 'master' into filesystem

This commit is contained in:
Robin Appelman 2012-12-11 23:42:22 +01:00
commit 9469dd4cbc
74 changed files with 2893 additions and 921 deletions

View File

@ -29,7 +29,12 @@ if(is_null($aid)) {
$active_addressbooks = array(OCA\Contacts\Addressbook::find($aid));
}
$lastModified = OCA\Contacts\App::lastModified();
if(!is_null($lastModified)) {
OCP\Response::enableCaching();
OCP\Response::setLastModifiedHeader($lastModified);
OCP\Response::setETagHeader(md5($lastModified->format('U')));
}
session_write_close();
// create the addressbook associate array

View File

@ -5,11 +5,13 @@
height: 14px; width: 14px;
border: 1px solid #fff;
-moz-appearance:none; -webkit-appearance: none;
-moz-box-sizing:none; box-sizing:none;
-moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none;
-moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px;
}
#content input[type=radio] { width: 12px; height: 12px; }
#content input[type=radio] {
width: 12px; height: 12px;
-moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px;
}
#content input[type=checkbox]:hover { border: 1px solid #D4D4D4 !important; }
#content input[type=checkbox]:checked::after {
content: url('%appswebroot%/contacts/img/checkmark.png');
@ -33,17 +35,64 @@
#content input:-ms-input-placeholder { color: #aaa; }
#content input:placeholder { color: #aaa; }
#content input:not([type="checkbox"]), #content select, #content textarea {
background-color: #fefefe; border: 1px solid #fff !important;
-moz-appearance:none !important; -webkit-appearance: none !important;
-moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none;
-moz-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px;
-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
float: left;
}
#content fieldset, #content div, #content span, #content section {
-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}
#content fieldset.editor {
border: 1px solid #1d2d44;
-moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; outline:none;
}
#content input:invalid, #content input:hover:not([type="checkbox"]), #content input:active:not([type="checkbox"]), #content input:focus:not([type="checkbox"]), #content input.active, #content textarea:focus, #content textarea:hover {
border: 1px solid silver !important;
-moz-border-radius:.3em; -webkit-border-radius:.3em; border-radius:.3em;
outline:none; float: left;
}
/* Left content */
#leftcontent { top: 3.5em !important; padding: 0; margin: 0; }
#leftcontent a { display: inline-block; }
#leftcontent h3 { cursor: pointer; -moz-transition: background 300ms ease 0s; background: none no-repeat scroll 1em center #eee; border-bottom: 1px solid #ddd; border-top: 1px solid #fff; display: block; max-width: 100%; padding: 0.5em 0.8em; color: #666; text-shadow: 0 1px 0 #f8f8f8; font-size: 1.2em; }
#leftcontent h3:hover,#leftcontent h3:active,#leftcontent h3.active { background-color: #DBDBDB; border-bottom: 1px solid #CCCCCC; border-top: 1px solid #D4D4D4; color: #333333; font-weight: bold; }
#leftcontent a { display: inline-block; padding: 0; margin: 0; }
#leftcontent h3 {
cursor: pointer;
-moz-transition: background 300ms ease 0s;
background: none no-repeat scroll 1em center #eee;
border-bottom: 1px solid #ddd; border-top: 1px solid #fff;
display: block;
max-width: 100%;
height: 2em;
padding: 0.5em 0.8em;
color: #666;
text-shadow: 0 1px 0 #f8f8f8;
font-size: 1.2em;
}
#leftcontent h3:hover,#leftcontent h3:active,#leftcontent h3.active {
background-color: #DBDBDB;
border-bottom: 1px solid #CCCCCC; border-top: 1px solid #D4D4D4;
color: #333333; font-weight: bold;
}
#leftcontent h3 img.shared { float: right; opacity: 0.4; margin: 0 .5em; }
#leftcontent h3 img.shared:hover { opacity: 1; }
#leftcontent h3.editing .checked { margin-left: -25px; opacity: 1; display: inline-block; float: left; }
#leftcontent h3.editing .checked.disabled { opacity: .5 }
#leftcontent h3 input[type="text"] {
display: block;
width: 100%;
font-size: .8em;
float: left;
-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
margin: auto 0 auto .3em;
}
#groupactions { box-sizing: border-box; height: 4em; border-bottom: 1px solid #DDDDDD; }
#groupactions > button, .addcontact {
#groupactions { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; height: 4em; border-bottom: 1px solid #DDDDDD; }
#groupactions > button, .addcontact, .import-upload-button, .doImport {
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
@ -60,10 +109,10 @@
}
#grouplist { z-index: 100; }
#grouplist h3 .action { float: right; display: none; padding: 0; margin: auto; }
#grouplist h3:not([data-type="shared"]):hover .action.numcontacts, #grouplist h3:not([data-type="shared"]) .active.action.numcontacts { display: inline-block; }
#grouplist h3[data-type="category"]:hover .action.delete { display: inline-block; }
#grouplist h3 .action.delete { width: 20px; height: 20px; }
#grouplist h3 .action:not(.starred):not(.checked):not(.favorite) { float: right; display: none; padding: 0; margin: auto; }
#grouplist h3:not([data-type="shared"]):not(.editing):hover .action.numcontacts, #grouplist h3:not([data-type="shared"]):not(.editing) .active.action.numcontacts { display: inline-block; }
#grouplist h3[data-type="category"]:not(.editing):hover .action.delete { display: inline-block; }
#grouplist h3:not(.editing) .action.delete { width: 20px; height: 20px; }
/* First run */
@ -72,31 +121,16 @@
#firstrun p { font-size:1.2em; text-align:center; }
#firstrun #selections { font-size:0.8em; margin: 2em auto auto auto; clear: both; }
#content input:not([type="checkbox"]), #content select, #content textarea {
background-color: #fefefe; border: 1px solid #fff !important;
-moz-appearance:none !important; -webkit-appearance: none !important;
-webkit-box-sizing:none !important; -moz-box-sizing:none !important; box-sizing:none !important;
-moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none;
-moz-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px;
float: left;
}
#content input:invalid, #content input:hover:not([type="checkbox"]), #content input:active:not([type="checkbox"]), #content input:focus:not([type="checkbox"]), #content textarea:focus, #content textarea:hover {
border: 1px solid silver !important;
-moz-border-radius:.3em; -webkit-border-radius:.3em; border-radius:.3em;
outline:none; float: left;
}
#contact { margin: 1em; }
#contact textarea { min-height: 5em; min-width: 30em; margin: 0 !important; padding: 0 !important; outline: 0 !important;}
#contact input[type="checkbox"] { margin-top: 10px; vertical-align: bottom; float: left; }
dl.form { display: inline-block; width: auto; margin: 0; padding: 0; cursor: normal; }
dl.form { display: block; width: auto; margin: 0; padding: 0; cursor: normal; }
.form dt { display: table-cell; clear: left; float: left; width: 7em; margin: 0; padding: 0.8em 0.5em 0 0; text-align:right; text-overflow:ellipsis; o-text-overflow: ellipsis; vertical-align: text-bottom; color: #bbb;/* white-space: pre-wrap; white-space: -moz-pre-wrap !important; white-space: -pre-wrap; white-space: -o-pre-wrap;*/ }
.form dd { display: table-cell; clear: right; float: left; margin: 0; padding: 0; white-space: nowrap; vertical-align: text-bottom; }
.action { display: inline-block; width: 20px; height: 20px; }
.action.share { height: 20px !important; width: 20px; float: right !important; clear: right; }
.action { display: inline-block; width: 22px; height: 22px; padding: 0; margin: 0; cursor: pointer; }
/* override the default margin on share dropdown */
#dropdown { margin: 1.5em 0; -moz-box-sizing: border-box; box-sizing: border-box; width: 100%; }
#dropdown { margin: 1.5em 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; width: 100%; }
.add { background:url('%webroot%/core/img/actions/add.svg') no-repeat center; clear: both; }
.delete { background:url('%webroot%/core/img/actions/delete.png') no-repeat center; }
.edit { background:url('%webroot%/core/img/actions/rename.svg') no-repeat center; }
@ -106,9 +140,12 @@ dl.form { display: inline-block; width: auto; margin: 0; padding: 0; cursor: nor
.download { background:url('%webroot%/core/img/actions/download.svg') no-repeat center; }
.cloud { background:url('%webroot%/core/img/places/picture.svg') no-repeat center; }
.globe { background:url('%webroot%/core/img/actions/public.svg') no-repeat center; }
.starred { display: inline-block; height: 22px; width: 22px; padding: 0; margin: 0; background:url('%appswebroot%/contacts/img/starred.png') no-repeat center; }
.starred { background:url('%appswebroot%/contacts/img/starred.png') no-repeat center; }
.checked { background:url('%appswebroot%/contacts/img/checkmark-green.png') no-repeat center; }
.checked.disabled { background:url('%appswebroot%/contacts/img/checkmark-gray.png') no-repeat center; cursor: default; }
.transparent{ opacity: 0.6; }
.float { float: left; display: inline-block; width: auto; }
.float.right { float: right; }
.break { clear: both; }
.loading { background: url('%webroot%/core/img/loading.gif') no-repeat center !important; /*cursor: progress; */ cursor: wait; }
.wait { opacity: cursor: wait; }
@ -129,21 +166,50 @@ dl.form { display: inline-block; width: auto; margin: 0; padding: 0; cursor: nor
/* Properties */
.fullname { font-weight:bold; font-size:1.5em; width: 17em; }
.singleproperties { display: inline-block; float: left; width: 30em;}
.singleproperties input.value { font-weight: bold; }
.singleproperties .action { float: left; width: 20px; height: 20px; }
.singleproperties .n input { width: 17em}
.singleproperties dl { min-width: 24em; }
.singleproperties { display: inline-block; float: left; width: 270px; }
.singleproperties .fullname { font-weight:bold; font-size:1.5em; width: 250px; margin: 5px 0; }
.singleproperties .n.editor { width: 270px; padding: 3px; }
.singleproperties .n.editor input { width: 95%; }
.singleproperties .propertycontainer input.value { font-weight: bold; }
.singleproperties .propertycontainer input.value.new { border: 3px solid #1d2d44;}
.singleproperties .propertycontainer input.value.error { border: 3px solid red;}
.singleproperties .propertycontainer .action {
float: left;
width: 20px; height: 20px;
opacity: 0;
}
.singleproperties .propertycontainer:hover .action { opacity: 1; }
.singleproperties dl { width: 270px; }
.parameters {
width: 120px;
float: left;
text-align: right;
box-sizing: border-box;
display: inline-block;
}
ul.propertylist { width: 450px; }
.propertylist li.propertycontainer { white-space: nowrap; min-width: 38em; display: block; clear: both; }
.propertylist li.propertycontainer > .listactions { display: inline-block; position: absolute; clear: none; opacity: 0; float: right; }
.propertylist li.propertycontainer .listactions a { display: inline-block; float: left; clear: none; width: 20px; height: 20px; }
.propertylist li.propertycontainer > .listactions {
display: inline-block;
position: absolute;
clear: none; opacity: 0;
float: right;
}
.propertylist li.propertycontainer:hover > .listactions { opacity: 1; }
.propertylist li.propertycontainer .listactions a {
display: inline-block;
float: left; clear: none;
width: 20px; height: 20px;
}
.propertylist { float: left; }
/*.propertylist li > a { display: block; }}*/
.propertylist li > input[type="checkbox"],input[type="radio"] { display: inline-block; }
.propertylist input.value:not([type="checkbox"]) { width: 16em; display: inline-block; font-weight: bold; }
.propertylist input.value:not([type="checkbox"]).new { border: 3px solid #1d2d44;}
.propertylist input.value:not([type="checkbox"]).error { border: 3px solid red;}
.propertylist li > select { float: left; max-width: 8em; }
.select_wrapper { float: left; overflow: hidden; color: #bbb; font-size: 0.8em; }
.select_wrapper select { float: left; overflow: hidden; text-overflow: ellipsis; color: #bbb; width: 8em; }
@ -155,7 +221,14 @@ dl.form { display: inline-block; width: auto; margin: 0; padding: 0; cursor: nor
.propertylist li > input[type="checkbox"].impp { clear: none; }
.propertylist li > label.xab { display: block; color: #bbb; float:left; clear: both; padding: 0.5em 0 0 2.5em; }
.propertylist li > label.xab:hover { color: #777; }
#rightcontent label, #rightcontent dt, #rightcontent th, #rightcontent .label { float: left; font-size: 0.7em; font-weight: bold; color: #bbb !important; max-width: 7em !important; border: 0; }
#rightcontent label, #rightcontent dt, #rightcontent th, #rightcontent .label {
float: left;
font-size: 0.7em; font-weight: bold;
color: #bbb !important;
border: 0;
display: inline-block;
box-sizing: border-box;
}
#rightcontent label:hover, .form dt:hover, #rightcontent input.label:hover { color: #777 !important; }
#rightcontent input.label:hover, #rightcontent input.label:active { border: 0 none !important; border-radius: 0; cursor: pointer; }
.typelist[type="button"] { float: left; max-width: 8em; border: 0; background-color: #fff; color: #bbb; box-shadow: none; } /* for multiselect */
@ -188,13 +261,14 @@ dl.form { display: inline-block; width: auto; margin: 0; padding: 0; cursor: nor
#contacts-settings .settings {
width: 20px; height: 20px;
float: right;
float: left;
background:url('%webroot%/core/img/actions/settings.svg') no-repeat center;
}
#contacts-settings.open {
height: auto;
}
#contacts-settings {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
background: none repeat scroll 0 0 #EEEEEE;
@ -210,31 +284,82 @@ dl.form { display: inline-block; width: auto; margin: 0; padding: 0; cursor: nor
z-index: 2;
}
#contacts-settings li,#contacts-settings li:hover { background-color: transparent; white-space: nowrap; }
#contacts-settings a.action { width: 20px; height: 20px; }
#contacts-settings .actions { float: right; }
.multiselectoptions label { display: block; }
/* Single elements */
#file_upload_target, #import_upload_target, #crop_target { display:none; }
#import_fileupload {
height: 2.29em;
/*width: 2.5em;*/
width: 95%;
margin-top: -2.5em;
display:block;
clear: right;
cursor: pointer;
z-index: 1001;
}
.import-upload-button {
background-image: url("%webroot%/core/img/actions/upload-white.svg");
background-position: center center;
background-repeat: no-repeat;
cursor: pointer;
height: 2.29em;
width: 2.5em;
z-index: 100;
margin: 0;
cursor: pointer;
}
.doImport{ margin: auto; }
#toggle_all { position: absolute; bottom: .5em; left: .8em; }
input.propertytype { float: left; font-size: .8em; width: 8em !important; direction: rtl;}
input.propertytype { float: left; font-size: .8em; width: 8em !important; text-align: right; }
.contactphoto { float: left; display: inline-block; border-radius: 0.3em; border: thin solid #bbb; margin: 0.5em; background: url('%webroot%/core/img/loading.gif') no-repeat center center; -moz-box-shadow: 0 1px 3px #777; -webkit-box-shadow: 0 1px 3px #777; box-shadow: 0 1px 3px #777; opacity: 1; }
.contactphoto:hover { background: #fff; cursor: default; }
#photowrapper { display: inline-block; float: left; width: 150px; }
#photowrapper {
display: inline-block;
position: relative;
float: left;
width: 170px; height: 200px;
margin: 5px;
}
#photowrapper .favorite {
display: inline-block;
float: right;
position: absolute;
right: -8px; top: -8px;
width: 25px; height: 25px;
}
#photowrapper.wait { opacity: 0.6; filter:alpha(opacity=0.6); z-index:1000; background: url('%webroot%/core/img/loading.gif') no-repeat center; cursor: wait; }
#phototools { position:absolute; margin: 5px 0 0 10px; width:auto; height:22px; padding:0px; background-color:#fff; list-style-type:none; border-radius: 0.3em; -moz-box-shadow: 0 1px 3px #777; -webkit-box-shadow: 0 1px 3px #777; box-shadow: 0 1px 3px #777; }
#phototools li { display: inline; }
#phototools li a { float:left; cursor:pointer; width:22px; height:22px; opacity: 0.6; }
#phototools li a:hover { opacity: 0.8; }
#contactphoto_fileupload, #import_fileupload { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; z-index:1001; width:0; height:0;}
#contactphoto_fileupload, #import_fileupload { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; z-index:1001; }
.favorite { display: inline-block; float: left; height: 20px; width: 20px; background:url('%appswebroot%/contacts/img/inactive_star.png') no-repeat center; }
.favorite.active, .favorite:hover { background:url('%appswebroot%/contacts/img/active_star.png') no-repeat center; }
.favorite.inactive { background:url('%appswebroot%/contacts/img/inactive_star.png') no-repeat center; }
/* Header */
#contactsheader { position: fixed; box-sizing: border-box; padding: 0; margin:0; top:3.5em; left: 32.5em; right: 0; height: 4em; border-bottom: 1px solid #DDDDDD; z-index: 50; }
#contactsheader div.actions { padding: 0 0.5em; margin: 0 auto; height: 100%; width: 90%; }
#contactsheader {
position: fixed;
-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
padding: 0; margin:0;
top:3.5em; left: 32.5em; right: 0; height: 4em;
border-bottom: 1px solid #DDDDDD; z-index: 50;
}
#contactsheader div.actions {
-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
padding: 0 .5em 0 4em; margin: 0 auto;
height: 100%; width: 100%;
}
#contactsheader button, #contactsheader select { position: relative; float: left; min-width: 26px; height: 26px; margin: .7em; padding: .2em; clear: none; }
#contactsheader .back { }
#contactsheader .import { background:url('%webroot%/core/img/actions/upload.svg') no-repeat center; }
#contactsheader .delete { background:url('%webroot%/core/img/actions/delete.svg') no-repeat center; }
#contactsheader .delete { background:url('%webroot%/core/img/actions/delete.svg') no-repeat center; float: right;}
#contactsheader .list.add { margin-left: 5em; }
@ -244,6 +369,7 @@ input.propertytype { float: left; font-size: .8em; width: 8em !important; direct
/* Contact layout */
#contact > ul > li { white-space: nowrap; }
#contact > ul.propertylist {
font-size: 10px;
/*display: table;
@ -256,24 +382,27 @@ input.propertytype { float: left; font-size: .8em; width: 8em !important; direct
/*display: table-cell;*/
}
.display .meta { text-align: right; }
.display .adr { cursor: pointer; }
.adr.edit {
.adr.editor {
width: 20em;
border: 1px solid silver; -moz-border-radius:.3em; -webkit-border-radius:.3em; border-radius:.3em; outline:none;
margin-left: 120px;
}
.adr.edit ul {
.adr.editor ul {
-moz-column-count: 1;
-webkit-columns: 1;
-o-columns: 1;
columns: 1;
}
.adr.edit input.value { border: none; }
.adr.edit input.value:hover { border: none; }
.adr.edit input.value.street, ul.adr.edit input.value.country, ul.adr.edit input.value.region { width: 19em;}
.adr.edit input.value.zip { width: 5em; }
.adr.edit input.value.city { width: 10em; }
.adr.editor input.value { border: none; }
.adr.editor input.value:hover { border: none; }
.adr.editor input.value.street, ul.adr.edit input.value.country, ul.adr.edit input.value.region { width: 19em;}
.adr.editor input.value.zip { width: 5em; }
.adr.editor input.value.city { width: 10em; }
#rightcontent footer { padding: 1em; width: 100%; box-sizing: border-box; clear: both; }
.note { margin-left: 120px; }
#rightcontent footer { padding: 1em; width: 100%; -moz-box-sizing: border-box; box-sizing: border-box; clear: both; }
#rightcontent footer > { display: inline-block; }
/* contact list */
@ -289,6 +418,30 @@ input.propertytype { float: left; font-size: .8em; width: 8em !important; direct
#contactlist tr > td.name { font-weight: bold; text-indent: 1.6em; -webkit-transition:background-image 500ms; -moz-transition:background-image 500ms; -o-transition:background-image 500ms; transition:background-image 500ms; position:relative; background-position:1em .5em !important; background-repeat:no-repeat !important; }
#contactlist tr > td a.mailto { position: absolute; float: right; clear: none; cursor:pointer; width:22px; height:22px; z-index: 200; opacity: 0.6; background:url('%webroot%/core/img/actions/mail.svg') no-repeat center; }
#contactlist tr > td a.mailto:hover { opacity: 0.8; }
#contactlist.dim { background: #ddd; opacity: .50;filter:Alpha(Opacity=50); }
#contact {
background-color: white; color: #333333;
border-radius: 3px; box-shadow: 0 0 10px #888888;
padding: 10px;
position: fixed !important;
z-index: 200;
top: 8em; left: 35em;
width: 490px;
}
#contact .arrow {
border-bottom: 20px solid white;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
display: block;
height: 0;
position: absolute;
left: -28px; top: 2em;
width: 0;
z-index: 201;
-webkit-transform: rotate(270deg); -moz-transform: rotate(270deg); -o-transform: rotate(270deg);
-ms-transform: rotate(270deg); transform: rotate(270deg);
}
#contact figure img { -moz-border-radius:.3em; -webkit-border-radius:.3em; border-radius:.3em; border: thin solid #bbb; margin: 0.3em; background: url('%webroot%/core/img/loading.gif') no-repeat center center; -moz-box-shadow: 0 1px 3px #777; -webkit-box-shadow: 0 1px 3px #777; box-shadow: 0 1px 3px #777; opacity: 1; }
@ -302,6 +455,14 @@ input.propertytype { float: left; font-size: .8em; width: 8em !important; direct
}
#contact span.adr:hover { /*overflow: inherit;*/ white-space: pre-wrap; }
#contact > ul.propertylist {
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out;
-o-transition: all 0.5s ease-in-out;
-ms-transition: all 0.5s ease-out;
transition: all 0.5s ease-in-out;
}
@media screen and (min-width: 1400px) {
#contact > ul.propertylist {
-moz-column-count: 3;
@ -310,7 +471,7 @@ input.propertytype { float: left; font-size: .8em; width: 8em !important; direct
columns: 3;
}
}
@media screen and (min-width: 800px) and (max-width: 1400) {
@media screen and (min-width: 800px) and (max-width: 1400px) {
#singlevalues { max-width: 50%; }
#contact > ul.propertylist {
-moz-column-count: 2;

78
css/multiselect.css Normal file
View File

@ -0,0 +1,78 @@
/* Copyright (c) 2011, Jan-Christoph Borchardt, http://jancborchardt.net
This file is licensed under the Affero General Public License version 3 or later.
See the COPYING-README file. */
ul.multiselectoptions {
background-color:#fff;
border:1px solid #ddd;
border-top:none;
box-shadow:0 1px 1px #ddd;
padding-top:.5em;
position:absolute;
max-height: 20em;
overflow-y: auto;
z-index:49;
}
ul.multiselectoptions.down {
border-bottom-left-radius:.5em;
border-bottom-right-radius:.5em;
}
ul.multiselectoptions.up {
border-top-left-radius:.5em;
border-top-right-radius:.5em;
}
ul.multiselectoptions>li {
overflow:hidden;
white-space:nowrap;
}
div.multiselect {
display:inline-block;
max-width:400px;
min-width:100px;
padding-right:.6em;
position:relative;
vertical-align:bottom;
}
div.multiselect.active {
background-color:#fff;
position:relative;
z-index:50;
}
div.multiselect.up {
border-top:0 none;
border-top-left-radius:0;
border-top-right-radius:0;
}
div.multiselect.down {
border-bottom:none;
border-bottom-left-radius:0;
border-bottom-right-radius:0;
}
div.multiselect>span:first-child {
float:left;
margin-right:2em;
overflow:hidden;
text-overflow:ellipsis;
width:90%;
}
div.multiselect>span:last-child {
position:absolute;
right:.8em;
}
ul.multiselectoptions input.new {
border-top-left-radius:0;
border-top-right-radius:0;
padding-bottom:.2em;
padding-top:.2em;
margin:0;
}

BIN
img/checkmark-gray.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 742 B

110
img/checkmark-gray.svg Normal file
View File

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.3.1 r9886"
inkscape:export-filename="/home/tol/owncloud/apps/contacts/img/checkmark-green.png"
inkscape:export-xdpi="6"
inkscape:export-ydpi="6"
sodipodi:docname="checkmark.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.0"
sodipodi:modified="true">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 180.81233 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="417.20389 : 180.81233 : 1"
inkscape:persp3d-origin="208.60194 : 120.54155 : 1"
id="perspective2441" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
gridtolerance="10000"
guidetolerance="10"
objecttolerance="10"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="406.63391"
inkscape:cy="114.40134"
inkscape:document-units="px"
inkscape:current-layer="layer1"
inkscape:window-width="1024"
inkscape:window-height="712"
inkscape:window-x="100"
inkscape:window-y="100"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-maximized="0">
<sodipodi:guide
orientation="0,1"
position="348.57143,57.142857"
id="guide3213" />
<sodipodi:guide
orientation="1,0"
position="302.85714,57.142857"
id="guide3215" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" />
<dc:title></dc:title>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/3.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-101.54091,-225.22029)">
<path
style="fill:#6c5353;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="M 404.39805,284.11817 C 368.06032,253.38444 350.86772,226.50504 350.86772,226.50504 283.76197,275.28106 212.49623,448.47251 212.49623,448.47251 179.09795,390.4747 145.5172,374.29794 145.5172,374.29794 c -15.09673,24.88467 -41.11915,58.04874 -41.11915,58.04874 60.69423,20.16404 111.63866,94.15836 111.63866,94.15836 C 326.16622,313.22083 404.39805,284.11817 404.39805,284.11817 z"
id="path5075"
sodipodi:nodetypes="ccccccc"
inkscape:export-filename="C:\Documents and Settings\Staff\Desktop\photos\SVG\path2161.png"
inkscape:export-xdpi="72.839996"
inkscape:export-ydpi="72.839996"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
img/checkmark-green.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 B

109
img/checkmark-green.svg Normal file
View File

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.3.1 r9886"
inkscape:export-filename="C:\Documents and Settings\Staff\Desktop\checkmark.png"
inkscape:export-xdpi="72.839996"
inkscape:export-ydpi="72.839996"
sodipodi:docname="checkmark.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.0"
sodipodi:modified="true">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 180.81233 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="417.20389 : 180.81233 : 1"
inkscape:persp3d-origin="208.60194 : 120.54155 : 1"
id="perspective2441" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
gridtolerance="10000"
guidetolerance="10"
objecttolerance="10"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="165.91962"
inkscape:cy="114.40134"
inkscape:document-units="px"
inkscape:current-layer="layer1"
inkscape:window-width="1024"
inkscape:window-height="712"
inkscape:window-x="100"
inkscape:window-y="100"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-maximized="0">
<sodipodi:guide
orientation="0,1"
position="348.57143,57.142857"
id="guide3213" />
<sodipodi:guide
orientation="1,0"
position="302.85714,57.142857"
id="guide3215" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/3.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-101.54091,-225.22029)">
<path
style="fill:#1e6f1e;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="M 404.39805,284.11817 C 368.06032,253.38444 350.86772,226.50504 350.86772,226.50504 283.76197,275.28106 212.49623,448.47251 212.49623,448.47251 179.09795,390.4747 145.5172,374.29794 145.5172,374.29794 c -15.09673,24.88467 -41.11915,58.04874 -41.11915,58.04874 60.69423,20.16404 111.63866,94.15836 111.63866,94.15836 C 326.16622,313.22083 404.39805,284.11817 404.39805,284.11817 z"
id="path5075"
sodipodi:nodetypes="ccccccc"
inkscape:export-filename="C:\Documents and Settings\Staff\Desktop\photos\SVG\path2161.png"
inkscape:export-xdpi="72.839996"
inkscape:export-ydpi="72.839996"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

78
img/starred.svg Normal file
View File

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="300"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="starred.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="53.205915"
inkscape:cy="122.67739"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1920"
inkscape:window-height="1021"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-148.03866,-752.3843)">
<path
sodipodi:type="star"
style="fill:#ffcc00;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:0.56578944;stroke-dasharray:none"
id="path2987"
sodipodi:sides="5"
sodipodi:cx="330"
sodipodi:cy="1027.7194"
sodipodi:r1="169.28609"
sodipodi:r2="75.090073"
sodipodi:arg1="-1.5686866"
sodipodi:arg2="-0.95344865"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 330.35715,858.43365 43.11057,108.05601 117.64292,9.25721 -89.44547,74.39173 27.54954,114.7457 -98.39092,-62.0794 -100.61637,61.6596 28.63654,-112.759 -89.73387,-76.63797 116.08927,-7.60945 z"
inkscape:transform-center-y="-15.471227"
transform="matrix(0.91668358,0,0,0.96331605,-4.7129291,-71.75982)"
inkscape:transform-center-x="-0.1011681" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -47,7 +47,7 @@ $freeSpace=\OC\Files\Filesystem::free_space('/');
$freeSpace=max($freeSpace, 0);
$maxUploadFilesize = min($maxUploadFilesize, $freeSpace);
OCP\Util::addscript('', 'jquery.multiselect');
OCP\Util::addscript('contacts', 'multiselect');
OCP\Util::addscript('', 'oc-vcategories');
OCP\Util::addscript('contacts', 'app');
OCP\Util::addscript('contacts', 'contacts');
@ -56,10 +56,10 @@ OCP\Util::addscript('contacts', 'placeholder.polyfill.jquery');
OCP\Util::addscript('contacts', 'expanding');
OCP\Util::addscript('contacts', 'jquery.combobox');
OCP\Util::addscript('files', 'jquery.fileupload');
OCP\Util::addscript('core', 'jquery.inview');
//OCP\Util::addscript('core', 'jquery.inview');
OCP\Util::addscript('contacts', 'jquery.Jcrop');
OCP\Util::addscript('contacts', 'jquery.multi-autocomplete');
OCP\Util::addStyle('', 'jquery.multiselect');
OCP\Util::addStyle('contacts', 'multiselect');
OCP\Util::addStyle('contacts', 'jquery.combobox');
OCP\Util::addStyle('contacts', 'jquery.Jcrop');
OCP\Util::addStyle('contacts', 'contacts');

546
js/app.js
View File

@ -196,6 +196,9 @@ GroupList.prototype.selectGroup = function(params) {
console.log('selectGroup', id, $elem);
this.$groupList.find('h3').removeClass('active');
$elem.addClass('active');
if(id === 'new') {
return;
}
this.lastgroup = id;
$(document).trigger('status.group.selected', {
id: this.lastgroup,
@ -329,6 +332,18 @@ GroupList.prototype.removeFrom = function(contactid, groupid, cb) {
var $groupelem = this.findById(groupid);
var contacts = $groupelem.data('contacts');
var ids = [];
// If it's the 'all' group simply decrement the number
if(groupid === 'all') {
var $numelem = $groupelem.find('.numcontacts');
$numelem.text(parseInt($numelem.text()-1)).switchClass('', 'active', 200);
setTimeout(function() {
$numelem.switchClass('active', '', 1000);
}, 2000);
if(typeof cb === 'function') {
cb({status:'success', ids:[id]});
}
}
// If the contact is in the category remove it from internal list.
if(!contacts) {
if(typeof cb === 'function') {
@ -443,8 +458,84 @@ GroupList.prototype.deleteGroup = function(groupid, cb) {
});
}
GroupList.prototype.addGroup = function(name, cb) {
console.log('GroupList.addGroup', name);
GroupList.prototype.editGroup = function(id) {
var self = this;
// NOTE: Currently this only works for adding, not renaming
var saveChanges = function($elem, $input) {
console.log('saveChanges', $input.val());
var name = $input.val().trim();
if(name.length === 0) {
return false;
}
$input.prop('disabled', true);
$elem.data('name', '');
self.addGroup({name:name, element:$elem}, function(response) {
if(response.status === 'success') {
$elem.prepend(name).removeClass('editing').attr('data-id', response.id);
$input.next('.checked').remove()
$input.remove()
} else {
$input.prop('disabled', false);
OC.notify({message:response.message});
}
});
}
if(typeof id === 'undefined') {
// Add new group
var tmpl = this.$groupListItemTemplate;
var $elem = (tmpl).octemplate({
id: 'new',
type: 'category',
num: 0,
name: '',
});
var $input = $('<input type="text" class="active" /><a class="action checked disabled" />');
$elem.prepend($input).addClass('editing');
$elem.data('contacts', []);
this.$groupList.find('h3.group[data-type="category"]').first().before($elem);
this.selectGroup({element:$elem});
$input.on('input', function(event) {
if($(this).val().length > 0) {
$(this).next('.checked').removeClass('disabled');
} else {
$(this).next('.checked').addClass('disabled');
}
});
$input.on('keyup', function(event) {
var keyCode = Math.max(event.keyCode, event.which);
if(keyCode === 13) {
saveChanges($elem, $(this));
} else if(keyCode === 27) {
$elem.remove();
}
});
$input.next('.checked').on('click keydown', function(event) {
console.log('clicked', event);
if(wrongKey(event)) {
return;
}
saveChanges($elem, $input);
});
$input.focus();
} else if(utils.isUInt(id)) {
var $elem = this.findById(id);
var $text = $elem.contents().filter(function(){ return(this.nodeType == 3); });
var name = $text.text();
console.log('Group name', $text, name);
$text.remove();
var $input = $('<input type="text" class="active" value="' + name + '" /><a class="action checked disabled />');
$elem.prepend($input).addClass('editing');
$input.focus();
} else {
throw { name: 'WrongParameterType', message: 'GroupList.editGroup only accept integers.'}
}
}
GroupList.prototype.addGroup = function(params, cb) {
console.log('GroupList.addGroup', params.name);
var name = params.name;
contacts = []; // $.map(contacts, function(c) {return parseInt(c)});
var self = this, exists = false;
self.$groupList.find('h3[data-type="category"]').each(function() {
@ -462,7 +553,9 @@ GroupList.prototype.addGroup = function(name, cb) {
$.post(OC.filePath('contacts', 'ajax', 'categories/add.php'), {category: name}, function(jsondata) {
if (jsondata && jsondata.status == 'success') {
var tmpl = self.$groupListItemTemplate;
var $elem = (tmpl).octemplate({
var $elem = params.element
? params.element
: (tmpl).octemplate({
id: jsondata.data.id,
type: 'category',
num: contacts.length,
@ -484,6 +577,9 @@ GroupList.prototype.addGroup = function(name, cb) {
if(!added) {
$elem.insertAfter(self.$groupList.find('h3.group[data-type="category"]').last());
}
self.selectGroup({element:$elem});
$elem.tipsy({trigger:'manual', gravity:'w', fallback: t('contacts', 'You can drag groups to\narrange them as you like.')});
$elem.tipsy('show');
if(typeof cb === 'function') {
cb({status:'success', id:parseInt(jsondata.data.id), name:name});
}
@ -518,7 +614,7 @@ GroupList.prototype.loadGroups = function(numcontacts, cb) {
name: t('contacts', 'Favorites')
}).appendTo($groupList);
$elem.data('obj', self);
$elem.data('contacts', contacts).find('.numcontacts').before('<span class="starred" />');
$elem.data('contacts', contacts).find('.numcontacts').before('<span class="starred action" />');
$elem.droppable({
drop: self.contactDropped,
activeClass: 'ui-state-active',
@ -636,7 +732,6 @@ OC.Contacts = OC.Contacts || {
this.bindEvents();
this.$toggleAll.show();
this.showActions(['addcontact']);
OC.Share.loadIcons('addressbook');
// Wait 2 mins then check if contacts are indexed.
setTimeout(function() {
@ -694,7 +789,8 @@ OC.Contacts = OC.Contacts || {
this.$ninjahelp = $('#ninjahelp');
this.$firstRun = $('#firstrun');
this.$settings = $('#contacts-settings');
this.$importFileInput = $('#import_fileupload');
this.$importIntoSelect = $('#import_into');
},
// Build the select to add/remove from groups.
buildGroupSelect: function() {
@ -755,7 +851,7 @@ OC.Contacts = OC.Contacts || {
$(document).bind('status.contact.added', function(e, data) {
self.currentid = parseInt(data.id);
self.buildGroupSelect();
self.showActions(['back', 'download', 'delete', 'groups', 'favorite']);
self.hideActions();
});
$(document).bind('status.contact.error', function(e, data) {
@ -764,16 +860,11 @@ OC.Contacts = OC.Contacts || {
$(document).bind('status.contact.enabled', function(e, enabled) {
console.log('status.contact.enabled', enabled)
if(enabled) {
self.showActions(['back', 'download', 'delete', 'groups', 'favorite']);
/*if(enabled) {
self.showActions(['back', 'download', 'delete', 'groups']);
} else {
self.showActions(['back']);
}
if(self.Groups.isFavorite(self.currentid)) {
self.$header.find('.favorite').switchClass('inactive', 'active');
} else {
self.$header.find('.favorite').switchClass('active', 'inactive');
}
}*/
});
$(document).bind('status.contacts.loaded', function(e, result) {
@ -838,6 +929,32 @@ OC.Contacts = OC.Contacts || {
}
});
$(document).bind('request.contact.setasfavorite', function(e, data) {
var id = parseInt(data.id);
console.log('contact', data.id, 'request.contact.setasfavorite');
self.Groups.setAsFavorite(data.id, data.state);
});
$(document).bind('request.contact.export', function(e, data) {
var id = parseInt(data.id);
console.log('contact', data.id, 'request.contact.export');
document.location.href = OC.linkTo('contacts', 'export.php') + '?contactid=' + self.currentid;
});
$(document).bind('request.contact.close', function(e, data) {
var id = parseInt(data.id);
console.log('contact', data.id, 'request.contact.close');
self.closeContact(id);
});
$(document).bind('request.contact.delete', function(e, data) {
var id = parseInt(data.id);
console.log('contact', data.id, 'request.contact.delete');
self.Contacts.delayedDelete(id);
self.$contactList.removeClass('dim');
self.showActions(['add']);
});
$(document).bind('request.select.contactphoto.fromlocal', function(e, result) {
console.log('request.select.contactphoto.fromlocal', result);
$('#contactphoto_fileupload').trigger('click');
@ -906,7 +1023,7 @@ OC.Contacts = OC.Contacts || {
if(self.currentid) {
var id = self.currentid;
self.closeContact(id);
self.Contacts.jumpToContact(id);
self.jumpToContact(id);
}
self.$contactList.show();
self.$toggleAll.show();
@ -971,7 +1088,8 @@ OC.Contacts = OC.Contacts || {
if(wrongKey(event)) {
return;
}
self.addGroup();
self.Groups.editGroup();
//self.addGroup();
});
this.$ninjahelp.find('.close').on('click keydown',function(event) {
@ -988,7 +1106,7 @@ OC.Contacts = OC.Contacts || {
self.buildGroupSelect();
}
if(isChecked) {
self.showActions(['addcontact', 'groups', 'delete']);
self.showActions(['addcontact', 'groups', 'delete', 'favorite']);
} else {
self.showActions(['addcontact']);
}
@ -999,7 +1117,7 @@ OC.Contacts = OC.Contacts || {
if(self.$groups.find('option').length === 1) {
self.buildGroupSelect();
}
self.showActions(['addcontact', 'groups', 'delete']);
self.showActions(['addcontact', 'groups', 'delete', 'favorite']);
} else if(self.Contacts.getSelectedContacts().length === 0) {
self.showActions(['addcontact']);
}
@ -1129,7 +1247,7 @@ OC.Contacts = OC.Contacts || {
if($(event.target).is('input')) {
return;
}
if(event.ctrlKey) {
if(event.ctrlKey || event.metaKey) {
event.stopPropagation();
event.preventDefault();
console.log('select', event);
@ -1155,22 +1273,15 @@ OC.Contacts = OC.Contacts || {
return;
}
console.log('add');
self.$contactList.hide();
self.$toggleAll.hide();
$(this).hide();
self.currentid = 'new';
var props = {
favorite: false,
groups: self.Groups.categories,
};
self.tmpcontact = self.Contacts.addContact();
self.$rightContent.prepend(self.tmpcontact);
self.showActions(['back']);
});
$('.import').on('click keydown', function(event) {
// NOTE: Test if document title changes. If so there's a fix in
// https://github.com/owncloud/apps/pull/212#issuecomment-10516723
if(wrongKey(event)) {
return;
}
console.log('import');
self.hideActions();
});
@ -1182,9 +1293,125 @@ OC.Contacts = OC.Contacts || {
$(this).next('ul').slideUp();
return;
}
console.log('export');
console.log('settings');
var $list = $(this).next('ul');
if($(this).data('id') === 'addressbooks') {
console.log('addressbooks');
if(!self.$addressbookTmpl) {
self.$addressbookTmpl = $('#addressbookTemplate');
}
$list.empty();
$.each(self.Contacts.addressbooks, function(id, book) {
var $li = self.$addressbookTmpl.octemplate({
id: id,
permissions: book.permissions,
displayname: book.displayname,
});
$list.append($li);
});
$list.find('a.action').tipsy({gravity: 'w'});
$list.find('a.action.delete').on('click keypress', function() {
$('.tipsy').remove();
var id = parseInt($(this).parents('li').first().data('id'));
console.log('delete', id);
var $li = $(this).parents('li').first();
$.ajax({
type:'POST',
url:OC.filePath('contacts', 'ajax', 'addressbook/delete.php'),
data:{ id: id },
success:function(jsondata) {
console.log(jsondata);
if(jsondata.status == 'success') {
self.Contacts.unsetAddressbook(id);
$li.remove();
OC.notify({
message:t('contacts','Deleting done. Click here to cancel reloading.'),
timeout:5,
timeouthandler:function() {
console.log('reloading');
window.location.href = OC.linkTo('contacts', 'index.php');
},
clickhandler:function() {
console.log('reloading cancelled');
OC.notify({cancel:true});
}
});
} else {
OC.notify({message:jsondata.data.message});
}
},
error:function(jqXHR, textStatus, errorThrown) {
OC.notify({message:textStatus + ': ' + errorThrown});
id = false;
},
});
});
$list.find('a.action.globe').on('click keypress', function() {
var id = parseInt($(this).parents('li').first().data('id'));
var book = self.Contacts.addressbooks[id];
var uri = (book.owner === oc_current_user ) ? book.uri : book.uri + '_shared_by_' + book.owner;
var link = totalurl+'/'+encodeURIComponent(oc_current_user)+'/'+encodeURIComponent(uri);
var $dropdown = $('<div id="dropdown" class="drop"><input type="text" value="' + link + '" /></div>');
$dropdown.appendTo($(this).parents('li').first());
var $input = $dropdown.find('input');
$input.focus().get(0).select();
$input.on('blur', function() {
$dropdown.hide('blind', function() {
$dropdown.remove();
});
});
});
if(typeof OC.Share !== 'undefined') {
OC.Share.loadIcons('addressbook');
} else {
$list.find('a.action.share').css('display', 'none');
}
} else if($(this).data('id') === 'import') {
console.log('import');
$('.import-upload').show();
$('.import-select').hide();
var addAddressbookCallback = function(select, name) {
var id;
$.ajax({
type:'POST',
async:false,
url:OC.filePath('contacts', 'ajax', 'addressbook/add.php'),
data:{ name: name },
success:function(jsondata) {
console.log(jsondata);
if(jsondata.status == 'success') {
self.Contacts.setAddressbook(jsondata.data.addressbook);
id = jsondata.data.addressbook.id
} else {
OC.notify({message:jsondata.data.message});
}
},
error:function(jqXHR, textStatus, errorThrown) {
OC.notify({message:textStatus + ': ' + errorThrown});
id = false;
},
});
return id;
}
self.$importIntoSelect.empty();
$.each(self.Contacts.addressbooks, function(id, book) {
self.$importIntoSelect.append('<option value="' + id + '">' + book.displayname + '</option>');
});
self.$importIntoSelect.multiSelect({
createCallback:addAddressbookCallback,
singleSelect: true,
createText:String(t('contacts', 'Add address book')),
minWidth: 120,
});
}
$(this).parents('ul').first().find('ul:visible').slideUp();
$(this).next('ul').toggle('slow');
$list.toggle('slow');
});
this.$header.on('click keydown', '.back', function(event) {
@ -1194,7 +1421,6 @@ OC.Contacts = OC.Contacts || {
console.log('back');
self.closeContact(self.currentid);
self.$toggleAll.show();
self.showActions(['addcontact']);
});
this.$header.on('click keydown', '.delete', function(event) {
@ -1230,14 +1456,15 @@ OC.Contacts = OC.Contacts || {
if(!utils.isUInt(self.currentid)) {
return;
}
// FIXME: This should only apply for contacts list.
var state = self.Groups.isFavorite(self.currentid);
console.log('Favorite?', this, state);
self.Groups.setAsFavorite(self.currentid, !state, function(jsondata) {
if(jsondata.status === 'success') {
if(state) {
self.$header.find('.favorite').switchClass('active', 'inactive');
self.$header.find('.favorite').switchClass('active', '');
} else {
self.$header.find('.favorite').switchClass('inactive', 'active');
self.$header.find('.favorite').switchClass('', 'active');
}
} else {
OC.notify({message:t('contacts', jsondata.data.message)});
@ -1254,19 +1481,210 @@ OC.Contacts = OC.Contacts || {
$(this).find('.mailto').fadeOut(100);
});
$(document).on('keyup', function(event) {
// Import using jquery.fileupload
$(function() {
var uploadingFiles = {}, numfiles = 0, uploadedfiles = 0, retries = 0;
var aid, importError = false;
var $progressbar = $('#import-progress');
var $status = $('#import-status-text');
var waitForImport = function() {
if(numfiles == 0 && uploadedfiles == 0) {
$progressbar.progressbar('value',100);
if(!importError) {
OC.notify({
message:t('contacts','Import done. Click here to cancel reloading.'),
timeout:5,
timeouthandler:function() {
console.log('reloading');
window.location.href = OC.linkTo('contacts', 'index.php');
},
clickhandler:function() {
console.log('reloading cancelled');
OC.notify({cancel:true});
}
});
}
retries = aid = 0;
$progressbar.fadeOut();
setTimeout(function() {
$status.fadeOut('slow');
$('.import-upload').show();
}, 3000);
} else {
setTimeout(function() {
waitForImport();
}, 1000);
}
};
var doImport = function(file, aid, cb) {
$.post(OC.filePath('contacts', '', 'import.php'), { id: aid, file: file, fstype: 'OC_FilesystemView' },
function(jsondata) {
if(jsondata.status != 'success') {
importError = true;
OC.notify({message:jsondata.data.message});
}
if(typeof cb == 'function') {
cb(jsondata);
}
});
return false;
};
var importFiles = function(aid, uploadingFiles) {
console.log('importFiles', aid, uploadingFiles);
if(numfiles != uploadedfiles) {
OC.notify({message:t('contacts', 'Not all files uploaded. Retrying...')});
retries += 1;
if(retries > 3) {
numfiles = uploadedfiles = retries = aid = 0;
uploadingFiles = {};
$progressbar.fadeOut();
OC.dialogs.alert(t('contacts', 'Something went wrong with the upload, please retry.'), t('contacts', 'Error'));
return;
}
setTimeout(function() { // Just to let any uploads finish
importFiles(aid, uploadingFiles);
}, 1000);
}
$progressbar.progressbar('value', 50);
var todo = uploadedfiles;
$.each(uploadingFiles, function(fileName, data) {
$status.text(t('contacts', 'Importing from {filename}...', {filename:fileName})).fadeIn();
doImport(fileName, aid, function(response) {
if(response.status === 'success') {
$status.text(t('contacts', '{success} imported, {failed} failed.',
{success:response.data.imported, failed:response.data.failed})).fadeIn();
}
delete uploadingFiles[fileName];
numfiles -= 1; uploadedfiles -= 1;
$progressbar.progressbar('value',50+(50/(todo-uploadedfiles)));
});
})
//$status.text(t('contacts', 'Importing...')).fadeIn();
waitForImport();
};
// Start the actual import.
$('.doImport').on('click keypress', function(event) {
if(wrongKey(event)) {
return;
}
aid = $(this).prev('select').val();
$('.import-select').hide();
importFiles(aid, uploadingFiles);
});
$('#import_fileupload').fileupload({
acceptFileTypes: /^text\/(directory|vcard|x-vcard)$/i,
add: function(e, data) {
var files = data.files;
var totalSize=0;
if(files) {
numfiles += files.length; uploadedfiles = 0;
for(var i=0;i<files.length;i++) {
if(files[i].size ==0 && files[i].type== '') {
OC.dialogs.alert(t('files', 'Unable to upload your file as it is a directory or has 0 bytes'), t('files', 'Upload Error'));
return;
}
totalSize+=files[i].size;
}
}
if(totalSize>$('#max_upload').val()) {
OC.dialogs.alert(t('contacts','The file you are trying to upload exceed the maximum size for file uploads on this server.'), t('contacts','Upload too large'));
numfiles = uploadedfiles = retries = aid = 0;
uploadingFiles = {};
return;
} else {
if($.support.xhrFileUpload) {
$.each(files, function(i, file) {
var fileName = file.name;
console.log('file.name', file.name);
var jqXHR = $('#import_fileupload').fileupload('send',
{
files: file,
formData: function(form) {
var formArray = form.serializeArray();
formArray['aid'] = aid;
return formArray;
}})
.success(function(response, textStatus, jqXHR) {
if(response.status == 'success') {
// import the file
uploadedfiles += 1;
} else {
OC.notify({message:response.data.message});
}
return false;
})
.error(function(jqXHR, textStatus, errorThrown) {
console.log(textStatus);
OC.notify({message:errorThrown + ': ' + textStatus,});
});
uploadingFiles[fileName] = jqXHR;
});
} else {
data.submit().success(function(data, status) {
response = jQuery.parseJSON(data[0].body.innerText);
if(response[0] != undefined && response[0].status == 'success') {
var file=response[0];
delete uploadingFiles[file.name];
$('tr').filterAttr('data-file',file.name).data('mime',file.mime);
var size = $('tr').filterAttr('data-file',file.name).find('td.filesize').text();
if(size==t('files','Pending')){
$('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size);
}
FileList.loadingDone(file.name);
} else {
OC.notify({message:response.data.message});
}
});
}
}
},
fail: function(e, data) {
console.log('fail');
OC.notify({message:data.errorThrown + ': ' + data.textStatus});
// TODO: Remove file from upload queue.
},
progressall: function(e, data) {
var progress = (data.loaded/data.total)*50;
$progressbar.progressbar('value',progress);
},
start: function(e, data) {
$progressbar.progressbar({value:0});
$progressbar.fadeIn();
if(data.dataType != 'iframe ') {
$('#upload input.stop').show();
}
},
stop: function(e, data) {
console.log('stop, data', data);
// stop only gets fired once so we collect uploaded items here.
$('.import-upload').hide();
$('.import-select').show();
if(data.dataType != 'iframe ') {
$('#upload input.stop').hide();
}
}
})
});
$(document).on('keypress', function(event) {
if(event.target.nodeName.toUpperCase() != 'BODY') {
return;
}
var keyCode = Math.max(event.keyCode, event.which);
// TODO: This should go in separate method
console.log(event.which + ' ' + event.target.nodeName);
console.log(event, keyCode + ' ' + event.target.nodeName);
/**
* To add:
* Shift-a: add addressbook
* u (85): hide/show leftcontent
* f (70): add field
*/
switch(event.which) {
switch(keyCode) {
case 13: // Enter?
console.log('Enter?');
if(!self.currentid && self.currentlistid) {
@ -1334,7 +1752,13 @@ OC.Contacts = OC.Contacts || {
});
$('#content > [title]').tipsy(); // find all with a title attribute and tipsy them
// find all with a title attribute and tipsy them
$('.tooltipped.downwards:not(.onfocus)').tipsy({gravity: 'n'});
$('.tooltipped.upwards:not(.onfocus)').tipsy({gravity: 's'});
$('.tooltipped.rightwards:not(.onfocus)').tipsy({gravity: 'w'});
$('.tooltipped.leftwards:not(.onfocus)').tipsy({gravity: 'e'});
$('.tooltipped.downwards.onfocus').tipsy({trigger: 'focus', gravity: 'n'});
$('.tooltipped.rightwards.onfocus').tipsy({trigger: 'focus', gravity: 'w'});
},
addGroup: function(cb) {
var self = this;
@ -1351,7 +1775,7 @@ OC.Contacts = OC.Contacts || {
buttons: {
'Ok':function() {
self.Groups.addGroup(
$dlg.find('input:text').val(),
{name:$dlg.find('input:text').val()},
function(response) {
if(typeof cb === 'function') {
cb(response);
@ -1384,7 +1808,7 @@ OC.Contacts = OC.Contacts || {
});
},
jumpToContact: function(id) {
this.$rightContent.scrollTop(this.Contacts.contactPos(id));
this.$rightContent.scrollTop(this.Contacts.contactPos(id)+10);
},
closeContact: function(id) {
if(typeof this.currentid === 'number') {
@ -1396,7 +1820,9 @@ OC.Contacts = OC.Contacts || {
this.tmpcontact.remove();
this.$contactList.show();
}
this.$contactList.removeClass('dim');
delete this.currentid;
this.showActions(['addcontact']);
this.$groups.find('optgroup,option:not([value="-1"])').remove();
},
openContact: function(id) {
@ -1405,12 +1831,28 @@ OC.Contacts = OC.Contacts || {
this.closeContact(this.currentid);
}
this.currentid = parseInt(id);
console.log('Contacts.openContact, Favorite', this.currentid, this.Groups.isFavorite(this.currentid), this.Groups);
this.setAllChecked(false);
this.$contactList.hide();
//this.$contactList.hide();
this.$contactList.addClass('dim');
this.$toggleAll.hide();
var $contactelem = this.Contacts.showContact(this.currentid);
this.jumpToContact(this.currentid);
var props = {
favorite: this.Groups.isFavorite(this.currentid),
groups: this.Groups.categories,
};
var $contactelem = this.Contacts.showContact(this.currentid, props);
var self = this;
var $contact = $contactelem.find('#contact');
var adjustElems = function() {
var maxheight = document.documentElement.clientHeight - 200; // - ($contactelem.offset().top+70);
console.log('contact maxheight', maxheight);
$contactelem.find('ul').first().css({'max-height': maxheight, 'overflow-y': 'auto', 'overflow-x': 'hidden'});
};
$(window).resize(adjustElems);
//$contact.resizable({ minWidth: 400, minHeight: 400, maxHeight: maxheight});
this.$rightContent.prepend($contactelem);
this.buildGroupSelect();
adjustElems();
},
update: function() {
console.log('update');
@ -1561,9 +2003,14 @@ OC.Contacts = OC.Contacts || {
}
});
},
// NOTE: Deprecated
addAddressbook:function(data, cb) {
$.post(OC.filePath('contacts', 'ajax', 'addressbook/add.php'), { name: data.name, description: data.description },
function(jsondata) {
$.ajax({
type:'POST',
async:false,
url:OC.filePath('contacts', 'ajax', 'addressbook/add.php'),
data:{ name: data.name, description: data.description },
success:function(jsondata) {
if(jsondata.status == 'success') {
if(typeof cb === 'function') {
cb({
@ -1573,11 +2020,12 @@ OC.Contacts = OC.Contacts || {
}
} else {
if(typeof cb === 'function') {
cb({status:'error'});
cb({status:'error', message:jsondata.data.message});
}
}
});
}});
},
// NOTE: Deprecated
selectAddressbook:function(cb) {
var self = this;
var jqxhr = $.get(OC.filePath('contacts', 'templates', 'selectaddressbook.html'), function(data) {

View File

@ -1,8 +1,8 @@
OC.Contacts = OC.Contacts || {};
(function($) {
(function(window, $, OC) {
'use strict';
/**
* An item which binds the appropriate html and event handlers
* @param parent the parent ContactList
@ -46,29 +46,33 @@ OC.Contacts = OC.Contacts || {};
case 'TITLE':
case 'ORG':
case 'BDAY':
this.$fullelem.find('[data-element="' + name.toLowerCase() + '"]').show();
case 'NOTE':
this.$fullelem.find('[data-element="' + name.toLowerCase() + '"]').addClass('new').show();
$option.prop('disabled', true);
break;
case 'TEL':
case 'URL':
case 'EMAIL':
$elem = this.renderStandardProperty(name.toLowerCase());
var $elem = this.renderStandardProperty(name.toLowerCase());
var $list = this.$fullelem.find('ul.' + name.toLowerCase());
$list.show();
$list.append($elem);
$elem.find('input.value').addClass('new');
break;
case 'ADR':
$elem = this.renderAddressProperty();
var $elem = this.renderAddressProperty();
var $list = this.$fullelem.find('ul.' + name.toLowerCase());
$list.show();
$list.append($elem);
$elem.find('.adr.display').trigger('click');
$elem.find('.display').trigger('click');
$elem.find('input.value').addClass('new');
break;
case 'IMPP':
$elem = this.renderIMProperty();
var $elem = this.renderIMProperty();
var $list = this.$fullelem.find('ul.' + name.toLowerCase());
$list.show();
$list.append($elem);
$elem.find('input.value').addClass('new');
break;
}
}
@ -87,6 +91,10 @@ OC.Contacts = OC.Contacts || {};
};
if(this.multi_properties.indexOf(element) !== -1) {
params['checksum'] = this.checksumFor(obj);
if(params['checksum'] === 'new' && this.valueFor(obj).trim() === '') {
$container.remove();
return;
}
}
this.setAsSaving(obj, true);
var self = this;
@ -108,9 +116,7 @@ OC.Contacts = OC.Contacts || {};
for(var i in self.data[element]) {
if(self.data[element][i].checksum === checksum) {
// Found it
var prop = self.data[element][i];
self.data[element].splice(self.data[element].indexOf(prop), 1);
delete prop;
self.data[element].splice(self.data[element].indexOf(self.data[element][i]), 1);
break;
}
}
@ -150,10 +156,9 @@ OC.Contacts = OC.Contacts || {};
var self = this;
this.add({isnew:true}, function(response) {
if(!response || response.status === 'error') {
console.log('No response object');
console.warn('No response object');
return false;
}
console.log('Contact added.' + self.id);
self.saveProperty(params);
});
return;
@ -181,6 +186,7 @@ OC.Contacts = OC.Contacts || {};
status: 'error',
message: t('contacts', 'Network or server error. Please inform administrator.'),
});
$(obj).addClass('error');
self.setAsSaving(obj, false);
return false;
}
@ -204,6 +210,7 @@ OC.Contacts = OC.Contacts || {};
}
}
} else {
$(obj).removeClass('new');
self.data[element].push({
name: element,
value: self.valueFor(obj),
@ -220,6 +227,10 @@ OC.Contacts = OC.Contacts || {};
// We deal with this in addToGroup()
break;
case 'FN':
if(!self.data.FN || !self.data.FN.length) {
self.data.FN = [{name:'FN', value:'', parameters:[]}]
}
self.data.FN[0]['value'] = value;
// Update the list element
self.$listelem.find('.nametext').text(value);
var nempty = true;
@ -235,7 +246,7 @@ OC.Contacts = OC.Contacts || {};
});
if(nempty) {
self.data.N[0]['value'] = ['', '', '', '', ''];
nvalue = value.split(' ');
var nvalue = value.split(' ');
// Very basic western style parsing. I'm not gonna implement
// https://github.com/android/platform_packages_providers_contactsprovider/blob/master/src/com/android/providers/contacts/NameSplitter.java ;)
self.data.N[0]['value'][0] = nvalue.length > 2 && nvalue.slice(nvalue.length-1).toString() || nvalue[1] || '';
@ -243,7 +254,7 @@ OC.Contacts = OC.Contacts || {};
self.data.N[0]['value'][2] = nvalue.length > 2 && nvalue.slice(1, nvalue.length-1).join(' ') || '';
setTimeout(function() {
// TODO: Hint to user to check if name is properly formatted
console.log('auto creating N', self.data.N[0].value)
//console.log('auto creating N', self.data.N[0].value)
self.saveProperty({name:'N', value:self.data.N[0].value.join(';')});
setTimeout(function() {
self.$fullelem.find('.fullname').next('.action.edit').trigger('click');
@ -262,10 +273,8 @@ OC.Contacts = OC.Contacts || {};
if(!utils.isArray(value)) {
value = value.split(';');
// Then it is auto-generated from FN.
var $nelems = self.$fullelem.find('.n.edit input');
console.log('nelems', $nelems);
var $nelems = self.$fullelem.find('.n.editor input');
$.each(value, function(idx, val) {
console.log('nval', val);
self.$fullelem.find('#n_' + idx).val(val);
});
}
@ -273,6 +282,7 @@ OC.Contacts = OC.Contacts || {};
case 'BDAY':
case 'ORG':
case 'TITLE':
case 'NOTE':
self.data[element][0] = {
name: element,
value: value,
@ -348,14 +358,13 @@ OC.Contacts = OC.Contacts || {};
* @param boolean enabled
*/
Contact.prototype.setEnabled = function(enabled) {
console.log('setEnabled', enabled);
if(enabled) {
this.$fullelem.find('#addproperty').show();
} else {
this.$fullelem.find('#addproperty').hide();
}
this.enabled = enabled;
this.$fullelem.find('.value,.action').each(function () {
this.$fullelem.find('.value,.action,.parameter').each(function () {
$(this).prop('disabled', !enabled);
});
$(document).trigger('status.contact.enabled', enabled);
@ -443,8 +452,13 @@ OC.Contacts = OC.Contacts || {};
if($(obj).hasClass('propertycontainer')) {
q += '&value=' + encodeURIComponent($(obj).val());
} else {
q += '&' + this.propertyContainerFor(obj)
.find('input.value,select.value,textarea.value,.parameter').serialize();
var $elements = this.propertyContainerFor(obj)
.find('input.value,select.value,textarea.value,.parameter');
if($elements.length > 1) {
q += '&' + $elements.serialize();
} else {
q += '&value=' + encodeURIComponent($elements.val());
}
}
return q;
}
@ -465,10 +479,10 @@ OC.Contacts = OC.Contacts || {};
return $container.is('input')
? $container.val()
: (function() {
var $elem = $container.find('input.value:not(:checkbox)');
var $elem = $container.find('textarea.value,input.value:not(:checkbox)');
console.assert($elem.length > 0, 'Couldn\'t find value for ' + $container.data('element'));
if($elem.length === 1) {
return $elem.val;
return $elem.val();
} else if($elem.length > 1) {
var retval = [];
$.each($elem, function(idx, e) {
@ -499,7 +513,6 @@ OC.Contacts = OC.Contacts || {};
}
parameters[paramname].push(val);
});
console.log('Contact.parametersFor', parameters);
return parameters;
}
@ -534,15 +547,16 @@ OC.Contacts = OC.Contacts || {};
* Render the full contact
* @return A jquery object to be inserted in the DOM
*/
Contact.prototype.renderContact = function() {
Contact.prototype.renderContact = function(props) {
var self = this;
var n = this.getPreferredValue('N', ['', '', '', '', '']);
console.log('renderContact', this.data);
//console.log('Contact.renderContact', this.data);
var values = this.data
? {
id: this.id,
favorite:props.favorite ? 'active' : '',
name: this.getPreferredValue('FN', ''),
n0: n[0], n1: n[1], n2: n[2], n3: n[3], n4: n[4],
n0: n[0]||'', n1: n[1]||'', n2: n[2]||'', n3: n[3]||'', n4: n[4]||'',
nickname: this.getPreferredValue('NICKNAME', ''),
title: this.getPreferredValue('TITLE', ''),
org: this.getPreferredValue('ORG', []).clean('').join(', '), // TODO Add parts if more than one.
@ -551,12 +565,17 @@ OC.Contacts = OC.Contacts || {};
$.datepicker.parseDate('yy-mm-dd',
this.getPreferredValue('BDAY', '').substring(0, 10)))
: '',
note: this.getPreferredValue('NOTE', ''),
}
: {id: '', name: '', nickname: '', title: '', org: '', bday: '', n0: '', n1: '', n2: '', n3: '', n4: ''};
: {id:'', favorite:'', name:'', nickname:'', title:'', org:'', bday:'', note:'', n0:'', n1:'', n2:'', n3:'', n4:''};
this.$fullelem = this.$fullTemplate.octemplate(values).data('contactobject', this);
this.$fullelem.find('.tooltipped.rightwards.onfocus').tipsy({trigger: 'focus', gravity: 'w'});
this.$fullelem.on('submit', function() {
return false;
});
this.$addMenu = this.$fullelem.find('#addproperty');
this.$addMenu.on('change', function(event) {
console.log('add', $(this).val());
//console.log('add', $(this).val());
var $opt = $(this).find('option:selected');
self.addProperty($opt, $(this).val());
$(this).val('');
@ -568,16 +587,15 @@ OC.Contacts = OC.Contacts || {};
$fullname.next('.edit').css('opacity', '0');
});
$fullname.next('.edit').on('click keydown', function(event) {
console.log('edit name', event);
//console.log('edit name', event);
$('.tipsy').remove();
if(wrongKey(event)) {
return;
}
$(this).css('opacity', '0');
var $editor = $(this).next('.n.edit').first();
var $editor = $(this).next('.n.editor').first();
var bodyListener = function(e) {
if($editor.find($(e.target)).length == 0) {
console.log('this', $(this));
$editor.toggle('blind');
$('body').unbind('click', bodyListener);
}
@ -586,34 +604,69 @@ OC.Contacts = OC.Contacts || {};
$('body').bind('click', bodyListener);
});
});
var $singleelements = this.$fullelem.find('dd.propertycontainer');
$singleelements.find('.action').css('opacity', '0');
$singleelements.on('mouseenter', function() {
$(this).find('.action').css('opacity', '1');
}).on('mouseleave', function() {
$(this).find('.action').css('opacity', '0');
});
this.$fullelem.on('click keydown', '.delete', function(event) {
console.log('delete', event);
$('.tipsy').remove();
if(wrongKey(event)) {
return;
}
self.deleteProperty({obj:event.target});
});
var $footer = this.$fullelem.find('footer');
$footer.on('click keydown', 'button', function(event) {
$('.tipsy').remove();
if(wrongKey(event)) {
return;
}
if($(this).is('.close')) {
$(document).trigger('request.contact.close', {
id: self.id,
});
} else if($(this).is('.export')) {
$(document).trigger('request.contact.export', {
id: self.id,
});
} else if($(this).is('.deletecontact')) {
$(document).trigger('request.contact.delete', {
id: self.id,
});
}
return false;
});
this.$fullelem.on('keypress', '.value,.parameter', function(event) {
if(event.keyCode === 13 && $(this).is('input')) {
console.log('Enter');
$(this).trigger('change');
return false;
} else if(event.keyCode === 27) {
$(document).trigger('request.contact.close', {
id: self.id,
});
}
});
this.$fullelem.on('change', '.value,.parameter', function(event) {
console.log('change', event);
self.saveProperty({obj:event.target});
});
this.$fullelem.find('form').on('submit', function(event) {
console.log('submit', this, event);
return false;
});
this.$fullelem.find('[data-element="bday"]')
.find('input').datepicker({
dateFormat : 'dd-mm-yy'
});
this.$fullelem.find('.favorite').on('click', function () {
var state = $(this).hasClass('active');
if(state) {
$(this).switchClass('active', 'inactive');
} else {
$(this).switchClass('inactive', 'active');
}
$(document).trigger('request.contact.setasfavorite', {
id: self.id,
state: !state,
});
});
this.loadPhoto();
if(!this.data) {
// A new contact
@ -623,13 +676,12 @@ OC.Contacts = OC.Contacts || {};
// Loop thru all single occurrence values. If not set hide the
// element, if set disable the add menu entry.
$.each(values, function(name, value) {
console.log('name', name, 'value', value);
if(typeof value === 'undefined') {
return true; //continue
}
value = value.toString();
if(self.multi_properties.indexOf(value.toUpperCase()) === -1) {
if(!value.length) {
console.log('hiding', name);
self.$fullelem.find('[data-element="' + name + '"]').hide();
} else {
self.$addMenu.find('option[value="' + name.toUpperCase() + '"]').prop('disabled', true);
@ -644,7 +696,7 @@ OC.Contacts = OC.Contacts || {};
if(typeof self.data[name][p] === 'object') {
var property = self.data[name][p];
//console.log(name, p, property);
$property = null;
var $property = null;
switch(name) {
case 'TEL':
case 'URL':
@ -681,7 +733,7 @@ OC.Contacts = OC.Contacts || {};
meta.push($cb.attr('title'));
}
else if(param.toUpperCase() == 'TYPE') {
for(etype in property.parameters[param]) {
for(var etype in property.parameters[param]) {
var found = false;
var et = property.parameters[param][etype];
if(typeof et !== 'string') {
@ -720,11 +772,6 @@ OC.Contacts = OC.Contacts || {};
singleclick: true,
classes: ['propertytype', 'float', 'label'],
});
$property.on('mouseenter', function() {
$(this).find('.listactions').css('opacity', '1');
}).on('mouseleave', function() {
$(this).find('.listactions').css('opacity', '0');
});
}
$list.append($property);
}
@ -759,8 +806,7 @@ OC.Contacts = OC.Contacts || {};
var values = property
? { value: property.value, checksum: property.checksum }
: { value: '', checksum: 'new' };
$elem = this.detailTemplates[name].octemplate(values);
return $elem;
return this.detailTemplates[name].octemplate(values);
}
/**
@ -768,9 +814,8 @@ OC.Contacts = OC.Contacts || {};
* @return A jquery object to be injected in the DOM
*/
Contact.prototype.renderAddressProperty = function(idx, property) {
console.log('Contact.renderAddressProperty', property)
if(!this.detailTemplates['adr']) {
console.log('No template for adr', this.detailTemplates);
console.warn('No template for adr', this.detailTemplates);
return;
}
if(typeof idx === 'undefined') {
@ -795,20 +840,19 @@ OC.Contacts = OC.Contacts || {};
: {value:'', checksum:'new', adr0:'', adr1:'', adr2:'', adr3:'', adr4:'', adr5:'', adr6:'', idx: idx};
var $elem = this.detailTemplates['adr'].octemplate(values);
var self = this;
$elem.find('.tooltipped.downwards:not(.onfocus)').tipsy({gravity: 'n'});
$elem.find('.tooltipped.rightwards.onfocus').tipsy({trigger: 'focus', gravity: 'w'});
$elem.find('.display').on('click', function() {
$(this).next('.listactions').hide();
var $editor = $(this).siblings('.adr.edit').first();
var $editor = $(this).siblings('.adr.editor').first();
var $viewer = $(this);
var bodyListener = function(e) {
if($editor.find($(e.target)).length == 0) {
console.log('this', $(this));
$editor.toggle('blind');
$viewer.slideDown(400, function() {
var input = $editor.find('input').first();
console.log('input', input);
var val = self.valueFor(input);
var params = self.parametersFor(input, true);
console.log('val', val, 'params', params);
$(this).find('.meta').html(params['TYPE'].join('/'));
$(this).find('.adr').html(escapeHTML(self.valueFor($editor.find('input').first()).clean('').join(', ')));
$(this).next('.listactions').css('display', 'inline-block');
@ -821,6 +865,64 @@ OC.Contacts = OC.Contacts || {};
$('body').bind('click', bodyListener);
});
});
$elem.find('.value.city')
.autocomplete({
source: function( request, response ) {
$.ajax({
url: "http://ws.geonames.org/searchJSON",
dataType: "jsonp",
data: {
featureClass: "P",
style: "full",
maxRows: 12,
lang: lang,
name_startsWith: request.term
},
success: function( data ) {
response( $.map( data.geonames, function( item ) {
return {
label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
value: item.name,
country: item.countryName
}
}));
}
});
},
minLength: 2,
select: function( event, ui ) {
if(ui.item && $elem.find('.value.country').val().trim().length == 0) {
$elem.find('.value.country').val(ui.item.country);
}
},
});
$elem.find('.value.country')
.autocomplete({
source: function( request, response ) {
$.ajax({
url: "http://ws.geonames.org/searchJSON",
dataType: "jsonp",
data: {
/*featureClass: "A",*/
featureCode: "PCLI",
/*countryBias: "true",*/
/*style: "full",*/
lang: lang,
maxRows: 12,
name_startsWith: request.term
},
success: function( data ) {
response( $.map( data.geonames, function( item ) {
return {
label: item.name,
value: item.name
}
}));
}
});
},
minLength: 2,
});
return $elem;
}
@ -830,15 +932,14 @@ OC.Contacts = OC.Contacts || {};
*/
Contact.prototype.renderIMProperty = function(property) {
if(!this.detailTemplates['impp']) {
console.log('No template for impp', this.detailTemplates);
console.warn('No template for impp', this.detailTemplates);
return;
}
var values = property ? {
value: property.value,
checksum: property.checksum,
} : {value: '', checksum: 'new'};
$elem = this.detailTemplates['impp'].octemplate(values);
return $elem;
return this.detailTemplates['impp'].octemplate(values);
}
/**
@ -851,13 +952,12 @@ OC.Contacts = OC.Contacts || {};
this.$photowrapper = this.$fullelem.find('#photowrapper');
this.$photowrapper.addClass('loading').addClass('wait');
var $phototools = this.$fullelem.find('#phototools');
console.log('photowrapper', this.$photowrapper.length);
delete this.photo;
$('img.contactphoto').remove()
this.photo = new Image();
$(this.photo).load(function () {
$(this).addClass('contactphoto');
self.$photowrapper.css('width', $(this).get(0).width + 10);
self.$photowrapper.css({width: $(this).get(0).width + 10, height: $(this).get(0).height + 10});
self.$photowrapper.removeClass('loading').removeClass('wait');
$(this).insertAfter($phototools).fadeIn();
}).error(function () {
@ -865,7 +965,10 @@ OC.Contacts = OC.Contacts || {};
}).attr('src', OC.linkTo('contacts', 'photo.php')+'?id='+id+refreshstr);
if(!dontloadhandlers && this.isEditable()) {
this.$photowrapper.on('mouseenter', function() {
this.$photowrapper.on('mouseenter', function(event) {
if(event.target !== this) {
return;
}
$phototools.slideDown(200);
}).on('mouseleave', function() {
$phototools.slideUp(200);
@ -878,19 +981,16 @@ OC.Contacts = OC.Contacts || {};
$phototools.find('li a').tipsy();
$phototools.find('.edit').on('click', function() {
console.log('TODO: edit photo');
$(document).trigger('request.edit.contactphoto', {
id: self.id,
});
});
$phototools.find('.cloud').on('click', function() {
console.log('select photo from cloud');
$(document).trigger('request.select.contactphoto.fromcloud', {
id: self.id,
});
});
$phototools.find('.upload').on('click', function() {
console.log('select photo from local');
$(document).trigger('request.select.contactphoto.fromlocal', {
id: self.id,
});
@ -903,7 +1003,6 @@ OC.Contacts = OC.Contacts || {};
$phototools.find('.edit').hide();
}
$(document).bind('status.contact.photoupdated', function(e, result) {
console.log('Contact - photoupdated')
self.loadPhoto(true);
var refreshstr = '&refresh='+Math.random();
self.getListItemElement().find('td.name')
@ -981,18 +1080,10 @@ OC.Contacts = OC.Contacts || {};
if(!this.data.CATEGORIES) {
this.data.CATEGORIES = [{value:[name]},];
} else {
var found = false;
$.each(this.data.CATEGORIES[0].value, function(idx, category) {
if(name.toLowerCase() === category.toLowerCase()) {
found = true;
return false;
}
});
if(found) {
if(this.inGroup(name)) {
return;
}
this.data.CATEGORIES[0].value.push(name);
console.log('listelem categories', this.getPreferredValue('CATEGORIES', []).clean('').join(' / '));
if(this.$listelem) {
this.$listelem.find('td.categories')
.text(this.getPreferredValue('CATEGORIES', []).clean('').join(' / '));
@ -1154,13 +1245,14 @@ OC.Contacts = OC.Contacts || {};
}
ContactList.prototype.contactPos = function(id) {
console.log('ContactList.contactPos, id', id);
console.trace()
if(!id) {
console.log('id missing');
console.warn('id missing');
return false;
}
var $elem = this.contacts[parseInt(id)].getListItemElement();
var pos = $elem.offset().top - this.$contactList.offset().top + this.$contactList.scrollTop();
console.log('pos', pos);
return pos;
}
@ -1172,16 +1264,6 @@ OC.Contacts = OC.Contacts || {};
this.contacts[parseInt(id)].close();
}
/**
* Jumps to an element in the contact list
* @param number the number of the item starting with 0
*/
ContactList.prototype.jumpToContact = function(id) {
var pos = this.contactPos(id);
console.log('scrollTop', pos);
this.$contactList.scrollTop(pos);
};
/**
* Returns a Contact object by searching for its id
* @param id the id of the node
@ -1286,11 +1368,11 @@ OC.Contacts = OC.Contacts || {};
* @param id the id of the contact
* @returns A jquery object to be inserted in the DOM.
*/
ContactList.prototype.showContact = function(id) {
ContactList.prototype.showContact = function(id, props) {
console.assert(typeof id === 'number', 'ContactList.showContact called with a non-number');
this.currentContact = id;
console.log('Contacts.showContact', id, this.contacts[this.currentContact], this.contacts)
return this.contacts[this.currentContact].renderContact();
return this.contacts[this.currentContact].renderContact(props);
};
/**
@ -1298,7 +1380,6 @@ OC.Contacts = OC.Contacts || {};
* @param contact jQuery object.
*/
ContactList.prototype.insertContact = function($contact) {
console.log('insertContact', $contact);
$contact.draggable({
distance: 10,
revert: 'invalid',
@ -1324,8 +1405,9 @@ OC.Contacts = OC.Contacts || {};
/**
* Add contact
* @param object props
*/
ContactList.prototype.addContact = function() {
ContactList.prototype.addContact = function(props) {
var contact = new Contact(
this,
null,
@ -1339,7 +1421,7 @@ OC.Contacts = OC.Contacts || {};
console.assert(typeof this.currentContact == 'number', 'this.currentContact is not a number');
this.contacts[this.currentContact].close();
}
return contact.renderContact();
return contact.renderContact(props);
}
/**
@ -1380,6 +1462,29 @@ OC.Contacts = OC.Contacts || {};
});
}
/**
* Save addressbook data
* @param int id
*/
ContactList.prototype.unsetAddressbook = function(id) {
delete this.addressbooks[id];
}
/**
* Save addressbook data
* @param object book
*/
ContactList.prototype.setAddressbook = function(book) {
this.addressbooks[parseInt(book.id)] = {
owner: book.userid,
uri: book.uri,
permissions: parseInt(book.permissions),
id: parseInt(book.id),
displayname: book.displayname,
description: book.description,
active: Boolean(parseInt(book.active)),
};
}
/**
* Load contacts
* @param int offset
@ -1389,17 +1494,10 @@ OC.Contacts = OC.Contacts || {};
// Should the actual ajax call be in the controller?
$.getJSON(OC.filePath('contacts', 'ajax', 'contact/list.php'), {offset: offset}, function(jsondata) {
if (jsondata && jsondata.status == 'success') {
console.log('ContactList.loadContacts', jsondata.data);
//console.log('ContactList.loadContacts', jsondata.data);
self.addressbooks = {};
$.each(jsondata.data.addressbooks, function(i, book) {
self.addressbooks[parseInt(book.id)] = {
owner: book.userid,
permissions: parseInt(book.permissions),
id: parseInt(book.id),
displayname: book.displayname,
description: book.description,
active: Boolean(parseInt(book.active)),
};
self.setAddressbook(book);
});
$.each(jsondata.data.contacts, function(c, contact) {
self.contacts[parseInt(contact.id)]
@ -1438,4 +1536,4 @@ OC.Contacts = OC.Contacts || {};
}
OC.Contacts.ContactList = ContactList;
})( jQuery );
})(window, jQuery, OC);

282
js/multiselect.js Normal file
View File

@ -0,0 +1,282 @@
/**
* @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.
* @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.
*/
(function( $ ){
var multiSelectId=-1;
$.fn.multiSelect=function(options) {
multiSelectId++;
var settings = {
'createCallback':false,
'createText':false,
'singleSelect':false,
'title':this.attr('title'),
'checked':[],
'labels':[],
'oncheck':false,
'onuncheck':false,
'minWidth': 'default;',
};
$(this).attr('data-msid', multiSelectId);
$.extend(settings,options);
$.each(this.children(),function(i,option) {
// If the option is selected, but not in the checked array, add it.
if($(option).attr('selected') && settings.checked.indexOf($(option).val()) === -1) {
settings.checked.push($(option).val());
settings.labels.push($(option).text().trim());
}
// If the option is in the checked array but not selected, select it.
else if(settings.checked.indexOf($(option).val()) !== -1 && !$(option).attr('selected')) {
$(option).attr('selected', 'selected');
settings.labels.push($(option).text().trim());
}
});
var button=$('<div class="multiselect button"><span>'+settings.title+'</span><span>▾</span></div>');
var span=$('<span/>');
span.append(button);
button.data('id',multiSelectId);
button.selectedItems=[];
this.hide();
this.before(span);
if(settings.minWidth=='default') {
settings.minWidth=button.width();
}
button.css('min-width',settings.minWidth);
settings.minOuterWidth=button.outerWidth()-2;
button.data('settings',settings);
if(!settings.singleSelect && settings.checked.length>0) {
button.children('span').first().text(settings.labels.join(', '));
} else if(settings.singleSelect) {
button.children('span').first().text(this.find(':selected').text());
}
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');
});
} else {
button.parent().children('ul').fadeOut(400,function() {
button.parent().children('ul').remove();
button.removeClass('active').removeClass('up');
});
}
return;
}
var lists=$('ul.multiselectoptions');
lists.slideUp(400,function(){
lists.remove();
$('div.multiselect').removeClass('active');
button.addClass('active');
});
button.addClass('active');
event.stopPropagation();
var options=$(this).parent().next().children();
var list=$('<ul class="multiselectoptions"/>').hide().appendTo($(this).parent());
var inputType = settings.singleSelect ? 'radio' : 'checkbox';
function createItem(element, checked){
element=$(element);
var item=element.val();
var id='ms'+multiSelectId+'-option-'+item;
var input=$('<input type="' + inputType + '"/>');
input.attr('id',id);
if(settings.singleSelect) {
input.attr('name', 'ms'+multiSelectId+'-option');
}
var label=$('<label/>');
label.attr('for',id);
label.text(element.text() || item);
if(settings.checked.indexOf(item)!=-1 || checked) {
input.attr('checked', true);
}
if(checked){
if(settings.singleSelect) {
settings.checked = [item];
settings.labels = [item];
} else {
settings.checked.push(item);
settings.labels.push(item);
}
}
input.change(function(){
var value = $(this).attr('id').substring(String('ms'+multiSelectId+'-option').length+1);
var label = $(this).next().text().trim();
if($(this).is(':checked')) {
if(settings.singleSelect) {
settings.checked = [];
settings.labels = [];
$.each(self.find('option'), function() {
$(this).removeAttr('selected');
});
}
element.attr('selected','selected');
if(typeof settings.oncheck === 'function') {
if(settings.oncheck(value)===false) {
$(this).attr('checked', false);
return;
}
}
settings.checked.push(value);
settings.labels.push(label);
} else {
var index=settings.checked.indexOf(value);
element.attr('selected',null);
if(typeof settings.onuncheck === 'function') {
if(settings.onuncheck(value)===false) {
$(this).attr('checked',true);
return;
}
}
settings.checked.splice(index,1);
settings.labels.splice(index,1);
}
var oldWidth=button.width();
button.children('span').first().text(settings.labels.length > 0
? settings.labels.join(', ')
: settings.title);
var newOuterWidth=Math.max((button.outerWidth()-2),settings.minOuterWidth)+'px';
var newWidth=Math.max(button.width(),settings.minWidth);
var pos=button.position();
button.css('height',button.height());
button.css('white-space','nowrap');
button.css('width',oldWidth);
button.animate({'width':newWidth},undefined,undefined,function(){
button.css('width','');
});
list.animate({'width':newOuterWidth,'left':pos.left+3});
});
var li=$('<li></li>');
li.append(input).append(label);
return li;
}
$.each(options,function(index,item){
list.append(createItem(item));
});
button.parent().data('preventHide',false);
if(settings.createText){
var li=$('<li>+ <em>'+settings.createText+'<em></li>');
li.click(function(event){
li.empty();
var input=$('<input class="new">');
li.append(input);
input.focus();
input.css('width',button.innerWidth());
button.parent().data('preventHide',true);
input.keypress(function(event) {
if(event.keyCode == 13) {
event.preventDefault();
event.stopPropagation();
var value = $(this).val();
var exists = false;
$.each(options,function(index, item) {
if ($(item).val() == value || $(item).text() == value) {
exists = true;
return false;
}
});
if (exists) {
return false;
}
var li=$(this).parent();
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') {
val = response;
}
}
if(settings.singleSelect) {
$.each(select.find('option:selected'), function() {
$(this).removeAttr('selected');
});
}
$(this).remove();
li.text('+ '+settings.createText);
li.before(createItem(this));
var option=$('<option selected="selected"/>');
option.text($(this).val()).val(val).attr('selected', 'selected');
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
? settings.labels.join(', ')
: settings.title);
if(self.menuDirection === 'up') {
var list = li.parent();
list.css('top', list.position().top-li.outerHeight());
}
}
});
input.blur(function() {
event.preventDefault();
event.stopPropagation();
$(this).remove();
li.text('+ '+settings.createText);
setTimeout(function(){
button.parent().data('preventHide',false);
},100);
});
});
list.append(li);
}
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');
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.detach().insertBefore($(this));
list.addClass('up');
button.addClass('up');
list.fadeIn();
self.menuDirection = 'up';
}
list.click(function(event) {
event.stopPropagation();
});
});
$(window).click(function() {
if(!button.parent().data('preventHide')) {
// How can I save the effect in a var?
if(self.menuDirection === 'down') {
button.parent().children('ul').slideUp(400,function() {
button.parent().children('ul').remove();
button.removeClass('active').removeClass('down');
});
} else {
button.parent().children('ul').fadeOut(400,function() {
button.parent().children('ul').remove();
button.removeClass('active').removeClass('up');
});
}
}
});
return span;
};
})( jQuery );

View File

@ -8,6 +8,7 @@
"No file was uploaded" => "لم يتم ترفيع أي من الملفات",
"Missing a temporary folder" => "المجلد المؤقت غير موجود",
"Contacts" => "المعارف",
"Upload too large" => "حجم الترفيع أعلى من المسموح",
"Download" => "انزال",
"Edit" => "تعديل",
"Delete" => "حذف",
@ -24,8 +25,6 @@
"Contact" => "معرفه",
"Settings" => "اعدادات",
"Import" => "إدخال",
"Export" => "تصدير المعلومات",
"Back" => "رجوع",
"Groups" => "مجموعات",
"Close" => "اغلق",
"Title" => "عنوان",
@ -36,22 +35,23 @@
"Email" => "البريد الالكتروني",
"Address" => "عنوان",
"Preferred" => "مفضل",
"City" => "المدينة",
"Country" => "البلد",
"Share" => "شارك",
"Export" => "تصدير المعلومات",
"Add Contact" => "أضف شخص ",
"Download contact" => "انزال المعرفه",
"Delete contact" => "امحي المعرفه",
"Type" => "نوع",
"PO Box" => "العنوان البريدي",
"Extended" => "إضافة",
"City" => "المدينة",
"Region" => "المنطقة",
"Zipcode" => "رقم المنطقة",
"Country" => "البلد",
"Addressbook" => "كتاب العناوين",
"more info" => "مزيد من المعلومات",
"Primary address (Kontact et al)" => "العنوان الرئيسي (جهات الإتصال)",
"iOS/OS X" => "ط ن ت/ ن ت 10",
"Addressbooks" => "كتب العناوين",
"Share" => "شارك",
"New Address Book" => "كتاب عناوين جديد",
"Name" => "اسم",
"Save" => "حفظ"

View File

@ -7,13 +7,13 @@
"No file was uploaded" => "Фахлът не бе качен",
"Missing a temporary folder" => "Липсва временната папка",
"Error" => "Грешка",
"Upload Error" => "Грешка при качване",
"Download" => "Изтегляне",
"Delete" => "Изтриване",
"Cancel" => "Отказ",
"Work" => "Работа",
"Other" => "Друго",
"Import" => "Внасяне",
"Export" => "Изнасяне",
"Groups" => "Групи",
"Title" => "Заглавие",
"Birthday" => "Роджен ден",
@ -21,5 +21,6 @@
"Email" => "Е-поща",
"Address" => "Адрес",
"Share" => "Споделяне",
"Export" => "Изнасяне",
"Save" => "Запис"
);

View File

@ -67,16 +67,23 @@
"Error adding to group." => "Error en afegir grup",
"Error removing from group." => "Error en eliminar del grup",
"There was an error opening a mail composer." => "S'ha produït un error en obrir un redactor de correus electrónics.",
"Not all files uploaded. Retrying..." => "No s'han pujat tots els fitxers. Es reintenta...",
"Something went wrong with the upload, please retry." => "Alguna cosa ha fallat en la pujada, intenteu-ho de nou.",
"Error" => "Error",
"Importing..." => "Important...",
"Unable to upload your file as it is a directory or has 0 bytes" => "No es pot pujar el fitxer perquè és una carpeta o té 0 bytes",
"Upload Error" => "Error en la pujada",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "El fitxer que intenteu pujar excedeix la mida màxima de pujada en aquest servidor.",
"Upload too large" => "La pujada és massa gran",
"Pending" => "Pendent",
"Add group" => "Afegeix grup",
"No files selected for upload." => "No s'han seleccionat fitxers per a la pujada.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "El fitxer que intenteu pujar excedeix la mida màxima de pujada en aquest servidor.",
"Edit profile picture" => "Edita la fotografia de perfil",
"Error loading profile picture." => "Error en carregar la imatge de perfil.",
"Enter name" => "Escriviu un nom",
"Enter description" => "Escriviu una descripció",
"Select addressbook" => "Selecciona la llibreta d'adreces",
"The address book name cannot be empty." => "El nom de la llibreta d'adreces no pot ser buit.",
"Error" => "Error",
"Is this correct?" => "És correcte?",
"There was an unknown error when trying to delete this contact" => "S'ha produït un error en intentar esborrat aquest contacte",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Heu marcat eliminar alguns contactes, però encara no s'han eliminat. Espereu mentre s'esborren.",
@ -138,17 +145,15 @@
"HomePage" => "Pàgina d'inici",
"New Group" => "Grup nou",
"Settings" => "Configuració",
"Share" => "Comparteix",
"Import" => "Importa",
"Import into:" => "Importa a:",
"Export" => "Exporta",
"OK" => "D'acord",
"(De-)select all" => "(Des-)selecciona'ls tots",
"New Contact" => "Contate nou",
"Back" => "Enrera",
"Download Contact" => "Baixa contacte",
"Delete Contact" => "Elimina contacte",
"Groups" => "Grups",
"Favorite" => "Preferits",
"Delete Contact" => "Elimina contacte",
"Close" => "Tanca",
"Keyboard shortcuts" => "Dreceres de teclat",
"Navigation" => "Navegació",
@ -174,6 +179,7 @@
"Additional names" => "Noms addicionals",
"Last name" => "Cognom",
"Nickname" => "Sobrenom",
"Enter nickname" => "Escriviu el sobrenom",
"Title" => "Títol",
"Organization" => "Organització",
"Birthday" => "Aniversari",
@ -197,17 +203,22 @@
"View on map" => "Visualitza al mapa",
"Delete address" => "Elimina l'adreça",
"1 Main Street" => "Carrer major, 1",
"Street address" => "Adreça",
"12345" => "12123",
"Postal code" => "Codi postal",
"Your city" => "Ciutat",
"City" => "Ciutat",
"Some region" => "Comarca",
"Your country" => "País",
"Country" => "País",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "Elimina IM",
"Share" => "Comparteix",
"Export" => "Exporta",
"Add Contact" => "Afegeix un contacte",
"Drop photo to upload" => "Elimina la foto a carregar",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Format personalitzat, Nom curt, Nom sencer, Invertit o Invertit amb coma",
"Edit name details" => "Edita detalls del nom",
"Enter nickname" => "Escriviu el sobrenom",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "Separeu els grups amb comes",
@ -222,16 +233,12 @@
"Edit address" => "Edita l'adreça",
"Type" => "Tipus",
"PO Box" => "Adreça postal",
"Street address" => "Adreça",
"Street and number" => "Carrer i número",
"Extended" => "Addicional",
"Apartment number etc." => "Número d'apartament, etc.",
"City" => "Ciutat",
"Region" => "Comarca",
"E.g. state or province" => "p. ex. Estat o província ",
"Zipcode" => "Codi postal",
"Postal code" => "Codi postal",
"Country" => "País",
"Addressbook" => "Llibreta d'adreces",
"Hon. prefixes" => "Prefix honorífic:",
"Miss" => "Srta",

View File

@ -55,6 +55,7 @@
"Contact is not in this group." => "Kontakt není v této skupině.",
"Contacts are not in this group." => "Kontakty nejsou v této skupině.",
"A group named {group} already exists" => "Skupina s názvem {group} již existuje",
"You can drag groups to\narrange them as you like." => "Můžete přesouvat skupiny, pro\nsnadné seřazení dle vašich potřeb.",
"All" => "Vše",
"Favorites" => "Oblíbené",
"Shared by {owner}" => "Sdílí {owner}",
@ -67,16 +68,28 @@
"Error adding to group." => "Chyba při přidávání do skupiny",
"Error removing from group." => "Chyba při odebírání ze skupiny",
"There was an error opening a mail composer." => "Nastala chyba při otevírání editoru emalů.",
"Deleting done. Click here to cancel reloading." => "Mazání dokončeno. Klikněte zde pro zrušení přenačtení.",
"Add address book" => "Přidat knihu adres",
"Import done. Click here to cancel reloading." => "Import dokončen. Klikněte zde pro zrušení přenačtení.",
"Not all files uploaded. Retrying..." => "Všechny soubory nebyly odeslány. Opakuji...",
"Something went wrong with the upload, please retry." => "Něco se stalo špatně s odesílaným souborem, zkuste jej, prosím, odeslat znovu.",
"Error" => "Chyba",
"Importing from {filename}..." => "Importuji z {filename}...",
"{success} imported, {failed} failed." => "{success} importováno, {failed} selhalo.",
"Importing..." => "Importuji...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nelze odeslat Váš soubor, protože je to adresář, nebo je jeho velikost 0 bajtů",
"Upload Error" => "Chyba odesílání",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Soubor, který se pokoušíte odeslat, přesahuje maximální povolenou velikost.",
"Upload too large" => "Odesílaný soubor je příliš velký",
"Pending" => "Nevyřízené",
"Add group" => "Přidat skupinu",
"No files selected for upload." => "Žádné soubory nebyly vybrány k nahrání.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Soubor, který se pokoušíte odeslat, přesahuje maximální povolenou velikost.",
"Edit profile picture" => "Upravit obrázek profilu",
"Error loading profile picture." => "Chyba při načítání obrázku profilu.",
"Enter name" => "Zadejte jméno",
"Enter description" => "Zadejte popis",
"Select addressbook" => "Vybrat knihu adres",
"The address book name cannot be empty." => "Název knihy adres nemůže být prázdný.",
"Error" => "Chyba",
"Is this correct?" => "Je to správně?",
"There was an unknown error when trying to delete this contact" => "Nastala neznámá chyba při mazání tohoto kontaktu",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Některé kontakty jsou označeny ke smazání, ale nejsou smazány. Počkejte, prosím, na dokončení operace.",
@ -138,17 +151,18 @@
"HomePage" => "Domovská stránka",
"New Group" => "Nová skupina",
"Settings" => "Nastavení",
"Share" => "Sdílet",
"Address books" => "Knihy adres",
"Import" => "Importovat",
"Select files to import" => "Vybrat soubory pro import",
"Select files" => "Vybrat soubory",
"Import into:" => "Importovat do:",
"Export" => "Exportovat",
"OK" => "OK",
"(De-)select all" => "Vybrat (odznačit) vše",
"New Contact" => "Nový kontakt",
"Back" => "Zpět",
"Download Contact" => "Stáhnout kontakt",
"Delete Contact" => "Smazat kontakt",
"Groups" => "Skupiny",
"Favorite" => "Oblíbit",
"Delete Contact" => "Smazat kontakt",
"Close" => "Zavřít",
"Keyboard shortcuts" => "Klávesové zkratky",
"Navigation" => "Navigace",
@ -174,6 +188,7 @@
"Additional names" => "Další jména",
"Last name" => "Příjmení",
"Nickname" => "Přezdívka",
"Enter nickname" => "Zadejte přezdívku",
"Title" => "Název",
"Organization" => "Organizace",
"Birthday" => "Narozeniny",
@ -197,17 +212,23 @@
"View on map" => "Zobrazit na mapě",
"Delete address" => "Smazat adresu",
"1 Main Street" => "1 Hlavní ulice",
"Street address" => "Ulice",
"12345" => "12345",
"Postal code" => "Směrovací číslo",
"Your city" => "Vaše město",
"City" => "Město",
"Some region" => "Nějaký region",
"Your country" => "Váše země",
"Country" => "Země",
"Instant Messenger" => "Komunikátor",
"Delete IM" => "Smazat komunikátor",
"Share" => "Sdílet",
"Export" => "Exportovat",
"CardDAV link" => "Odkaz CardDAV",
"Add Contact" => "Přidat kontakt",
"Drop photo to upload" => "Přetáhněte sem fotku pro nahrání",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Formát vlastní, křestní jméno, celé jméno, obráceně, nebo obráceně oddělené čárkami",
"Edit name details" => "Upravit podrobnosti jména",
"Enter nickname" => "Zadejte přezdívku",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd. mm. yyyy",
"Separate groups with commas" => "Oddělte skupiny čárkami",
@ -222,16 +243,12 @@
"Edit address" => "Upravit adresu",
"Type" => "Typ",
"PO Box" => "PO box",
"Street address" => "Ulice",
"Street and number" => "Ulice a číslo",
"Extended" => "Rozšířené",
"Apartment number etc." => "Číslo bytu atd.",
"City" => "Město",
"Region" => "Kraj",
"E.g. state or province" => "Např. stát nebo provincie",
"Zipcode" => "PSČ",
"Postal code" => "Směrovací číslo",
"Country" => "Země",
"Addressbook" => "Kniha adres",
"Hon. prefixes" => "Tituly před jménem",
"Miss" => "Slečna",

View File

@ -41,13 +41,20 @@
"No file was uploaded. Unknown error" => "Ingen fil blev uploadet. Ukendt fejl.",
"Contacts" => "Kontaktpersoner",
"Select photo" => "Vælg foto",
"No files selected for upload." => "Der er ikke valgt nogen filer at uploade.",
"Not all files uploaded. Retrying..." => "Nogle filer blev ikke uploadet. Forsøger igen...",
"Something went wrong with the upload, please retry." => "Der opstod en fejl under upload. Forsøg igen.",
"Error" => "Fejl",
"Importing..." => "Importerer...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kan ikke uploade din fil - det er enten en mappe eller en fil med et indhold på 0 bytes.",
"Upload Error" => "Fejl i upload",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Dr.",
"Upload too large" => "Upload er for stor",
"Pending" => "Afventer",
"No files selected for upload." => "Der er ikke valgt nogen filer at uploade.",
"Error loading profile picture." => "Fejl ved indlæsning af profilbillede",
"Enter name" => "Indtast navn",
"Enter description" => "Indtast beskrivelse",
"The address book name cannot be empty." => "Adressebogens navn kan ikke være tomt.",
"Error" => "Fejl",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Nogle kontakter er markeret til sletning, men er endnu ikke slettet. Vent venligst på, at de bliver slettet.",
"Result: " => "Resultat:",
" imported, " => " importeret ",
@ -100,8 +107,7 @@
"There was an error deleting this contact." => "Der opstod en fejl ved sletning af denne kontakt.",
"Settings" => "Indstillinger",
"Import" => "Importer",
"Export" => "Exporter",
"Back" => "Tilbage",
"OK" => "OK",
"Groups" => "Grupper",
"Close" => "Luk",
"Keyboard shortcuts" => "Tastaturgenveje",
@ -123,6 +129,7 @@
"Select photo from ownCloud" => "Vælg foto fra ownCloud",
"Additional names" => "Mellemnavne",
"Nickname" => "Kaldenavn",
"Enter nickname" => "Indtast kaldenavn",
"Title" => "Titel",
"Organization" => "Organisation",
"Birthday" => "Fødselsdag",
@ -141,13 +148,18 @@
"Delete phone number" => "Slet telefonnummer",
"Go to web site" => "Gå til web site",
"View on map" => "Vis på kort",
"Street address" => "Gade",
"Postal code" => "Postnummer",
"City" => "By",
"Country" => "Land",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "Slet IM",
"Share" => "Del",
"Export" => "Exporter",
"Add Contact" => "Tilføj kontaktperson",
"Drop photo to upload" => "Drop foto for at uploade",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Formatter som valgfrit, fuldt navn, efternavn først eller efternavn først med komma",
"Edit name details" => "Rediger navnedetaljer.",
"Enter nickname" => "Indtast kaldenavn",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd-mm-åååå",
"Separate groups with commas" => "Opdel gruppenavne med kommaer",
@ -162,16 +174,12 @@
"Edit address" => "Rediger adresse",
"Type" => "Type",
"PO Box" => "Postboks",
"Street address" => "Gade",
"Street and number" => "Gade og nummer",
"Extended" => "Udvidet",
"Apartment number etc." => "Etage, side osv.",
"City" => "By",
"Region" => "Region",
"E.g. state or province" => "F.eks. stat eller provins",
"Zipcode" => "Postnummer",
"Postal code" => "Postnummer",
"Country" => "Land",
"Addressbook" => "Adressebog",
"Hon. prefixes" => "Foranstillede titler",
"Miss" => "Frøken",
@ -203,7 +211,6 @@
"Primary address (Kontact et al)" => "Primær adresse (Kontak m. fl.)",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "Adressebøger",
"Share" => "Del",
"New Address Book" => "Ny adressebog",
"Name" => "Navn",
"Description" => "Beskrivelse",

View File

@ -55,6 +55,7 @@
"Contact is not in this group." => "Kontakt ist nicht in dieser Gruppe.",
"Contacts are not in this group." => "Kontakte sind nicht in dieser Gruppe.",
"A group named {group} already exists" => "Eine Gruppe mit dem Namen {group} existiert bereits.",
"You can drag groups to\narrange them as you like." => "Per \"Drag & Drop\" kannst Du Gruppen nach Deinen Wünschen anordnen.",
"All" => "Alle",
"Favorites" => "Favoriten",
"Shared by {owner}" => "Geteilt von {owner}",
@ -67,16 +68,28 @@
"Error adding to group." => "Fehler beim Hinzufügen zur Gruppe.",
"Error removing from group." => "Fehler beim Entfernen aus Gruppe.",
"There was an error opening a mail composer." => "Fehler beim Öffnen des Mail-Editors",
"Deleting done. Click here to cancel reloading." => "Gelöscht. Klicke hier, um das Neuladen abzubrechen",
"Add address book" => "Adressbuch hinzufügen",
"Import done. Click here to cancel reloading." => "Import abgeschlossen. Klicken Sie hier, um das Neuladen abzubrechen",
"Not all files uploaded. Retrying..." => "Es wurden nicht alle Dateien hochgeladen. Versuche erneut...",
"Something went wrong with the upload, please retry." => "Beim Hochladen ist etwas schiefgegangen. Bitte versuche es erneut.",
"Error" => "Fehler",
"Importing from {filename}..." => "Importiere von {filename}",
"{success} imported, {failed} failed." => "{success} importiert, {failed} fehlgeschlagen.",
"Importing..." => "Importiere...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Deine Datei kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist.",
"Upload Error" => "Fehler beim Hochladen",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Die Datei, die Du hochladen möchtest, überschreitet die maximale Größe für Datei-Uploads auf diesem Server.",
"Upload too large" => "Der Upload ist zu groß",
"Pending" => "Ausstehend",
"Add group" => "Gruppe hinzufügen",
"No files selected for upload." => "Keine Datei(en) zum Hochladen ausgewählt.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Die Datei, die Du hochladen möchtest, überschreitet die maximale Größe für Datei-Uploads auf diesem Server.",
"Edit profile picture" => "Profilbild bearbeiten",
"Error loading profile picture." => "Fehler beim Laden des Profilbildes.",
"Enter name" => "Name eingeben",
"Enter description" => "Beschreibung eingeben",
"Select addressbook" => "Adressbuch auswählen",
"The address book name cannot be empty." => "Der Name des Adressbuches darf nicht leer sein.",
"Error" => "Fehler",
"Is this correct?" => "Ist dies korrekt?",
"There was an unknown error when trying to delete this contact" => "Es ist ein unbekannter Fehler beim Löschen des Kontakts aufgetreten.",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Einige zum Löschen vorgemerkte Kontakte wurden noch nicht gelöscht. Bitte warten.",
@ -138,17 +151,18 @@
"HomePage" => "Startseite",
"New Group" => "Neue Gruppe",
"Settings" => "Einstellungen",
"Share" => "Teilen",
"Address books" => "Adressbücher",
"Import" => "Importieren",
"Select files to import" => "Dateien für den Import auswählen",
"Select files" => "Dateien auswählen",
"Import into:" => "Importieren nach:",
"Export" => "Exportieren",
"OK" => "OK",
"(De-)select all" => "Alle (nicht) auswählen",
"New Contact" => "Neuer Kontakt",
"Back" => "Zurück",
"Download Contact" => "Kontakt herunterladen",
"Delete Contact" => "Kontakt löschen",
"Groups" => "Gruppen",
"Favorite" => "Favorit",
"Delete Contact" => "Kontakt löschen",
"Close" => "Schließen",
"Keyboard shortcuts" => "Tastaturbefehle",
"Navigation" => "Navigation",
@ -174,6 +188,7 @@
"Additional names" => "Zusätzliche Namen",
"Last name" => "Nachname",
"Nickname" => "Spitzname",
"Enter nickname" => "Spitzname angeben",
"Title" => "Titel",
"Organization" => "Organisation",
"Birthday" => "Geburtstag",
@ -197,17 +212,23 @@
"View on map" => "Auf der Karte zeigen",
"Delete address" => "Adresse löschen",
"1 Main Street" => "Musterstraße 1",
"Street address" => "Straßenanschrift",
"12345" => "12345",
"Postal code" => "Postleitzahl",
"Your city" => "Deine Stadt",
"City" => "Stadt",
"Some region" => "Eine Region",
"Your country" => "Dein Land",
"Country" => "Land",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "IM löschen",
"Share" => "Teilen",
"Export" => "Exportieren",
"CardDAV link" => "CardDAV Verbindung",
"Add Contact" => "Kontakt hinzufügen",
"Drop photo to upload" => "Ziehe ein Foto hierher, um es hochzuladen",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Format benutzerdefiniert, Kurzname, voller Name, Rückwärts oder Rückwärts mit Komma",
"Edit name details" => "Name ändern",
"Enter nickname" => "Spitzname angeben",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd.mm.yyyy",
"Separate groups with commas" => "Gruppen mit Komma getrennt",
@ -222,16 +243,12 @@
"Edit address" => "Adresse ändern",
"Type" => "Typ",
"PO Box" => "Postfach",
"Street address" => "Straßenanschrift",
"Street and number" => "Straße und Hausnummer",
"Extended" => "Erweitert",
"Apartment number etc." => "Wohnungsnummer usw.",
"City" => "Stadt",
"Region" => "Region",
"E.g. state or province" => "Z.B. Staat oder Bezirk",
"Zipcode" => "Postleitzahl",
"Postal code" => "Postleitzahl",
"Country" => "Land",
"Addressbook" => "Adressbuch",
"Hon. prefixes" => "Höflichkeitspräfixe",
"Miss" => "Frau",

View File

@ -55,6 +55,7 @@
"Contact is not in this group." => "Kontakt ist nicht in der Gruppe.",
"Contacts are not in this group." => "Kontakte sind nicht in der Gruppe.",
"A group named {group} already exists" => "Eine Gruppe mit dem Namen {group} ist schon vorhanden.",
"You can drag groups to\narrange them as you like." => "Per \"Drag & Drop\" können Sie Gruppen nach Ihren Wünschen anordnen.",
"All" => "Alle",
"Favorites" => "Favoriten",
"Shared by {owner}" => "Geteilt von {owner}",
@ -67,16 +68,28 @@
"Error adding to group." => "Fehler beim Hinzufügen zur Gruppe.",
"Error removing from group." => "Fehler beim Löschen aus der Gruppe.",
"There was an error opening a mail composer." => "Fehler beim Öffnen des Mail-Editors",
"Deleting done. Click here to cancel reloading." => "Gelöscht. Klicken Sie hier, um das Neuladen abzubrechen",
"Add address book" => "Adressbuch hinzufügen",
"Import done. Click here to cancel reloading." => "Import abgeschlossen. Klicke hier, um das Neuladen abzubrechen",
"Not all files uploaded. Retrying..." => "Es wurden nicht alle Dateien hochgeladen. Versuche erneut...",
"Something went wrong with the upload, please retry." => "Beim Hochladen ist etwas schiefgegangen. Bitte versuchen Sie es erneut.",
"Error" => "Fehler",
"Importing from {filename}..." => "Importiere von {filename}",
"{success} imported, {failed} failed." => "{success} importiert, {failed} fehlgeschlagen.",
"Importing..." => "Importiere...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ihre Datei kann nicht hochgeladen werden, weil es sich um einen Ordner handelt oder 0 Bytes groß ist.",
"Upload Error" => "Fehler beim Hochladen",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Die Datei, die Sie hochladen möchten, überschreitet die maximale Größe für Datei-Uploads auf diesem Server.",
"Upload too large" => "Der Upload ist zu groß",
"Pending" => "Ausstehend",
"Add group" => "Fügen Sie eine Gruppe hinzu",
"No files selected for upload." => "Keine Datei(en) zum Hochladen ausgewählt.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Die Datei, die Sie hochladen möchten, überschreitet die maximale Größe für Datei-Uploads auf diesem Server.",
"Edit profile picture" => "Profilbild bearbeiten",
"Error loading profile picture." => "Fehler beim Laden des Profilbildes.",
"Enter name" => "Name eingeben",
"Enter description" => "Beschreibung eingeben",
"Select addressbook" => "Adressbuch wählen",
"The address book name cannot be empty." => "Der Name des Adressbuches darf nicht leer sein.",
"Error" => "Fehler",
"Is this correct?" => "Ist das richtig?",
"There was an unknown error when trying to delete this contact" => "Beim Löschen des Kontakts trat ein unbekannten Fehler auf.",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Einige zum Löschen vorgemerkte Kontakte wurden noch nicht gelöscht. Bitte warten.",
@ -138,17 +151,18 @@
"HomePage" => "Internetseite",
"New Group" => "Neue Gruppe",
"Settings" => "Einstellungen",
"Share" => "Teilen",
"Address books" => "Adressbücher",
"Import" => "Importieren",
"Select files to import" => "Dateien für den Import auswählen",
"Select files" => "Dateien auswählen",
"Import into:" => "Importiere in:",
"Export" => "Exportieren",
"OK" => "OK",
"(De-)select all" => "Alle (ab-)wählen",
"New Contact" => "Neuer Kontakt",
"Back" => "Zurück",
"Download Contact" => "Kontakt herunterladen",
"Delete Contact" => "Kontakt löschen",
"Groups" => "Gruppen",
"Favorite" => "Favorit",
"Delete Contact" => "Kontakt löschen",
"Close" => "Schließen",
"Keyboard shortcuts" => "Tastaturbefehle",
"Navigation" => "Navigation",
@ -174,6 +188,7 @@
"Additional names" => "Zusätzliche Namen",
"Last name" => "Nachname",
"Nickname" => "Spitzname",
"Enter nickname" => "Spitzname angeben",
"Title" => "Titel",
"Organization" => "Organisation",
"Birthday" => "Geburtstag",
@ -197,17 +212,23 @@
"View on map" => "Auf der Karte zeigen",
"Delete address" => "Lösche Adresse",
"1 Main Street" => "Hauptstraße 1",
"Street address" => "Straßenanschrift",
"12345" => "12345",
"Postal code" => "Postleitzahl",
"Your city" => "Ihre Stadt",
"City" => "Stadt",
"Some region" => "Eine Region",
"Your country" => "Ihr Land",
"Country" => "Land",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "IM löschen",
"Share" => "Teilen",
"Export" => "Exportieren",
"CardDAV link" => "CardDAV Verbindung",
"Add Contact" => "Kontakt hinzufügen",
"Drop photo to upload" => "Ziehen Sie ein Foto hierher, um es hochzuladen",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Format benutzerdefiniert, Kurzname, voller Name, Rückwärts oder Rückwärts mit Komma",
"Edit name details" => "Name ändern",
"Enter nickname" => "Spitzname angeben",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd.mm.yyyy",
"Separate groups with commas" => "Gruppen mit Komma getrennt",
@ -222,16 +243,12 @@
"Edit address" => "Adresse ändern",
"Type" => "Typ",
"PO Box" => "Postfach",
"Street address" => "Straßenanschrift",
"Street and number" => "Straße und Hausnummer",
"Extended" => "Erweitert",
"Apartment number etc." => "Wohnungsnummer usw.",
"City" => "Stadt",
"Region" => "Region",
"E.g. state or province" => "Z.B. Staat oder Bezirk",
"Zipcode" => "Postleitzahl",
"Postal code" => "Postleitzahl",
"Country" => "Land",
"Addressbook" => "Adressbuch",
"Hon. prefixes" => "Höflichkeitspräfixe",
"Miss" => "Frau",

View File

@ -52,16 +52,23 @@
"Error adding to group." => "Σφάλμα κατά την προσθήκη σε ομάδα.",
"Error removing from group." => "Σφάλμα κατά την αφαίρεση από ομάδα.",
"There was an error opening a mail composer." => "Υπήρχε ένα σφάλμα στο άνοιγμα μίας σύνθεσης μηνύματος.",
"Not all files uploaded. Retrying..." => "Δεν μεταφορτώθηκαν όλα τα αρχεία. Προσπάθεια ξανά...",
"Something went wrong with the upload, please retry." => "Κάτι πήγε στραβά με την μεταφόρτωση, παρακαλώ προσπαθήστε ξανά.",
"Error" => "Σφάλμα",
"Importing..." => "Γίνεται εισαγωγή...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Αδυναμία στην αποστολή του αρχείου σας αφού είναι φάκελος ή έχει 0 bytes",
"Upload Error" => "Σφάλμα Αποστολής",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Το αρχείο που προσπαθείτε να ανεβάσετε υπερβαίνει το μέγιστο μέγεθος για τις προσθήκες αρχείων σε αυτόν τον server.",
"Upload too large" => "Πολύ μεγάλο αρχείο προς αποστολή",
"Pending" => "Εκκρεμεί",
"Add group" => "Προσθήκη ομάδας",
"No files selected for upload." => "Δεν επιλέχτηκαν αρχεία για μεταφόρτωση",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Το αρχείο που προσπαθείτε να ανεβάσετε υπερβαίνει το μέγιστο μέγεθος για τις προσθήκες αρχείων σε αυτόν τον server.",
"Edit profile picture" => "Επεξεργασία εικόνας προφίλ",
"Error loading profile picture." => "Σφάλμα στην φόρτωση εικόνας προφίλ.",
"Enter name" => "Εισαγωγή ονόματος",
"Enter description" => "Εισαγωγή περιγραφής",
"Select addressbook" => "Επιλογή βιβλίου επαφών",
"The address book name cannot be empty." => "Το όνομα του βιβλίου διευθύνσεων δεν πρέπει να είναι κενό.",
"Error" => "Σφάλμα",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Κάποιες επαφές σημειώθηκαν προς διαγραφή,δεν έχουν διαγραφεί ακόμα. Παρακαλώ περιμένετε μέχρι να διαγραφούν.",
"Result: " => "Αποτέλεσμα: ",
" imported, " => " εισάγεται,",
@ -117,14 +124,12 @@
"Contact not found." => "Δεν βρέθηκε επαφή.",
"New Group" => "Νέα Ομάδα",
"Settings" => "Ρυθμίσεις",
"Share" => "Μοιράσου",
"Import" => "Εισαγωγή",
"Import into:" => "Εισαγωγή από:",
"Export" => "Εξαγωγή",
"OK" => "ΟΚ",
"New Contact" => "Νέα επαφή",
"Back" => "Επιστροφή",
"Delete Contact" => "Διαγραφή επαφής",
"Groups" => "Ομάδες",
"Delete Contact" => "Διαγραφή επαφής",
"Close" => "Κλείσιμο ",
"Keyboard shortcuts" => "Συντομεύσεις πλητρολογίου",
"Navigation" => "Πλοήγηση",
@ -149,6 +154,7 @@
"Additional names" => "Επιπλέον ονόματα",
"Last name" => "Επώνυμο",
"Nickname" => "Παρατσούκλι",
"Enter nickname" => "Εισάγετε παρατσούκλι",
"Title" => "Τίτλος",
"Organization" => "Οργανισμός",
"Birthday" => "Γενέθλια",
@ -170,16 +176,21 @@
"Delete URL" => "Διαγραφή URL",
"View on map" => "Προβολή στο χάρτη",
"Delete address" => "Διαγραφή διεύθυνσης",
"Street address" => "Διεύθυνση οδού",
"12345" => "12345",
"Postal code" => "Ταχυδρομικός Κωδικός",
"Your city" => "Η πόλη σας",
"City" => "Πόλη",
"Your country" => "Η χώρα σας",
"Country" => "Χώρα",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "Διαγραφή IM",
"Share" => "Μοιράσου",
"Export" => "Εξαγωγή",
"Add Contact" => "Προσθήκη επαφής",
"Drop photo to upload" => "Ρίξε μια φωτογραφία για ανέβασμα",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Format custom, Όνομα, Επώνυμο, Αντίστροφο ή Αντίστροφο με κόμμα",
"Edit name details" => "Αλλάξτε τις λεπτομέρειες ονόματος",
"Enter nickname" => "Εισάγετε παρατσούκλι",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "ΗΗ-ΜΜ-ΕΕΕΕ",
"Separate groups with commas" => "Διαχώρισε τις ομάδες με κόμμα ",
@ -194,16 +205,12 @@
"Edit address" => "Επεξεργασία διεύθυνσης",
"Type" => "Τύπος",
"PO Box" => "Ταχ. Θυρίδα",
"Street address" => "Διεύθυνση οδού",
"Street and number" => "Οδός και αριθμός",
"Extended" => "Εκτεταμένη",
"Apartment number etc." => "Αριθμός διαμερίσματος",
"City" => "Πόλη",
"Region" => "Περιοχή",
"E.g. state or province" => "Π.χ. Πολιτεία ή επαρχεία",
"Zipcode" => "Τ.Κ.",
"Postal code" => "Ταχυδρομικός Κωδικός",
"Country" => "Χώρα",
"Addressbook" => "Βιβλίο διευθύνσεων",
"Hon. prefixes" => "προθέματα",
"Miss" => "Δις",

View File

@ -67,16 +67,23 @@
"Error adding to group." => "Eraro dum aldono al grupo.",
"Error removing from group." => "Eraro dum forigo el grupo.",
"There was an error opening a mail composer." => "Eraro okazis dum malfermo de retpoŝtomesaĝoredaktilo.",
"Not all files uploaded. Retrying..." => "Ne ĉiuj dosieroj alŝutiĝis. Reprovante...",
"Something went wrong with the upload, please retry." => "Io malsukcesis dum alŝuto, bonvolu reprovi.",
"Error" => "Eraro",
"Importing..." => "Enportante...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ne eblis alŝuti vian dosieron ĉar ĝi estas dosierujo aŭ havas 0 duumokojn",
"Upload Error" => "Eraro dum alŝuto",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "La dosiero, kiun vi provas alŝuti, transpasas la maksimuman grandon por dosieraj alŝutoj en ĉi tiu servilo.",
"Upload too large" => "Alŝuto tro larĝa",
"Pending" => "Traktotaj",
"Add group" => "Aldoni grupon",
"No files selected for upload." => "Neniu dosiero elektita por alŝuto.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "La dosiero, kiun vi provas alŝuti, transpasas la maksimuman grandon por dosieraj alŝutoj en ĉi tiu servilo.",
"Edit profile picture" => "Redakti profilbildon",
"Error loading profile picture." => "Eraro dum ŝargado de profila bildo.",
"Enter name" => "Enigu nomon",
"Enter description" => "Enigu priskribon",
"Select addressbook" => "Elekti adresaron",
"The address book name cannot be empty." => "La nomo de la adresaro ne povas esti malplena.",
"Error" => "Eraro",
"Is this correct?" => "Ĉu ĉi tio ĝustas?",
"There was an unknown error when trying to delete this contact" => "Nekonata eraro okazis dum provo forigi ĉi tiun kontakton",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Iuj kontaktoj estas markitaj por forigo, sed ankoraŭ ne forigitaj. Bonvolu atendi ĝis ili foriĝos.",
@ -138,17 +145,15 @@
"HomePage" => "Hejmpaĝo",
"New Group" => "Nova grupo",
"Settings" => "Agordo",
"Share" => "Kunhavigi",
"Import" => "Enporti",
"Import into:" => "Enporti en:",
"Export" => "Elporti",
"OK" => "Akcepti",
"(De-)select all" => "(Mal)elekti ĉion",
"New Contact" => "Nova kontakto",
"Back" => "Antaŭen",
"Download Contact" => "Elŝuti kontakton",
"Delete Contact" => "Forigi kontakton",
"Groups" => "Grupoj",
"Favorite" => "Favorato",
"Delete Contact" => "Forigi kontakton",
"Close" => "Fermi",
"Keyboard shortcuts" => "Fulmoklavoj",
"Navigation" => "Navigado",
@ -174,6 +179,7 @@
"Additional names" => "Pliaj nomoj",
"Last name" => "Familia nomo",
"Nickname" => "Kromnomo",
"Enter nickname" => "Enigu kromnomon",
"Title" => "Titolo",
"Organization" => "Organizaĵo",
"Birthday" => "Naskiĝotago",
@ -197,17 +203,22 @@
"View on map" => "Vidi en mapo",
"Delete address" => "Forigi adreson",
"1 Main Street" => "1 Ĉefa Strato",
"Street address" => "Stratadreso",
"12345" => "12345",
"Postal code" => "Poŝtkodo",
"Your city" => "Via urbo",
"City" => "Urbo",
"Some region" => "Iu regiono",
"Your country" => "Via lando",
"Country" => "Lando",
"Instant Messenger" => "Tujmesaĝilo",
"Delete IM" => "Forigi tujmesaĝadon",
"Share" => "Kunhavigi",
"Export" => "Elporti",
"Add Contact" => "Aldoni kontakton",
"Drop photo to upload" => "Demeti foton por alŝuti",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Propra formo, Mallonga nomo, Longa nomo, Inversa aŭ Inversa kun komo",
"Edit name details" => "Redakti detalojn de nomo",
"Enter nickname" => "Enigu kromnomon",
"http://www.somesite.com" => "http://www.iuejo.com",
"dd-mm-yyyy" => "yyyy-mm-dd",
"Separate groups with commas" => "Disigi grupojn per komoj",
@ -222,16 +233,12 @@
"Edit address" => "Redakti adreson",
"Type" => "Tipo",
"PO Box" => "Abonkesto",
"Street address" => "Stratadreso",
"Street and number" => "Strato kaj numero",
"Extended" => "Etendita",
"Apartment number etc." => "Apartamenta numero, ktp.",
"City" => "Urbo",
"Region" => "Regiono",
"E.g. state or province" => "Ekz.: subŝtato aŭ provinco",
"Zipcode" => "Poŝtokodo",
"Postal code" => "Poŝtkodo",
"Country" => "Lando",
"Addressbook" => "Adresaro",
"Hon. prefixes" => "Honoraj antaŭmetaĵoj",
"Miss" => "f-ino",

View File

@ -17,7 +17,7 @@
"Couldn't find vCard for %d." => "No se pudo encontra la vCard para %d",
"Information about vCard is incorrect. Please reload the page: " => "La información sobre la vCard es incorrecta. Por favor, recarga la página:",
"Something went FUBAR. " => "Plof. Algo ha fallado.",
"Cannot save property of type \"%s\" as array" => "No se puede guardar la propiedad del tipo \"%s\" como un array",
"Cannot save property of type \"%s\" as array" => "No se puede guardar la propiedad del tipo \"%s\" como un arreglo",
"Missing IM parameter." => "Falta un parámetro del MI.",
"Unknown IM: " => "MI desconocido:",
"No contact ID was submitted." => "No se ha mandado ninguna ID de contacto.",
@ -35,6 +35,7 @@
"Error cropping image" => "Fallo al cortar el tamaño de la foto",
"Error creating temporary image" => "Fallo al crear la foto temporal",
"Error finding image: " => "Fallo al encontrar la imagen",
"Key is not set for: " => "Clave no establecida para:",
"Value is not set for: " => "Valor no establecido para:",
"Could not set preference: " => "No se pudo establecer la preferencia:",
"Error uploading contacts to storage." => "Error al subir contactos al almacenamiento.",
@ -54,6 +55,7 @@
"Contact is not in this group." => "El contacto no se encuentra en este grupo.",
"Contacts are not in this group." => "Los contactos no se encuentran en este grupo.",
"A group named {group} already exists" => "Un grupo llamado {group} ya existe.",
"You can drag groups to\narrange them as you like." => "Puede arrastrar grupos para\narreglarlos como usted quiera.",
"All" => "Todos",
"Favorites" => "Favoritos",
"Shared by {owner}" => "Compartido por {owner}",
@ -65,16 +67,23 @@
"Network or server error. Please inform administrator." => "Error en la red o en el servidor. Por favor informe al administrador.",
"Error adding to group." => "Error al añadir al grupo.",
"Error removing from group." => "Error al remover del grupo.",
"Not all files uploaded. Retrying..." => "No se han podido subir todos los archivos. Reintentando...",
"Something went wrong with the upload, please retry." => "Algo ha ido mal con la subida, por favor, reintentelo.",
"Error" => "Fallo",
"Importing..." => "Importando...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Imposible subir su archivo, es un directorio o tiene 0 bytes",
"Upload Error" => "Error de subida",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "El fichero que quieres subir excede el tamaño máximo permitido en este servidor.",
"Upload too large" => "bida demasido grande",
"Pending" => "Pendientes",
"Add group" => "Añadir grupo",
"No files selected for upload." => "No hay ficheros seleccionados para subir",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "El fichero que quieres subir excede el tamaño máximo permitido en este servidor.",
"Edit profile picture" => "Editar imagen de perfil.",
"Error loading profile picture." => "Error cargando la imagen del perfil.",
"Enter name" => "Introducir nombre",
"Enter description" => "Introducir descripción",
"Select addressbook" => "Seleccionar contactos",
"The address book name cannot be empty." => "El nombre de la libreta de direcciones no puede estar vacio.",
"Error" => "Fallo",
"Is this correct?" => "¿Es esto correcto?",
"There was an unknown error when trying to delete this contact" => "Hubo un error desconocido al tratar de eliminar este contacto",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Algunos contactos están marcados para su eliminación, pero no eliminados todavía. Por favor, espere a que sean eliminados.",
@ -136,17 +145,15 @@
"HomePage" => "Página de inicio",
"New Group" => "Nuevo grupo",
"Settings" => "Configuración",
"Share" => "Compartir",
"Import" => "Importar",
"Import into:" => "Importar hacia:",
"Export" => "Exportar",
"OK" => "Aceptar",
"(De-)select all" => "Seleccionar todos",
"New Contact" => "Nuevo contacto",
"Back" => "Atrás",
"Download Contact" => "Descargar contacto",
"Delete Contact" => "Eliminar contacto",
"Groups" => "Grupos",
"Favorite" => "Favorito",
"Delete Contact" => "Eliminar contacto",
"Close" => "Cierra.",
"Keyboard shortcuts" => "Atajos de teclado",
"Navigation" => "Navegación",
@ -172,6 +179,7 @@
"Additional names" => "Nombres adicionales",
"Last name" => "Apellido",
"Nickname" => "Alias",
"Enter nickname" => "Introduce un alias",
"Title" => "Título",
"Organization" => "Organización",
"Birthday" => "Cumpleaños",
@ -195,17 +203,22 @@
"View on map" => "Ver en el mapa",
"Delete address" => "Eliminar dirección",
"1 Main Street" => "1 Calle Principal",
"Street address" => "Calle",
"12345" => "12345",
"Postal code" => "Código postal",
"Your city" => "Su ciudad",
"City" => "Ciudad",
"Some region" => "Alguna región",
"Your country" => "Su país",
"Country" => "País",
"Instant Messenger" => "Mensajero instantáneo",
"Delete IM" => "Eliminar IM",
"Share" => "Compartir",
"Export" => "Exportar",
"Add Contact" => "Añadir contacto",
"Drop photo to upload" => "Suelta una foto para subirla",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Formato personalizado, nombre abreviado, nombre completo, al revés o al revés con coma",
"Edit name details" => "Editar los detalles del nombre",
"Enter nickname" => "Introduce un alias",
"http://www.somesite.com" => "http://www.unsitio.com",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "Separa los grupos con comas",
@ -220,16 +233,12 @@
"Edit address" => "Editar dirección",
"Type" => "Tipo",
"PO Box" => "Código postal",
"Street address" => "Calle",
"Street and number" => "Calle y número",
"Extended" => "Extendido",
"Apartment number etc." => "Número del apartamento, etc.",
"City" => "Ciudad",
"Region" => "Región",
"E.g. state or province" => "Ej: región o provincia",
"Zipcode" => "Código postal",
"Postal code" => "Código postal",
"Country" => "País",
"Addressbook" => "Libreta de direcciones",
"Hon. prefixes" => "Prefijos honoríficos",
"Miss" => "Srta",

View File

@ -1,7 +1,11 @@
<?php $TRANSLATIONS = array(
"Error (de)activating addressbook." => "Error al (des)activar la agenda con direcciones.",
"Error (de)activating addressbook." => "Error al (des)activar la agenda.",
"id is not set." => "La ID no fue asignada.",
"Cannot update addressbook with an empty name." => "No se puede actualizar una libreta de direcciones sin nombre.",
"No category name given." => "No se a dado un nombre a la categoría.",
"Error adding group." => "Error al añadir grupo",
"Group ID missing from request." => "ID de grupo faltante en la solicitud.",
"Contact ID missing from request." => "ID de contacto faltante en la solicitud.",
"No ID provided" => "No fue proporcionada una ID",
"Error setting checksum." => "Error al establecer la suma de verificación -checksum-.",
"No categories selected for deletion." => "No se seleccionaron categorías para borrar.",
@ -10,8 +14,10 @@
"element name is not set." => "el nombre del elemento no fue asignado.",
"checksum is not set." => "la suma de comprobación no fue asignada.",
"Information about vCard is incorrect. Please reload the page." => "La información sobre la vCard es incorrecta. Por favor, cargá nuevamente la página",
"Couldn't find vCard for %d." => "No se pudo encontrar vCard para %d",
"Information about vCard is incorrect. Please reload the page: " => "La información sobre la vCard es incorrecta. Por favor, recargá la página:",
"Something went FUBAR. " => "Hubo un error irreparable.",
"Cannot save property of type \"%s\" as array" => "No se puede guardar la propiedad del tipo \"%s\" como un arreglo",
"Missing IM parameter." => "Falta un parámetro del MI.",
"Unknown IM: " => "MI desconocido:",
"No contact ID was submitted." => "No se mandó ninguna ID de contacto.",
@ -29,6 +35,9 @@
"Error cropping image" => "Error al recortar la imagen",
"Error creating temporary image" => "Error al crear una imagen temporal",
"Error finding image: " => "Error al encontrar la imagen",
"Key is not set for: " => "La clave no esta asignada para:",
"Value is not set for: " => "El valor no esta asignado para:",
"Could not set preference: " => "No se pudo asignar la preferencia:",
"Error uploading contacts to storage." => "Error al subir contactos al almacenamiento.",
"There is no error, the file uploaded with success" => "No hay errores, el archivo fue subido con éxito",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "El archivo subido excede el valor 'upload_max_filesize' del archivo de configuración php.ini",
@ -40,16 +49,52 @@
"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",
"A group named {group} already exists" => "Un grupo llamado {grupo} ya existe",
"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.",
"Contact is not in this group." => "El contacto no se encuentra en este grupo.",
"Contacts are not in this group." => "Los contactos ya se encuentran en este grupo. ",
"A group named {group} already exists" => "Un grupo llamado {grup} ya existe",
"You can drag groups to\narrange them as you like." => "Podés arrastrar los grupos para \narreglarlos como quieras.",
"All" => "Todos",
"Favorites" => "Favoritos",
"Shared by {owner}" => "Compartidos por {owner}",
"Indexing contacts" => "Indexando contactos",
"Add to..." => "Añadir a...",
"Remove from..." => "Borrar de...",
"Add group..." => "Añadir grupo",
"Select photo" => "Seleccionar una imagen",
"No files selected for upload." => "No hay archivos seleccionados para subir",
"Network or server error. Please inform administrator." => "Error en la red o en el servidor. Por favor informe al administrador.",
"Error adding to group." => "Error al añadir al grupo.",
"Error removing from group." => "Error al quitar del grupo.",
"There was an error opening a mail composer." => "Hubo un error al abrir el escritor de correo electrónico",
"Deleting done. Click here to cancel reloading." => "Borrado completo. Click para cancerla la recarga. ",
"Add address book" => "Añadir agenda",
"Import done. Click here to cancel reloading." => "Importación completo. Click para cancerla la recarga. ",
"Not all files uploaded. Retrying..." => "No fue posible subir todos los archivos. Reintentando...",
"Something went wrong with the upload, please retry." => "Algo salió mal durante la subida. Por favor, intentalo nuevamente.",
"Error" => "Error",
"Importing from {filename}..." => "Importando de {filename}...",
"{success} imported, {failed} failed." => "{success} importados, {failed} fallidos.",
"Importing..." => "Importando...",
"Unable to upload your file as it is a directory or has 0 bytes" => "No fue posible subir el archivo porque es un directorio o porque su tamaño es 0 bytes",
"Upload Error" => "Error al subir",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "El archivo que querés subir supera el tamaño máximo permitido en este servidor.",
"Upload too large" => "El tamaño del archivo que querés subir es demasiado grande",
"Pending" => "Pendientes",
"Add group" => "Agregar grupo",
"No files selected for upload." => "No hay archivos seleccionados para subir",
"Edit profile picture" => "Editar foto de perfil",
"Error loading profile picture." => "Error al cargar la imagen del perfil.",
"Enter name" => "Escribir nombre",
"Enter description" => "Escribir descripción",
"The address book name cannot be empty." => "El nombre de la libreta de direcciones no puede estar vacío.",
"Error" => "Error",
"Select addressbook" => "Seleccionar agenda",
"The address book name cannot be empty." => "El nombre de la agenda no puede estar vacío.",
"Is this correct?" => "¿Es esto correcto?",
"There was an unknown error when trying to delete this contact" => "Hubo un error desconocido tratando de borrar este contacto",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Algunos contactos fuero marcados para ser borrados, pero no fueron borrados todavía. Esperá que lo sean.",
"Click to undo deletion of {num} contacts" => "Click para deshacer el borrado de {num} contactos",
"Cancelled deletion of {num}" => "Cancelado el borrado de {num}",
"Result: " => "Resultado:",
" imported, " => "Importado.",
" failed." => "error.",
@ -92,6 +137,7 @@
"Internet" => "Internet",
"Friends" => "Amigos",
"Family" => "Familia",
"There was an error deleting properties for this contact." => "Hubo un error al borrar las propiedades de este contacto",
"{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.",
@ -101,10 +147,22 @@
"Could not find the Addressbook with ID: " => "No fue posible encontrar la agenda con ID:",
"You do not have the permissions to delete this contact." => "No tenés permisos para borrar este contacto.",
"There was an error deleting this contact." => "Hubo un error mientras se borraba este contacto.",
"Contact not found." => "No se pudo encontrar el contacto",
"HomePage" => "Pagina de inicio",
"New Group" => "Nuevo grupo",
"Settings" => "Configuración",
"Address books" => "Agendas",
"Import" => "Importar",
"Export" => "Exportar",
"Select files to import" => "Seleccionar archivos para importar",
"Select files" => "Seleccionar archivos",
"Import into:" => "Importar a:",
"OK" => "Aceptar",
"(De-)select all" => "(De)selecionar todos",
"New Contact" => "Nuevo contato",
"Download Contact" => "Descargar contacto",
"Groups" => "Grupos",
"Favorite" => "Favorito",
"Delete Contact" => "Borrar contacto",
"Close" => "cerrar",
"Keyboard shortcuts" => "Atajos de teclado",
"Navigation" => "Navegación",
@ -118,38 +176,59 @@
"Add new contact" => "Agregar un nuevo contacto",
"Add new addressbook" => "Agregar nueva agenda",
"Delete current contact" => "Borrar el contacto seleccionado",
"<h3>You have no contacts in your addressbook.</h3><p>Add a new contact or import existing contacts from a VCF file.</p>" => "<h3> No tenes contactos en tu agenda.</h3><p>Agregá un nuevo contacto o importalo desde un contacto existente en un archivo VCF.</p>",
"Add contact" => "Agregar contacto",
"Compose mail" => "Escribir un correo",
"Delete group" => "Borrar grupo",
"Delete current photo" => "Eliminar imagen actual",
"Edit current photo" => "Editar imagen actual",
"Upload new photo" => "Subir nueva imagen",
"Select photo from ownCloud" => "Seleccionar imagen desde ownCloud",
"First name" => "Nombre",
"Additional names" => "Segundo nombre",
"Last name" => "Apellido",
"Nickname" => "Sobrenombre",
"Enter nickname" => "Escribí un sobrenombre",
"Title" => "Título",
"Organization" => "Organización",
"Birthday" => "Cumpleaños",
"Notes go here..." => "Las notas van aquí",
"Add" => "Agregar",
"Phone" => "Teléfono",
"Email" => "e-mail",
"Email" => "Correo Electrónico",
"Instant Messaging" => "Mensajería instantánea",
"Address" => "Dirección",
"Note" => "Nota",
"Web site" => "Página web",
"Preferred" => "Preferido",
"Please specify a valid email address." => "Por favor, escribí una dirección de e-mail válida.",
"Mail to address" => "Enviar por e-mail a la dirección",
"Please specify a valid email address." => "Por favor, escribí una dirección de correo electrónico válida.",
"someone@example.com" => "alguien@ejemplo.com",
"Mail to address" => "Enviar por correo electrónico a la dirección",
"Delete email address" => "Eliminar dirección de correo electrónico",
"Enter phone number" => "Escribí un número de teléfono",
"Delete phone number" => "Eliminar número de teléfono",
"Go to web site" => "Ir al sitio web",
"Delete URL" => "Borrar URL",
"View on map" => "Ver en el mapa",
"Delete address" => "Borrar dirección",
"1 Main Street" => "Calle principal 1",
"Street address" => "Calle de la dirección",
"12345" => "12345",
"Postal code" => "Código postal",
"Your city" => "Tu ciudad",
"City" => "Ciudad",
"Some region" => "Alguna región",
"Your country" => "Tu país",
"Country" => "País",
"Instant Messenger" => "Mensajero instantáneo",
"Delete IM" => "Eliminar IM",
"Share" => "Compartir",
"Export" => "Exportar",
"CardDAV link" => "Enlace a CardDAV",
"Add Contact" => "Agregar contacto",
"Drop photo to upload" => "Arrastrá y soltá una imagen para subirla",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Formato personalizado, nombre abreviado, nombre completo, invertido, o invertido con coma",
"Edit name details" => "Editar los detalles del nombre",
"Enter nickname" => "Escribí un sobrenombre",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "Separá los grupos con comas",
@ -164,16 +243,12 @@
"Edit address" => "Editar dirección",
"Type" => "Tipo",
"PO Box" => "Código postal",
"Street address" => "Calle de la dirección",
"Street and number" => "Calle y número",
"Extended" => "Extendido",
"Apartment number etc." => "Número de departamento, etc.",
"City" => "Ciudad",
"Region" => "Provincia",
"E.g. state or province" => "Eg. provincia o estado",
"Zipcode" => "Código postal",
"Postal code" => "Código postal",
"Country" => "País",
"Addressbook" => "Agenda",
"Hon. prefixes" => "Prefijos honoríficos",
"Miss" => "Srta.",
@ -196,7 +271,7 @@
"Import a contacts file" => "Importar archivo de contactos",
"Please choose the addressbook" => "Elegí la agenda",
"create a new addressbook" => "crear una nueva agenda",
"Name of new addressbook" => "Nombre de la nueva agenda",
"Name of new addressbook" => "Nombre de la agenda nueva",
"Importing contacts" => "Importando contactos",
"<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>No tenés contactos en tu agenda.</h3><p> Podés importar archivos VCF arrastrando los contactos a la agenda.<br />También podés realizar la importación haciendo click en el botón de Importar, en la parte inferior de la lista.</p>",
"Select Address Books" => "Seleccionar agendas",
@ -205,7 +280,6 @@
"Primary address (Kontact et al)" => "Dirección primaria (Kontact y semejantes)",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "Agendas",
"Share" => "Compartir",
"New Address Book" => "Nueva agenda",
"Name" => "Nombre",
"Description" => "Descripción",

View File

@ -66,16 +66,23 @@
"Error adding to group." => "Viga gruppi lisamisel.",
"Error removing from group." => "Viga grupist eemaldamisel.",
"There was an error opening a mail composer." => "Meiliprogrammi avamisel tekkis viga.",
"Not all files uploaded. Retrying..." => "Kõiki faile ei laetud üles. Proovime uuesti...",
"Something went wrong with the upload, please retry." => "Midagi läks üleslaadimisega valesti, palun proovi uuesti.",
"Error" => "Viga",
"Importing..." => "Importimine...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Faili ei saa üles laadida, kuna see on kaust või selle suurus on 0 baiti",
"Upload Error" => "Üleslaadimise viga",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Fail , mida sa proovid üles laadida ületab sinu serveri poolt määratud maksimaalse üleslaadimise limiidi.",
"Upload too large" => "Üleslaadimine on liiga suur",
"Pending" => "Ootel",
"Add group" => "Lisa grupp",
"No files selected for upload." => "Üleslaadimiseks pole faile valitud.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Fail , mida sa proovid üles laadida ületab sinu serveri poolt määratud maksimaalse üleslaadimise limiidi.",
"Edit profile picture" => "Muuda profiili pilti",
"Error loading profile picture." => "Viga profiilipildi laadimisel",
"Enter name" => "Sisesta nimi",
"Enter description" => "Sisesta kirjeldus",
"Select addressbook" => "Vali aadressiraamat",
"The address book name cannot be empty." => "Aadressiraamatu nimi ei saa olla tühi.",
"Error" => "Viga",
"Is this correct?" => "Kas see on õige?",
"There was an unknown error when trying to delete this contact" => "Selle kontakti kustutamisel tekkis viga",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Mõned kontaktid on märgitud kustutamiseks, aga pole veel kustutatud. Palun oota, kuni need kustutatakse.",
@ -137,17 +144,15 @@
"HomePage" => "Koduleht",
"New Group" => "Uus grupp",
"Settings" => "Seaded",
"Share" => "Jaga",
"Import" => "Impordi",
"Import into:" => "Impordi:",
"Export" => "Ekspordi",
"OK" => "OK",
"(De-)select all" => "(Ära) vali kõik",
"New Contact" => "Uus kontakt",
"Back" => "Tagasi",
"Download Contact" => "Lae kontakt alla",
"Delete Contact" => "Kustuta kontakt",
"Groups" => "Grupid",
"Favorite" => "Lemmik",
"Delete Contact" => "Kustuta kontakt",
"Close" => "Sule",
"Keyboard shortcuts" => "Klvaiatuuri otseteed",
"Navigation" => "Navigeerimine",
@ -173,6 +178,7 @@
"Additional names" => "Lisanimed",
"Last name" => "Perekonnanimi",
"Nickname" => "Hüüdnimi",
"Enter nickname" => "Sisesta hüüdnimi",
"Title" => "Pealkiri",
"Organization" => "Organisatsioon",
"Birthday" => "Sünnipäev",
@ -196,17 +202,22 @@
"View on map" => "Vaata kaardil",
"Delete address" => "Kustuta aadress",
"1 Main Street" => "Peatänav 1",
"Street address" => "Tänava aadress",
"12345" => "12345",
"Postal code" => "Postiindeks",
"Your city" => "Sinu linn",
"City" => "Linn",
"Some region" => "Mingi regioon",
"Your country" => "Sinu riik",
"Country" => "Riik",
"Instant Messenger" => "Kiirsõnum",
"Delete IM" => "Kustuta IM",
"Share" => "Jaga",
"Export" => "Ekspordi",
"Add Contact" => "Lisa kontakt",
"Drop photo to upload" => "Lohista üleslaetav foto siia",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Kohandatud vorming, Lühike nimi, Täielik nimi, vastupidine või vastupidine komadega",
"Edit name details" => "Muuda nime üksikasju",
"Enter nickname" => "Sisesta hüüdnimi",
"http://www.somesite.com" => "http://www.mingisait.ee",
"dd-mm-yyyy" => "dd.mm.yyyy",
"Separate groups with commas" => "Eralda grupid komadega",
@ -221,16 +232,12 @@
"Edit address" => "Muuda aadressi",
"Type" => "Tüüp",
"PO Box" => "Postkontori postkast",
"Street address" => "Tänava aadress",
"Street and number" => "Tänav ja number",
"Extended" => "Laiendatud",
"Apartment number etc." => "Korteri nr jne.",
"City" => "Linn",
"Region" => "Piirkond",
"E.g. state or province" => "Näiteks maakond või piirkond",
"Zipcode" => "Postiindeks",
"Postal code" => "Postiindeks",
"Country" => "Riik",
"Addressbook" => "Aadressiraamat",
"Hon. prefixes" => "Eesliited",
"Miss" => "Preili",

View File

@ -66,16 +66,23 @@
"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.",
"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..." => "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",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Igo nahi duzun fitxategia zerbitzariak onartzen duen tamaina baino handiagoa da.",
"Upload too large" => "Igoera handiegia da",
"Pending" => "Zain",
"Add group" => "Gehitu taldea",
"No files selected for upload." => "Ez duzu igotzeko fitxategirik hautatu.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Igo nahi duzun fitxategia zerbitzariak onartzen duen tamaina baino handiagoa da.",
"Edit profile picture" => "Editatu profilaren argazkia",
"Error loading profile picture." => "Errorea profilaren irudia kargatzean.",
"Enter name" => "Sartu izena",
"Enter description" => "Sartu deskribapena",
"Select addressbook" => "Hautatu helbide-liburua",
"The address book name cannot be empty." => "Helbide-liburuaren izena ezin da hutsik egon.",
"Error" => "Errorea",
"Is this correct?" => "Hau zuzena al da?",
"There was an unknown error when trying to delete this contact" => "Errore ezezagun bat izan da kontaktu hau ezabatzeko orduan",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Kontaktu batzuk ezabatzeko markatuta daude, baina oraindik ez dira ezabatu. Mesedez itxoin ezabatu arte.",
@ -138,14 +145,13 @@
"Settings" => "Ezarpenak",
"Import" => "Inportatu",
"Import into:" => "Inportatu hemen:",
"Export" => "Exportatu",
"OK" => "Ados",
"(De-)select all" => "(Ez-)Hautatu dena",
"New Contact" => "Kontaktu berria",
"Back" => "Atzera",
"Download Contact" => "Deskargatu kontaktua",
"Delete Contact" => "Ezabatu kontaktua",
"Groups" => "Taldeak",
"Favorite" => "Gogokoa",
"Delete Contact" => "Ezabatu kontaktua",
"Close" => "Itxi",
"Keyboard shortcuts" => "Teklatuaren lasterbideak",
"Navigation" => "Nabigazioa",
@ -171,6 +177,7 @@
"Additional names" => "Tarteko izenak",
"Last name" => "Abizena",
"Nickname" => "Ezizena",
"Enter nickname" => "Sartu ezizena",
"Title" => "Izenburua",
"Organization" => "Erakundea",
"Birthday" => "Jaioteguna",
@ -192,15 +199,20 @@
"Delete URL" => "Ezabatu URLa",
"View on map" => "Ikusi mapan",
"Delete address" => "Ezabatu helbidea",
"Street address" => "Kalearen helbidea",
"12345" => "12345",
"Postal code" => "Posta kodea",
"Your city" => "Zure hiria",
"City" => "Hiria",
"Your country" => "Zure herrialdea",
"Country" => "Herrialdea",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "Ezabatu BM",
"Share" => "Partekatu",
"Export" => "Exportatu",
"Add Contact" => "Gehitu kontaktua",
"Drop photo to upload" => "Askatu argazkia igotzeko",
"Edit name details" => "Editatu izenaren zehaztasunak",
"Enter nickname" => "Sartu ezizena",
"http://www.somesite.com" => "http://www.webgunea.com",
"dd-mm-yyyy" => "yyyy-mm-dd",
"Separate groups with commas" => "Banatu taldeak komekin",
@ -215,16 +227,12 @@
"Edit address" => "Editatu helbidea",
"Type" => "Mota",
"PO Box" => "Posta kutxa",
"Street address" => "Kalearen helbidea",
"Street and number" => "Kalea eta zenbakia",
"Extended" => "Hedatua",
"Apartment number etc." => "Etxe zenbakia eab.",
"City" => "Hiria",
"Region" => "Eskualdea",
"E.g. state or province" => "adb. estatu edo herrialdea",
"Zipcode" => "Posta kodea",
"Postal code" => "Posta kodea",
"Country" => "Herrialdea",
"Addressbook" => "Helbide-liburua",
"Hon. prefixes" => "Ohorezko aurrizkiak",
"Given name" => "Izena",
@ -242,7 +250,6 @@
"Primary address (Kontact et al)" => "Helbide nagusia",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "Helbide Liburuak",
"Share" => "Partekatu",
"New Address Book" => "Helbide-liburu berria",
"Name" => "Izena",
"Description" => "Deskribapena",

View File

@ -39,9 +39,13 @@
"No file was uploaded. Unknown error" => "هیچ فایلی آپلود نشد.خطای ناشناس",
"Contacts" => "اشخاص",
"Select photo" => "تصویر را انتخاب کنید",
"No files selected for upload." => "هیچ فایلی برای آپلود انتخاب نشده است",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "حجم فایل بسیار بیشتر از حجم تنظیم شده در تنظیمات سرور است",
"Error" => "خطا",
"Unable to upload your file as it is a directory or has 0 bytes" => "ناتوان در بارگذاری یا فایل یک پوشه است یا 0بایت دارد",
"Upload Error" => "خطا در بار گذاری",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "حجم فایل بسیار بیشتر از حجم تنظیم شده در تنظیمات سرور است",
"Upload too large" => "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)",
"Pending" => "در انتظار",
"No files selected for upload." => "هیچ فایلی برای آپلود انتخاب نشده است",
"Result: " => "نتیجه:",
" imported, " => "وارد شد،",
" failed." => "ناموفق",
@ -65,8 +69,7 @@
"Contact" => "اشخاص",
"Settings" => "تنظیمات",
"Import" => "وارد کردن",
"Export" => "خروجی گرفتن",
"Back" => "بازگشت",
"OK" => "باشه",
"Groups" => "گروه ها",
"Close" => "بستن",
"Add contact" => "افزودن اطلاعات شخص مورد نظر",
@ -76,6 +79,7 @@
"Select photo from ownCloud" => "انتخاب یک تصویر از ابر های شما",
"Additional names" => "نام های دیگر",
"Nickname" => "نام مستعار",
"Enter nickname" => "یک نام مستعار وارد کنید",
"Title" => "عنوان",
"Organization" => "نهاد(ارگان)",
"Birthday" => "روزتولد",
@ -91,11 +95,14 @@
"Enter phone number" => "شماره تلفن راوارد کنید",
"Delete phone number" => "پاک کردن شماره تلفن",
"View on map" => "دیدن روی نقشه",
"City" => "شهر",
"Country" => "کشور",
"Share" => "اشتراک‌گزاری",
"Export" => "خروجی گرفتن",
"Add Contact" => "افزودن اطلاعات شخص مورد نظر",
"Drop photo to upload" => "تصویر را به اینجا بکشید تا بار گذازی شود",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Format custom, Short name, Full name, Reverse or Reverse with comma",
"Edit name details" => "ویرایش نام جزئیات",
"Enter nickname" => "یک نام مستعار وارد کنید",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "جدا کردن گروه ها به وسیله درنگ نما",
"Edit groups" => "ویرایش گروه ها",
@ -110,10 +117,8 @@
"Type" => "نوع",
"PO Box" => "صندوق پستی",
"Extended" => "تمدید شده",
"City" => "شهر",
"Region" => "ناحیه",
"Zipcode" => "کد پستی",
"Country" => "کشور",
"Addressbook" => "کتابچه ی نشانی ها",
"Hon. prefixes" => "پیشوند های محترمانه",
"Miss" => "خانم",
@ -143,7 +148,6 @@
"Primary address (Kontact et al)" => "نشانی اولیه",
"iOS/OS X" => "iOS/OS X ",
"Addressbooks" => "کتابچه ی نشانی ها",
"Share" => "اشتراک‌گزاری",
"New Address Book" => "کتابچه نشانه های جدید",
"Name" => "نام",
"Save" => "ذخیره سازی"

View File

@ -52,16 +52,23 @@
"Network or server error. Please inform administrator." => "Verkko- tai palvelinvirhe. Ilmoita asiasta ylläpitäjälle.",
"Error adding to group." => "Virhe ryhmään lisättäessä.",
"Error removing from group." => "Virhe poistettaessa ryhmästä.",
"Not all files uploaded. Retrying..." => "Kaikkia tiedostoja ei lähetetty. Yritetään uudelleen...",
"Something went wrong with the upload, please retry." => "Jokin meni vikaan lähettäessä. Yritä uudelleen.",
"Error" => "Virhe",
"Importing..." => "Tuodaan...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Tiedoston lähetys epäonnistui, koska sen koko on 0 tavua tai kyseessä on kansio.",
"Upload Error" => "Lähetysvirhe",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Tiedosto, jota yrität ladata ylittää suurimman sallitun koon tällä palvelimella.",
"Upload too large" => "Lähetettävä tiedosto on liian suuri",
"Pending" => "Odottaa",
"Add group" => "Lisää ryhmä",
"No files selected for upload." => "Tiedostoja ei ole valittu lähetettäväksi.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Tiedosto, jota yrität ladata ylittää suurimman sallitun koon tällä palvelimella.",
"Edit profile picture" => "Muokkaa profiilikuvaa",
"Error loading profile picture." => "Virhe profiilikuvaa ladatessa.",
"Enter name" => "Anna nimi",
"Enter description" => "Anna kuvaus",
"Select addressbook" => "Valitse osoitekirja",
"The address book name cannot be empty." => "Osoitekirjan nimi ei voi olla tyhjä",
"Error" => "Virhe",
"Is this correct?" => "Onko tämä oikein?",
"There was an unknown error when trying to delete this contact" => "Tätä yhteystietoa poistaessa tapahtui tuntematon virhe",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Jotkin yhteystiedot on merkitty poistettaviksi, mutta niitä ei ole vielä poistettu. Odota hetki, että kyseiset yhteystiedot poistetaan.",
@ -119,16 +126,14 @@
"Contact not found." => "Yhteystietoja ei löytynyt.",
"New Group" => "Uusi ryhmä",
"Settings" => "Asetukset",
"Share" => "Jaa",
"Import" => "Tuo",
"Export" => "Vie",
"OK" => "OK",
"(De-)select all" => "Valitse kaikki tai poista kaikki valinnat",
"New Contact" => "Uusi yhteystieto",
"Back" => "Takaisin",
"Download Contact" => "Lataa yhteystieto",
"Delete Contact" => "Poista yhteystieto",
"Groups" => "Ryhmät",
"Favorite" => "Suosikki",
"Delete Contact" => "Poista yhteystieto",
"Close" => "Sulje",
"Keyboard shortcuts" => "Pikanäppäimet",
"Navigation" => "Suunnistus",
@ -153,6 +158,7 @@
"Additional names" => "Lisänimet",
"Last name" => "Sukunimi",
"Nickname" => "Kutsumanimi",
"Enter nickname" => "Anna kutsumanimi",
"Title" => "Otsikko",
"Organization" => "Organisaatio",
"Birthday" => "Syntymäpäivä",
@ -173,14 +179,19 @@
"Go to web site" => "Siirry verkkosivulle",
"View on map" => "Näytä kartalla",
"Delete address" => "Poista osoite",
"Street address" => "Katuosoite",
"12345" => "12345",
"Postal code" => "Postinumero",
"City" => "Paikkakunta",
"Country" => "Maa",
"Instant Messenger" => "Pikaviestin",
"Delete IM" => "Poista IM",
"Share" => "Jaa",
"Export" => "Vie",
"Add Contact" => "Lisää yhteystieto",
"Drop photo to upload" => "Ladataksesi pudota kuva",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Itsemääritelty muoto, lyhyt nimi, pitkä nimi, vastakkainen tai vastakkainen pilkun kanssa",
"Edit name details" => "Muokkaa nimitietoja",
"Enter nickname" => "Anna kutsumanimi",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "pp-kk-vvvv",
"Separate groups with commas" => "Erota ryhmät pilkuilla",
@ -195,16 +206,12 @@
"Edit address" => "Muokkaa osoitetta",
"Type" => "Tyyppi",
"PO Box" => "Postilokero",
"Street address" => "Katuosoite",
"Street and number" => "Katu ja numero",
"Extended" => "Laajennettu",
"Apartment number etc." => "Asunnon numero jne.",
"City" => "Paikkakunta",
"Region" => "Alue",
"E.g. state or province" => "Esim. maakunta tai alue",
"Zipcode" => "Postinumero",
"Postal code" => "Postinumero",
"Country" => "Maa",
"Addressbook" => "Osoitekirja",
"Hon. prefixes" => "Kunnianarvoisa etuliite",
"Miss" => "Neiti",

View File

@ -67,16 +67,23 @@
"Error adding to group." => "Erreur lors de l'ajout au groupe.",
"Error removing from group." => "Erreur lors du retrait du groupe.",
"There was an error opening a mail composer." => "Une erreur s'est produite lors de louverture d'un outil de composition email.",
"Not all files uploaded. Retrying..." => "Tous les fichiers n'ont pas pu être téléversés. Nouvel essai…",
"Something went wrong with the upload, please retry." => "Une erreur s'est produite pendant le téléversement, veuillez réessayer.",
"Error" => "Erreur",
"Importing..." => "Import en cours…",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossible de téléverser votre fichier dans la mesure où il s'agit d'un répertoire ou d'un fichier de taille nulle",
"Upload Error" => "Erreur lors du téléversement",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Le fichier que vous tentez de charger dépasse la taille maximum de fichier autorisée sur ce serveur.",
"Upload too large" => "Téléversement trop volumineux",
"Pending" => "En attente",
"Add group" => "Ajouter un groupe",
"No files selected for upload." => "Aucun fichiers choisis pour être chargés",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Le fichier que vous tentez de charger dépasse la taille maximum de fichier autorisée sur ce serveur.",
"Edit profile picture" => "Éditer l'image de profil",
"Error loading profile picture." => "Erreur pendant le chargement de la photo de profil.",
"Enter name" => "Saisissez le nom",
"Enter description" => "Saisissez une description",
"Select addressbook" => "Sélection d'un carnet d'adresses",
"The address book name cannot be empty." => "Le nom du carnet d'adresses ne peut être vide.",
"Error" => "Erreur",
"Is this correct?" => "Est-ce correct ?",
"There was an unknown error when trying to delete this contact" => "Une erreur inconnue s'est produite lors de la tentative de suppression du contact",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Certains contacts sont marqués pour être supprimés, mais ne le sont pas encore. Veuillez attendre que l'opération se termine.",
@ -138,17 +145,15 @@
"HomePage" => "Page d'Accueil",
"New Group" => "Nouveau Groupe",
"Settings" => "Paramètres",
"Share" => "Partager",
"Import" => "Importer",
"Import into:" => "Importer dans :",
"Export" => "Exporter",
"OK" => "OK",
"(De-)select all" => "(Dé-)sélectionner tout",
"New Contact" => "Nouveau Contact",
"Back" => "Retour",
"Download Contact" => "Télécharger le Contact",
"Delete Contact" => "Supprimer le Contact",
"Groups" => "Groupes",
"Favorite" => "Favoris",
"Delete Contact" => "Supprimer le Contact",
"Close" => "Fermer",
"Keyboard shortcuts" => "Raccourcis clavier",
"Navigation" => "Navigation",
@ -174,6 +179,7 @@
"Additional names" => "Nom supplémentaires",
"Last name" => "Nom",
"Nickname" => "Surnom",
"Enter nickname" => "Entrer un surnom",
"Title" => "Titre",
"Organization" => "Société",
"Birthday" => "Anniversaire",
@ -197,17 +203,22 @@
"View on map" => "Voir sur une carte",
"Delete address" => "Effacer l'adresse",
"1 Main Street" => "1 Rue Principale",
"Street address" => "Adresse postale",
"12345" => "12345",
"Postal code" => "Code postal",
"Your city" => "Votre Ville",
"City" => "Ville",
"Some region" => "Une Région",
"Your country" => "Votre Pays",
"Country" => "Pays",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "Supprimer la messagerie instantanée",
"Share" => "Partager",
"Export" => "Exporter",
"Add Contact" => "Ajouter un Contact",
"Drop photo to upload" => "Glisser une photo pour l'envoi",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Formatage personnalisé, Nom court, Nom complet, Inversé, Inversé avec virgule",
"Edit name details" => "Editer les noms",
"Enter nickname" => "Entrer un surnom",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "jj-mm-aaaa",
"Separate groups with commas" => "Séparer les groupes avec des virgules",
@ -222,16 +233,12 @@
"Edit address" => "Editer l'adresse",
"Type" => "Type",
"PO Box" => "Boîte postale",
"Street address" => "Adresse postale",
"Street and number" => "Rue et numéro",
"Extended" => "Étendu",
"Apartment number etc." => "Numéro d'appartement, etc.",
"City" => "Ville",
"Region" => "Région",
"E.g. state or province" => "Ex: état ou province",
"Zipcode" => "Code postal",
"Postal code" => "Code postal",
"Country" => "Pays",
"Addressbook" => "Carnet d'adresses",
"Hon. prefixes" => "Préfixe hon.",
"Miss" => "Mlle",

View File

@ -41,13 +41,20 @@
"No file was uploaded. Unknown error" => "Non se subiu ningún ficheiro. Erro descoñecido.",
"Contacts" => "Contactos",
"Select photo" => "Seleccione fotografía",
"No files selected for upload." => "Sen ficheiros escollidos para subir.",
"Not all files uploaded. Retrying..." => "Non se subiron todos os ficheiros. Intentándoo de novo...",
"Something went wrong with the upload, please retry." => "Algo fallou na subida de ficheiros. Inténtao de novo.",
"Error" => "Erro",
"Importing..." => "Importando...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Non se puido subir o ficheiro pois ou é un directorio ou ten 0 bytes",
"Upload Error" => "Erro na subida",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "O ficheiro que tenta subir supera o tamaño máximo permitido neste servidor.",
"Upload too large" => "Subida demasiado grande",
"Pending" => "Pendentes",
"No files selected for upload." => "Sen ficheiros escollidos para subir.",
"Error loading profile picture." => "Erro ao cargar a imaxe de perfil.",
"Enter name" => "Indique o nome",
"Enter description" => "Introducir a descrición",
"The address book name cannot be empty." => "Non se pode deixar baleiro o nome do caderno de enderezos.",
"Error" => "Erro",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Algúns contactos están marcados para ser eliminados máis aínda non se eliminaron. Espera a que se eliminen.",
"Result: " => "Resultado: ",
" imported, " => " importado, ",
@ -102,8 +109,7 @@
"There was an error deleting this contact." => "Houbo un erro eliminando este contacto.",
"Settings" => "Preferencias",
"Import" => "Importar",
"Export" => "Exportar",
"Back" => "Atrás",
"OK" => "Aceptar",
"Groups" => "Grupos",
"Close" => "Pechar",
"Keyboard shortcuts" => "Atallos de teclado",
@ -125,6 +131,7 @@
"Select photo from ownCloud" => "Escoller foto desde ownCloud",
"Additional names" => "Nomes adicionais",
"Nickname" => "Alcume",
"Enter nickname" => "Introduza o alcume",
"Title" => "Título",
"Organization" => "Organización",
"Birthday" => "Aniversario",
@ -143,13 +150,18 @@
"Delete phone number" => "Borrar número de teléfono",
"Go to web site" => "Ir ao sitio web",
"View on map" => "Ver no mapa",
"Street address" => "Enderezo da rúa",
"Postal code" => "Código Postal",
"City" => "Cidade",
"Country" => "País",
"Instant Messenger" => "Mensaxería instantánea",
"Delete IM" => "Eliminar o MI",
"Share" => "Compartir",
"Export" => "Exportar",
"Add Contact" => "Engadir contacto",
"Drop photo to upload" => "Solte a foto a subir",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Formato personalizado, Nome corto, Nome completo, Inverso ou Inverso con coma",
"Edit name details" => "Editar detalles do nome",
"Enter nickname" => "Introduza o alcume",
"http://www.somesite.com" => "http://www.unhaligazon.net",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "Separe grupos con comas",
@ -164,16 +176,12 @@
"Edit address" => "Editar o enderezo",
"Type" => "Escribir",
"PO Box" => "Apartado de correos",
"Street address" => "Enderezo da rúa",
"Street and number" => "Rúa e número",
"Extended" => "Ampliado",
"Apartment number etc." => "Número de apartamento etc.",
"City" => "Cidade",
"Region" => "Autonomía",
"E.g. state or province" => "P.ex estado ou provincia",
"Zipcode" => "Código postal",
"Postal code" => "Código Postal",
"Country" => "País",
"Addressbook" => "Caderno de enderezos",
"Hon. prefixes" => "Prefixos honoríficos",
"Miss" => "Srta",
@ -205,7 +213,6 @@
"Primary address (Kontact et al)" => "Enderezo primario (Kontact et al)",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "Caderno de enderezos",
"Share" => "Compartir",
"New Address Book" => "Novo caderno de enderezos",
"Name" => "Nome",
"Description" => "Descrición",

View File

@ -33,6 +33,10 @@
"Missing a temporary folder" => "תקיה זמנית חסרה",
"Contacts" => "אנשי קשר",
"Error" => "שגיאה",
"Unable to upload your file as it is a directory or has 0 bytes" => "לא יכול להעלות את הקובץ מכיוון שזו תקיה או שמשקל הקובץ 0 בתים",
"Upload Error" => "שגיאת העלאה",
"Upload too large" => "העלאה גדולה מידי",
"Pending" => "ממתין",
"Download" => "הורדה",
"Edit" => "עריכה",
"Delete" => "מחיקה",
@ -52,8 +56,7 @@
"Contact" => "איש קשר",
"Settings" => "הגדרות",
"Import" => "יבא",
"Export" => "יצוא",
"Back" => "אחורה",
"OK" => "אישור",
"Groups" => "קבוצות",
"Close" => "סגירה",
"Add contact" => "הוסף איש קשר",
@ -63,6 +66,7 @@
"Select photo from ownCloud" => "בחר תמונה מ ownCloud",
"Additional names" => "שמות נוספים",
"Nickname" => "כינוי",
"Enter nickname" => "הכנס כינוי",
"Title" => "כותרת",
"Organization" => "ארגון",
"Birthday" => "יום הולדת",
@ -78,10 +82,13 @@
"Enter phone number" => "הכנס מספר טלפון",
"Delete phone number" => "מחק מספר טלפון",
"View on map" => "ראה במפה",
"City" => "עיר",
"Country" => "מדינה",
"Share" => "שתף",
"Export" => "יצוא",
"Add Contact" => "הוספת איש קשר",
"Drop photo to upload" => "גרור ושחרר תמונה בשביל להעלות",
"Edit name details" => "ערוך פרטי שם",
"Enter nickname" => "הכנס כינוי",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "הפרד קבוצות עם פסיקים",
"Edit groups" => "ערוך קבוצות",
@ -95,10 +102,8 @@
"Type" => "סוג",
"PO Box" => "תא דואר",
"Extended" => "מורחב",
"City" => "עיר",
"Region" => "אזור",
"Zipcode" => "מיקוד",
"Country" => "מדינה",
"Addressbook" => "פנקס כתובות",
"Hon. prefixes" => "קידומות שם",
"Miss" => "גב'",
@ -128,7 +133,6 @@
"Primary address (Kontact et al)" => "כתובת ראשית",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "פנקסי כתובות",
"Share" => "שתף",
"New Address Book" => "פנקס כתובות חדש",
"Name" => "שם",
"Save" => "שמירה"

View File

@ -29,6 +29,10 @@
"Missing a temporary folder" => "Nedostaje privremeni direktorij",
"Contacts" => "Kontakti",
"Error" => "Greška",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nemoguće poslati datoteku jer je prazna ili je direktorij",
"Upload Error" => "Pogreška pri slanju",
"Upload too large" => "Prijenos je preobiman",
"Pending" => "U tijeku",
"Download" => "Preuzimanje",
"Edit" => "Uredi",
"Delete" => "Obriši",
@ -59,8 +63,6 @@
"Contact" => "Kontakt",
"Settings" => "Postavke",
"Import" => "Uvezi",
"Export" => "Izvoz",
"Back" => "Natrag",
"Groups" => "Grupe",
"Close" => "Zatvori",
"Add contact" => "Dodaj kontakt",
@ -69,6 +71,7 @@
"Upload new photo" => "Učitaj novu sliku",
"Additional names" => "sredenje ime",
"Nickname" => "Nadimak",
"Enter nickname" => "Unesi nadimank",
"Title" => "Naslov",
"Organization" => "Organizacija",
"Birthday" => "Rođendan",
@ -83,10 +86,13 @@
"Enter phone number" => "Unesi broj telefona",
"Delete phone number" => "Izbriši broj telefona",
"View on map" => "Prikaži na karti",
"City" => "Grad",
"Country" => "Država",
"Share" => "Podijeli",
"Export" => "Izvoz",
"Add Contact" => "Dodaj kontakt",
"Drop photo to upload" => "Dovucite fotografiju za slanje",
"Edit name details" => "Uredi detalje imena",
"Enter nickname" => "Unesi nadimank",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "Razdvoji grupe sa zarezom",
@ -101,17 +107,14 @@
"Type" => "Tip",
"PO Box" => "Poštanski Pretinac",
"Extended" => "Prošireno",
"City" => "Grad",
"Region" => "Regija",
"Zipcode" => "Poštanski broj",
"Country" => "Država",
"Addressbook" => "Adresar",
"Given name" => "Ime",
"Family name" => "Prezime",
"more info" => "više informacija",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "Adresari",
"Share" => "Podijeli",
"New Address Book" => "Novi adresar",
"Name" => "Ime",
"Save" => "Spremi"

View File

@ -39,9 +39,13 @@
"No file was uploaded. Unknown error" => "Nem történt feltöltés. Ismeretlen hiba",
"Contacts" => "Kapcsolatok",
"Select photo" => "Fotó kiválasztása",
"No files selected for upload." => "Nincs kiválasztva feltöltendő fájl",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "A feltöltendő fájl mérete meghaladja a megengedett mértéket",
"Error" => "Hiba",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nem tölthető fel, mert mappa volt, vagy 0 byte méretű",
"Upload Error" => "Feltöltési hiba",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "A feltöltendő fájl mérete meghaladja a megengedett mértéket",
"Upload too large" => "A feltöltési méret túl nagy",
"Pending" => "Folyamatban",
"No files selected for upload." => "Nincs kiválasztva feltöltendő fájl",
"Result: " => "Eredmény: ",
" imported, " => " beimportálva, ",
" failed." => " sikertelen",
@ -65,8 +69,7 @@
"Contact" => "Kapcsolat",
"Settings" => "Beállítások",
"Import" => "Import",
"Export" => "Exportálás",
"Back" => "Vissza",
"OK" => "OK",
"Groups" => "Csoportok",
"Close" => "Bezár",
"Add contact" => "Kapcsolat hozzáadása",
@ -76,6 +79,7 @@
"Select photo from ownCloud" => "Kép kiválasztása ownCloud-ból",
"Additional names" => "További nevek",
"Nickname" => "Becenév",
"Enter nickname" => "Becenév megadása",
"Title" => "Felirat",
"Organization" => "Szervezet",
"Birthday" => "Születésnap",
@ -91,11 +95,14 @@
"Enter phone number" => "Adja meg a telefonszámot",
"Delete phone number" => "Telefonszám törlése",
"View on map" => "Megtekintés a térképen",
"City" => "Város",
"Country" => "Ország",
"Share" => "Megosztás",
"Export" => "Exportálás",
"Add Contact" => "Kapcsolat hozzáadása",
"Drop photo to upload" => "Húzza ide a feltöltendő képet",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Formátum egyedi, Rövid név, Teljes név, Visszafelé vagy Visszafelé vesszővel",
"Edit name details" => "Név részleteinek szerkesztése",
"Enter nickname" => "Becenév megadása",
"dd-mm-yyyy" => "yyyy-mm-dd",
"Separate groups with commas" => "Vesszővel válassza el a csoportokat",
"Edit groups" => "Csoportok szerkesztése",
@ -110,10 +117,8 @@
"Type" => "Típus",
"PO Box" => "Postafiók",
"Extended" => "Kiterjesztett",
"City" => "Város",
"Region" => "Megye",
"Zipcode" => "Irányítószám",
"Country" => "Ország",
"Addressbook" => "Címlista",
"Hon. prefixes" => "Előtag",
"Miss" => "Miss",
@ -143,7 +148,6 @@
"Primary address (Kontact et al)" => "Elsődleges cím",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "Címlisták",
"Share" => "Megosztás",
"New Address Book" => "Új címlista",
"Name" => "Név",
"Save" => "Mentés"

View File

@ -7,6 +7,7 @@
"No file was uploaded" => "Nulle file esseva incargate.",
"Missing a temporary folder" => "Manca un dossier temporari",
"Contacts" => "Contactos",
"Upload too large" => "Incargamento troppo longe",
"Download" => "Discargar",
"Edit" => "Modificar",
"Delete" => "Deler",
@ -25,8 +26,6 @@
"Contact" => "Contacto",
"Settings" => "Configurationes",
"Import" => "Importar",
"Export" => "Exportar",
"Back" => "Retro",
"Groups" => "Gruppos",
"Close" => "Clauder",
"Add contact" => "Adder adressario",
@ -36,6 +35,7 @@
"Select photo from ownCloud" => "Seliger photo ex ownCloud",
"Additional names" => "Nomines additional",
"Nickname" => "Pseudonymo",
"Enter nickname" => "Inserer pseudonymo",
"Title" => "Titulo",
"Organization" => "Organisation",
"Birthday" => "Anniversario",
@ -49,8 +49,11 @@
"Enter phone number" => "Entrar un numero de telephono",
"Delete phone number" => "Deler numero de telephono",
"View on map" => "Vider in un carta",
"City" => "Citate",
"Country" => "Pais",
"Share" => "Compartir",
"Export" => "Exportar",
"Add Contact" => "Adder contacto",
"Enter nickname" => "Inserer pseudonymo",
"Edit groups" => "Modificar gruppos",
"Enter email address" => "Entrar un adresse de e-posta",
"Add notes here." => "Adder notas hic",
@ -61,10 +64,8 @@
"Type" => "Typo",
"PO Box" => "Cassa postal",
"Extended" => "Extendite",
"City" => "Citate",
"Region" => "Region",
"Zipcode" => "Codice postal",
"Country" => "Pais",
"Addressbook" => "Adressario",
"Hon. prefixes" => "Prefixos honorific",
"Miss" => "Senioretta",
@ -81,7 +82,6 @@
"more info" => "plus info",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "Adressarios",
"Share" => "Compartir",
"New Address Book" => "Nove adressario",
"Name" => "Nomine",
"Save" => "Salveguardar"

View File

@ -10,6 +10,10 @@
"Missing a temporary folder" => "Kehilangan folder temporer",
"Contacts" => "kontak",
"Error" => "kesalahan",
"Importing..." => "mengimpor...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Gagal mengunggah berkas anda karena berupa direktori atau mempunyai ukuran 0 byte",
"Upload Error" => "Terjadi Galat Pengunggahan",
"Pending" => "Menunggu",
"Download" => "unduh",
"Edit" => "ubah",
"Delete" => "hapus",
@ -29,11 +33,10 @@
"Contact" => "kontak",
"Settings" => "pengaturan",
"Import" => "impor",
"Export" => "ekspor",
"Back" => "Kembali",
"Groups" => "grup",
"Close" => "tutup",
"Nickname" => "nama panggilan",
"Enter nickname" => "masukkan nama panggilan",
"Organization" => "organisasi",
"Birthday" => "tanggal lahir",
"Add" => "tambah",
@ -41,24 +44,24 @@
"Email" => "surel",
"Address" => "alamat",
"Preferred" => "disarankan",
"City" => "kota",
"Country" => "negara",
"Share" => "berbagi",
"Export" => "ekspor",
"Add Contact" => "tambah kontak",
"Edit name details" => "ubah detail nama",
"Enter nickname" => "masukkan nama panggilan",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "pisahkan grup dengan tanda koma",
"Download contact" => "unduk kontak",
"Delete contact" => "hapus kontak",
"Type" => "tipe",
"PO Box" => "PO box",
"City" => "kota",
"Region" => "daerah",
"Zipcode" => "kodepos",
"Country" => "negara",
"Addressbook" => "buku alamat",
"more info" => "lebih lanjut",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "buku alamat",
"Share" => "berbagi",
"Name" => "nama",
"Save" => "simpan"
);

3
l10n/is.php Normal file
View File

@ -0,0 +1,3 @@
<?php $TRANSLATIONS = array(
"Add" => "Bæta"
);

View File

@ -55,6 +55,7 @@
"Contact is not in this group." => "Il contatto non è in questo gruppo.",
"Contacts are not in this group." => "I contatti non sono in questo gruppo.",
"A group named {group} already exists" => "Un gruppo con nome {group} esiste già",
"You can drag groups to\narrange them as you like." => "Puoi trascinare i gruppi per\norganizzarli come preferisci.",
"All" => "Tutti",
"Favorites" => "Preferiti",
"Shared by {owner}" => "Condiviso da {owner}",
@ -67,16 +68,28 @@
"Error adding to group." => "Errore durante l'aggiunta al gruppo.",
"Error removing from group." => "Errore durante la rimozione dal gruppo.",
"There was an error opening a mail composer." => "Si è verificato un errore durante l'apertura del compositore.",
"Deleting done. Click here to cancel reloading." => "Eliminazione completata. Fai clic qui per annullare il ricaricamento.",
"Add address book" => "Aggiungi rubrica",
"Import done. Click here to cancel reloading." => "Importazione completata. Fai clic qui per annullare il ricaricamento.",
"Not all files uploaded. Retrying..." => "Non tutti i file sono stati caricati. Riprovo...",
"Something went wrong with the upload, please retry." => "Qualcosa non ha funzionato durante il caricamento. Prova ancora.",
"Error" => "Errore",
"Importing from {filename}..." => "Importazione da {filename} in corso...",
"{success} imported, {failed} failed." => "{success} importati, {failed} non riusciti.",
"Importing..." => "Importazione in corso...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossibile caricare il file poiché è una cartella o ha una dimensione di 0 byte",
"Upload Error" => "Errore di caricamento",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Il file che stai cercando di inviare supera la dimensione massima per l'invio dei file su questo server.",
"Upload too large" => "Caricamento troppo grande",
"Pending" => "In corso",
"Add group" => "Aggiungi gruppo",
"No files selected for upload." => "Nessun file selezionato per l'invio",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Il file che stai cercando di inviare supera la dimensione massima per l'invio dei file su questo server.",
"Edit profile picture" => "Modifica l'immagine del profilo",
"Error loading profile picture." => "Errore durante il caricamento dell'immagine di profilo.",
"Enter name" => "Inserisci il nome",
"Enter description" => "Inserisci una descrizione",
"Select addressbook" => "Seleziona rubrica",
"The address book name cannot be empty." => "Il nome della rubrica non può essere vuoto.",
"Error" => "Errore",
"Is this correct?" => "È corretto?",
"There was an unknown error when trying to delete this contact" => "Si è verificato un errore durante il tentativo di eliminare il contatto.",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Alcuni contatti sono marcati per l'eliminazione, ma non sono stati ancora rimossi. Attendi fino al completamento dell'operazione.",
@ -138,17 +151,18 @@
"HomePage" => "Pagina principale",
"New Group" => "Nuovo gruppo",
"Settings" => "Impostazioni",
"Share" => "Condividi",
"Address books" => "Rubriche",
"Import" => "Importa",
"Select files to import" => "Seleziona i file da importare",
"Select files" => "Seleziona i file",
"Import into:" => "Importa in:",
"Export" => "Esporta",
"OK" => "OK",
"(De-)select all" => "(De)seleziona tutto",
"New Contact" => "Nuovo contatto",
"Back" => "Indietro",
"Download Contact" => "Scarica contatto",
"Delete Contact" => "Elimina contatto",
"Groups" => "Gruppi",
"Favorite" => "Preferito",
"Delete Contact" => "Elimina contatto",
"Close" => "Chiudi",
"Keyboard shortcuts" => "Scorciatoie da tastiera",
"Navigation" => "Navigazione",
@ -174,6 +188,7 @@
"Additional names" => "Nomi aggiuntivi",
"Last name" => "Cognome",
"Nickname" => "Pseudonimo",
"Enter nickname" => "Inserisci pseudonimo",
"Title" => "Titolo",
"Organization" => "Organizzazione",
"Birthday" => "Compleanno",
@ -197,17 +212,23 @@
"View on map" => "Visualizza sulla mappa",
"Delete address" => "Elimina indirizzo",
"1 Main Street" => "Via principale 1",
"Street address" => "Indirizzo",
"12345" => "12345",
"Postal code" => "CAP",
"Your city" => "La tua città",
"City" => "Città",
"Some region" => "Una regione",
"Your country" => "Il tuo paese",
"Country" => "Stato",
"Instant Messenger" => "Client di messaggistica istantanea",
"Delete IM" => "Elimina IM",
"Share" => "Condividi",
"Export" => "Esporta",
"CardDAV link" => "Collegamento CardDav",
"Add Contact" => "Aggiungi contatto",
"Drop photo to upload" => "Rilascia una foto da inviare",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Formato personalizzato, nome breve, nome completo, invertito o invertito con virgola",
"Edit name details" => "Modifica dettagli del nome",
"Enter nickname" => "Inserisci pseudonimo",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "gg-mm-aaaa",
"Separate groups with commas" => "Separa i gruppi con virgole",
@ -222,16 +243,12 @@
"Edit address" => "Modifica indirizzo",
"Type" => "Tipo",
"PO Box" => "Casella postale",
"Street address" => "Indirizzo",
"Street and number" => "Via e numero",
"Extended" => "Esteso",
"Apartment number etc." => "Numero appartamento ecc.",
"City" => "Città",
"Region" => "Regione",
"E.g. state or province" => "Ad es. stato o provincia",
"Zipcode" => "CAP",
"Postal code" => "CAP",
"Country" => "Stato",
"Addressbook" => "Rubrica",
"Hon. prefixes" => "Prefissi onorifici",
"Miss" => "Sig.na",

View File

@ -55,6 +55,7 @@
"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." => "グループをドラックすることで好きな\nように並べ替えることができます。",
"All" => "すべて",
"Favorites" => "お気に入り",
"Shared by {owner}" => "{owner} と共有中",
@ -67,16 +68,28 @@
"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..." => "ファイルがアップロード出来ませんでした。再実行中...。",
"Something went wrong with the upload, please retry." => "アップロード中に不具合が発生しました、再実行してください。",
"Error" => "エラー",
"Importing from {filename}..." => "{filename} からインポート中...",
"{success} imported, {failed} failed." => "{success} をインポート、{failed} は失敗しました。",
"Importing..." => "インポート中...",
"Unable to upload your file as it is a directory or has 0 bytes" => "ディレクトリもしくは0バイトのファイルはアップロードできません",
"Upload Error" => "アップロードエラー",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "アップロードしようとしているファイルは、このサーバの最大ファイルアップロードサイズを超えています。",
"Upload too large" => "アップロードには大きすぎます。",
"Pending" => "中断",
"Add group" => "グループを追加",
"No files selected for upload." => "アップロードするファイルが選択されていません。",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "アップロードしようとしているファイルは、このサーバの最大ファイルアップロードサイズを超えています。",
"Edit profile picture" => "プロフィール写真を編集",
"Error loading profile picture." => "プロファイルの画像の読み込みエラー",
"Enter name" => "名前を入力",
"Enter description" => "説明を入力してください",
"Select addressbook" => "アドレスブックを選択",
"The address book name cannot be empty." => "アドレス帳名は空に出来ません。",
"Error" => "エラー",
"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." => "いくつかの連絡先が削除対象としてマークされていますが、まだ削除されていません。削除するまでお待ちください。",
@ -138,17 +151,18 @@
"HomePage" => "ホームページ",
"New Group" => "新しいグループ",
"Settings" => "設定",
"Share" => "共有",
"Address books" => "アドレスブック",
"Import" => "インポート",
"Select files to import" => "インポートするファイルを選択",
"Select files" => "ファイルを選択",
"Import into:" => "インポート情報:",
"Export" => "エクスポート",
"OK" => "OK",
"(De-)select all" => "すべての選択を解除",
"New Contact" => "新しい連絡先",
"Back" => "戻る",
"Download Contact" => "連絡先をダウンロード",
"Delete Contact" => "連絡先を削除",
"Groups" => "グループ",
"Favorite" => "お気に入り",
"Delete Contact" => "連絡先を削除",
"Close" => "閉じる",
"Keyboard shortcuts" => "キーボードショートカット",
"Navigation" => "ナビゲーション",
@ -174,6 +188,7 @@
"Additional names" => "ミドルネーム",
"Last name" => "",
"Nickname" => "ニックネーム",
"Enter nickname" => "ニックネームを入力",
"Title" => "タイトル",
"Organization" => "所属",
"Birthday" => "誕生日",
@ -197,17 +212,23 @@
"View on map" => "地図で表示",
"Delete address" => "住所を削除",
"1 Main Street" => "番地",
"Street address" => "住所1",
"12345" => "12345",
"Postal code" => "郵便番号",
"Your city" => "",
"City" => "都市",
"Some region" => "都道府県",
"Your country" => "",
"Country" => "国名",
"Instant Messenger" => "インスタントメッセンジャー",
"Delete IM" => "IMを削除",
"Share" => "共有",
"Export" => "エクスポート",
"CardDAV link" => "CardDAVリンク",
"Add Contact" => "連絡先の追加",
"Drop photo to upload" => "写真をドロップしてアップロード",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "編集フォーマット、ショートネーム、フルネーム、逆順、カンマ区切りの逆順",
"Edit name details" => "名前の詳細を編集",
"Enter nickname" => "ニックネームを入力",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "yyyy-mm-dd",
"Separate groups with commas" => "コンマでグループを分割",
@ -222,16 +243,12 @@
"Edit address" => "住所を編集",
"Type" => "種類",
"PO Box" => "私書箱",
"Street address" => "住所1",
"Street and number" => "番地",
"Extended" => "住所2",
"Apartment number etc." => "アパート名等",
"City" => "都市",
"Region" => "都道府県",
"E.g. state or province" => "例:東京都、大阪府",
"Zipcode" => "郵便番号",
"Postal code" => "郵便番号",
"Country" => "国名",
"Addressbook" => "アドレス帳",
"Hon. prefixes" => "敬称",
"Miss" => "Miss",

View File

@ -8,6 +8,10 @@
"Missing a temporary folder" => "დროებითი საქაღალდე არ არსებობს",
"Contacts" => "კონტაქტები",
"Error" => "შეცდომა",
"Unable to upload your file as it is a directory or has 0 bytes" => "თქვენი ფაილის ატვირთვა ვერ მოხერხდა. ის არის საქაღალდე და შეიცავს 0 ბაიტს",
"Upload Error" => "შეცდომა ატვირთვისას",
"Upload too large" => "ასატვირთი ფაილი ძალიან დიდია",
"Pending" => "მოცდის რეჟიმში",
"Download" => "ჩამოტვირთვა",
"Edit" => "რედაქტირება",
"Delete" => "წაშლა",
@ -26,7 +30,6 @@
"Contact" => "კონტაქტი",
"Settings" => "პარამეტრები",
"Import" => "იმპორტი",
"Export" => "ექსპორტი",
"Groups" => "ჯგუფები",
"Close" => "დახურვა",
"Add contact" => "კონტაქტის დამატება",
@ -43,6 +46,10 @@
"Email" => "იმეილი",
"Address" => "მისამართი",
"Note" => "შენიშვნა",
"City" => "ქალაქი",
"Country" => "ქვეყანა",
"Share" => "გაზიარება",
"Export" => "ექსპორტი",
"Add Contact" => "კონტაქტის დამატება",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Edit groups" => "ჯგუფების რედაქტირება",
@ -54,10 +61,8 @@
"Type" => "ტიპი",
"PO Box" => "PO ყუთი",
"Extended" => "Extended",
"City" => "ქალაქი",
"Region" => "რეგიონი",
"Zipcode" => "Zip კოდი",
"Country" => "ქვეყანა",
"Addressbook" => "მისამარტების ზიგნი",
"Miss" => "მისის",
"Ms" => "მის",
@ -67,7 +72,6 @@
"Primary address (Kontact et al)" => "პირველადი მისამართი (Kontact et al)",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "მისამართის წიგნები",
"Share" => "გაზიარება",
"New Address Book" => "ახალი მისამართების წიგნი",
"Name" => "სახელი",
"Save" => "შენახვა"

View File

@ -1,76 +1,122 @@
<?php $TRANSLATIONS = array(
"Error (de)activating addressbook." => "주소록을 (비)활성화하는 데 실패했습니다.",
"id is not set." => "아이디가 설정되어 있지 않습니다. ",
"Cannot update addressbook with an empty name." => "주소록에 이름란이 비어있으면 업데이트를 할 수 없습니다. ",
"No ID provided" => "제공되는 아이디 없음",
"Error setting checksum." => "오류 검사합계 설정",
"No categories selected for deletion." => "삭제 카테고리를 선택하지 않았습니다. ",
"id is not set." => "ID가 설정되어 있지 않습니다. ",
"Cannot update addressbook with an empty name." => "주소록 이름이 비어 있으면 업데이트할 수 없습니다.",
"No category name given." => "분류 이름이 입력되지 않았습니다.",
"Error adding group." => "그룹을 추가하는 중 오류가 발생하였습니다.",
"Group ID missing from request." => "요청에 그룹 ID가 누락되었습니다.",
"Contact ID missing from request." => "요청에 연락처 ID가 누락되었습니다.",
"No ID provided" => "ID가 지정되지 않았음",
"Error setting checksum." => "체크섬을 설정하는 중 오류가 발생하였습니다.",
"No categories selected for deletion." => "삭제할 분류를 선택하지 않았습니다. ",
"No address books found." => "주소록을 찾을 수 없습니다.",
"No contacts found." => "연락처를 찾을 수 없습니다.",
"element name is not set." => "element 이름이 설정되지 않았습니다.",
"element name is not set." => "원소 이름이 설정되지 않았습니다.",
"checksum is not set." => "체크섬이 설정되지 않았습니다.",
"Information about vCard is incorrect. Please reload the page." => "vCard 정보가 올바르지 않습니다. 페이지를 새로 고치십시오.",
"Information about vCard is incorrect. Please reload the page: " => " vCard에 대한 정보가 잘못되었습니다. 페이지를 다시 로드하세요:",
"Something went FUBAR. " => "무언가가 FUBAR로 감.",
"Missing IM parameter." => "IM 매개 변수 분실.",
"Unknown IM: " => "알려지지 않은 IM:",
"No contact ID was submitted." => "접속 아이디가 기입되지 않았습니다.",
"Error reading contact photo." => "사진 읽기 오류",
"Couldn't find vCard for %d." => "%d의 vCard를 찾을 수 없습니다.",
"Information about vCard is incorrect. Please reload the page: " => " vCard 정보가 올바르지 않습니다. 페이지를 새로 고치십시오:",
"Something went FUBAR. " => "알 수 없는 오류가 발생하였습니다.",
"Cannot save property of type \"%s\" as array" => "\"%s\" 형식의 속성을 배열로 저장할 수 없습니다",
"Missing IM parameter." => "IM 매개 변수가 없습니다.",
"Unknown IM: " => "알 수 없는 IM:",
"No contact ID was submitted." => "연락처 ID가 지정되지 않았습니다.",
"Error reading contact photo." => "연락처 사진을 불러올 수 없습니다.",
"Error saving temporary file." => "임시 파일을 저장하는 동안 오류가 발생했습니다. ",
"The loading photo is not valid." => "로딩 사진이 유효하지 않습니다. ",
"Contact ID is missing." => "접속 아이디가 없습니다. ",
"No photo path was submitted." => "사진 경로가 제출되지 않았습니다. ",
"File doesn't exist:" => "파일이 존재하지 않습니다. ",
"Error loading image." => "로딩 이미지 오류입니다.",
"Error getting contact object." => "연락처 체를 가져오는 중 오류가 발생했습니다. ",
"The loading photo is not valid." => "로딩 사진이 올바르지 않습니다. ",
"Contact ID is missing." => "연락처 ID가 없습니다. ",
"No photo path was submitted." => "사진 경로가 지정되지 않았습니다. ",
"File doesn't exist:" => "파일이 존재하지 않습니다:",
"Error loading image." => "그림을 불러올 수 없습니다.",
"Error getting contact object." => "연락처 체를 가져오는 중 오류가 발생했습니다. ",
"Error getting PHOTO property." => "사진 속성을 가져오는 중 오류가 발생했습니다. ",
"Error saving contact." => "연락처 저장 중 오류가 발생했습니다.",
"Error resizing image" => "이미지 크기 조정 중 오류가 발생했습니다.",
"Error cropping image" => "이미지를 자르던 중 오류가 발생했습니다.",
"Error creating temporary image" => "임시 이미지를 생성 중 오류가 발생했습니다.",
"Error finding image: " => "이미지를 찾던 중 오류가 발생했습니다:",
"Error uploading contacts to storage." => "스토리지 에러 업로드 연락처.",
"There is no error, the file uploaded with success" => "오류없이 파일업로드 성공.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "php.ini 형식으로 업로드 된 이 파일은 MAX_FILE_SIZE를 초과하였다.",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "HTML형식으로 업로드 된 이 파일은 MAX_FILE_SIZE를 초과하였다.",
"The uploaded file was only partially uploaded" => "이 업로드된 파일은 부분적으로만 업로드 되었습니다.",
"No file was uploaded" => "파일이 업로드 되어있지 않습니다",
"Missing a temporary folder" => "임시 폴더 분실",
"Couldn't save temporary image: " => "임시 이미지를 저장할 수 없습니다:",
"Couldn't load temporary image: " => "임시 이미지를 불러올 수 없습니다. ",
"No file was uploaded. Unknown error" => "파일이 업로드 되지 않았습니다. 알 수 없는 오류.",
"Error resizing image" => "그림 크기 조절 오류",
"Error cropping image" => "그림 자르기 오류",
"Error creating temporary image" => "임시 그림 생성 오류",
"Error finding image: " => "그림 검색 오류:",
"Key is not set for: " => "키가 설정되지 않음:",
"Value is not set for: " => "값이 설정되지 않음:",
"Could not set preference: " => "우선 순위를 설정할 수 없음:",
"Error uploading contacts to storage." => "연락처를 저장소에 업로드하는 중 오류가 발생하였습니다.",
"There is no error, the file uploaded with success" => "파일 업로드에 성공하였습니다.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "업로드한 파일 크기가 php.ini의 upload_max_filesize보다 큼",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "업로드한 파일 크기가 HTML 폼의 MAX_FILE_SIZE보다 큼",
"The uploaded file was only partially uploaded" => "파일의 일부분만 업로드됨",
"No file was uploaded" => "파일이 업로드되지 않았음",
"Missing a temporary folder" => "임시 폴더가 없음",
"Couldn't save temporary image: " => "임시 그림을 저장할 수 없음:",
"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." => "원하는 대로 그룹을 드래그하여\n정리할 수 있습니다.",
"All" => "모두",
"Favorites" => "즐겨찾기",
"Shared by {owner}" => "{owner} 님이 공유함",
"Indexing contacts" => "연락처 인덱스 작성 중",
"Add to..." => "다음에 추가...",
"Remove from..." => "다음에서 삭제...",
"Add group..." => "그룹 추가...",
"Select photo" => "사진 선택",
"No files selected for upload." => "업로드를 위한 파일이 선택되지 않았습니다. ",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "이 파일은 이 서버 파일 업로드 최대 용량을 초과 합니다. ",
"Error loading profile picture." => "프로필 사진 로딩 에러",
"Enter name" => "이름을 입력",
"Enter description" => "설명을 입력",
"The address book name cannot be empty." => "주소록 이름은 비워둘 수 없습니다.",
"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..." => "모든 파일이 업로드되지 않았습니다. 다시 시도하는 중...",
"Something went wrong with the upload, please retry." => "업로드 중 오류가 발생하였습니다. 다시 시도해 주십시오.",
"Error" => "오류",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "일부 연락처가 삭제 표시 되었으나 아직 삭제되지 않았습니다. 삭제가 끝날 때 까지 기다려 주세요.",
"Result: " => "결과:",
" imported, " => "불러오기,",
" failed." => "실패.",
"Displayname cannot be empty." => "디스플레이 이름은 비워둘 수 없습니다. ",
"Show CardDav link" => "CardDav 링크를 표시",
"Show read-only VCF link" => "읽기전용 VCF 링크 표시",
"Importing from {filename}..." => "{filename}에서 가져오는 중...",
"{success} imported, {failed} failed." => "항목 {success}개를 가져왔으며, {failed}개는 실패하였습니다.",
"Importing..." => "가져오는 중...",
"Unable to upload your file as it is a directory or has 0 bytes" => "디렉터리 및 빈 파일은 업로드할 수 없습니다",
"Upload Error" => "업로드 오류",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "업로드할 파일이 서버의 최대 업로드 파일 크기를 초과합니다.",
"Upload too large" => "업로드한 파일이 너무 큼",
"Pending" => "대기 중",
"Add group" => "그룹 추가",
"No files selected for upload." => "업로드할 파일이 선택되지 않았습니다.",
"Edit profile picture" => "프로필 사진 편집",
"Error loading profile picture." => "프로필 사진을 불러오는 중 오류가 발생하였습니다.",
"Enter name" => "이름 입력",
"Enter description" => "설명 입력",
"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}개 삭제를 취소하려면 누르십시오",
"Cancelled deletion of {num}" => "{num} 개의 삭제를 캔슬했습니다",
"Result: " => "결과: ",
" imported, " => "개 항목 가져옴,",
" failed." => "개 항목 가져오기 실패.",
"Displayname cannot be empty." => "표시 이름을 입력해야 합니다.",
"Show CardDav link" => "CardDAV 링크 표시",
"Show read-only VCF link" => "읽기 전용 VCF 링크 표시",
"Download" => "다운로드",
"Edit" => "편집",
"Delete" => "삭제",
"Cancel" => "취소",
"More..." => "더...",
"Less..." => "그외...",
"You do not have the permissions to read this addressbook." => "당신은 이 주소록을 읽기 위한 권한이 없습니다.",
"You do not have the permissions to update this addressbook." => "당신은 이 주소록을 업데이트하기 위한 권한이 없습니다.",
"There was an error updating the addressbook." => "주소록을 업데이트 하는중에 에러가 발생하였습니다.",
"You do not have the permissions to delete this addressbook." => "당신은 이 주소록을 삭제하기 위한 권한이 없습니다.",
"There was an error deleting this addressbook." => "이 주소록을 제거하는데 에러가 발생하였습니다.",
"More..." => " 보기...",
"Less..." => "덜 보기...",
"You do not have the permissions to read this addressbook." => "이 주소록을 읽을 수 있는 권한이 없습니다.",
"You do not have the permissions to update this addressbook." => "이 주소록을 업데이트할 수 있는 권한이 없습니다.",
"There was an error updating the addressbook." => "주소록을 업데이트하는 중 오류가 발생하였습니다.",
"You do not have the permissions to delete this addressbook." => "이 주소록을 삭제할 수 있는 권한이 없습니다.",
"There was an error deleting this addressbook." => "이 주소록을 삭제하는 중 오류가 발생하였습니다.",
"Jabber" => "Jabber",
"AIM" => "AIM",
"MSN" => "MSN",
"Twitter" => "Twitter",
"GoogleTalk" => "GoogleTalk",
"GoogleTalk" => "Google 토크",
"Facebook" => "Facebook",
"XMPP" => "XMPP",
"ICQ" => "ICQ",
@ -79,112 +125,141 @@
"QQ" => "QQ",
"GaduGadu" => "GaduGadu",
"Work" => "직장",
"Home" => "자택",
"Other" => "그 외",
"Home" => "가정",
"Other" => "기타",
"Mobile" => "휴대폰",
"Text" => "문자 번호",
"Voice" => "음성 번호",
"Message" => "",
"Fax" => "팩스 번호",
"Video" => "영상 번호",
"Text" => "TTY TDD",
"Voice" => "음성 사서함",
"Message" => "",
"Fax" => "팩스",
"Video" => "화상 전화",
"Pager" => "호출기",
"Internet" => "인터넷",
"Friends" => "친구",
"Friends" => "친구",
"Family" => "가족",
"{name}'s Birthday" => "{이름}의 생일",
"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." => "당신은 이 주소록에 연락처를 추가하기 위한 권한이 없습니다.",
"Could not find the vCard with ID." => "ID와 vCard를 찾을수 없습니다.",
"You do not have the permissions to edit this contact." => "당신은 연락처를 수정할 권한이 없습니다. ",
"Could not find the vCard with ID: " => "ID와 vCard를 찾을수 없습니다.",
"Could not find the Addressbook with ID: " => "ID와 주소록을 찾을 수 없습니다.",
"You do not have the permissions to delete this contact." => "당신은 연락처를 삭제할 권한이 없습니다. ",
"There was an error deleting this contact." => "이 연락처를 삭제하는데 에러가 발생하였습니다.",
"You do not have the permissions to add contacts to this addressbook." => "이 주소록에 연락처를 추가할 수 있는 권한이 없습니다.",
"Could not find the vCard with ID." => "ID로 vCard를 찾을 수 없습니다.",
"You do not have the permissions to edit this contact." => "이 연락처를 수정할 수 있는 권한이 없습니다.",
"Could not find the vCard with ID: " => "다음 ID의 vCard를 찾을 수 없습니다:",
"Could not find the Addressbook with ID: " => "다음 ID의 주소록 찾을 수 없습니다:",
"You do not have the permissions to delete this contact." => "이 연락처를 삭제할 수 있는 권한이 없습니다.",
"There was an error deleting this contact." => "이 연락처를 삭제하는 중 오류가 발생하였습니다.",
"Contact not found." => "연락처를 찾을 수 없습니다.",
"HomePage" => "홈 페이지",
"New Group" => "새 그룹",
"Settings" => "설정",
"Import" => "입력",
"Export" => "내보내기",
"Back" => "뒤로",
"Address books" => "주소록",
"Import" => "가져오기",
"Select files to import" => "가져올 파일 선택",
"Select files" => "파일 선택",
"Import into:" => "다음으로 가져오기:",
"OK" => "확인",
"(De-)select all" => "전체 선택(해제)",
"New Contact" => "새 연락처",
"Download Contact" => "연락처 다운로드",
"Groups" => "그룹",
"Favorite" => "즐겨찾기",
"Delete Contact" => "연락처 삭제",
"Close" => "닫기",
"Keyboard shortcuts" => "단축키",
"Navigation" => "네비게이션",
"Next contact in list" => "목록에서의 다음 연락처",
"Previous contact in list" => "목록에서의 이전 연락처",
"Expand/collapse current addressbook" => "현재 주소록을 확장/축소",
"Keyboard shortcuts" => "키보드 단축키",
"Navigation" => "탐색",
"Next contact in list" => "목록의 다음 연락처",
"Previous contact in list" => "목록의 이전 연락처",
"Expand/collapse current addressbook" => "현재 주소록 펴기/접기",
"Next addressbook" => "다음 주소록",
"Previous addressbook" => "이전 주소록",
"Actions" => "",
"Actions" => "",
"Refresh contacts list" => "연락처 목록 새로 고침",
"Add new contact" => "로운 연락처 추가",
"Add new addressbook" => "로운 주소록 추가",
"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" => "그룹 삭제",
"Delete current photo" => "현재 사진 삭제",
"Edit current photo" => "현재 사진 편집",
"Upload new photo" => "새로운 사진 업로드",
"Select photo from ownCloud" => "ownCloud에서 사진 선택",
"First name" => "이름",
"Additional names" => "추가 이름",
"Last name" => "",
"Nickname" => "별명",
"Title" => "제목",
"Enter nickname" => "별명 입력",
"Title" => "직위",
"Organization" => "조직",
"Birthday" => "생일",
"Notes go here..." => "메모를 입력하십시오...",
"Add" => "추가",
"Phone" => "전화 번호",
"Email" => "전자 우편",
"Instant Messaging" => "인스턴트 메세지",
"Phone" => "전화번호",
"Email" => "이메일",
"Instant Messaging" => "인스턴트 메시징",
"Address" => "주소",
"Note" => "노트",
"Note" => "메모",
"Web site" => "웹 사이트",
"Preferred" => "선호함",
"Please specify a valid email address." => "올바른 이메일 주소를 입력하세요.",
"Mail to address" => "이메일 주소",
"Delete email address" => "이메일 주소 삭제",
"Please specify a valid email address." => "올바른 이메일 주소를 입력하십시오.",
"someone@example.com" => "someone@example.com",
"Mail to address" => "메일 보내기",
"Delete email address" => "메일 주소 삭제",
"Enter phone number" => "전화번호 입력",
"Delete phone number" => "전화번호 삭제",
"Go to web site" => "웹 사이트로 가기",
"View on map" => "지도에서 보기",
"Go to web site" => "웹 사이트로 이동",
"Delete URL" => "URL 삭제",
"View on map" => "지도에 표시",
"Delete address" => "주소 삭제",
"1 Main Street" => "종로 1",
"Street address" => "거리 주소",
"12345" => "12345",
"Postal code" => "우편번호",
"Your city" => "도시",
"City" => "도시",
"Some region" => "지역",
"Your country" => "국가",
"Country" => "국가",
"Instant Messenger" => "인스턴트 메신저",
"Delete IM" => "IM 삭제",
"Share" => "공유",
"Export" => "내보내기",
"CardDAV link" => "CardDAV 링크",
"Add Contact" => "연락처 추가",
"Drop photo to upload" => "Drop photo to upload",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Format custom, Short name, Full name, Reverse or Reverse with comma",
"Edit name details" => "이름 세부사항을 편집합니다. ",
"Enter nickname" => "별명 입력",
"Drop photo to upload" => "사진을 끌어다 놓아서 업로드",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "사용자 정의 형식,짧은 이름,이름 성,성 이름 및 쉼표로 구분된 성 이름",
"Edit name details" => "이름 정보 편집",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "일-월-년",
"dd-mm-yyyy" => "yyyy-mm-dd",
"Separate groups with commas" => "쉼표로 그룹 구분",
"Edit groups" => "그룹 편집",
"Enter email address" => "메일 주소 입력",
"Edit address details" => "상세 주소 수정",
"Add notes here." => "여기에 노트 추가.",
"Add field" => "파일 추가",
"Enter email address" => "메일 주소 입력",
"Edit address details" => "자세한 정보 편집",
"Add notes here." => "여기에 메모를 추가하십시오.",
"Add field" => "항목 추가",
"Download contact" => "연락처 다운로드",
"Delete contact" => "연락처 삭제",
"The temporary image has been removed from cache." => "임시 미지가 캐시에서 제되었습니다. ",
"Edit address" => "주소 수정",
"The temporary image has been removed from cache." => "임시 그림이 캐시에서 제되었습니다. ",
"Edit address" => "주소 편집",
"Type" => "종류",
"PO Box" => "사서함",
"Street address" => "번지",
"Street and number" => "거리와 번호",
"Extended" => "확장",
"Apartment number etc." => "아파트 호수 그 외.",
"City" => "도시",
"Street and number" => "거리 이름 및 번지",
"Extended" => "주소 2",
"Apartment number etc." => "아파트 호수 등",
"Region" => "지역",
"E.g. state or province" => "예를 들어 구 또는 도",
"Zipcode" => "우편 번호",
"Postal code" => "우편 번호",
"Country" => "국가",
"E.g. state or province" => "예: 주 또는 도",
"Zipcode" => "우편번호",
"Addressbook" => "주소록",
"Hon. prefixes" => "Hon. prefixes",
"Hon. prefixes" => "존칭 접두사",
"Miss" => "Miss",
"Ms" => "Ms",
"Mr" => "Mr",
"Sir" => "Sir",
"Mrs" => "Mrs",
"Dr" => "Dr",
"Given name" => "Given name",
"Dr" => "박사",
"Given name" => "이름",
"Family name" => "",
"Hon. suffixes" => "Hon. suffixes",
"Hon. suffixes" => "존칭 접미사",
"J.D." => "J.D.",
"M.D." => "M.D.",
"D.O." => "D.O.",
@ -193,21 +268,20 @@
"Esq." => "Esq.",
"Jr." => "Jr.",
"Sn." => "Sn.",
"Import a contacts file" => "연락처 파일 입력",
"Please choose the addressbook" => "주소록 선택해 주세요.",
"Import a contacts file" => "연락처 파일 가져오기",
"Please choose the addressbook" => "주소록 선택",
"create a new addressbook" => "새 주소록 만들기",
"Name of new addressbook" => "새 주소록 이름",
"Importing contacts" => "연락처 입력",
"<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>당신의 주소록에 연락처가 없습니다.</h3><p>연락처 리스트에 드래그앤 드롭 함으로써 주소록에 VCF 파일을 가져올 수 있습니다, or on an empty spot to create a new addressbook and import into that.<br />당신은 리스트 상단에 위치한 가져오기 버튼을 누름으로써 가져올수 있습니다.</p>",
"Importing contacts" => "연락처 가져오기",
"<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>현재 주소록에 연락처가 없습니다.</h3><p>주소록 상의 연락처 목록에 VCF 파일을 끌어다 놓아서 업로드하거나, 주소록 목록의 빈 곳에 끌어다 놓으면 주소록을 만들어서 업로드합니다.<br />목록 아래쪽의 가져오기 단추를 눌러서 가져올 수 있습니다.</p>",
"Select Address Books" => "주소록 선택",
"CardDAV syncing addresses" => "CardDAV 주소 동기화",
"CardDAV syncing addresses" => "CardDAV 동기화 주소",
"more info" => "더 많은 정보",
"Primary address (Kontact et al)" => "기본 주소 (Kontact et al)",
"Primary address (Kontact et al)" => "주 주소(Kontact 등)",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "주소록",
"Share" => "공유",
"New Address Book" => "새 주소록",
"New Address Book" => "새로운 주소록",
"Name" => "이름",
"Description" => "종류",
"Description" => "설명",
"Save" => "저장"
);

View File

@ -1,15 +1,16 @@
<?php $TRANSLATIONS = array(
"File doesn't exist:" => "په‌ڕگه‌که‌ هه‌بوون نیه:",
"Error" => "هه‌ڵه",
"Importing..." => "ده‌هێنرێت...",
"Download" => "داگرتن",
"Settings" => "ده‌ستكاری",
"Import" => "هێنان",
"Export" => "هه‌ناردن",
"Close" => "داخستن",
"Title" => "ناونیشان",
"Add" => "زیادکردن",
"Email" => "ئیمه‌یل",
"Address" => "ناونیشان",
"Export" => "هه‌ناردن",
"Name" => "ناو",
"Save" => "پاشکه‌وتکردن"
);

View File

@ -22,6 +22,8 @@
"Missing a temporary folder" => "Et feelt en temporären Dossier",
"Contacts" => "Kontakter",
"Error" => "Fehler",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kann deng Datei net eroplueden well et en Dossier ass oder 0 byte grouss ass.",
"Upload Error" => "Fehler beim eroplueden",
"Result: " => "Resultat: ",
" imported, " => " importéiert, ",
"Download" => "Download",
@ -43,12 +45,11 @@
"Contact" => "Kontakt",
"Settings" => "Astellungen",
"Import" => "Import",
"Export" => "Export",
"Back" => "Zeréck",
"Groups" => "Gruppen",
"Close" => "Zoumaachen",
"Additional names" => "Weider Nimm",
"Nickname" => "Spëtznumm",
"Enter nickname" => "Gëff e Spëtznumm an",
"Title" => "Titel",
"Organization" => "Firma",
"Birthday" => "Gebuertsdag",
@ -60,8 +61,11 @@
"Enter phone number" => "Telefonsnummer aginn",
"Delete phone number" => "Telefonsnummer läschen",
"View on map" => "Op da Kaart uweisen",
"City" => "Staat",
"Country" => "Land",
"Share" => "Deelen",
"Export" => "Export",
"Add Contact" => "Kontakt bäisetzen",
"Enter nickname" => "Gëff e Spëtznumm an",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Edit groups" => "Gruppen editéieren",
"Edit address details" => "Adress Detailer editéieren",
@ -70,10 +74,8 @@
"Type" => "Typ",
"PO Box" => "Postleetzuel",
"Extended" => "Erweidert",
"City" => "Staat",
"Region" => "Regioun",
"Zipcode" => "Postleetzuel",
"Country" => "Land",
"Addressbook" => "Adressbuch",
"Mr" => "M",
"Sir" => "Sir",
@ -86,7 +88,6 @@
"Sn." => "Sn.",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "Adressbicher ",
"Share" => "Deelen",
"New Address Book" => "Neit Adressbuch",
"Name" => "Numm",
"Save" => "Späicheren"

View File

@ -15,6 +15,11 @@
"Missing a temporary folder" => "Nėra laikinojo katalogo",
"Contacts" => "Kontaktai",
"Error" => "Klaida",
"Importing..." => "Importuojama...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Neįmanoma įkelti failo - jo dydis gali būti 0 bitų arba tai katalogas",
"Upload Error" => "Įkėlimo klaida",
"Upload too large" => "Įkėlimui failas per didelis",
"Pending" => "Laukiantis",
"Download" => "Atsisiųsti",
"Edit" => "Keisti",
"Delete" => "Trinti",
@ -33,11 +38,11 @@
"Contact" => "Kontaktas",
"Settings" => "Nustatymai",
"Import" => "Importuoti",
"Export" => "Eksportuoti",
"Back" => "Atgal",
"OK" => "Gerai",
"Groups" => "Grupės",
"Close" => "Užverti",
"Nickname" => "Slapyvardis",
"Enter nickname" => "Įveskite slapyvardį",
"Title" => "Pavadinimas",
"Organization" => "Organizacija",
"Birthday" => "Gimtadienis",
@ -45,19 +50,19 @@
"Phone" => "Telefonas",
"Email" => "El. paštas",
"Address" => "Adresas",
"City" => "Miestas",
"Country" => "Šalis",
"Share" => "Dalintis",
"Export" => "Eksportuoti",
"Add Contact" => "Pridėti kontaktą",
"Enter nickname" => "Įveskite slapyvardį",
"Download contact" => "Atsisųsti kontaktą",
"Delete contact" => "Ištrinti kontaktą",
"Type" => "Tipas",
"PO Box" => "Pašto dėžutė",
"City" => "Miestas",
"Region" => "Regionas",
"Zipcode" => "Pašto indeksas",
"Country" => "Šalis",
"Addressbook" => "Adresų knyga",
"Addressbooks" => "Adresų knygos",
"Share" => "Dalintis",
"New Address Book" => "Nauja adresų knyga",
"Name" => "Pavadinimas",
"Save" => "Išsaugoti"

View File

@ -3,6 +3,10 @@
"No file was uploaded" => "Neviens fails netika augšuplādēts",
"Missing a temporary folder" => "Trūkst pagaidu mapes",
"Error" => "Kļūme",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nav iespējams augšuplādēt jūsu failu, jo tāds jau eksistē vai arī failam nav izmēra (0 baiti)",
"Upload Error" => "Augšuplādēšanas laikā radās kļūda",
"Upload too large" => "Fails ir par lielu lai to augšuplādetu",
"Pending" => "Gaida savu kārtu",
"Download" => "Lejuplādēt",
"Delete" => "Izdzēst",
"Other" => "Cits",

View File

@ -39,9 +39,13 @@
"No file was uploaded. Unknown error" => "Ниту еден фајл не се вчита. Непозната грешка",
"Contacts" => "Контакти",
"Select photo" => "Одбери фотографија",
"No files selected for upload." => "Ниту еден фајл не е избран за вчитување.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Датотеката која се обидувате да ја префрлите ја надминува максималната големина дефинирана за пренос на овој сервер.",
"Error" => "Грешка",
"Unable to upload your file as it is a directory or has 0 bytes" => "Не може да се преземе вашата датотека бидејќи фолдерот во кој се наоѓа фајлот има големина од 0 бајти",
"Upload Error" => "Грешка при преземање",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Датотеката која се обидувате да ја префрлите ја надминува максималната големина дефинирана за пренос на овој сервер.",
"Upload too large" => "Фајлот кој се вчитува е преголем",
"Pending" => "Чека",
"No files selected for upload." => "Ниту еден фајл не е избран за вчитување.",
"Result: " => "Резултат: ",
" imported, " => "увезено,",
" failed." => "неуспешно.",
@ -65,8 +69,7 @@
"Contact" => "Контакт",
"Settings" => "Параметри",
"Import" => "Внеси",
"Export" => "Извези",
"Back" => "Назад",
"OK" => "Во ред",
"Groups" => "Групи",
"Close" => "Затвои",
"Add contact" => "Додади контакт",
@ -76,6 +79,7 @@
"Select photo from ownCloud" => "Изберете фотографија од ownCloud",
"Additional names" => "Дополнителни имиња",
"Nickname" => "Прекар",
"Enter nickname" => "Внеси прекар",
"Title" => "Наслов",
"Organization" => "Организација",
"Birthday" => "Роденден",
@ -91,11 +95,14 @@
"Enter phone number" => "Внесете телефонски број",
"Delete phone number" => "Избриши телефонски број",
"View on map" => "Погледајте на мапа",
"City" => "Град",
"Country" => "Држава",
"Share" => "Сподели",
"Export" => "Извези",
"Add Contact" => "Додади контакт",
"Drop photo to upload" => "Довлечкај фотографија за да се подигне",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Прилагоден формат, кратко име, цело име, обратно или обратно со запирка",
"Edit name details" => "Уреди детали за име",
"Enter nickname" => "Внеси прекар",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "Одвоете ги групите со запирка",
"Edit groups" => "Уреди групи",
@ -110,10 +117,8 @@
"Type" => "Тип",
"PO Box" => "Поштенски фах",
"Extended" => "Дополнително",
"City" => "Град",
"Region" => "Регион",
"Zipcode" => "Поштенски код",
"Country" => "Држава",
"Addressbook" => "Адресар",
"Hon. prefixes" => "Префикси за титула",
"Miss" => "Г-ца",
@ -143,7 +148,6 @@
"Primary address (Kontact et al)" => "Примарна адреса",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "Адресари",
"Share" => "Сподели",
"New Address Book" => "Нов адресар",
"Name" => "Име",
"Save" => "Сними"

View File

@ -39,11 +39,15 @@
"No file was uploaded. Unknown error" => "Tiada fail dimuatnaik. Ralat tidak diketahui.",
"Contacts" => "Hubungan-hubungan",
"Select photo" => "Pilih foto",
"No files selected for upload." => "Tiada fail dipilih untuk muatnaik.",
"Error" => "Ralat",
"Unable to upload your file as it is a directory or has 0 bytes" => "Tidak boleh memuatnaik fail anda kerana mungkin ianya direktori atau saiz fail 0 bytes",
"Upload Error" => "Muat naik ralat",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Fail yang ingin dimuatnaik melebihi saiz yang dibenarkan.",
"Upload too large" => "Muatnaik terlalu besar",
"Pending" => "Dalam proses",
"No files selected for upload." => "Tiada fail dipilih untuk muatnaik.",
"Enter name" => "Masukkan nama",
"Enter description" => "Masukkan keterangan",
"Error" => "Ralat",
"Result: " => "Hasil: ",
" imported, " => " import, ",
" failed." => " gagal.",
@ -68,8 +72,7 @@
"Contact" => "Hubungan",
"Settings" => "Tetapan",
"Import" => "Import",
"Export" => "Export",
"Back" => "Kembali",
"OK" => "OK",
"Groups" => "Kumpulan",
"Close" => "Tutup",
"Next addressbook" => "Buku alamat seterusnya",
@ -81,6 +84,7 @@
"Select photo from ownCloud" => "Pilih foto dari ownCloud",
"Additional names" => "Nama tambahan",
"Nickname" => "Nama Samaran",
"Enter nickname" => "Masukkan nama samaran",
"Organization" => "Organisasi",
"Birthday" => "Hari lahir",
"Add" => "Tambah",
@ -95,11 +99,14 @@
"Enter phone number" => "Masukkan nombor telefon",
"Delete phone number" => "Padam nombor telefon",
"View on map" => "Lihat pada peta",
"City" => "bandar",
"Country" => "Negara",
"Share" => "Kongsi",
"Export" => "Export",
"Add Contact" => "Tambah kenalan",
"Drop photo to upload" => "Letak foto disini untuk muatnaik",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Format bebas, Nama pendek, Nama penuh, Unduran dengan koma",
"Edit name details" => "Ubah butiran nama",
"Enter nickname" => "Masukkan nama samaran",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "Asingkan kumpulan dengan koma",
"Edit groups" => "Ubah kumpulan",
@ -114,10 +121,8 @@
"Type" => "Jenis",
"PO Box" => "Peti surat",
"Extended" => "Sambungan",
"City" => "bandar",
"Region" => "Wilayah",
"Zipcode" => "Poskod",
"Country" => "Negara",
"Addressbook" => "Buku alamat",
"Hon. prefixes" => "Awalan nama",
"Miss" => "Cik",
@ -148,7 +153,6 @@
"Primary address (Kontact et al)" => "Alamat utama",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "Senarai Buku Alamat",
"Share" => "Kongsi",
"New Address Book" => "Buku Alamat Baru",
"Name" => "Nama",
"Description" => "Keterangan",

View File

@ -38,9 +38,14 @@
"No file was uploaded. Unknown error" => "Ingen filer ble lastet opp. Ukjent feil.",
"Contacts" => "Kontakter",
"Select photo" => "Velg bilde",
"No files selected for upload." => "Ingen filer valgt for opplasting.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Filen du prøver å laste opp er for stor.",
"Error" => "Feil",
"Importing..." => "Importerer...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kan ikke laste opp filen din siden det er en mappe eller den har 0 bytes",
"Upload Error" => "Opplasting feilet",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Filen du prøver å laste opp er for stor.",
"Upload too large" => "Filen er for stor",
"Pending" => "Ventende",
"No files selected for upload." => "Ingen filer valgt for opplasting.",
"Result: " => "Resultat:",
" imported, " => "importert,",
" failed." => "feilet.",
@ -72,8 +77,7 @@
"There was an error deleting this contact." => "Det oppstod en feil ved sletting av denne kontakten",
"Settings" => "Innstillinger",
"Import" => "Importer",
"Export" => "Eksporter",
"Back" => "Tilbake",
"OK" => "OK",
"Groups" => "Grupper",
"Close" => "Lukk",
"Keyboard shortcuts" => "Tastatur snarveier",
@ -91,6 +95,7 @@
"Select photo from ownCloud" => "Velg bilde fra ownCloud",
"Additional names" => "Ev. mellomnavn",
"Nickname" => "Kallenavn",
"Enter nickname" => "Skriv inn kallenavn",
"Title" => "Tittel",
"Organization" => "Organisasjon",
"Birthday" => "Bursdag",
@ -107,10 +112,13 @@
"Enter phone number" => "Skriv inn telefonnummer",
"Delete phone number" => "Fjern telefonnummer",
"View on map" => "Se på kart",
"City" => "By",
"Country" => "Land",
"Share" => "Del",
"Export" => "Eksporter",
"Add Contact" => "Ny kontakt",
"Drop photo to upload" => "Dra bilder hit for å laste opp",
"Edit name details" => "Endre detaljer rundt navn",
"Enter nickname" => "Skriv inn kallenavn",
"http://www.somesite.com" => "http://www.domene.no",
"dd-mm-yyyy" => "dd-mm-åååå",
"Separate groups with commas" => "Skill gruppene med komma",
@ -126,10 +134,8 @@
"Type" => "Type",
"PO Box" => "Postboks",
"Extended" => "Utvidet",
"City" => "By",
"Region" => "Området",
"Zipcode" => "Postnummer",
"Country" => "Land",
"Addressbook" => "Adressebok",
"Hon. prefixes" => "Ærestitler",
"Miss" => "Frøken",
@ -152,7 +158,6 @@
"Primary address (Kontact et al)" => "Primær adresse (kontakt osv)",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "Adressebøker",
"Share" => "Del",
"New Address Book" => "Ny adressebok",
"Name" => "Navn",
"Save" => "Lagre"

View File

@ -67,15 +67,22 @@
"Error adding to group." => "Fout bij het toevoegen aan de groep.",
"Error removing from group." => "Fout bij het verwijderen uit de groep.",
"There was an error opening a mail composer." => "Er is iets misgegaan tijdens het openen van een email programma.",
"No files selected for upload." => "Geen bestanden geselecteerd voor upload.",
"Not all files uploaded. Retrying..." => "Nog niet alle bestanden zijn ge-upload. Nogmaals proberen...",
"Something went wrong with the upload, please retry." => "Er is iets fout gegaan met het uploaden. Probeer het nog eens.",
"Error" => "Fout",
"Importing..." => "Importeren...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Het lukt niet om uw bestand te uploaded, omdat het een folder of 0 bytes is",
"Upload Error" => "Upload fout",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Het bestand dat u probeert te uploaden overschrijdt de maximale bestand grootte voor bestand uploads voor deze server.",
"Upload too large" => "Upload is te groot",
"Pending" => "In behandeling",
"No files selected for upload." => "Geen bestanden geselecteerd voor upload.",
"Edit profile picture" => "Bewerk profielafbeelding",
"Error loading profile picture." => "Fout profiel plaatje kan niet worden geladen.",
"Enter name" => "Naam",
"Enter description" => "Beschrijving",
"Select addressbook" => "Kies een adresboek",
"The address book name cannot be empty." => "De naam van het adresboek mag niet leeg zijn.",
"Error" => "Fout",
"Is this correct?" => "Is dit correct?",
"There was an unknown error when trying to delete this contact" => "Er is een onbekende fout opgetreden bij het verwijderen van deze contactpersoon",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Enkele contacten zijn gemarkeerd om verwijderd te worden, maar zijn nog niet verwijderd. Wacht totdat ze zijn verwijderd.",
@ -137,17 +144,15 @@
"HomePage" => "HomePage",
"New Group" => "Nieuwe Groep",
"Settings" => "Instellingen",
"Share" => "Deel",
"Import" => "Importeer",
"Import into:" => "Importeer naar:",
"Export" => "Exporteer",
"OK" => "OK",
"(De-)select all" => "(De-)selecteer alle",
"New Contact" => "Nieuw Contact",
"Back" => "Terug",
"Download Contact" => "Download Contact",
"Delete Contact" => "Verwijder Contact",
"Groups" => "Groepen",
"Favorite" => "Favoriet",
"Delete Contact" => "Verwijder Contact",
"Close" => "Sluiten",
"Keyboard shortcuts" => "Sneltoetsen",
"Navigation" => "Navigatie",
@ -173,6 +178,7 @@
"Additional names" => "Extra namen",
"Last name" => "Achternaam",
"Nickname" => "Roepnaam",
"Enter nickname" => "Voer roepnaam in",
"Title" => "Titel",
"Organization" => "Organisatie",
"Birthday" => "Verjaardag",
@ -195,14 +201,19 @@
"Delete URL" => "Verwijder URL",
"View on map" => "Bekijk op een kaart",
"Delete address" => "Verwijder adres",
"Street address" => "Adres",
"12345" => "12345",
"Postal code" => "Postcode",
"City" => "Stad",
"Country" => "Land",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "Verwijder IM",
"Share" => "Deel",
"Export" => "Exporteer",
"Add Contact" => "Contact toevoegen",
"Drop photo to upload" => "Verwijder foto uit upload",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Formateer aangepast, Korte naam, Volledige naam, Achteruit of Achteruit met komma",
"Edit name details" => "Wijzig naam gegevens",
"Enter nickname" => "Voer roepnaam in",
"http://www.somesite.com" => "http://www.willekeurigesite.com",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "Gebruik komma bij meerder groepen",
@ -217,16 +228,12 @@
"Edit address" => "Wijzig adres",
"Type" => "Type",
"PO Box" => "Postbus",
"Street address" => "Adres",
"Street and number" => "Straat en nummer",
"Extended" => "Uitgebreide",
"Apartment number etc." => "Apartement nummer",
"City" => "Stad",
"Region" => "Regio",
"E.g. state or province" => "Provincie",
"Zipcode" => "Postcode",
"Postal code" => "Postcode",
"Country" => "Land",
"Addressbook" => "Adresboek",
"Hon. prefixes" => "Hon. prefixes",
"Miss" => "Mw",

View File

@ -9,6 +9,7 @@
"Missing a temporary folder" => "Manglar ei mellombels mappe",
"Contacts" => "Kotaktar",
"Error" => "Feil",
"Upload too large" => "For stor opplasting",
"Download" => "Last ned",
"Edit" => "Endra",
"Delete" => "Slett",
@ -25,8 +26,6 @@
"Contact" => "Kontakt",
"Settings" => "Innstillingar",
"Import" => "Importer",
"Export" => "Eksporter",
"Back" => "Tilbake",
"Groups" => "Grupper",
"Close" => "Lukk",
"Title" => "Tittel",
@ -37,16 +36,17 @@
"Email" => "Epost",
"Address" => "Adresse",
"Preferred" => "Føretrekt",
"City" => "Stad",
"Country" => "Land",
"Export" => "Eksporter",
"Add Contact" => "Legg til kontakt",
"Download contact" => "Last ned kontakt",
"Delete contact" => "Slett kontakt",
"Type" => "Skriv",
"PO Box" => "Postboks",
"Extended" => "Utvida",
"City" => "Stad",
"Region" => "Region/fylke",
"Zipcode" => "Postnummer",
"Country" => "Land",
"Addressbook" => "Adressebok",
"Addressbooks" => "Adressebøker",
"New Address Book" => "Ny adressebok",

View File

@ -8,6 +8,10 @@
"Missing a temporary folder" => "Un dorsièr temporari manca",
"Contacts" => "Contactes",
"Error" => "Error",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossible d'amontcargar lo teu fichièr qu'es un repertòri o que ten pas que 0 octet.",
"Upload Error" => "Error d'amontcargar",
"Upload too large" => "Amontcargament tròp gròs",
"Pending" => "Al esperar",
"Download" => "Avalcarga",
"Edit" => "Editar",
"Delete" => "Escafa",
@ -16,16 +20,17 @@
"Other" => "Autres",
"Settings" => "Configuracion",
"Import" => "Importa",
"Export" => "Exporta",
"OK" => "D'accòrdi",
"Groups" => "Grops",
"Title" => "Títol",
"Birthday" => "Anniversari",
"Add" => "Ajusta",
"Email" => "Corrièl",
"Share" => "Parteja",
"Export" => "Exporta",
"more info" => "mai d'entresenhes",
"Primary address (Kontact et al)" => "Adreiças primarias (Kontact et al)",
"iOS/OS X" => "iOS/OS X",
"Share" => "Parteja",
"Name" => "Nom",
"Save" => "Enregistra"
);

View File

@ -67,16 +67,23 @@
"Error adding to group." => "Błąd dodania do grupy.",
"Error removing from group." => "Błąd usunięcia z grupy.",
"There was an error opening a mail composer." => "Wystąpił błąd podczas otwierania edytora.",
"Not all files uploaded. Retrying..." => "Nie wszystkie pliki załadowane. Ponowna próba...",
"Something went wrong with the upload, please retry." => "Coś poszło nie tak z ładowanie, proszę spróbować ponownie.",
"Error" => "Błąd",
"Importing..." => "Importowanie...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nie można przesłać pliku, ponieważ to jest katalog lub ma 0 bajtów",
"Upload Error" => "Błąd ładowania",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Plik, który próbujesz wysłać przekracza maksymalny rozmiar pliku przekazywania na tym serwerze.",
"Upload too large" => "Załadunek za duży",
"Pending" => "W toku",
"Add group" => "Dodaj drupę",
"No files selected for upload." => "Żadne pliki nie zostały zaznaczone do wysłania.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Plik, który próbujesz wysłać przekracza maksymalny rozmiar pliku przekazywania na tym serwerze.",
"Edit profile picture" => "Edytuj zdjęcie profilu",
"Error loading profile picture." => "Błąd wczytywania zdjęcia profilu.",
"Enter name" => "Wpisz nazwę",
"Enter description" => "Wprowadź opis",
"Select addressbook" => "Wybierz książkę adresową",
"The address book name cannot be empty." => "Nazwa książki adresowej nie może być pusta.",
"Error" => "Błąd",
"Is this correct?" => "Jest to prawidłowe?",
"There was an unknown error when trying to delete this contact" => "Wystąpił nieznany błąd podczas próby usunięcia tego kontaktu",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Niektóre kontakty są zaznaczone do usunięcia, ale nie są usunięte jeszcze. Proszę czekać na ich usunięcie.",
@ -138,17 +145,15 @@
"HomePage" => "Strona domowa",
"New Group" => "Nowa grupa",
"Settings" => "Ustawienia",
"Share" => "Udostępnij",
"Import" => "Import",
"Import into:" => "Importuj do:",
"Export" => "Export",
"OK" => "OK",
"(De-)select all" => "Odznacz wszystkie",
"New Contact" => "Nowy kontakt",
"Back" => "Wróć",
"Download Contact" => "Pobierz kontakt",
"Delete Contact" => "Usuń kontakt",
"Groups" => "Grupy",
"Favorite" => "Ulubione",
"Delete Contact" => "Usuń kontakt",
"Close" => "Zamknij",
"Keyboard shortcuts" => "Skróty klawiatury",
"Navigation" => "Nawigacja",
@ -174,6 +179,7 @@
"Additional names" => "Dodatkowe nazwy",
"Last name" => "Nazwisko",
"Nickname" => "Nazwa",
"Enter nickname" => "Wpisz nazwę",
"Title" => "Tytuł",
"Organization" => "Organizacja",
"Birthday" => "Urodziny",
@ -197,17 +203,22 @@
"View on map" => "Zobacz na mapie",
"Delete address" => "Usuń adres",
"1 Main Street" => "1 główna ulica",
"Street address" => "Ulica",
"12345" => "12345",
"Postal code" => "Kod pocztowy",
"Your city" => "Twoje miasto",
"City" => "Miasto",
"Some region" => "Region",
"Your country" => "Twoje państwo",
"Country" => "Kraj",
"Instant Messenger" => "Komunikator",
"Delete IM" => "Usuń Komunikator",
"Share" => "Udostępnij",
"Export" => "Export",
"Add Contact" => "Dodaj kontakt",
"Drop photo to upload" => "Upuść fotografię aby załadować",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Format niestandardowy, krótkie nazwy, imię i nazwisko, Odwracać lub Odwrócić z przecinkiem",
"Edit name details" => "Edytuj szczegóły nazwy",
"Enter nickname" => "Wpisz nazwę",
"http://www.somesite.com" => "http://www.jakasstrona.pl",
"dd-mm-yyyy" => "dd-mm-rrrr",
"Separate groups with commas" => "Oddziel grupy przecinkami",
@ -222,16 +233,12 @@
"Edit address" => "Edytuj adres",
"Type" => "Typ",
"PO Box" => "Skrzynka pocztowa",
"Street address" => "Ulica",
"Street and number" => "Ulica i numer",
"Extended" => "Rozszerzony",
"Apartment number etc." => "Numer lokalu",
"City" => "Miasto",
"Region" => "Region",
"E.g. state or province" => "Np. stanu lub prowincji",
"Zipcode" => "Kod pocztowy",
"Postal code" => "Kod pocztowy",
"Country" => "Kraj",
"Addressbook" => "Książka adresowa",
"Hon. prefixes" => "Prefiksy Hon.",
"Miss" => "Panna",

View File

@ -54,13 +54,20 @@
"Shared by {owner}" => "Compartilhado por {owner}",
"Add group..." => "Adicionar grupo...",
"Select photo" => "Selecione foto",
"No files selected for upload." => "Nenhum arquivo selecionado para carregar.",
"Not all files uploaded. Retrying..." => "Nem todos os arquivos foram enviados. Tentando novamente...",
"Something went wrong with the upload, please retry." => "Algo errado ocorreu com o envio, por favor tente novamente.",
"Error" => "Erro",
"Importing..." => "Importando...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Incapaz de enviar seu arquivo pois ele é um diretório, ou ele tem 0 bytes",
"Upload Error" => "Erro de Upload",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "O arquivo que você está tentando carregar excede o tamanho máximo para este servidor.",
"Upload too large" => "Upload muito grande",
"Pending" => "Pendente",
"No files selected for upload." => "Nenhum arquivo selecionado para carregar.",
"Error loading profile picture." => "Erro ao carregar imagem de perfil.",
"Enter name" => "Digite o nome",
"Enter description" => "Digite a descrição",
"The address book name cannot be empty." => "O nome da agenda não pode ficar em branco.",
"Error" => "Erro",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Alguns contatos foram marcados para remoção, mas não foram removidos ainda. Por favor aguarde a remoção desses contatos.",
"Result: " => "Resultado:",
" imported, " => "importado,",
@ -114,10 +121,8 @@
"You do not have the permissions to delete this contact." => "Você não tem permissão para remover esse contato.",
"There was an error deleting this contact." => "Houve um erro ao remover esse contato.",
"Settings" => "Ajustes",
"Share" => "Compartilhar",
"Import" => "Importar",
"Export" => "Exportar",
"Back" => "Voltar",
"OK" => "OK",
"Groups" => "Grupos",
"Close" => "Fechar.",
"Keyboard shortcuts" => "Atalhos do teclado",
@ -139,6 +144,7 @@
"Select photo from ownCloud" => "Selecionar foto do OwnCloud",
"Additional names" => "Segundo Nome",
"Nickname" => "Apelido",
"Enter nickname" => "Digite o apelido",
"Title" => "Título",
"Organization" => "Organização",
"Birthday" => "Aniversário",
@ -157,13 +163,18 @@
"Delete phone number" => "Remover número de telefone",
"Go to web site" => "Ir para web site",
"View on map" => "Visualizar no mapa",
"Street address" => "Endereço da rua",
"Postal code" => "Código postal",
"City" => "Cidade",
"Country" => "País",
"Instant Messenger" => "Mensageiro Instantâneo",
"Delete IM" => "Delete IM",
"Share" => "Compartilhar",
"Export" => "Exportar",
"Add Contact" => "Adicionar Contato",
"Drop photo to upload" => "Arraste a foto para ser carregada",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Formato personalizado, Nome curto, Nome completo, Inverter ou Inverter com vírgula",
"Edit name details" => "Editar detalhes do nome",
"Enter nickname" => "Digite o apelido",
"http://www.somesite.com" => "http://www.qualquersite.com",
"dd-mm-yyyy" => "dd-mm-aaaa",
"Separate groups with commas" => "Separe grupos por virgula",
@ -178,16 +189,12 @@
"Edit address" => "Editar endereço",
"Type" => "Digite",
"PO Box" => "Caixa Postal",
"Street address" => "Endereço da rua",
"Street and number" => "Logradouro e número",
"Extended" => "Estendido",
"Apartment number etc." => "Número do apartamento, etc.",
"City" => "Cidade",
"Region" => "Região",
"E.g. state or province" => "Estado ou província",
"Zipcode" => "CEP",
"Postal code" => "Código postal",
"Country" => "País",
"Addressbook" => "Agenda de Endereço",
"Hon. prefixes" => "Exmo. Prefixos ",
"Miss" => "Senhorita",

View File

@ -55,6 +55,7 @@
"Contact is not in this group." => "O contacto não está neste grupo",
"Contacts are not in this group." => "Os contactos não estão neste grupo",
"A group named {group} already exists" => "Um grupo com o nome {group} já existe",
"You can drag groups to\narrange them as you like." => "Pode arrastar grupos para\ncolocá-los como desejar.",
"All" => "Todos",
"Favorites" => "Favoritos",
"Shared by {owner}" => "Partilhado por {owner}",
@ -67,16 +68,28 @@
"Error adding to group." => "Erro a adicionar ao grupo.",
"Error removing from group." => "Erro a remover do grupo.",
"There was an error opening a mail composer." => "Houve um erro a abrir o editor de e-mail.",
"Deleting done. Click here to cancel reloading." => "A eliminação foi concluída com sucesso. Clique aqui para cancelar o refrescamento.",
"Add address book" => "Adicionar livro de endereços.",
"Import done. Click here to cancel reloading." => "Importação concluída com sucesso. Clique aqui para cancelar o refrescamento.",
"Not all files uploaded. Retrying..." => "Nem todos os ficheiros foram enviados. A tentar de novo...",
"Something went wrong with the upload, please retry." => "Algo correu mal ao enviar, por favor tente de novo.",
"Error" => "Erro",
"Importing from {filename}..." => "A importar de {filename}...",
"{success} imported, {failed} failed." => "{sucess} importados, {failed} não importados.",
"Importing..." => "A importar...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Não é possível fazer o envio do ficheiro devido a ser uma pasta ou ter 0 bytes",
"Upload Error" => "Erro no envio",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "O tamanho do ficheiro que está a tentar carregar ultrapassa o limite máximo definido para ficheiros no servidor.",
"Upload too large" => "Upload muito grande",
"Pending" => "Pendente",
"Add group" => "Adicionar grupo",
"No files selected for upload." => "Nenhum ficheiro seleccionado para enviar.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "O tamanho do ficheiro que está a tentar carregar ultrapassa o limite máximo definido para ficheiros no servidor.",
"Edit profile picture" => "Editar a fotografia de perfil.",
"Error loading profile picture." => "Erro ao carregar imagem de perfil.",
"Enter name" => "Introduzir nome",
"Enter description" => "Introduzir descrição",
"Select addressbook" => "Selecionar livro de endereços",
"The address book name cannot be empty." => "O nome do livro de endereços não pode estar vazio.",
"Error" => "Erro",
"Is this correct?" => "Isto está correcto?",
"There was an unknown error when trying to delete this contact" => "Houve um erro desconhecido enquanto tentava eliminar este contacto.",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Alguns contactos forma marcados para apagar, mas ainda não foram apagados. Por favor espere que ele sejam apagados.",
@ -138,17 +151,18 @@
"HomePage" => "Página Inicial",
"New Group" => "Novo Grupo",
"Settings" => "Configurações",
"Share" => "Partilhar",
"Address books" => "Livro de endereços.",
"Import" => "Importar",
"Select files to import" => "Seleccione ficheiros para importar.",
"Select files" => "Seleccione os ficheiros.",
"Import into:" => "Importar para:",
"Export" => "Exportar",
"OK" => "OK",
"(De-)select all" => "(Des)seleccionar todos",
"New Contact" => "Novo Contacto",
"Back" => "Voltar",
"Download Contact" => "Transferir o contacto",
"Delete Contact" => "Eliminar o Contacto",
"Groups" => "Grupos",
"Favorite" => "Favorito",
"Delete Contact" => "Eliminar o Contacto",
"Close" => "Fechar",
"Keyboard shortcuts" => "Atalhos de teclado",
"Navigation" => "Navegação",
@ -174,6 +188,7 @@
"Additional names" => "Nomes adicionais",
"Last name" => "Ultimo Nome",
"Nickname" => "Alcunha",
"Enter nickname" => "Introduza alcunha",
"Title" => "Titulo ",
"Organization" => "Organização",
"Birthday" => "Aniversário",
@ -197,17 +212,23 @@
"View on map" => "Ver no mapa",
"Delete address" => "Eliminar endereço",
"1 Main Street" => "1 Rua Princial",
"Street address" => "Endereço da Rua",
"12345" => "12345",
"Postal code" => "Código Postal",
"Your city" => "Cidade",
"City" => "Cidade",
"Some region" => "Região (Distrito)",
"Your country" => "País",
"Country" => "País",
"Instant Messenger" => "Mensageiro instantâneo",
"Delete IM" => "Apagar mensageiro instantâneo (IM)",
"Share" => "Partilhar",
"Export" => "Exportar",
"CardDAV link" => "Link CardDAV",
"Add Contact" => "Adicionar Contacto",
"Drop photo to upload" => "Arraste e solte fotos para carregar",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Formate personalizado, Nome curto, Nome completo, Reverso ou Reverso com virgula",
"Edit name details" => "Editar detalhes do nome",
"Enter nickname" => "Introduza alcunha",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd-mm-aaaa",
"Separate groups with commas" => "Separe os grupos usando virgulas",
@ -222,16 +243,12 @@
"Edit address" => "Editar endereço",
"Type" => "Tipo",
"PO Box" => "Apartado",
"Street address" => "Endereço da Rua",
"Street and number" => "Rua e número",
"Extended" => "Extendido",
"Apartment number etc." => "Número de Apartamento, etc.",
"City" => "Cidade",
"Region" => "Região",
"E.g. state or province" => "Por Ex. Estado ou província",
"Zipcode" => "Código Postal",
"Postal code" => "Código Postal",
"Country" => "País",
"Addressbook" => "Livro de endereços",
"Hon. prefixes" => "Prefixos honoráveis",
"Miss" => "Menina",

View File

@ -27,9 +27,14 @@
"Missing a temporary folder" => "Lipsește un director temporar",
"No file was uploaded. Unknown error" => "Nici un fișier nu a fost încărcat. Eroare necunoscută",
"Contacts" => "Contacte",
"Error" => "Eroare",
"Importing..." => "Se importă...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nu s-a putut încărca fișierul tău deoarece pare să fie un director sau are 0 bytes.",
"Upload Error" => "Eroare la încărcare",
"Upload too large" => "Fișierul încărcat este prea mare",
"Pending" => "În așteptare",
"Enter name" => "Specifică nume",
"Enter description" => "Specifică descriere",
"Error" => "Eroare",
"Result: " => "Rezultat:",
" imported, " => "importat,",
"Show CardDav link" => "Arată legătură CardDav",
@ -53,8 +58,7 @@
"Contact" => "Contact",
"Settings" => "Setări",
"Import" => "Importă",
"Export" => "Exportă",
"Back" => "Înapoi",
"OK" => "OK",
"Groups" => "Grupuri",
"Close" => "Închide",
"Keyboard shortcuts" => "Scurtături din tastatură",
@ -70,6 +74,7 @@
"Upload new photo" => "Încarcă poză nouă",
"Select photo from ownCloud" => "Selectează poză din ownCloud",
"Nickname" => "Pseudonim",
"Enter nickname" => "Introdu pseudonim",
"Title" => "Titlu",
"Organization" => "Organizație",
"Birthday" => "Zi de naștere",
@ -87,9 +92,14 @@
"Delete phone number" => "Șterge numărul de telefon",
"Go to web site" => "Vizitează site-ul",
"View on map" => "Vezi pe hartă",
"Street address" => "Adresa",
"Postal code" => "Codul poștal",
"City" => "Oraș",
"Country" => "Țară",
"Share" => "Partajează",
"Export" => "Exportă",
"Add Contact" => "Adaugă contact",
"Edit name details" => "Introdu detalii despre nume",
"Enter nickname" => "Introdu pseudonim",
"dd-mm-yyyy" => "zz-ll-aaaa",
"Separate groups with commas" => "Separă grupurile cu virgule",
"Edit groups" => "Editează grupuri",
@ -103,16 +113,12 @@
"Edit address" => "Editeză adresă",
"Type" => "Tip",
"PO Box" => "CP",
"Street address" => "Adresa",
"Street and number" => "Stradă și număr",
"Extended" => "Extins",
"Apartment number etc." => "Apartament etc.",
"City" => "Oraș",
"Region" => "Regiune",
"E.g. state or province" => "Ex. județ sau provincie",
"Zipcode" => "Cod poștal",
"Postal code" => "Codul poștal",
"Country" => "Țară",
"Addressbook" => "Agendă",
"Ms" => "Dna.",
"Mr" => "Dl.",
@ -124,7 +130,6 @@
"Primary address (Kontact et al)" => "Adresa primară (Kontact et al)",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "Agende",
"Share" => "Partajează",
"New Address Book" => "Agendă nouă",
"Name" => "Nume",
"Description" => "Descriere",

View File

@ -41,15 +41,22 @@
"No file was uploaded. Unknown error" => "Файл не был загружен. Неизвестная ошибка",
"Contacts" => "Контакты",
"Select photo" => "Выберите фото",
"Not all files uploaded. Retrying..." => "Не все файлы были загружены. Повторяю...",
"Something went wrong with the upload, please retry." => "В процессе загрузки что-то пошло не так, пожалуйста загрузите повторно.",
"Error" => "Ошибка",
"Importing..." => "Импортирую...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Файл не был загружен: его размер 0 байт либо это не файл, а директория.",
"Upload Error" => "Ошибка при загрузке",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Файл, который вы пытаетесь загрузить превышать максимальный размер загружаемых файлов на этом сервере.",
"Upload too large" => "Файл слишком велик",
"Pending" => "Ожидание",
"Add group" => "Добавить группу",
"No files selected for upload." => "Нет выбранных файлов для загрузки.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Файл, который вы пытаетесь загрузить превышать максимальный размер загружаемых файлов на этом сервере.",
"Edit profile picture" => "Редактировать изображение профиля",
"Error loading profile picture." => "Ошибка загрузки изображения профиля.",
"Enter name" => "Введите имя",
"Enter description" => "Ввдите описание",
"The address book name cannot be empty." => "Имя адресной книги не может быть пустым.",
"Error" => "Ошибка",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Некоторые контакты помечены на удаление, но ещё не удалены. Подождите, пока они удаляются.",
"Result: " => "Результат:",
" imported, " => "импортировано, ",
@ -104,11 +111,10 @@
"There was an error deleting this contact." => "Ошибка при удалении контакта.",
"Settings" => "Настройки",
"Import" => "Импорт",
"Export" => "Экспорт",
"OK" => "ОК",
"New Contact" => "Новый контакт",
"Back" => "Назад",
"Delete Contact" => "Удалить контакт",
"Groups" => "Группы",
"Delete Contact" => "Удалить контакт",
"Close" => "Закрыть",
"Keyboard shortcuts" => "Горячие клавиши",
"Navigation" => "Навигация",
@ -129,6 +135,7 @@
"Select photo from ownCloud" => "Выбрать фотографию из ownCloud",
"Additional names" => "Отчество",
"Nickname" => "Псевдоним",
"Enter nickname" => "Введите псевдоним",
"Title" => "Заголовок",
"Organization" => "Организация",
"Birthday" => "День рождения",
@ -148,13 +155,18 @@
"Go to web site" => "Перейти на веб-сайт",
"Delete URL" => "Удалить URL",
"View on map" => "Показать на карте",
"Street address" => "Улица",
"Postal code" => "Почтовый индекс",
"City" => "Город",
"Country" => "Страна",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "Удалить IM",
"Share" => "Опубликовать",
"Export" => "Экспорт",
"Add Contact" => "Добавить Контакт",
"Drop photo to upload" => "Перетяните фотографии для загрузки",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Формат Краткое имя, Полное имя",
"Edit name details" => "Изменить детали имени",
"Enter nickname" => "Введите псевдоним",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "Разделить группы запятыми",
@ -169,16 +181,12 @@
"Edit address" => "Редактировать адрес",
"Type" => "Тип",
"PO Box" => "АО",
"Street address" => "Улица",
"Street and number" => "Улица и дом",
"Extended" => "Расширенный",
"Apartment number etc." => "Номер квартиры и т.д.",
"City" => "Город",
"Region" => "Область",
"E.g. state or province" => "Например, область или район",
"Zipcode" => "Почтовый индекс",
"Postal code" => "Почтовый индекс",
"Country" => "Страна",
"Addressbook" => "Адресная книга",
"Hon. prefixes" => "Префикс имени",
"Miss" => "Мисс",
@ -210,7 +218,6 @@
"Primary address (Kontact et al)" => "Первичный адрес (Kontact и др.)",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "Адресные книги",
"Share" => "Опубликовать",
"New Address Book" => "Новая адресная книга",
"Name" => "Имя",
"Description" => "Описание",

View File

@ -67,16 +67,23 @@
"Error adding to group." => "Ошибка добавления в группу.",
"Error removing from group." => "Ошибка удаления из группы.",
"There was an error opening a mail composer." => "Произошла ошибка при открытии окна составления сообщения.",
"Not all files uploaded. Retrying..." => "Не все файлы загружены. Попробуйте снова..",
"Something went wrong with the upload, please retry." => "Что-то пошло не так при загрузке, пожалуйста, попробуйте снова.",
"Error" => "Ошибка",
"Importing..." => "Импортирование...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Невозможно загрузить Ваш файл, так как он является каталогом или его размер составляет 0 байт.",
"Upload Error" => "Ошибка загрузки",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Размер загружаемого Вами файла превышает максимально допустимый для загрузки на данный сервер.",
"Upload too large" => "Загрузка слишком велика",
"Pending" => "Ожидание",
"Add group" => "Добавить группу",
"No files selected for upload." => "Не выбрано файлов для загрузки.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Размер загружаемого Вами файла превышает максимально допустимый для загрузки на данный сервер.",
"Edit profile picture" => "Добавить изображение к профилю",
"Error loading profile picture." => "Ошибка при загрузке картинки профиля.",
"Enter name" => "Ввод имени",
"Enter description" => "Ввод описания",
"Select addressbook" => "Выбрать адресную книгу",
"The address book name cannot be empty." => "Имя адресной книги не должно быть пустым.",
"Error" => "Ошибка",
"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." => "Некоторые контакты отмечены для удаления, но еще не удалены. Пожалуйста, подождите пока они будут удалены.",
@ -138,17 +145,15 @@
"HomePage" => "Домашняя страница",
"New Group" => "Новая группа",
"Settings" => "Настройки",
"Share" => "Сделать общим",
"Import" => "Импортировать",
"Import into:" => "Импортировать в:",
"Export" => "Экспортировать",
"OK" => "OK",
"(De-)select all" => "Отметить(снять отметку) все",
"New Contact" => "Новый контакт",
"Back" => "Назад",
"Download Contact" => "Загрузить контакт",
"Delete Contact" => "Удалить контакт",
"Groups" => "Группы",
"Favorite" => "Избранный",
"Delete Contact" => "Удалить контакт",
"Close" => "Закрыть",
"Keyboard shortcuts" => "Комбинации клавиш",
"Navigation" => "Навигация",
@ -174,6 +179,7 @@
"Additional names" => "Дополнительные имена",
"Last name" => "Фамилия",
"Nickname" => "Имя",
"Enter nickname" => "Введите имя",
"Title" => "Название",
"Organization" => "Организация",
"Birthday" => "День рождения",
@ -197,17 +203,22 @@
"View on map" => "Посмотреть на карте",
"Delete address" => "Удалить адрес",
"1 Main Street" => "1 главная улица",
"Street address" => "Улица",
"12345" => "12345",
"Postal code" => "Почтовый код",
"Your city" => "Ваш город",
"City" => "Город",
"Some region" => "Регион",
"Your country" => "Ваша страна",
"Country" => "Страна",
"Instant Messenger" => "Служба обмена мгновенными сообщениями",
"Delete IM" => "Удалить IM",
"Share" => "Сделать общим",
"Export" => "Экспортировать",
"Add Contact" => "Добавить контакт",
"Drop photo to upload" => "Перетащите фотографию для загрузки",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Пользовательский формат, сокращенное имя, полное имя, обратный порядок или обратный порядок с запятыми",
"Edit name details" => "Редактировать детали имени",
"Enter nickname" => "Введите имя",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "дд-мм-гггг",
"Separate groups with commas" => "Разделите группы запятыми",
@ -222,16 +233,12 @@
"Edit address" => "Редактировать адрес",
"Type" => "Тип",
"PO Box" => "Почтовый ящик",
"Street address" => "Улица",
"Street and number" => "Улица и номер",
"Extended" => "Расширенный",
"Apartment number etc." => "Квартира и т.д.",
"City" => "Город",
"Region" => "Регион (область)",
"E.g. state or province" => "Напр., штат или область",
"Zipcode" => "Индекс",
"Postal code" => "Почтовый код",
"Country" => "Страна",
"Addressbook" => "Адресная книга",
"Hon. prefixes" => "Почетные префиксы",
"Miss" => "мисс",

View File

@ -30,11 +30,14 @@
"Couldn't save temporary image: " => "තාවකාලික රූපය සුරැකීමට නොහැකි විය",
"No file was uploaded. Unknown error" => "ගොනුවක් උඩුගත නොවුනි. නොහැඳිනු දෝෂයක්",
"Contacts" => "සබඳතා",
"No files selected for upload." => "උඩුගත කිරීමට ගොනු තෝරා නැත",
"Error" => "දෝෂයක්",
"Importing..." => "ආයාත කරමින් පවති...",
"Upload Error" => "උඩුගත කිරීමේ දෝෂයක්",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "ඔබ උඩුගත කිරීමට තැත් කරන ගොනුව, සේවාදායකයාට උඩුගත කළ හැකි උපරිම ගොනු විශාලත්වයට වඩා වැඩිය",
"Upload too large" => "උඩුගත කිරීම විශාල වැඩිය",
"No files selected for upload." => "උඩුගත කිරීමට ගොනු තෝරා නැත",
"Enter name" => "නම දෙන්න",
"Enter description" => "විස්තරය දෙන්න",
"Error" => "දෝෂයක්",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "සමහර සම්බන්ධතා මකන ලෙස ලකුණු කොට ඇත. කරුණාකර ඒවා මැකෙන තෙක් සිටින්න",
"Result: " => "ප්‍රතිඵලය:",
" imported, " => "ආයාත කරන ලදී,",
@ -69,7 +72,7 @@
"There was an error deleting this contact." => "මෙම සම්බන්ධතාව මැකීමේදී දෝෂයක් ඇති විය",
"Settings" => "සිටුවම්",
"Import" => "ආයාත කරන්න",
"Export" => "නිර්යාත කරන්න",
"OK" => "හරි",
"Groups" => "කණ්ඩායම්",
"Close" => "වසන්න",
"Next addressbook" => "මෙයට පසු ලිපින පොත",
@ -80,6 +83,7 @@
"Upload new photo" => "නව ඡායාරූපයක් උඩුගත කරන්න",
"Additional names" => "වෙනත් නම්",
"Nickname" => "පටබැඳි නම",
"Enter nickname" => "පටබැඳි නම ඇතුලත් කරන්න",
"Title" => "මාතෘකාව",
"Organization" => "ආයතනය",
"Birthday" => "උපන් දිනය",
@ -97,10 +101,13 @@
"Delete phone number" => "දුරකථන අංකය මකන්න",
"Go to web site" => "වෙබ් අඩවියට යන්න",
"View on map" => "සිතියමේ පෙන්වන්න",
"City" => "නගරය",
"Country" => "රට",
"Share" => "බෙදා හදා ගන්න",
"Export" => "නිර්යාත කරන්න",
"Add Contact" => "සබඳතාවක් එක් කරන්න",
"Drop photo to upload" => "උඩුගත කිරීමට මෙතැනට දමන්න",
"Edit name details" => "නමේ විස්තර සංස්කරණය කරන්න",
"Enter nickname" => "පටබැඳි නම ඇතුලත් කරන්න",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "දිදි-මාමා-වවවව",
"Separate groups with commas" => "කණ්ඩායම් කොමා භාවිතයෙන් වෙන් කරන්න",
@ -115,10 +122,8 @@
"Type" => "වර්ගය",
"PO Box" => "තැ.පෙ.",
"Extended" => "දීඝී කිරීම",
"City" => "නගරය",
"Region" => "කළාපය",
"Zipcode" => "තැපැල් කේතය",
"Country" => "රට",
"Addressbook" => "ලිපින පොත",
"Hon. prefixes" => "ගෞරවාන්විත නාම",
"Given name" => "දී ඇති නම",
@ -132,7 +137,6 @@
"Primary address (Kontact et al)" => "ප්‍රාථමික ලිපිනය(හැම විටම සම්බන්ධ කරගත හැක)",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "ලිපින පොත්",
"Share" => "බෙදා හදා ගන්න",
"New Address Book" => "නව ලිපින පොතක් ",
"Name" => "නම",
"Description" => "විස්තරය",

View File

@ -55,6 +55,7 @@
"Contact is not in this group." => "Kontakt nie je v danej skupine.",
"Contacts are not in this group." => "Kontakty nie sú v danej skupine.",
"A group named {group} already exists" => "Skupina pomenovaná ako {group} už existuje.",
"You can drag groups to\narrange them as you like." => "Potiahnutím a pustením môžete \nusporiadať skupiny podľa ľúbosti.",
"All" => "Všetky",
"Favorites" => "Obľúbené",
"Shared by {owner}" => "Zdieľané cez {owner}",
@ -67,16 +68,28 @@
"Error adding to group." => "Chyba pri pridávaní do skupiny.",
"Error removing from group." => "Chyba pri odstraňovaní zo skupiny.",
"There was an error opening a mail composer." => "Vyskytla sa chyba pri otváraní nástroja na tvorbu pošty.",
"Deleting done. Click here to cancel reloading." => "Odstraňovanie dokončené. Kliknite sem pre zrušenie obnovenia.",
"Add address book" => "Pridať adresár kontaktov",
"Import done. Click here to cancel reloading." => "Importovanie dokončené. Kliknite sem pre zrušenie obnovenia.",
"Not all files uploaded. Retrying..." => "Všetky súbory neboli odoslané. Opakujem...",
"Something went wrong with the upload, please retry." => "Stalo sa niečo zlé s odosielaným súborom, skúste ho prosím odoslať znovu.",
"Error" => "Chyba",
"Importing from {filename}..." => "Importujem z {filename}...",
"{success} imported, {failed} failed." => "{success} importované, {failed} zlyhané.",
"Importing..." => "Importujem...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nedá sa odoslať Váš súbor, pretože je to adresár, alebo je jeho veľkosť 0 bajtov",
"Upload Error" => "Chyba odosielania",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Súbor, ktorý sa pokúšate nahrať, presahuje maximálnu povolenú veľkosť.",
"Upload too large" => "Nahrávanie je príliš veľké",
"Pending" => "Prebieha",
"Add group" => "Pridať skupinu",
"No files selected for upload." => "Žiadne súbory neboli vybrané k nahratiu",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Súbor, ktorý sa pokúšate nahrať, presahuje maximálnu povolenú veľkosť.",
"Edit profile picture" => "Upraviť profilový avatar",
"Error loading profile picture." => "Chyba pri nahrávaní profilového obrázku.",
"Enter name" => "Zadaj meno",
"Enter description" => "Zadať popis",
"Select addressbook" => "Vybrať adresný zoznam",
"The address book name cannot be empty." => "Názov adresára nemôže byť prázdny.",
"Error" => "Chyba",
"Is this correct?" => "Je to správne?",
"There was an unknown error when trying to delete this contact" => "Vyskytla sa neznáma chyba pri odstraňovaní daného kontaktu.",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Počkajte prosím do skončenia mazania kontaktov označených na mazanie.",
@ -138,17 +151,18 @@
"HomePage" => "Domovská stránka",
"New Group" => "Nová skupina",
"Settings" => "Nastavenia",
"Share" => "Zdieľať",
"Address books" => "Adresáre kontaktov",
"Import" => "Importovať",
"Select files to import" => "Vybrať súbory pre import",
"Select files" => "Vybrať súbory",
"Import into:" => "Importovať do:",
"Export" => "Export",
"OK" => "OK",
"(De-)select all" => "(Ne-)vybrať všetky",
"New Contact" => "Nový kontakt",
"Back" => "Späť",
"Download Contact" => "Stiahnuť kontakt",
"Delete Contact" => "Odstrániť kontakt",
"Groups" => "Skupiny",
"Favorite" => "Obľúbené",
"Delete Contact" => "Odstrániť kontakt",
"Close" => "Zatvoriť",
"Keyboard shortcuts" => "Klávesové skratky",
"Navigation" => "Navigácia",
@ -174,6 +188,7 @@
"Additional names" => "Ďalšie mená",
"Last name" => "Priezvisko",
"Nickname" => "Prezývka",
"Enter nickname" => "Zadajte prezývku",
"Title" => "Nadpis",
"Organization" => "Organizácia",
"Birthday" => "Narodeniny",
@ -197,17 +212,23 @@
"View on map" => "Zobraziť na mape",
"Delete address" => "Odstrániť adresu",
"1 Main Street" => "1 Hlavná Ulica",
"Street address" => "Ulica",
"12345" => "12345",
"Postal code" => "PSČ",
"Your city" => "Vaše mesto",
"City" => "Mesto",
"Some region" => "Nejaký región",
"Your country" => "Vaša krajina",
"Country" => "Krajina",
"Instant Messenger" => "Okamžité správy IM",
"Delete IM" => "Zmazať IM",
"Share" => "Zdieľať",
"Export" => "Export",
"CardDAV link" => "CardDAV odkaz",
"Add Contact" => "Pridať Kontakt.",
"Drop photo to upload" => "Pretiahnite sem fotku pre nahratie",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Formát vlastný, krátke meno, celé meno, obrátené alebo obrátené s čiarkami",
"Edit name details" => "Upraviť podrobnosti mena",
"Enter nickname" => "Zadajte prezývku",
"http://www.somesite.com" => "http://www.stranka.sk",
"dd-mm-yyyy" => "dd. mm. yyyy",
"Separate groups with commas" => "Oddelte skupiny čiarkami",
@ -222,16 +243,12 @@
"Edit address" => "Upraviť adresu",
"Type" => "Typ",
"PO Box" => "PO Box",
"Street address" => "Ulica",
"Street and number" => "Ulica a číslo",
"Extended" => "Rozšírené",
"Apartment number etc." => "Číslo bytu a pod.",
"City" => "Mesto",
"Region" => "Región",
"E.g. state or province" => "Napr. štát alebo provincia",
"Zipcode" => "PSČ",
"Postal code" => "PSČ",
"Country" => "Krajina",
"Addressbook" => "Adresár",
"Hon. prefixes" => "Tituly pred",
"Miss" => "Slečna",

View File

@ -55,6 +55,7 @@
"Contact is not in this group." => "Stik ni v tej skupini",
"Contacts are not in this group." => "Stiki niso v tej skupini.",
"A group named {group} already exists" => "Skupina z imenom {group} že obstaja.",
"You can drag groups to\narrange them as you like." => "Skupine lahko z vlečenjem\nrazporedite po vaših željah.",
"All" => "Vsi",
"Favorites" => "Priljubljene",
"Shared by {owner}" => "V souporabo dal {owner}",
@ -67,16 +68,28 @@
"Error adding to group." => "Napaka pri dodajanju v skupino.",
"Error removing from group." => "Napaka pri odstranjevanju iz skupine.",
"There was an error opening a mail composer." => "Med odpiranjem sestavljalnika pošte je prišlo do napake.",
"Deleting done. Click here to cancel reloading." => "Izbris je končan. Če želite preklicati ponovno nalaganje, kliknite sem.",
"Add address book" => "Dodaj imenik",
"Import done. Click here to cancel reloading." => "Uvoz je končan. Če želite preklicati ponovno nalaganje, kliknite sem.",
"Not all files uploaded. Retrying..." => "Vse datoteke niso bile poslane. Poskus bo ponovljen ...",
"Something went wrong with the upload, please retry." => "Med nalaganjem je prišlo do napake. Poskusite znova.",
"Error" => "Napaka",
"Importing from {filename}..." => "Uvažam iz {filename}...",
"{success} imported, {failed} failed." => "{success} uvoženih, {failed} spodletelih.",
"Importing..." => "Uvažanje ...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Pošiljanje ni mogoče, saj gre za mapo, ali pa je datoteka velikosti 0 bajtov.",
"Upload Error" => "Napaka med nalaganjem",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Datoteka, ki jo poskušate naložiti, presega največjo dovoljeno velikost za pošiljanje na tem strežniku.",
"Upload too large" => "Datoteke za pošiljanje so prevelike",
"Pending" => "V čakanju ...",
"Add group" => "Dodaj skupino",
"No files selected for upload." => "Ni izbrane datoteke za nalaganje.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Datoteka, ki jo poskušate naložiti, presega največjo dovoljeno velikost za pošiljanje na tem strežniku.",
"Edit profile picture" => "Uredi fotografijo profila",
"Error loading profile picture." => "Napaka med nalaganjem slike profila.",
"Enter name" => "Vnesi ime",
"Enter description" => "Vnesi opis",
"Select addressbook" => "Izberite imenik",
"The address book name cannot be empty." => "Imenika mora imeti določeno ime.",
"Error" => "Napaka",
"Is this correct?" => "Ali je to pravilno?",
"There was an unknown error when trying to delete this contact" => "Med poskusom izbrisa tega stika je prišlo do neznane napake.",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Nekateri stiki so označeni za izbris, vendar še niso izbrisani. Počakajte na izbris.",
@ -138,17 +151,18 @@
"HomePage" => "Domača stran",
"New Group" => "Nova skupina",
"Settings" => "Nastavitve",
"Share" => "Souporaba",
"Address books" => "Imeniki",
"Import" => "Uvozi",
"Select files to import" => "Izberite datoteke za uvoz",
"Select files" => "Izberi datoteke",
"Import into:" => "Uvozi v:",
"Export" => "Izvozi",
"OK" => "V redu",
"(De-)select all" => "(Od-)izberi vse",
"New Contact" => "Nov stik",
"Back" => "Nazaj",
"Download Contact" => "Prenesi stik",
"Delete Contact" => "Izbriši stik",
"Groups" => "Skupine",
"Favorite" => "Priljubljen",
"Delete Contact" => "Izbriši stik",
"Close" => "Zapri",
"Keyboard shortcuts" => "Bližnjice na tipkovnici",
"Navigation" => "Krmarjenje",
@ -174,6 +188,7 @@
"Additional names" => "Druga imena",
"Last name" => "Priimek",
"Nickname" => "Vzdevek",
"Enter nickname" => "Vnos vzdevka",
"Title" => "Ime",
"Organization" => "Ustanova",
"Birthday" => "Rojstni dan",
@ -197,17 +212,23 @@
"View on map" => "Pokaži na zemljevidu",
"Delete address" => "Izbriši imenik",
"1 Main Street" => "1 Glavna ulica",
"Street address" => "Naslov ulice",
"12345" => "12345",
"Postal code" => "Poštna številka",
"Your city" => "Vaše mesto",
"City" => "Mesto",
"Some region" => "Neka regija",
"Your country" => "Vaša država",
"Country" => "Država",
"Instant Messenger" => "Hipni sporočilnik",
"Delete IM" => "Izbriši IM",
"Share" => "Souporaba",
"Export" => "Izvozi",
"CardDAV link" => "CardDAV povezava",
"Add Contact" => "Dodaj stik",
"Drop photo to upload" => "Spustite sliko tukaj, da bi jo poslali na strežnik",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Format po meri, Kratko ime, Polno ime, Obratno ali Obratno z vejico",
"Edit name details" => "Uredi podrobnosti imena",
"Enter nickname" => "Vnos vzdevka",
"http://www.somesite.com" => "http://www.spletnastran.si",
"dd-mm-yyyy" => "dd. mm. yyyy",
"Separate groups with commas" => "Skupine ločite z vejicami",
@ -222,16 +243,12 @@
"Edit address" => "Uredi naslov",
"Type" => "Vrsta",
"PO Box" => "Poštni predal",
"Street address" => "Naslov ulice",
"Street and number" => "Ulica in štelika",
"Extended" => "Razširjeno",
"Apartment number etc." => "Številka stanovanja itd.",
"City" => "Mesto",
"Region" => "Regija",
"E.g. state or province" => "Npr. dežela ali pokrajina",
"Zipcode" => "Poštna številka",
"Postal code" => "Poštna številka",
"Country" => "Država",
"Addressbook" => "Imenik",
"Hon. prefixes" => "Predpone",
"Miss" => "gdč.",

View File

@ -9,6 +9,10 @@
"Missing a temporary folder" => "Недостаје привремена фасцикла",
"Contacts" => "Контакти",
"Error" => "Грешка",
"Unable to upload your file as it is a directory or has 0 bytes" => "Не могу да отпремим датотеку као фасциклу или она има 0 бајтова",
"Upload Error" => "Грешка при отпремању",
"Upload too large" => "Датотека је превелика",
"Pending" => "На чекању",
"Download" => "Преузимање",
"Edit" => "Уреди",
"Delete" => "Обриши",
@ -25,8 +29,6 @@
"Contact" => "Контакт",
"Settings" => "Подешавања",
"Import" => "Увези",
"Export" => "Извези",
"Back" => "Назад",
"Groups" => "Групе",
"Close" => "Затвори",
"Title" => "Наслов",
@ -37,19 +39,20 @@
"Email" => "Е-маил",
"Address" => "Адреса",
"Preferred" => "Пожељан",
"City" => "Град",
"Country" => "Земља",
"Share" => "Дељење",
"Export" => "Извези",
"Add Contact" => "Додај контакт",
"Download contact" => "Преузми контакт",
"Delete contact" => "Обриши контакт",
"Type" => "Тип",
"PO Box" => "Поштански број",
"Extended" => "Прошири",
"City" => "Град",
"Region" => "Регија",
"Zipcode" => "Зип код",
"Country" => "Земља",
"Addressbook" => "Адресар",
"Addressbooks" => "Адресар",
"Share" => "Дељење",
"New Address Book" => "Нови адресар",
"Name" => "Име",
"Save" => "Сними"

View File

@ -6,6 +6,7 @@
"The uploaded file was only partially uploaded" => "Poslati fajl je samo delimično otpremljen!",
"No file was uploaded" => "Nijedan fajl nije poslat",
"Missing a temporary folder" => "Nedostaje privremena fascikla",
"Upload too large" => "Pošiljka je prevelika",
"Download" => "Preuzmi",
"Edit" => "Uredi",
"Delete" => "Obriši",
@ -28,13 +29,13 @@
"Phone" => "Telefon",
"Email" => "E-mail",
"Address" => "Adresa",
"City" => "Grad",
"Country" => "Zemlja",
"Add Contact" => "Dodaj kontakt",
"PO Box" => "Poštanski broj",
"Extended" => "Proširi",
"City" => "Grad",
"Region" => "Regija",
"Zipcode" => "Zip kod",
"Country" => "Zemlja",
"Name" => "Ime",
"Save" => "Snimi"
);

View File

@ -55,6 +55,7 @@
"Contact is not in this group." => "Kontakten är inte i denna grupp.",
"Contacts are not in this group." => "Kontakterna är inte i denna grupp.",
"A group named {group} already exists" => "En grupp men namnet {group} finns redan",
"You can drag groups to\narrange them as you like." => "Du kan dra grupper för att\nordna dem som du vill.",
"All" => "Alla",
"Favorites" => "Favoriter",
"Shared by {owner}" => "Delad av {owner}",
@ -67,16 +68,28 @@
"Error adding to group." => "Fel vid tillägg i grupp.",
"Error removing from group." => "Fel vid radering från grupp.",
"There was an error opening a mail composer." => "Fel uppstod när e-postklient skulle öppnas.",
"Deleting done. Click here to cancel reloading." => "Radering klar. Klicka här för att avbryta omläsning.",
"Add address book" => "Lägg till adressbok",
"Import done. Click here to cancel reloading." => "Import klar. Klicka här för att avbryta omläsning.",
"Not all files uploaded. Retrying..." => "Alla filer är inte uppladdade. Försöker igen...",
"Something went wrong with the upload, please retry." => "Något gick fel med uppladdningen, försök igen.",
"Error" => "Fel",
"Importing from {filename}..." => "Importerar från {filename}...",
"{success} imported, {failed} failed." => "{success} importerad, {failed} misslyckades.",
"Importing..." => "Importerar...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kan inte ladda upp din fil eftersom det är en katalog eller har 0 bytes",
"Upload Error" => "Fel vid uppladdning",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Filen du försöker ladda upp är större än den maximala storleken för filuppladdning på denna server.",
"Upload too large" => "För stor uppladdning",
"Pending" => "Väntar",
"Add group" => "Lägg till grupp",
"No files selected for upload." => "Inga filer valda för uppladdning",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Filen du försöker ladda upp är större än den maximala storleken för filuppladdning på denna server.",
"Edit profile picture" => "Anpassa profilbild",
"Error loading profile picture." => "Fel vid hämtning av profilbild.",
"Enter name" => "Ange namn",
"Enter description" => "Ange beskrivning",
"Select addressbook" => "Välj adressbok",
"The address book name cannot be empty." => "Adressbokens namn kan inte vara tomt.",
"Error" => "Fel",
"Is this correct?" => "Är detta korrekt?",
"There was an unknown error when trying to delete this contact" => "Okänt fel uppstod när denna kontakt skulle raderas",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Vissa kontakter är markerade för radering, men är inte raderade än. Vänta tills dom är raderade.",
@ -138,17 +151,18 @@
"HomePage" => "Hemsida",
"New Group" => "Ny grupp",
"Settings" => "Inställningar",
"Share" => "Dela",
"Address books" => "Adressböcker",
"Import" => "Importera",
"Select files to import" => "Välj filer för import",
"Select files" => "Välj filer",
"Import into:" => "Importera till:",
"Export" => "Exportera",
"OK" => "OK",
"(De-)select all" => "(Av-)markera alla",
"New Contact" => "Ny kontakt",
"Back" => "Tillbaka",
"Download Contact" => "Ladda ner kontakt",
"Delete Contact" => "Radera kontakt",
"Groups" => "Grupper",
"Favorite" => "Favorit",
"Delete Contact" => "Radera kontakt",
"Close" => "Stäng",
"Keyboard shortcuts" => "Kortkommandon",
"Navigation" => "Navigering",
@ -174,6 +188,7 @@
"Additional names" => "Mellannamn",
"Last name" => "Efternamn",
"Nickname" => "Smeknamn",
"Enter nickname" => "Ange smeknamn",
"Title" => "Titel",
"Organization" => "Organisation",
"Birthday" => "Födelsedag",
@ -197,17 +212,23 @@
"View on map" => "Visa på karta",
"Delete address" => "Radera adress",
"1 Main Street" => "1 Main Street",
"Street address" => "Gatuadress",
"12345" => "12345",
"Postal code" => "Postnummer",
"Your city" => "Din stad",
"City" => "Stad",
"Some region" => "En region",
"Your country" => "Ditt land",
"Country" => "Land",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "Radera IM",
"Share" => "Dela",
"Export" => "Exportera",
"CardDAV link" => "CardDAV-länk",
"Add Contact" => "Lägg till kontakt",
"Drop photo to upload" => "Släpp foto för att ladda upp",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => " anpassad, korta namn, hela namn, bakåt eller bakåt med komma",
"Edit name details" => "Redigera detaljer för namn",
"Enter nickname" => "Ange smeknamn",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd-mm-åååå",
"Separate groups with commas" => "Separera grupperna med kommatecken",
@ -222,16 +243,12 @@
"Edit address" => "Editera adress",
"Type" => "Typ",
"PO Box" => "Postbox",
"Street address" => "Gatuadress",
"Street and number" => "Gata och nummer",
"Extended" => "Utökad",
"Apartment number etc." => "Lägenhetsnummer",
"City" => "Stad",
"Region" => "Län",
"E.g. state or province" => "T.ex. stat eller provins",
"Zipcode" => "Postnummer",
"Postal code" => "Postnummer",
"Country" => "Land",
"Addressbook" => "Adressbok",
"Hon. prefixes" => "Ledande titlar",
"Miss" => "Fröken",

View File

@ -67,16 +67,20 @@
"Error adding to group." => "குழுவில் சேர்ப்பதில் வழு.",
"Error removing from group." => "குழுவிலிருந்து அகற்றுவதிலிருந்து வழு.",
"There was an error opening a mail composer." => "மின்னஞ்சல் செய்தியாக்குகையை திறப்பதில் வழு.",
"Error" => "வழு",
"Unable to upload your file as it is a directory or has 0 bytes" => "அடைவு அல்லது 0 bytes ஐ கொண்டுள்ளதால் உங்களுடைய கோப்பை பதிவேற்ற முடியவில்லை",
"Upload Error" => "பதிவேற்றல் வழு",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "நீங்கள் பதிவேற்ற முயற்சிக்கும் கோப்பானது இந்த சேவையகத்தில் பதிவேற்றக்கூடிய கோப்பின் ஆகக்கூடிய அளவைவிட கூடியது. ",
"Upload too large" => "பதிவேற்றல் மிகப்பெரியது",
"Pending" => "நிலுவையிலுள்ள",
"Add group" => "குழுவில் சேர்க்க",
"No files selected for upload." => "பதிவேற்றுவதற்கு கோப்புகள் தெரிவுசெய்யப்படவில்லை",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "நீங்கள் பதிவேற்ற முயற்சிக்கும் கோப்பானது இந்த சேவையகத்தில் பதிவேற்றக்கூடிய கோப்பின் ஆகக்கூடிய அளவைவிட கூடியது. ",
"Edit profile picture" => "விபரக்கோவை படத்தை தொகுக்க ",
"Error loading profile picture." => "விபரக்கோவை படத்தை ஏற்றுவதில் வழு",
"Enter name" => "பெயரை நுழைக்க ",
"Enter description" => "விபரிப்புக்களை நுழைக்க",
"Select addressbook" => "முகவரி புத்தகத்தை தெரிவுசெய்க",
"The address book name cannot be empty." => "முகவரிப் புத்தகத்தின் பெயர் வெறுமையாக இருக்கமுடியாது.",
"Error" => "வழு",
"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." => "சில தொடர்புகள் அழிப்பதற்காக அடையாளப்படுத்தப்பட்டுள்ளது, ஆனால் இன்னும் அழிக்கவில்லை. தயவுசெய்து அது அழியும் வரை காத்திருக்கவும்.",
@ -138,17 +142,15 @@
"HomePage" => "தொடக்க பக்கம்",
"New Group" => "புதிய குழு",
"Settings" => "அமைப்புகள்",
"Share" => "பகிர்வு",
"Import" => "இறக்குமதி",
"Import into:" => "இதற்கு இறக்குமதி செய்க:",
"Export" => "ஏற்றுமதி",
"OK" => "சரி ",
"(De-)select all" => "எல்லாவற்றையும் தெரிவுசெய்க (செய்யாதிக-)",
"New Contact" => "புதிய தொடர்பு",
"Back" => "பின்னுக்கு",
"Download Contact" => "தொடர்பை பதிவிறக்குக",
"Delete Contact" => "தொடர்பை நீக்குக",
"Groups" => "குழுக்கள்",
"Favorite" => "விருப்பமான",
"Delete Contact" => "தொடர்பை நீக்குக",
"Close" => "மூடுக",
"Keyboard shortcuts" => "விசைப்பலகை குறுக்குவழிகள்",
"Navigation" => "வழிசெலுத்தல்",
@ -174,6 +176,7 @@
"Additional names" => "மேலதிக பெயர்கள்",
"Last name" => "கடைசிப் பெயர்",
"Nickname" => "பட்டப்பெயர்",
"Enter nickname" => "பட்டப்பெயரை நுழைக்க",
"Title" => "தலைப்பு",
"Organization" => "நிறுவனம்",
"Birthday" => "பிறந்த நாள்",
@ -197,17 +200,22 @@
"View on map" => "வரைப்படத்தில் காண்க",
"Delete address" => "முகவரியை நீக்குக",
"1 Main Street" => "1 பிரதான பாதை",
"Street address" => "வீதி முகவரி",
"12345" => "12345",
"Postal code" => "தபால் குறியீடு",
"Your city" => "உங்களுடைய நகரம்",
"City" => "நகரம்",
"Some region" => "சில பிரதேசம்",
"Your country" => "உங்களுடைய நாடு",
"Country" => "நாடு",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "IM ஐ நீக்குக",
"Share" => "பகிர்வு",
"Export" => "ஏற்றுமதி",
"Add Contact" => "​தொடர்புகளை சேர்க்க",
"Drop photo to upload" => "பதிவேற்றுவதற்கான படத்தை விடுக",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "தனிப்பயன் வடிவமைப்பு, சுருக்கப் பெயர், முழுப்பெயர், எதிர் அல்லது காற்புள்ளியினால் பின்னோக்கு",
"Edit name details" => "பெயர் விபரங்களை தொகுக்க ",
"Enter nickname" => "பட்டப்பெயரை நுழைக்க",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "குழுக்களை காற்புள்ளியினால் வேறாக்குக",
@ -222,16 +230,12 @@
"Edit address" => "முகவரியை தொகுக்க",
"Type" => "வகை",
"PO Box" => "PO பெட்டி",
"Street address" => "வீதி முகவரி",
"Street and number" => "வீதி மற்றும் இலக்கம்",
"Extended" => "விஸ்த்தரிக்கப்பட்ட",
"Apartment number etc." => "அபாட்மென்ட் இலக்கம் உதாரணம்.",
"City" => "நகரம்",
"Region" => "பிரதேசம்",
"E.g. state or province" => "உதாரணம் . மாநிலம் அல்லது மாகாணம்",
"Zipcode" => "தபால் இலக்கம்",
"Postal code" => "தபால் குறியீடு",
"Country" => "நாடு",
"Addressbook" => "முகவரி புத்தகம்",
"Hon. prefixes" => "Hon. முன்னொட்டுகள்",
"Miss" => "செல்வி",

View File

@ -67,16 +67,23 @@
"Error adding to group." => "เกิดข้อผิดพลาดในการเพิ่มเข้าไปยังกลุ่ม",
"Error removing from group." => "เกิดข้อผิดพลาดในการลบออกจากกลุ่ม",
"There was an error opening a mail composer." => "เกิดข้อผิดพลาดในการระหว่างการเปิดหน้าเครื่องมือเขียนอีเมล",
"Not all files uploaded. Retrying..." => "ไม่ใช่ไฟล์ทั้งหมดที่จะถูกอัพโหลด กำลังลองใหม่...",
"Something went wrong with the upload, please retry." => "เกิดข้อผิดพลาดบางประการในการอัพโหลด, กรุณาลองใหม่อีกครั้ง",
"Error" => "พบข้อผิดพลาด",
"Importing..." => "กำลังนำเข้าข้อมูล...",
"Unable to upload your file as it is a directory or has 0 bytes" => "ไม่สามารถอัพโหลดไฟล์ของคุณได้ เนื่องจากไฟล์ดังกล่าวเป็นไดเร็กทอรี่ หรือ มีขนาดไฟล์ 0 ไบต์",
"Upload Error" => "เกิดข้อผิดพลาดในการอัพโหลด",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "ไฟล์ที่คุณกำลังพยายามที่จะอัพโหลดมีขนาดเกินจำนวนสูงสุดที่สามารถอัพโหลดได้สำหรับเซิร์ฟเวอร์นี้",
"Upload too large" => "ไฟล์ที่อัพโหลดมีขนาดใหญ่เกินไป",
"Pending" => "อยู่ระหว่างดำเนินการ",
"Add group" => "เพิ่มกลุ่ม",
"No files selected for upload." => "ยังไม่ได้เลือกไฟล์ำสำหรับอัพโหลด",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "ไฟล์ที่คุณกำลังพยายามที่จะอัพโหลดมีขนาดเกินจำนวนสูงสุดที่สามารถอัพโหลดได้สำหรับเซิร์ฟเวอร์นี้",
"Edit profile picture" => "แก้ไขรูปภาพหน้าโปรไฟล์",
"Error loading profile picture." => "เกิดข้อผิดพลาดในการโหลดรูปภาพประจำตัว",
"Enter name" => "กรอกชื่อ",
"Enter description" => "กรอกคำอธิบาย",
"Select addressbook" => "เลือกสมุดบันทึกที่อยู่",
"The address book name cannot be empty." => "ชื่อของสมุดบันทึกที่อยู่ไม่สามารถเว้นว่างได้",
"Error" => "พบข้อผิดพลาด",
"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." => "ข้อมูลผู้ติดต่อบางรายการได้ถูกทำเครื่องหมายสำหรับลบทิ้งเอาไว้, แต่ยังไม่ได้ถูกลบทิ้ง, กรุณารอให้รายการดังกล่าวถูกลบทิ้งเสียก่อน",
@ -138,17 +145,15 @@
"HomePage" => "หน้าแรก",
"New Group" => "สร้างกลุ่มใหม่",
"Settings" => "ตั้งค่า",
"Share" => "แชร์",
"Import" => "นำเข้า",
"Import into:" => "นำเข้าข้อมูลไปไว้ที่:",
"Export" => "ส่งออก",
"OK" => "ตกลง",
"(De-)select all" => "ยกเลิกการเลือกทั้งหมด",
"New Contact" => "สร้างรายชื่อผู้ติดต่อใหม่",
"Back" => "ย้อนกลับ",
"Download Contact" => "ดาวน์โหลดรายชื่อผู้ติดต่อ",
"Delete Contact" => "ลบรายชื่อผู้ติดต่อ",
"Groups" => "กลุ่ม",
"Favorite" => "รายการโปรด",
"Delete Contact" => "ลบรายชื่อผู้ติดต่อ",
"Close" => "ปิด",
"Keyboard shortcuts" => "ปุ่มลัด",
"Navigation" => "ระบบเมนู",
@ -174,6 +179,7 @@
"Additional names" => "ชื่ออื่นๆ",
"Last name" => "นามสกุลจริง",
"Nickname" => "ชื่อเล่น",
"Enter nickname" => "กรอกชื่อเล่น",
"Title" => "ชื่อ",
"Organization" => "หน่วยงาน",
"Birthday" => "วันเกิด",
@ -197,17 +203,22 @@
"View on map" => "ดูบนแผนที่",
"Delete address" => "ลบที่อยู่",
"1 Main Street" => "ถนนสายหลัก",
"Street address" => "ที่อยู่",
"12345" => "12345",
"Postal code" => "รหัสไปรษณีย์",
"Your city" => "ชื่อเมือง",
"City" => "เมือง",
"Some region" => "ย่าน",
"Your country" => "ประเทศของคุณ",
"Country" => "ประเทศ",
"Instant Messenger" => "โปรแกรมรับส่งข้อความ",
"Delete IM" => "ลบ IM",
"Share" => "แชร์",
"Export" => "ส่งออก",
"Add Contact" => "เพิ่มรายชื่อผู้ติดต่อใหม่",
"Drop photo to upload" => "วางรูปภาพที่ต้องการอัพโหลด",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "กำหนดรูปแบบของชื่อย่อ, ชื่อจริง, ย้อนค่ากลัีบด้วยคอมม่าเอง",
"Edit name details" => "แก้ไขรายละเอียดของชื่อ",
"Enter nickname" => "กรอกชื่อเล่น",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "คั่นระหว่างรายชื่อกลุ่มด้วยเครื่องหมายจุลภาีคหรือคอมม่า",
@ -222,16 +233,12 @@
"Edit address" => "แก้ไขที่อยู่",
"Type" => "ประเภท",
"PO Box" => "ตู้ ปณ.",
"Street address" => "ที่อยู่",
"Street and number" => "ถนนและหมายเลข",
"Extended" => "เพิ่ม",
"Apartment number etc." => "หมายเลขอพาร์ทเมนต์ ฯลฯ",
"City" => "เมือง",
"Region" => "ภูมิภาค",
"E.g. state or province" => "เช่น รัฐ หรือ จังหวัด",
"Zipcode" => "รหัสไปรษณีย์",
"Postal code" => "รหัสไปรษณีย์",
"Country" => "ประเทศ",
"Addressbook" => "สมุดบันทึกที่อยู่",
"Hon. prefixes" => "คำนำหน้าชื่อคนรัก",
"Miss" => "นางสาว",

View File

@ -41,13 +41,18 @@
"No file was uploaded. Unknown error" => "Dosya yüklenmedi. Bilinmeyen hata",
"Contacts" => "Kişiler",
"Select photo" => "Fotograf seç",
"No files selected for upload." => "Yükleme için dosya seçilmedi.",
"Error" => "Hata",
"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",
"No files selected for upload." => "Yükleme için dosya seçilmedi.",
"Error loading profile picture." => "Profil resmi yüklenirken hata oluştu.",
"Enter name" => "İsim giriniz",
"Enter description" => "Tanım giriniz",
"The address book name cannot be empty." => "Adres defterinde adı boş olamaz.",
"Error" => "Hata",
"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ı, ",
@ -100,11 +105,9 @@
"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.",
"Settings" => "Ayarlar",
"Share" => "Paylaş",
"Import" => "İçe aktar",
"Export" => "Dışa aktar",
"OK" => "OK",
"New Contact" => "Yeni Kişi",
"Back" => "Geri",
"Groups" => "Gruplar",
"Close" => "Kapat",
"Keyboard shortcuts" => "Klavye kısayolları",
@ -126,6 +129,7 @@
"Select photo from ownCloud" => "ownCloud'dan bir fotoğraf seç",
"Additional names" => "İlave isimler",
"Nickname" => "Takma ad",
"Enter nickname" => "Takma adı girin",
"Title" => "Başlık",
"Organization" => "Organizasyon",
"Birthday" => "Doğum günü",
@ -144,13 +148,18 @@
"Delete phone number" => "Telefon numarasını sil",
"Go to web site" => "Web sitesine git",
"View on map" => "Haritada gör",
"Street address" => "Sokak adresi",
"Postal code" => "Posta kodu",
"City" => "Şehir",
"Country" => "Ülke",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "IM Sil",
"Share" => "Paylaş",
"Export" => "Dışa aktar",
"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",
"Edit name details" => "İsim detaylarını düzenle",
"Enter nickname" => "Takma adı girin",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "gg-aa-yyyy",
"Separate groups with commas" => "Grupları birbirinden virgülle ayırın",
@ -165,16 +174,12 @@
"Edit address" => "Adresi düzenle",
"Type" => "Tür",
"PO Box" => "Posta Kutusu",
"Street address" => "Sokak adresi",
"Street and number" => "Sokak ve Numara",
"Extended" => "Uzatılmış",
"Apartment number etc." => "Apartman numarası vb.",
"City" => "Şehir",
"Region" => "Bölge",
"E.g. state or province" => "Örn. eyalet veya il",
"Zipcode" => "Posta kodu",
"Postal code" => "Posta kodu",
"Country" => "Ülke",
"Addressbook" => "Adres defteri",
"Hon. prefixes" => "Kısaltmalar",
"Miss" => "Bayan",

View File

@ -67,16 +67,22 @@
"Error adding to group." => "Помилка при додаванні у групу.",
"Error removing from group." => "Помилка при видаленні з групи.",
"There was an error opening a mail composer." => "Виникла помилка при відкриванні поштової програми.",
"Not all files uploaded. Retrying..." => "Не всі файли завантажено. Повторна спроба...",
"Error" => "Помилка",
"Importing..." => "Імпортування...",
"Unable to upload your file as it is a directory or has 0 bytes" => "Неможливо завантажити ваш файл тому, що він тека або файл розміром 0 байт",
"Upload Error" => "Помилка завантаження",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Файл, який Ви намагаєтесь завантажити перевищує максимальний розмір файлу, що дозволено завантажувати на даний сервер.",
"Upload too large" => "Файл занадто великий",
"Pending" => "Очікування",
"Add group" => "Додати групу",
"No files selected for upload." => "Не обрано файлів для завантаження.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Файл, який Ви намагаєтесь завантажити перевищує максимальний розмір файлу, що дозволено завантажувати на даний сервер.",
"Edit profile picture" => "Редагувати зображення облікового запису",
"Error loading profile picture." => "Помилка при завантаженні зображення облікового запису.",
"Enter name" => "Введіть ім'я",
"Enter description" => "Введіть опис",
"Select addressbook" => "Обрати адресну книгу",
"The address book name cannot be empty." => "Ім'я адресної книги не може бути порожнім.",
"Error" => "Помилка",
"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." => "Деякі контакти помічено для видалення, але ще не видалені. Будь ласка, зачекайте, доки вони будуть видалені.",
@ -138,17 +144,15 @@
"HomePage" => "Домашня Сторінка",
"New Group" => "Нова група",
"Settings" => "Налаштування",
"Share" => "Поділитися",
"Import" => "Імпорт",
"Import into:" => "Імпортувати в:",
"Export" => "Експорт",
"OK" => "OK",
"(De-)select all" => "(Відміна) виділення усіх",
"New Contact" => "Новий контакт",
"Back" => "Назад",
"Download Contact" => "Завантажити контакт",
"Delete Contact" => "Видалити контакт",
"Groups" => "Групи",
"Favorite" => "Улюблений",
"Delete Contact" => "Видалити контакт",
"Close" => "Закрити",
"Keyboard shortcuts" => "Сполучення клавіш",
"Navigation" => "Навігація",
@ -174,6 +178,7 @@
"Additional names" => "Додаткові імена",
"Last name" => "Прізвище",
"Nickname" => "Прізвисько",
"Enter nickname" => "Ввести прізвисько",
"Title" => "Назва",
"Organization" => "Організація",
"Birthday" => "День народження",
@ -197,17 +202,22 @@
"View on map" => "Переглянути на карті",
"Delete address" => "Видалити адресу",
"1 Main Street" => "1 Головна вулиця",
"Street address" => "Адреса",
"12345" => "12345",
"Postal code" => "Поштовий індекс",
"Your city" => "Ваше місто",
"City" => "Місто",
"Some region" => "Деякий регіон",
"Your country" => "Ваша країна",
"Country" => "Країна",
"Instant Messenger" => "Instant Messenger",
"Delete IM" => "Видалити IM",
"Share" => "Поділитися",
"Export" => "Експорт",
"Add Contact" => "Додати контакт",
"Drop photo to upload" => "Піднесіть фото для завантаження",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Format custom, Short name, Full name, Reverse or Reverse with comma",
"Edit name details" => "Редагувати деталі",
"Enter nickname" => "Ввести прізвисько",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "дд-мм-рррр",
"Separate groups with commas" => "Відділяйте групи комами",
@ -222,16 +232,12 @@
"Edit address" => "Редагувати адреси",
"Type" => "Тип",
"PO Box" => "Поштова скринька",
"Street address" => "Адреса",
"Street and number" => "Вулиця та номер будинку",
"Extended" => "Розширено",
"Apartment number etc." => "Номер квартири та ін.",
"City" => "Місто",
"Region" => "Регіон",
"E.g. state or province" => "Область чи район",
"Zipcode" => "Поштовий індекс",
"Postal code" => "Поштовий індекс",
"Country" => "Країна",
"Addressbook" => "Адресна книга",
"Hon. prefixes" => "Високоповажні префікси",
"Miss" => "Miss",

View File

@ -67,16 +67,23 @@
"Error adding to group." => "Lỗi thêm vào nhóm.",
"Error removing from group." => "Lỗi xóa khỏi nhóm.",
"There was an error opening a mail composer." => "Lỗi mở phần soạn email.",
"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.",
"Error" => "Lỗi",
"Importing..." => "Đang nhập vào...",
"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",
"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ủ.",
"Upload too large" => "Tập tin tải lên quá lớn",
"Pending" => "Đang chờ",
"Add group" => "Thêm nhóm",
"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ủ.",
"Edit profile picture" => "Chỉnh sửa hồ sơ ảnh",
"Error loading profile picture." => "Lỗi khi tải lên hồ sơ hình ảnh.",
"Enter name" => "Nhập tên",
"Enter description" => "Nhập mô tả",
"Select addressbook" => "Thêm danh bạ",
"The address book name cannot be empty." => "Tên Danh bạ không thể để trống .",
"Error" => "Lỗi",
"Is this correct?" => "Bạn có chắc điều này là đúng không?",
"There was an unknown error when trying to delete this contact" => "Có một lỗi không xác định khi cố gắng để xóa địa chỉ liên hệ này",
"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.",
@ -138,17 +145,15 @@
"HomePage" => "Trang chủ",
"New Group" => "Nhóm mới",
"Settings" => "Tùy chỉnh",
"Share" => "Chia sẻ",
"Import" => "Nhập",
"Import into:" => "Nhập vào :",
"Export" => "Xuất ra",
"OK" => "Chấp nhận",
"(De-)select all" => "(Hủy) chọn tất cả",
"New Contact" => "Liên lạc mới",
"Back" => "Trở lại",
"Download Contact" => "Tải liên lạc",
"Delete Contact" => "Xóa liên lạc",
"Groups" => "Nhóm",
"Favorite" => "Ưu thích",
"Delete Contact" => "Xóa liên lạc",
"Close" => "Đóng",
"Keyboard shortcuts" => "Phím tắt",
"Navigation" => "Navigation",
@ -174,6 +179,7 @@
"Additional names" => "Tên bổ sung",
"Last name" => "Họ",
"Nickname" => "Biệt danh",
"Enter nickname" => "Nhập nickname",
"Title" => "Tiêu đề",
"Organization" => "Tổ chức",
"Birthday" => "Ngày sinh nhật",
@ -197,17 +203,22 @@
"View on map" => "Xem trên bản đồ",
"Delete address" => "Xóa địa chỉ",
"1 Main Street" => "Địa chỉ 1",
"Street address" => "Địa chỉ nhà",
"12345" => "12345",
"Postal code" => "Mã bưu chính",
"Your city" => "Thành phố",
"City" => "Thành phố",
"Some region" => "Khu vực",
"Your country" => "Quốc gia",
"Country" => "Quốc gia",
"Instant Messenger" => "Tin nhắn khẩn cấp",
"Delete IM" => "Xóa IM",
"Share" => "Chia sẻ",
"Export" => "Xuất ra",
"Add Contact" => "Thêm liên lạc",
"Drop photo to upload" => "Kéo và thả hình ảnh để tải lê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",
"Edit name details" => "Chỉnh sửa chi tiết tên",
"Enter nickname" => "Nhập nickname",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "Phân cách bởi dấu phẩy",
@ -222,16 +233,12 @@
"Edit address" => "Sửa địa chỉ",
"Type" => "Loại",
"PO Box" => "Hòm thư bưu điện",
"Street address" => "Địa chỉ nhà",
"Street and number" => "Số nhà",
"Extended" => "Mở rộng",
"Apartment number etc." => "Số nhà",
"City" => "Thành phố",
"Region" => "Vùng/miền",
"E.g. state or province" => "Vd tiểu bang hoặc tỉnh thành",
"Zipcode" => "Mã bưu điện",
"Postal code" => "Mã bưu chính",
"Country" => "Quốc gia",
"Addressbook" => "Sổ địa chỉ",
"Hon. prefixes" => "Tiền tố",
"Miss" => "",

View File

@ -41,13 +41,20 @@
"No file was uploaded. Unknown error" => "没有上传文件。未知错误",
"Contacts" => "联系人",
"Select photo" => "选择相片",
"No files selected for upload." => "未选择要上传的文件。",
"Not all files uploaded. Retrying..." => "有文件未上传。重试中...",
"Something went wrong with the upload, please retry." => "上传出错,请重试。",
"Error" => "出错",
"Importing..." => "导入中...",
"Unable to upload your file as it is a directory or has 0 bytes" => "不能上传您的文件,由于它是文件夹或者为空文件",
"Upload Error" => "上传错误",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "您试图上传的文件超出了此服务器允许的上传文件最大尺寸。",
"Upload too large" => "上传过大",
"Pending" => "等待中",
"No files selected for upload." => "未选择要上传的文件。",
"Error loading profile picture." => "加载档案相片出错。",
"Enter name" => "输入名称",
"Enter description" => "输入描述",
"The address book name cannot be empty." => "地址薄名称不能为空。",
"Error" => "出错",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "一些联系人标记为删除,但尚未删除。请等待它们被删除。",
"Result: " => "结果:",
" imported, " => "已导入,",
@ -100,7 +107,7 @@
"There was an error deleting this contact." => "删除联系人出错。",
"Settings" => "设置",
"Import" => "导入",
"Export" => "导出",
"OK" => "",
"Groups" => "群组",
"Close" => "关闭",
"Keyboard shortcuts" => "热键",
@ -122,6 +129,7 @@
"Select photo from ownCloud" => "从 ownCloud 选择相片",
"Additional names" => "中间名",
"Nickname" => "昵称",
"Enter nickname" => "输入昵称",
"Title" => "标题",
"Organization" => "组织",
"Birthday" => "生日",
@ -140,13 +148,18 @@
"Delete phone number" => "删除电话号码",
"Go to web site" => "访问网站",
"View on map" => "查看地图",
"Street address" => "街道地址",
"Postal code" => "邮编",
"City" => "城市",
"Country" => "国家",
"Instant Messenger" => "即时通讯",
"Delete IM" => "删除即时通讯",
"Share" => "分享",
"Export" => "导出",
"Add Contact" => "添加联系人",
"Drop photo to upload" => "拖拽相片上传",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "格式自定义,短名称,全名,分隔或用逗号分隔",
"Edit name details" => "编辑名称细节",
"Enter nickname" => "输入昵称",
"http://www.somesite.com" => "http://www.somesite.com",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "用逗号分隔群组",
@ -161,16 +174,12 @@
"Edit address" => "编辑地址",
"Type" => "类型",
"PO Box" => "信箱",
"Street address" => "街道地址",
"Street and number" => "街道和门牌号",
"Extended" => "扩展",
"Apartment number etc." => "公寓号等。",
"City" => "城市",
"Region" => "地区",
"E.g. state or province" => "例如,州或省",
"Zipcode" => "邮编",
"Postal code" => "邮编",
"Country" => "国家",
"Addressbook" => "地址薄",
"Hon. prefixes" => "荣誉头衔",
"Miss" => "小姐",
@ -202,7 +211,6 @@
"Primary address (Kontact et al)" => "主要地址 (Kontact 等)",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "地址薄",
"Share" => "分享",
"New Address Book" => "新地址薄",
"Name" => "名称",
"Description" => "描述",

View File

@ -2,6 +2,10 @@
"Error (de)activating addressbook." => "(取消)激活地址簿错误。",
"id is not set." => "没有设置 id。",
"Cannot update addressbook with an empty name." => "无法使用一个空名称更新地址簿",
"No category name given." => "未指定类别名称。",
"Error adding group." => "添加分组错误。",
"Group ID missing from request." => "请求缺少分组ID。",
"Contact ID missing from request." => "请求缺少联系人ID。",
"No ID provided" => "未提供 ID",
"Error setting checksum." => "设置校验值错误。",
"No categories selected for deletion." => "未选中要删除的分类。",
@ -29,6 +33,7 @@
"Error cropping image" => "裁切图像时出错",
"Error creating temporary image" => "创建临时图像时出错",
"Error finding image: " => "查找图像时出错: ",
"Could not set preference: " => "无法设定偏好:",
"Error uploading contacts to storage." => "上传联系人到存储空间时出错",
"There is no error, the file uploaded with success" => "文件上传成功,没有错误发生",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "上传的文件长度超出了 php.ini 中 upload_max_filesize 的限制",
@ -40,14 +45,29 @@
"Couldn't load temporary image: " => "无法加载临时图像: ",
"No file was uploaded. Unknown error" => "没有文件被上传。未知错误",
"Contacts" => "联系人",
"Couldn't get contact list." => "无法获取联系人列表。",
"Contact is not in this group." => "联系人不在此分组中。",
"A group named {group} already exists" => "分组{group}已存在。",
"All" => "全部",
"Indexing contacts" => "正在索引联系人",
"Add to..." => "添加到……",
"Add group..." => "添加分组……",
"Select photo" => "选择图片",
"No files selected for upload." => "没有选择文件以上传",
"Not all files uploaded. Retrying..." => "仍有文件未上传,重试中",
"Something went wrong with the upload, please retry." => "上传中出现些问题,请重试。",
"Error" => "错误",
"Importing..." => "导入中",
"Unable to upload your file as it is a directory or has 0 bytes" => "无法上传您的文件,文件夹或者空文件",
"Upload Error" => "上传错误",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "您试图上传的文件超出了该服务器的最大文件限制",
"Upload too large" => "上传文件过大",
"Pending" => "等待",
"Add group" => "添加分组",
"No files selected for upload." => "没有选择文件以上传",
"Error loading profile picture." => "载入档案图片时出错",
"Enter name" => "输入姓名",
"Enter description" => "输入描述",
"The address book name cannot be empty." => "地址簿名称不能为空",
"Error" => "错误",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "一些联系人已被标注为删除,但是尚未完成,请稍候。",
"Result: " => "结果: ",
" imported, " => " 已导入, ",
@ -100,11 +120,19 @@
"Could not find the Addressbook with ID: " => "无法找到地址簿根据ID",
"You do not have the permissions to delete this contact." => "你没有权限删除此联系人",
"There was an error deleting this contact." => "删除联系人时出错。",
"Contact not found." => "找不到联系人。",
"HomePage" => "主页",
"New Group" => "新建分组",
"Settings" => "设置",
"Import" => "导入",
"Export" => "导出",
"Back" => "返回",
"Import into:" => "导入至:",
"OK" => "OK",
"(De-)select all" => "反选全部",
"New Contact" => "新建联系人",
"Download Contact" => "下载联系人",
"Groups" => "分组",
"Favorite" => "最爱",
"Delete Contact" => "删除联系人",
"Close" => "关闭",
"Keyboard shortcuts" => "快捷键",
"Navigation" => "导航",
@ -119,12 +147,17 @@
"Add new addressbook" => "新增地址簿",
"Delete current contact" => "删除当前联系人",
"Add contact" => "添加联系人",
"Compose mail" => "编写邮件",
"Delete group" => "删除分组",
"Delete current photo" => "删除当前照片",
"Edit current photo" => "编辑当前照片",
"Upload new photo" => "上传新照片",
"Select photo from ownCloud" => "从 ownCloud 选择照片",
"First name" => "",
"Additional names" => "其他名称",
"Last name" => "",
"Nickname" => "昵称",
"Enter nickname" => "输入昵称",
"Title" => "标题",
"Organization" => "组织",
"Birthday" => "生日",
@ -137,19 +170,30 @@
"Web site" => "网址",
"Preferred" => "偏好",
"Please specify a valid email address." => "请指定合法的电子邮件地址",
"someone@example.com" => "someone@example.com",
"Mail to address" => "发送邮件到地址",
"Delete email address" => "删除电子邮件地址",
"Enter phone number" => "输入电话号码",
"Delete phone number" => "删除电话号码",
"Go to web site" => "访问网址",
"Delete URL" => "删除URL",
"View on map" => "在地图上显示",
"Delete address" => "删除地址",
"Street address" => "街道地址",
"12345" => "12345",
"Postal code" => "邮政编码",
"Your city" => "城市",
"City" => "城市",
"Your country" => "国家",
"Country" => "国家",
"Instant Messenger" => "即时通讯",
"Delete IM" => "删除即时通讯工具",
"Share" => "共享",
"Export" => "导出",
"Add Contact" => "添加联系人",
"Drop photo to upload" => "拖拽图片进行上传",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "自定义格式,简称,全名,姓在前,姓在前并用逗号分割",
"Edit name details" => "编辑名称详情",
"Enter nickname" => "输入昵称",
"http://www.somesite.com" => "http://www.wodewangzhan.com",
"dd-mm-yyyy" => "yyyy-mm-dd",
"Separate groups with commas" => "用逗号隔开分组",
@ -164,16 +208,12 @@
"Edit address" => "编辑地址",
"Type" => "类型",
"PO Box" => "邮箱",
"Street address" => "街道地址",
"Street and number" => "街道门牌号码",
"Extended" => "扩展",
"Apartment number etc." => "公寓号码",
"City" => "城市",
"Region" => "地区",
"E.g. state or province" => "例如州或省",
"Zipcode" => "邮编",
"Postal code" => "邮政编码",
"Country" => "国家",
"Addressbook" => "地址簿",
"Hon. prefixes" => "荣誉头衔",
"Miss" => "小姐",
@ -205,7 +245,6 @@
"Primary address (Kontact et al)" => "首选地址 (Kontact 等)",
"iOS/OS X" => "iOS/OS X",
"Addressbooks" => "地址簿",
"Share" => "共享",
"New Address Book" => "新建地址簿",
"Name" => "姓名",
"Description" => "描述",

View File

@ -29,10 +29,13 @@
"No file was uploaded. Unknown error" => "沒有檔案被上傳. 未知的錯誤.",
"Contacts" => "通訊錄",
"Select photo" => "選擇相片",
"Error" => "錯誤",
"Unable to upload your file as it is a directory or has 0 bytes" => "無法上傳您的檔案因為它可能是一個目錄或檔案大小為0",
"Upload Error" => "上傳發生錯誤",
"Upload too large" => "上傳過大",
"Add group" => "新增群組",
"Enter name" => "輸入姓名",
"Enter description" => "輸入描述",
"Error" => "錯誤",
"Is this correct?" => "是否正確?",
"Download" => "下載",
"Edit" => "編輯",
@ -71,15 +74,12 @@
"HomePage" => "首頁",
"New Group" => "新群組",
"Settings" => "設定",
"Share" => "分享",
"Import" => "匯入",
"Export" => "匯出",
"(De-)select all" => "(反)全選",
"New Contact" => "新聯絡人",
"Back" => "返回",
"Delete Contact" => "刪除聯絡人",
"Groups" => "群組",
"Favorite" => "我的最愛",
"Delete Contact" => "刪除聯絡人",
"Close" => "關閉",
"Add contact" => "新增聯絡人",
"Delete group" => "刪除群組",
@ -90,6 +90,7 @@
"Additional names" => "額外名",
"Last name" => "姓氏",
"Nickname" => "綽號",
"Enter nickname" => "輸入綽號",
"Title" => "標題",
"Organization" => "組織",
"Birthday" => "生日",
@ -106,13 +107,17 @@
"Delete phone number" => "刪除電話號碼",
"Delete URL" => "刪除 URL",
"12345" => "12345",
"Postal code" => "郵遞區號",
"Your city" => "城市",
"City" => "城市",
"Your country" => "國家",
"Country" => "國家",
"Delete IM" => "刪除 IM",
"Share" => "分享",
"Export" => "匯出",
"Add Contact" => "添加通訊錄",
"Drop photo to upload" => "使用拖曳來上傳相片",
"Edit name details" => "編輯姓名詳細資訊",
"Enter nickname" => "輸入綽號",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Separate groups with commas" => "用逗號分隔群組",
"Edit groups" => "編輯群組",
@ -126,11 +131,8 @@
"Type" => "類型",
"PO Box" => "通訊地址",
"Extended" => "分機",
"City" => "城市",
"Region" => "地區",
"Zipcode" => "郵遞區號",
"Postal code" => "郵遞區號",
"Country" => "國家",
"Addressbook" => "電話簿",
"Miss" => "小姐",
"Ms" => "女士",

View File

@ -59,7 +59,7 @@ class Addressbook {
$stmt = \OCP\DB::prepare( 'SELECT * FROM `*PREFIX*contacts_addressbooks` WHERE `userid` = ? ' . $active_where . ' ORDER BY `displayname`' );
$result = $stmt->execute($values);
if (\OC_DB::isError($result)) {
\OC_Log::write('contacts', __METHOD__. 'DB error: ' . \OC_DB::getErrorMessage($result), \OC_Log::ERROR);
\OCP\Util::write('contacts', __METHOD__. 'DB error: ' . \OC_DB::getErrorMessage($result), \OCP\Util::ERROR);
return false;
}
} catch(\Exception $e) {

View File

@ -34,7 +34,7 @@ class App {
/**
* Properties to index.
*/
public static $index_properties = array('N', 'FN', 'NICKNAME', 'ORG', 'CATEGORIES', 'EMAIL', 'TEL', 'IMPP', 'ADR', 'URL', 'GEO', 'PHOTO');
public static $index_properties = array('N', 'FN', 'NOTE', 'NICKNAME', 'ORG', 'CATEGORIES', 'EMAIL', 'TEL', 'IMPP', 'ADR', 'URL', 'GEO', 'PHOTO');
const THUMBNAIL_PREFIX = 'contact-thumbnail-';
const THUMBNAIL_SIZE = 28;
@ -278,12 +278,27 @@ class App {
/**
* @brief Get the last modification time.
* @param OC_VObject|Sabre\VObject\Component|integer $contact
* @param OC_VObject|Sabre\VObject\Component|integer|null $contact
* @returns DateTime | null
*/
public static function lastModified($contact) {
if(is_numeric($contact)) {
$card = VCard::find($contact);
public static function lastModified($contact = null) {
if(is_null($contact)) {
// FIXME: This doesn't take shared address books into account.
$sql = 'SELECT MAX(`lastmodified`) FROM `oc_contacts_cards`, `oc_contacts_addressbooks` ' .
'WHERE `oc_contacts_cards`.`addressbookid` = `oc_contacts_addressbooks`.`id` AND ' .
'`oc_contacts_addressbooks`.`userid` = ?';
$stmt = \OCP\DB::prepare($sql);
$result = $stmt->execute(array(\OCP\USER::getUser()));
if (\OC_DB::isError($result)) {
\OC_Log::write('contacts', __METHOD__. 'DB error: ' . \OC_DB::getErrorMessage($result), \OC_Log::ERROR);
return null;
}
$lastModified = $result->fetchOne();
if(!is_null($lastModified)) {
return new \DateTime('@' . $lastModified);
}
} else if(is_numeric($contact)) {
$card = VCard::find($contact, array('lastmodified'));
return ($card ? new \DateTime('@' . $card['lastmodified']) : null);
} elseif($contact instanceof \OC_VObject || $contact instanceof VObject\Component) {
return isset($contact->REV)

View File

@ -46,18 +46,25 @@ class VCard {
/**
* @brief Returns all cards of an address book
* @param integer $id
* @param integer $offset
* @param integer $limit
* @param array $fields An array of the fields to return. Defaults to all.
* @return array|false
*
* The cards are associative arrays. You'll find the original vCard in
* ['carddata']
*/
public static function all($id, $start=null, $num=null) {
public static function all($id, $offset=null, $limit=null, $fields = array()) {
$result = null;
\OCP\Util::writeLog('contacts', __METHOD__.'count fields:' . count($fields), \OCP\Util::DEBUG);
$qfields = count($fields) > 0
? '`' . implode('`,`', $fields) . '`'
: '*';
if(is_array($id) && count($id)) {
$id_sql = join(',', array_fill(0, count($id), '?'));
$sql = 'SELECT * FROM `*PREFIX*contacts_cards` WHERE `addressbookid` IN ('.$id_sql.') ORDER BY `fullname`';
$sql = 'SELECT ' . $qfields . ' FROM `*PREFIX*contacts_cards` WHERE `addressbookid` IN ('.$id_sql.') ORDER BY `fullname`';
try {
$stmt = \OCP\DB::prepare($sql, $num, $start);
$stmt = \OCP\DB::prepare($sql, $limit, $offset);
$result = $stmt->execute($id);
if (\OC_DB::isError($result)) {
\OC_Log::write('contacts', __METHOD__. 'DB error: ' . \OC_DB::getErrorMessage($result), \OCP\Util::ERROR);
@ -71,8 +78,8 @@ class VCard {
}
} elseif(is_int($id) || is_string($id)) {
try {
$sql = 'SELECT * FROM `*PREFIX*contacts_cards` WHERE `addressbookid` = ? ORDER BY `fullname`';
$stmt = \OCP\DB::prepare($sql, $num, $start);
$sql = 'SELECT ' . $qfields . ' FROM `*PREFIX*contacts_cards` WHERE `addressbookid` = ? ORDER BY `fullname`';
$stmt = \OCP\DB::prepare($sql, $limit, $limit);
$result = $stmt->execute(array($id));
if (\OC_DB::isError($result)) {
\OC_Log::write('contacts', __METHOD__. 'DB error: ' . \OC_DB::getErrorMessage($result), \OCP\Util::ERROR);
@ -102,11 +109,15 @@ class VCard {
/**
* @brief Returns a card
* @param integer $id
* @param array $fields An array of the fields to return. Defaults to all.
* @return associative array or false.
*/
public static function find($id) {
public static function find($id, $fields = array() ) {
try {
$stmt = \OCP\DB::prepare( 'SELECT * FROM `*PREFIX*contacts_cards` WHERE `id` = ?' );
$qfields = count($fields) > 0
? '`' . implode('`,`', $fields) . '`'
: '*';
$stmt = \OCP\DB::prepare( 'SELECT ' . $qfields . ' FROM `*PREFIX*contacts_cards` WHERE `id` = ?' );
$result = $stmt->execute(array($id));
if (\OC_DB::isError($result)) {
\OC_Log::write('contacts', __METHOD__. 'DB error: ' . \OC_DB::getErrorMessage($result), \OCP\Util::ERROR);
@ -486,7 +497,7 @@ class VCard {
$fn = isset($card->FN) ? $card->FN : '';
$now = new \DateTime;
$card->{'REV'} = $now->format(\DateTime::W3C);
$card->REV = $now->format(\DateTime::W3C);
$data = $card->serialize();
$stmt = \OCP\DB::prepare( 'UPDATE `*PREFIX*contacts_cards` SET `fullname` = ?,`carddata` = ?, `lastmodified` = ? WHERE `id` = ?' );

View File

@ -23,6 +23,7 @@ function getStandardImage() {
$id = isset($_GET['id']) ? $_GET['id'] : null;
$etag = null;
$caching = null;
$max_size = 170;
if(!$id || $id === 'new') {
getStandardImage();
@ -69,7 +70,6 @@ if (is_null($contact)) {
if($etag) {
OCP\Response::setETagHeader($etag);
}
$max_size = 200;
if ($image->width() > $max_size || $image->height() > $max_size) {
$image->resize($max_size);
}

View File

@ -25,48 +25,32 @@
<div id="contacts-settings">
<ul>
<li><button class="settings" title="<?php echo $l->t('Settings'); ?>"></button></li>
<li><h3 class="share"><?php echo $l->t('Share'); ?></h3>
<li><h3 data-id="addressbooks"><?php echo $l->t('Address books'); ?></h3>
<ul class="hidden">
<?php foreach($_['addressbooks'] as $addressbook) {
if($addressbook['permissions'] & OCP\PERMISSION_SHARE) {
?>
<li value="<?php echo $addressbook['id'] ?>">
<span class="float"><?php echo $addressbook['displayname'] ?></span>
<span><a class="share action" data-item-type="addressbook"
data-item="<?php echo $addressbook['id'] ?>"
data-possible-permissions="<?php echo $addressbook['permissions'] ?>">
</a></span> <!-- To place the share dropdown correctly -->
</li>
<?php }} ?>
</ul>
</li>
<li><h3 class="import" role="button"><?php echo $l->t('Import'); ?></h3>
<li><h3 data-id="import" role="button"><?php echo $l->t('Import'); ?></h3>
<ul class="hidden">
<li>
<input type="file" accept="text/vcard,text/x-vcard,text/directory" multiple="multiple" />
<li class="import-upload">
<form id="import_upload_form" action="<?php echo OCP\Util::linkTo('contacts', 'ajax/uploadimport.php'); ?>" method="post" enctype="multipart/form-data" target="import_upload_target">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $_['uploadMaxFilesize'] ?>" id="max_upload">
<label for="import_fileupload"><?php echo $l->t('Select files to import'); ?>
<button class="import-upload-button" title="<?php echo $l->t('Select files'); ?>"></button>
</label>
<input id="import_fileupload" type="file" accept="text/vcard,text/x-vcard,text/directory" multiple="multiple" name="importfile" />
</form>
<iframe name="import_upload_target" id='import_upload_target' src=""></iframe>
</li>
<li><?php echo $l->t('Import into:'); ?></li>
<li>
<select>
<?php foreach($_['addressbooks'] as $addressbook) {
if($addressbook['permissions'] & OCP\PERMISSION_CREATE) {
?>
<option value="<?php echo $addressbook['id'] ?>"><?php echo $addressbook['displayname'] ?></option>
<?php }} ?>
<li class="import-select hidden"><label><?php echo $l->t('Import into:'); ?></label></li>
<li class="import-select hidden">
<select id="import_into" title="<?php echo $l->t('Import into:'); ?>">
</select>
<button class="doImport"><?php echo $l->t('OK'); ?></button>
</li>
</ul>
</li>
<li><h3 class="export"><?php echo $l->t('Export'); ?></h3>
<ul class="hidden">
<?php foreach($_['addressbooks'] as $addressbook): ?>
<li>
<a role="button" href="<?php echo OCP\Util::linkToAbsolute('contacts', 'export.php'); ?>?bookid=<?php echo $addressbook['id'] ?>">
<?php echo $addressbook['displayname'] ?>
</a>
<label id="import-status-text"></label>
<div id="import-progress"></div>
</li>
<?php endforeach; ?>
</ul>
</li>
</ul>
@ -76,13 +60,12 @@
<input type="checkbox" id="toggle_all" title="<?php echo $l->t('(De-)select all'); ?>" />
<div class="actions">
<button class="addcontact"><?php echo $l->t('New Contact'); ?></button>
<button class="back control" title="<?php echo $l->t('Back'); ?>"><?php echo $l->t('Back'); ?></button>
<button class="download control" title="<?php echo $l->t('Download Contact'); ?>"></button>
<button class="delete control" title="<?php echo $l->t('Delete Contact'); ?>"></button>
<select class="groups control" name="groups">
<option value="-1" disabled="disabled" selected="selected"><?php echo $l->t('Groups'); ?></option>
</select>
<button class="favorite inactive control" title="<?php echo $l->t('Favorite'); ?>"></button>
<button class="delete control" title="<?php echo $l->t('Delete Contact'); ?>"></button>
</div>
</div>
<div id="rightcontent" class="loading">
@ -176,7 +159,7 @@
<script id="groupListItemTemplate" type="text/template">
<h3 class="group" data-type="{type}" data-id="{id}">
{name}
<a class="action delete" title="<?php echo $l->t('Delete group'); ?>"></a>
<a class="action delete tooltipped rightwards" title="<?php echo $l->t('Delete group'); ?>"></a>
<span class="action numcontacts">{num}</span>
</h3>
</script>
@ -184,6 +167,7 @@
<script id="contactFullTemplate" type="text/template">
<form action="<?php echo OCP\Util::linkTo('contacts', 'index.php'); ?>" method="post" enctype="multipart/form-data">
<section id="contact" data-id="{id}">
<span class="arrow"></span>
<ul>
<li>
<div id="photowrapper" class="propertycontainer" data-element="photo">
@ -193,20 +177,27 @@
<li><a class="svg upload" title="<?php echo $l->t('Upload new photo'); ?>"></a></li>
<li><a class="svg cloud" title="<?php echo $l->t('Select photo from ownCloud'); ?>"></a></li>
</ul>
<a class="favorite action {favorite}"></a>
</div>
<div class="singleproperties">
<input data-element="fn" class="fullname value propertycontainer" type="text" name="value" value="{name}" required />
<a class="action edit"></a>
<fieldset class="n hidden edit ui-widget-content propertycontainer" data-element="n">
<fieldset class="n hidden editor propertycontainer" data-element="n">
<ul>
<li>
<input class="value" type="text" id="n_1" name="value[1]" value="{n1}" placeholder="<?php echo $l->t('First name'); ?>" title="<?php echo $l->t('First name'); ?>" />
<input class="value tooltipped rightwards onfocus" type="text" id="n_1" name="value[1]" value="{n1}"
placeholder="<?php echo $l->t('First name'); ?>"
title="<?php echo $l->t('First name'); ?>" />
</li>
<li>
<input class="value" type="text" id="n_2" name="value[2]" value="{n2}" placeholder="<?php echo $l->t('Additional names'); ?>" title="<?php echo $l->t('Additional names'); ?>" />
<input class="value tooltipped rightwards onfocus" type="text" id="n_2" name="value[2]" value="{n2}"
placeholder="<?php echo $l->t('Additional names'); ?>"
title="<?php echo $l->t('Additional names'); ?>" />
</li>
<li>
<input class="value" type="text" id="n_0" name="value[0]" value="{n0}" placeholder="<?php echo $l->t('Last name'); ?>" title="<?php echo $l->t('Last name'); ?>" />
<input class="value tooltipped rightwards onfocus" type="text" id="n_0" name="value[0]" value="{n0}"
placeholder="<?php echo $l->t('Last name'); ?>"
title="<?php echo $l->t('Last name'); ?>" />
</li>
</ul>
<input class="value" type="hidden" id="n_3" name="value[3]" value="{n3}" />
@ -217,28 +208,28 @@
<?php echo $l->t('Nickname'); ?>
</dt>
<dd data-element="nickname" class="propertycontainer">
<input class="value" type="text" name="value" value="{nickname}" required />
<input class="value tooltipped rightwards onfocus" type="text" name="value" value="{nickname}" title="<?php echo $l->t('Enter nickname'); ?>" required />
<a role="button" class="action delete" title="<?php echo $l->t('Delete'); ?>"></a>
</dd>
<dt data-element="title">
<?php echo $l->t('Title'); ?>
</dt>
<dd data-element="title" class="propertycontainer">
<input class="value" type="text" name="value" value="{title}" required />
<input class="value tooltipped rightwards onfocus" type="text" name="value" value="{title}" title="<?php echo $l->t('Enter title'); ?>" required />
<a role="button" class="action delete" title="<?php echo $l->t('Delete'); ?>"></a>
</dd>
<dt data-element="org">
<?php echo $l->t('Organization'); ?>
</dt>
<dd data-element="org" class="propertycontainer">
<input class="value" type="text" name="value" value="{org}" required />
<input class="value tooltipped rightwards onfocus" type="text" name="value" value="{org}" title="<?php echo $l->t('Enter organization'); ?>" required />
<a role="button" class="action delete" title="<?php echo $l->t('Delete'); ?>"></a>
</dd>
<dt data-element="bday">
<?php echo $l->t('Birthday'); ?>
</dt>
<dd data-element="bday" class="propertycontainer">
<input class="value" type="text" name="value" value="{bday}" required />
<input class="value tooltipped rightwards onfocus" type="text" name="value" value="{bday}" required />
<a role="button" class="action delete" title="<?php echo $l->t('Delete'); ?>"></a>
</dd>
</dl>
@ -265,13 +256,14 @@
</ul>
</li>
<li>
<section class="note" data-element="note">
<textarea class="value" placeholder="<?php echo $l->t('Notes go here...'); ?>"></textarea>
<section class="note propertycontainer" data-element="note">
<textarea class="value" placeholder="<?php echo $l->t('Notes go here...'); ?>">{note}</textarea>
</section>
</li>
</ul>
</section>
<footer>
<button class="close float tooltipped downwards" title="<?php echo $l->t('Close'); ?>"><?php echo $l->t('Close'); ?></button>
<button class="export float tooltipped downwards" title="<?php echo $l->t('Export as VCF'); ?>"><?php echo $l->t('Download'); ?></button>
<select id="addproperty">
<option value=""><?php echo $l->t('Add'); ?></option>
<option value="ORG"><?php echo $l->t('Organization'); ?></option>
@ -285,79 +277,97 @@
<option value="URL"><?php echo $l->t('Web site'); ?></option>
<option value="CATEGORIES"><?php echo $l->t('Groups'); ?></option>
</select>
<button class="deletecontact float right tooltipped downwards" title="<?php echo $l->t('Delete contact'); ?>"><?php echo $l->t('Delete'); ?></button>
</footer>
</section>
</form>
</script>
<script id="contactDetailsTemplate" class="hidden" type="text/template">
<div class="email">
<li data-element="email" data-checksum="{checksum}" class="propertycontainer">
<span class="parameters">
<select class="rtl type parameter" data-parameter="TYPE" name="parameters[TYPE][]">
<?php echo OCP\html_select_options($_['email_types'], array()) ?>
</select>
<input type="checkbox" class="parameter tip" data-parameter="TYPE" name="parameters[TYPE][]" value="PREF" title="<?php echo $l->t('Preferred'); ?>" />
<input type="checkbox" class="parameter tooltipped rightwards" data-parameter="TYPE" name="parameters[TYPE][]" value="PREF" title="<?php echo $l->t('Preferred'); ?>" />
</span>
<input type="email" class="nonempty value" name="value" value="{value}" x-moz-errormessage="<?php echo $l->t('Please specify a valid email address.'); ?>" placeholder="<?php echo $l->t('someone@example.com'); ?>" required />
<span class="listactions">
<a class="action mail" title="<?php echo $l->t('Mail to address'); ?>"></a>
<a role="button" class="action delete" title="<?php echo $l->t('Delete email address'); ?>"></a>
<a class="action mail tooltipped leftwards" title="<?php echo $l->t('Mail to address'); ?>"></a>
<a role="button" class="action delete tooltipped leftwards" title="<?php echo $l->t('Delete email address'); ?>"></a>
</span>
</li>
</div>
<div class="tel">
<li data-element="tel" data-checksum="{checksum}" class="propertycontainer">
<span class="parameters">
<select class="rtl type parameter" data-parameter="TYPE" name="parameters[TYPE][]">
<?php echo OCP\html_select_options($_['phone_types'], array()) ?>
</select>
<input type="checkbox" class="parameter tip" data-parameter="TYPE" name="parameters[TYPE][]" value="PREF" title="<?php echo $l->t('Preferred'); ?>" />
<input type="checkbox" class="parameter tooltipped rightwards" data-parameter="TYPE" name="parameters[TYPE][]" value="PREF" title="<?php echo $l->t('Preferred'); ?>" />
</span>
<input type="tel" class="nonempty value" name="value" value="{value}" placeholder="<?php echo $l->t('Enter phone number'); ?>" required />
<span class="listactions">
<a role="button" class="action delete" title="<?php echo $l->t('Delete phone number'); ?>"></a>
<a role="button" class="action delete tooltipped leftwards" title="<?php echo $l->t('Delete phone number'); ?>"></a>
</span>
</li>
</div>
<div class="url">
<li data-element="url" data-checksum="{checksum}" class="propertycontainer">
<span class="parameters">
<select class="rtl type parameter" data-parameter="TYPE" name="parameters[TYPE][]">
<?php echo OCP\html_select_options($_['email_types'], array()) ?>
</select>
<input type="checkbox" class="parameter tip" data-parameter="TYPE" name="parameters[TYPE][]" value="PREF" title="<?php echo $l->t('Preferred'); ?>" />
<input type="checkbox" class="parameter tooltipped rightwards" data-parameter="TYPE" name="parameters[TYPE][]" value="PREF" title="<?php echo $l->t('Preferred'); ?>" />
</span>
<input type="url" class="nonempty value" name="value" value="{value}" placeholder="http://www.example.com/" required />
<span class="listactions">
<a role="button" class="action globe" title="<?php echo $l->t('Go to web site'); ?>">
<a role="button" class="action delete" title="<?php echo $l->t('Delete URL'); ?>"></a>
<a role="button" class="action globe tooltipped leftwards" title="<?php echo $l->t('Go to web site'); ?>">
<a role="button" class="action delete tooltipped leftwards" title="<?php echo $l->t('Delete URL'); ?>"></a>
</span>
</li>
</div>
<div class="adr">
<li data-element="adr" data-checksum="{checksum}" class="propertycontainer">
<span class="float display">
<label class="meta"></label>
<label class="meta parameters"></label>
<span class="adr">{value}</span>
</span>
<span class="listactions">
<a class="action globe" title="<?php echo $l->t('View on map'); ?>"></a>
<a class="action delete" title="<?php echo $l->t('Delete address'); ?>"></a>
<a class="action globe tooltipped leftwards" title="<?php echo $l->t('View on map'); ?>"></a>
<a class="action delete tooltipped leftwards" title="<?php echo $l->t('Delete address'); ?>"></a>
</span>
<fieldset class="adr hidden edit ui-widget-content">
<fieldset class="adr hidden editor">
<ul>
<li>
<select class="rtl type parameter" data-parameter="TYPE" name="parameters[TYPE][]">
<?php echo OCP\html_select_options($_['adr_types'], array()) ?>
</select>
<input type="checkbox" id=="adr_pref_{idx}" class="parameter tip" data-parameter="TYPE" name="parameters[TYPE][]" value="PREF" title="<?php echo $l->t('Preferred'); ?>" /><label for="adr_pref_{idx}"><?php echo $l->t('Preferred'); ?></label>
<input type="checkbox" id="adr_pref_{idx}" class="parameter tooltipped downwards" data-parameter="TYPE" name="parameters[TYPE][]" value="PREF" title="<?php echo $l->t('Preferred'); ?>" /><label for="adr_pref_{idx}"><?php echo $l->t('Preferred'); ?></label>
</li>
<li>
<input class="value stradr" type="text" id="adr_2" name="value[2]" value="{adr2}" placeholder="<?php echo $l->t('1 Main Street'); ?>" />
<input class="value stradr tooltipped rightwards onfocus" type="text" id="adr_2" name="value[2]" value="{adr2}"
placeholder="<?php echo $l->t('1 Main Street'); ?>"
title="<?php echo $l->t('Street address'); ?>" />
</li>
<li>
<input class="value zip" type="text" id="adr_5" name="value[5]" value="{adr5}" placeholder="<?php echo $l->t('12345'); ?>" />
<input class="value city" type="text" id="adr_3" name="value[3]" value="{adr3}" placeholder="<?php echo $l->t('Your city'); ?>" />
<input class="value zip tooltipped rightwards onfocus" type="text" id="adr_5" name="value[5]" value="{adr5}"
placeholder="<?php echo $l->t('12345'); ?>"
title="<?php echo $l->t('Postal code'); ?>" />
<input class="value city tooltipped rightwards onfocus" type="text" id="adr_3" name="value[3]" value="{adr3}"
placeholder="<?php echo $l->t('Your city'); ?>"
title="<?php echo $l->t('City'); ?>" />
</li>
<li>
<input class="value region" type="text" id="adr_4" name="value[4]" value="{adr4}" placeholder="<?php echo $l->t('Some region'); ?>" />
<input class="value region tooltipped rightwards onfocus" type="text" id="adr_4" name="value[4]" value="{adr4}"
placeholder="<?php echo $l->t('Some region'); ?>"
title="<?php echo $l->t('State or province'); ?>" />
</li>
<li>
<input class="value country" type="text" id="adr_6" name="value[6]" value="{adr6}" placeholder="<?php echo $l->t('Your country'); ?>" />
<input class="value country tooltipped rightwards onfocus" type="text" id="adr_6" name="value[6]" value="{adr6}"
placeholder="<?php echo $l->t('Your country'); ?>"
title="<?php echo $l->t('Country'); ?>" />
</li>
</ul>
<input class="value pobox" type="hidden" id="adr_0" name="value[0]" value="{adr0}" />
@ -367,20 +377,33 @@
</div>
<div class="impp">
<li data-element="impp" data-checksum="{checksum}" class="propertycontainer">
<span class="parameters">
<select class="type parameter" data-parameter="TYPE" name="parameters[TYPE][]">
<?php echo OCP\html_select_options($_['impp_types'], array()) ?>
</select>
<input type="checkbox" class="parameter impp tip" name="parameters[TYPE][]" value="PREF" title="<?php echo $l->t('Preferred'); ?>" />
<input type="checkbox" class="parameter impp tooltipped downwards" name="parameters[TYPE][]" value="PREF" title="<?php echo $l->t('Preferred'); ?>" />
<div class="select_wrapper">
<select class="rtl parameter label impp" data-parameter="X-SERVICE-TYPE" name="parameters[X-SERVICE-TYPE]">
<?php echo OCP\html_select_options($_['im_protocols'], array()) ?>
</select>
</div>
</span>
<input type="text" class="nonempty value" name="value" value="{value}"
placeholder="<?php echo $l->t('Instant Messenger'); ?>" required />
<span class="listactions">
<a role="button" class="action delete" title="<?php echo $l->t('Delete IM'); ?>"></a>
<a role="button" class="action delete tooltipped leftwards" title="<?php echo $l->t('Delete IM'); ?>"></a>
</span>
</li>
</div>
</script>
<script id="addressbookTemplate" class="hidden" type="text/template">
<li data-id="{id}">
<label class="float">{displayname}</label>
<span class="actions">
<a title="<?php echo $l->t('Share'); ?>" class="share action" data-possible-permissions="{permissions}" data-item="{id}" data-item-type="addressbook"></a>
<a title="<?php echo $l->t('Export'); ?>" class="download action" href="<?php echo OCP\Util::linkTo('contacts', 'export.php'); ?>?bookid=' + {id}"></a>
<a title="<?php echo $l->t('CardDAV link'); ?>" class="globe action"></a>
<a title="<?php echo $l->t('Delete'); ?>" class="delete action"></a>
</span></li>
</script>