summaryrefslogtreecommitdiffstats
path: root/l10n-fa/calendar/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'l10n-fa/calendar/chrome')
-rw-r--r--l10n-fa/calendar/chrome/calendar/calendar-alarms.properties21
-rw-r--r--l10n-fa/calendar/chrome/calendar/calendar-event-dialog.dtd99
-rw-r--r--l10n-fa/calendar/chrome/calendar/calendar-event-dialog.properties333
-rw-r--r--l10n-fa/calendar/chrome/calendar/calendar.dtd107
-rw-r--r--l10n-fa/calendar/chrome/calendar/dateFormat.properties78
-rw-r--r--l10n-fa/calendar/chrome/calendar/global.dtd23
6 files changed, 661 insertions, 0 deletions
diff --git a/l10n-fa/calendar/chrome/calendar/calendar-alarms.properties b/l10n-fa/calendar/chrome/calendar/calendar-alarms.properties
new file mode 100644
index 0000000000..3c6eab5268
--- /dev/null
+++ b/l10n-fa/calendar/chrome/calendar/calendar-alarms.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (reminderCustomTitle):
+# %1$S = unit, %2$S = reminderCustomOrigin
+# Example: "3 minutes" "before the task starts"
+
+# LOCALIZATION NOTE (reminderSnoozeOkA11y)
+# This string is not seen in the UI, it is read by screen readers when the user
+# focuses the "OK" button in the "Snooze for..." popup of the alarm dialog.
+# %1$S = any of unit*
+
+reminderCustomOriginBeginBeforeEvent=پیش از آغاز رویداد
+reminderCustomOriginBeginAfterEvent=پس از آغاز رویداد
+reminderCustomOriginEndAfterEvent=پس از پایان رویداد
+reminderCustomOriginBeginBeforeTask=پیش از آغاز رویداد
+reminderCustomOriginBeginAfterTask=پس از آغاز رویداد
+reminderCustomOriginEndBeforeTask=پیش از پایان یافتن وظیفه
+reminderCustomOriginEndAfterTask=پس از پایان وظیفه
+
diff --git a/l10n-fa/calendar/chrome/calendar/calendar-event-dialog.dtd b/l10n-fa/calendar/chrome/calendar/calendar-event-dialog.dtd
new file mode 100644
index 0000000000..dc2ed42c3c
--- /dev/null
+++ b/l10n-fa/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,99 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+
+
+
+<!-- The following entity is for New Task dialog only -->
+
+<!-- LOCALIZATON NOTE(event.attendees.notify.label,event.attendees.notifyundisclosed.label,
+ event.attendees.disallowcounter.label)
+ - These three labels are displayed side by side in the event dialog, make sure
+ - they still fit in. -->
+
+<!-- Keyboard Shortcuts -->
+
+<!-- Menubar -->
+
+<!-- LOCALIZATION NOTE
+ - event.menu.item.save.accesskey is used for the "Save" menu item
+ - when editing events/tasks in a dialog window.
+ - event.menu.item.save.tab.accesskey is used for the "Save" menu item
+ - when editing events/tasks in a tab. -->
+
+<!-- LOCALIZATION NOTE
+ - event.menu.item.saveandclose.accesskey is used for "Save and Close"
+ - menu item when editing events/tasks in a dialog window.
+ - event.menu.item.saveandclose.tab.accesskey is used for "Save and Close"
+ - when editing events/tasks in a tab. -->
+
+
+
+
+
+
+<!-- Toolbar -->
+
+
+<!-- Counter box -->
+<!-- LOCALIZATON NOTE(counter.button.*)
+ - This is only visible in the UI if you have received a counterproposal before and are going to
+ - reschedule the event from the imipbar in the email view. Clicking on the buttons will only
+ - populate the form fields in the dialog, there's no other immediate action on clicking like with
+ - the imip bar. Rescheduling will happen after clicking on save&close as usual. This screenshot
+ - illustrates how it might look like: https://bugzilla.mozilla.org/attachment.cgi?id=8810121 -->
+
+<!-- Main page -->
+
+
+
+
+<!-- Recurrence dialog -->
+
+
+
+
+
+
+
+<!-- LOCALIZATON NOTE
+ Some languages use a preposition when describing dates:
+ Portuguese: 6 de Setembro
+ English: 6 [of] September
+ event.recurrence.pattern.yearly.of.label is "of" in
+ Edit recurrence window -> Recurrence pattern -> Repeat yearly
+-->
+
+<!ENTITY event.recurrence.pattern.yearly.month.1.label "ژانویه" >
+<!ENTITY event.recurrence.pattern.yearly.month.2.label "فوریه" >
+<!ENTITY event.recurrence.pattern.yearly.month.3.label "مارس" >
+<!ENTITY event.recurrence.pattern.yearly.month.4.label "آوریل" >
+<!ENTITY event.recurrence.pattern.yearly.month.5.label "مه" >
+<!ENTITY event.recurrence.pattern.yearly.month.6.label "ژوئن" >
+<!ENTITY event.recurrence.pattern.yearly.month.7.label "جولای" >
+<!ENTITY event.recurrence.pattern.yearly.month.8.label "اوت" >
+<!ENTITY event.recurrence.pattern.yearly.month.9.label "سپتامبر" >
+<!ENTITY event.recurrence.pattern.yearly.month.10.label "اکتبر" >
+<!ENTITY event.recurrence.pattern.yearly.month.11.label "نوامبر" >
+<!ENTITY event.recurrence.pattern.yearly.month.12.label "دسامبر" >
+<!ENTITY event.recurrence.pattern.yearly.month2.1.label "ژانویه" >
+<!ENTITY event.recurrence.pattern.yearly.month2.2.label "فوریه" >
+<!ENTITY event.recurrence.pattern.yearly.month2.3.label "مارس" >
+<!ENTITY event.recurrence.pattern.yearly.month2.4.label "آوریل" >
+<!ENTITY event.recurrence.pattern.yearly.month2.5.label "مه" >
+<!ENTITY event.recurrence.pattern.yearly.month2.6.label "ژوئن" >
+<!ENTITY event.recurrence.pattern.yearly.month2.7.label "جولای" >
+<!ENTITY event.recurrence.pattern.yearly.month2.8.label "اوت" >
+<!ENTITY event.recurrence.pattern.yearly.month2.9.label "سپتامبر" >
+<!ENTITY event.recurrence.pattern.yearly.month2.10.label "اکتبر" >
+<!ENTITY event.recurrence.pattern.yearly.month2.11.label "نوامبر" >
+<!ENTITY event.recurrence.pattern.yearly.month2.12.label "دسامبر" >
+
+
+<!-- Attendees dialog -->
+
+<!-- Timezone dialog -->
+
+<!-- Read-Only dialog -->
diff --git a/l10n-fa/calendar/chrome/calendar/calendar-event-dialog.properties b/l10n-fa/calendar/chrome/calendar/calendar-event-dialog.properties
new file mode 100644
index 0000000000..76f8934a2b
--- /dev/null
+++ b/l10n-fa/calendar/chrome/calendar/calendar-event-dialog.properties
@@ -0,0 +1,333 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (dailyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Daily repeat rules
+# #1 - number
+# e.g. "every 4 days"
+
+# LOCALIZATION NOTE (weeklyNthOnNounclass...)
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - weekday (one or more)
+# #2 - week interval
+# e.g. "every 3 weeks on Tuesday, Wednesday and Thursday
+
+# LOCALIZATION NOTE (weeklyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# #1 - interval
+# e.g. "every 5 weeks"
+
+# LOCALIZATION NOTE ('repeatDetailsDay...' and 'repeatDetailsDay...Nounclass'):
+# Week days names and week days noun classes (feminine/masculine grammatical
+# gender) for languages that need different localization when weekdays nouns
+# have different noun classes (genders).
+# For every weekday, in 'repeatDetailsDay...Nounclass' strings write:
+# "nounclass1" for languages with grammatical genders -> MASCULINE gender;
+# for languages with noun classes -> a noun class;
+# for languages without noun classes or grammatical gender.
+#
+# "nounclass2" for languages with grammatical genders -> FEMININE gender;
+# for languages with noun classes -> a different noun class.
+#
+# "nounclass3", "nounclass4" and so on for languages that need more than two
+# noun classes for weekdays. In this case add corresponding
+# rule string with "Nounclass..." suffix and ordinal string
+# "repeatOrdinalxNounclass..."
+# Will be used rule strings with "Nounclass..." suffix corresponding to the
+# following strings if there is a weekday in the rule string.
+
+# LOCALIZATION NOTE (repeatDetailsAnd)
+# Used to show a number of weekdays in a list
+# i.e. "Sunday, Monday, Tuesday " + and + " Wednesday"
+
+# LOCALIZATION NOTE (monthlyRuleNthOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of weekdays with ordinal, article and noun class/gender
+# (ordinal and weekday of every element in the list follow the order
+# and the rule of ordinalWeekdayOrder string)
+# #2 - interval
+# e.g. "the first Monday and the last Friday of every 3 months"
+
+# LOCALIZATION NOTE (ordinalWeekdayOrder):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# This string allows to change the order of the elements "ordinal" and
+# "weekday" (or to insert a word between them) for the argument %1$S of the
+# string monthlyRuleNthOfEveryNounclass...
+# Without changing this string, the order is that one required from most
+# languages: ordinal + weekday (e.g. "'the first' 'Monday' of every 2 months").
+# %1$S - ordinal with article
+# %2$S - weekday noun
+# e.g. "'the first' 'Monday'"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+
+# LOCALIZATION NOTE (monthlyEveryOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of single weekdays and/or weekdays with ordinal, article and
+# noun class/gender when rule contains also specific day in the month
+# #2 - interval
+# e.g. "every Monday, Tuesday and the second Sunday of every month"
+
+# LOCALIZATION NOTE (monthlyDaysOfNth_day):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month or a sequence of days of month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties) separated with commas;
+# e.g. "days 3, 6 and 9" or "days 3rd, 6th and 9th"
+
+# LOCALIZATION NOTE (monthlyDaysOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - it's the string monthlyDaysOfNth_day: day of month or a sequence of days
+# of month, possibly followed by an ordinal symbol, separated with commas;
+# #2 - monthly interval
+# e.g. "days 3, 6, 9 and 12 of every 3 months"
+
+# LOCALIZATION NOTE (monthlyLastDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month
+# #2 - month interval
+# e.g. "the last day of every 3 months"
+
+# LOCALIZATION NOTE (monthlyEveryDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# #2 - month interval
+# e.g. "every day of the month every 4 months"
+
+# LOCALIZATION NOTE (repeatOrdinal...Nounclass...):
+# Ordinal numbers nouns for every noun class (grammatical genders) of weekdays
+# considered in 'repeatDetailsDayxNounclass' strings. For languages that need
+# localization according to genders or noun classes.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add 'repeatOrdinal...Nounclass' strings with suffix 3, 4 and so on for
+# languages with more than two noun classes for weekdays. In this case
+# must be added corresponding rule strings with 'Nounclass...' suffix and
+# corresponding values "nounclass..." must be written in
+# 'repeatDetailsDayxNounclass' strings.
+
+# LOCALIZATION NOTE (yearlyNthOn):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# %1$S - month name
+# %2$S - day of month possibly followed by an ordinal symbol (depending on the string
+# dayOrdinalSymbol in dateFormat.properties)
+# #3 - yearly interval
+# e.g. "every 3 years on December 14"
+# "every 2 years on December 8th"
+
+# LOCALIZATION NOTE (yearlyNthOnNthOfNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - ordinal with article and noun class/gender corresponding to weekday
+# %2$S - weekday
+# %3$S - month
+# #4 - yearly interval
+# e.g. "the second Monday of every March"
+# e.g "every 3 years the second Monday of March"
+
+# LOCALIZATION NOTE (yearlyOnEveryNthOfNthNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - weekday
+# %2$S - month
+# #3 - yearly interval
+# e.g. "every Thursday of March"
+# e.g "every 3 years on every Thursday of March"
+
+#LOCALIZATION NOTE (yearlyEveryDayOf):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# This string describes part of a yearly rule which includes every day of a month.
+# %1$S - month
+# #2 - yearly interval
+# e.g. "every day of December"
+# e.g. "every 3 years every day of December"
+
+repeatDetailsMonth1=ژانویه
+repeatDetailsMonth2=فوریه
+repeatDetailsMonth3=مارس
+repeatDetailsMonth4=آوریل
+repeatDetailsMonth5=مه
+repeatDetailsMonth6=ژوئن
+repeatDetailsMonth7=جولای
+repeatDetailsMonth8=اوت
+repeatDetailsMonth9=سپتامبر
+repeatDetailsMonth10=اکتبر
+repeatDetailsMonth11=نوامبر
+repeatDetailsMonth12=دسامبر
+
+# LOCALIZATION NOTE (repeatCount):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# #5 - event occurence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+# only on 1/1/2009"
+# from 5:00 PM to 6:00 PM"
+# "Occurs the first Sunday of every 3 month
+# effective 1/1/2009 for 5 times
+# from 5:00 PM to 6:00 PM"
+
+# LOCALIZATION NOTE (repeatCountAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# #3 - event occurence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+# only on 1/1/2009"
+# "Occurs the first Sunday of every 3 month
+# effective 1/1/2009 for 5 times"
+
+# LOCALIZATION NOTE (repeatDetailsUntil):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# %4$S - event start time (e.g. hh:mm (PM/AM))
+# %5$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with weeklyNthOn:
+# "Occurs every 2 weeks on Sunday and Friday
+# effective 1/1/2009 until 1/1/2010
+# from 5:00 PM to 6:00 PM"
+
+# LOCALIZATION NOTE (repeatDetailsUntilAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009 until 1/1/2010"
+
+# LOCALIZATION NOTE (repeatDetailsInfinite):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with monthlyDaysOfNth:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009
+# from 5:00 PM to 6:00 PM"
+
+# LOCALIZATION NOTE (repeatDetailsInfiniteAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009"
+
+# LOCALIZATION NOTE (monthlyLastDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# A monthly rule with one or more days of the month (monthlyDaysOfNth) and the
+# string "the last day" of the month.
+# e.g.: "Occurs day 15, 20, 25 and the last day of every 3 months"
+
+# LOCALIZATION NOTE (ruleTooComplex):
+# This string is shown in the repeat details area if our code can't handle the
+# complexity of the recurrence rule yet.
+
+# LOCALIZATION NOTE (ruleTooComplexSummary):
+# This string is shown in the event summary dialog if our code can't handle the
+# complexity of the recurrence rule yet.
+
+# differences between the dialog for an Event or a Task
+
+
+# Link Location Dialog
+
+
+# Attach File Dialog
+
+# LOCALIZATION NOTE (removeAttachmentsText): Semi-colon list of plural forms for
+# prompting attachment removal.
+# See http://developer.mozilla.org/en/Localization_and_Plurals
+
+# Recurrence Dialog Widget Order
+# LOCALIZATION NOTE: You can change the order of below params
+# Edit recurrence window -> Recurrence pattern -> Repeat monthly
+# %1$S - ordinal with article, %2$S - weekday
+# e.g. "the First Saturday"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - day of month, %2$S - of, %3$S - month
+# e.g. "6 [of] September"
+# If you don't need %2$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - ordinal with article, %2$S - weekday, %3$S - of, %4$S - month
+# e.g. "the First Saturday of September"
+# If you don't need %3$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+
+# LOCALIZATION NOTE (pluralForWeekdays):
+# This string allows to set the use of weekdays nouns in plural form for
+# languages that need them in sentences like "every Monday" or "every Sunday
+# of March" etc.
+# Rule strings involved by this setting are:
+# - weeklyNthOn (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+# e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+# e.g. "every Friday of March;every 2 years on every Friday of March"
+# In your local write:
+# "true" if sentences like those above need weekday in plural form;
+# "false" if sentences like those above don't need weekday in plural form;
+
+# LOCALIZATION NOTE (repeatDetailsDayxxxPlural):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# Weekdays in plural form used inside sentences like "every Monday" or
+# "every Sunday of May" etc. for languages that need them.
+# These plurals will be used inside the following rule strings only if string
+# 'pluralForWeekdays' (see above) is set to "true":
+# - weeklyNthOn (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+# e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+# e.g. "every Friday of March;every 2 years on every Friday of March"
+
+# LOCALIZATION NOTE (eventRecurrenceForeverLabel):
+# Edit/New Event dialog -> datepicker that sets the until date.
+# For recurring rules that repeat forever, this labels appears in the
+# datepicker, below the minimonth, as an option for the until date.
+
+# LOCALIZATION NOTE (eventRecurrenceMonthlyLastDayLabel):
+# Edit dialog recurrence -> Monthly Recurrence pattern -> Monthly daypicker
+# The label on the monthly daypicker's last button that allows to select
+# the last day of the month inside a BYMONTHDAY rule.
diff --git a/l10n-fa/calendar/chrome/calendar/calendar.dtd b/l10n-fa/calendar/chrome/calendar/calendar.dtd
new file mode 100644
index 0000000000..f40d2af9b0
--- /dev/null
+++ b/l10n-fa/calendar/chrome/calendar/calendar.dtd
@@ -0,0 +1,107 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- General -->
+
+
+
+<!ENTITY calendar.today.button.label "امروز">
+<!ENTITY calendar.tomorrow.button.label "فردا">
+
+<!ENTITY calendar.events.filter.all.label "همه رویدادها">
+<!ENTITY calendar.events.filter.today.label "رویدادهای امروز">
+
+<!-- LOCALIZATION NOTE(calendar.unifinder.tree.done.tooltip)
+ - This label and tooltip is used for the column with the checkbox in the
+ - task tree view. -->
+<!ENTITY calendar.unifinder.tree.title.label "عنوان">
+<!ENTITY calendar.unifinder.tree.startdate.label "آغاز">
+<!ENTITY calendar.unifinder.tree.enddate.label "پایان">
+<!ENTITY calendar.unifinder.tree.completeddate.label "انجام شد">
+<!ENTITY calendar.unifinder.tree.completeddate.tooltip2 "مرتب سازی بر اساس تاریخ اتمام">
+<!ENTITY calendar.unifinder.tree.categories.label "دسته">
+<!ENTITY calendar.unifinder.tree.categories.tooltip2 "مرتب سازی بر اساس دسته بندی">
+<!ENTITY calendar.unifinder.tree.location.label "مکان">
+<!ENTITY calendar.unifinder.tree.location.tooltip2 "مرتب سازی بر اساس مکان">
+<!ENTITY calendar.unifinder.tree.status.label "وضعیت">
+<!ENTITY calendar.unifinder.tree.status.tooltip2 "مرتب سازی بر اساس وضعیت">
+
+
+
+
+
+
+
+
+
+
+
+<!-- LOCALIZATION NOTE(calendar.task.filter.current.label)
+ "Current Tasks" will show all tasks, except those with a start date set
+ that is after today and after the selected date. If a task repeats, a
+ separate entry will be shown for each of the occurrences that happen on or
+ before today (or the selected date, whichever is later). -->
+
+
+
+
+<!-- Context Menu -->
+
+<!-- Task Context Menu -->
+
+<!--=percent sign-->
+
+
+
+
+
+
+<!-- Task View -->
+<!-- Note that the above *.context.* strings are currently used for the other
+ task action buttons -->
+
+<!-- Server Context Menu -->
+
+<!-- LOCALIZATION NOTE (calendar.context.removeserver.label): Removing the
+ calendar is the general action of removing it, while deleting means to
+ clear the data and unsubscribing means just taking it out of the calendar
+ list. -->
+
+<!-- LOCALIZATION NOTE (calendar.context.showcalendar.accesskey)
+ This is the access key used for the showCalendar string -->
+
+<!-- LOCALIZATION NOTE (calendar.context.hidecalendar.accesskey)
+ This is the access key used for the hideCalendar string -->
+
+<!-- LOCALIZATION NOTE (calendar.context.showonly.accesskey)
+ This is the access key used for the showOnlyCalendar string -->
+
+
+
+
+
+<!-- Calendar Alarm Dialog -->
+
+
+
+
+<!-- LOCALIZATION NOTE (calendar.alarm.snooze.cancel)
+ This string is not seen in the UI, it is read by screen readers when the
+ user focuses the "Cancel" button in the "Snooze for..." popup of the alarm
+ dialog. -->
+
+<!-- Calendar Server Dialog -->
+
+<!-- Calendar Properties -->
+
+<!-- Calendar Publish Dialog -->
+
+
+<!-- Select Calendar Dialog -->
+
+<!-- Calendar Printing -->
+
+<!-- Error reporting -->
+
+<!-- Extract buttons in message header -->
diff --git a/l10n-fa/calendar/chrome/calendar/dateFormat.properties b/l10n-fa/calendar/chrome/calendar/dateFormat.properties
new file mode 100644
index 0000000000..344535c8e1
--- /dev/null
+++ b/l10n-fa/calendar/chrome/calendar/dateFormat.properties
@@ -0,0 +1,78 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# In case you are looking for the note about different declensions on date
+# formats, here it is. If your language doesn't use different declensions of
+# month names, you shouldn't have much work. Just leave the *.monthFormat
+# string on "nominative" and the string month.*.name will be filled in.
+#
+# If you need a different form for a string, you can change the
+# *.monthFormat to a different value. Supported values are currently:
+# nominative (default), genitive
+# The modified month name form will then be filled in accordingly. If this
+# system does not suit your needs, please file a bug!
+
+# LOCALIZATION NOTE (month.*.name):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "nominative" or in places
+# where using a different declension is not yet supported.
+month.1.name=ژانویه
+month.2.name=فوریه
+month.3.name=مارس
+month.4.name=آوریل
+month.5.name=مه
+month.6.name=ژوئن
+month.7.name=جولای
+month.8.name=اوت
+month.9.name=سپتامبر
+month.10.name=اکتبر
+month.11.name=نوامبر
+month.12.name=دسامبر
+
+# LOCALIZATION NOTE (month.*.genitive):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "genitive"
+# If your language doesn't use different declensions, just set the same
+# values as for month.*.name.
+month.1.genitive=ژانویه
+month.2.genitive=فوریه
+month.3.genitive=مارس
+month.4.genitive=آوریل
+month.5.genitive=مه
+month.6.genitive=ژوئن
+month.7.genitive=جولای
+month.8.genitive=اوت
+month.9.genitive=سپتامبر
+month.10.genitive=اکتبر
+month.11.genitive=نوامبر
+month.12.genitive=دسامبر
+
+month.5.Mmm=مه
+
+
+
+# Can someone tell me why we're not counting from zero?
+
+# Localizable day's date
+
+# LOCALIZATION NOTE (dayOrdinalSymbol):
+# Allows to insert a string, a character or a symbol after the number of a
+# monthday in order to give it the meaning of ordinal number e.g. 1 -> 1st etc.
+# It's mainly used when formatting dates with both monthday and month name. It
+# affects the following localizable strings that hence must be localized *without*
+# any ordinal symbol for the monthday number:
+# dayHeaderLabel, monthlyDaysOfNth_day,
+# yearlyNthOn, daysIntervalBetweenYears,
+# daysIntervalBetweenMonths, daysIntervalInMonth.
+# Write only a single string if the ordinal symbol is the same for every monthday, otherwise
+# write a sequence of _31_ strings (one for each monthday) separated with commas.
+# If your language doesn't require that in the mentioned strings, leave it empty.
+# e.g.
+# dayOrdinalSymbol=.
+# -> daysIntervalInMonth: 'March 3. - 9., 2008'
+# dayOrdinalSymbol=st,nd,rd,th,th,th,th,th,th,th,th,th,th,th,th,
+# th,th,th,th,th,st,nd,rd,th,th,th,th,th,th,th,st
+# -> daysIntervalBetweenMonths: 'September 29th - November 1st, 2008'
+
+
diff --git a/l10n-fa/calendar/chrome/calendar/global.dtd b/l10n-fa/calendar/chrome/calendar/global.dtd
new file mode 100644
index 0000000000..1c70fe7b25
--- /dev/null
+++ b/l10n-fa/calendar/chrome/calendar/global.dtd
@@ -0,0 +1,23 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- Day Names -->
+<!-- LOCALIZATION NOTE : Accesskeys for day.1.Ddd to day.7.Ddd are currently
+ only used in Preferences > Views > Workweek groupbox -->
+
+
+<!ENTITY month.1.name "ژانویه" >
+<!ENTITY month.2.name "فوریه" >
+<!ENTITY month.3.name "مارس" >
+<!ENTITY month.4.name "آوریل" >
+<!ENTITY month.5.name "مه" >
+<!ENTITY month.6.name "ژوئن" >
+<!ENTITY month.7.name "جولای" >
+<!ENTITY month.8.name "اوت" >
+<!ENTITY month.9.name "سپتامبر" >
+<!ENTITY month.10.name "اکتبر" >
+<!ENTITY month.11.name "نوامبر" >
+<!ENTITY month.12.name "دسامبر" >
+