diff --git a/.tx/config b/.tx/config index 07ce26f86..8f66c31a4 100644 --- a/.tx/config +++ b/.tx/config @@ -20,6 +20,7 @@ trans.hr_HR = UI/MailerUI/Croatian.lproj/Localizable.strings trans.hu = UI/MailerUI/Hungarian.lproj/Localizable.strings trans.is = UI/MailerUI/Icelandic.lproj/Localizable.strings trans.it = UI/MailerUI/Italian.lproj/Localizable.strings +trans.ja = UI/MailerUI/Japanese.lproj/Localizable.strings trans.lt = UI/MailerUI/Lithuanian.lproj/Localizable.strings trans.lv = UI/MailerUI/Latvian.lproj/Localizable.strings trans.mk_MK = UI/MailerUI/Macedonian.lproj/Localizable.strings @@ -58,6 +59,7 @@ trans.hr_HR = UI/PreferencesUI/Croatian.lproj/Localizable.strings trans.hu = UI/PreferencesUI/Hungarian.lproj/Localizable.strings trans.is = UI/PreferencesUI/Icelandic.lproj/Localizable.strings trans.it = UI/PreferencesUI/Italian.lproj/Localizable.strings +trans.ja = UI/PreferencesUI/Japanese.lproj/Localizable.strings trans.lt = UI/PreferencesUI/Lithuanian.lproj/Localizable.strings trans.lv = UI/PreferencesUI/Latvian.lproj/Localizable.strings trans.mk_MK = UI/PreferencesUI/Macedonian.lproj/Localizable.strings @@ -96,6 +98,7 @@ trans.hr_HR = UI/Scheduler/Croatian.lproj/Localizable.strings trans.hu = UI/Scheduler/Hungarian.lproj/Localizable.strings trans.is = UI/Scheduler/Icelandic.lproj/Localizable.strings trans.it = UI/Scheduler/Italian.lproj/Localizable.strings +trans.ja = UI/Scheduler/Japanese.lproj/Localizable.strings trans.lt = UI/Scheduler/Lithuanian.lproj/Localizable.strings trans.lv = UI/Scheduler/Latvian.lproj/Localizable.strings trans.mk_MK = UI/Scheduler/Macedonian.lproj/Localizable.strings @@ -134,6 +137,7 @@ trans.hr_HR = UI/Contacts/Croatian.lproj/Localizable.strings trans.hu = UI/Contacts/Hungarian.lproj/Localizable.strings trans.is = UI/Contacts/Icelandic.lproj/Localizable.strings trans.it = UI/Contacts/Italian.lproj/Localizable.strings +trans.ja = UI/Contacts/Japanese.lproj/Localizable.strings trans.lt = UI/Contacts/Lithuanian.lproj/Localizable.strings trans.lv = UI/Contacts/Latvian.lproj/Localizable.strings trans.mk_MK = UI/Contacts/Macedonian.lproj/Localizable.strings @@ -172,6 +176,7 @@ trans.hr_HR = UI/MainUI/Croatian.lproj/Localizable.strings trans.hu = UI/MainUI/Hungarian.lproj/Localizable.strings trans.is = UI/MainUI/Icelandic.lproj/Localizable.strings trans.it = UI/MainUI/Italian.lproj/Localizable.strings +trans.ja = UI/MainUI/Japanese.lproj/Localizable.strings trans.lt = UI/MainUI/Lithuanian.lproj/Localizable.strings trans.lv = UI/MainUI/Latvian.lproj/Localizable.strings trans.mk_MK = UI/MainUI/Macedonian.lproj/Localizable.strings @@ -210,6 +215,7 @@ trans.hr_HR = UI/Common/Croatian.lproj/Localizable.strings trans.hu = UI/Common/Hungarian.lproj/Localizable.strings trans.is = UI/Common/Icelandic.lproj/Localizable.strings trans.it = UI/Common/Italian.lproj/Localizable.strings +trans.ja = UI/Common/Japanese.lproj/Localizable.strings trans.lt = UI/Common/Lithuanian.lproj/Localizable.strings trans.lv = UI/Common/Latvian.lproj/Localizable.strings trans.mk_MK = UI/Common/Macedonian.lproj/Localizable.strings @@ -248,6 +254,7 @@ trans.hr_HR = UI/AdministrationUI/Croatian.lproj/Localizable.strings trans.hu = UI/AdministrationUI/Hungarian.lproj/Localizable.strings trans.is = UI/AdministrationUI/Icelandic.lproj/Localizable.strings trans.it = UI/AdministrationUI/Italian.lproj/Localizable.strings +trans.ja = UI/AdministrationUI/Japanese.lproj/Localizable.strings trans.lt = UI/AdministrationUI/Lithuanian.lproj/Localizable.strings trans.lv = UI/AdministrationUI/Latvian.lproj/Localizable.strings trans.mk_MK = UI/AdministrationUI/Macedonian.lproj/Localizable.strings @@ -286,6 +293,7 @@ trans.hr_HR = SoObjects/Appointments/Croatian.lproj/Localizable.strings trans.hu = SoObjects/Appointments/Hungarian.lproj/Localizable.strings trans.is = SoObjects/Appointments/Icelandic.lproj/Localizable.strings trans.it = SoObjects/Appointments/Italian.lproj/Localizable.strings +trans.ja = SoObjects/Appointments/Japanese.lproj/Localizable.strings trans.lt = SoObjects/Appointments/Lithuanian.lproj/Localizable.strings trans.lv = SoObjects/Appointments/Latvian.lproj/Localizable.strings trans.mk_MK = SoObjects/Appointments/Macedonian.lproj/Localizable.strings @@ -324,6 +332,7 @@ trans.hr_HR = SoObjects/Contacts/Croatian.lproj/Localizable.strings trans.hu = SoObjects/Contacts/Hungarian.lproj/Localizable.strings trans.is = SoObjects/Contacts/Icelandic.lproj/Localizable.strings trans.it = SoObjects/Contacts/Italian.lproj/Localizable.strings +trans.ja = SoObjects/Contacts/Japanese.lproj/Localizable.strings trans.lt = SoObjects/Contacts/Lithuanian.lproj/Localizable.strings trans.lv = SoObjects/Contacts/Latvian.lproj/Localizable.strings trans.mk_MK = SoObjects/Contacts/Macedonian.lproj/Localizable.strings @@ -362,6 +371,7 @@ trans.hr_HR = SoObjects/Mailer/Croatian.lproj/Localizable.strings trans.hu = SoObjects/Mailer/Hungarian.lproj/Localizable.strings trans.is = SoObjects/Mailer/Icelandic.lproj/Localizable.strings trans.it = SoObjects/Mailer/Italian.lproj/Localizable.strings +trans.ja = SoObjects/Mailer/Japanese.lproj/Localizable.strings trans.lt = SoObjects/Mailer/Lithuanian.lproj/Localizable.strings trans.lv = SoObjects/Mailer/Latvian.lproj/Localizable.strings trans.mk_MK = SoObjects/Mailer/Macedonian.lproj/Localizable.strings @@ -400,6 +410,7 @@ trans.hr_HR = UI/MailPartViewers/Croatian.lproj/Localizable.strings trans.hu = UI/MailPartViewers/Hungarian.lproj/Localizable.strings trans.is = UI/MailPartViewers/Icelandic.lproj/Localizable.strings trans.it = UI/MailPartViewers/Italian.lproj/Localizable.strings +trans.ja = UI/MailPartViewers/Japanese.lproj/Localizable.strings trans.lt = UI/MailPartViewers/Lithuanian.lproj/Localizable.strings trans.lv = UI/MailPartViewers/Latvian.lproj/Localizable.strings trans.mk_MK = UI/MailPartViewers/Macedonian.lproj/Localizable.strings diff --git a/NEWS b/NEWS index 17d7418f8..7ab51ca97 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,7 @@ Enhancements - [web] remove invalid occurrences when modifying a recurrent event - [web] updated Angular Material to version 1.1.9 - [web] allow mail flag addition/edition on mobile + - [web] added Japanese (jp) translation - thanks to Ryo Yamamoto Bug fixes - [core] properly update the last-modified attribute (#4313) diff --git a/README.md b/README.md index c7780c80d..5e5a7cc40 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ SOGo and its associated components are available in various languages. The follo * [hu] Hungarian - Sándor Kuti * [is] Icelandic - Anna Jonna Armannsdottir * [it] Italian - Alessio Fattorini +* [jp] Japanese - Ryo Yamamoto * [lv] Latvian - Juris Balandis * [lt] Lithuanian - Mantas Liobė * [mk_MK] Macedonian - Miroslav Jovanovic diff --git a/SoObjects/Appointments/Japanese.lproj/Localizable.strings b/SoObjects/Appointments/Japanese.lproj/Localizable.strings new file mode 100644 index 000000000..a61afaa55 --- /dev/null +++ b/SoObjects/Appointments/Japanese.lproj/Localizable.strings @@ -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" = "to"; +"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" += "%{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}." = "同時の予約の最大数(%{NumberOfSimultaneousBookings})がリソース\"%{Cn} %{SystemEmail}\"の最大数に達しました。競合しているイベントは%{StartDate}から開始の\"%{EventTitle}\"です。"; diff --git a/SoObjects/Contacts/Japanese.lproj/Localizable.strings b/SoObjects/Contacts/Japanese.lproj/Localizable.strings new file mode 100644 index 000000000..5c20bc74d --- /dev/null +++ b/SoObjects/Contacts/Japanese.lproj/Localizable.strings @@ -0,0 +1,2 @@ +"Personal Address Book" = "個人用アドレス帳"; +"Collected Address Book" = "収集したアドレス帳"; diff --git a/SoObjects/Mailer/GNUmakefile b/SoObjects/Mailer/GNUmakefile index 39a11ee62..2efe7b476 100644 --- a/SoObjects/Mailer/GNUmakefile +++ b/SoObjects/Mailer/GNUmakefile @@ -80,6 +80,8 @@ Mailer_RESOURCE_FILES += \ SOGoMailIcelandicReply.wo \ SOGoMailItalianForward.wo \ SOGoMailItalianReply.wo \ + SOGoMailJapaneseForward.wo \ + SOGoMailJapaneseReply.wo \ SOGoMailLatvianForward.wo \ SOGoMailLatvianReply.wo \ SOGoMailLithuanianForward.wo \ diff --git a/SoObjects/Mailer/Japanese.lproj/Localizable.strings b/SoObjects/Mailer/Japanese.lproj/Localizable.strings new file mode 100644 index 000000000..c0e6604ff --- /dev/null +++ b/SoObjects/Mailer/Japanese.lproj/Localizable.strings @@ -0,0 +1,2 @@ +"OtherUsersFolderName" = "他のユーザー"; +"SharedFoldersName" = "共有フォルダ"; diff --git a/SoObjects/Mailer/SOGoMailForward.h b/SoObjects/Mailer/SOGoMailForward.h index d78db99dd..e5ad7c1f7 100644 --- a/SoObjects/Mailer/SOGoMailForward.h +++ b/SoObjects/Mailer/SOGoMailForward.h @@ -91,6 +91,9 @@ @interface SOGoMailItalianForward : SOGoMailForward @end +@interface SOGoMailJapaneseForward : SOGoMailForward +@end + @interface SOGoMailLatvianForward : SOGoMailForward @end diff --git a/SoObjects/Mailer/SOGoMailForward.m b/SoObjects/Mailer/SOGoMailForward.m index 17d7f7f10..c75ebd577 100644 --- a/SoObjects/Mailer/SOGoMailForward.m +++ b/SoObjects/Mailer/SOGoMailForward.m @@ -302,6 +302,9 @@ @implementation SOGoMailItalianForward @end +@implementation SOGoMailJapaneseForward +@end + @implementation SOGoMailLatvianForward @end diff --git a/SoObjects/Mailer/SOGoMailJapaneseForward.wo/SOGoMailJapaneseForward.html b/SoObjects/Mailer/SOGoMailJapaneseForward.wo/SOGoMailJapaneseForward.html new file mode 100644 index 000000000..fafff87bd --- /dev/null +++ b/SoObjects/Mailer/SOGoMailJapaneseForward.wo/SOGoMailJapaneseForward.html @@ -0,0 +1,20 @@ +<#newLine/> +<#newLine/> +<#signaturePlacementOnTop><#newLine/> +<#signature/><#newLine/>#signaturePlacementOnTop> +-------- 元のメッセージ --------<#newLine/> +件名: <#subject/><#newLine/> +日付: <#date/><#newLine/> +送信者: <#from/><#newLine/> +<#hasReplyTo>返信先: <#replyTo/>#hasReplyTo> +<#hasOrganization>組織: <#organization/>#hasOrganization> +宛先: <#to/><#newLine/> +<#hasCc>CC: <#cc/>#hasCc> +<#hasNewsGroups>新しいグループ: <#newsgroups/>#hasNewsGroups> +<#hasReferences>リファレンス: <#references/>#hasReferences><#newLine/> +<#newLine/> +<#messageBody/><#newLine/> +<#signaturePlacementOnBottom><#newLine/> +<#newLine/> +<#signature/>#signaturePlacementOnBottom> +<#newLine/> diff --git a/SoObjects/Mailer/SOGoMailJapaneseForward.wo/SOGoMailJapaneseForward.wod b/SoObjects/Mailer/SOGoMailJapaneseForward.wo/SOGoMailJapaneseForward.wod new file mode 100644 index 000000000..f2436acc9 --- /dev/null +++ b/SoObjects/Mailer/SOGoMailJapaneseForward.wo/SOGoMailJapaneseForward.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/SOGoMailJapaneseReply.wo/SOGoMailJapaneseReply.html b/SoObjects/Mailer/SOGoMailJapaneseReply.wo/SOGoMailJapaneseReply.html new file mode 100644 index 000000000..c17304e7b --- /dev/null +++ b/SoObjects/Mailer/SOGoMailJapaneseReply.wo/SOGoMailJapaneseReply.html @@ -0,0 +1,23 @@ +<#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: <#cc/>#hasCc> +<#hasNewsGroups>新しいグループ: <#newsgroups/>#hasNewsGroups> +<#hasReferences>リファレンス: <#references/>#hasReferences>#outlookMode> +<#newLine/> +<#standardMode>On <#date/>, <#from/> +wrote:#standardMode><#newLine/> +<#newLine/> +<#messageBody/><#newLine/> +<#replyPlacementOnBottom><#newLine/> +<#newLine/> +#replyPlacementOnBottom><#signaturePlacementOnBottom><#signature/>#signaturePlacementOnBottom><#newLine/> diff --git a/SoObjects/Mailer/SOGoMailJapaneseReply.wo/SOGoMailJapaneseReply.wod b/SoObjects/Mailer/SOGoMailJapaneseReply.wo/SOGoMailJapaneseReply.wod new file mode 100644 index 000000000..3fbed6d61 --- /dev/null +++ b/SoObjects/Mailer/SOGoMailJapaneseReply.wo/SOGoMailJapaneseReply.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/SOGoMailReply.h b/SoObjects/Mailer/SOGoMailReply.h index 5a1e69c6f..58dd8376a 100644 --- a/SoObjects/Mailer/SOGoMailReply.h +++ b/SoObjects/Mailer/SOGoMailReply.h @@ -90,6 +90,9 @@ @interface SOGoMailItalianReply : SOGoMailReply @end +@interface SOGoMailJapaneseReply : SOGoMailReply +@end + @interface SOGoMailLatvianReply : SOGoMailReply @end diff --git a/SoObjects/Mailer/SOGoMailReply.m b/SoObjects/Mailer/SOGoMailReply.m index 3411c4818..12b347513 100644 --- a/SoObjects/Mailer/SOGoMailReply.m +++ b/SoObjects/Mailer/SOGoMailReply.m @@ -138,6 +138,9 @@ @implementation SOGoMailItalianReply @end +@implementation SOGoMailJapaneseReply +@end + @implementation SOGoMailLatvianReply @end diff --git a/SoObjects/SOGo/SOGoDefaults.plist b/SoObjects/SOGo/SOGoDefaults.plist index 7df510f17..86e1c1dbe 100644 --- a/SoObjects/SOGo/SOGoDefaults.plist +++ b/SoObjects/SOGo/SOGoDefaults.plist @@ -60,6 +60,7 @@ "Hungarian", "Icelandic", "Italian", + "Japanese", "Latvian", "Lithuanian", "Macedonian", diff --git a/Tests/Integration/preferences.py b/Tests/Integration/preferences.py index ea313e18e..f465c4446 100644 --- a/Tests/Integration/preferences.py +++ b/Tests/Integration/preferences.py @@ -15,7 +15,7 @@ DEBUG=False # this should probably be fetched magically... 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", + "Icelandic", "Italian", "Japanese", "Latvian", "Lithuanian", "Macedonian", "Hungarian", "Portuguese", "BrazilianPortuguese", "NorwegianBokmal", "NorwegianNynorsk", "Polish", "Russian", "Serbian", "Slovak", "Slovenian", "Swedish", "TurkishTurkey", "Ukrainian" ]; daysBetweenResponseList=[1,2,3,5,7,14,21,30] diff --git a/UI/AdministrationUI/Japanese.lproj/Localizable.strings b/UI/AdministrationUI/Japanese.lproj/Localizable.strings new file mode 100644 index 000000000..02ba91c1e --- /dev/null +++ b/UI/AdministrationUI/Japanese.lproj/Localizable.strings @@ -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" = "
アクセス制御リストの管理モジュールを使用すると、各ユーザーのカレンダーとアドレス帳のアクセス制御リストを変更できます。
ユーザーのフォルダのアクセス制御リストを変更するには、ウィンドウの上部の検索欄にユーザーのフォルダのACLを変更するには、ウィンドウの上部にある検索欄にユーザーの名前を入力して、目的のフォルダをダブルクリックしてください。
"; +"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" = "公開アクセス"; diff --git a/UI/Common/Japanese.lproj/Localizable.strings b/UI/Common/Japanese.lproj/Localizable.strings new file mode 100644 index 000000000..4b74fab1d --- /dev/null +++ b/UI/Common/Japanese.lproj/Localizable.strings @@ -0,0 +1,196 @@ +/* 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.)" = "ログコンソール (開発)"; +"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" = "OK"; +"Cancel" = "キャンセル"; +"Yes" = "はい"; +"No" = "いいえ"; + +/* generic messages */ +"Error" = "エラー"; +"Success" = "成功"; + +/* 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" = "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!" = "所有しているフォルダーへの登録や解除はできません。"; + +/* SMIME Certificate field */ +"Subject Name" = "件名"; +"Issuer" = "発行者"; +"countryName" = "国"; +"organizationName" = "組織"; +"organizationalUnitName" = "組織の単位"; +"commonName" = "一般名"; +"emailAddress" = "メールアドレス"; + +/* 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" = "シフト + スペース"; + +/* 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 and down arrow combo keys */ +"key_shift+down" = "シフト + ↓"; + +/* Backspace key */ +"key_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" = "進む"; diff --git a/UI/Contacts/Japanese.lproj/Localizable.strings b/UI/Contacts/Japanese.lproj/Localizable.strings new file mode 100644 index 000000000..7a22ddbff --- /dev/null +++ b/UI/Contacts/Japanese.lproj/Localizable.strings @@ -0,0 +1,355 @@ +/* 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" = "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"; + +/* Search scope: name fields */ +"name" = "名前"; + +/* Search scope: name fields */ +"c_cn" = "名前"; + +/* Search scope: secondary email field */ +"mozillanickname" = "他のメールアドレス"; + +/* Search scope: screen name field */ +"nsaimid" = "表示名"; + +/* Search scope: mail fields */ +"mail" = "メール"; + +/* Search scope: mail fields */ +"c_mail" = "メール"; + +/* Search scope: telephone field */ +"telephonenumber" = "電話"; + +/* Search scope: telephone field */ +"homephone" = "電話"; + +/* Search scope: mobile field */ +"mobile" = "携帯電話"; + +/* Search scope: fax field */ +"facsimiletelephonenumber" = "Fax"; + +/* Search scope: pager field */ +"pager" = "ポケベル"; + +/* Search scope: categories field */ +"c_categories" = "カテゴリ"; + +/* Search scope: categories field */ +"vcardcategories" = "カテゴリ"; + +/* Search scope: title field */ +"title" = "タイトル"; + +/* Search scope: organization field */ +"c_o" = "組織"; + +/* Search scope: organization field */ +"o" = "組織"; + +/* Search scope: department field */ +"ou" = "部門"; + +/* Search scope: city field */ +"l" = "市町村"; + +/* Search scope: country field */ +"c" = "国"; + +/* Search scope: home address field */ +"mozillahomestreet" = "住所"; + +/* Search scope: state/province field */ +"st" = "都道府県"; + +/* Search scope: home state/province field */ +"mozillahomestate" = "出身都道府県"; + +/* Search scope: zip/postal code field */ +"postalCode" = "郵便番号"; + +/* Search scope: home zip/postal code field */ +"mozillahomepostalcode" = "郵便番号"; + +/* Search scope: home country field */ +"mozillahomecountryname" = "出身国"; + +/* Search scope: home web page field */ +"mozillahomeurl" = "ホームページ"; + +/* Search scope: work web page field */ +"mozillaworkurl" = "ウェブページ"; + +/* Search scope: note field */ +"description" = "メモ"; + +/* 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" = "郵便番号"; +"Country" = "国"; +"Web Page" = "ウェブページ"; +"Other Infos" = "その他の情報"; +"Note" = "メモ"; +"Timezone" = "タイムゾーン"; +"Birthday" = "誕生日"; +"Birthday (yyyy-mm-dd)" = "誕生日 (yyyy-mm-dd)"; +"Freebusy URL" = "Freebusy URL"; +"Add as..." = "追加"; +"Recipient" = "宛先"; +"Carbon Copy" = "CC"; +"Blind Carbon Copy" = "BCC"; +"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" = "URL"; +"New URL" = "新しいURL"; +"street" = "建物名、部屋番号など"; +"street (continued)" = "建物名、部屋番号など"; +"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"; diff --git a/UI/MailPartViewers/Japanese.lproj/Localizable.strings b/UI/MailPartViewers/Japanese.lproj/Localizable.strings new file mode 100644 index 000000000..425acdda2 --- /dev/null +++ b/UI/MailPartViewers/Japanese.lproj/Localizable.strings @@ -0,0 +1,50 @@ +ACCEPTED = "承諾済み"; +COMPLETED = "完了済み"; +DECLINED = "辞退済み"; +DELEGATED = "委任済み"; +"IN-PROCESS" = "進行中"; +"NEEDS-ACTION" = "行動が必要"; +TENTATIVE = "暫定"; +organized_by_you = "主催"; +you_are_an_attendee = "出席者"; +add_info_text = "iMIPの'ADD'要求は、まだSOGoではサポートしていません。"; +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" = "to"; +"Untitled" = "タイトルなし"; +"Size" = "サイズ"; +"Digital signature is not valid" = "電子署名が有効ではありません"; +"Message is signed" = "署名したメッセージ"; +"Subject" = "件名"; +"From" = "発信者"; +"Date" = "日付"; +"To" = "宛先"; +"Issuer" = "発行者"; +/* Tooltips */ +"View Attachment" = "添付ファイルを参照"; +"Save Attachment" = "添付ファイルを保存"; +"CC" = "CC"; +"Cancel" = "キャンセル"; +"OK" = "OK"; +"Comment" = "コメント"; diff --git a/UI/MailerUI/Japanese.lproj/Localizable.strings b/UI/MailerUI/Japanese.lproj/Localizable.strings new file mode 100644 index 000000000..6990ec8f4 --- /dev/null +++ b/UI/MailerUI/Japanese.lproj/Localizable.strings @@ -0,0 +1,425 @@ +/* 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" = "このフォルダのACLを変更"; +"Saved Messages.zip" = "保存されたMessages.zip"; +"Update" = "更新"; +"Cancel" = "キャンセル"; + +/* Mail edition */ +"From" = "送信者"; +"Subject" = "件名"; +"To" = "受信者"; +"Cc" = "Cc"; +"Bcc" = "Bcc"; +"Reply-To" = "返信先"; +"Add address" = "アドレスを追加"; +"Body" = "本文"; +"Open" = "開く"; +"Select All" = "すべてを選択"; +"Select Message" = "メッセージを選択"; +"Attach Web Page..." = "Webページを添付..."; +"file" = "ファイル"; +"files" = "ファイル"; +"Save all" = "すべて保存"; +"to" = "受信人"; +"cc" = "Cc"; +"bcc" = "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" = "ToまたはCc"; +"Entire Message" = "全メッセージ"; +"Date" = "日付"; +"View" = "表示"; +"All" = "すべて"; +"No message" = "メッセージはありません"; +"messages" = "メッセージ"; +"Yesterday" = "昨日"; +"first" = "最初"; +"previous" = "前"; +"next" = "次"; +"last" = "最後"; +"msgnumber_to" = "to"; +"msgnumber_of" = "の"; +"Mark Unread" = "未読状態に戻す"; +"Mark Read" = "既読マークを付ける"; +"Untitled" = "無題"; + +/* Tree */ +"SentFolderName" = "送信済み"; +"TrashFolderName" = "ゴミ箱"; +"InboxFolderName" = "受信トレイ"; +"DraftsFolderName" = "下書き"; +"JunkFolderName" = "迷惑メール"; +"SieveFolderName" = "フィルター"; +"Folders" = "フォルダ"; /* title line */ + +/* MailMoveToPopUp */ +"MoveTo" = "Move …"; + +/* 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" = "選択されたメッセージ"; + +/* Encrypted message notification */ +"This message is encrypted" = "このメッセージは暗号化されています。"; + +/* OpenSSL certificate error - unknown issuer */ +"certificate verify error" = "メッセージの署名を確認することができませんでした。"; + +/* OpenSSL certificate error - digest failure */ +"digest failure" = "メッセージが編集されました。"; + +/* OpenSSL reading error */ +"Error reading the certificate. Please install a new certificate." = "証明書の読み込み中にエラーが発生しました。新しい証明書をインストールしてください。"; + +/* Trying to access a non-existent certificate */ +"No certificate associated to account." = "アカウントに証明書が関連付けされていません。"; + +"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" = "少なくとも1つのフィルターを指定してください"; + +/* 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}% used on %{1} MB"; +"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." = "印刷する1つのメッセージだけを選択してください。"; +"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 */ +"Please specify a subject." = "件名を指定してください。"; +"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"; diff --git a/UI/MainUI/Arabic.lproj/Localizable.strings b/UI/MainUI/Arabic.lproj/Localizable.strings index f9ac2cfeb..b4fb08b51 100644 --- a/UI/MainUI/Arabic.lproj/Localizable.strings +++ b/UI/MainUI/Arabic.lproj/Localizable.strings @@ -32,6 +32,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/Basque.lproj/Localizable.strings b/UI/MainUI/Basque.lproj/Localizable.strings index 286564957..9959e6e88 100644 --- a/UI/MainUI/Basque.lproj/Localizable.strings +++ b/UI/MainUI/Basque.lproj/Localizable.strings @@ -32,6 +32,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings b/UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings index 16761d9ff..296fd6417 100644 --- a/UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings +++ b/UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings @@ -32,6 +32,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/Catalan.lproj/Localizable.strings b/UI/MainUI/Catalan.lproj/Localizable.strings index 4d354830f..bb6153cc6 100644 --- a/UI/MainUI/Catalan.lproj/Localizable.strings +++ b/UI/MainUI/Catalan.lproj/Localizable.strings @@ -31,6 +31,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "NorwegianBokmal" = "Norsk bokmål"; diff --git a/UI/MainUI/ChineseChina.lproj/Localizable.strings b/UI/MainUI/ChineseChina.lproj/Localizable.strings index 6c3518bcf..ec9ed8c9f 100644 --- a/UI/MainUI/ChineseChina.lproj/Localizable.strings +++ b/UI/MainUI/ChineseChina.lproj/Localizable.strings @@ -40,6 +40,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/ChineseTaiwan.lproj/Localizable.strings b/UI/MainUI/ChineseTaiwan.lproj/Localizable.strings index a1aabe4fb..37c3c84e4 100644 --- a/UI/MainUI/ChineseTaiwan.lproj/Localizable.strings +++ b/UI/MainUI/ChineseTaiwan.lproj/Localizable.strings @@ -32,6 +32,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/Croatian.lproj/Localizable.strings b/UI/MainUI/Croatian.lproj/Localizable.strings index 3aa55a772..5fa14ceeb 100644 --- a/UI/MainUI/Croatian.lproj/Localizable.strings +++ b/UI/MainUI/Croatian.lproj/Localizable.strings @@ -40,6 +40,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/Czech.lproj/Localizable.strings b/UI/MainUI/Czech.lproj/Localizable.strings index cd88fcdd7..3a7321ed8 100644 --- a/UI/MainUI/Czech.lproj/Localizable.strings +++ b/UI/MainUI/Czech.lproj/Localizable.strings @@ -40,6 +40,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/Danish.lproj/Localizable.strings b/UI/MainUI/Danish.lproj/Localizable.strings index 376962974..13c93e564 100644 --- a/UI/MainUI/Danish.lproj/Localizable.strings +++ b/UI/MainUI/Danish.lproj/Localizable.strings @@ -32,6 +32,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/Dutch.lproj/Localizable.strings b/UI/MainUI/Dutch.lproj/Localizable.strings index e7862d58d..b0ecc3e20 100644 --- a/UI/MainUI/Dutch.lproj/Localizable.strings +++ b/UI/MainUI/Dutch.lproj/Localizable.strings @@ -40,6 +40,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/English.lproj/Localizable.strings b/UI/MainUI/English.lproj/Localizable.strings index b8305aa08..30132c9f1 100644 --- a/UI/MainUI/English.lproj/Localizable.strings +++ b/UI/MainUI/English.lproj/Localizable.strings @@ -40,6 +40,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/Finnish.lproj/Localizable.strings b/UI/MainUI/Finnish.lproj/Localizable.strings index b80224e13..2687210ab 100644 --- a/UI/MainUI/Finnish.lproj/Localizable.strings +++ b/UI/MainUI/Finnish.lproj/Localizable.strings @@ -40,6 +40,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/French.lproj/Localizable.strings b/UI/MainUI/French.lproj/Localizable.strings index e437f1961..64398b634 100644 --- a/UI/MainUI/French.lproj/Localizable.strings +++ b/UI/MainUI/French.lproj/Localizable.strings @@ -40,6 +40,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/German.lproj/Localizable.strings b/UI/MainUI/German.lproj/Localizable.strings index 012ec61fc..5ca53aa85 100644 --- a/UI/MainUI/German.lproj/Localizable.strings +++ b/UI/MainUI/German.lproj/Localizable.strings @@ -40,6 +40,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/Hebrew.lproj/Localizable.strings b/UI/MainUI/Hebrew.lproj/Localizable.strings index 75f045795..f4553e0f1 100644 --- a/UI/MainUI/Hebrew.lproj/Localizable.strings +++ b/UI/MainUI/Hebrew.lproj/Localizable.strings @@ -40,6 +40,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/Hungarian.lproj/Localizable.strings b/UI/MainUI/Hungarian.lproj/Localizable.strings index 63cf47d14..389266351 100644 --- a/UI/MainUI/Hungarian.lproj/Localizable.strings +++ b/UI/MainUI/Hungarian.lproj/Localizable.strings @@ -40,6 +40,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/Icelandic.lproj/Localizable.strings b/UI/MainUI/Icelandic.lproj/Localizable.strings index 7ad7ba06f..b4508a29c 100644 --- a/UI/MainUI/Icelandic.lproj/Localizable.strings +++ b/UI/MainUI/Icelandic.lproj/Localizable.strings @@ -31,6 +31,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/Italian.lproj/Localizable.strings b/UI/MainUI/Italian.lproj/Localizable.strings index fa22ef63f..4d1518dc9 100644 --- a/UI/MainUI/Italian.lproj/Localizable.strings +++ b/UI/MainUI/Italian.lproj/Localizable.strings @@ -32,6 +32,7 @@ "Hungarian" = "Magyar"; "Icelandic" = "Íslenska"; "Italian" = "Italiano"; +"Japanese" = "日本語"; "Latvian" = "Latviešu"; "Lithuanian" = "Lietuvių"; "Macedonian" = "Македонски"; diff --git a/UI/MainUI/Japanese.lproj/Locale b/UI/MainUI/Japanese.lproj/Locale new file mode 100644 index 000000000..8f5cfe952 --- /dev/null +++ b/UI/MainUI/Japanese.lproj/Locale @@ -0,0 +1,35 @@ +/* Japanese */ +{ + NSLanguageName = "Japanese"; + NSFormalName = "日本語"; + NSLocaleCode = "ja"; /* ISO 639-1 */ + NSLanguageCode = "jpn"; /* ISO 639-2 */ + NSParentContext = ""; + + NSAMPMDesignation = (AM, PM); + NSCurrencySymbol = "¥"; + NSDateFormatString = "%Y, %B, %e, %A"; + NSDateTimeOrdering = YMDH; + NSDecimalDigits = ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"); + NSDecimalSeparator = "."; + NSEarlierTimeDesignations = ("前", "最後の", "過去", "前"); + NSHourNameDesignations = ((0, "深夜"), (10, "朝"), (12, "正午", "昼食"), (14, "午後"), (19, "夕食")); + NSInternationalCurrencyString = JPY; /* ISO 4217 */ + NSLaterTimeDesignations = ("次"); + NSMonthNameArray = ("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"); + NSNextDayDesignations = ("明日"); + NSNextNextDayDesignations = ("翌日"); + NSPriorDayDesignations = ("昨日"); + NSShortDateFormatString = "%y/%m/%e"; + NSShortMonthNameArray = ("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"); + NSShortTimeDateFormatString = "%y/%m/%e %I:%M %p"; + NSShortWeekDayNameArray = ("日", "月", "火", "水", "木", "金", "土"); + NSThisDayDesignations = ("今日", "今"); + NSThousandsSeparator = ","; + NSTimeDateFormatString = "%%Y, %B, %e, %A %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/Japanese.lproj/Localizable.strings b/UI/MainUI/Japanese.lproj/Localizable.strings new file mode 100644 index 000000000..e96004cf2 --- /dev/null +++ b/UI/MainUI/Japanese.lproj/Localizable.strings @@ -0,0 +1,97 @@ +/* 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" = "ブラウザーのクッキーが無効なためログインできません。ブラウザーの設定でクッキーを有効にして、再度試してください。"; +"browserNotCompatible" = "使用しているバージョンのブラウザーは現在このサイトでサポートしていません。Firefoxの使用を推奨します。下のリンクをクリックすると最新のバージョンのFirefoxをダウンロードできます。"; +"alternativeBrowsers" = "または、以下の互換性があるブラウザーも使用できます。"; +"alternativeBrowserSafari" = "または、Safariも使用できます。"; +"Download" = "ダウンロード"; +"Language" = "言語"; +"choose" = "選択..."; +"Arabic" = "العربية"; +"Basque" = "Euskara"; +"Catalan" = "Català"; +"ChineseChina" = "简体中文"; +"ChineseTaiwan" = "正體中文"; +"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"; +"Japanese" = "日本語"; +"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" = "SOGoについて"; +"AboutBox" = "Inverseが開発したSOGoは、拡張性と単純さに重点を置いたフル装備のグループウェアサーバーです。