diff --git a/.tx/config b/.tx/config index ee12af198..9a5f5d566 100644 --- a/.tx/config +++ b/.tx/config @@ -28,6 +28,7 @@ trans.sk = UI/MailerUI/Slovak.lproj/Localizable.strings trans.sl_SI = UI/MailerUI/Slovenian.lproj/Localizable.strings trans.sv = UI/MailerUI/Swedish.lproj/Localizable.strings trans.uk = UI/MailerUI/Ukrainian.lproj/Localizable.strings +trans.zh_TW = UI/MailerUI/ChineseTaiwan.lproj/Localizable.strings [sogo.ui-preferencesui] source_file = UI/PreferencesUI/English.lproj/Localizable.strings @@ -56,6 +57,7 @@ trans.sk = UI/PreferencesUI/Slovak.lproj/Localizable.strings trans.sl_SI = UI/PreferencesUI/Slovenian.lproj/Localizable.strings trans.sv = UI/PreferencesUI/Swedish.lproj/Localizable.strings trans.uk = UI/PreferencesUI/Ukrainian.lproj/Localizable.strings +trans.zh_TW = UI/PreferencesUI/ChineseTaiwan.lproj/Localizable.strings [sogo.ui-scheduler] source_file = UI/Scheduler/English.lproj/Localizable.strings @@ -84,6 +86,7 @@ trans.sk = UI/Scheduler/Slovak.lproj/Localizable.strings trans.sl_SI = UI/Scheduler/Slovenian.lproj/Localizable.strings trans.sv = UI/Scheduler/Swedish.lproj/Localizable.strings trans.uk = UI/Scheduler/Ukrainian.lproj/Localizable.strings +trans.zh_TW = UI/Scheduler/ChineseTaiwan.lproj/Localizable.strings [sogo.ui-contacts] source_file = UI/Contacts/English.lproj/Localizable.strings @@ -112,6 +115,7 @@ trans.sk = UI/Contacts/Slovak.lproj/Localizable.strings trans.sl_SI = UI/Contacts/Slovenian.lproj/Localizable.strings trans.sv = UI/Contacts/Swedish.lproj/Localizable.strings trans.uk = UI/Contacts/Ukrainian.lproj/Localizable.strings +trans.zh_TW = UI/Contacts/ChineseTaiwan.lproj/Localizable.strings [sogo.ui-mainui] source_file = UI/MainUI/English.lproj/Localizable.strings @@ -140,6 +144,7 @@ trans.sk = UI/MainUI/Slovak.lproj/Localizable.strings trans.sl_SI = UI/MainUI/Slovenian.lproj/Localizable.strings trans.sv = UI/MainUI/Swedish.lproj/Localizable.strings trans.uk = UI/MainUI/Ukrainian.lproj/Localizable.strings +trans.zh_TW = UI/MainUI/ChineseTaiwan.lproj/Localizable.strings [sogo.ui-common] source_file = UI/Common/English.lproj/Localizable.strings @@ -168,6 +173,7 @@ trans.sk = UI/Common/Slovak.lproj/Localizable.strings trans.sl_SI = UI/Common/Slovenian.lproj/Localizable.strings trans.sv = UI/Common/Swedish.lproj/Localizable.strings trans.uk = UI/Common/Ukrainian.lproj/Localizable.strings +trans.zh_TW = UI/Common/ChineseTaiwan.lproj/Localizable.strings [sogo.ui-administrationui] source_file = UI/AdministrationUI/English.lproj/Localizable.strings @@ -196,6 +202,7 @@ trans.sk = UI/AdministrationUI/Slovak.lproj/Localizable.strings trans.sl_SI = UI/AdministrationUI/Slovenian.lproj/Localizable.strings trans.sv = UI/AdministrationUI/Swedish.lproj/Localizable.strings trans.uk = UI/AdministrationUI/Ukrainian.lproj/Localizable.strings +trans.zh_TW = UI/AdministrationUI/ChineseTaiwan.lproj/Localizable.strings [sogo.soobjects-appointments] source_file = SoObjects/Appointments/English.lproj/Localizable.strings @@ -224,6 +231,7 @@ trans.sk = SoObjects/Appointments/Slovak.lproj/Localizable.strings trans.sl_SI = SoObjects/Appointments/Slovenian.lproj/Localizable.strings trans.sv = SoObjects/Appointments/Swedish.lproj/Localizable.strings trans.uk = SoObjects/Appointments/Ukrainian.lproj/Localizable.strings +trans.zh_TW = SoObjects/Appointments/ChineseTaiwan.lproj/Localizable.strings [sogo.soobjects-contacts] source_file = SoObjects/Contacts/English.lproj/Localizable.strings @@ -252,6 +260,7 @@ trans.sk = SoObjects/Contacts/Slovak.lproj/Localizable.strings trans.sl_SI = SoObjects/Contacts/Slovenian.lproj/Localizable.strings trans.sv = SoObjects/Contacts/Swedish.lproj/Localizable.strings trans.uk = SoObjects/Contacts/Ukrainian.lproj/Localizable.strings +trans.zh_TW = SoObjects/Contacts/ChineseTaiwan.lproj/Localizable.strings [sogo.soobjects-mailer] source_file = SoObjects/Mailer/English.lproj/Localizable.strings @@ -280,6 +289,7 @@ trans.sk = SoObjects/Mailer/Slovak.lproj/Localizable.strings trans.sl_SI = SoObjects/Mailer/Slovenian.lproj/Localizable.strings trans.sv = SoObjects/Mailer/Swedish.lproj/Localizable.strings trans.uk = SoObjects/Mailer/Ukrainian.lproj/Localizable.strings +trans.zh_TW = SoObjects/Mailer/ChineseTaiwan.lproj/Localizable.strings [sogo.ui-mailpartviewers] source_file = UI/MailPartViewers/English.lproj/Localizable.strings @@ -308,3 +318,4 @@ trans.sk = UI/MailPartViewers/Slovak.lproj/Localizable.strings trans.sl_SI = UI/MailPartViewers/Slovenian.lproj/Localizable.strings trans.sv = UI/MailPartViewers/Swedish.lproj/Localizable.strings trans.uk = UI/MailPartViewers/Ukrainian.lproj/Localizable.strings +trans.zh_TW = UI/MailPartViewers/ChineseTaiwan.lproj/Localizable.strings diff --git a/NEWS b/NEWS index 867b4ea97..0d6813f86 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,7 @@ Enhancements - group mail addresses can be used as recipient in Outlook - added 'ActiveSync' module constraints - added Slovenian translation - thanks to Jens Riecken + - added Chinese (Taiwan) translation Bug fixes - EAS's GetItemEstimate/ItemOperations now support fetching mails and empty folders diff --git a/SoObjects/Appointments/ChineseTaiwan.lproj/Localizable.strings b/SoObjects/Appointments/ChineseTaiwan.lproj/Localizable.strings new file mode 100644 index 000000000..b51c99ad8 --- /dev/null +++ b/SoObjects/Appointments/ChineseTaiwan.lproj/Localizable.strings @@ -0,0 +1,67 @@ +"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" = "結束:"; +"due_label" = "截止日期:"; +"location_label" = "地點:"; +"summary_label" = "事件主題:"; +"comment_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" += " 安排於%{OldStartDate} 的事件 \"%{Summary}\" 已變更"; +"The appointment \"%{Summary}\" for the %{OldStartDate} at %{OldStartTime} has changed" += "安排於 %{OldStartDate} %{OldStartTime} 的事件 \"%{Summary}\" 已變更"; +"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}。"; diff --git a/SoObjects/Appointments/GNUmakefile b/SoObjects/Appointments/GNUmakefile index 2cd58b21a..257104e14 100644 --- a/SoObjects/Appointments/GNUmakefile +++ b/SoObjects/Appointments/GNUmakefile @@ -54,7 +54,7 @@ Appointments_RESOURCE_FILES += \ MSExchangeFreeBusySOAPResponseMap.plist \ MSExchangeFreeBusySOAPRequest.wo -Appointments_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh +Appointments_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan ChineseTaiwan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh Appointments_LOCALIZED_RESOURCE_FILES = Localizable.strings diff --git a/SoObjects/Contacts/ChineseTaiwan.lproj/Localizable.strings b/SoObjects/Contacts/ChineseTaiwan.lproj/Localizable.strings new file mode 100644 index 000000000..075b084aa --- /dev/null +++ b/SoObjects/Contacts/ChineseTaiwan.lproj/Localizable.strings @@ -0,0 +1,2 @@ +"Personal Address Book" = "個人通訊錄"; +"Collected Address Book" = "公用通訊錄"; diff --git a/SoObjects/Contacts/GNUmakefile b/SoObjects/Contacts/GNUmakefile index fd5e76a03..510c38c1f 100644 --- a/SoObjects/Contacts/GNUmakefile +++ b/SoObjects/Contacts/GNUmakefile @@ -27,7 +27,7 @@ Contacts_OBJC_FILES = \ Contacts_RESOURCE_FILES += \ product.plist \ -Contacts_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh +Contacts_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan ChineseTaiwan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh Contacts_LOCALIZED_RESOURCE_FILES = Localizable.strings diff --git a/SoObjects/Mailer/ChineseTaiwan.lproj/Localizable.strings b/SoObjects/Mailer/ChineseTaiwan.lproj/Localizable.strings new file mode 100644 index 000000000..c97411cbf --- /dev/null +++ b/SoObjects/Mailer/ChineseTaiwan.lproj/Localizable.strings @@ -0,0 +1,2 @@ +"OtherUsersFolderName" = "其他使用者"; +"SharedFoldersName" = "共用資料匣"; diff --git a/SoObjects/Mailer/GNUmakefile b/SoObjects/Mailer/GNUmakefile index 59ed443e1..da5092ea6 100644 --- a/SoObjects/Mailer/GNUmakefile +++ b/SoObjects/Mailer/GNUmakefile @@ -50,6 +50,8 @@ Mailer_RESOURCE_FILES += \ SOGoMailBrazilianPortugueseReply.wo \ SOGoMailCatalanForward.wo \ SOGoMailCatalanReply.wo \ + SOGoMailChineseTaiwanForward.wo \ + SOGoMailChineseTaiwanReply.wo \ SOGoMailCzechForward.wo \ SOGoMailCzechReply.wo \ SOGoMailDanishForward.wo \ @@ -93,9 +95,7 @@ Mailer_RESOURCE_FILES += \ SOGoMailWelshForward.wo \ SOGoMailWelshReply.wo - -Mailer_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh -Mailer_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovenian Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh +Mailer_LANGUAGES = Arabic Basque BrazilianPortuguese ChineseTaiwan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovenian Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh Mailer_LOCALIZED_RESOURCE_FILES = Localizable.strings diff --git a/SoObjects/Mailer/SOGoMailChineseTaiwanForward.wo/SOGoMailChineseTaiwanForward.html b/SoObjects/Mailer/SOGoMailChineseTaiwanForward.wo/SOGoMailChineseTaiwanForward.html new file mode 100644 index 000000000..dacde8b2e --- /dev/null +++ b/SoObjects/Mailer/SOGoMailChineseTaiwanForward.wo/SOGoMailChineseTaiwanForward.html @@ -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/> diff --git a/SoObjects/Mailer/SOGoMailChineseTaiwanForward.wo/SOGoMailChineseTaiwanForward.wod b/SoObjects/Mailer/SOGoMailChineseTaiwanForward.wo/SOGoMailChineseTaiwanForward.wod new file mode 100644 index 000000000..f2436acc9 --- /dev/null +++ b/SoObjects/Mailer/SOGoMailChineseTaiwanForward.wo/SOGoMailChineseTaiwanForward.wod @@ -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; +} diff --git a/SoObjects/Mailer/SOGoMailChineseTaiwanReply.wo/SOGoMailChineseTaiwanReply.html b/SoObjects/Mailer/SOGoMailChineseTaiwanReply.wo/SOGoMailChineseTaiwanReply.html new file mode 100644 index 000000000..24c91fe72 --- /dev/null +++ b/SoObjects/Mailer/SOGoMailChineseTaiwanReply.wo/SOGoMailChineseTaiwanReply.html @@ -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>日期 <#date/>, <#from/> 編輯:#standardMode><#newLine/> +<#newLine/> +<#messageBody/><#newLine/> +<#replyPlacementOnBottom><#newLine/> +<#newLine/> +#replyPlacementOnBottom><#signaturePlacementOnBottom><#signature/>#signaturePlacementOnBottom><#newLine/> diff --git a/SoObjects/Mailer/SOGoMailChineseTaiwanReply.wo/SOGoMailChineseTaiwanReply.wod b/SoObjects/Mailer/SOGoMailChineseTaiwanReply.wo/SOGoMailChineseTaiwanReply.wod new file mode 100644 index 000000000..3fbed6d61 --- /dev/null +++ b/SoObjects/Mailer/SOGoMailChineseTaiwanReply.wo/SOGoMailChineseTaiwanReply.wod @@ -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; +} diff --git a/SoObjects/Mailer/SOGoMailForward.h b/SoObjects/Mailer/SOGoMailForward.h index 8110fc57e..d4c516959 100644 --- a/SoObjects/Mailer/SOGoMailForward.h +++ b/SoObjects/Mailer/SOGoMailForward.h @@ -49,6 +49,9 @@ @interface SOGoMailCatalanForward : SOGoMailForward @end +@interface SOGoMailChineseTaiwanForward : SOGoMailForward +@end + @interface SOGoMailCzechForward : SOGoMailForward @end diff --git a/SoObjects/Mailer/SOGoMailForward.m b/SoObjects/Mailer/SOGoMailForward.m index 8c01b526d..3450539d5 100644 --- a/SoObjects/Mailer/SOGoMailForward.m +++ b/SoObjects/Mailer/SOGoMailForward.m @@ -260,6 +260,9 @@ @implementation SOGoMailCatalanForward @end +@implementation SOGoMailChineseTaiwanForward +@end + @implementation SOGoMailCzechForward @end diff --git a/SoObjects/Mailer/SOGoMailReply.h b/SoObjects/Mailer/SOGoMailReply.h index e66e32214..e2af0fcaf 100644 --- a/SoObjects/Mailer/SOGoMailReply.h +++ b/SoObjects/Mailer/SOGoMailReply.h @@ -48,6 +48,9 @@ @interface SOGoMailCatalanReply : SOGoMailReply @end +@interface SOGoMailChineseTaiwanReply : SOGoMailReply +@end + @interface SOGoMailCzechReply : SOGoMailReply @end diff --git a/SoObjects/Mailer/SOGoMailReply.m b/SoObjects/Mailer/SOGoMailReply.m index b9fa8dbba..d0bd38801 100644 --- a/SoObjects/Mailer/SOGoMailReply.m +++ b/SoObjects/Mailer/SOGoMailReply.m @@ -98,6 +98,9 @@ @implementation SOGoMailCatalanReply @end +@implementation SOGoMailChineseTaiwanReply +@end + @implementation SOGoMailCzechReply @end diff --git a/SoObjects/SOGo/SOGoDefaults.plist b/SoObjects/SOGo/SOGoDefaults.plist index 0596a7d5e..77848966a 100644 --- a/SoObjects/SOGo/SOGoDefaults.plist +++ b/SoObjects/SOGo/SOGoDefaults.plist @@ -39,7 +39,7 @@ SOGoLoginModule = "Mail"; SOGoLanguage = "English"; - SOGoSupportedLanguages = ( "Arabic", "Basque", "Catalan", "Czech", "Dutch", "Danish", "Welsh", "English", + SOGoSupportedLanguages = ( "Arabic", "Basque", "Catalan", "ChineseTaiwan", "Czech", "Dutch", "Danish", "Welsh", "English", "SpanishSpain", "SpanishArgentina", "Finnish", "French", "German", "Icelandic", "Italian", "Hungarian", "BrazilianPortuguese", "NorwegianBokmal", "NorwegianNynorsk", "Polish", "Russian", "Slovak", diff --git a/Tests/Integration/preferences.py b/Tests/Integration/preferences.py index a245af9fb..9620b271a 100644 --- a/Tests/Integration/preferences.py +++ b/Tests/Integration/preferences.py @@ -13,7 +13,7 @@ DEBUG=False # must be kept in sync with SoObjects/SOGo/SOGoDefaults.plist # this should probably be fetched magically... -SOGoSupportedLanguages = [ "Arabic", "Basque", "Catalan", "Czech", "Dutch", "Danish", "Welsh", "English", "Finnish", +SOGoSupportedLanguages = [ "Arabic", "Basque", "Catalan", "ChineseTaiwan", "Czech", "Dutch", "Danish", "Welsh", "English", "Finnish", "SpanishSpain", "SpanishArgentina", "French", "German", "Icelandic", "Italian", "Hungarian", "BrazilianPortuguese", "NorwegianBokmal", "NorwegianNynorsk", "Polish", "Russian", "Slovak", diff --git a/UI/AdministrationUI/ChineseTaiwan.lproj/Localizable.strings b/UI/AdministrationUI/ChineseTaiwan.lproj/Localizable.strings new file mode 100644 index 000000000..f04903c87 --- /dev/null +++ b/UI/AdministrationUI/ChineseTaiwan.lproj/Localizable.strings @@ -0,0 +1,15 @@ +/* this file is in UTF-8 format! */ + +"Help" = "幫助"; +"Close" = "關閉"; + +"Modules" = "模組"; + +/* Modules short names */ +"ACLs" = "存取控制清單"; + +/* Modules titles */ +"ACLs_title" = "使用者資料匣存取控制清單"; + +/* Modules descriptions */ +"ACLs_description" = "\"
存取控制清單管理模組允許異動每個使用者行事曆及通訊錄的使用權限。
如要修改使用者資料匣的使用權限,請在視窗上方的搜尋欄位輸入使用者名稱後,將遊標移到要修改的資料匣上連續按兩下滑鼠。
"; diff --git a/UI/AdministrationUI/GNUmakefile b/UI/AdministrationUI/GNUmakefile index 1bcd6530a..450973525 100644 --- a/UI/AdministrationUI/GNUmakefile +++ b/UI/AdministrationUI/GNUmakefile @@ -6,7 +6,7 @@ BUNDLE_NAME = AdministrationUI AdministrationUI_PRINCIPAL_CLASS = AdministrationUIProduct -AdministrationUI_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh +AdministrationUI_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan ChineseTaiwan Czech Danish Dutch English Finnish French German Hungarian Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh AdministrationUI_OBJC_FILES = \ AdministrationUIProduct.m \ diff --git a/UI/Common/ChineseTaiwan.lproj/Localizable.strings b/UI/Common/ChineseTaiwan.lproj/Localizable.strings new file mode 100644 index 000000000..21f7261bc --- /dev/null +++ b/UI/Common/ChineseTaiwan.lproj/Localizable.strings @@ -0,0 +1,118 @@ +/* this file is in UTF-8 format! */ + +/* toolbars */ +"Save" = "儲存"; +"Close" = "關閉"; +"Edit User Rights" = "編輯使用者權限"; + +"Home" = "首頁"; +"Calendar" = "行事曆"; +"Address Book" = "通訊錄"; +"Mail" = "郵件"; +"Preferences" = "個人設定"; +"Administration" = "管理"; +"Disconnect" = "離線"; +"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" = "您指定的電子郵件帳號為群組。您必須指定代理人的電子郵件帳號。"; + +"Snooze for " = "提醒"; +"5 minutes" = "5分鐘"; +"10 minutes" = "10分鐘"; +"15 minutes" = "15分鐘"; +"30 minutes" = "30分鐘"; +"45 minutes" = "45分鐘"; +"1 hour" = " 1小時"; +"1 day" = "1天"; + +/* common buttons */ +"OK" = "確定"; +"Cancel" = "取消"; +"Yes" = "是"; +"No" = "不是"; + +/* alarms */ +"Reminder:" = "提醒"; +"Start:" = "開始:"; +"Due Date:" = "到期日:"; +"Location:" = "地點:"; + +/* mail labels */ +"Important" = "重要等級"; +"Work" = "工作"; +"Personal" = "私人"; +"To Do" = "待辦"; +"Later" = "稍後"; + +"a2_Sunday" = "星期日"; +"a2_Monday" = "星期一"; +"a2_Tuesday" = "星期二"; +"a2_Wednesday" = "星期三"; +"a2_Thursday" = "星期四"; +"a2_Friday" = "星期五"; +"a2_Saturday" = "星期六"; diff --git a/UI/Common/GNUmakefile b/UI/Common/GNUmakefile index 8464b3ea1..4f03c40fd 100644 --- a/UI/Common/GNUmakefile +++ b/UI/Common/GNUmakefile @@ -6,7 +6,7 @@ BUNDLE_NAME = CommonUI CommonUI_PRINCIPAL_CLASS = CommonUIProduct -CommonUI_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh +CommonUI_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan ChineseTaiwan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh CommonUI_OBJC_FILES += \ CommonUIProduct.m \ diff --git a/UI/Contacts/ChineseTaiwan.lproj/Localizable.strings b/UI/Contacts/ChineseTaiwan.lproj/Localizable.strings new file mode 100644 index 000000000..52f36ae88 --- /dev/null +++ b/UI/Contacts/ChineseTaiwan.lproj/Localizable.strings @@ -0,0 +1,215 @@ +/* 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" = "地點"; +"MobilePhone" = "手機"; +"Name" = "名字"; +"OfficePhone" = "辦公室電話"; +"Organization" = "公司名稱"; +"Work Phone" = "公務電話"; +"Phone" = "電話"; +"Phones" = "電話"; +"Postal" = "郵遞區號"; +"Save" = "儲存"; +"Internet" = "網際網路"; +"Unit" = "部門"; +"delete" = "刪除"; +"edit" = "編輯"; +"invalidemailwarn" = "無效的郵件地址"; +"new" = "新增"; +"Preferred Phone" = "首選電話"; + +"Move To" = "移至"; +"Copy To" = "拷貝到"; +"Add to:" = "增加到"; + +/* 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:" = "顯示名稱:"; +"Email:" = "郵件:"; +"Additional Email:" = "添加的郵件:"; + +"Phone Number:" = "電話號碼:"; +"Prefers to receive messages formatted as:" = "喜愛的接收訊息格式為:"; +"Screen Name:" = "顯示名稱:"; +"Categories:" = "類别:"; + +"First:" = "名:"; +"Last:" = "姓:"; +"Nickname:" = "暱稱:"; + +"Telephone" = "電話"; +"Work:" = "辦公:"; +"Home:" = "家:"; +"Fax:" = "傳真:"; +"Mobile:" = "手機:"; +"Pager:" = "呼叫器:"; + +/* categories */ +"contacts_category_labels" = "同事,競争对手,客户,朋友,家人,事業伙伴,供應商,出版社,VIP"; +"Categories" = "分類"; +"New category" = "新類別"; + +/* adresses */ +"Title:" = "頭銜:"; +"Service:" = "服務:"; +"Company:" = "公司:"; +"Department:" = "部門:"; +"Organization:" = "组織:"; +"Address:" = "地址:"; +"City:" = "城市:"; +"State_Province:" = "州/省:"; +"ZIP_Postal Code:" = "ZIP/郵遞區號:"; +"Country:" = "國家:"; +"Web Page:" = "網页:"; + +"Work" = "辦公"; +"Other Infos" = "其他資訊"; + +"Note:" = "備註:"; +"Timezone:" = "時區:"; +"Birthday:" = "生日:"; +"Birthday (yyyy-mm-dd):" = "生日 (yyyy-mm-dd):"; +"Freebusy URL:" = "Freebusy URL:"; + +"Add as..." = "新增為..."; +"Recipient" = "收件人"; +"Carbon Copy" = "副本"; +"Blind Carbon Copy" = "密件副本"; + +"New Addressbook..." = "新增通訊錄..."; +"Subscribe to an Addressbook..." = "訂閱通訊錄..."; +"Remove the selected Addressbook" = "移除選擇的通訊錄"; + +"Name of the Address Book" = " 通訊錄名稱"; +"Are you sure you want to delete the selected address book?" += "您確定要刪除選擇的通訊錄嗎?"; +"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?" += "您確定要刪除選擇的連絡人嗎?"; + +"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." = "請選擇連絡人。"; + +/* Error messages for move and copy */ + +"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 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:"; + diff --git a/UI/Contacts/GNUmakefile b/UI/Contacts/GNUmakefile index 075ac1580..1a378c4f1 100644 --- a/UI/Contacts/GNUmakefile +++ b/UI/Contacts/GNUmakefile @@ -6,7 +6,7 @@ BUNDLE_NAME = ContactsUI ContactsUI_PRINCIPAL_CLASS = ContactsUIProduct -ContactsUI_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh +ContactsUI_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan ChineseTaiwan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh ContactsUI_OBJC_FILES = \ UIxContactsUserFolders.m \ diff --git a/UI/MailPartViewers/ChineseTaiwan.lproj/Localizable.strings b/UI/MailPartViewers/ChineseTaiwan.lproj/Localizable.strings new file mode 100644 index 000000000..73d7d7516 --- /dev/null +++ b/UI/MailPartViewers/ChineseTaiwan.lproj/Localizable.strings @@ -0,0 +1,48 @@ +ACCEPTED = "已接受"; +COMPLETED = "已完成"; +DECLINED = "已拒絶"; +DELEGATED = "已委任"; +"IN-PROCESS" = "處理中"; +"NEEDS-ACTION" = "需要操作"; +TENTATIVE = "未定"; +organized_by_you = "您是發起者"; +you_are_an_attendee = "您是受邀請者"; +add_info_text = "不支援iMIP格式的 'ADD' 。"; +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" = "發行者"; diff --git a/UI/MailPartViewers/GNUmakefile b/UI/MailPartViewers/GNUmakefile index 2fb051999..bbaa636e6 100644 --- a/UI/MailPartViewers/GNUmakefile +++ b/UI/MailPartViewers/GNUmakefile @@ -6,7 +6,7 @@ BUNDLE_NAME = MailPartViewers MailPartViewers_PRINCIPAL_CLASS = MailPartViewersProduct -MailPartViewers_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh +MailPartViewers_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan ChineseTaiwan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh MailPartViewers_OBJC_FILES += \ MailPartViewersProduct.m \ diff --git a/UI/MailerUI/ChineseTaiwan.lproj/Localizable.strings b/UI/MailerUI/ChineseTaiwan.lproj/Localizable.strings new file mode 100644 index 000000000..8755cd3ea --- /dev/null +++ b/UI/MailerUI/ChineseTaiwan.lproj/Localizable.strings @@ -0,0 +1,308 @@ +/* this file is in UTF-8 format! */ + +/* Icon's label */ +"Create" = "寫信"; +"Empty Trash" = "清空垃圾筒"; +"Delete" = "刪除"; +"Expunge" = "清除"; +"Forward" = "轉寄"; +"Get Mail" = "收信"; +"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" = "刪除信件或資料匣"; +"Mark the selected messages as junk" = "標示為垃圾郵件"; +"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" = "讀信"; +"Write a new message" = "寫新信"; + +"Share: " = "分享:"; +"Account: " = "帳號:"; +"Shared Account: " = "分享的帳號:"; + +/* 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" = "全部選取"; +"Attach Web Page..." = "附件網頁..."; +"file" = "檔案"; +"files" = "多檔案"; +"Save all" = "全部儲存"; + +"to" = "收件者"; +"cc" = "副本"; +"bcc" = "密件副本"; + +"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" = "信件"; + +"first" = "最前"; +"previous" = "前"; +"next" = "後"; +"last" = "最後"; + +"msgnumber_to" = "收件人"; +"msgnumber_of" = "的"; + +"Mark Unread" = "標示為未讀"; +"Mark Read" = "標示為已讀"; + +"Untitled" = "無主旨"; + +/* Tree */ + +"SentFolderName" = "寄件備份"; +"TrashFolderName" = "垃圾桶"; +"InboxFolderName" = "收件匣"; +"DraftsFolderName" = "草稿匣"; +"SieveFolderName" = "垃圾信件匣"; +"Folders" = "目錄\n"; /* 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" = "垃圾桶"; + +/* 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" = "檢視信件原始檔"; +"Print..." = "列印..."; +"Delete Message" = "刪除信件"; +"Delete Selected Messages" = "刪除選擇的信件"; + +"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" = "%{0}% 己使用 %{1} MB"; + +"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 while uploading the file \"%{0}\":" = "檔案上傳發送錯誤 \"%{0}\":"; +"There is an active file upload. Closing the window will interrupt it." = "檔案上傳中。視窗關閉會造成上傳中斷。"; + +/* Message sending */ +"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" = "電子郵件帳號"; +"Name" = "名稱"; diff --git a/UI/MailerUI/GNUmakefile b/UI/MailerUI/GNUmakefile index 180de0ad7..2e8892603 100644 --- a/UI/MailerUI/GNUmakefile +++ b/UI/MailerUI/GNUmakefile @@ -6,7 +6,7 @@ BUNDLE_NAME = MailerUI MailerUI_PRINCIPAL_CLASS = MailerUIProduct -MailerUI_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh +MailerUI_LANGUAGES = Arabic Basque BrazilianPortuguese Catalan ChineseTaiwan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak Slovenian SpanishSpain SpanishArgentina Swedish Ukrainian Welsh MailerUI_OBJC_FILES += \ MailerUIProduct.m \ diff --git a/UI/MainUI/Arabic.lproj/Localizable.strings b/UI/MainUI/Arabic.lproj/Localizable.strings index 8081ee866..78eaa957f 100644 --- a/UI/MainUI/Arabic.lproj/Localizable.strings +++ b/UI/MainUI/Arabic.lproj/Localizable.strings @@ -22,6 +22,7 @@ "Arabic" = "العربية"; "Basque" = "Euskara"; "Catalan" = "Català"; +"ChineseTaiwan" = "Chinese (Taiwan)"; "Czech" = "Česky"; "Danish" = "Dansk (Danmark)"; "Dutch" = "Nederlands"; diff --git a/UI/MainUI/Basque.lproj/Localizable.strings b/UI/MainUI/Basque.lproj/Localizable.strings index b9fe88e2b..b07bf2fea 100644 --- a/UI/MainUI/Basque.lproj/Localizable.strings +++ b/UI/MainUI/Basque.lproj/Localizable.strings @@ -21,6 +21,7 @@ "choose" = "Aukeratu ..."; "Arabic" = "العربية"; "Catalan" = "Català"; +"ChineseTaiwan" = "Chinese (Taiwan)"; "Czech" = "Česky"; "Danish" = "Dansk (Danmark)"; "Dutch" = "Nederlands"; diff --git a/UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings b/UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings index eda390347..d7c38ac29 100644 --- a/UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings +++ b/UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings @@ -22,6 +22,7 @@ "Arabic" = "العربية"; "Basque" = "Euskara"; "Catalan" = "Català"; +"ChineseTaiwan" = "Chinese (Taiwan)"; "Czech" = "Česky"; "Danish" = "Dansk (Danmark)"; "Dutch" = "Nederlands"; diff --git a/UI/MainUI/Catalan.lproj/Localizable.strings b/UI/MainUI/Catalan.lproj/Localizable.strings index 4c23f7a8d..aa2dad483 100644 --- a/UI/MainUI/Catalan.lproj/Localizable.strings +++ b/UI/MainUI/Catalan.lproj/Localizable.strings @@ -22,6 +22,7 @@ "Arabic" = "العربية"; "Basque" = "Euskara"; "Catalan" = "Català"; +"ChineseTaiwan" = "Chinese (Taiwan)"; "Czech" = "Česky"; "Danish" = "Dansk (Danmark)"; "Dutch" = "Nederlands"; diff --git a/UI/MainUI/ChineseTaiwan.lproj/Locale b/UI/MainUI/ChineseTaiwan.lproj/Locale new file mode 100644 index 000000000..61c05604a --- /dev/null +++ b/UI/MainUI/ChineseTaiwan.lproj/Locale @@ -0,0 +1,35 @@ +/* ChineseTaiwan */ +{ + NSLanguageName = "ChineseTaiwan"; + NSFormalName = "ChineseTaiwan"; + NSLocaleCode = "zh"; /* ISO 639-1 */ + NSLanguageCode = "zho"; /* ISO 639-2 */ + NSParentContext = ""; + + NSAMPMDesignation = (AM, PM); + 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 = TWD; /* ISO 4217 */ + NSLaterTimeDesignations = ("次"); + NSMonthNameArray = ("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"); + NSNextDayDesignations = ("明天"); + NSNextNextDayDesignations = ("次日"); + NSPriorDayDesignations = ("昨天"); + NSShortDateFormatString = "%m/%e/%y"; + NSShortMonthNameArray = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec); + NSShortTimeDateFormatString = "%m/%e/%y %I:%M %p"; + NSShortWeekDayNameArray = (Sun, Mon, Tue, Wed, Thu, Fri, Sat); + 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"; +} diff --git a/UI/MainUI/ChineseTaiwan.lproj/Localizable.strings b/UI/MainUI/ChineseTaiwan.lproj/Localizable.strings new file mode 100644 index 000000000..56420bce6 --- /dev/null +++ b/UI/MainUI/ChineseTaiwan.lproj/Localizable.strings @@ -0,0 +1,84 @@ +/* this file is in UTF-8 format! */ + +"title" = "SOGo"; + +"Username:" = "Username:"; +"Password:" = "Password:"; +"Domain:" = "Domain:"; +"Remember username" = "Remember username"; + +"Connect" = "Connect"; + +"Wrong username or password." = "Wrong username or password."; +"cookiesNotEnabled" = "You cannot login because your browser's cookies are disabled. Please enable cookies in your browser's settings and try again."; + +"browserNotCompatible" = "We've detected that your browser version is currently not supported on this site. Our recommendation is to use Firefox. Click on the link below to download the most current version of this browser."; +"alternativeBrowsers" = "Alternatively, you can also use the following compatible browsers"; +"alternativeBrowserSafari" = "Alternatively, you can also use Safari."; +"Download" = "Download"; + +"Language:" = "Language:"; +"choose" = "Choose ..."; +"Arabic" = "العربية"; +"Basque" = "Euskara"; +"Catalan" = "Català"; +"ChineseTaiwan" = "Chinese (Taiwan)"; +"Czech" = "Česky"; +"Danish" = "Dansk (Danmark)"; +"Dutch" = "Nederlands"; +"English" = "English"; +"Finnish" = "Suomi"; +"French" = "Français"; +"German" = "Deutsch"; +"Hungarian" = "Magyar"; +"Icelandic" = "Íslenska"; +"Italian" = "Italiano"; +"NorwegianBokmal" = "Norsk bokmål"; +"NorwegianNynorsk" = "Norsk nynorsk"; +"Polish" = "Polski"; +"BrazilianPortuguese" = "Português brasileiro"; +"Russian" = "Русский"; +"Slovak" = "Slovensky"; +"Slovenian" = "Slovenščina"; +"SpanishSpain" = "Español (España)"; +"SpanishArgentina" = "Español (Argentina)"; +"Swedish" = "Svenska"; +"Ukrainian" = "Українська"; +"Welsh" = "Cymraeg"; + +"About" = "About"; +"AboutBox" = "Developed by Inverse, SOGo is a fully-featured groupware server with a focus on scalability and simplicity.