Merge to 2.3.23

This commit is contained in:
Francis Lachapelle
2017-10-18 11:13:31 -04:00
225 changed files with 5576 additions and 1594 deletions
+11
View File
@@ -36,6 +36,7 @@ trans.sr = UI/MailerUI/Serbian.lproj/Localizable.strings
trans.sv = UI/MailerUI/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/MailerUI/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/MailerUI/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/MailerUI/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/MailerUI/ChineseTaiwan.lproj/Localizable.strings
[sogo.ui-preferencesui]
@@ -73,6 +74,7 @@ trans.sr = UI/PreferencesUI/Serbian.lproj/Localizable.strings
trans.sv = UI/PreferencesUI/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/PreferencesUI/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/PreferencesUI/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/PreferencesUI/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/PreferencesUI/ChineseTaiwan.lproj/Localizable.strings
[sogo.ui-scheduler]
@@ -110,6 +112,7 @@ trans.sr = UI/Scheduler/Serbian.lproj/Localizable.strings
trans.sv = UI/Scheduler/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/Scheduler/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/Scheduler/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/Scheduler/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/Scheduler/ChineseTaiwan.lproj/Localizable.strings
[sogo.ui-contacts]
@@ -147,6 +150,7 @@ trans.sr = UI/Contacts/Serbian.lproj/Localizable.strings
trans.sv = UI/Contacts/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/Contacts/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/Contacts/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/Contacts/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/Contacts/ChineseTaiwan.lproj/Localizable.strings
[sogo.ui-mainui]
@@ -184,6 +188,7 @@ trans.sr = UI/MainUI/Serbian.lproj/Localizable.strings
trans.sv = UI/MainUI/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/MainUI/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/MainUI/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/MainUI/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/MainUI/ChineseTaiwan.lproj/Localizable.strings
[sogo.ui-common]
@@ -221,6 +226,7 @@ trans.sr = UI/Common/Serbian.lproj/Localizable.strings
trans.sv = UI/Common/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/Common/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/Common/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/Common/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/Common/ChineseTaiwan.lproj/Localizable.strings
[sogo.ui-administrationui]
@@ -258,6 +264,7 @@ trans.sr = UI/AdministrationUI/Serbian.lproj/Localizable.strings
trans.sv = UI/AdministrationUI/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/AdministrationUI/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/AdministrationUI/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/AdministrationUI/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/AdministrationUI/ChineseTaiwan.lproj/Localizable.strings
[sogo.soobjects-appointments]
@@ -295,6 +302,7 @@ trans.sr = SoObjects/Appointments/Serbian.lproj/Localizable.strings
trans.sv = SoObjects/Appointments/Swedish.lproj/Localizable.strings
trans.tr_TR = SoObjects/Appointments/TurkishTurkey.lproj/Localizable.strings
trans.uk = SoObjects/Appointments/Ukrainian.lproj/Localizable.strings
trans.zh_CN = SoObjects/Appointments/ChineseChina.lproj/Localizable.strings
trans.zh_TW = SoObjects/Appointments/ChineseTaiwan.lproj/Localizable.strings
[sogo.soobjects-contacts]
@@ -332,6 +340,7 @@ trans.sr = SoObjects/Contacts/Serbian.lproj/Localizable.strings
trans.sv = SoObjects/Contacts/Swedish.lproj/Localizable.strings
trans.tr_TR = SoObjects/Contacts/TurkishTurkey.lproj/Localizable.strings
trans.uk = SoObjects/Contacts/Ukrainian.lproj/Localizable.strings
trans.zh_CN = SoObjects/Contacts/ChineseChina.lproj/Localizable.strings
trans.zh_TW = SoObjects/Contacts/ChineseTaiwan.lproj/Localizable.strings
[sogo.soobjects-mailer]
@@ -369,6 +378,7 @@ trans.sr = SoObjects/Mailer/Serbian.lproj/Localizable.strings
trans.sv = SoObjects/Mailer/Swedish.lproj/Localizable.strings
trans.tr_TR = SoObjects/Mailer/TurkishTurkey.lproj/Localizable.strings
trans.uk = SoObjects/Mailer/Ukrainian.lproj/Localizable.strings
trans.zh_CN = SoObjects/Mailer/ChineseChina.lproj/Localizable.strings
trans.zh_TW = SoObjects/Mailer/ChineseTaiwan.lproj/Localizable.strings
[sogo.ui-mailpartviewers]
@@ -406,4 +416,5 @@ trans.sr = UI/MailPartViewers/Serbian.lproj/Localizable.strings
trans.sv = UI/MailPartViewers/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/MailPartViewers/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/MailPartViewers/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/MailPartViewers/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/MailPartViewers/ChineseTaiwan.lproj/Localizable.strings
+1 -1
View File
@@ -2592,7 +2592,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
{
int t;
[self logWithFormat: @"Sleeping %d seconds while detecting changes in Sync...", internalInterval-total_sleep];
[self logWithFormat: @"Sleeping %d seconds while detecting changes for user %@ in Sync...", internalInterval-total_sleep, [[context activeUser] login]];
for (t = 0; t < sleepInterval; t++)
{
+1 -1
View File
@@ -2465,7 +2465,7 @@ void handle_eas_terminate(int signum)
{
int t;
[self logWithFormat: @"Sleeping %d seconds while detecting changes in Ping...", internalInterval-total_sleep];
[self logWithFormat: @"Sleeping %d seconds while detecting changes for user %@ in Ping...", internalInterval-total_sleep, [[context activeUser] login]];
for (t = 0; t < sleepInterval; t++)
{
+440
View File
@@ -1,3 +1,443 @@
commit d278fc99250410de6278afd40e41538a13ec3c1a
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Wed Oct 18 11:11:05 2017 -0400
Preparation for release 2.3.23
M Documentation/docinfo.xml
M Documentation/includes/global-attributes.asciidoc
M NEWS
M Version
commit 5aa36a6d28ca1cf5194dbb84575e5270f7800875
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Wed Oct 18 11:07:42 2017 -0400
(i18n) Update translations
M SoObjects/Appointments/Croatian.lproj/Localizable.strings
M SoObjects/Appointments/Czech.lproj/Localizable.strings
M SoObjects/Appointments/Slovak.lproj/Localizable.strings
M SoObjects/Appointments/SpanishSpain.lproj/Localizable.strings
M SoObjects/Appointments/TurkishTurkey.lproj/Localizable.strings
M SoObjects/Contacts/Croatian.lproj/Localizable.strings
M UI/AdministrationUI/Croatian.lproj/Localizable.strings
M UI/AdministrationUI/Czech.lproj/Localizable.strings
M UI/AdministrationUI/Slovak.lproj/Localizable.strings
M UI/AdministrationUI/TurkishTurkey.lproj/Localizable.strings
M UI/Common/Croatian.lproj/Localizable.strings
M UI/Common/Czech.lproj/Localizable.strings
M UI/Common/English.lproj/Localizable.strings
M UI/Common/French.lproj/Localizable.strings
M UI/Common/German.lproj/Localizable.strings
M UI/Common/Latvian.lproj/Localizable.strings
M UI/Common/Polish.lproj/Localizable.strings
M UI/Common/Russian.lproj/Localizable.strings
M UI/Common/Slovak.lproj/Localizable.strings
M UI/Common/SpanishSpain.lproj/Localizable.strings
M UI/Common/TurkishTurkey.lproj/Localizable.strings
M UI/Contacts/Croatian.lproj/Localizable.strings
M UI/Contacts/Czech.lproj/Localizable.strings
M UI/Contacts/English.lproj/Localizable.strings
M UI/Contacts/German.lproj/Localizable.strings
M UI/Contacts/Latvian.lproj/Localizable.strings
M UI/Contacts/Polish.lproj/Localizable.strings
M UI/Contacts/Russian.lproj/Localizable.strings
M UI/Contacts/Slovak.lproj/Localizable.strings
M UI/Contacts/SpanishSpain.lproj/Localizable.strings
M UI/Contacts/TurkishTurkey.lproj/Localizable.strings
M UI/MailPartViewers/Croatian.lproj/Localizable.strings
M UI/MailPartViewers/Czech.lproj/Localizable.strings
M UI/MailPartViewers/Slovak.lproj/Localizable.strings
M UI/MailPartViewers/TurkishTurkey.lproj/Localizable.strings
M UI/MailerUI/Croatian.lproj/Localizable.strings
M UI/MailerUI/Czech.lproj/Localizable.strings
M UI/MailerUI/English.lproj/Localizable.strings
M UI/MailerUI/Slovak.lproj/Localizable.strings
M UI/MailerUI/SpanishSpain.lproj/Localizable.strings
M UI/MailerUI/TurkishTurkey.lproj/Localizable.strings
M UI/MainUI/Croatian.lproj/Localizable.strings
M UI/MainUI/English.lproj/Localizable.strings
M UI/PreferencesUI/Croatian.lproj/Localizable.strings
M UI/PreferencesUI/English.lproj/Localizable.strings
M UI/Scheduler/Croatian.lproj/Localizable.strings
M UI/Scheduler/Czech.lproj/Localizable.strings
M UI/Scheduler/French.lproj/Localizable.strings
M UI/Scheduler/German.lproj/Localizable.strings
M UI/Scheduler/Latvian.lproj/Localizable.strings
M UI/Scheduler/Polish.lproj/Localizable.strings
M UI/Scheduler/Russian.lproj/Localizable.strings
M UI/Scheduler/Slovak.lproj/Localizable.strings
M UI/Scheduler/SpanishSpain.lproj/Localizable.strings
M UI/Scheduler/TurkishTurkey.lproj/Localizable.strings
commit ececdda8ceaf1aa4ac9cd5e727e36453861b7792
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Wed Oct 18 10:37:05 2017 -0400
(js) Update CKEditor to version 4.7.3
M NEWS
M UI/WebServerResources/ckeditor/build-config.js
M UI/WebServerResources/ckeditor/ckeditor.js
M UI/WebServerResources/ckeditor/config.js
M UI/WebServerResources/ckeditor/lang/ar.js
M UI/WebServerResources/ckeditor/lang/ca.js
M UI/WebServerResources/ckeditor/lang/cs.js
M UI/WebServerResources/ckeditor/lang/cy.js
M UI/WebServerResources/ckeditor/lang/da.js
M UI/WebServerResources/ckeditor/lang/de.js
M UI/WebServerResources/ckeditor/lang/en.js
M UI/WebServerResources/ckeditor/lang/es.js
M UI/WebServerResources/ckeditor/lang/eu.js
M UI/WebServerResources/ckeditor/lang/fi.js
M UI/WebServerResources/ckeditor/lang/fr.js
M UI/WebServerResources/ckeditor/lang/he.js
M UI/WebServerResources/ckeditor/lang/hr.js
M UI/WebServerResources/ckeditor/lang/hu.js
M UI/WebServerResources/ckeditor/lang/is.js
M UI/WebServerResources/ckeditor/lang/it.js
M UI/WebServerResources/ckeditor/lang/lt.js
M UI/WebServerResources/ckeditor/lang/lv.js
M UI/WebServerResources/ckeditor/lang/mk.js
M UI/WebServerResources/ckeditor/lang/nb.js
M UI/WebServerResources/ckeditor/lang/nl.js
M UI/WebServerResources/ckeditor/lang/no.js
M UI/WebServerResources/ckeditor/lang/pl.js
M UI/WebServerResources/ckeditor/lang/pt-br.js
M UI/WebServerResources/ckeditor/lang/pt.js
M UI/WebServerResources/ckeditor/lang/ru.js
M UI/WebServerResources/ckeditor/lang/sk.js
M UI/WebServerResources/ckeditor/lang/sl.js
M UI/WebServerResources/ckeditor/lang/sr.js
M UI/WebServerResources/ckeditor/lang/sv.js
M UI/WebServerResources/ckeditor/lang/tr.js
M UI/WebServerResources/ckeditor/lang/uk.js
M UI/WebServerResources/ckeditor/lang/zh-cn.js
M UI/WebServerResources/ckeditor/lang/zh.js
M UI/WebServerResources/ckeditor/plugins/pastefromword/filter/default.js
M UI/WebServerResources/ckeditor/plugins/scayt/dialogs/options.js
M UI/WebServerResources/ckeditor/plugins/wsc/dialogs/wsc.js
M UI/WebServerResources/ckeditor/skins/minimalist/editor.css
M UI/WebServerResources/ckeditor/skins/minimalist/editor_gecko.css
M UI/WebServerResources/ckeditor/skins/minimalist/editor_ie.css
M UI/WebServerResources/ckeditor/skins/minimalist/editor_ie7.css
M UI/WebServerResources/ckeditor/skins/minimalist/editor_ie8.css
M UI/WebServerResources/ckeditor/skins/minimalist/editor_iequirks.css
M UI/WebServerResources/ckeditor/styles.js
commit fe80f1e7296b694a8f98b1d5920320c44175144a
Author: Ludovic Marcotte <lmarcotte@inverse.ca>
Date: Wed Oct 18 09:38:08 2017 -0400
Updated NEWS
M NEWS
commit 5cd3a8f245fab623a2eacff606f8936ef83d1302
Author: Ludovic Marcotte <lmarcotte@inverse.ca>
Date: Wed Oct 18 09:33:44 2017 -0400
(fix) generalized HTML sanitization to avoid encoding issues when replying/forwarding mails
M SoObjects/Mailer/NSData+Mail.h
M SoObjects/Mailer/NSData+Mail.m
M SoObjects/Mailer/SOGoMailObject+Draft.m
M UI/MailPartViewers/UIxMailPartHTMLViewer.m
commit a2f84f1358a42b9ae48c985a2605ed78a3e7e30c
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Thu Oct 12 10:19:01 2017 -0400
Fix yearly recurrences calculator with until date
M NEWS
M SOPE/NGCards/iCalYearlyRecurrenceCalculator.m
commit 388298493fbeb7e23cf2f34528c44db3158b1dfa
Author: Ludovic Marcotte <lmarcotte@inverse.ca>
Date: Tue Oct 3 09:16:12 2017 -0400
Updated NEWS
M NEWS
commit 1085e55f825653230f1a5d5ba812bbd0fa6a826c
Author: Ludovic Marcotte <lmarcotte@inverse.ca>
Date: Tue Oct 3 09:13:56 2017 -0400
(fix) properly extract IMAP folder name (fixes #4275)
M SoObjects/Mailer/SOGoMailAccount.m
commit 5ca9a90a65a0f4ae3f4fcf87685449336145d147
Author: Ludovic Marcotte <lmarcotte@inverse.ca>
Date: Fri Sep 22 10:36:01 2017 -0400
(fix) fixed previous commit
M ActiveSync/SOGoActiveSyncDispatcher+Sync.m
M ActiveSync/SOGoActiveSyncDispatcher.m
commit f5a28ca3255937c140fb902ce12ac3e04549852c
Author: Ludovic Marcotte <lmarcotte@inverse.ca>
Date: Thu Sep 21 14:00:28 2017 -0400
(feat) more verbose output
M ActiveSync/SOGoActiveSyncDispatcher+Sync.m
M ActiveSync/SOGoActiveSyncDispatcher.m
commit c43411ae1e71ec9e9d9b8c1de41d4ad69ff27ec1
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Tue Sep 12 05:39:47 2017 -0400
Typo
Fixes #4284
M Tools/SOGoToolManageACL.m
commit 71574221250dcc7d6c3d17ea0037cad71b4f9312
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Wed Sep 6 09:02:59 2017 -0400
Add Latvian (lv) translation (cont'd)
A UI/Templates/SOGoACLLatvianAdditionAdvisory.wox
A UI/Templates/SOGoACLLatvianModificationAdvisory.wox
A UI/Templates/SOGoACLLatvianRemovalAdvisory.wox
A UI/Templates/SOGoFolderLatvianAdditionAdvisory.wox
A UI/Templates/SOGoFolderLatvianRemovalAdvisory.wox
commit 2249562caa6777571a17210976551f357c03ee50
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Wed Sep 6 09:01:23 2017 -0400
Add Simplified Chinese translation (cont'd)
A SoObjects/Mailer/SOGoMailChineseChinaForward.wo/SOGoMailChineseChinaForward.html
A SoObjects/Mailer/SOGoMailChineseChinaForward.wo/SOGoMailChineseChinaForward.wod
A SoObjects/Mailer/SOGoMailChineseChinaReply.wo/SOGoMailChineseChinaReply.html
A SoObjects/Mailer/SOGoMailChineseChinaReply.wo/SOGoMailChineseChinaReply.wod
A UI/Templates/SOGoACLChineseChinaAdditionAdvisory.wox
A UI/Templates/SOGoACLChineseChinaModificationAdvisory.wox
A UI/Templates/SOGoACLChineseChinaRemovalAdvisory.wox
A UI/Templates/SOGoFolderChineseChinaAdditionAdvisory.wox
A UI/Templates/SOGoFolderChineseChinaRemovalAdvisory.wox
commit fed96dee4274689f0f346ee8e936e1ccaea631d3
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Tue Sep 5 13:52:52 2017 -0400
Update Welsh translation
M UI/MainUI/Welsh.lproj/Locale
M UI/Scheduler/Welsh.lproj/Localizable.strings
commit 51ebf737dba110811693cc01bed4ec434e86269c
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Tue Sep 5 13:35:43 2017 -0400
Update README for new ChineseChina translation
M NEWS
commit e80f5b6beb7e552770365b66c29954f792fadee5
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Tue Sep 5 13:34:29 2017 -0400
Add Simplified Chinese (zh_CN) translation
M .tx/config
A SoObjects/Appointments/ChineseChina.lproj/Localizable.strings
A SoObjects/Contacts/ChineseChina.lproj/Localizable.strings
A SoObjects/Mailer/ChineseChina.lproj/Localizable.strings
M SoObjects/Mailer/GNUmakefile
M SoObjects/Mailer/SOGoMailForward.h
M SoObjects/Mailer/SOGoMailForward.m
M SoObjects/Mailer/SOGoMailReply.h
M SoObjects/Mailer/SOGoMailReply.m
M SoObjects/SOGo/SOGoDefaults.plist
M Tests/Integration/preferences.py
A UI/AdministrationUI/ChineseChina.lproj/Localizable.strings
A UI/Common/ChineseChina.lproj/Localizable.strings
A UI/Contacts/ChineseChina.lproj/Localizable.strings
A UI/MailPartViewers/ChineseChina.lproj/Localizable.strings
A UI/MailerUI/ChineseChina.lproj/Localizable.strings
M UI/MainUI/Arabic.lproj/Localizable.strings
M UI/MainUI/Basque.lproj/Localizable.strings
M UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings
M UI/MainUI/Catalan.lproj/Localizable.strings
A UI/MainUI/ChineseChina.lproj/Locale
A UI/MainUI/ChineseChina.lproj/Localizable.strings
M UI/MainUI/ChineseTaiwan.lproj/Locale
M UI/MainUI/ChineseTaiwan.lproj/Localizable.strings
M UI/MainUI/Croatian.lproj/Localizable.strings
M UI/MainUI/Czech.lproj/Localizable.strings
M UI/MainUI/Danish.lproj/Localizable.strings
M UI/MainUI/Dutch.lproj/Localizable.strings
M UI/MainUI/English.lproj/Localizable.strings
M UI/MainUI/Finnish.lproj/Localizable.strings
M UI/MainUI/French.lproj/Localizable.strings
M UI/MainUI/German.lproj/Localizable.strings
M UI/MainUI/Hebrew.lproj/Localizable.strings
M UI/MainUI/Hungarian.lproj/Localizable.strings
M UI/MainUI/Icelandic.lproj/Localizable.strings
M UI/MainUI/Italian.lproj/Localizable.strings
M UI/MainUI/Latvian.lproj/Localizable.strings
M UI/MainUI/Lithuanian.lproj/Localizable.strings
M UI/MainUI/Macedonian.lproj/Localizable.strings
M UI/MainUI/NorwegianBokmal.lproj/Localizable.strings
M UI/MainUI/NorwegianNynorsk.lproj/Localizable.strings
M UI/MainUI/Polish.lproj/Localizable.strings
M UI/MainUI/Portuguese.lproj/Localizable.strings
M UI/MainUI/Russian.lproj/Localizable.strings
M UI/MainUI/Serbian.lproj/Localizable.strings
M UI/MainUI/Slovak.lproj/Localizable.strings
M UI/MainUI/Slovenian.lproj/Localizable.strings
M UI/MainUI/SpanishArgentina.lproj/Localizable.strings
M UI/MainUI/SpanishSpain.lproj/Localizable.strings
M UI/MainUI/Swedish.lproj/Localizable.strings
M UI/MainUI/TurkishTurkey.lproj/Localizable.strings
M UI/MainUI/Ukrainian.lproj/Localizable.strings
M UI/MainUI/Welsh.lproj/Localizable.strings
M UI/PreferencesUI/Arabic.lproj/Localizable.strings
M UI/PreferencesUI/Basque.lproj/Localizable.strings
M UI/PreferencesUI/BrazilianPortuguese.lproj/Localizable.strings
M UI/PreferencesUI/Catalan.lproj/Localizable.strings
A UI/PreferencesUI/ChineseChina.lproj/Localizable.strings
M UI/PreferencesUI/ChineseTaiwan.lproj/Localizable.strings
M UI/PreferencesUI/Croatian.lproj/Localizable.strings
M UI/PreferencesUI/Czech.lproj/Localizable.strings
M UI/PreferencesUI/Danish.lproj/Localizable.strings
M UI/PreferencesUI/Dutch.lproj/Localizable.strings
M UI/PreferencesUI/English.lproj/Localizable.strings
M UI/PreferencesUI/Finnish.lproj/Localizable.strings
M UI/PreferencesUI/French.lproj/Localizable.strings
M UI/PreferencesUI/German.lproj/Localizable.strings
M UI/PreferencesUI/Hebrew.lproj/Localizable.strings
M UI/PreferencesUI/Hungarian.lproj/Localizable.strings
M UI/PreferencesUI/Icelandic.lproj/Localizable.strings
M UI/PreferencesUI/Italian.lproj/Localizable.strings
M UI/PreferencesUI/Latvian.lproj/Localizable.strings
M UI/PreferencesUI/Lithuanian.lproj/Localizable.strings
M UI/PreferencesUI/Macedonian.lproj/Localizable.strings
M UI/PreferencesUI/NorwegianBokmal.lproj/Localizable.strings
M UI/PreferencesUI/NorwegianNynorsk.lproj/Localizable.strings
M UI/PreferencesUI/Polish.lproj/Localizable.strings
M UI/PreferencesUI/Portuguese.lproj/Localizable.strings
M UI/PreferencesUI/Russian.lproj/Localizable.strings
M UI/PreferencesUI/Serbian.lproj/Localizable.strings
M UI/PreferencesUI/Slovak.lproj/Localizable.strings
M UI/PreferencesUI/Slovenian.lproj/Localizable.strings
M UI/PreferencesUI/SpanishArgentina.lproj/Localizable.strings
M UI/PreferencesUI/SpanishSpain.lproj/Localizable.strings
M UI/PreferencesUI/Swedish.lproj/Localizable.strings
M UI/PreferencesUI/TurkishTurkey.lproj/Localizable.strings
M UI/PreferencesUI/Ukrainian.lproj/Localizable.strings
M UI/PreferencesUI/Welsh.lproj/Localizable.strings
A UI/Scheduler/ChineseChina.lproj/Localizable.strings
M UI/Scheduler/English.lproj/Localizable.strings
M configure
commit e62fd3665350d9186ea7366755a458aaea958e11
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Tue Aug 29 15:09:53 2017 -0400
(js) Add @ prefix to group id prior to removal
This fixes the issue of deleting an unknown group.
M UI/WebServerResources/UIxAclEditor.js
commit 88f964cebd8e7f33dae2a11fbe41db430165240a
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Tue Aug 29 15:09:08 2017 -0400
Improve cache cleanup when removing a group ACL
M SoObjects/SOGo/SOGoGCSFolder.m
commit 4309b08c756bbae1a2335378936986970ebe4ff7
Author: Ludovic Marcotte <lmarcotte@inverse.ca>
Date: Tue Aug 29 11:07:55 2017 -0400
Updated NEWS
M NEWS
commit f3cf29ea1fa0d12c8b7fa28cc35f90f8adfcea22
Author: Ludovic Marcotte <lmarcotte@inverse.ca>
Date: Tue Aug 29 11:06:36 2017 -0400
(fix) correctly handle "Day of the month" constraint
M UI/Scheduler/UIxComponentEditor.m
commit 7d190e537e0f6421c810e3066992728d1bea0fad
Author: Ludovic Marcotte <lmarcotte@inverse.ca>
Date: Wed Aug 23 15:45:14 2017 -0400
(fix) properly encode MIME parts with embedded images in HTML parts (fixes #4150)
Conflicts:
SoObjects/Mailer/NSString+Mail.m
SoObjects/Mailer/SOGoDraftObject.m
M SoObjects/Mailer/NSString+Mail.m
M SoObjects/Mailer/SOGoDraftObject.m
commit c915bc7c9554631cd1f118c11577db809d25be07
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Tue Aug 22 10:02:28 2017 -0400
Simplify sanitization of accepted HTML attributes
M UI/MailPartViewers/UIxMailPartHTMLViewer.m
commit 630befd23baefbf78a54458ba4a8b2ea3f45c82d
Author: Ludovic Marcotte <lmarcotte@inverse.ca>
Date: Tue Aug 15 09:18:37 2017 -0400
Updated NEWS
M NEWS
commit edaa0f3956c71bc692c321e81c71bbc49426cdd8
Author: Ludovic Marcotte <lmarcotte@inverse.ca>
Date: Mon Aug 14 14:25:52 2017 -0400
(fix) use NSInteger instead, more clean
M SoObjects/Appointments/SOGoAppointmentFolder.m
commit e1791ac8f54f61ca4afe6b2b04f947b841795815
Author: Ludovic Marcotte <lmarcotte@inverse.ca>
Date: Mon Aug 14 13:59:16 2017 -0400
(fix) offset can be negative (fixes #4237)
M SoObjects/Appointments/SOGoAppointmentFolder.m
commit 44dbb30ffe5947cb32211335c57a105b59553946
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Mon Jul 31 12:16:05 2017 -0400
(js) Disable autogrow plugin in CKEditor
Fixes #4239
M UI/WebServerResources/ckeditor/config.js
commit b5bb9e86e3549bcffebd9db7b9239ce4995e2ffe
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Thu Jul 20 14:02:54 2017 -0400
Update ChangeLog
M ChangeLog
commit 938fd3a6f44973de06a4e897e46ebbab3c368beb
Author: Francis Lachapelle <flachapelle@inverse.ca>
Date: Thu Jul 20 14:02:37 2017 -0400
+3 -3
View File
@@ -1,7 +1,7 @@
<!-- TODO have the build system take care of this -->
<releaseinfo>Version 2.3.22 - July 2017</releaseinfo>
<subtitle>for version 2.3.22</subtitle>
<date>2017-07-20</date>
<releaseinfo>Version 2.3.23 - October 2017</releaseinfo>
<subtitle>for version 2.3.23</subtitle>
<date>2017-10-18</date>
<legalnotice>
<para>Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".</para>
@@ -13,6 +13,6 @@
// TODO have the build system take care of this
:release_version: 2.3.22
:release_version: 2.3.23
// vim: set syntax=asciidoc tabstop=2 shiftwidth=2 expandtab:
+14
View File
@@ -1,3 +1,17 @@
2.3.23 (2017-10-18)
-------------------
Enhancements
- [web] added Simplified Chinese (zh_CN) translation - thanks to Thomas Kuiper
- [web] updated CKEditor to version 4.7.3
Bug fixes
- [core] yearly repeating events are not shown in web calendar (#4237)
- [core] correctly handle "Last day of the month" recurrence rule
- [core] fixed yearly recurrence calculator with until date
- [core] generalized HTML sanitization to avoid encoding issues when replying/forwarding mails
- [eas] avoid sync requests for shared folders every second (#4275)
2.3.22 (2017-07-20)
-------------------
+12 -9
View File
@@ -91,7 +91,7 @@
if ([lastDate compare: rStart] == NSOrderedAscending)
// Range starts after last occurrence
return nil;
if ([lastDate compare: rEnd] == NSOrderedDescending)
if ([lastDate compare: rEnd] == NSOrderedAscending)
// Range ends after last occurence; adjust end date
rEnd = lastDate;
}
@@ -212,14 +212,17 @@
months: 0
days: 0];
[start setTimeZone: [firStart timeZone]];
end = [start addTimeInterval: [firstRange duration]];
r = [NGCalendarDateRange calendarDateRangeWithStartDate: start
endDate: end];
if ([_r doesIntersectWithDateRange: r] && (repeatCount == 0 || count < repeatCount))
{
[ranges addObject: r];
count++;
}
if ([start compare: rEnd] == NSOrderedAscending)
{
end = [start addTimeInterval: [firstRange duration]];
r = [NGCalendarDateRange calendarDateRangeWithStartDate: start
endDate: end];
if ([_r doesIntersectWithDateRange: r] && (repeatCount == 0 || count < repeatCount))
{
[ranges addObject: r];
count++;
}
}
}
}
else
@@ -0,0 +1,64 @@
"Inviting the following persons is prohibited:" = "禁止邀请下列人员:";
"Personal Calendar" = "个人日程";
vevent_class0 = "(公开事件)";
vevent_class1 = "(私人事件)";
vevent_class2 = "(机密事件)";
vtodo_class0 = "(公开任务)";
vtodo_class1 = "(私人任务)";
vtodo_class2 = "(机密任务)";
/* Receipts */
"The event \"%{Summary}\" was created" = "事件\"%{Summary}\"已创建";
"The event \"%{Summary}\" was deleted" = "事件\"%{Summary}\"已删除";
"The event \"%{Summary}\" was updated" = "事件\"%{Summary}\"已更新";
"The following attendees(s) were notified" = "已通知下列出席者";
"The following attendees(s) were added" = "已增加下列出席者";
"The following attendees(s) were removed" = "已删除下列出席者";
/* IMIP messages */
"calendar_label" = "日程";
"startDate_label" = "开始";
"endDate_label" = "结束";
"time_label" = "时间";
"to_label" = "到";
"due_label" = "截止日期";
"location_label" = "地点";
"summary_label" = "主题";
"comment_label" = "备注";
"organizer_label" = "组织者";
"attendee_label" = "参与者";
/* Invitation */
"Event Invitation: \"%{Summary}\"" = "邀请事件: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(来自 %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate}\nEnd: %{EndDate}\nDescription: %{Description}" = "%{Organizer} %{SentByText} 邀请你到 %{Summary}.\n\n开始: %{StartDate}\n结束: %{EndDate}\n说明: %{Description}";
"%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText} 邀请你去 %{Summary}。\n\n开始: %{StartDate} 的 %{StartTime}\n结束: %{EndDate} 的 %{EndTime}\n说明: %{Description}";
/* Deletion */
"Event Cancelled: \"%{Summary}\"" = "事件已取消: \"%{Summary}\"";
"%{Organizer} %{SentByText}has cancelled this event: %{Summary}.\n\nStart: %{StartDate}\nEnd: %{EndDate}\nDescription: %{Description}"
= "%{Organizer} %{SentByText} 取消了安排: %{Summary}.\n\n开始: %{StartDate}\n结束: %{EndDate}\n说明: %{Description}";
"%{Organizer} %{SentByText}has cancelled this event: %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}"
= "%{Organizer} %{SentByText} 取消了事件: %{Summary}。\n\n开始: %{StartDate} 的 %{StartTime}\n结束: %{EndDate} 的 %{EndTime}\n说明: %{Description}";
/* Update */
"The appointment \"%{Summary}\" for the %{OldStartDate} has changed"
= "安排 \"%{Summary}\" 的开始时间 %{OldStartDate} 已更新";
"The appointment \"%{Summary}\" for the %{OldStartDate} at %{OldStartTime} has changed"
= "安排 \"%{Summary}\" 的开始时间 %{OldStartDate} 的 %{OldStartTime} 已被更新";
"The following parameters have changed in the \"%{Summary}\" meeting:"
= "会议 \"%{Summary}\" 的下面参数已被修改:";
"Please accept or decline those changes."
= "请接受或拒绝这些更改。";
/* Reply */
"Accepted invitation: \"%{Summary}\"" = "接受的邀请: \"%{Summary}\"";
"Declined invitation: \"%{Summary}\"" = "拒绝的邀请: \"%{Summary}\"";
"Delegated invitation: \"%{Summary}\"" = "代理的邀请: \"%{Summary}\"";
"Not yet decided on invitation: \"%{Summary}\"" = "未处理邀请: \"%{Summary}\"";
"%{Attendee} %{SentByText}has accepted your event invitation."
= "%{Attendee} %{SentByText} 已接受了你的邀请。";
"%{Attendee} %{SentByText}has declined your event invitation."
= "%{Attendee} %{SentByText} 已拒绝了你的邀请。";
"%{Attendee} %{SentByText}has delegated the invitation to %{Delegate}."
= "%{Attendee} %{SentByText} 已把邀请委派给 %{Delegate}.";
"%{Attendee} %{SentByText}has not yet decided upon your event invitation."
= "%{Attendee} %{SentByText} 尚未决定接受事件邀请。";
/* Resources */
"Cannot access resource: \"%{Cn} %{SystemEmail}\"" = "无法获取资源: \"%{Cn} %{SystemEmail}\"";
"Maximum number of simultaneous bookings (%{NumberOfSimultaneousBookings}) reached for resource \"%{Cn} %{SystemEmail}\". The conflicting event is \"%{EventTitle}\", and starts on %{StartDate}." = "\"%{Cn} %{SystemEmail}\" 的同一时间的预定数达到上限 (%{NumberOfSimultaneousBookings})。 冲突事件为 \"%{EventTitle}\", 开始于 %{StartDate}。";
@@ -18,10 +18,14 @@ vtodo_class2 = "(Povjerljivi zadatak)";
"calendar_label" = "Kalendar";
"startDate_label" = "Start";
"endDate_label" = "Kraj";
"time_label" = "Vrijeme";
"to_label" = "za";
"due_label" = "Datum dospijeća";
"location_label" = "Mjesto";
"summary_label" = "Sažetak";
"comment_label" = "Komentar";
"organizer_label" = "Organizator";
"attendee_label" = "Sudionik";
/* Invitation */
"Event Invitation: \"%{Summary}\"" = "Pozivnica: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(poslao %{SentBy}) ";
@@ -48,7 +52,7 @@ vtodo_class2 = "(Povjerljivi zadatak)";
"Delegated invitation: \"%{Summary}\"" = "Proslijediti poziv: \"%{Summary}\"";
"Not yet decided on invitation: \"%{Summary}\"" = "Još nije odlučeno o pozivu: \"%{Summary}\"";
"%{Attendee} %{SentByText}has accepted your event invitation."
= "%{Attendee} %{SentByText}je prihvatio vaš poziv događaj.";
= "%{Attendee} %{SentByText}je prihvatio vaš poziv za događaj.";
"%{Attendee} %{SentByText}has declined your event invitation."
= "%{Attendee} %{SentByText}je odbio pozivnicu za događaj.";
"%{Attendee} %{SentByText}has delegated the invitation to %{Delegate}."
@@ -18,10 +18,14 @@ vtodo_class2 = "(Skrytý úkol)";
"calendar_label" = "Kalendář";
"startDate_label" = "Začátek";
"endDate_label" = "Konec";
"time_label" = "Čas";
"to_label" = "pro";
"due_label" = "Termín:";
"location_label" = "Místo";
"summary_label" = "Název:";
"comment_label" = "Komentář:";
"organizer_label" = "Organizátor";
"attendee_label" = "Účastník";
/* Invitation */
"Event Invitation: \"%{Summary}\"" = "Pozvání na událost: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(poslal/a %{SentBy}) ";
@@ -1241,7 +1241,8 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
iCalDateTime *dtstart;
iCalRepeatableEntityObject *component;
iCalTimeZone *eventTimeZone;
unsigned count, max, offset;
unsigned count, max;
NSInteger offset;
id tz;
content = [theRecord objectForKey: @"c_cycleinfo"];
@@ -1,3 +1,4 @@
"Inviting the following persons is prohibited:" = "Pozývanie nasledujúcich osôb je zakázané:";
"Personal Calendar" = "Osobný kalendár";
vevent_class0 = "(Verejná udalosť)";
vevent_class1 = "(Súkromná udalosť)";
@@ -17,10 +18,14 @@ vtodo_class2 = "(Dôverná úloha)";
"calendar_label" = "Kalendár";
"startDate_label" = "Začiatok";
"endDate_label" = "Koniec";
"time_label" = "Čas";
"to_label" = "pre";
"due_label" = "Platnosť:";
"location_label" = "Miesto";
"summary_label" = "Zhrnutie:";
"comment_label" = "Komentár:";
"organizer_label" = "Organizátor";
"attendee_label" = "Účastník";
/* Invitation */
"Event Invitation: \"%{Summary}\"" = "Pozvánka na udalosť: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(odoslané %{SentBy})";
@@ -18,10 +18,14 @@ vtodo_class2 = "(Tarea confidencial)";
"calendar_label" = "Calendario";
"startDate_label" = "Inicio";
"endDate_label" = "Fin";
"time_label" = "Fecha";
"to_label" = "para";
"due_label" = "Fecha Fin:";
"location_label" = "Localización";
"summary_label" = "Resumen:";
"comment_label" = "Comentario:";
"organizer_label" = "Organizador";
"attendee_label" = "Asistentes";
/* Invitation */
"Event Invitation: \"%{Summary}\"" = "Invitación al evento: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(enviado por %{SentBy}) ";
@@ -13,7 +13,7 @@ vtodo_class2 = "(Gizli görev)";
"The event \"%{Summary}\" was updated" = "\"%{Summary}\" etkinliği güncellendi";
"The following attendees(s) were notified" = "Şu katılımcı(lar) bilgilendirildi";
"The following attendees(s) were added" = "Şu katılımcılar eklendi";
"The following attendees(s) were removed" = "Şu katılımcılar çıkarıldı";
"The following attendees(s) were removed" = "Şu katılımcı(lar) çıkarıldı";
/* IMIP messages */
"calendar_label" = "Takvim";
"startDate_label" = "Başlangıç";
@@ -28,13 +28,13 @@ vtodo_class2 = "(Gizli görev)";
"attendee_label" = "Katılımcı";
/* Invitation */
"Event Invitation: \"%{Summary}\"" = "Etkinlik Daveti: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(%{SentBy} tarafından gönderilidi) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate}\nEnd: %{EndDate}\nDescription: %{Description}" = "%{Organizer} %{SentByText}sizi %{Summary} etkinliğine davet etti.\n\nBaşlangıç: %{StartDate}\nBitiş: %{EndDate}\nTanım: %{Description}";
"(sent by %{SentBy}) " = "(%{SentBy} tarafından gönderildi) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate}\nEnd: %{EndDate}\nDescription: %{Description}" = "%{Organizer} %{SentByText}sizi %{Summary} etkinliğine davet etti.\n\nBaşlangıç: %{StartDate}\nBitiş: %{EndDate}\nAçıklama: %{Description}";
"%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText} sizi %{Summary} etkinliğine davet etti.\n\nBaşlangıç Tarihi: %{StartDate} saat %{StartTime}\nBitiş Tarihi: %{EndDate} saat %{EndTime}\nAçıklama: %{Description}";
/* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Etkinlik İptal Edildi: \"%{Summary}\"";
"%{Organizer} %{SentByText}has cancelled this event: %{Summary}.\n\nStart: %{StartDate}\nEnd: %{EndDate}\nDescription: %{Description}"
= "%{Organizer} %{SentByText}şu etkiliği iptal etti: %{Summary}.\n\nBaşlangıç: %{StartDate}\nBitiş: %{EndDate}\nTanım: %{Description}";
= "%{Organizer} %{SentByText} şu etkiliği iptal etti: %{Summary}.\n\nBaşlangıç: %{StartDate}\nBitiş: %{EndDate}\nAçıklama: %{Description}";
"%{Organizer} %{SentByText}has cancelled this event: %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}"
= "%{Organizer} %{SentByText} %{Summary} etkinliğini iptal etti.\n\nBaşlangıç Tarihi: %{StartDate} saat %{StartTime}\nBitiş Tarihi: %{EndDate} saat %{EndTime}\nAçıklama: %{Description}";
/* Update */
@@ -47,8 +47,8 @@ vtodo_class2 = "(Gizli görev)";
"Please accept or decline those changes."
= "Lütfen şu değişikleri onaylayın veya reddedin.";
/* Reply */
"Accepted invitation: \"%{Summary}\"" = "Davet kabul edilidi: \"%{Summary}\"";
"Declined invitation: \"%{Summary}\"" = "Davet Geri Çevrildi: \"%{Summary}\"";
"Accepted invitation: \"%{Summary}\"" = "Davet kabul edildi: \"%{Summary}\"";
"Declined invitation: \"%{Summary}\"" = "Davet reddedildi: \"%{Summary}\"";
"Delegated invitation: \"%{Summary}\"" = "Vekalet edilen davet: \"%{Summary}\"";
"Not yet decided on invitation: \"%{Summary}\"" = "Davet hakkında henüz karar verilmedi: \"%{Summary}\"";
"%{Attendee} %{SentByText}has accepted your event invitation."
@@ -56,9 +56,9 @@ vtodo_class2 = "(Gizli görev)";
"%{Attendee} %{SentByText}has declined your event invitation."
= "%{Attendee} %{SentByText}davetinizi reddetti.";
"%{Attendee} %{SentByText}has delegated the invitation to %{Delegate}."
= "%{Attendee} %{SentByText} tarafından %{Delegate} davete vekil olarak atadı.";
= "%{Attendee} %{SentByText} tarafından %{Delegate} davetine vekil olarak atandı.";
"%{Attendee} %{SentByText}has not yet decided upon your event invitation."
= "%{Attendee} %{SentByText}henüz etkinlik davetinizle ilgili kararını vermedi.";
/* Resources */
"Cannot access resource: \"%{Cn} %{SystemEmail}\"" = "Kaynağa ulaşılamıyor: \"%{Cn} %{SystemEmail}\"";
"Maximum number of simultaneous bookings (%{NumberOfSimultaneousBookings}) reached for resource \"%{Cn} %{SystemEmail}\". The conflicting event is \"%{EventTitle}\", and starts on %{StartDate}." = "\"%{Cn} %{SystemEmail}\" kaynağı için maksimum eşzamanlı kayıt adedine (%{NumberOfSimultaneousBookings}) ulaşıldı. Çakışan \"%{EventTitle}\" etkinlik, %{StartDate} tarihinde başlıyor.";
"Maximum number of simultaneous bookings (%{NumberOfSimultaneousBookings}) reached for resource \"%{Cn} %{SystemEmail}\". The conflicting event is \"%{EventTitle}\", and starts on %{StartDate}." = "\"%{Cn} %{SystemEmail}\" kaynağı için maksimum eş-zamanlı kayıt adedine (%{NumberOfSimultaneousBookings}) ulaşıldı. Çakışan \"%{EventTitle}\" etkinlik, %{StartDate} tarihinde başlıyor.";
@@ -0,0 +1,2 @@
"Personal Address Book" = "个人通讯录";
"Collected Address Book" = "公共通讯录";
@@ -1,2 +1,2 @@
"Personal Address Book" = "Osobni adresar";
"Collected Address Book" = "Prikupljeni adresar";
"Personal Address Book" = "Osobni imenik";
"Collected Address Book" = "Prikupljeni imenik";
@@ -0,0 +1,2 @@
"OtherUsersFolderName" = "其他用户";
"SharedFoldersName" = "共享文件夹";
+2
View File
@@ -51,6 +51,8 @@ Mailer_RESOURCE_FILES += \
SOGoMailBrazilianPortugueseReply.wo \
SOGoMailCatalanForward.wo \
SOGoMailCatalanReply.wo \
SOGoMailChineseChinaForward.wo \
SOGoMailChineseChinaReply.wo \
SOGoMailChineseTaiwanForward.wo \
SOGoMailChineseTaiwanReply.wo \
SOGoMailCzechForward.wo \
+2 -2
View File
@@ -1,6 +1,6 @@
/* NSData+Mail.h - this file is part of SOGo
*
* Copyright (C) 2007-2015 Inverse inc.
* Copyright (C) 2007-2017 Inverse inc.
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -29,8 +29,8 @@
- (NSData *) bodyDataFromEncoding: (NSString *) encoding;
- (NSString *) bodyStringFromCharset: (NSString *) charset;
- (NSString *) decodedHeader;
- (NSData *) sanitizedContentUsingVoidTags: (NSArray *) theVoidTags;
@end
+193 -1
View File
@@ -1,6 +1,6 @@
/* NSData+Mail.m - this file is part of SOGo
*
* Copyright (C) 2007-2015 Inverse inc.
* Copyright (C) 2007-2017 Inverse inc.
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -18,6 +18,7 @@
* Boston, MA 02111-1307, USA.
*/
#import <Foundation/NSArray.h>
#import <Foundation/NSString.h>
#import <NGExtensions/NGBase64Coding.h>
@@ -212,4 +213,195 @@
return decodedString;
}
//
// In order to avoid a libxml bug/limitation, we strip the charset= parameter
// to avoid libxml to consider the charset= parameter while it works in UTF-8
// internally, all the time.
//
// A fix was commited by Daniel Veillard following discussions Inverse had
// with him on the issue:
//
// commit a1bc2f2ba4b5317885205d4f71c7c4b1c99ec870
// Author: Daniel Veillard <veillard redhat com>
// Date: Mon May 16 16:03:50 2011 +0800
//
// Add options to ignore the internal encoding
//
// For both XML and HTML, the document can provide an encoding
// either in XMLDecl in XML, or as a meta element in HTML head.
// This adds options to ignore those encodings if the encoding
// is known in advace for example if the content had been converted
// before being passed to the parser.
//
// * parser.c include/libxml/parser.h: add XML_PARSE_IGNORE_ENC option
// for XML parsing
// * include/libxml/HTMLparser.h HTMLparser.c: adds the
// HTML_PARSE_IGNORE_ENC for HTML parsing
// * HTMLtree.c: fix the handling of saving when an unknown encoding is
// defined in meta document header
// * xmllint.c: add a --noenc option to activate the new parser options
//
//
- (NSData *) sanitizedContentUsingVoidTags: (NSArray *) theVoidTags
{
NSMutableData *d;
NSString *found_tag, *tag;
NSEnumerator *tags;
const char *bytes;
char *buf;
int i, j, len;
BOOL found_delimiter, in_meta;
d = [NSMutableData dataWithData: self];
bytes = [d bytes];
len = [d length];
i = 0;
in_meta = NO;
while (i < len)
{
// We check if we see <meta ...> in which case, we substitute de charset= stuff.
if (i < len-5)
{
if ((*bytes == '<') &&
(*(bytes+1) == 'm' || *(bytes+1) == 'M') &&
(*(bytes+2) == 'e' || *(bytes+2) == 'E') &&
(*(bytes+3) == 't' || *(bytes+3) == 'T') &&
(*(bytes+4) == 'a' || *(bytes+4) == 'A') &&
(*(bytes+5) == ' '))
in_meta = YES;
}
// We search for something like :
//
// <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
//
if (in_meta && i < len-9)
{
if ((*bytes == 'c' || *bytes == 'C') &&
(*(bytes+1) == 'h' || *(bytes+1) == 'H') &&
(*(bytes+2) == 'a' || *(bytes+2) == 'A') &&
(*(bytes+3) == 'r' || *(bytes+3) == 'R') &&
(*(bytes+4) == 's' || *(bytes+4) == 'S') &&
(*(bytes+5) == 'e' || *(bytes+5) == 'E') &&
(*(bytes+6) == 't' || *(bytes+6) == 'T') &&
(*(bytes+7) == '='))
{
// We search until we find a '"' or a space
j = 8;
found_delimiter = YES;
while (*(bytes+j) != ' ' && *(bytes+j) != '"' && *(bytes+j) != '\'')
{
j++;
// We haven't found anything, let's return the data untouched
if ((i+j) >= len)
{
in_meta = found_delimiter = NO;
break;
}
}
if (found_delimiter)
{
[d replaceBytesInRange: NSMakeRange(i, j)
withBytes: NULL
length: 0];
in_meta = found_delimiter = NO;
}
}
}
bytes++;
i++;
}
/*
* Replace badly formatted void tags
*
* A void tag that begins with a slash is considered invalid.
* We remove the slash from those tags.
*
* Ex: </br> is replaced by <br>
*/
if (!theVoidTags)
{
/* see http://www.w3.org/TR/html4/index/elements.html */
theVoidTags = [[[NSArray alloc] initWithObjects: @"area", @"base",
@"basefont", @"br", @"col", @"frame", @"hr",
@"img", @"input", @"isindex", @"link",
@"meta", @"param", @"", nil] autorelease];
}
bytes = [d bytes];
len = [d length];
i = 0;
while (i < len)
{
if (i < len-3)
{
// Search for ending tags
if ((*bytes == '<') && (*(bytes+1) == '/'))
{
i += 2;
bytes += 2;
j = 0;
found_delimiter = YES;
while (*(bytes+j) != '>')
{
j++;
if ((i+j) >= len)
{
found_delimiter = NO;
break;
}
}
if (found_delimiter && j > 0)
{
// Copy the ending tag to a NSString
buf = malloc((j+1) * sizeof(char));
memset (buf, 0, j+1);
memcpy (buf, bytes, j);
found_tag = [NSString stringWithCString: buf encoding: NSUTF8StringEncoding];
tags = [theVoidTags objectEnumerator];
tag = [tags nextObject];
while (tag && found_tag)
{
if ([tag caseInsensitiveCompare: found_tag] == NSOrderedSame)
{
// Remove the leading slash
//NSLog(@"Found void tag with invalid leading slash: </%@>", found_tag);
i--;
[d replaceBytesInRange: NSMakeRange(i, 1)
withBytes: NULL
length: 0];
bytes = [d bytes];
bytes += i;
len = [d length];
break;
}
tag = [tags nextObject];
}
free(buf);
// Continue the parsing after end tag
i += j;
bytes += j;
}
}
}
bytes++;
i++;
}
return d;
}
@end
+27 -5
View File
@@ -302,7 +302,7 @@
NSData *data;
id body;
int i, j, k;
int i, j, k, len;
i = [value indexOf: ';'];
j = [value indexOf: ';' fromIndex: i+1];
@@ -333,17 +333,39 @@
encoding = @"base64";
data = [[value substringFromIndex: k+1] dataUsingEncoding: NSASCIIStringEncoding];
len = [data length];
if ([encoding isEqualToString: @"base64"] && len > 72)
{
NSMutableData *folded_data;
unsigned char *bytes, c;
folded_data = [NSMutableData data];
bytes = (unsigned char *)[data bytes];
for (i = 0; i < len; i++)
{
if (i > 0 && i % 72 == 0)
{
c = '\n';
[folded_data appendBytes: &c length: 1];
}
c = *bytes; bytes++;
[folded_data appendBytes: &c length: 1];
}
data = folded_data;
}
uniqueId = [SOGoObject globallyUniqueObjectId];
map = [[[NGMutableHashMap alloc] initWithCapacity:5] autorelease];
map = [[[NGMutableHashMap alloc] initWithCapacity: 5] autorelease];
[map setObject: encoding forKey: @"content-transfer-encoding"];
[map setObject:[NSNumber numberWithInt:[data length]] forKey: @"content-length"];
[map setObject:[NSNumber numberWithInt: [data length]] forKey: @"content-length"];
[map setObject: [NSString stringWithFormat: @"inline; filename=\"%@\"", uniqueId] forKey: @"content-disposition"];
[map setObject: [NSString stringWithFormat: @"%@; name=\"%@\"", mimeType, uniqueId] forKey: @"content-type"];
[map setObject: [NSString stringWithFormat: @"<%@>", uniqueId] forKey: @"content-id"];
body = [[NGMimeFileData alloc] initWithBytes: [data bytes] length: [data length]];
bodyPart = [[[NGMimeBodyPart alloc] initWithHeader:map] autorelease];
+42 -31
View File
@@ -1489,7 +1489,7 @@ static NSString *userAgent = nil;
//
//
//
- (NGMimeBodyPart *) mimeMultipartAlternative
- (NGMimeBodyPart *) mimeMultipartAlternative: (NSArray *) extractedBodyParts
{
NGMimeMultipartBody *textParts;
NGMutableHashMap *header;
@@ -1505,8 +1505,35 @@ static NSString *userAgent = nil;
// Get the text part from it and add it
[textParts addBodyPart: [self plainTextBodyPartForText]];
// Add the HTML part
[textParts addBodyPart: [self bodyPartForText]];
if ([extractedBodyParts count])
{
// Create a multipart/related part and add this.
// We have inline image to avoid Thunderbird bug #61815 (https://bugzilla.mozilla.org/show_bug.cgi?id=61815)
NGMutableHashMap *relatedHeader;
NGMimeBodyPart *relatedPart;
NGMimeMultipartBody *relatedParts;
int i;
relatedHeader = [NGMutableHashMap hashMap];
[relatedHeader addObject: MultiRelatedType forKey: @"content-type"];
relatedPart = [NGMimeBodyPart bodyPartWithHeader: relatedHeader];
relatedParts = [[NGMimeMultipartBody alloc] initWithPart: relatedPart];
[relatedParts addBodyPart: [self bodyPartForText]];
for (i = 0; i < [extractedBodyParts count]; i++)
{
[relatedParts addBodyPart: [extractedBodyParts objectAtIndex: i]];
}
[relatedPart setBody: relatedParts];
[textParts addBodyPart: relatedPart];
}
else
{
// Add the HTML part
[textParts addBodyPart: [self bodyPartForText]];
}
[part setBody: textParts];
RELEASE(textParts);
@@ -1518,7 +1545,8 @@ static NSString *userAgent = nil;
//
//
- (NGMimeMessage *) mimeMultiPartMessageWithHeaderMap: (NGMutableHashMap *) map
andBodyParts: (NSArray *) _bodyParts
extractedBodyParts: (NSArray *) extractedBodyParts
andBodyParts: (NSArray *) _bodyParts
{
NGMimeMessage *message;
NGMimeMultipartBody *mBody;
@@ -1534,7 +1562,7 @@ static NSString *userAgent = nil;
if (!isHTML)
part = [self bodyPartForText];
else
part = [self mimeMultipartAlternative];
part = [self mimeMultipartAlternative: extractedBodyParts];
[mBody addBodyPart: part];
@@ -1734,26 +1762,20 @@ static NSString *userAgent = nil;
excluding: (NSArray *) _exclude
extractingImages: (BOOL) _extractImages
{
NSMutableArray *bodyParts;
NSMutableArray *extractedBodyParts;
NGMimeMessage *message;
NSArray *allBodyParts;
NGMutableHashMap *map;
NSString *newText;
BOOL has_inline_images;
message = nil;
has_inline_images = NO;
bodyParts = [NSMutableArray array];
extractedBodyParts = [NSMutableArray array];
if (_extractImages)
{
newText = [text htmlByExtractingImages: bodyParts];
if ([bodyParts count])
{
[self setText: newText];
has_inline_images = YES;
}
newText = [text htmlByExtractingImages: extractedBodyParts];
if ([extractedBodyParts count])
[self setText: newText];
}
map = [self mimeHeaderMapWithHeaders: _headers
@@ -1766,26 +1788,15 @@ static NSString *userAgent = nil;
if (!allBodyParts)
return nil;
[bodyParts addObjectsFromArray: allBodyParts];
//[self debugWithFormat: @"attachments: %@", bodyParts];
if ([bodyParts count] == 0)
if ([extractedBodyParts count] == 0 && [allBodyParts count] == 0)
/* no attachments */
message = [self mimeMessageForContentWithHeaderMap: map];
else
{
// attachments, create multipart/mixed or multipart/related if
// we have inline image to avoid Thunderbird bug #61815 (https://bugzilla.mozilla.org/show_bug.cgi?id=61815)
if (has_inline_images)
{
[map removeAllObjectsForKey: @"content-type"];
[map addObject: MultiRelatedType forKey: @"content-type"];
}
message = [self mimeMultiPartMessageWithHeaderMap: map
andBodyParts: bodyParts];
message = [self mimeMultiPartMessageWithHeaderMap: map
extractedBodyParts: extractedBodyParts
andBodyParts: allBodyParts];
//[self debugWithFormat: @"message: %@", message];
}
}
+1 -1
View File
@@ -341,7 +341,7 @@ static NSString *inboxFolderName = @"INBOX";
NSURL *nsURL;
NSString *baseURLString, *urlString;
baseURLString = [[self imap4URL] absoluteString];
baseURLString = [self imap4URLString];
urlString = [NSString stringWithFormat: @"%@%@/", baseURLString, [namespace stringByEscapingURL]];
nsURL = [NSURL URLWithString: urlString];
folders = [[self imap4Connection] allFoldersForURL: nsURL
@@ -0,0 +1,16 @@
<#newLine/>
<#newLine/>
<#signaturePlacementOnTop><#newLine/>
<#signature/><#newLine/></#signaturePlacementOnTop>
-------- 原始訊息 --------<#newLine/>
主旨: <#subject/><#newLine/>
日期: <#date/><#newLine/>
寄件人: <#from/><#newLine/>
<#hasReplyTo>回覆: <#replyTo/></#hasReplyTo><#hasOrganization>組織: <#organization/></#hasOrganization>收件者: <#to/><#newLine/>
<#hasCc>副本: <#cc/></#hasCc><#hasNewsGroups>新聞群組: <#newsgroups/></#hasNewsGroups><#hasReferences>參照: <#references/></#hasReferences><#newLine/>
<#newLine/>
<#messageBody/><#newLine/>
<#signaturePlacementOnBottom><#newLine/>
<#newLine/>
<#signature/></#signaturePlacementOnBottom>
<#newLine/>
@@ -0,0 +1,88 @@
subject: WOString {
value = subject;
escapeHTML = NO;
}
date: WOString {
value = date;
escapeHTML = NO;
}
from: WOString {
value = from;
escapeHTML = NO;
}
newLine: WOString {
value = newLine;
escapeHTML = NO;
}
hasReplyTo: WOConditional {
condition = hasReplyTo;
}
replyTo: WOString {
value = replyTo;
escapeHTML = NO;
}
hasOrganization: WOConditional {
condition = hasOrganization;
}
organization: WOString {
value = organization;
escapeHTML = NO;
}
to: WOString {
value = to;
escapeHTML = NO;
}
hasCc: WOConditional {
condition = hasCc;
}
cc: WOString {
value = cc;
escapeHTML = NO;
}
hasNewsGroups: WOConditional {
condition = hasNewsGroups;
}
newsgroups: WOString {
value = newsgroups;
escapeHTML = NO;
}
hasReferences: WOConditional {
condition = hasReferences;
}
references: WOString {
value = references;
escapeHTML = NO;
}
messageBody: WOString {
value = messageBody;
escapeHTML = NO;
}
signature: WOString {
value = signature;
escapeHTML = NO;
}
signaturePlacementOnTop: WOConditional {
condition = signaturePlacementOnTop;
}
signaturePlacementOnBottom: WOConditional {
condition = signaturePlacementOnTop;
negate = YES;
}
@@ -0,0 +1,16 @@
<#replyPlacementOnTop><#newLine/>
<#newLine/>
</#replyPlacementOnTop><#signaturePlacementOnTop><#newLine/>
<#signature/><#newLine/>
</#signaturePlacementOnTop><#outlookMode>-------- 原始訊息 --------<#newLine/>
主旨: <#subject/><#newLine/>
日期: <#date/><#newLine/>
寄件人: <#from/><#newLine/>
<#hasReplyTo>回覆: <#replyTo/></#hasReplyTo><#hasOrganization>組織: <#organization/></#hasOrganization>收件者: <#to/><#newLine/>
<#hasCc>副本: <#cc/></#hasCc><#hasNewsGroups>新聞群組: <#newsgroups/></#hasNewsGroups><#hasReferences>參照: <#references/></#hasReferences></#outlookMode><#newLine/>
<#standardMode>On <#date/>, <#from/> 撰寫:</#standardMode><#newLine/>
<#newLine/>
<#messageBody/><#newLine/>
<#replyPlacementOnBottom><#newLine/>
<#newLine/>
</#replyPlacementOnBottom><#signaturePlacementOnBottom><#signature/></#signaturePlacementOnBottom><#newLine/>
@@ -0,0 +1,106 @@
outlookMode: WOConditional {
condition = outlookMode;
}
standardMode: WOConditional {
condition = outlookMode;
negate = YES;
}
subject: WOString {
value = subject;
escapeHTML = NO;
}
date: WOString {
value = date;
escapeHTML = NO;
}
from: WOString {
value = from;
escapeHTML = NO;
}
newLine: WOString {
value = newLine;
escapeHTML = NO;
}
hasReplyTo: WOConditional {
condition = hasReplyTo;
}
replyTo: WOString {
value = replyTo;
escapeHTML = NO;
}
hasOrganization: WOConditional {
condition = hasOrganization;
}
organization: WOString {
value = organization;
escapeHTML = NO;
}
to: WOString {
value = to;
escapeHTML = NO;
}
hasCc: WOConditional {
condition = hasCc;
}
cc: WOString {
value = cc;
escapeHTML = NO;
}
hasNewsGroups: WOConditional {
condition = hasNewsGroups;
}
newsgroups: WOString {
value = newsgroups;
escapeHTML = NO;
}
hasReferences: WOConditional {
condition = hasReferences;
}
references: WOString {
value = references;
escapeHTML = NO;
}
messageBody: WOString {
value = messageBody;
escapeHTML = NO;
}
signature: WOString {
value = signature;
escapeHTML = NO;
}
replyPlacementOnTop: WOConditional {
condition = replyPlacementOnTop;
}
replyPlacementOnBottom: WOConditional {
condition = replyPlacementOnTop;
negate = YES;
}
signaturePlacementOnTop: WOConditional {
condition = signaturePlacementOnTop;
}
signaturePlacementOnBottom: WOConditional {
condition = signaturePlacementOnTop;
negate = YES;
}
+3
View File
@@ -49,6 +49,9 @@
@interface SOGoMailCatalanForward : SOGoMailForward
@end
@interface SOGoMailChineseChinaForward : SOGoMailForward
@end
@interface SOGoMailChineseTaiwanForward : SOGoMailForward
@end
+3
View File
@@ -260,6 +260,9 @@
@implementation SOGoMailCatalanForward
@end
@implementation SOGoMailChineseChinaForward
@end
@implementation SOGoMailChineseTaiwanForward
@end
+13 -4
View File
@@ -106,12 +106,14 @@
//
- (NSString *) _contentForEditingFromKeys: (NSArray *) keys
{
NSArray *types;
NSDictionary *parts;
NSString *rawPart, *content, *contentKey;
SOGoUserDefaults *ud;
NSUInteger index;
NSDictionary *parts;
NSArray *types;
NSData *data;
BOOL htmlComposition, htmlContent;
NSUInteger index;
content = @"";
@@ -156,7 +158,14 @@
}
}
return content;
// We strip charset= information from HTML content to avoid SOGo setting
// the encoding of the final mail to UTF-8 while keeping charset="iso-8859-1"
// in the HTML meta headers, for example. That would cause encoding display
// issues with most MUAs.
data = [[content dataUsingEncoding: NSUTF8StringEncoding] sanitizedContentUsingVoidTags: nil];
content = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
return [content autorelease];
}
//
+3
View File
@@ -48,6 +48,9 @@
@interface SOGoMailCatalanReply : SOGoMailReply
@end
@interface SOGoMailChineseChinaReply : SOGoMailReply
@end
@interface SOGoMailChineseTaiwanReply : SOGoMailReply
@end
+3
View File
@@ -96,6 +96,9 @@
@implementation SOGoMailCatalanReply
@end
@implementation SOGoMailChineseChinaReply
@end
@implementation SOGoMailChineseTaiwanReply
@end
+1
View File
@@ -45,6 +45,7 @@
"Basque",
"BrazilianPortuguese",
"Catalan",
"ChineseChina",
"ChineseTaiwan",
"Croatian",
"Czech",
+16 -18
View File
@@ -1765,27 +1765,25 @@ static NSArray *childRecordFields = nil;
for (i = 0; i < [usersAndGroups count]; i++)
{
uid = [usersAndGroups objectAtIndex: i];
if (![uid hasPrefix: @"@"])
group = [SOGoGroup groupWithIdentifier: uid inDomain: domain];
if (group)
{
group = [SOGoGroup groupWithIdentifier: uid inDomain: domain];
if (group)
NSArray *members;
SOGoUser *user;
unsigned int j;
// Fetch members to remove them from the cache along the group
members = [group members];
for (j = 0; j < [members count]; j++)
{
NSArray *members;
SOGoUser *user;
unsigned int j;
// Fetch members to remove them from the cache along the group
members = [group members];
for (j = 0; j < [members count]; j++)
{
user = [members objectAtIndex: j];
[groupsMembers addObject: [user login]];
}
// Prefix the UID with the character "@" when dealing with a group
[usersAndGroups replaceObjectAtIndex: i
withObject: [NSString stringWithFormat: @"@%@", uid]];
user = [members objectAtIndex: j];
[groupsMembers addObject: [user login]];
}
if (![uid hasPrefix: @"@"])
// Prefix the UID with the character "@" when dealing with a group
[usersAndGroups replaceObjectAtIndex: i
withObject: [NSString stringWithFormat: @"@%@", uid]];
}
}
objectPath = [objectPathArray componentsJoinedByString: @"/"];
+1 -1
View File
@@ -10,7 +10,7 @@ import sogoLogin
# must be kept in sync with SoObjects/SOGo/SOGoDefaults.plist
# this should probably be fetched magically...
SOGoSupportedLanguages = [ "Arabic", "Basque", "Catalan", "ChineseTaiwan", "Croatian", "Czech", "Dutch", "Danish", "Welsh", "English", "Finnish",
SOGoSupportedLanguages = [ "Arabic", "Basque", "Catalan", "ChineseChina", "ChineseTaiwan", "Croatian", "Czech", "Dutch", "Danish", "Welsh", "English", "Finnish",
"SpanishSpain", "SpanishArgentina", "French", "German", "Hebrew",
"Icelandic", "Italian", "Latvian", "Lithuanian", "Macedonian", "Hungarian", "Portuguese", "BrazilianPortuguese",
"NorwegianBokmal", "NorwegianNynorsk", "Polish", "Russian", "Serbian", "Slovak",
+1 -1
View File
@@ -113,7 +113,7 @@ typedef enum
" subscribe subscribe user to owner's folder\n"
" unsubscribe unsubscribe user to owner's folder\n"
" owner the user owning the folder\n"
" folder the folder - Calendar/<ID> or Contacst/<ID>\n"
" folder the folder - Calendar/<ID> or Contacts/<ID>\n"
" user the user to get/set rights for - 'ALL', '<default>', 'anonymous' are supported\n"
" rights rights to add\n\n"
"Example: sogo-tool manage-acl get jdoe Calendar/personal\n\n"
@@ -0,0 +1,26 @@
/* this file is in UTF-8 format! */
"Help" = "帮助";
"Close" = "关闭";
"Modules" = "模块";
/* Modules short names */
"ACLs" = "访问控制列表";
/* Modules titles */
"ACLs_title" = "用户目录访问控制管理";
/* Modules descriptions */
"ACLs_description" = "<p>访问控制列表管理模块可以更改每个用户的日历和地址簿的访问控制权限</p><p>变更用户目录的访问控制权限时,通过在窗口上部的搜索栏里输入用户名,然后双击目录来实现。</p>";
"Name or Email" = "姓名或电子邮件";
/* Rights module: initial search message */
"Start a search to edit the rights" = "搜索要修改的权限";
/* Rights module: Empty search result */
"No matching user" = "无匹配用户";
/* Rights module: no selection */
"No resource selected" = "没有选中用户";
"Add User" = "添加用户";
"Subscribe User" = "订阅用户";
"Rights" = "权限";
"Search Users" = "搜索用户";
"users found" = "搜到的用户";
"No resource" = "无用户";
"Any Authenticated User" = "任何授权用户";
"Public Access" = "公开访问";
@@ -1,10 +1,10 @@
/* this file is in UTF-8 format! */
"Help" = "Pomoč";
"Help" = "Pomoć";
"Close" = "Zatvori";
"Modules" = "Moduli";
/* Modules short names */
"ACLs" = "ACLji";
"ACLs" = "ACL-i";
/* Modules titles */
"ACLs_title" = "Administriranje prava korisnika na mapama";
/* Modules descriptions */
@@ -13,14 +13,14 @@
/* Rights module: initial search message */
"Start a search to edit the rights" = "Počni pretragu za uređivanje prava";
/* Rights module: Empty search result */
"No matching user" = "Nema odgovarajučeg korisnika";
"No matching user" = "Nema odgovarajućeg korisnika";
/* Rights module: no selection */
"No resource selected" = "Nema odabranog resursa";
"Add User" = "Dodaj korisnika";
"Subscribe User" = "Naruči korisnika";
"Subscribe User" = "Pretplati se za korisnika";
"Rights" = "Prava";
"Search Users" = "Traži korisnike";
"users found" = "korisniki pronađeni";
"users found" = "Korisnici pronađeni";
"No resource" = "Nema resursa";
"Any Authenticated User" = "Svaki ovlašteni korisnik";
"Public Access" = "Javni pristup";
@@ -9,3 +9,18 @@
"ACLs_title" = "Managenent přístupových práv složek uživatelů";
/* Modules descriptions */
"ACLs_description" = "<p>Administrační modul přístupových práv umožňuje nastavovat přístupová práva ke kalendářům a adresářům každého uživatele.</p><p>Chcete-li změnit přístupová práva ke složkám uživatele, zadejte jeho uživatelské jméno do vyhledávacího pole v horní části okna, rozbalte stromovou strukturu jeho složek a na požadované složce udělejte dvojkliknutí.</p>";
"Name or Email" = "Jméno nebo e-mail";
/* Rights module: initial search message */
"Start a search to edit the rights" = "Vyhledat k úpravě práv";
/* Rights module: Empty search result */
"No matching user" = "Žádný odpovídající uživatel";
/* Rights module: no selection */
"No resource selected" = "Nebyl vybrán žádný zdroj";
"Add User" = "Přidat uživatele";
"Subscribe User" = "Odebírat";
"Rights" = "Práva";
"Search Users" = "Vyhledat uživatele";
"users found" = "uživatelů nalezeno";
"No resource" = "Není zdroj";
"Any Authenticated User" = "Každý ověřený uživatel";
"Public Access" = "Veřejný přístup";
@@ -9,3 +9,18 @@
"ACLs_title" = "Spravovanie ACL zložiek uzívateľov";
/* Modules descriptions */
"ACLs_description" = "<p>Administrácia kontroly prístupových práv (ACL) dovoluje spravovať ACLs kalendárov a adresárov pre všetkých užívateľov.</p><p>Pre úpravu ACL zložky užívateľa, napíšte meno užívateľa v kolonke hľadaj hore v okne a dvojklikom potvrďte výber zložky.</p>";
"Name or Email" = "Meno alebo E-mail";
/* Rights module: initial search message */
"Start a search to edit the rights" = "Spustite hľadanie pre úpravu práv";
/* Rights module: Empty search result */
"No matching user" = "Žiadny užívateľ sa nezhoduje";
/* Rights module: no selection */
"No resource selected" = "Nevybrali ste žiadny zdroj";
"Add User" = "Pridať užívateľa";
"Subscribe User" = "Prihlás užívateľa";
"Rights" = "Práva";
"Search Users" = "Vyhľadať užívateľov";
"users found" = "nájdený užívatelia";
"No resource" = "Žiadne zdroje";
"Any Authenticated User" = "Akýkoľvek overení užívateľ";
"Public Access" = "Verejný prístup";
@@ -20,7 +20,7 @@
"Subscribe User" = "Kullanıcıyı Üye Yap";
"Rights" = "Yetkiler";
"Search Users" = "Kullanıcıları Ara";
"users found" = "kullanıcılar bulundu";
"users found" = "bulunan kullanıcılar";
"No resource" = "Kaynak yok";
"Any Authenticated User" = "Kimliği doğrulanmış her kullanıcı";
"Public Access" = "Herkese Açık Erişim";
@@ -0,0 +1,183 @@
/* this file is in UTF-8 format! */
/* toolbars */
"Save" = "保存";
"Close" = "关闭";
"Edit User Rights" = "编辑用户权限";
"Home" = "主页";
"Calendar" = "日历";
"Address Book" = "通讯录";
"Mail" = "邮件";
"Preferences" = "个人设定";
"Administration" = "管理";
"Disconnect" = "注销";
"Toggle Menu" = "切换型下拉菜单";
"Right Administration" = "权限管理";
"Log Console (dev.)" = "日志控制台 (dev.)";
"User" = "用户";
"Vacation message is enabled" = "发送休假消息";
"Help" = "帮助";
"noJavascriptError" = "SOGo需要运行Javascript。请确定浏览器中该设定已启用。";
"noJavascriptRetry" = "重试";
"Owner" = "属于";
"Publish the Free/Busy information" = "发布空闲/忙碌的消息";
"Add..." = "新增...";
"Remove" = "删除";
"Subscribe User" = "订阅用户";
"Any Authenticated User" = "所有授权用户";
"Public Access" = "公开访问";
"Any user not listed above" = "列表之外的用户";
"Anybody accessing this resource from the public area" = "公开区域访问的任何人";
"Sorry, the user rights can not be configured for that object." = "对不起,该用户不能配置该项。";
"Any user with an account on this system will be able to access your mailbox \"%{0}\". Are you certain you trust them all?"
= "系统所有用户都能访问您的邮件箱 \"%{0}\"。信任全部用户吗?";
"Any user with an account on this system will be able to access your calendar \"%{0}\". Are you certain you trust them all?"
= "系统所有用户都能访问您的日历 \"%{0}\"。信任全部用户吗?";
"Potentially anyone on the Internet will be able to access your calendar \"%{0}\", even if they do not have an account on this system. Is this information suitable for the public Internet?"
= "网络上的任何人都可以访问您的日历 \"%{0}\", 即使非本系统账户。是否确定在网络上公开此日历?";
"Any user with an account on this system will be able to access your address book \"%{0}\". Are you certain you trust them all?"
= "系统所有用户都能访问您的通讯录 \"%{0}\"。信任全部用户吗?";
"Potentially anyone on the Internet will be able to access your address book \"%{0}\", even if they do not have an account on this system. Is this information suitable for the public Internet?"
= "网络上的任何人都可以访问您的通讯录 \"%{0}\", 即使非本系统账户。是否确定在网络上公开此通讯录?";
"Give Access" = "授权访问";
"Keep Private" = "保留私用";
/* generic.js */
"Unable to subscribe to that folder!"
= "不能订阅该目录!";
"You cannot subscribe to a folder that you own!"
= "不能订阅自己的目录!";
"Unable to unsubscribe from that folder!"
= "不能取消订阅该目录!";
"You cannot unsubscribe from a folder that you own!"
= "不能取消订阅自己的目录!";
"Unable to rename that folder!" = "不能修改该目录名!";
"You have already subscribed to that folder!"
= "你已经订阅该目录!";
"The user rights cannot be edited for this object!"
= "对不起,该用户不能编辑该项。";
"A folder by that name already exists." = "目录名称已存在。";
"You cannot create a list in a shared address book."
= "不能在公共通讯录新建列表。";
"Warning" = "警告";
"Can't contact server" = "连接服务器错误,稍后重试";
"You are not allowed to access this module or this system. Please contact your system administrator."
= "你无权访问该模块或系统。请联系管理员。";
"You don't have the required privileges to perform the operation."
= "你无权执行该操作。";
"noEmailForDelegation" = "必须指定该邀请的代理人地址。";
"delegate is organizer" = "这个代理是组织者。请另外指定。";
"delegate is a participant" = "这个代理已经是参与者。";
"delegate is a group" = "指定的地址是组。你只能制定个人代理。";
/* common buttons */
"OK" = "确定";
"Cancel" = "取消";
"Yes" = "是";
"No" = "否";
/* alarms */
"Reminder" = "提醒";
"Start" = "开始";
"Due Date" = "截止日期";
"Location" = "地点";
"Snooze" = "闹铃";
"Snooze for " = "闹铃";
"5 minutes" = "5分钟";
"10 minutes" = "10分钟";
"15 minutes" = "15分钟";
"30 minutes" = "30分钟";
"45 minutes" = "45分钟";
"1 hour" = "1小时";
"1 day" = "1 天";
/* mail labels */
"Important" = "重要";
"Work" = "工作";
"Personal" = "个人";
"To Do" = "待办";
"Later" = "稍后";
"a2_Sunday" = "周日";
"a2_Monday" = "周一";
"a2_Tuesday" = "周二";
"a2_Wednesday" = "周三";
"a2_Thursday" = "周四";
"a2_Friday" = "周五";
"a2_Saturday" = "周六";
"Access Rights" = "访问权限";
"Add User" = "添加用户";
"Loading" = "正在加载";
"No such user." = "查无此人。";
"You cannot (un)subscribe to a folder that you own!" = "不能订阅(退订)自己的目录";
/* Authentication username */
"Username" = "用户名称";
/* Authentication password */
"Password" = "密码";
/* Authentication failed */
"Wrong username or password." = "错误的用户名称或密码。";
/* Error message displayed bellow search field when the search string has less than the required number of characters */
"Enter at least %{minimumSearchLength} characters" = "最少输入 %{minimumSearchLength} 个字符";
/* Error message displayed when a file upload exceeds WOMaxUploadSize */
"File size upload limit reached" = "已到达文件大小上传上限";
/* Toggle visibility (ex: mail account in left navigation menu) */
"Toggle visibility" = "切换视图";
/* Toggle multiple items at the same time (hotkeys cheatsheet) */
"Toggle range of items" = "切换项目范围";
/* Question mark shows list of hotkeys */
"Show or hide this help" = "显示/隐藏帮助";
/* Space key */
"key_space" = "空格";
/* Shift and space key */
"key_shift+space" = "shift + 空格";
/* Up arrow key */
"key_up" = "↑";
/* Down arrow key */
"key_down" = "↓";
/* Left arrow key */
"key_left" = "←";
/* Right arrow key */
"key_right" = "→";
/* Shift and up arrow combo keys */
"key_shift+up" = "shift + ↑";
/* Shift and down arrow combo keys */
"key_shift+down" = "shift + ↓";
/* Backspace key */
"key_backspace" = "backspace";
/* Hotkey to start a search */
"hotkey_search" = "s";
/* Hotkey description to select next list item */
"View next item" = "查看下一个项目";
/* Hotkey description to select previous list item */
"View previous item" = "查看上一个项目";
/* Hotkey description to add next list item to selection */
"Add next item to selection" = "将下一个项目添加到选择";
/* Hotkey description to add previous list item to selection */
"Add previous item to selection" = "将上一个项目添加到选择";
/* Hotkey description to move backward in current view */
"Move backward" = "向后移动";
/* Hotkey description to move forward in current view */
"Move forward" = "向前移动";
+109 -34
View File
@@ -6,18 +6,18 @@
"Edit User Rights" = "Uređivanje korisničkih prava";
"Home" = "Početna";
"Calendar" = "Kalendar";
"Address Book" = "Adresar";
"Address Book" = "Imenik";
"Mail" = "Pošta";
"Preferences" = "Postavke";
"Administration" = "Administracija";
"Disconnect" = "Prekidaj vezu";
"Toggle Menu" = "Prebaci izbornik";
"Right Administration" = "Administracija prava";
"Log Console (dev.)" = "Provjera Log fajlova (dev.)";
"Disconnect" = "Prekini vezu";
"Toggle Menu" = "Prikaz izbornika";
"Right Administration" = "Upravljanje pravima";
"Log Console (dev.)" = "Provjera Log datoteka (dev.)";
"User" = "Korisnik";
"Vacation message is enabled" = "Poruka o odmoru je uključena";
"Help" = "Pomoč";
"noJavascriptError" = "SOGo zahtijeva Javascript za pokretanje. Provjerite je li ova opcija je dostupna i aktivirana u postavkama preglednika.";
"Vacation message is enabled" = "Poruka o odsutnosti je uključena";
"Help" = "Pomoć";
"noJavascriptError" = "SOGo zahtijeva Javascript za pokretanje. Provjerite je li ova opcija dostupna i aktivirana u postavkama preglednika.";
"noJavascriptRetry" = "Ponovni pokušaj";
"Owner" = "Vlasnik";
"Publish the Free/Busy information" = "Objavi informacije slobodno/zauzeto ";
@@ -27,37 +27,38 @@
"Any Authenticated User" = "Svaki ovlašteni korisnik";
"Public Access" = "Javni pristup";
"Any user not listed above" = "Svaki korisnik koji nije gore naveden";
"Anybody accessing this resource from the public area" = "Svatko, koji pristupa do resursa iz javnog prostora";
"Sorry, the user rights can not be configured for that object." = "Žao, korisnička prava ne mogu biti konfigurirana za taj objekt.";
"Anybody accessing this resource from the public area" = "Svatko, tko pristupa do resursa iz javnog prostora";
"Sorry, the user rights can not be configured for that object." = "Korisnička prava ne mogu biti konfigurirana za taj objekt.";
"Any user with an account on this system will be able to access your mailbox \"%{0}\". Are you certain you trust them all?"
= "Svaki korisnik s računom na ovom sustavu moći će pristupiti vaš poštanski sandučić \"%{0}\". Jeste li sigurni da su svi povjerljivi?";
= "Svaki korisnik s računom na ovom sustavu moći će pristupiti vašem pretincu \"%{0}\". Jeste li sigurni da su svi povjerljivi?";
"Any user with an account on this system will be able to access your calendar \"%{0}\". Are you certain you trust them all?"
= "Svaki korisnik s računom na ovom sustavu moći će pristupiti vašem kalendaru \"%{0}\". Jeste li sigurni da su svi povjerljivi?";
"Potentially anyone on the Internet will be able to access your calendar \"%{0}\", even if they do not have an account on this system. Is this information suitable for the public Internet?"
= "Potencialno svaki korisnik na internetu moći će pristupiti vašem kalendaru \"%{0}\", i ako nema računa u ovom sustavu. Je ova informacija prikladna za javnu objavu na internetu?";
= "Bilo tko na internetu moći će pristupiti vašem kalendaru \"%{0}\", čak iako nema računa u ovom sustavu. Jeli ova informacija prikladna za javnu objavu na internetu?";
"Any user with an account on this system will be able to access your address book \"%{0}\". Are you certain you trust them all?"
= "Svaki korisnik s računom na ovom sustavu moći će pristupiti vaš adresar \"%{0}\". Jeste li sigurni da su svi povjerljivi?";
= "Svaki korisnik s računom na ovom sustavu moći će pristupiti vašem imeniku\"%{0}\". Jeste li sigurni da su svi povjerljivi?";
"Potentially anyone on the Internet will be able to access your address book \"%{0}\", even if they do not have an account on this system. Is this information suitable for the public Internet?"
= "Potencialno svaki korisnik na internetu moći će pristupiti vašem adresaru \"%{0}\", i ako nema računa u ovom sustavu. Je ova informacija prikladna za javnu objavu na internetu?";
= "Bilo tko na internetu moći će pristupiti vašem imeniku\"%{0}\", čak iako nema računa u ovom sustavu. Jeli ova informacija prikladna za javnu objavu na internetu?";
"Give Access" = "Daj pristup";
"Keep Private" = "Zadrži privatno";
/* generic.js */
"Unable to subscribe to that folder!"
= "Ne mogu se naručiti na tu mapu! ";
= "Ne mogu se pretplatiti na tu mapu! ";
"You cannot subscribe to a folder that you own!"
= "Ne možeš se naručiti na vlastitu mapu! ";
= "Ne možete se pretplatiti na vlastitu mapu! ";
"Unable to unsubscribe from that folder!"
= "Ne mogu se odjaviti od te mape! ";
= "Ne mogu se odjaviti od te mape! ";
"You cannot unsubscribe from a folder that you own!"
= "Ne možeš se odjaviti od vlastite mape! ";
= "Ne možete se odjaviti od vlastite mape! ";
"Unable to rename that folder!" = "Ne mogu preimenovati tu mapu!";
"You have already subscribed to that folder!"
= "Več si naručen na tu mapu!";
= "Več ste pretplaćeni na tu mapu!";
"The user rights cannot be edited for this object!"
= "Korisnička prava ne mogu biti konfigurirana za taj objekt.";
"A folder by that name already exists." = "Mapa sa ovim imenom več postoji!";
"You cannot create a list in a shared address book."
= "Ne možeš kreirati liste u zajedničkom adresaru!";
= "Ne možete kreirati liste u zajedničkom imeniku!";
"Warning" = "Upozorenje";
"Can't contact server" = "Došlo je do pogreške prilikom kontaktiranja poslužitelja. Pokušajte ponovno kasnije.";
"You are not allowed to access this module or this system. Please contact your system administrator."
@@ -68,7 +69,20 @@
"delegate is organizer" = "Delegat je organizator. Navedite nekog drugog delegata.";
"delegate is a participant" = "Delegat je već sudionik.";
"delegate is a group" = "Navedena adresa odgovara skupini. Možete prenijeti samo na jedinstvenu osobu.";
"Snooze for " = "Odgodi za";
/* common buttons */
"OK" = "OK";
"Cancel" = "Odustani";
"Yes" = "Da";
"No" = "Ne";
/* alarms */
"Reminder" = "Podsjetnik";
"Start" = "Start";
"Due Date" = "Datum dospijeća";
"Location" = "Mjesto";
"Snooze" = "Utišaj";
"Snooze for " = "Utišaj na";
"5 minutes" = "5 minuta";
"10 minutes" = "10 minuta";
"15 minutes" = "15 minuta";
@@ -76,16 +90,7 @@
"45 minutes" = "45 minuta";
"1 hour" = "1 sat";
"1 day" = "1 dan";
/* common buttons */
"OK" = "OK";
"Cancel" = "Odustani";
"Yes" = "Da";
"No" = "Ne";
/* alarms */
"Reminder" = "Podsjetnik";
"Start" = "Start";
"Due Date" = "Datum dospijeća";
"Location" = "Mjesto";
/* mail labels */
"Important" = "Važno";
"Work" = "Posao";
@@ -103,6 +108,76 @@
"Add User" = "Dodaj korisnika";
"Loading" = "Otvaranje";
"No such user." = "Nema takvog korisnika.";
"You cannot (un)subscribe to a folder that you own!" = "Ne možeš se (od)javiti od vlastite mape! ";
"SOGo" = "SOGo";
"Modules" = "Moduli";
"You cannot (un)subscribe to a folder that you own!" = "Ne možete se (od)javiti od vlastite mape! ";
/* Authentication username */
"Username" = "Korisničko ime";
/* Authentication password */
"Password" = "Lozinka";
/* Authentication failed */
"Wrong username or password." = "Pogrešno korisničko ime ili lozinka";
/* Error message displayed bellow search field when the search string has less than the required number of characters */
"Enter at least %{minimumSearchLength} characters" = "Unesite %{minimumSearchLength} znakova";
/* Error message displayed when a file upload exceeds WOMaxUploadSize */
"File size upload limit reached" = "Dosegnuta je maksimalna veličina privitka";
/* Toggle visibility (ex: mail account in left navigation menu) */
"Toggle visibility" = "Uključi/Isključi vidljivost";
/* Toggle multiple items at the same time (hotkeys cheatsheet) */
"Toggle range of items" = "Uključi/isključi stavke";
/* Question mark shows list of hotkeys */
"Show or hide this help" = "Prikaži/Sakrij ovu pomoć";
/* Space key */
"key_space" = "space";
/* Shift and space key */
"key_shift+space" = "Shift + Space";
/* Up arrow key */
"key_up" = "↑";
/* Down arrow key */
"key_down" = "↓";
/* Left arrow key */
"key_left" = "←";
/* Right arrow key */
"key_right" = "→";
/* Shift and up arrow combo keys */
"key_shift+up" = "shift + ↑";
/* Shift and down arrow combo keys */
"key_shift+down" = "shift + ↓";
/* Backspace key */
"key_backspace" = "backspace";
/* Hotkey to start a search */
"hotkey_search" = "s";
/* Hotkey description to select next list item */
"View next item" = "Vidi slijedeću stavku";
/* Hotkey description to select previous list item */
"View previous item" = "Vidi prethodnu stavku";
/* Hotkey description to add next list item to selection */
"Add next item to selection" = "Dodaj slijedeću stavku u odabir";
/* Hotkey description to add previous list item to selection */
"Add previous item to selection" = "Dodaj prethodnu stavku u odabir";
/* Hotkey description to move backward in current view */
"Move backward" = "Idi natrag";
/* Hotkey description to move forward in current view */
"Move forward" = "Idi naprijed";
+6 -6
View File
@@ -6,7 +6,7 @@
"Edit User Rights" = "Upravit uživatelská oprávnění";
"Home" = "Domů";
"Calendar" = "Kalendář";
"Address Book" = "Adresář";
"Address Book" = "Adresář";
"Mail" = "Pošta";
"Preferences" = "Předvolby";
"Administration" = "Administrace";
@@ -44,16 +44,16 @@
/* generic.js */
"Unable to subscribe to that folder!"
= "Není možné se přihlásit k odebírání této složky!";
= "Není možné se přihlásit k odebírání této složky!";
"You cannot subscribe to a folder that you own!"
= "Nemůžete se přihlásit k odebírání své vlastní složky!";
= "Nemůžete se přihlásit k odebírání své vlastní složky!";
"Unable to unsubscribe from that folder!"
= "Není možné se odhlásit z odebírání této složky!";
= "Není možné se odhlásit z odebírání této složky!";
"You cannot unsubscribe from a folder that you own!"
= "Nemůžete se odhlásit z odebírání své vlastní složky!";
= "Nemůžete se odhlásit z odebírání své vlastní složky!";
"Unable to rename that folder!" = "Není možné tuto složku přejmenovat!";
"You have already subscribed to that folder!"
= "Tuto složku již odebíráte!";
= "Tuto složku již odebíráte!";
"The user rights cannot be edited for this object!"
= "Uživatelská práva pro tento objekt nemohou být upravena!";
"A folder by that name already exists." = "Složka tohoto jména již existuje.";
+9 -9
View File
@@ -6,7 +6,7 @@
"Edit User Rights" = "Edit User Rights";
"Home" = "Home";
"Calendar" = "Calendar";
"Address Book" = "Address Book";
"Address Book" = "Address Book";
"Mail" = "Mail";
"Preferences" = "Preferences";
"Administration" = "Administration";
@@ -31,7 +31,7 @@
"Sorry, the user rights can not be configured for that object." = "Sorry, the user rights can not be configured for that object.";
"Any user with an account on this system will be able to access your mailbox \"%{0}\". Are you certain you trust them all?"
= "Any user with an account on this system will be able to access your mailbox \"%{0}\". Are you certain you trust them all?";
"Any user with an account on this system will be able to access your calendar \"%{0}\". Are you certain you trust them all?"
"Any user with an account on this system will be able to access your calendar \"%{0}\". Are you certain you trust them all?"
= "Any user with an account on this system will be able to access your calendar \"%{0}\". Are you certain you trust them all?";
"Potentially anyone on the Internet will be able to access your calendar \"%{0}\", even if they do not have an account on this system. Is this information suitable for the public Internet?"
= "Potentially anyone on the Internet will be able to access your calendar \"%{0}\", even if they do not have an account on this system. Is this information suitable for the public Internet?";
@@ -44,20 +44,20 @@
/* generic.js */
"Unable to subscribe to that folder!"
= "Unable to subscribe to that folder!";
= "Unable to subscribe to that folder!";
"You cannot subscribe to a folder that you own!"
= "You cannot subscribe to a folder that you own!";
= "You cannot subscribe to a folder that you own!";
"Unable to unsubscribe from that folder!"
= "Unable to unsubscribe from that folder!";
= "Unable to unsubscribe from that folder!";
"You cannot unsubscribe from a folder that you own!"
= "You cannot unsubscribe from a folder that you own!";
= "You cannot unsubscribe from a folder that you own!";
"Unable to rename that folder!" = "Unable to rename that folder!";
"You have already subscribed to that folder!"
= "You have already subscribed to that folder!";
= "You have already subscribed to that folder!";
"The user rights cannot be edited for this object!"
= "The user rights cannot be edited for this object!";
"A folder by that name already exists." = "A folder by that name already exists.";
"You cannot create a list in a shared address book."
"You cannot create a list in a shared address book."
= "You cannot create a list in a shared address book.";
"Warning" = "Warning";
"Can't contact server" = "An error occurred while contacting the server. Please try again later.";
@@ -180,4 +180,4 @@
"Move backward" = "Move backward";
/* Hotkey description to move forward in current view */
"Move forward" = "Move forward";
"Move forward" = "Move forward";
+6 -6
View File
@@ -6,7 +6,7 @@
"Edit User Rights" = "Édition des droits";
"Home" = "Accueil";
"Calendar" = "Agenda";
"Address Book" = "Carnet d'adresses";
"Address Book" = "Carnet d'adresses";
"Mail" = "Courrier";
"Preferences" = "Préférences";
"Administration" = "Administration";
@@ -44,16 +44,16 @@
/* generic.js */
"Unable to subscribe to that folder!"
= "Impossible de s'abonner à ce dossier.";
= "Impossible de s'abonner à ce dossier.";
"You cannot subscribe to a folder that you own!"
= "Impossible de vous abonner à un dossier qui vous appartient.";
= "Impossible de vous abonner à un dossier qui vous appartient.";
"Unable to unsubscribe from that folder!"
= "Impossible de se désabonner de ce dossier.";
= "Impossible de se désabonner de ce dossier.";
"You cannot unsubscribe from a folder that you own!"
= "Impossible de vous désabonner d'un dossier qui vous appartient.";
= "Impossible de vous désabonner d'un dossier qui vous appartient.";
"Unable to rename that folder!" = "Impossible de renommer ce dossier.";
"You have already subscribed to that folder!"
= "Vous êtes déja abonné à ce dossier.";
= "Vous êtes déja abonné à ce dossier.";
"The user rights cannot be edited for this object!"
= "Les droits sur cet objet ne peuvent pas être édités.";
"A folder by that name already exists." = "Un dossier du même nom existe déjà.";
+6 -6
View File
@@ -6,7 +6,7 @@
"Edit User Rights" = "Benutzerrechte bearbeiten";
"Home" = "Start";
"Calendar" = "Kalender";
"Address Book" = "Adressbuch";
"Address Book" = "Adressbuch";
"Mail" = "E-Mail";
"Preferences" = "Einstellungen";
"Administration" = "Administration";
@@ -44,16 +44,16 @@
/* generic.js */
"Unable to subscribe to that folder!"
= "Es ist nicht möglich, diesen Ordner zu abonnieren!";
= "Es ist nicht möglich, diesen Ordner zu abonnieren!";
"You cannot subscribe to a folder that you own!"
= "Sie können keinen Ordner abonnieren, der Ihnen selbst gehört!";
= "Sie können keinen Ordner abonnieren, der Ihnen selbst gehört!";
"Unable to unsubscribe from that folder!"
= "Es ist nicht möglich, diesen Ordner zu kündigen!";
= "Es ist nicht möglich, diesen Ordner zu kündigen!";
"You cannot unsubscribe from a folder that you own!"
= "Sie können keinen Ordner kündigen, der Ihnen selbst gehört!";
= "Sie können keinen Ordner kündigen, der Ihnen selbst gehört!";
"Unable to rename that folder!" = "Es ist nicht möglich, diesen Ordner umzubenennen!";
"You have already subscribed to that folder!"
= "Sie haben diesen Ordner bereits abonniert!";
= "Sie haben diesen Ordner bereits abonniert!";
"The user rights cannot be edited for this object!"
= "Die Benutzerrechte können für dieses Objekt nicht verändert werden!";
"A folder by that name already exists." = "Ein Ordner mit diesem Namen existiert bereits.";
+1 -1
View File
@@ -6,7 +6,7 @@
"Edit User Rights" = "Rediģēt lietotāja tiesības";
"Home" = "Sākums";
"Calendar" = "Kalendārs";
"Address Book" = "Adrešu grāmata";
"Address Book" = "Adrešu grāmata";
"Mail" = "E-pasts";
"Preferences" = "Preferences";
"Administration" = "Administrēšana";
+6 -6
View File
@@ -6,7 +6,7 @@
"Edit User Rights" = "Edytuj uprawnienia użytkownika";
"Home" = "Strona domowa";
"Calendar" = "Kalendarz";
"Address Book" = "Książka adresowa";
"Address Book" = "Książka adresowa";
"Mail" = "Poczta";
"Preferences" = "Ustawienia";
"Administration" = "Administracja";
@@ -44,16 +44,16 @@
/* generic.js */
"Unable to subscribe to that folder!"
= "Nie można subskrybować tego folderu!";
= "Nie można subskrybować tego folderu!";
"You cannot subscribe to a folder that you own!"
= "Nie możesz subskrybować folderu, który jest twoją własnością!";
= "Nie możesz subskrybować folderu, który jest twoją własnością!";
"Unable to unsubscribe from that folder!"
= "Nie można wyłączyć subskrypcji tego folderu!";
= "Nie można wyłączyć subskrypcji tego folderu!";
"You cannot unsubscribe from a folder that you own!"
= "Nie możesz wyłączyć subskrypcji folderu, który jest twoją własnością!";
= "Nie możesz wyłączyć subskrypcji folderu, który jest twoją własnością!";
"Unable to rename that folder!" = "Nie można zmienić nazwy tego folderu!";
"You have already subscribed to that folder!"
= "Już subskrybujesz ten folder!";
= "Już subskrybujesz ten folder!";
"The user rights cannot be edited for this object!"
= "Uprawnienia użytkownika na tym obiekcie nie mogą być edytowane!";
"A folder by that name already exists." = "Folder o tej nazwie już istnieje.";
+6 -6
View File
@@ -6,7 +6,7 @@
"Edit User Rights" = "Редактировать права пользователей";
"Home" = "Начало";
"Calendar" = "Календарь";
"Address Book" = "Адресная книга";
"Address Book" = "Адресная книга";
"Mail" = "Почта";
"Preferences" = "Настройки";
"Administration" = "Администрирование";
@@ -44,16 +44,16 @@
/* generic.js */
"Unable to subscribe to that folder!"
= "Невозможно подписаться на эту папку!";
= "Невозможно подписаться на эту папку!";
"You cannot subscribe to a folder that you own!"
= "Вы не можете подписываться на собственную папку!";
= "Вы не можете подписываться на собственную папку!";
"Unable to unsubscribe from that folder!"
= "Невозможно прекратить подписку на эту папку!";
= "Невозможно прекратить подписку на эту папку!";
"You cannot unsubscribe from a folder that you own!"
= "Вы не можете прекратить подписку на собственную папку!";
= "Вы не можете прекратить подписку на собственную папку!";
"Unable to rename that folder!" = "Невозможно переименовать эту папку!";
"You have already subscribed to that folder!"
= "Вы уже подписались на эту папку!";
= "Вы уже подписались на эту папку!";
"The user rights cannot be edited for this object!"
= "Извините, для данного объекта невозможно настроить права доступа!";
"A folder by that name already exists." = "Папка с этим именем уже существует.";
+6 -6
View File
@@ -6,7 +6,7 @@
"Edit User Rights" = "Upraviť uživateľské práva";
"Home" = "Domov";
"Calendar" = "Kalendár";
"Address Book" = "Adresár";
"Address Book" = "Adresár";
"Mail" = "Pošta";
"Preferences" = "Predvoľby";
"Administration" = "Správa";
@@ -44,16 +44,16 @@
/* generic.js */
"Unable to subscribe to that folder!"
= "Nedá sa prihlásiť k odberu tejto zložky!";
= "Nedá sa prihlásiť k odberu tejto zložky!";
"You cannot subscribe to a folder that you own!"
= "Nemôžete sa prihlásiť k odberu zložky, ktorú vlastnite!";
= "Nemôžete sa prihlásiť k odberu zložky, ktorú vlastnite!";
"Unable to unsubscribe from that folder!"
= "Nedá sa odhlásiť z tejto zložky!";
= "Nedá sa odhlásiť z tejto zložky!";
"You cannot unsubscribe from a folder that you own!"
= "Nemôžete sa odhlásiť zo zložky, ktorú vlastnite!";
= "Nemôžete sa odhlásiť zo zložky, ktorú vlastnite!";
"Unable to rename that folder!" = "Nemožno premenovať túto zložku!";
"You have already subscribed to that folder!"
= "Už ste prihlásení k odberu tejto zložky!";
= "Už ste prihlásení k odberu tejto zložky!";
"The user rights cannot be edited for this object!"
= "Užívateľské práva nemožno upraviť pre tento objekt!";
"A folder by that name already exists." = "Zložka s týmto názvom už existuje.";
@@ -6,7 +6,7 @@
"Edit User Rights" = "Modificar permisos";
"Home" = "Inicio";
"Calendar" = "Calendario";
"Address Book" = "Libreta de direcciones";
"Address Book" = "Libreta de direcciones";
"Mail" = "Correo";
"Preferences" = "Preferencias";
"Administration" = "Administración";
@@ -44,16 +44,16 @@
/* generic.js */
"Unable to subscribe to that folder!"
= "No es posible suscribirse a esta carpeta.";
= "No es posible suscribirse a esta carpeta.";
"You cannot subscribe to a folder that you own!"
= "No es posible suscribirse a una carpeta que le pertenece.";
= "No es posible suscribirse a una carpeta que le pertenece.";
"Unable to unsubscribe from that folder!"
= "No es posible darse de baja de esta carpeta.";
= "No es posible darse de baja de esta carpeta.";
"You cannot unsubscribe from a folder that you own!"
= "No es posible darse de baja de una carpeta que le pertenece.";
= "No es posible darse de baja de una carpeta que le pertenece.";
"Unable to rename that folder!" = "La carpeta no puede ser renombrada.";
"You have already subscribed to that folder!"
= "Ya se ha suscrito a esta carpeta.";
= "Ya se ha suscrito a esta carpeta.";
"The user rights cannot be edited for this object!"
= "No es posible modificar los permisos de acceso a este objeto.";
"A folder by that name already exists." = "Ya existe una carpeta con ese nombre.";
@@ -69,14 +69,6 @@
"delegate is organizer" = "El delegado es el organizador. Por favor, especifique un delegado diferente.";
"delegate is a participant" = "El delegado ya es un participante.";
"delegate is a group" = "La dirección especificada corresponde a un grupo. Sólo puede delegar a una persona única.";
"Snooze for " = "Posponer para";
"5 minutes" = "5 minutos";
"10 minutes" = "10 minutos";
"15 minutes" = "15 minutos";
"30 minutes" = "30 minutos";
"45 minutes" = "45 minutos";
"1 hour" = "1 hora";
"1 day" = "1 día";
/* common buttons */
"OK" = "OK";
@@ -89,6 +81,15 @@
"Start" = "Desde";
"Due Date" = "Vencimiento";
"Location" = "Lugar";
"Snooze" = "Aplazar";
"Snooze for " = "Posponer para";
"5 minutes" = "5 minutos";
"10 minutes" = "10 minutos";
"15 minutes" = "15 minutos";
"30 minutes" = "30 minutos";
"45 minutes" = "45 minutos";
"1 hour" = "1 hora";
"1 day" = "1 día";
/* mail labels */
"Important" = "Importante";
@@ -118,5 +119,65 @@
/* Authentication failed */
"Wrong username or password." = "Nombre de usuario o contraseña incorrectos.";
/* Error message display bellow search field when the search string has less than the required number of characters */
"Enter at least %{minimumSearchLength} characters" = "Entrar al mínimo %{minimumSearchLength} caracteres";
/* Error message displayed bellow search field when the search string has less than the required number of characters */
"Enter at least %{minimumSearchLength} characters" = "Entrar al mínimo %{minimumSearchLength} caracteres";
/* Error message displayed when a file upload exceeds WOMaxUploadSize */
"File size upload limit reached" = "Alcanzado el tamaño máximo del archivo";
/* Toggle visibility (ex: mail account in left navigation menu) */
"Toggle visibility" = "Cambiar la visibilidad";
/* Toggle multiple items at the same time (hotkeys cheatsheet) */
"Toggle range of items" = "Cambiar el rango de elementos";
/* Question mark shows list of hotkeys */
"Show or hide this help" = "Mostrar u ocultar esta ayuda";
/* Space key */
"key_space" = "space";
/* Shift and space key */
"key_shift+space" = "Mayúsculas + espacio";
/* Up arrow key */
"key_up" = "↑";
/* Down arrow key */
"key_down" = "↓";
/* Left arrow key */
"key_left" = "←";
/* Right arrow key */
"key_right" = "→";
/* Shift and up arrow combo keys */
"key_shift+up" = "shift + ↑";
/* Shift and down arrow combo keys */
"key_shift+down" = "shift + ↓";
/* Backspace key */
"key_backspace" = "backspace";
/* Hotkey to start a search */
"hotkey_search" = "s";
/* Hotkey description to select next list item */
"View next item" = "Mostrar siguiente elemento";
/* Hotkey description to select previous list item */
"View previous item" = "Mostrar elemento anterior";
/* Hotkey description to add next list item to selection */
"Add next item to selection" = "Añadir el siguiente elemento en la selección";
/* Hotkey description to add previous list item to selection */
"Add previous item to selection" = "Añadir elemento anterior en la selección";
/* Hotkey description to move backward in current view */
"Move backward" = "Retroceder";
/* Hotkey description to move forward in current view */
"Move forward" = "Avanzar";
@@ -4,61 +4,61 @@
"Save" = "Kaydet";
"Close" = "Kapat";
"Edit User Rights" = "Kullanıcı Yetkilerini Düzenle";
"Home" = "Ev";
"Home" = "Ana Sayfa";
"Calendar" = "Takvim";
"Address Book" = "Adres Defteri";
"Address Book" = "Adres Defteri";
"Mail" = "E-posta";
"Preferences" = "Tercihler";
"Administration" = "Yönetim";
"Disconnect" = "Güvenli Çıkış";
"Toggle Menu" = "Menüde Geçiş Yap";
"Right Administration" = "Yetki Yönetimi";
"Log Console (dev.)" = "Seyir Defteri (geliştirici)";
"Log Console (dev.)" = "Seyir Defteri (gelişt.)";
"User" = "Kullanıcı";
"Vacation message is enabled" = "Tatil mesajı etkinleştirildi";
"Help" = "Yardım";
"noJavascriptError" = "SOGo'yu çalıştırmak için Javascript gereklidir. Lütfen internet gezgininizde Javascript özelliğinin bulunup, etkinleştirilmiş olduğundan emin olun. ";
"noJavascriptRetry" = "Yeniden Dene";
"noJavascriptRetry" = "Yeniden Deneyin";
"Owner" = "Hak Sahibi";
"Publish the Free/Busy information" = "Serbest/Meşgul bilgisini yayınla";
"Publish the Free/Busy information" = "Serbest/Meşgul bilgisini yayımla";
"Add..." = "Ekle...";
"Remove" = "Çıkar";
"Subscribe User" = "Kullanıcıyı Üye Yap";
"Any Authenticated User" = "Kimliği doğrulanmış her kullanıcı";
"Any Authenticated User" = "Kimliği doğrulanan her kullanıcı";
"Public Access" = "Herkese Açık Erişim";
"Any user not listed above" = "Aşağıdaki listede bulanmayan her kullanıcı";
"Anybody accessing this resource from the public area" = "Bu kaynağa genel alandan ulaşan herkes";
"Sorry, the user rights can not be configured for that object." = "Üzgünüz, bu öge için kullanıcı yetkileri ayarlanamaz.";
"Any user with an account on this system will be able to access your mailbox \"%{0}\". Are you certain you trust them all?"
= "Bu ağda hesabı bulunan her kullanıcı \"%{0}\" e-posta klasörünüze erişebilecek. Hepsine güvenebileceğinizden emin misiniz?";
= "Bu ağda hesabı bulunan her kullanıcı \"%{0}\" e-posta klasörünüze erişebilecek. Hepsine güvenebileceğinize emin misiniz?";
"Any user with an account on this system will be able to access your calendar \"%{0}\". Are you certain you trust them all?"
= "Bu ağda hesabı olan her kullanıcı \"%{0}\" takviminize erişebilecek. Hepsine güvenebileceğinizden emin misiniz?";
= "Bu ağda hesabı olan her kullanıcı \"%{0}\" takviminize erişebilecek. Hepsine güvenebileceğinize emin misiniz?";
"Potentially anyone on the Internet will be able to access your calendar \"%{0}\", even if they do not have an account on this system. Is this information suitable for the public Internet?"
= "Muhtemelen internetteki herkes, bu ağ üzerinde bir hesapları olmasa bile \"%{0}\" takviminize erişebilecek. Bu bilgi genel internet için uygun mu?";
= "Potansiyel olarak internetteki herkes, bu ağ üzerinde bir hesapları olmasa bile \"%{0}\" takviminize erişebilecek. Bu bilgi genel internet erişimi için uygun mu?";
"Any user with an account on this system will be able to access your address book \"%{0}\". Are you certain you trust them all?"
= "Bu ağda hesabı olan her kullanıcı \"%{0}\" adres defterinize erişebilecek. Hepsine güvenebileceğinizden emin misiniz?";
= "Bu ağda hesabı olan her kullanıcı \"%{0}\" adres defterinize erişebilecek. Hepsine güvenebileceğinize emin misiniz?";
"Potentially anyone on the Internet will be able to access your address book \"%{0}\", even if they do not have an account on this system. Is this information suitable for the public Internet?"
= "Muhtemelen internetteki herkes, bu ağ üzerinde bir hesapları olmasa bile \"%{0}\" adres defterinize erişebilecek. Bu bilgi genel internet için uygun mu?";
"Give Access" = "Erişim Yetkisi Ver";
= "Potansiyel olarak internetteki herkes, bu ağ üzerinde bir hesapları olmasa bile \"%{0}\" adres defterinize erişebilecek. Bu bilgi genel internet erişimi için uygun mu?";
"Give Access" = "Erişim İzni Ver";
"Keep Private" = "Kişisel Tut";
/* generic.js */
"Unable to subscribe to that folder!"
= "Bu klasöre üye olunamıyor!";
= "Bu klasöre üye olunamıyor!";
"You cannot subscribe to a folder that you own!"
= "Kendi klasörünüze üye olamazsınız!";
= "Kendi klasörünüze üye olamazsınız!";
"Unable to unsubscribe from that folder!"
= "Bu klasörden üyelik kaldırılamıyor!";
= "Bu klasörden üyelik kaldırılamıyor!";
"You cannot unsubscribe from a folder that you own!"
= "Kendinize ait bir klasörden üyelik kaldıramazsınız!";
= "Kendinize ait bir klasörden üyelik kaldıramazsınız!";
"Unable to rename that folder!" = "Bu klasörün adı değiştirilemiyor!";
"You have already subscribed to that folder!"
= "Bu klasöre zaten üyesiniz!";
= "Bu klasöre zaten üyesiniz!";
"The user rights cannot be edited for this object!"
= "Bu ögenin kullanıcı yetkileri düzenlenemez!";
"A folder by that name already exists." = "Bu isimde başka bir klasör var.";
"You cannot create a list in a shared address book."
= "Paylaşılan bir adres defterinde liste oluşturmazsınız!";
= "Paylaşılan bir adres defterinde liste oluşturamazsınız!";
"Warning" = "Uyarı";
"Can't contact server" = "Sunucuya erişirken bir hata oluştu. Lütfen, daha sonra tekrar deneyin.";
"You are not allowed to access this module or this system. Please contact your system administrator."
@@ -66,7 +66,7 @@
"You don't have the required privileges to perform the operation."
= "Bu işlemi gerçekleştirmek için gereken yetkilere sahip değilsiniz.";
"noEmailForDelegation" = "Davetinize vekil atayacağınız kişinin adresini belirtmelisiniz.";
"delegate is organizer" = "Vekil edilen kişi etkinliği düzenleyen kişidir. Lütfen başka bir vekil belirleyin edin. ";
"delegate is organizer" = "Vekil edilen kişi etkinliği düzenleyen kişidir. Lütfen başka bir vekil belirleyin.";
"delegate is a participant" = "Vekil edilen kişi zaten bu etkinliğe katılıyor.";
"delegate is a group" = "Belirtilen adres bir gruba denk geliyor. Sadece bir kişiyi vekil tayin edebilirsiniz.";
@@ -79,10 +79,10 @@
/* alarms */
"Reminder" = "Hatırlatıcı";
"Start" = "Başlangıç";
"Due Date" = "Kapanış Tarihi";
"Due Date" = "Termin Tarih";
"Location" = "Konum";
"Snooze" = "Ertele";
"Snooze for " = "Beklenecek süre";
"Snooze for " = "Ertelenen süre";
"5 minutes" = "5 dakika";
"10 minutes" = "10 dakika";
"15 minutes" = "15 dakika";
@@ -105,7 +105,7 @@
"a2_Friday" = "Cum";
"a2_Saturday" = "Cts";
"Access Rights" = "Erişim Yetkileri";
"Add User" = "Kullanıcı Ekleyin";
"Add User" = "Kullanıcı Ekle";
"Loading" = "Yükleniyor";
"No such user." = "Böyle bir kullanıcı yok.";
"You cannot (un)subscribe to a folder that you own!" = "Kendinize ait bir klasöre üye olamaz (üyeliğinizi kaldıramazsınız)!";
@@ -165,13 +165,13 @@
"hotkey_search" = "s";
/* Hotkey description to select next list item */
"View next item" = "Sonraki görünüm";
"View next item" = "Sonraki öge";
/* Hotkey description to select previous list item */
"View previous item" = "Önceki görünüm";
"View previous item" = "Önceki öge";
/* Hotkey description to add next list item to selection */
"Add next item to selection" = "Sonraki maddeyi seçime ekle";
"Add next item to selection" = "Sonraki ögeyi seçime ekle";
/* Hotkey description to add previous list item to selection */
"Add previous item to selection" = "Önceki maddeyi seçime ekle";
@@ -180,4 +180,4 @@
"Move backward" = "Geriye taşı";
/* Hotkey description to move forward in current view */
"Move forward" = "Öne taşı";
"Move forward" = "İleriye taşı";
@@ -0,0 +1,270 @@
/* this file is in UTF-8 format! */
"Contact" = "联系人";
"Address" = "地址";
"Photos" = "照片";
"Other" = "其他";
"Address Books" = "通讯录";
"Addressbook" = "通讯录";
"Addresses" = "住址";
"Update" = "更新";
"Cancel" = "取消";
"Common" = "一般";
"Contact editor" = "编辑联系人";
"Contact viewer" = "查看联系人";
"Email" = "邮件";
"Screen Name" = "显示名称";
"Extended" = "扩展";
"Fax" = "传真";
"Firstname" = "姓";
"Home" = "家庭地址";
"HomePhone" = "家庭电话";
"Lastname" = "名字";
"Location" = "地点";
"Add a category" = "新增类别";
"MobilePhone" = "手机";
"Name" = "名字";
"OfficePhone" = "工作电话";
"Organization" = " 组织";
"Work Phone" = "单位电话";
"Phone" = "电话";
"Phones" = "电话";
"Postal" = "邮政编码";
"Save" = "保存";
"Internet" = "网络";
"Unit" = "单位";
"delete" = "删除";
"edit" = "编辑";
"invalidemailwarn" = "指定的邮件地址无效";
"new" = "新的";
"Preferred Phone" = "首选电话";
"Move To" = "移到";
"Copy To" = "复制到";
"Add to" = "增加到";
"To" = "收件人";
"Carbon Copy (Cc)" = "抄送 (Cc)";
"Blind Carbon Copy (Bcc)" = "密送 (Bcc)";
/* Subheader of empty addressbook */
"No contact" = "无联系人";
/* Subheader of system addressbook */
"Start a search to browse this address book" = "搜索该地址簿";
/* Number of contacts in addressbook; string is prefixed by number */
"contacts" = "联系人";
/* No contact matching search criteria */
"No matching contact" = "无联系人";
/* Number of contacts matching search criteria; string is prefixed by number */
"matching contacts" = "匹配联系人";
/* Number of selected contacts in list */
"selected" = "选中";
/* Empty right pane */
"No contact selected" = "没有选择联系人";
/* Tooltips */
"Create a new address book card" = "新增名片";
"Create a new list" = "新增列表";
"Edit the selected card" = "编辑选中的名片";
"Send a mail message" = "发送一个邮件";
"Delete selected card or address book" = "删除选中的名片或通讯录";
"Reload all contacts" = "刷新联系人";
"htmlMailFormat_UNKNOWN" = "未知";
"htmlMailFormat_FALSE" = "纯文本";
"htmlMailFormat_TRUE" = "HTML";
"Name or Email" = "名字或地址";
"Category" = "类别";
"Personal Addressbook" = "个人通讯录";
"Search in Addressbook" = "搜索通讯录";
"New Card" = "新名片";
"New List" = "新列表";
"Edit" = "编辑";
"Properties" = "属性";
"Sharing..." = "共享...";
"Write" = "写入";
"Delete" = "删除";
"Instant Message" = "即时消息";
"Add..." = "增加...";
"Remove" = "删除";
"Please wait..." = "请稍候...";
"No possible subscription" = "不可以订阅";
"Preferred" = "推荐的";
"Display" = "显示";
"Display Name" = "显示名称";
"Additional Email" = "附加的邮件";
"Phone Number" = "电话号码";
"Prefers to receive messages formatted as" = "偏好邮件格式";
"Categories" = "分类";
"First" = "名";
"Last" = "姓";
"Nickname" = "昵称";
"Telephone" = "电话";
"Work" = "工作";
"Mobile" = "手机";
"Pager" = "传呼";
/* categories */
"contacts_category_labels" = "同事, 竞争对手, 客户, 朋友, 家庭, 工作伙伴, 供应商, 媒体, VIP";
"New category" = "新类别";
/* adresses */
"Title" = "头衔";
"Service" = "服务";
"Company" = "公司";
"Department" = "部门";
"City" = "城市";
"State_Province" = "州/省";
"ZIP_Postal Code" = "ZIP/邮编";
"Country" = "国家";
"Web Page" = "主页";
"Other Infos" = "其他信息";
"Note" = "备考";
"Timezone" = "时区";
"Birthday" = "生日";
"Birthday (yyyy-mm-dd)" = "生日 (yyyy-mm-dd)";
"Freebusy URL" = "忙碌/空闲";
"Add as..." = "新增为...";
"Recipient" = "收件人";
"Carbon Copy" = "副本";
"Blind Carbon Copy" = "密件副本";
"New Addressbook..." = "新通讯录...";
"Subscribe to an Addressbook..." = "订阅通讯录...";
"Remove the selected Addressbook" = "删除选中的通讯录";
"Subscribe to a shared folder" = "订阅到共享目录";
"Search User" = "搜索用户";
"Name of the Address Book" = "通讯录名称";
"Are you sure you want to delete the selected address book?"
= "确定删除选中的通讯录吗";
"Are you sure you want to delete the addressbook \"%{0}\"?"
= "确认删除该通讯录 \"%{0}\"?";
"You cannot remove nor unsubscribe from a public addressbook."
= "不能从公共通讯录里删除或取消订阅。";
"You cannot remove nor unsubscribe from your personal addressbook."
= "不能从个人通讯录里删除或取消订阅。";
"Are you sure you want to delete the selected contacts?"
= "确认要删除选中的联系人吗?";
"Are you sure you want to delete the card of %{0}?" = "您确定要删除%{0}的联系人名片?";
"You cannot delete the card of \"%{0}\"."
= "不能删除通讯录 \"%{0}\"。";
"You cannot subscribe to a folder that you own!"
= "不能退订自己的目录。";
"Unable to subscribe to that folder!"
= "不能订阅到该目录。";
/* acls */
"Access rights to" = "获得权限访问";
"For user" = "给用户";
"Any Authenticated User" = "所有授权的用户";
"Public Access" = "公开访问";
"This person can add cards to this addressbook."
= "编辑该通讯录。";
"This person can edit the cards of this addressbook."
= "编辑这个通讯录里的内容。";
"This person can list the content of this addressbook."
= "查看这个通讯录的内容。";
"This person can read the cards of this addressbook."
= "读取通讯录的联系人。";
"This person can erase cards from this addressbook."
= "删除这个通讯录的联系人。";
"The selected contact has no email address."
= "选中的联系人没有邮件地址。";
"Please select a contact." = "请选择联系人。";
/* Messages for move and copy */
"%{0} card(s) copied" = "%{0}个名片被复制";
"%{0} card(s) moved" = "%{0}个名片被移动";
"SoAccessDeniedException" = "不能编辑该通讯录。";
"Forbidden" = "禁止";
"Invalid Contact" = "选中的联系人已经不存在了。";
"Unknown Destination Folder" = "选中的目标通讯录不存在。";
/* Lists */
"List details" = "显示详细信息";
"List name" = "显示名字";
"List nickname" = "显示昵称";
"List description" = "显示说明";
"Members" = "成员";
"Contacts" = "联系人";
"Add" = "新增";
"Lists can't be moved or copied." = "列表不能删除或复制。";
"Export" = "导出";
"Export Address Book..." = "导出通讯录...";
"View Raw Source" = "查看源文件";
/* Import */
"Import Cards" = "导入联系人";
"Select a vCard or LDIF file." = "选择一个 vCard 或者 LDIF 文件。";
"Upload" = "上传";
"Uploading" = "上传中";
"Done" = "完成";
"An error occured while importing contacts." = "导入联系人时发生错误。";
"No card was imported." = "没有名片可以导入。";
"A total of %{0} cards were imported in the addressbook." = "总共 %{0} 个名片被导入到通讯录。";
"Reload" = "刷新";
/* Properties window */
"Address Book Name" = "通讯录名称";
"Links to this Address Book" = "链接到此通讯录";
"Authenticated User Access" = "授权的用户访问";
"CardDAV URL" = "CardDAV URL";
"Options" = "选项";
"Rename" = "重命名";
"Subscriptions" = "订阅";
"Global Addressbooks" = "全球地址簿";
"Search" = "搜索";
"Sort" = "排序";
"Descending Order" = "降序";
"Back" = "返回";
"Select All" = "全选";
"Copy contacts" = "复制联系人";
"More messages options" = "更多选项";
"New Contact" = "新联系人";
"Close" = "关闭";
"More contact options" = "更多联系人选项";
"Organization Unit" = "组织单位";
"Add Organizational Unit" = "新增组织单位";
"Type" = "类型";
"Email Address" = "邮件地址";
"New Email Address" = "新邮件地址";
"New Phone Number" = "新电话号码";
"URL" = "网址";
"New URL" = "新网址";
"street" = "街道";
"Postoffice" = "邮局";
"Region" = "地区";
"Postal Code" = "邮编";
"New Address" = "新地址";
"Reset" = "重置";
"Description" = "说明";
"Add Member" = "增加成员";
"Subscribe" = "订阅";
"Add Birthday" = "添加生日";
"Import" = "导入";
"More options" = "更多选项";
"Role" = "角色";
"Add Screen Name" = "添加标示";
"Custom 1" = "自定义 1";
"Custom 2" = "自定义 2";
"Custom 3" = "自定义 3";
"Custom 4" = "自定义 4";
"Custom Value" = "自定义值";
"New Custom Value" = "新建自定义值";
"Synchronization" = "同步";
"Synchronize" = "同步";
"Sucessfully subscribed to address book" = "已成功订阅通讯录";
/* Aria label for scope of search on contacts */
"Search scope" = "搜索范围";
/* Aria label for avatar button to select and unselect a card */
"Toggle item" = "切换";
/* Hotkey to create a new card */
"key_create_card" = "c";
/* Hotkey to create a new list */
"key_create_list" = "l";
+97 -54
View File
@@ -4,8 +4,8 @@
"Address" = "Adresa";
"Photos" = "Fotografije";
"Other" = "Ostalo";
"Address Books" = "Adresari";
"Addressbook" = "Adresar";
"Address Books" = "Imenici";
"Addressbook" = "Imenik";
"Addresses" = "Adrese";
"Update" = "Ažuriranje";
"Cancel" = "Odustani";
@@ -14,11 +14,11 @@
"Contact viewer" = "Preglednik kontakta";
"Email" = "e pošta";
"Screen Name" = "Screen Name";
"Extended" = "Razšireno";
"Extended" = "Prošireno";
"Fax" = "Fax";
"Firstname" = "Ime";
"Home" = "Početna";
"HomePhone" = "KučniTelefon";
"HomePhone" = "KućniTelefon";
"Lastname" = "Prezime";
"Location" = "Mjesto";
"Add a category" = "Dodaj kategoriju";
@@ -35,44 +35,55 @@
"Unit" = "Jedinica";
"delete" = "izbriši";
"edit" = "uredi";
"invalidemailwarn" = "Naveden e-mail naveden je nevažeći";
"invalidemailwarn" = "Navedeni e-mail je nevažeći";
"new" = "novo";
"Preferred Phone" = "Preferirani telefon";
"Move To" = "Micaj u";
"Move To" = "Pomakni u";
"Copy To" = "Kopiraj u";
"Add to" = "Dodaj u";
"To" = "Za";
"Carbon Copy (Cc)" = "Kopija (Cc)";
"Blind Carbon Copy (Bcc)" = "Skrivena kopija (Bcc)";
/* Subheader of empty addressbook */
"No contact" = "Nema kontakta";
/* Subheader of system addressbook */
"Start a search to browse this address book" = "Počni pretragu pregledavanje ovog adresara";
"Start a search to browse this address book" = "Pokrenite pretragu za pregledavanje ovog imenika";
/* Number of contacts in addressbook; string is prefixed by number */
"contacts" = "kontakti";
/* No contact matching search criteria */
"No matching contact" = "Nema odgovarajučeg kontakta";
/* Number of contacts matching search criteria; string is prefixed by number */
"matching contacts" = "odgovarajuči kontakti";
/* Number of selected contacts in list */
"selected" = "odabrano";
/* Empty right pane */
"No contact selected" = "Nema odabranog kontakta";
/* Tooltips */
"Create a new address book card" = "Stvaranje novog kontakta";
"Create a new list" = "Stvaranje nove distribucijske liste";
"Edit the selected card" = "Uredi odabrani kontakt";
"Send a mail message" = "Pošalji e-mail poruku";
"Delete selected card or address book" = "Obriši odabrani kontakt ili adresar";
"Delete selected card or address book" = "Obriši odabrani kontakt ili imenik";
"Reload all contacts" = "Ponovo učitaj sve kontakte";
"htmlMailFormat_UNKNOWN" = "Nepoznato";
"htmlMailFormat_FALSE" = "Običan tekst";
"htmlMailFormat_TRUE" = "HTML";
"Name or Email" = "Ime ili e-mail";
"Category" = "Kategorija";
"Personal Addressbook" = "Osobni adresar";
"Search in Addressbook" = "Traži u adresaru";
"Personal Addressbook" = "Osobni imenik";
"Search in Addressbook" = "Traži u imeniku";
"New Card" = "Nova kartica";
"New List" = "Novi list";
"Edit" = "Uredi";
"Properties" = "Svojstava";
"Properties" = "Svojstva";
"Sharing..." = "Dijeljenje...";
"Write" = "Piši";
"Delete" = "Izbriši";
@@ -80,13 +91,13 @@
"Add..." = "Dodaj...";
"Remove" = "Ukloni";
"Please wait..." = "Molimo pričekajte...";
"No possible subscription" = "Nije moguča prijava";
"No possible subscription" = "Nije moguća prijava";
"Preferred" = "Preferirano";
"Display" = "Zaslon";
"Display Name" = "Prikazno ime";
"Display Name" = "Prikazano ime";
"Additional Email" = "Dodatna e-pošta";
"Phone Number" = "Telefonski broj";
"Prefers to receive messages formatted as" = "Preferira e-poštu formatiranu ko";
"Prefers to receive messages formatted as" = "Preferira e-poštu formatiranu kao";
"Categories" = "Kategorije";
"First" = "Prvi";
"Last" = "Zadnji";
@@ -95,72 +106,82 @@
"Work" = "Posao";
"Mobile" = "Mobilni";
"Pager" = "Pager";
/* categories */
"contacts_category_labels" = "kolega, natjecatelj, kupac, prijatelj, obitelj, poslovni partner, usluga, tisak, VIP";
"contacts_category_labels" = "kolega, natjecatelj, kupac, prijatelj, obitelj, poslovni partner, uslužitelj, tisak, VIP";
"New category" = "Nova kategorija";
/* adresses */
"Title" = "Naslov";
"Service" = "Usluga";
"Company" = "Tvrtka";
"Department" = "Odjel";
"City" = "Grad";
"State_Province" = "Drzava/provinca";
"ZIP_Postal Code" = "ZIP/Poštanski broj";
"State_Province" = "Pokrajina";
"ZIP_Postal Code" = "Poštanski broj";
"Country" = "Država";
"Web Page" = "Web stranica";
"Other Infos" = "Ostali podaci";
"Note" = "Napomena";
"Timezone" = "Vremenska zona";
"Birthday" = "Rođendan";
"Birthday (yyyy-mm-dd)" = "Rođendan (yyyy-mm-dd)";
"Birthday (yyyy-mm-dd)" = "Rođendan (gggg-mm-dd)";
"Freebusy URL" = "Freebusy URL:";
"Add as..." = "Dodaj ko...";
"Add as..." = "Dodaj kao...";
"Recipient" = "Primatelj";
"Carbon Copy" = "Kopija";
"Blind Carbon Copy" = "Skrivena kopija";
"New Addressbook..." = "Novi adresar...";
"Subscribe to an Addressbook..." = "Naruči se na adresar...";
"Remove the selected Addressbook" = "Ukloni odabrani adresar";
"New Addressbook..." = "Novi imenik...";
"Subscribe to an Addressbook..." = "Naruči se na imenik...";
"Remove the selected Addressbook" = "Ukloni odabrani imenik";
"Subscribe to a shared folder" = "Naruči se na zajedničku mapu";
"Search User" = "Traži korisnika";
"Name of the Address Book" = "Ime adresara";
"Name of the Address Book" = "Naziv imenika";
"Are you sure you want to delete the selected address book?"
= "Ste sigurni da želite obrisati odabrani adresar?";
= "Jeste li sigurni da želite obrisati odabrani imenik?";
"Are you sure you want to delete the addressbook \"%{0}\"?"
= "Jeste li sigurni da želite obrisati imenik \"%{0}\"?";
"You cannot remove nor unsubscribe from a public addressbook."
= "Ne možete ukloniti ili se odjaviti od javnog adresara.";
= "Ne možete ukloniti ili se odjaviti od javnog imenika.";
"You cannot remove nor unsubscribe from your personal addressbook."
= "Ne možte ukloniti ili se odjaviti od osobnog adresara.";
= "Ne možte ukloniti ili se odjaviti od osobnog imenika.";
"Are you sure you want to delete the selected contacts?"
= "Ste sigurni da želite obrisati odabrane kontakte?";
= "Jeste li sigurni da želite obrisati odabrane kontakte?";
"Are you sure you want to delete the card of %{0}?" = "Jeste li sigurni da želite izbrisati kontakt od \"%{0}\"?";
"You cannot delete the card of \"%{0}\"."
= "Me možete obrisati kontakt \"%{0}\".";
"You cannot subscribe to a folder that you own!"
= "Ne možeš se naručiti na vlastitu mapu.";
= "Ne možete se naručiti na vlastitu mapu.";
"Unable to subscribe to that folder!"
= "Ne možeš se naručiti na tu mapu! ";
= "Ne možete se naručiti na tu mapu! ";
/* acls */
"Access rights to" = "Dozvoli pristup";
"For user" = "Za korisnika";
"Any Authenticated User" = "Svaki ovlašteni korisnik";
"Public Access" = "Javni pristup";
"This person can add cards to this addressbook."
= "Ova osoba ne može dodavati kontakte adresaru.";
= "Ova osoba ne može dodavati kontakte u imenik.";
"This person can edit the cards of this addressbook."
= "Ova odoba može editirati kontakte u adresaru.";
= "Ova osoba može editirati kontakte u imeniku.";
"This person can list the content of this addressbook."
= "Ova odoba može vidjeti kontakte u adresaru.";
= "Ova osoba može vidjeti kontakte u imeniku.";
"This person can read the cards of this addressbook."
= "Ova odoba može čitati kontakte u adresaru.";
= "Ova osoba može čitati kontakte u imeniku.";
"This person can erase cards from this addressbook."
= "Ova osoba može brisati kontakte iz adresara.";
= "Ova osoba može brisati kontakte iz imenika.";
"The selected contact has no email address."
= "Odabrani kontakt nema e-mail adrese.";
"Please select a contact." = "Molim odaberi kontakt.";
/* Error messages for move and copy */
"SoAccessDeniedException" = "Ne možeš pisati u adresar.";
"Forbidden" = "Ne možeš pisati u adresar .";
"Please select a contact." = "Molim odaberite kontakt.";
/* Messages for move and copy */
"%{0} card(s) copied" = "%{0} kontakata kopirano";
"%{0} card(s) moved" = "%{0} kontakata pomaknuto";
"SoAccessDeniedException" = "Ne možete pisati u imenik.";
"Forbidden" = "Zabranjeno";
"Invalid Contact" = "Odabrani kontakt ne postoji više.";
"Unknown Destination Folder" = "Odabrani adresar ne postoji više.";
"Unknown Destination Folder" = "Odabrani imenik ne postoji više.";
/* Lists */
"List details" = "Prikaži pojedinosti";
"List name" = "Prikaži ime";
@@ -169,38 +190,41 @@
"Members" = "Članovi";
"Contacts" = "Kontakti";
"Add" = "Dodaj";
"Lists can't be moved or copied." = "Liste se ne može premjestiti ili kopirati.";
"Lists can't be moved or copied." = "Liste se ne mogu premjestiti ili kopirati.";
"Export" = "Izvoz";
"Export Address Book..." = "Izvozi adresar...";
"Export Address Book..." = "Izvezi imenik...";
"View Raw Source" = "Pogledaj Raw Izvor";
/* Import */
"Import Cards" = "Uvoz kartice";
"Select a vCard or LDIF file." = "Odaberi vCard ili LDIF datoteku.";
"Upload" = "Prijenos";
"Uploading" = "Prijenasanje";
"Done" = "Napravljeno.";
"Uploading" = "Prenošenje";
"Done" = "Odrađeno";
"An error occured while importing contacts." = "Došlo je do pogreške prilikom uvoza kontakata.";
"No card was imported." = "Kartice nisu bile uvezene.";
"A total of %{0} cards were imported in the addressbook." = "Ukupno %{0} kartica je uvezenih u adresar.";
"A total of %{0} cards were imported in the addressbook." = "Ukupno %{0} kartica je uvezeno u imenik.";
"Reload" = "Ponovno učitaj";
/* Properties window */
"Address Book Name" = "Ime adresara";
"Links to this Address Book" = "Linkovi na ovaj adresar";
"Authenticated User Access" = "Pristup ovlastenih korisnika";
"Address Book Name" = "Naziv imenika";
"Links to this Address Book" = "Linkovi na ovaj imenik";
"Authenticated User Access" = "Pristup ovlaštenih korisnika";
"CardDAV URL" = "CardDAV URL";
"Options" = "Mogućnosti";
"Rename" = "Preimenovati";
"Subscriptions" = "Pretplate";
"Global Addressbooks" = "Globalni adresari";
"Global Addressbooks" = "Globalni imenici";
"Search" = "Traži";
"Sort" = "Sortiraj";
"Descending Order" = "Silazni poredak";
"Back" = "Natrag";
"Select All" = "Odaberi sve";
"Copy contacts" = "Kopiraj kontakte";
"More messages options" = "Više opcija poruke";
"More messages options" = "Više opcija za poruke";
"New Contact" = "Novi kontakt";
"Close" = "Zatvori";
"More contact options" = "Više opcija kontakata";
"More contact options" = "Više opcija za kontakte";
"Organization Unit" = "Organizacijska jedinica";
"Add Organizational Unit" = "Dodaj organizacijsku jedinicu";
"Type" = "Tip";
@@ -210,6 +234,7 @@
"URL" = "URL";
"New URL" = "Novi URL";
"street" = "ulica";
"street (continued)" = "ulica (dodatak)";
"Postoffice" = "Poštanski ured";
"Region" = "Regija";
"Postal Code" = "Poštanski broj";
@@ -217,12 +242,30 @@
"Reset" = "Resetiraj";
"Description" = "Opis";
"Add Member" = "Dodaj člana";
"Subscribe" = "Naruči.";
"Subscribe" = "Naruči";
"Add Birthday" = "Dodaj rođendan";
"Import" = "Uvezi";
"More options" = "Više opcija";
"Role" = "Uloga";
"Add Screen Name" = "Dodaj prikazno ime";
"Synchronization" = "Synchronization";
"Synchronize" = "Sinhroniziraj";
"Successfully subscribed to address book" = "Successfully subscribed to address book";
"Custom 1" = "Prilagođeno 1";
"Custom 2" = "Prilagođeno 2";
"Custom 3" = "Prilagođeno 3";
"Custom 4" = "Prilagođeno 4";
"Custom Value" = "Prilagođena vrijednost";
"New Custom Value" = "Nova prilagođena vrijednost";
"Synchronization" = "Sinkornizacija";
"Synchronize" = "Sinkroniziraj";
"Sucessfully subscribed to address book" = "Uspješno ste se pretplatili na imenik";
/* Aria label for scope of search on contacts */
"Search scope" = "Opseg pretraživanja";
/* Aria label for avatar button to select and unselect a card */
"Toggle item" = "Uključi/Isključi";
/* Hotkey to create a new card */
"key_create_card" = "c";
/* Hotkey to create a new list */
"key_create_list" = "l";
+11 -1
View File
@@ -41,6 +41,9 @@
"Move To" = "Přesunout do";
"Copy To" = "Kopírovat do";
"Add to" = "Přidat do";
"To" = "Komu";
"Carbon Copy (Cc)" = "Kopie (Cc)";
"Blind Carbon Copy (Bcc)" = "Skrytá kopie (Bcc)";
/* Subheader of empty addressbook */
"No contact" = "Není kontakt";
@@ -231,6 +234,7 @@
"URL" = "URL";
"New URL" = "Nové URL";
"street" = "ulice";
"street (continued)" = "ulice (pokračování)";
"Postoffice" = "Pošta";
"Region" = "Region";
"Postal Code" = "PSČ";
@@ -244,6 +248,12 @@
"More options" = "Více možností";
"Role" = "Role";
"Add Screen Name" = "Přidat zobrazované jméno";
"Custom 1" = "Vlastní 1";
"Custom 2" = "Vlastní 2";
"Custom 3" = "Vlastní 3";
"Custom 4" = "Vlastní 4";
"Custom Value" = "Vlastní Hodnota";
"New Custom Value" = "Nová Vlastní Hodnota";
"Synchronization" = "Synchronizace";
"Synchronize" = "Synchronizovat";
"Sucessfully subscribed to address book" = "Přihlášení k odebírání adresáře kontaktů proběhlo úspěšně";
@@ -258,4 +268,4 @@
"key_create_card" = "c";
/* Hotkey to create a new list */
"key_create_list" = "l";
"key_create_list" = "l";
@@ -234,6 +234,7 @@
"URL" = "URL";
"New URL" = "New URL";
"street" = "street";
"street (continued)" = "street (continued)";
"Postoffice" = "Postoffice";
"Region" = "Region";
"Postal Code" = "Postal Code";
@@ -234,6 +234,7 @@
"URL" = "URL";
"New URL" = "Neue URL";
"street" = "Straße";
"street (continued)" = "Straße (Fortsetzung)";
"Postoffice" = "Poststelle";
"Region" = "Region";
"Postal Code" = "Postleitzahl";
@@ -234,6 +234,7 @@
"URL" = "URL";
"New URL" = "Jauns URL";
"street" = "iela";
"street (continued)" = "iela (turpinājums)";
"Postoffice" = "Pasts";
"Region" = "Reģions";
"Postal Code" = "Pasta indekss";
@@ -234,6 +234,7 @@
"URL" = "URL";
"New URL" = "Nowy URL";
"street" = "ulica";
"street (continued)" = "ulica (kontynuacja)";
"Postoffice" = "Poczta";
"Region" = "Region";
"Postal Code" = "Kod pocztowy";
@@ -234,6 +234,7 @@
"URL" = "URL";
"New URL" = "Новый URL";
"street" = "улица";
"street (continued)" = "улица (продолжение)";
"Postoffice" = "почтовое отделение";
"Region" = "Область";
"Postal Code" = "Почтовый индекс";
+11 -1
View File
@@ -41,6 +41,9 @@
"Move To" = "Presuň do";
"Copy To" = "Kopíruj do";
"Add to" = "Pridaj do";
"To" = "Komu";
"Carbon Copy (Cc)" = "Kópia (Cc)";
"Blind Carbon Copy (Bcc)" = "Skrytá kópia (Bcc)";
/* Subheader of empty addressbook */
"No contact" = "Žiadny kontakt";
@@ -231,6 +234,7 @@
"URL" = "URL";
"New URL" = "Nové URL";
"street" = "ulica";
"street (continued)" = "ulica (pokračovanie)";
"Postoffice" = "Pošta";
"Region" = "Región";
"Postal Code" = "Poštové smerové číslo";
@@ -244,6 +248,12 @@
"More options" = "Viac možností";
"Role" = "Rola";
"Add Screen Name" = "Pridaj zobrazované meno";
"Custom 1" = "Vlastné 1";
"Custom 2" = "Vlastné 2";
"Custom 3" = "Vlastné 3";
"Custom 4" = "Vlastné 4";
"Custom Value" = "Vlastná Hodnota";
"New Custom Value" = "Nová Vlastná Hodnota";
"Synchronization" = "Synchronizácia";
"Synchronize" = "Synchronizuj";
"Sucessfully subscribed to address book" = "Potvrdený odber adresára";
@@ -258,4 +268,4 @@
"key_create_card" = "c";
/* Hotkey to create a new list */
"key_create_list" = "l";
"key_create_list" = "l";
@@ -41,20 +41,31 @@
"Move To" = "Mover a";
"Copy To" = "Copiar a";
"Add to" = "Añadir a";
"To" = "Para";
"Carbon Copy (Cc)" = "Con Copia (Cc)";
"Blind Carbon Copy (Bcc)" = "Con Copia Oculta (Bcc)";
/* Subheader of empty addressbook */
"No contact" = "No contacto";
/* Subheader of system addressbook */
"Start a search to browse this address book" = "Iniciar una búsqueda para ver esta libreta de direcciones.";
/* Number of contacts in addressbook; string is prefixed by number */
"contacts" = "contactos";
/* No contact matching search criteria */
"No matching contact" = "No contacto encontrado";
/* Number of contacts matching search criteria; string is prefixed by number */
"matching contacts" = "contactos encontrados";
/* Number of selected contacts in list */
"selected" = "seleccionado";
/* Empty right pane */
"No contact selected" = "No contacto seleccionado";
/* Tooltips */
"Create a new address book card" = "Crear un nuevo contacto";
"Create a new list" = "Crear una nueva lista";
@@ -95,9 +106,11 @@
"Work" = "Trabajo";
"Mobile" = "Móvil";
"Pager" = "Busca";
/* categories */
"contacts_category_labels" = "Colega, Competidor, Cliente, Amigo, Familia, Socio, Proveedor, Prensa, VIP";
"New category" = "Nueva categoria";
/* adresses */
"Title" = "Título";
"Service" = "Servicio";
@@ -134,12 +147,14 @@
= "No puede ni borrar ni darse de baja de su libreta de direcciones.";
"Are you sure you want to delete the selected contacts?"
= "¿Está seguro que desea borrar el/los contacto(s) seleccionado(s)?";
"Are you sure you want to delete the card of %{0}?" = "¿Está seguro/a que desea borrar el calendario \"%{0}\"?";
"You cannot delete the card of \"%{0}\"."
= "No puede borrar el contacto de \"%{0}\".";
"You cannot subscribe to a folder that you own!"
= "No puede suscribirse a una carpeta que es suya.";
"Unable to subscribe to that folder!"
= "No puede suscribirse a esta carpeta.";
/* acls */
"Access rights to" = "Derechos de accesos a";
"For user" = "Para usuario";
@@ -158,11 +173,15 @@
"The selected contact has no email address."
= "El contacto seleccionado no tiene dirección de correo electrónico.";
"Please select a contact." = "Seleccione un contacto, por favor.";
/* Error messages for move and copy */
/* Messages for move and copy */
"%{0} card(s) copied" = "%{0} tarjeta(s) copiada";
"%{0} card(s) moved" = "%{0} tarjeta(s) movida";
"SoAccessDeniedException" = "No puede escribir en esta libreta de direcciones.";
"Forbidden" = "No puede escribir en esta libreta de direcciones.";
"Forbidden" = "Prohibido";
"Invalid Contact" = "El contacto seleccionado ya no existe.";
"Unknown Destination Folder" = "La libreta de direcciones de destino ya no existe.";
/* Lists */
"List details" = "Detalles de la lista";
"List name" = "Nombre de la lista";
@@ -175,6 +194,8 @@
"Export" = "Exportar";
"Export Address Book..." = "Exportar libreta de direcciones...";
"View Raw Source" = "Ver fuente Raw";
/* Import */
"Import Cards" = "Importar Contactos";
"Select a vCard or LDIF file." = "Seleccionar una vCard o un fichero LDIF.";
"Upload" = "Cargar";
@@ -184,6 +205,7 @@
"No card was imported." = "El contacto no ha sido importado.";
"A total of %{0} cards were imported in the addressbook." = "Un total de %{0} contactos han sido importados a la libreta de direcciones.";
"Reload" = "Recargar";
/* Properties window */
"Address Book Name" = "Nombre de la Libreta de Direcciones";
"Links to this Address Book" = "Vinculos para esta Libreta de Direcciones";
@@ -212,6 +234,7 @@
"URL" = "URL";
"New URL" = "Nueva URL";
"street" = "calle";
"street (continued)" = "calle (continuación)";
"Postoffice" = "Oficina de correo";
"Region" = "Provincia";
"Postal Code" = "Código postal";
@@ -225,9 +248,24 @@
"More options" = "Mas opciones";
"Role" = "Role";
"Add Screen Name" = "Añadir Nombre de Pantalla";
"Custom 1" = "Personalizado 1";
"Custom 2" = "Personalizado 2";
"Custom 3" = "Personalizado 3";
"Custom 4" = "Personalizado 4";
"Custom Value" = "Valor Personalizado";
"New Custom Value" = "Nuevo Valor Personalizado";
"Synchronization" = "Sincronización";
"Synchronize" = "Sincroniza";
"Sucessfully subscribed to address book" = "Suscripción con éxito a la libreta de direcciones";
"Sucessfully subscribed to address book" = "Suscripción a la libreta de direcciones con éxito";
/* Aria label for scope of search on contacts */
"Search scope" = "Ámbito de búsqueda";
"Search scope" = "Ámbito de búsqueda";
/* Aria label for avatar button to select and unselect a card */
"Toggle item" = "Activar elemento";
/* Hotkey to create a new card */
"key_create_card" = "c";
/* Hotkey to create a new list */
"key_create_list" = "l";
@@ -18,13 +18,13 @@
"Fax" = "Faks";
"Firstname" = "Ad";
"Home" = "Ev";
"HomePhone" = "EvTelefonu";
"HomePhone" = "Ev Telefonu";
"Lastname" = "Soyad";
"Location" = "Konum";
"Add a category" = "Bir kategori ekle";
"MobilePhone" = "CepTelefonu";
"Add a category" = "Kategori ekle";
"MobilePhone" = "Cep Telefonu";
"Name" = "Tam İsim";
"OfficePhone" = "OfisTelefonu";
"OfficePhone" = "Ofis Telefonu";
"Organization" = "Organizasyon";
"Work Phone" = "İş Telefonu";
"Phone" = "Telefon";
@@ -52,7 +52,7 @@
"Start a search to browse this address book" = "Bu adres defterini taramak için bir arama başlatın";
/* Number of contacts in addressbook; string is prefixed by number */
"contacts" = "kişi";
"contacts" = "kişiler";
/* No contact matching search criteria */
"No matching contact" = "Eşleşen kişi yok";
@@ -70,10 +70,10 @@
"Create a new address book card" = "Yeni adres kartı oluştur";
"Create a new list" = "Yeni liste oluştur";
"Edit the selected card" = "Seçili kartı düzenle";
"Send a mail message" = "Bir e-posta iletisi gönder";
"Send a mail message" = "E-posta iletisi gönder";
"Delete selected card or address book" = "Seçili kartı veya adres defterini sil";
"Reload all contacts" = "Adresleri tazele";
"htmlMailFormat_UNKNOWN" = "Bilinmiyor";
"htmlMailFormat_UNKNOWN" = "Bilinmeyen format";
"htmlMailFormat_FALSE" = "Düz Metin";
"htmlMailFormat_TRUE" = "HTML";
"Name or Email" = "İsim veya E-posta";
@@ -86,7 +86,7 @@
"Properties" = "Özellikler";
"Sharing..." = "Paylaşım...";
"Write" = "Yaz";
"Delete" = "SİL";
"Delete" = "Sil";
"Instant Message" = "Anlık İleti";
"Add..." = "Ekle...";
"Remove" = "Çıkart";
@@ -98,7 +98,7 @@
"Additional Email" = "Diğer E-posta";
"Phone Number" = "Telefon Numarası";
"Prefers to receive messages formatted as" = "Almayı tercih ettiği ileti formatı";
"Categories" = "Kategori";
"Categories" = "Kategoriler";
"First" = "İlk";
"Last" = "Son";
"Nickname" = "Takma ad";
@@ -144,7 +144,7 @@
"You cannot remove nor unsubscribe from a public addressbook."
= "Genel adres defterinden çıkamaz ve üyeliğinizi kaldıramazsınız.";
"You cannot remove nor unsubscribe from your personal addressbook."
= "Kişisel adres defterinizden çıkamaz ve üyeliğinizi kaldıramazsınız.";
= "Kendi adres defterinizden çıkamaz ve üyeliğinizi kaldıramazsınız.";
"Are you sure you want to delete the selected contacts?"
= "Seçili kişileri silmek istediğinizden emin misiniz?";
"Are you sure you want to delete the card of %{0}?" = "%{0} kartını silmek istediğinizden emin misiniz?";
@@ -156,7 +156,7 @@
= "Bu klasöre üye olunamıyor.";
/* acls */
"Access rights to" = "Adres defteri";
"Access rights to" = "Erişimi izinleri";
"For user" = "Erişen";
"Any Authenticated User" = "Kimliği doğrulanmış her kullanıcı";
"Public Access" = "Herkese Açık Erişim";
@@ -207,8 +207,8 @@
"Reload" = "Tazele";
/* Properties window */
"Address Book Name" = "Adres Defteri Adı";
"Links to this Address Book" = "Adres Defteri Bağlantıları";
"Address Book Name" = "Adres Defterinin Adı";
"Links to this Address Book" = "Bu Adres Defterinin Bağları";
"Authenticated User Access" = "Kimliği Doğrulamış Kullanıcı Erişimi";
"CardDAV URL" = "CardDAV URL";
"Options" = "Seçenekler";
@@ -216,7 +216,7 @@
"Subscriptions" = "Üyelikler";
"Global Addressbooks" = "Genel Adres Defteri";
"Search" = "Ara";
"Sort" = "Sıralandır";
"Sort" = "Sırala";
"Descending Order" = "Azalan Sıralama";
"Back" = "Geri";
"Select All" = "Hepsini Seç";
@@ -234,18 +234,19 @@
"URL" = "URL";
"New URL" = "Yeni URL";
"street" = "sokak";
"street (continued)" = "sokak(devam)";
"Postoffice" = "Posta kutusu";
"Region" = "Bölge";
"Postal Code" = "Posta Kodu";
"New Address" = "Yeni Adres";
"Reset" = "Öntanımlı";
"Reset" = "Temizle";
"Description" = "Tanım";
"Add Member" = "Üye Ekle";
"Subscribe" = "Üye ol";
"Add Birthday" = "Doğum Günü Ekle";
"Import" = "İçeri Aktar";
"More options" = "Diğer seçenekler";
"Role" = "Görev";
"Role" = "Görevi";
"Add Screen Name" = "Görünen İsim Ekle";
"Custom 1" = "Özel 1";
"Custom 2" = "Özel 2";
@@ -0,0 +1,50 @@
ACCEPTED = "已接受";
COMPLETED = "已完成";
DECLINED = "已拒绝";
DELEGATED = "已委派";
"IN-PROCESS" = "进行中";
"NEEDS-ACTION" = "需要操作";
TENTATIVE = "待定";
organized_by_you = "你组织的";
you_are_an_attendee = "你出席的";
add_info_text = "SOGo尚未支持iMIP的添加请求。";
publish_info_text = "发件人通知您附加的事件。";
cancel_info_text = "所有邀请都被取消了。";
request_info_no_attendee = "正在安排会议出席者。你收到没有被安排出席会议的通知。";
Appointment = "安排";
"Status Update" = "状态更新";
was = "是";
Organizer = "组织者";
Time = "时间";
Attendees = "出席者";
request_info = "邀请你参加会议。";
"Add to calendar" = "增加到日程";
"Delete from calendar" = "从日程删除";
"Update status" = "更新状态";
Accept = "接受";
Decline = "拒绝";
Tentative = "待定";
"Delegate ..." = "委派...";
"Delegated to" = "委派给...";
"Update status in calendar" = "在日历中更新状态";
"delegated from" = "委派自";
reply_info_no_attendee = "你收到关于安排事件的答复, 但是答复不是发自参与者。";
reply_info = "这事你邀请信的答复。";
"to" = "到";
"Untitled" = "没有标题";
"Size" = "大小";
"Digital signature is not valid" = "无效的数字签名";
"Message is signed" = "已签署的消息";
"Subject" = "主题";
"From" = "发件人";
"Date" = "日期";
"To" = "收件人";
"Issuer" = "发行者";
/* Tooltips */
"View Attachment" = "查看附件";
"Save Attachment" = "保存附件";
"CC" = "抄送";
"Cancel" = "取消";
"OK" = "OK";
"Comment" = "评论";
@@ -5,9 +5,9 @@ DELEGATED = "delegirano";
"IN-PROCESS" = "u procesu";
"NEEDS-ACTION" = "treba akciju";
TENTATIVE = "uvjetno";
organized_by_you = "organizirano od tebe";
you_are_an_attendee = "ti si sudionik";
add_info_text = "iMIP 'ADD' zahtjev se još ne podržava u SOGo.";
organized_by_you = "organizirano od Vas";
you_are_an_attendee = "Vi ste sudionik";
add_info_text = "iMIP 'ADD' zahtjevi još nisu podržani u SOGo.";
publish_info_text = "Pošiljatelj vas obavještava o priloženom događaju.";
cancel_info_text = "Vaš poziv ili cijeli događaj je otkazan.";
request_info_no_attendee = "predlaže sastanak sudionicima. Primate mail kao obavijest, niste na rasporedu kao sudionik.";
@@ -30,7 +30,7 @@ Tentative = "Uvjetno";
"Update status in calendar" = "Ažuriraj status u kalendaru";
"delegated from" = "Delegirano od";
reply_info_no_attendee = "Dobili ste odgovor na raspoređeni događaj, ali pošiljatelj odgovora nije sudionik.";
reply_info = "To je odgovor na poziv događaja napravljeno sa tvoje strane.";
reply_info = "To je odgovor na poziv događaja napravljeno sa Vaše strane.";
"to" = "za";
"Untitled" = "Neimenovano";
"Size" = "Veličina";
@@ -42,7 +42,7 @@ reply_info = "To je odgovor na poziv događaja napravljeno sa tvoje strane.";
"To" = "Za";
"Issuer" = "Izdavatelj";
/* Tooltips */
"View Attachment" = "Pogledaj prilog";
"View Attachment" = "Vidi prilog";
"Save Attachment" = "Spremi prilog";
"CC" = "CC";
"Cancel" = "Odustani";
@@ -41,3 +41,10 @@ reply_info = "Toto je odpověď na pozvánku k událost, kterou jste vytvořili
"Date" = "Datum";
"To" = "Komu";
"Issuer" = "Vydavatel";
/* Tooltips */
"View Attachment" = "Zobrazit přílohu";
"Save Attachment" = "Uložit přílohu";
"CC" = "CC";
"Cancel" = "Storno";
"OK" = "OK";
"Comment" = "Komentář:";
@@ -41,3 +41,10 @@ reply_info = "Toto je odpoveď na Vašu pozvánku na udalosť.";
"Date" = "Dátum";
"To" = "Komu";
"Issuer" = "Vystavovateľ";
/* Tooltips */
"View Attachment" = "Zobraziť prílohu";
"Save Attachment" = "Uložiť prílohu";
"CC" = "CC";
"Cancel" = "Zrušiť";
"OK" = "OK";
"Comment" = "Komentár:";
@@ -1,16 +1,16 @@
ACCEPTED = "kabul edildi";
COMPLETED = "tamamlandı";
DECLINED = "reddedildi";
DELEGATED = "yetkilendirildi";
"IN-PROCESS" = "işleniyor";
"NEEDS-ACTION" = "eyleme ihtiyaç var";
DELEGATED = "temsilci atandı";
"IN-PROCESS" = "devam ediyor";
"NEEDS-ACTION" = "ilgilenmek gerekiyor";
TENTATIVE = "geçici";
organized_by_you = "tarafınızdan düzenlendi";
organized_by_you = "sizin tarafınızdan düzenlendi";
you_are_an_attendee = "siz bir katılımcısınız";
add_info_text = "iMIP 'ADD' istekleri SOGo tarafından henüz desteklenmiyor.";
publish_info_text = "Gönderici sizi ekteki etkinlik hakında bilgilendiriyor.";
cancel_info_text = "Sizin davetiniz veya tüm etkinlik iptal edildi.";
request_info_no_attendee = "katılımcılara bir toplantı teklif ediyor. Bu iletiyi bilgilendirme amacıyla aldınız, siz iştirakçi olarak eklenmediniz.";
request_info_no_attendee = "katılımcılara bir toplantı teklif ediyor. Bu iletiyi bilgilendirme amacıyla aldınız, siz katılımcı değilsiniz.";
Appointment = "Çalışma";
"Status Update" = "Durum Güncellemesi";
was = "önceden";
@@ -21,20 +21,20 @@ Attendees = "Katılımcılar";
request_info = "sizi toplantıya katılmaya davet ediyor. ";
"Add to calendar" = "Takvime ekle";
"Delete from calendar" = "Takvimden sil";
"Update status" = "Güncelleme durumu";
"Update status" = "Durumu güncelle";
Accept = "Kabul et";
Decline = "Reddet";
Tentative = "Geçici";
"Delegate ..." = "Yetkili Ata ...";
"Delegated to" = "Yetkilendirilen";
"Delegate ..." = "Temsilci Ata ...";
"Delegated to" = "Temsilci atanan";
"Update status in calendar" = "Takvimdeki durumu güncelle";
"delegated from" = "Yetkilendiren";
reply_info_no_attendee = "Bir etkinlik programına yanıt aldınız fakat yanıtı gönderen kişi katılımcı değil.";
"delegated from" = "Temsilci atayan";
reply_info_no_attendee = "Bir çalışma etkinliğine yanıt aldınız fakat yanıtı gönderen kişi katılımcı değil.";
reply_info = "Yapmış olduğunuz etkinlik davetinin yanıtıdır.";
"to" = "alıcı";
"Untitled" = "Başlıksız";
"Untitled" = "Konusuz";
"Size" = "Boyut";
"Digital signature is not valid" = "Elektronik imza geçerli değil";
"Digital signature is not valid" = "Sayısal imza geçerli değil";
"Message is signed" = "İleti imzalanmış";
"Subject" = "Konu";
"From" = "Gönderen";
+3 -194
View File
@@ -110,197 +110,6 @@ _xmlCharsetForCharset (NSString *charset)
return encoding;
}
//
// In order to avoid a libxml bug/limitation, we strip the charset= parameter
// to avoid libxml to consider the charset= parameter while it works in UTF-8
// internally, all the time.
//
// A fix was commited by Daniel Veillard following discussions Inverse had
// with him on the issue:
//
// commit a1bc2f2ba4b5317885205d4f71c7c4b1c99ec870
// Author: Daniel Veillard <veillard redhat com>
// Date: Mon May 16 16:03:50 2011 +0800
//
// Add options to ignore the internal encoding
//
// For both XML and HTML, the document can provide an encoding
// either in XMLDecl in XML, or as a meta element in HTML head.
// This adds options to ignore those encodings if the encoding
// is known in advace for example if the content had been converted
// before being passed to the parser.
//
// * parser.c include/libxml/parser.h: add XML_PARSE_IGNORE_ENC option
// for XML parsing
// * include/libxml/HTMLparser.h HTMLparser.c: adds the
// HTML_PARSE_IGNORE_ENC for HTML parsing
// * HTMLtree.c: fix the handling of saving when an unknown encoding is
// defined in meta document header
// * xmllint.c: add a --noenc option to activate the new parser options
//
//
static NSData* _sanitizeContent(NSData *theData)
{
NSMutableData *d;
NSString *found_tag, *tag;
NSEnumerator *tags;
const char *bytes;
char *buf;
int i, j, len;
BOOL found_delimiter, in_meta;
d = [NSMutableData dataWithData: theData];
bytes = [d bytes];
len = [d length];
i = 0;
in_meta = NO;
while (i < len)
{
// We check if we see <meta ...> in which case, we substitute de charset= stuff.
if (i < len-5)
{
if ((*bytes == '<') &&
(*(bytes+1) == 'm' || *(bytes+1) == 'M') &&
(*(bytes+2) == 'e' || *(bytes+2) == 'E') &&
(*(bytes+3) == 't' || *(bytes+3) == 'T') &&
(*(bytes+4) == 'a' || *(bytes+4) == 'A') &&
(*(bytes+5) == ' '))
in_meta = YES;
}
// We search for something like :
//
// <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
//
if (in_meta && i < len-9)
{
if ((*bytes == 'c' || *bytes == 'C') &&
(*(bytes+1) == 'h' || *(bytes+1) == 'H') &&
(*(bytes+2) == 'a' || *(bytes+2) == 'A') &&
(*(bytes+3) == 'r' || *(bytes+3) == 'R') &&
(*(bytes+4) == 's' || *(bytes+4) == 'S') &&
(*(bytes+5) == 'e' || *(bytes+5) == 'E') &&
(*(bytes+6) == 't' || *(bytes+6) == 'T') &&
(*(bytes+7) == '='))
{
// We search until we find a '"' or a space
j = 8;
found_delimiter = YES;
while (*(bytes+j) != ' ' && *(bytes+j) != '"' && *(bytes+j) != '\'')
{
j++;
// We haven't found anything, let's return the data untouched
if ((i+j) >= len)
{
in_meta = found_delimiter = NO;
break;
}
}
if (found_delimiter)
{
[d replaceBytesInRange: NSMakeRange(i, j)
withBytes: NULL
length: 0];
in_meta = found_delimiter = NO;
}
}
}
bytes++;
i++;
}
/*
* Replace badly formatted void tags
*
* A void tag that begins with a slash is considered invalid.
* We remove the slash from those tags.
*
* Ex: </br> is replaced by <br>
*/
if (!VoidTags)
{
/* see http://www.w3.org/TR/html4/index/elements.html */
VoidTags = [[NSArray alloc] initWithObjects: @"area", @"base",
@"basefont", @"br", @"col", @"frame", @"hr",
@"img", @"input", @"isindex", @"link",
@"meta", @"param", @"", nil];
}
bytes = [d bytes];
len = [d length];
i = 0;
while (i < len)
{
if (i < len-3)
{
// Search for ending tags
if ((*bytes == '<') && (*(bytes+1) == '/'))
{
i += 2;
bytes += 2;
j = 0;
found_delimiter = YES;
while (*(bytes+j) != '>')
{
j++;
if ((i+j) >= len)
{
found_delimiter = NO;
break;
}
}
if (found_delimiter && j > 0)
{
// Copy the ending tag to a NSString
buf = malloc((j+1) * sizeof(char));
memset (buf, 0, j+1);
memcpy (buf, bytes, j);
found_tag = [NSString stringWithCString: buf encoding: NSUTF8StringEncoding];
tags = [VoidTags objectEnumerator];
tag = [tags nextObject];
while (tag && found_tag)
{
if ([tag caseInsensitiveCompare: found_tag] == NSOrderedSame)
{
// Remove the leading slash
//NSLog(@"Found void tag with invalid leading slash: </%@>", found_tag);
i--;
[d replaceBytesInRange: NSMakeRange(i, 1)
withBytes: NULL
length: 0];
bytes = [d bytes];
bytes += i;
len = [d length];
break;
}
tag = [tags nextObject];
}
free(buf);
// Continue the parsing after end tag
i += j;
bytes += j;
}
}
}
bytes++;
i++;
}
return d;
}
@interface _UIxHTMLMailContentHandler : NSObject <SaxContentHandler, SaxLexicalHandler>
{
NSMutableString *result;
@@ -615,7 +424,7 @@ static NSData* _sanitizeContent(NSData *theData)
if (!skipAttribute)
[resultPart appendFormat: @" %@=\"%@\"",
name, [value stringByReplacingString: @"\""
withString: @"\\\""]];
withString: @""]];
}
if ([VoidTags containsObject: lowerName])
@@ -853,7 +662,7 @@ static NSData* _sanitizeContent(NSData *theData)
mail = [self clientObject];
preparsedContent = _sanitizeContent([super decodedFlatContent]);
preparsedContent = [[super decodedFlatContent] sanitizedContentUsingVoidTags: VoidTags];
parser = [[SaxXMLReaderFactory standardXMLReaderFactory]
createXMLReaderForMimeType: @"text/html"];
@@ -971,7 +780,7 @@ static NSData* _sanitizeContent(NSData *theData)
part = [self clientObject];
mail = [part mailObject];
preparsedContent = _sanitizeContent([part fetchBLOB]);
preparsedContent = [[part fetchBLOB] sanitizedContentUsingVoidTags: VoidTags];
parser = [[SaxXMLReaderFactory standardXMLReaderFactory]
createXMLReaderForMimeType: @"text/html"];
encoding = [[part partInfo] valueForKey: @"encoding"];
@@ -0,0 +1,409 @@
/* this file is in UTF-8 format! */
/* Icon's label */
"Create" = "新建";
"Empty Trash" = "清空垃圾箱";
"Delete" = "删除";
"Expunge" = "擦除";
"Forward" = "转发";
"Get Mail" = "收取邮件";
"Junk" = "垃圾邮件";
"Not junk" = "非垃圾邮件";
"Reply" = "回复";
"Reply All" = "全部回复";
"Print" = "打印";
"Stop" = "停止";
"Write" = "写邮件";
"Search" = "搜索";
"Send" = "发送";
"Contacts" = "联系人";
"Attach" = "附件";
"Save" = "保存";
"Options" = "选项";
"Close" = "关闭";
"Size" = "大小";
/* Tooltips */
"Send this message now" = "立即发送";
"Select a recipient from an Address Book" = "从通讯录选择收件人";
"Include an attachment" = "增加附件";
"Save this message" = "保存邮件";
"Get new messages" = "接收新邮件";
"Create a new message" = "新建邮件";
"Go to address book" = "转到通讯录";
"Reply to the message" = "回复邮件";
"Reply to sender and all recipients" = "回复所有收件人";
"Forward selected message" = "转发选中的邮件";
"Delete selected message or folder" = "删除选中的邮件或目录";
"Print this message" = "打印邮件";
"Stop the current transfer" = "停止发送";
"Attachment" = "附件";
"Unread" = "未读";
"Flagged" = "标记";
"Search multiple mailboxes" = "搜索多个收件箱";
/* Main Frame */
"Home" = " 主页";
"Calendar" = "日历";
"Addressbook" = "通讯录";
"Mail" = "邮件";
"Right Administration" = "权限管理";
"Help" = "帮助";
/* Mail account main windows */
"Welcome to the SOGo Mailer. Use the folder tree on the left to browse your mail accounts!" = "欢迎使用SOGo邮件,请点击左侧目录浏览邮件账户!";
"Read messages" = "读取邮件";
/* Tooltip for fab button */
"Write a new message" = "撰写新邮件";
/* Tooltip for fab button */
"Write a message in new window" = "在新窗口撰写信息";
"Share" = "共享";
"Account" = "帐号";
"Shared Account" = "共享的帐号";
/* A mailbox is selected, but no message (only shown on large screens) */
"No message selected" = "未选择任何信息";
/* No mailbox is selected (usually resulting from an IMAP connection problem) */
"No mailbox selected" = "未选择任何邮箱";
"An error occured while communicating with the mail server" = "连接服务器发生错误";
/* Mailbox actions */
/* Compact Folder success message */
"Folder compacted" = "文件夹已压缩";
/* Empty Trash success message */
"Trash emptied" = "垃圾箱已清空";
/* acls */
"Access rights to" = "访问权限到";
"For user" = "给用户";
"Any Authenticated User" = "任何认证的用户";
"List and see this folder" = "列出并查看该目录";
"Read mails from this folder" = "读取该目录邮件";
"Mark mails read and unread" = "邮件标记为已读或未读";
"Modify the flags of the mails in this folder" = "修改该目录里的邮件标记";
"Insert, copy and move mails into this folder" = "插入,复制,转移邮件到该目录";
"Post mails" = "发送设置";
"Add subfolders to this folder" = "该目录下的所有子目录";
"Remove this folder" = "删除该目录";
"Erase mails from this folder" = "清除该目录下的邮件";
"Expunge this folder" = "擦去该目录";
"Export This Folder" = "导出此文件夹";
"Modify the acl of this folder" = "更改该目录访问控制列表";
"Saved Messages.zip" = "保存的压缩邮件";
"Update" = "更新";
"Cancel" = "取消";
/* Mail edition */
"From" = "发件人";
"Subject" = "主题";
"To" = "收件人";
"Cc" = "抄送人";
"Bcc" = "密送人";
"Reply-To" = "回复到";
"Add address" = "新增地址";
"Body" = "正文";
"Open" = "打开";
"Select All" = "全选";
"Select Message" = "选择信息";
"Attach Web Page..." = "添加网页...";
"file" = "文件";
"files" = "文件";
"Save all" = "全部保存";
"to" = "收件人";
"cc" = "抄送人";
"bcc" = "密送人";
"Add a recipient" = "新增收件人";
"Edit Draft..." = "编辑草稿...";
"Load Images" = "加载图片";
"Return Receipt" = "回复回执";
"The sender of this message has asked to be notified when you read this message. Do you with to notify the sender?" = "此消息的发件人要求当你阅读该消息时得到通知。你是否希望通知发件人?";
"Return Receipt (displayed) - %@"= "回复回执(已标示)- %@";
"This is a Return Receipt for the mail that you sent to %@.\n\nNote: This Return Receipt only acknowledges that the message was displayed on the recipient's computer. There is no guarantee that the recipient has read or understood the message contents." = "这是你发送邮件给 %@ 的回执。\n\n附注: 回执只通知邮件已收到, 并不保证收件人已经阅读内容。 ";
"Priority" = "优先级";
"highest" = "最高";
"high" = "高";
"normal" = "一般";
"low" = "低";
"lowest" = "最低";
"This mail is being sent from an unsecure network!" = "这个邮件发自不安全的网络!";
"Address Book" = "通讯录";
"Search For" = "搜索";
/* Popup "show" */
"all" = "全部";
"read" = "已读";
"unread" = "未读";
"deleted" = "已删除";
"flagged" = "已标记";
/* MailListView */
"Sender" = "发件人";
"Subject or Sender" = "主题或发件人";
"To or Cc" = "收件人或抄送人";
"Entire Message" = "全部内容";
"Date" = "日期";
"View" = "查看";
"All" = "所有";
"No message" = "没有邮件";
"messages" = "邮件";
"Yesterday" = "昨天";
"first" = "最前面";
"previous" = "前一页";
"next" = "下一页";
"last" = "最后";
"msgnumber_to" = "收件人";
"msgnumber_of" = "的";
"Mark Unread" = "标记为未读";
"Mark Read" = "标记为已读";
"Untitled" = "无主题";
/* Tree */
"SentFolderName" = "已发送";
"TrashFolderName" = "垃圾箱";
"InboxFolderName" = "收件箱";
"DraftsFolderName" = "草稿箱";
"JunkFolderName" = "垃圾邮件";
"SieveFolderName" = "过滤器";
"Folders" = "目录"; /* title line */
/* MailMoveToPopUp */
"MoveTo" = "移动到";
/* Address Popup menu */
"Add to Address Book..." = "添加到通讯录...";
"Compose Mail To" = "撰写邮件";
"Create Filter From Message..." = "新增规则...";
/* Image Popup menu */
"Save Image" = "保存图片";
"Save Attachment" = "保存附件";
/* Mailbox popup menus */
"Open in New Mail Window" = "在新窗口打开邮件";
"Copy Folder Location" = "复制目录位置";
"Subscribe..." = "订阅...";
"Mark Folder Read" = "文件夹标记已读";
"New Folder..." = "新建目录...";
"Compact This Folder" = "压缩该目录";
"Search Messages..." = "搜索邮件...";
"Sharing..." = "共享...";
"New Subfolder..." = "新建子目录...";
"Rename Folder..." = "修改目录名...";
"Delete Folder" = "删除目录";
"Use This Folder For" = "该目录用于";
"Get Messages for Account" = "读取账户邮件";
"Properties..." = "属性...";
"Delegation..." = "授权...";
/* Use This Folder menu */
"Sent Messages" = "发送邮件";
"Drafts" = "草稿";
"Deleted Messages" = "删除邮件";
"Junk Messages" = "垃圾信息";
/* Message list popup menu */
"Open Message In New Window" = "在新窗口打开邮件";
"Reply to Sender Only" = "只回复发件人";
"Reply to All" = "全部回复";
"Edit As New..." = "编辑为新的...";
"Move To" = "移到";
"Copy To" = "复制到";
"Label" = "标签";
"Mark" = "标记";
"Save As..." = "另存...";
"Print Preview" = "打印预览";
"View Message Source" = "查看邮件原文";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "转换成事件";
/* Message view "more" menu: create a task from message */
"Convert To Task" = "转换成任务";
/* Message view "more" menu: download all attachments as a zip archive */
"Download all attachments" = "下载所有的附件";
/* Filename prefix when downloading all attachments as a zip archive */
"attachments" = "附件";
"Print..." = "打印...";
"Delete Message" = "删除邮件";
"Delete Selected Messages" = "删除选中邮件";
"Mark the selected messages as junk" = "标记为垃圾邮件";
"Mark the selected messages as not junk" = "标记已选的讯息为非垃圾讯息";
/* Text appended to the recipients list when there are too many recipients */
"and %{0} more..." = "及 %{0} 封...";
/* Button label to hide extended list of recipients */
"Hide" = "隐藏";
/* Number of selected messages in list */
"selected" = "已选";
"This Folder" = "该目录";
/* Label popup menu */
"None" = "空";
/* Mark popup menu */
"As Read" = "为已读";
"Thread As Read" = "条目为已读";
"As Read By Date..." = "按日期已读";
"All Read" = "全部已读";
"Flag" = "标记";
"As Junk" = "为垃圾邮件";
"As Not Junk" = "为非垃圾邮件";
"Run Junk Mail Controls" = "启动垃圾邮件控制";
"Search messages in" = "搜索信件在";
"Search" = "搜索";
"Search subfolders" = "搜索子目录";
"Match any of the following" = "符合下列任一条件";
"Match all of the following" = "符合以下所有条件";
"contains" = "包含";
"does not contain" = "不包含";
"No matches found" = "未找到符合条件的资料";
"results found" = "搜寻结果";
"result found" = "搜寻结果";
"Please specify at least one filter" = "请指定至少一项过滤规则";
/* Folder operations */
"Name" = "名称";
"Enter the new name of your folder"
="输入新目录名称";
"Do you really want to move this folder into the trash ?"
= "确认把该目录移到垃圾桶吗?";
"Operation failed" = "操作失败";
"Quota" = "使用空间";
"quotasFormat" = "%{1} MB中已用 %{0}%";
"Unable to move/delete folder." = "无法移动/删除目录。";
/* Alternative operation when folder cannot be deleted */
"The mailbox could not be moved to the trash folder. Would you like to delete it immediately?"
= "无法将邮箱移至垃圾桶。您是否要立即删除?";
/* Confirmation message when deleting multiple messages */
"Are you sure you want to delete the selected messages?" = "您确定要删除已选的讯息?";
/* Notification on the number of messages successfuly copied */
"%{0} message(s) copied" = "已复製 %{0} 条信息";
/* Notification on the number of messages successfuly movied */
"%{0} message(s) moved" = "已移动 %{0} 条信息";
"Please select a message." = "请选择一封邮件。";
"Please select a message to print." = "请选择要打印的邮件。";
"Please select only one message to print." = "请只选择一个邮件打印。";
"The message you have selected doesn't exist anymore." = "你选中的邮件已不存在。";
"The folder with name \"%{0}\" could not be created."
= "无法创建名称为“%{0}”的目录。";
"This folder could not be renamed to \"%{0}\"."
= "该目录无法重命名为“%{0}”";
"The folder could not be deleted."
= "该目录不能删除。";
"The trash could not be emptied."
= "垃圾箱不能清空。";
"The folder functionality could not be changed."
= "该目录功能不能修改。";
"You need to choose a non-virtual folder!" = "你需要选择一个非虚拟目录!";
"Moving a message into its own folder is impossible!"
= "不能向该目录转移邮件!";
"Copying a message into its own folder is impossible!"
= "不能复制邮件到原目录!";
/* Message operations */
"The messages could not be moved to the trash folder. Would you like to delete them immediately?"
= "该邮件不能移到垃圾箱目录。 是否直接删除?";
/* Message editing */
"error_missingsubject" = "该邮件没有标题。 是否发送?";
"error_missingrecipients" = "请至少指定一个收件人。";
"Send Anyway" = "不管怎样发送";
"Error while saving the draft" = "保存草稿時发生错误";
/* Error when uploading a file attachment */
"Error while uploading the file \"%{0}\":" = "上传文件\"%{0}\"出错";
"There is an active file upload. Closing the window will interrupt it." = "关闭窗口将中断当前文件上传";
"Message is too big" = "信息太大";
/* Appears while sending the message */
"Sending" = "发送中";
/* Appears when the message is successfuly sent */
"Sent" = "已发送";
"cannot send message: (smtp) all recipients discarded" = "无法发送: 所有收件人都无效。";
"cannot send message (smtp) - recipients discarded" = "无法发送,下列帐号无法发送";
"cannot send message: (smtp) error when connecting" = "无法发送: SMTP服务器接续失败。";
/* Contacts list in mail editor */
"Email" = "邮件帐号";
"More mail options" = "更多邮件选项";
"Delegation" = "授权";
"Add User" = "新增用户";
"Add a tag" = "新增标签";
"reply" = "回复";
"Edit" = "编辑";
"Yes" = "是";
"No" = "否";
"Location" = "地点";
"Rename" = "重命名";
"Compact" = "压缩";
"Export" = "导出";
"Set as Drafts" = "设为草稿";
"Set as Sent" = "设为已发送";
"Set as Trash" = "设为放入垃圾箱";
/* Set the folder as the one holding Junk mails */
"Set as Junk" = "设为垃圾邮件";
"Sort" = "分类";
"Order Received" = "已收到订单";
"Descending Order" = "降序排列";
"Back" = "返回";
"Copy messages" = "复制信息";
"More messages options" = "更多信息选项";
"Mark as Unread" = "标记为未读";
"Mark as Read" = "标记为已读";
"Closing Window ..." = "关闭窗口中...";
"Tried to send too many mails. Please wait." = "发送邮件达到上限。请稍候在操作。";
"View Mail" = "查看邮件";
"This message contains external images." = "此邮件包含外部图片";
"Expanded" = "展开的";
"Add a Criteria" = "新增搜索条件";
"More search options" = "更多搜索条件";
"Your email has been saved" = "您的电子邮件已保存";
"Your email has been sent" = "您的电子邮件已发送";
"Folder compacted" = "文件夹已压缩";
/* Aria label for scope of search on messages */
"Search scope" = "搜索范围";
/* Subscriptions Dialog */
"Manage Subscriptions" = "管理订阅";
/* Label of filter input field in subscriptions dialog */
"Filter" = "筛选条件";
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
/* Hotkey to reply to a message */
"hotkey_reply" = "r";
/* Hotkey to reply to all recipients of a message */
"hotkey_replyall" = "a";
/* Hotkey to forward to a message */
"hotkey_forward" = "f";
+160 -68
View File
@@ -7,10 +7,11 @@
"Expunge" = "Izbriši";
"Forward" = "Prosljijedi";
"Get Mail" = "Provjeri e-poštu";
"Junk" = "Smeče";
"Junk" = "Smeće";
"Not junk" = "Nije smeće";
"Reply" = "Odgovori";
"Reply All" = "Odgovori svima";
"Print" = "Natisni";
"Print" = "Ispiši";
"Stop" = "Zaustavi";
"Write" = "Piši";
"Search" = "Traži";
@@ -24,20 +25,19 @@
/* Tooltips */
"Send this message now" = "Šalji ovu poruku";
"Select a recipient from an Address Book" = "Odaberi primatelja iz adresara";
"Select a recipient from an Address Book" = "Odaberi primatelja iz imenika";
"Include an attachment" = "Dodaj privitak";
"Save this message" = "Pohrani ovu poruku";
"Get new messages" = "Provjeri nove poruke";
"Create a new message" = "Kreiraj novu poruku";
"Go to address book" = "Idi u adresar";
"Go to address book" = "Idi u imenik";
"Reply to the message" = "Odgovori na poruku";
"Reply to sender and all recipients" = "Odgovori pošiljatelju i svim primateljima";
"Forward selected message" = "Prosljijedi odabranu poruku";
"Delete selected message or folder" = "Izbriši odabranu poruku ili mapu";
"Mark the selected messages as junk" = "Označite odabrane poruke kao smeče";
"Print this message" = "Ispiši ovu poruku";
"Stop the current transfer" = "Zaustavi trenuti prijenos";
"Attachment" = "Prilog";
"Stop the current transfer" = "Zaustavi trenutni prijenos";
"Attachment" = "Privitak";
"Unread" = "Nepročitano";
"Flagged" = "Označeno";
"Search multiple mailboxes" = "Traži više spremnika pošte";
@@ -45,27 +45,38 @@
/* Main Frame */
"Home" = "Početna";
"Calendar" = "Kalendar";
"Addressbook" = "Adresar";
"Addressbook" = "Imenik";
"Mail" = "Pošta";
"Right Administration" = "Administracija prava";
"Help" = "Pomoč";
"Right Administration" = "Upravljanje pravima";
"Help" = "Pomoć";
/* Mail account main windows */
"Welcome to the SOGo Mailer. Use the folder tree on the left to browse your mail accounts!" = "Dobrodošli u Sogo. Koristite mape na lijevoj strani za pregledavanje pošte!";
"Welcome to the SOGo Mailer. Use the folder tree on the left to browse your mail accounts!" = "Dobrodošli u SOGo. Koristite mape na lijevoj strani za pregledavanje pošte!";
"Read messages" = "Pročitaj poruke";
/* Tooltip for fab button */
"Write a new message" = "Napiši novu poruku";
"Share" = "Podjeli";
/* Tooltip for fab button */
"Write a message in new window" = "Piši poruku u novom prozoru";
"Share" = "Podijeli";
"Account" = "Račun";
"Shared Account" = "Zajednički račun";
/* Empty right pane */
/* A mailbox is selected, but no message (only shown on large screens) */
"No message selected" = "Nema odabrane poruke";
/* No mailbox is selected (usually resulting from an IMAP connection problem) */
"No mailbox selected" = "Nije odabran pretinac";
"An error occured while communicating with the mail server" = "Grešak pri komunikaciji sa mail serverom";
/* Mailbox actions */
/* Compact Folder success message */
"Folder compacted" = "Folder compacted";
"Folder compacted" = "Mapa kompaktirana";
/* Empty Trash success message */
"Trash emptied" = "Trash emptied";
"Trash emptied" = "Smeće ispražnjeno";
/* acls */
"Access rights to" = "Dozvoli pristup";
@@ -73,7 +84,7 @@
"Any Authenticated User" = "Svaki ovlašteni korisnik";
"List and see this folder" = "Provjeri i vidi ovu mapu";
"Read mails from this folder" = "Pročitaj poruke iz ove mape";
"Mark mails read and unread" = "Označi mailove čitane i nepročitane";
"Mark mails read and unread" = "Označi mailove kao čitane ili nepročitane";
"Modify the flags of the mails in this folder" = "Promjeni zastavice mailova u ovoj mapi";
"Insert, copy and move mails into this folder" = "Umetni, kopiraj i premjesti mailove u ovu mapu";
"Post mails" = "Objavi mailove";
@@ -95,31 +106,32 @@
"Bcc" = "BCC";
"Reply-To" = "Odgovori na";
"Add address" = "Dodaj adresu";
"Body" = "Tjelo";
"Body" = "Tijelo";
"Open" = "Otvori";
"Select All" = "Odaberi sve";
"Select Message" = "Odaberi poruku";
"Attach Web Page..." = "Priloži web stranicu";
"file" = "datoteka";
"files" = "datoteke";
"Save all" = "Pohrani sve";
"to" = "Za";
"cc" = "KP";
"bcc" = "BCC";
"cc" = "Cc";
"bcc" = "Bcc";
"Add a recipient" = "Dodaj primatelja";
"Edit Draft..." = "Uredi draft ...";
"Edit Draft..." = "Uredi nedovršene...";
"Load Images" = "Učitaj slike";
"Return Receipt" = "Vrati povratnicu";
"The sender of this message has asked to be notified when you read this message. Do you with to notify the sender?" = "The sender of this message has asked to be notified when you read this message. Do you wish to notify the sender?";
"The sender of this message has asked to be notified when you read this message. Do you with to notify the sender?" = "Pošiljatelj ove poruke želi biti obaviješten kada je pročitate. Želite li slati obavijest?";
"Return Receipt (displayed) - %@"= "Povratnica (prikazano) - %@";
"This is a Return Receipt for the mail that you sent to %@.\n\nNote: This Return Receipt only acknowledges that the message was displayed on the recipient's computer. There is no guarantee that the recipient has read or understood the message contents." = "Ovo je povratnica za poštu koju ste slali %@.\n\nNapomena: Ova povratnicom samo potvrđuje da je poruka prikazana na računalu primatelja. Nema jamstva da je primatelj pročitao ili razumio sadržaj poruka.";
"Priority" = "Prioriteta";
"This is a Return Receipt for the mail that you sent to %@.\n\nNote: This Return Receipt only acknowledges that the message was displayed on the recipient's computer. There is no guarantee that the recipient has read or understood the message contents." = "Ovo je povratnica za poštu koju ste slali %@.\n\nNapomena: Ova povratnica samo potvrđuje da je poruka prikazana na računalu primatelja. Nema jamstva da je primatelj pročitao ili razumio sadržaj poruka.";
"Priority" = "Prioritet";
"highest" = "Najviše";
"high" = "Visoko";
"normal" = "Obično";
"low" = "Nisko";
"lowest" = "Najniže";
"This mail is being sent from an unsecure network!" = "Ovaj mail je poslan iz nezaštitene mreže!";
"Address Book" = "Adresar";
"This mail is being sent from an unsecure network!" = "Ovaj mail je poslan iz nezaštićene mreže!";
"Address Book" = "Imenik";
"Search For" = "Traži za";
/* Popup "show" */
@@ -142,7 +154,7 @@
"Yesterday" = "Jučer";
"first" = "Prvi";
"previous" = "Prethodan";
"next" = "Sljedeči";
"next" = "Sljedeći";
"last" = "Zadnji";
"msgnumber_to" = "za";
"msgnumber_of" = "od";
@@ -152,64 +164,88 @@
/* Tree */
"SentFolderName" = "Poslano";
"TrashFolderName" = "Smeče";
"InboxFolderName" = "Inbox";
"DraftsFolderName" = "Drafts";
"TrashFolderName" = "Smeće";
"InboxFolderName" = "Ulazna pošta";
"DraftsFolderName" = "Nedovršeno";
"JunkFolderName" = "Junk";
"SieveFolderName" = "Filteri";
"Folders" = "Mape"; /* title line */
/* MailMoveToPopUp */
"MoveTo" = "Makni &hellip;";
"MoveTo" = "Premjesti &hellip;";
/* Address Popup menu */
"Add to Address Book..." = "Dodaj u adresar";
"Add to Address Book..." = "Dodaj u imenik";
"Compose Mail To" = "Sastavi mail za";
"Create Filter From Message..." = "Napravi filter iz poruke...";
/* Image Popup menu */
"Save Image" = "Spremi sliku";
"Save Attachment" = "Spremi prilog";
"Save Attachment" = "Spremi privitak";
/* Mailbox popup menus */
"Open in New Mail Window" = "Otvori u novom prozoru";
"Copy Folder Location" = "Kopiraj lokaciju mape";
"Subscribe..." = "Naruči....";
"Mark Folder Read" = "Označi mapu prebrano";
"Subscribe..." = "Pretplati....";
"Mark Folder Read" = "Označi mapu kao pročitano";
"New Folder..." = "Nova mapa...";
"Compact This Folder" = "Smanji ovu mapu";
"Search Messages..." = "Traži poruke...";
"Search Messages..." = "Pretraži poruke...";
"Sharing..." = "Dijeljenje...";
"New Subfolder..." = "Nova podmapa...";
"Rename Folder..." = "Preimenuj mapu...";
"Delete Folder" = "Izbriši mapu";
"Use This Folder For" = "Upotrijebi ovu mapu za";
"Get Messages for Account" = "Provjeri poruke za račun";
"Properties..." = "Mogučnosti...";
"Properties..." = "Mogućnosti...";
"Delegation..." = "Delegacija...";
/* Use This Folder menu */
"Sent Messages" = "Slane poruke";
"Drafts" = "Drafts";
"Drafts" = "Nedovršeno";
"Deleted Messages" = "Izbrisane poruke";
"Junk Messages" = "Junk poruke";
/* Message list popup menu */
"Open Message In New Window" = "Otvori poruku u novom prozoru";
"Reply to Sender Only" = "Odgovori samo pošiljatelju";
"Reply to All" = "Odgovori svima";
"Edit As New..." = "Uredi kao novi ...";
"Move To" = "micaj u";
"Move To" = "Premjesti u";
"Copy To" = "Kopiraj u";
"Label" = "Oznaka";
"Mark" = "Označi";
"Save As..." = "Spremi kao...";
"Print Preview" = "Pregled prije ispisa";
"View Message Source" = "Pogledaj izvor poruke";
"Print..." = "Natisni...";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Preinači u događaj";
/* Message view "more" menu: create a task from message */
"Convert To Task" = "Preinači u zadatak";
/* Message view "more" menu: download all attachments as a zip archive */
"Download all attachments" = "Spremi sve privitke";
/* Filename prefix when downloading all attachments as a zip archive */
"attachments" = "Privici";
"Print..." = "Ispiši...";
"Delete Message" = "Izbriši poruku";
"Delete Selected Messages" = "Izbriši odabrane poruke";
"Mark the selected messages as junk" = "Označi odabrane poruke kao smeće";
"Mark the selected messages as not junk" = "Slijedeće poruke ne spadaju pod \"Junk\", označi";
/* Text appended to the recipients list when there are too many recipients */
"and %{0} more..." = "i %{0} više...";
/* Button label to hide extended list of recipients */
"Hide" = "Sakrij";
/* Number of selected messages in list */
"selected" = "odabrano";
"This Folder" = "Ova mapa";
/* Label popup menu */
@@ -221,33 +257,48 @@
"As Read By Date..." = "Kao pročitano datuma...";
"All Read" = "Sve pročitano";
"Flag" = "Označi";
"As Junk" = "Kao smeče";
"As Not Junk" = "Nije smeče";
"As Junk" = "Kao smeće";
"As Not Junk" = "Nije smeće";
"Run Junk Mail Controls" = "Pokreni junk mail nadzor";
"Search messages in" = "Traži poruke u";
"Search" = "Traži";
"Search subfolders" = "Traži podmape";
"Match any of the following" = "Odgovara bilo šta od sljedećih";
"Match all of the following" = "Odgovara sve od sljedećeg";
"Match any of the following" = "Odgovara bilo čemu od sljedećih";
"Match all of the following" = "Odgovara svemu od sljedećeg";
"contains" = "sadrži";
"does not contain" = "ne sadrži";
"No matches found" = "Nije pronađeno";
"results found" = "pronađeno";
"result found" = "pronađeno";
"Please specify at least one filter" = "Molim odaberi barem jedan filter";
"Please specify at least one filter" = "Molim odaberite barem jedan filter";
/* Folder operations */
"Name" = "Ime";
"Enter the new name of your folder"
="Unesi ime tvog foldera";
="Unesite ime Vašeg foldera";
"Do you really want to move this folder into the trash ?"
= "Da li stvarno želiš premjestiti ovu mapu u smeće?";
= "Želite li zaista premjestiti ovu mapu u smeće?";
"Operation failed" = "Operacija nije uspjela";
"Quota" = "Kvota:";
"quotasFormat" = "%{0}% upotrijebljeno na %{1} MB";
"Please select a message." = "Molim odaberi poruku.";
"Please select a message to print." = "Molim odaberi poruku za tiskanje.";
"Please select only one message to print." = "Molim odaberi samo jednu poruku za tiskanje.";
"Unable to move/delete folder." = "Nije moguće maknuti/birsati mapu";
/* Alternative operation when folder cannot be deleted */
"The mailbox could not be moved to the trash folder. Would you like to delete it immediately?"
= "Poštanski pretinac nije mogao biti pomaknut u mapu smeće. Želite li ga izbrisati odmah?";
/* Confirmation message when deleting multiple messages */
"Are you sure you want to delete the selected messages?" = "Jeste li sigurni da želite brisati odabrane poruke?";
/* Notification on the number of messages successfuly copied */
"%{0} message(s) copied" = "%{0} elektroničnih pošti kopirano";
/* Notification on the number of messages successfuly movied */
"%{0} message(s) moved" = "%{0} elektroničnih pošti pomaknuto";
"Please select a message." = "Molim odaberite poruku.";
"Please select a message to print." = "Molim odaberite poruku za ispis.";
"Please select only one message to print." = "Molim odaberite samo jednu poruku za ispis.";
"The message you have selected doesn't exist anymore." = "Poruka koja je bila odabrana ne postoji više.";
"The folder with name \"%{0}\" could not be created."
= "Mapa sa imenom \"%{0}\" ne moze biti kreirana.";
@@ -256,31 +307,39 @@
"The folder could not be deleted."
= "Ova mapa ne može biti izbrisana.";
"The trash could not be emptied."
= "Smeče ne može biti izbrisano.";
= "Smeće ne može biti izbrisano.";
"The folder functionality could not be changed."
= "Funkcionalnost mape ne može biti promijenjena.";
"You need to choose a non-virtual folder!" = "Trebaš zatvoriti ne-virtualnu mapu!";
"You need to choose a non-virtual folder!" = "Trebate zatvoriti ne-virtualnu mapu!";
"Moving a message into its own folder is impossible!"
= "Micanje poruke u njezinu vlastitu mapu nije moguče!";
= "Premještanje poruke u njezinu vlastitu mapu nije moguće!";
"Copying a message into its own folder is impossible!"
= "Kopiranje poruke u njezinu vlastitu mapu nije moguče!";
= "Kopiranje poruke u njezinu vlastitu mapu nije moguće!";
/* Message operations */
"The messages could not be moved to the trash folder. Would you like to delete them immediately?"
= "Ove poruke ne mogu biti premještene u smeče. Želiš ih odmah obrisati?";
= "Ove poruke ne mogu biti premještene u smeće. Želite li ih odmah obrisati?";
/* Message editing */
"error_missingsubject" = "Ova poruka nema predmet. Sigurno je želiš slati?";
"error_missingrecipients" = "Molim odaberi barem jednog primatelja.";
"error_missingsubject" = "Ova poruka nema predmet. Sigurno je želite slati?";
"error_missingrecipients" = "Molim odaberite barem jednog primatelja.";
"Send Anyway" = "Šalji svejedno";
"Error while saving the draft" = "Greška kod spremanja drafta";
"Error while saving the draft" = "Greška kod spremanja nedovršenog maila";
/* Error when uploading a file attachment */
"Error while uploading the file \"%{0}\":" = "Greška kod prijenosa datoteke {0}\":";
"There is an active file upload. Closing the window will interrupt it." = "Aktivan je prijenos datoteka. Zatvaranje prozora će ga prekinuti.";
"Message is too big" = "Poruka je prevelika";
/* Message sending */
"cannot send message: (smtp) all recipients discarded" = "Ne možeš poslati poruku: svi primatelji su nevažeći.";
"cannot send message (smtp) - recipients discarded" = "Ne možeš poslati poruku: sljedeće adrese su neispravne";
"cannot send message: (smtp) error when connecting" = "Ne možeš poslati poruku: greška kod spajanja na SMTP poslužitelj.";
/* Appears while sending the message */
"Sending" = "Šaljem";
/* Appears when the message is successfuly sent */
"Sent" = "Poslano";
"cannot send message: (smtp) all recipients discarded" = "Poruku nije moguće poslati: svi primatelji su nevažeći.";
"cannot send message (smtp) - recipients discarded" = "Poruku nije moguće poslati: sljedeće adrese su neispravne";
"cannot send message: (smtp) error when connecting" = "Poruku nije moguće poslati: greška kod spajanja na SMTP poslužitelj.";
/* Contacts list in mail editor */
"Email" = "e pošta";
@@ -296,22 +355,55 @@
"Rename" = "Preimenovati";
"Compact" = "Kompaktiraj";
"Export" = "Izvozi";
"Set as Drafts" = "Pohrani kao nedovršeno";
"Set as Drafts" = "Spremi kao nedovršeno";
"Set as Sent" = "Pohrani kao poslano";
"Set as Trash" = "Pohrani kao smeče";
"Sort" = "Sortiraj";
/* Set the folder as the one holding Junk mails */
"Set as Junk" = "Odredi kao \"Junk\"";
"Sort" = "Posloži";
"Order Received" = "Posloženo";
"Descending Order" = "Silazni poredak";
"Back" = "Natrag";
"Copy messages" = "Kopiraj poruke";
"More messages options" = "Više opcija poruke";
"Mark as Unread" = "Označi kao nepročitano";
"Mark as Read" = "Označi kao pročitano";
"Closing Window ..." = "Zatvaranje prozora...";
"Tried to send too many mails. Please wait." = "Pokušao poslati previše mailova. Molimo pričekaj.";
"Tried to send too many mails. Please wait." = "Pokušalo se poslati previše mailova. Molim pričekajte.";
"View Mail" = "Vidi poruku";
"This message contains external images." = "Ova poruka sadrži vanjske slike.";
"Expanded" = "Razšireno";
"Expanded" = "Rašireno";
"Add a Criteria" = "Dodaj kriterij";
"More search options" = "Više opcija traženja";
"Your email has been saved" = "Your email has been saved";
"Your email has been sent" = "Your email has been sent";
"Folder compacted" = "Folder compacted";
"Your email has been saved" = "Vaš email je pohranjen";
"Your email has been sent" = "Vaš email je poslan";
"Folder compacted" = "Mapa kompaktirana";
/* Aria label for scope of search on messages */
"Search scope" = "Opseg pretraživanja";
/* Subscriptions Dialog */
"Manage Subscriptions" = "Upravljanje pretplatama";
/* Label of filter input field in subscriptions dialog */
"Filter" = "Filter";
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
/* Hotkey to reply to a message */
"hotkey_reply" = "r";
/* Hotkey to reply to all recipients of a message */
"hotkey_replyall" = "a";
/* Hotkey to forward to a message */
"hotkey_forward" = "f";
@@ -70,6 +70,8 @@
/* No mailbox is selected (usually resulting from an IMAP connection problem) */
"No mailbox selected" = "Nebyla vybrána žádná poštovní schránka";
"An error occured while communicating with the mail server" = "Při komunikaci s poštovním serverem došlo k chybě";
/* Mailbox actions */
/* Compact Folder success message */
"Folder compacted" = "Údržba složky byla provedena";
@@ -43,7 +43,7 @@
"Search multiple mailboxes" = "Search multiple mailboxes";
/* Main Frame */
"Home" = "Home";
"Home" = "Home";
"Calendar" = "Calendar";
"Addressbook" = "Address Book";
"Mail" = "Mail";
@@ -406,4 +406,4 @@
"hotkey_replyall" = "a";
/* Hotkey to forward to a message */
"hotkey_forward" = "f";
"hotkey_forward" = "f";
@@ -70,6 +70,8 @@
/* No mailbox is selected (usually resulting from an IMAP connection problem) */
"No mailbox selected" = "Nebola vybraná žiadna schránka";
"An error occured while communicating with the mail server" = "Pri komunikácii s poštovým serverom nastala chyba";
/* Mailbox actions */
/* Compact Folder success message */
"Folder compacted" = "Priečinok bol zmenšený";
@@ -53,7 +53,13 @@
/* Mail account main windows */
"Welcome to the SOGo Mailer. Use the folder tree on the left to browse your mail accounts!" = "Bienvenido a SOGo Mailer. Use el árbol de carpetas a la izquierda para navegar por sus cuentas de correo.";
"Read messages" = "Leer mensajes";
/* Tooltip for fab button */
"Write a new message" = "Redactar un nuevo mensaje";
/* Tooltip for fab button */
"Write a message in new window" = "Abrir mensaje en ventana nueva";
"Share" = "Compartir";
"Account" = "Cuenta";
"Shared Account" = "Cuenta compartida";
@@ -64,6 +70,8 @@
/* No mailbox is selected (usually resulting from an IMAP connection problem) */
"No mailbox selected" = "No buzon seleccionado";
"An error occured while communicating with the mail server" = "Ha ocurrido un error mientras se comunicaba con el servidor de correo electrónico";
/* Mailbox actions */
/* Compact Folder success message */
"Folder compacted" = "Carpeta compactada";
@@ -217,6 +225,12 @@
/* Message view "more" menu: create a task from message */
"Convert To Task" = "Convertir como tarea";
/* Message view "more" menu: download all attachments as a zip archive */
"Download all attachments" = "Descargar todos los archivos adjuntos";
/* Filename prefix when downloading all attachments as a zip archive */
"attachments" = "adjuntos";
"Print..." = "Imprimir...";
"Delete Message" = "Borrar mensaje";
"Delete Selected Messages" = "Borrar mensajes selecionados";
@@ -267,10 +281,21 @@
"Operation failed" = "Operación fallida";
"Quota" = "Cuota";
"quotasFormat" = "%{0}% de %{1} MB usados";
"Unable to move/delete folder." = "No se puede mover/borrar la carpeta";
/* Alternative operation when folder cannot be deleted */
"The mailbox could not be moved to the trash folder. Would you like to delete it immediately?"
= "El buzón no se podrá mover a la papelera de reciclaje. ¿ Quiere eliminarlo ? ";
/* Confirmation message when deleting multiple messages */
"Are you sure you want to delete the selected messages?" = "Estas seguro que quieres borrar los mensajes seleccionados?";
/* Notification on the number of messages successfuly copied */
"%{0} message(s) copied" = "%{0} mensaje(s) copiado(s)";
/* Notification on the number of messages successfuly movied */
"%{0} message(s) moved" = "%{0} mensaje(s) movido(s)";
"Please select a message." = "Seleccione un mensaje.";
"Please select a message to print." = "Seleccione el mensaje que desea imprimir.";
"Please select only one message to print." = "Para imprimir, seleccione sólo un mensaje.";
@@ -304,8 +329,14 @@
/* Error when uploading a file attachment */
"Error while uploading the file \"%{0}\":" = "Error al cargar el fichero \"%{0}\":";
"There is an active file upload. Closing the window will interrupt it." = "Un fichero se esta cargando. Cerrar la ventana cancelara la carga.";
"Message is too big" = "El mensaje es demasiado grande";
/* Appears while sending the message */
"Sending" = "Enviando";
/* Appears when the message is successfuly sent */
"Sent" = "Enviado";
/* Message sending */
"cannot send message: (smtp) all recipients discarded" = "No se puede enviar el mensaje: (smtp) todos los destinatarios han sido descartados";
"cannot send message (smtp) - recipients discarded" = "No se puede enviar el mensaje: (smtp) destinatarios descartados";
"cannot send message: (smtp) error when connecting" = "No se puede enviar el mensaje: (smtp) error de conexión";
@@ -332,11 +363,13 @@
"Set as Junk" = "Marcar como Spam";
"Sort" = "Ordenar";
"Order Received" = "Orden recivida";
"Descending Order" = "Orden desciendente";
"Back" = "Atras";
"Copy messages" = "Copiar mensajes";
"More messages options" = "Mas opciones de mensajes";
"Mark as Unread" = "Marcar como no leído";
"Mark as Read" = "Marca como leído";
"Closing Window ..." = "Cerrando ventana...";
"Tried to send too many mails. Please wait." = "Intentando enviar demasiados correos. Por favor, esperar.";
"View Mail" = "Ver Correo";
@@ -349,4 +382,28 @@
"Folder compacted" = "Carpeta compactada";
/* Aria label for scope of search on messages */
"Search scope" = "Ámbito de búsqueda";
"Search scope" = "Ámbito de búsqueda";
/* Subscriptions Dialog */
"Manage Subscriptions" = "Administrar Suscripciones";
/* Label of filter input field in subscriptions dialog */
"Filter" = "Filtro";
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
/* Hotkey to reply to a message */
"hotkey_reply" = "r";
/* Hotkey to reply to all recipients of a message */
"hotkey_replyall" = "a";
/* Hotkey to forward to a message */
"hotkey_forward" = "f";
@@ -26,7 +26,7 @@
/* Tooltips */
"Send this message now" = "İletiyi gönder";
"Select a recipient from an Address Book" = "Adres Defterinden Alıcı Seç";
"Include an attachment" = "Dosya Ekle";
"Include an attachment" = "Dosya ekle";
"Save this message" = "İletiyi kaydet";
"Get new messages" = "Yeni gelen iletileri al";
"Create a new message" = "Yeni ileti oluştur";
@@ -82,7 +82,7 @@
"Access rights to" = "Klasörün erişim yetkileri";
"For user" = "Şu kullanıcı için";
"Any Authenticated User" = "Kimliği doğrulanmış her kullanıcı";
"List and see this folder" = "Klasörü listele ve görüntüle";
"List and see this folder" = "Klasörü listele ve görüntüler";
"Read mails from this folder" = "Klasördeki iletileri okur";
"Mark mails read and unread" = "Okumuş ve okunmamış iletileri işaretler";
"Modify the flags of the mails in this folder" = "Bu klasördeki iletilerin yıldızlarını değiştirir";
@@ -92,7 +92,7 @@
"Remove this folder" = "Klasörü kaldırır";
"Erase mails from this folder" = "Klasörden iletileri siler";
"Expunge this folder" = "Klasörü boşaltır";
"Export This Folder" = "Klasörü dışa aktar";
"Export This Folder" = "Klasörü dışa aktarır";
"Modify the acl of this folder" = "Klasörün erişim denetimi listesini değiştirir";
"Saved Messages.zip" = "Messages.zip olarak kaydedildi";
"Update" = "Güncelle";
@@ -155,7 +155,7 @@
"first" = "İlk";
"previous" = "Önceki";
"next" = "Sonraki";
"last" = "En son";
"last" = "En sonuncu";
"msgnumber_to" = "alıcı";
"msgnumber_of" = "den";
"Mark Unread" = "Okunmamışları İşaretle";
@@ -268,8 +268,8 @@
"contains" = "içeren";
"does not contain" = "içermeyen";
"No matches found" = "Eşleşme bulunamadı";
"results found" = "bulundu";
"result found" = "bulunamadı";
"results found" = "bulunanlar";
"result found" = "bulunan sonuç";
"Please specify at least one filter" = "Lütfen en az bir süzgeç belirtin";
/* Folder operations */
@@ -321,14 +321,14 @@
= "İletiler çöpe taşınamıyor. Bu iletileri hemen silmek ister misiniz?";
/* Message editing */
"error_missingsubject" = "İletiye konu başlığı yazılmadı. İletiyi konusuz olarak göndermek istediğinizden emin misiniz?";
"error_missingsubject" = "Bu iletinin konusu yok. İletiyi konusuz olarak göndermek istediğinizden emin misiniz?";
"error_missingrecipients" = "Lütfen en az bir alıcı belirtin.";
"Send Anyway" = "Yinede Gönder";
"Error while saving the draft" = "Taslağı kaydederken hata oluştu";
/* Error when uploading a file attachment */
"Error while uploading the file \"%{0}\":" = " \"%{0}\" dosyasını yüklerken hata oluştu:";
"There is an active file upload. Closing the window will interrupt it." = "Devam eden bir dosya yükleme işlemi var. Pencereyi kapanırsa yükleme işlemi duracak.";
"There is an active file upload. Closing the window will interrupt it." = "Dosya yükleme işlemi devam ediyor. Pencereyi kapanırsa yükleme işlemi duracak.";
"Message is too big" = "İleti çok büyük";
/* Appears while sending the message */
@@ -338,14 +338,14 @@
"Sent" = "Gönderildi";
"cannot send message: (smtp) all recipients discarded" = "İleti gönderilemiyor: tüm alıcılar geçersiz.";
"cannot send message (smtp) - recipients discarded" = "İleti gönderilemiyor. Şu adresler geçersiz";
"cannot send message: (smtp) error when connecting" = "İleti gönderilemiyor: SMTP sunucusuna erişirken hata ile karşılaşıldı.";
"cannot send message (smtp) - recipients discarded" = "İleti gönderilemedi. Şu adresler geçersiz";
"cannot send message: (smtp) error when connecting" = "İleti gönderilemedi: SMTP sunucusuna erişirken hata ile karşılaşıldı.";
/* Contacts list in mail editor */
"Email" = "E-posta";
"More mail options" = "Diğer e-posta seçenekleri";
"Delegation" = "Yetkili Tayini";
"Add User" = "Kullanıcı Ekleyin";
"Add User" = "Kullanıcı Ekle";
"Add a tag" = "Etiket ekle";
"reply" = "yanıtla";
"Edit" = "Düzenle";
@@ -17,6 +17,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Croatian" = "Hrvatski";
@@ -17,6 +17,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Croatian" = "Hrvatski";
@@ -18,6 +18,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Czech" = "Česky";
@@ -18,6 +18,7 @@
"Arabic" = "العربية";
"Basque" = "Euskera";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Xinès (Taiwan)";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
+35
View File
@@ -0,0 +1,35 @@
/* ChineseChina (zh_CN) */
{
NSLanguageName = "ChineseChina";
NSFormalName = "简体中文";
NSLocaleCode = "zh_CN"; /* ISO 639-1 */
NSLanguageCode = "zho"; /* ISO 639-2 */
NSParentContext = "";
NSAMPMDesignation = ("上午","上午");
NSCurrencySymbol = "元";
NSDateFormatString = "%A, %B %e, %Y";
NSDateTimeOrdering = MDYH;
NSDecimalDigits = ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
NSDecimalSeparator = ".";
NSEarlierTimeDesignations = ("之前", "剩餘", "之後", "前");
NSHourNameDesignations = ((0, "半夜"), (10, "早上"), (12, "中午", "午餐"), (14, "下午"), (19, "晚餐"));
NSInternationalCurrencyString = CNY; /* ISO 4217 */
NSLaterTimeDesignations = ("下一個");
NSMonthNameArray = ("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月");
NSNextDayDesignations = ("明天");
NSNextNextDayDesignations = ("明日");
NSPriorDayDesignations = ("昨天");
NSShortDateFormatString = "%m/%e/%y";
NSShortMonthNameArray = ("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月");
NSShortTimeDateFormatString = "%m/%e/%y %I:%M %p";
NSShortWeekDayNameArray = ("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
NSThisDayDesignations = ("今天", "現在");
NSThousandsSeparator = ",";
NSTimeDateFormatString = "%A, %B %e, %Y %I:%M:%S %p %Z";
NSTimeFormatString = "%I:%M:%S %p";
NSWeekDayNameArray = ("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
NSYearMonthWeekDesignations = ("年", "月", "周");
NSPositiveCurrencyFormatString = "$9,999.00";
NSNegativeCurrencyFormatString = "-$9,999.00";
}
@@ -0,0 +1,96 @@
/* this file is in UTF-8 format! */
"title" = "SOGo";
"Username" = "用户名";
"Password" = "密码";
"Domain" = "域";
"Remember username" = "记住用户名";
"Connect" = "连接";
/* Appears while authentication is in progress */
"Authenticating" = "认证中";
/* Appears when authentication succeeds */
"Welcome" = "欢迎";
"Authentication Failed" = "认证失败";
"Wrong username or password." = "用户名或口令错误。";
"Retry" = "请重试";
"cookiesNotEnabled" = "浏览器cookies无效,不能登录。请确定浏览器选项中cookies已启用。";
"browserNotCompatible" = "目前系统不支持您使用的浏览器。我们推荐使用Firefox。点击下面链接下载最新版浏览器。";
"alternativeBrowsers" = "或者,您可以使用下面的兼容浏览器";
"alternativeBrowserSafari" = "或者,您可以使用Safari。";
"Download" = "下载";
"Language" = "语言";
"choose" = "选择...";
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
"Dutch" = "Nederlands";
"English" = "English";
"Finnish" = "Suomi";
"French" = "Français";
"German" = "Deutsch";
"Hebrew" = "עברית";
"Hungarian" = "Magyar";
"Icelandic" = "Íslenska";
"Italian" = "Italiano";
"Latvian" = "Latviešu";
"Lithuanian" = "Lietuvių";
"Macedonian" = "Македонски";
"NorwegianBokmal" = "Norsk bokmål";
"NorwegianNynorsk" = "Norsk nynorsk";
"Polish" = "Polski";
"Portuguese" = "Português";
"BrazilianPortuguese" = "Português brasileiro";
"Russian" = "Русский";
"Serbian" = "Српски";
"Slovak" = "Slovensky";
"Slovenian" = "Slovenščina";
"SpanishSpain" = "Español (España)";
"SpanishArgentina" = "Español (Argentina)";
"Swedish" = "Svenska";
"TurkishTurkey" = "Türkçe (Türkiye)";
"Ukrainian" = "Українська";
"Welsh" = "Cymraeg";
"About" = "关于";
"AboutBox" = "SOGo作为Inverse开发的产品, 是一款专注于可扩展及高易用性的全机能协作服务器软件。<br/><br/>\nSOGo 基于 AJAX,通过标准协议,如CalDAV和CardDAV,支持多种本地客户端。<br/><br/>\n SOGo 基于<a href=\"http://gnu.org/licenses/gpl.html\"> GNU GPL</a> version 2 或新版发布,并且部分基于GNU LGPL version 2: 这是一款自由软件,你可以在法律的允许范围内自由的修改发布。<br/><br/>\n请到<a href=\"http://www.sogo.nu/en/support/community.html\">这里</a>查看更多支持选项。";
"Your account was locked due to too many failed attempts." = "错误次数上限,您的账户已被锁定。请联系管理员解锁。";
"Your account was locked due to an expired password." = "密码过期,您的账户已被锁住。请联系管理员解锁。";
"Login failed due to unhandled error case" = "未知错误,登录失败";
"Change your Password" = "修改密码";
"The password was changed successfully." = "密码修改成功。";
"Your password has expired, please enter a new one below" = "密码过期, 请输入新密码";
"Password must not be empty." = "密码不能为空。";
"The passwords do not match. Please try again." = "两次密码不一致。 请重新输入。";
"Password Grace Period" = "密码周期";
"You have %{0} logins remaining before your account is locked. Please change your password in the preference dialog." = "在账户锁定前您还有 %{0} 登录。 请在偏好设定对话框修改密码。";
"Password about to expire" = "密码即将过期";
"Your password is going to expire in %{0} %{1}." = "密码将于 %{0} %{1} 过期。";
"days" = "天";
"hours" = "小时";
"minutes" = "分钟";
"seconds" = "秒";
"Password change failed" = "密码修改失败";
"Password change failed - Permission denied" = "密码修改失败 - 没有权限";
"Password change failed - Insufficient password quality" = "密码修改失败 - 密码复杂度不符合定义";
"Password change failed - Password is too short" = "密码修改失败 - 密码太短";
"Password change failed - Password is too young" = "密码更改失败 - 密码太简单";
"Password change failed - Password is in history" = "密码更改失败 - 曾用密码";
"Unhandled policy error: %{0}" = "未知错误: %{0}";
"Unhandled error response" = "返回未知错误";
"Password change is not supported." = "不支持修改密码";
"Unhandled HTTP error code: %{0}" = "未知 HTTP 错误: %{0}";
"New password" = "新密码";
"Confirmation" = "确认";
"Cancel" = "取消";
"Please wait..." = "请稍候...";
"Close" = "关闭";
"Missing search parameter" = "缺少搜索参数";
"Missing type parameter" = "缺少类型参数";
+1 -1
View File
@@ -2,7 +2,7 @@
{
NSLanguageName = "ChineseTaiwan";
NSFormalName = "正體中文";
NSLocaleCode = "zh"; /* ISO 639-1 */
NSLocaleCode = "zh_TW"; /* ISO 639-1 */
NSLanguageCode = "zho"; /* ISO 639-2 */
NSParentContext = "";
@@ -17,6 +17,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Croatian" = "Hrvatski";
+22 -11
View File
@@ -6,19 +6,28 @@
"Domain" = "Domena";
"Remember username" = "Zapamti korisničko ime";
"Connect" = "Spoji se";
/* Appears while authentication is in progress */
"Authenticating" = "Autentifikacija";
/* Appears when authentication succeeds */
"Welcome" = "Dobro došli";
"Authentication Failed" = "Provjera autentičnosti nije uspjela";
"Wrong username or password." = "Pogrešno korisničko ime ili lozinka";
"Retry" = "Ponovni pokušaj";
"cookiesNotEnabled" = "Ne možete se prijaviti jer su kolačići preglednika onemogućeni. Molimo omogućite kolačiće u postavkama preglednika i pokušajte ponovno.";
"browserNotCompatible" = "Otkrili smo da verzija vašeg preglednika trenutno nije podržana na toj stranici. Naša preporuka je da koristite Firefox. Kliknite na link ispod da preuzmete najnoviju verziju tog preglednika.";
"alternativeBrowsers" = "Alternativno, možete koristiti i sljedeće kompatibilne preglednike";
"alternativeBrowserSafari" = "Alternativno, možete koristiti Safari.";
"browserNotCompatible" = "Otkrili smo da verzija vašeg preglednika trenutno nije podržana na ovoj stranici. Naša preporuka je da koristite Firefox. Kliknite na link ispod da preuzmete najnoviju verziju tog preglednika.";
"alternativeBrowsers" = "Alternativno možete koristiti i sljedeće kompatibilne preglednike";
"alternativeBrowserSafari" = "Alternativno možete koristiti Safari.";
"Download" = "Preuzimanje";
"Language" = "Jezik";
"choose" = "Odaberi...";
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseTaiwan" = "Chinese (Taiwan)";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "正體中文";
"Croatian" = "Hrvatski";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
@@ -33,9 +42,11 @@
"Italian" = "Italiano";
"Latvian" = "Latviešu";
"Lithuanian" = "Lietuvių";
"Macedonian" = "Македонски";
"NorwegianBokmal" = "Norsk bokmål";
"NorwegianNynorsk" = "Norsk nynorsk";
"Polish" = "Polski";
"Portuguese" = "Português";
"BrazilianPortuguese" = "Português brasileiro";
"Russian" = "Русский";
"Serbian" = "Српски";
@@ -47,18 +58,19 @@
"TurkishTurkey" = "Türkçe (Türkiye)";
"Ukrainian" = "Українська";
"Welsh" = "Cymraeg";
"About" = "o";
"AboutBox" = "Developed by Inverse, SOGo is a fully-featured groupware server with a focus on scalability and simplicity.<br/><br/>\nSOGo provides a rich AJAX-based Web interface and supports multiple native clients through the use of standard protocols such as CalDAV and CardDAV.<br/><br/>\nSOGo is distributed under the <a href=\"http://gnu.org/licenses/gpl.html\">GNU GPL</a> version 2 or later and parts are distributed under the GNU LGPL version 2. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.<br/><br/>\nSee <a href=\"http://www.sogo.nu/en/support/community.html\">this page</a> for various support options.";
"Your account was locked due to too many failed attempts." = "Vaš korisnički račun je zaključan zbog previše neuspjelih pokušaja.";
"Your account was locked due to an expired password." = "Vaš korisnički račun je zaključan zbog istekle lozinke.";
"Your account was locked due to an expired password." = "Vaš korisnički račun je zaključan jer Vam je lozinka istekla..";
"Login failed due to unhandled error case" = "Prijava nije uspjela zbog neobrađene greške";
"Change your Password" = "Promjeni lozinku";
"The password was changed successfully." = "Lozinka je uspješno promijenjena.";
"Your password has expired, please enter a new one below" = "Vaša lozinka je istekla, molimo unesite novu ispod";
"Password must not be empty." = "Lozinka ne smije biti prazna.";
"The passwords do not match. Please try again." = "Lozinke se ne podudaraju. Molim pokušaj ponovno.";
"The passwords do not match. Please try again." = "Lozinke se ne podudaraju. Molim pokušajte ponovno.";
"Password Grace Period" = "Lozinka sa odlogom";
"You have %{0} logins remaining before your account is locked. Please change your password in the preference dialog." = "Imate %{0} prijava preostalo prije nego što če se vaš račun zaključati. Molimo promijenite svoju lozinku.";
"You have %{0} logins remaining before your account is locked. Please change your password in the preference dialog." = "Preostalo Vam je %{0} prijava prije nego što će se Vaš račun zaključati. Molimo promijenite svoju lozinku.";
"Password about to expire" = "Lozinka će uskoro isteći";
"Your password is going to expire in %{0} %{1}." = "Vaša lozinka će isteći za %{0} %{1}.";
"days" = "dana";
@@ -68,9 +80,9 @@
"Password change failed" = "Promjena lozinke nije uspjela";
"Password change failed - Permission denied" = "Promjena lozinke nije uspjela - Odobrenje odbijeno";
"Password change failed - Insufficient password quality" = "Promjena lozinke nije uspjela - nedovoljna kvaliteta lozinke";
"Password change failed - Password is too short" = "Insufficient password quality - lozinka prekratka";
"Password change failed - Password is too young" = "Insufficient password quality - lozinka premlada";
"Password change failed - Password is in history" = "Insufficient password quality - lozinka u povijesti";
"Password change failed - Password is too short" = "Promjena lozinke nije uspjela - lozinka prekratka";
"Password change failed - Password is too young" = "Promjena lozinke nije uspjela - lozinka premlada";
"Password change failed - Password is in history" = "Promjena lozinke nije uspjela - lozinka u povijesti";
"Unhandled policy error: %{0}" = "Unhandled policy error: %{0}";
"Unhandled error response" = "Unhandled error response";
"Password change is not supported." = "Promjena lozinke nije podržana.";
@@ -79,7 +91,6 @@
"Confirmation" = "Potvrdi";
"Cancel" = "Odustani";
"Please wait..." = "Molimo pričekajte...";
"AboutBox" = "Developed by Inverse, SOGo is a fully-featured groupware server with a focus on scalability and simplicity.<br/><br/>\nSOGo provides a rich AJAX-based Web interface and supports multiple native clients through the use of standard protocols such as CalDAV and CardDAV.<br/><br/>\nSOGo is distributed under the <a href=\"http://gnu.org/licenses/gpl.html\">GNU GPL</a> version 2 or later and parts are distributed under the GNU LGPL version 2. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.<br/><br/>\nSee <a href=\"http://www.sogo.nu/en/support/community.html\">this page</a> for various support options.";
"Close" = "Zatvori";
"Missing search parameter" = "Nedostaje parametar za pretraživanje ";
"Missing type parameter" = "Nedostaje vrsta parametra";
@@ -26,6 +26,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Czech" = "Česky";
@@ -17,6 +17,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Croatian" = "Hrvatski";
@@ -26,6 +26,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Czech" = "Česky";
+2 -1
View File
@@ -26,7 +26,8 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseTaiwan" = "Chinese (Taiwan)";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "正體中文";
"Croatian" = "Hrvatski";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
@@ -26,6 +26,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Czech" = "Česky";
@@ -26,6 +26,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Czech" = "Česky";
@@ -26,6 +26,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Czech" = "Česky";
@@ -26,6 +26,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Czech" = "Česky";
@@ -26,6 +26,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Czech" = "Česky";
@@ -16,6 +16,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Croatian" = "Hrvatski";
@@ -18,6 +18,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Czech" = "Česky";
@@ -26,6 +26,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Chinese (Taiwan)";
"Croatian" = "Hrvatski";
"Czech" = "Česky";
@@ -18,6 +18,7 @@
"Arabic" = "العربية";
"Basque" = "Euskara";
"Catalan" = "Català";
"ChineseChina" = "简体中文";
"ChineseTaiwan" = "Kinų (Taivanis)";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";

Some files were not shown because too many files have changed in this diff Show More