if (window.PrimeFaces) {
  /** Farsi */
  PrimeFaces.locales["fa"] = {
    accept: "بله",
    addRule: "افزودن قانون",
    am: "قبل از ظهر",
    apply: "درخواست دادن",
    cancel: "لغو",
    choose: "انتخاب",
    chooseDate: "انتخاب تاریخ",
    chooseMonth: "انتخاب ماه",
    chooseYear: "انتخاب تاریخ",
    clear: "پاک کردن",
    completed: "تکمیل شد",
    contains: "حاوی",
    custom: "سفارشی",
    dateAfter: "تاریخ بعد است",
    dateBefore: "تاریخ قبل است",
    dateFormat: "yy/mm/dd",
    dateIs: "تاریخ است",
    dateIsNot: "تاریخ نیست",
    dayNames: ["یکشنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"],
    dayNamesMin: ["ی", "د", "س", "چ", "پ", "ج", "ش"],
    dayNamesShort: ["ی", "د", "س", "چ", "پ", "ج", "ش"],
    emptyFilterMessage: "نتیجه ای پیدا نشد",
    emptyMessage: "هیچ گزینه ای در دسترس نیست",
    emptySearchMessage: "نتیجه ای پیدا نشد",
    emptySelectionMessage: "موردی انتخاب نشده",
    endsWith: "پایان با",
    equals: "برابر",
    fileSizeTypes: ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"],
    filter: "فیلتر",
    firstDayOfWeek: 6,
    gt: "بیشتر از",
    gte: "برابر یا بیشتر از",
    lt: "کمتر از",
    lte: "برابر یا کمتر از",
    matchAll: "مطابقت با همه",
    matchAny: "مطابقت با هر",
    medium: "متوسط",
    monthNames: ["ژانویه", "فوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"],
    monthNamesShort: ["ژانویه", "فوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"],
    nextDecade: "دهه بعد",
    nextHour: "ساعت بعد",
    nextMinute: "دقیقه بعد",
    nextMonth: "ماه بعد",
    nextSecond: "ثانیه بعد",
    nextYear: "سال بعد",
    noFilter: "بدون فیلتر",
    notContains: "حاوی نیست",
    notEquals: "نا برابر",
    now: "اکنون",
    passwordPrompt: "یک گذرواژه وارد کنید",
    pending: "در انتظار",
    pm: "بعد از ظهر",
    prevDecade: "دهه قبل",
    prevHour: "ساعت قبل",
    prevMinute: "دقیقه قبل",
    prevMonth: "ماه قبل",
    prevSecond: "ثانیه قبل",
    prevYear: "سال قبل",
    reject: "خیر",
    removeRule: "حذف قانون",
    searchMessage: "{0} نتیجه در دسترس است",
    selectionMessage: "{0} موارد انتخاب شده",
    showMonthAfterYear: true,
    startsWith: "شروع با",
    strong: "قوی",
    today: "امروز",
    upload: "بارگذاری",
    weak: "هفته",
    weekHeader: "هفته",
    aria: {
      cancelEdit: "لغو ویرایش",
      close: "بستن",
      collapseLabel: "سقوط - فروپاشی",
      collapseRow: "ردیف جمع شد",
      editRow: "ویرایش ردیف",
      expandLabel: "بسط دادن",
      expandRow: "ردیف گسترش پیدا کرده",
      falseLabel: "غلط",
      filterConstraint: "محدودیت فیلتر",
      filterOperator: "عملگر فیلتر",
      firstPageLabel: "اولین صفحه",
      gridView: "نمایش به صورت شبکه",
      hideFilterMenu: "پنهان کردن فیلتر ها",
      jumpToPageDropdownLabel: "پرش به دراپ داون صفحه",
      jumpToPageInputLabel: "پرش به ورودی صفحه",
      lastPageLabel: "آخرین صفحه",
      listView: "نمایش به صورت لیست",
      moveAllToSource: "حرکت همه تا منبع",
      moveAllToTarget: "حرکت همه تا هدف",
      moveBottom: "حرکت پایین",
      moveDown: "حرکت پایین",
      moveTop: "حرکت بالا",
      moveToSource: "حرکت تا منبع",
      moveToTarget: "حرکت تا هدف",
      moveUp: "حرکت بالا",
      navigation: "جهت یابی",
      next: "بعدی",
      nextPageLabel: "صفحه بعد",
      nullLabel: "انتخاب نشده",
      otpLabel: "لطفاً نویسه رمز یکبار مصرف {0} را وارد کنید",
      pageLabel: "{page}",
      passwordHide: "پنهان کردن رمز عبور",
      passwordShow: "نمایش رمز عبور",
      previous: "قبلی",
      previousPageLabel: "صفحه قبل",
      rotateLeft: "چرخش به سمت چپ",
      rotateRight: "چرخش به سمت راست",
      rowsPerPageLabel: "ردیف در هر صفحه",
      saveEdit: "ذخیره ویرایش",
      scrollTop: "اسکرول بالا",
      selectAll: "همه موارد انتخاب شدند",
      selectLabel: "انتخاب کنید",
      selectRow: "ردیف انتخاب شده",
      showFilterMenu: "نمایش فیلتر ها",
      slide: "اسلاید",
      slideNumber: "{slideNumber}",
      star: "ستاره",
      stars: "{star} ستاره",
      trueLabel: "صحیح",
      unselectAll: "همه موارد لغو انتخاب شدند",
      unselectLabel: "لغو انتخاب کنید",
      unselectRow: "ردیف لغو انتخاب شد",
      zoomImage: "بزرگنمایی تصویر",
      zoomIn: "بزرگنمایی",
      zoomOut: "کوچک نمایی",
    },
  };

  // custom PF labels
  PrimeFaces.locales["fa"] = $.extend(true, {}, PrimeFaces.locales["fa"], {
    allDayText: "تمام روز",
    day: "روز",
    hourText: "ساعت",
    isRTL: true,
    list: "دستور جلسه",
    millisecondText: "میلی ثانیه",
    minuteText: "دقیقه",
    month: "ماه",
    moreLinkText: "بیشتر...",
    noEventsText: "هیچ رویدادی وجود ندارد",
    secondText: "دومین",
    timeOnlyTitle: "فقط زمان",
    timeText: "زمان",
    unexpectedError: "خطای غیرمنتظره",
    week: "هفته",
    weekNumberTitle: "که در",
    year: "سال",
    yearSuffix: "",
    aria: {
      "colorpicker.ALPHASLIDER": "لغزنده کدورت",
      "colorpicker.CLEAR": "رنگ انتخاب شده را پاک کنید",
      "colorpicker.CLOSE": "انتخابگر رنگ را ببندید",
      "colorpicker.FORMAT": "فرمت رنگ",
      "colorpicker.HUESLIDER": "لغزنده رنگ",
      "colorpicker.INPUT": "فیلد مقدار رنگ",
      "colorpicker.INSTRUCTION": "انتخابگر اشباع و روشنایی برای انتخاب از کلیدهای جهت دار بالا، پایین، چپ و راست استفاده کنید.",
      "colorpicker.MARKER": "اشباع: {s}. روشنایی: {v}.",
      "colorpicker.OPEN": "انتخابگر رنگ را باز کنید",
      "colorpicker.SWATCH": "نمونه رنگ",
      "datatable.sort.ASC": "برای مرتب سازی ستون صعودی فعال کنید",
      "datatable.sort.DESC": "برای مرتب کردن ستون به صورت نزولی فعال کنید",
      "datatable.sort.NONE": "برای حذف مرتب سازی در ستون، فعال کنید",
      "messages.ERROR": "خطا",
      "messages.FATAL": "کشنده",
      "messages.INFO": "اطلاعات",
      "messages.WARN": "هشدار",
      "spinner.DECREASE": "کاهش ارزش",
      "spinner.INCREASE": "افزایش ارزش",
      "switch.OFF": "خاموش",
      "switch.ON": "بر",
    },
    messages: {
      "javax.faces.component.UIInput.REQUIRED": "{0}: خطای اعتبارسنجی: مقدار لازم است.",
      "javax.faces.converter.BigDecimalConverter.DECIMAL": "{2}: «{0}» باید یک عدد اعشاری امضا شده باشد.",
      "javax.faces.converter.BigDecimalConverter.DECIMAL_detail": "{2}: &#39;{0}&#39; باید یک عدد اعشاری امضا شده متشکل از صفر یا چند رقم باشد که ممکن است یک اعشار و کسری به دنبال آن باشد. مثال: {1}.",
      "javax.faces.converter.BigIntegerConverter.BIGINTEGER": "{2}: «{0}» باید عددی متشکل از یک یا چند رقم باشد.",
      "javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail": "{2}: «{0}» باید عددی متشکل از یک یا چند رقم باشد. مثال: {1}.",
      "javax.faces.converter.BooleanConverter.BOOLEAN": "{1}: «{0}» باید «درست» یا «نادرست» باشد.",
      "javax.faces.converter.BooleanConverter.BOOLEAN_detail": "{1}: «{0}» باید «درست» یا «نادرست» باشد. هر مقداری غیر از &quot;درست&quot; به &quot;نادرست&quot; ارزیابی می شود.",
      "javax.faces.converter.ByteConverter.BYTE": "{2}: «{0}» باید عددی بین 0 تا 255 باشد.",
      "javax.faces.converter.ByteConverter.BYTE_detail": "{2}: &#39;{0}&#39; باید عددی بین 0 تا 255 باشد. مثال: {1}.",
      "javax.faces.converter.CharacterConverter.CHARACTER": "{1}: «{0}» باید یک نویسه معتبر باشد.",
      "javax.faces.converter.CharacterConverter.CHARACTER_detail": "{1}: «{0}» باید یک نویسه ASCII معتبر باشد.",
      "javax.faces.converter.DateTimeConverter.DATE": "{2}: &quot;{0}&quot; به عنوان تاریخ قابل درک نیست.",
      "javax.faces.converter.DateTimeConverter.DATE_detail": "{2}: &quot;{0}&quot; به عنوان تاریخ قابل درک نیست. مثال: {1}.",
      "javax.faces.converter.DateTimeConverter.DATETIME": "{2}: «{0}» به عنوان تاریخ و زمان قابل درک نیست.",
      "javax.faces.converter.DateTimeConverter.DATETIME_detail": "{2}: «{0}» به عنوان تاریخ و زمان قابل درک نیست. مثال: {1}.",
      "javax.faces.converter.DateTimeConverter.PATTERN_TYPE": "{1}: برای تبدیل مقدار «{0}» باید یک ویژگی «الگو» یا «نوع» مشخص شود.",
      "javax.faces.converter.DateTimeConverter.TIME": "{2}: &quot;{0}&quot; به عنوان زمان قابل درک نیست.",
      "javax.faces.converter.DateTimeConverter.TIME_detail": "{2}: &quot;{0}&quot; به عنوان زمان قابل درک نیست. مثال: {1}.",
      "javax.faces.converter.DoubleConverter.DOUBLE": "{2}: «{0}» باید عددی متشکل از یک یا چند رقم باشد.",
      "javax.faces.converter.DoubleConverter.DOUBLE_detail": "{2}: «{0}» باید عددی بین 4.9E-324 و 1.7976931348623157E308 باشد. مثال: {1}.",
      "javax.faces.converter.FloatConverter.FLOAT": "{2}: «{0}» باید عددی متشکل از یک یا چند رقم باشد.",
      "javax.faces.converter.FloatConverter.FLOAT_detail": "{2}: «{0}» باید عددی بین 1.4E-45 و 3.4028235E38 باشد. مثال: {1}.",
      "javax.faces.converter.IntegerConverter.INTEGER": "{2}: «{0}» باید عددی متشکل از یک یا چند رقم باشد.",
      "javax.faces.converter.IntegerConverter.INTEGER_detail": "{2}: &#39;{0}&#39; باید عددی بین -2147483648 و 2147483647 باشد. مثال: {1}.",
      "javax.faces.converter.NumberConverter.CURRENCY": "{2}: «{0}» به عنوان یک ارزش واحد پولی قابل درک نیست.",
      "javax.faces.converter.NumberConverter.CURRENCY_detail": "{2}: «{0}» به عنوان یک ارزش واحد پولی قابل درک نیست. مثال: {1}.",
      "javax.faces.converter.NumberConverter.NUMBER": "{2}: &quot;{0}&quot; به عنوان یک عدد قابل درک نیست.",
      "javax.faces.converter.NumberConverter.NUMBER_detail": "{2}: &quot;{0}&quot; به عنوان یک عدد قابل درک نیست. مثال: {1}.",
      "javax.faces.converter.NumberConverter.PATTERN": "{2}: «{0}» به عنوان یک الگوی عددی قابل درک نیست.",
      "javax.faces.converter.NumberConverter.PATTERN_detail": "{2}: «{0}» به عنوان یک الگوی عددی قابل درک نیست. مثال: {1}.",
      "javax.faces.converter.NumberConverter.PERCENT": "{2}: &quot;{0}&quot; به عنوان درصد قابل درک نیست.",
      "javax.faces.converter.NumberConverter.PERCENT_detail": "{2}: «{0}» به عنوان درصد قابل درک نیست. مثال: {1}.",
      "javax.faces.converter.ShortConverter.SHORT": "{2}: «{0}» باید عددی متشکل از یک یا چند رقم باشد.",
      "javax.faces.converter.ShortConverter.SHORT_detail": "{2}: &#39;{0}&#39; باید عددی بین -32768 و 32767 باشد. مثال: {1}.",
      "javax.faces.validator.BeanValidator.MESSAGE": "{0}",
      "javax.faces.validator.DoubleRangeValidator.MAXIMUM": "{1}: خطای اعتبارسنجی: مقدار از حداکثر مجاز &quot;{0}&quot; بیشتر است.",
      "javax.faces.validator.DoubleRangeValidator.MINIMUM": "{1}: خطای اعتبارسنجی: مقدار کمتر از حداقل مجاز «{0}» است.",
      "javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE": "{2}: خطای اعتبارسنجی: مشخصه مشخص شده بین مقادیر مورد انتظار {0} و {1} نیست.",
      "javax.faces.validator.DoubleRangeValidator.TYPE": "{0}: خطای اعتبارسنجی: مقدار از نوع صحیح نیست.",
      "javax.faces.validator.LengthValidator.MAXIMUM": "{1}: خطای اعتبارسنجی: طول بیشتر از حداکثر مجاز «{0}» است.",
      "javax.faces.validator.LengthValidator.MINIMUM": "{1}: خطای اعتبارسنجی: طول کمتر از حداقل مجاز «{0}» است.",
      "javax.faces.validator.LongRangeValidator.MAXIMUM": "{1}: خطای اعتبارسنجی: مقدار از حداکثر مجاز &quot;{0}&quot; بیشتر است.",
      "javax.faces.validator.LongRangeValidator.MINIMUM": "{1}: خطای اعتبارسنجی: مقدار کمتر از حداقل مجاز «{0}» است.",
      "javax.faces.validator.LongRangeValidator.NOT_IN_RANGE": "{2}: خطای اعتبارسنجی: مشخصه مشخص شده بین مقادیر مورد انتظار {0} و {1} نیست.",
      "javax.faces.validator.LongRangeValidator.TYPE": "{0}: خطای اعتبارسنجی: مقدار از نوع صحیح نیست.",
      "javax.faces.validator.RegexValidator.MATCH_EXCEPTION": "خطا در بیان منظم",
      "javax.faces.validator.RegexValidator.MATCH_EXCEPTION_detail": "خطا در عبارت منظم، &quot;{0}&quot;.",
      "javax.faces.validator.RegexValidator.NOT_MATCHED": "الگوی Regex مطابقت ندارد.",
      "javax.faces.validator.RegexValidator.NOT_MATCHED_detail": "الگوی Regex &quot;{0}&quot; مطابقت ندارد.",
      "javax.faces.validator.RegexValidator.PATTERN_NOT_SET": "الگوی Regex باید تنظیم شود.",
      "javax.faces.validator.RegexValidator.PATTERN_NOT_SET_detail": "الگوی Regex باید روی مقدار غیر خالی تنظیم شود.",
      "javax.validation.constraints.AssertFalse.message": "باید نادرست باشد",
      "javax.validation.constraints.AssertTrue.message": "باید درست باشد",
      "javax.validation.constraints.DecimalMax.message": "باید کمتر یا مساوی با {0} باشد",
      "javax.validation.constraints.DecimalMin.message": "باید بزرگتر یا مساوی با {0} باشد",
      "javax.validation.constraints.Digits.message": "مقدار عددی خارج از محدوده (&lt;{0} رقم&gt;. &lt;{1} رقم&gt; مورد انتظار)",
      "javax.validation.constraints.Email.message": "باید یک آدرس ایمیل خوش فرم باشد",
      "javax.validation.constraints.Future.message": "باید تاریخ آینده باشد",
      "javax.validation.constraints.FutureOrPresent.message": "باید تاریخی در حال یا آینده باشد",
      "javax.validation.constraints.Max.message": "باید کمتر یا مساوی با {0} باشد",
      "javax.validation.constraints.Min.message": "باید بزرگتر یا مساوی با {0} باشد",
      "javax.validation.constraints.Negative.message": "باید کمتر از 0 باشد",
      "javax.validation.constraints.NegativeOrZero.message": "باید کمتر یا مساوی 0 باشد",
      "javax.validation.constraints.NotBlank.message": "نباید خالی باشد",
      "javax.validation.constraints.NotEmpty.message": "نباید خالی باشد",
      "javax.validation.constraints.NotNull.message": "نباید خالی باشد",
      "javax.validation.constraints.Null.message": "باید پوچ باشد",
      "javax.validation.constraints.Past.message": "باید تاریخ گذشته باشد",
      "javax.validation.constraints.PastOrPresent.message": "باید تاریخی در گذشته یا حال باشد",
      "javax.validation.constraints.Pattern.message": "باید با &quot;{0}&quot; مطابقت داشته باشد",
      "javax.validation.constraints.Positive.message": "باید بزرگتر از 0 باشد",
      "javax.validation.constraints.PositiveOrZero.message": "باید بزرگتر یا مساوی 0 باشد",
      "javax.validation.constraints.Size.message": "اندازه باید بین {0} و {1} باشد",
      "primefaces.FileValidator.ALLOW_TYPES": "نوع فایل نامعتبر است.",
      "primefaces.FileValidator.ALLOW_TYPES_detail": "نوع فایل نامعتبر: &quot;{0}&quot;. انواع مجاز: &quot;{1}&quot;.",
      "primefaces.FileValidator.FILE_LIMIT": "از حداکثر تعداد فایل ها بیشتر شد.",
      "primefaces.FileValidator.FILE_LIMIT_detail": "حداکثر تعداد: {0}.",
      "primefaces.FileValidator.SIZE_LIMIT": "اندازه فایل نامعتبر است.",
      "primefaces.FileValidator.SIZE_LIMIT_detail": "فایل &quot;{0}&quot; نباید بزرگتر از {1} باشد.",
    },
  });
}
