Localization

Register translations somewhere before react-native-paper-dates is used — for example in your index.ts or app.ts.

Supported locales

React Native Paper Dates currently supports:

LocaleLanguageLocaleLanguageLocaleLanguage
arArabiccaCatalancsCzech
daDanishdeGermanelGreek
enEnglishen-GBEnglish (UK)esSpanish
fiFinnishfrFrenchheHebrew
hiHindiidIndonesianitItalian
jaJapanesekoKoreannlDutch
no-NONorwegianplPolishptPortuguese
roRomanianruRussiansvSwedish
thThaitrTurkishuk-UAUkrainian
zhChinese (Simplified)zh-TWChinese (Traditional)
import { enGB, registerTranslation } from 'react-native-paper-dates'

registerTranslation('en-GB', enGB)

Custom translation

You can register your own translation object:

import { registerTranslation } from 'react-native-paper-dates'

registerTranslation('pl', {
  save: 'Save',
  selectSingle: 'Select date',
  selectMultiple: 'Select dates',
  selectRange: 'Select period',
  notAccordingToDateFormat: (inputFormat) =>
    `Date format must be ${inputFormat}`,
  mustBeHigherThan: (date) => `Must be later than ${date}`,
  mustBeLowerThan: (date) => `Must be earlier than ${date}`,
  mustBeBetween: (startDate, endDate) =>
    `Must be between ${startDate} - ${endDate}`,
  dateIsDisabled: 'Day is not allowed',
  previous: 'Previous',
  next: 'Next',
  typeInDate: 'Type in date',
  pickDateFromCalendar: 'Pick date from calendar',
  close: 'Close',
})

Dynamic translation

Resolve strings through your own translation provider:

import { translate } from 'YOUR_TRANSLATION_PROVIDER'
import { registerTranslation } from 'react-native-paper-dates'

registerTranslation('dynamic', () => {
  return {
    save: translate('Save'),
    selectSingle: translate('Select date'),
    selectMultiple: translate('Select dates'),
    selectRange: translate('Select period'),
    notAccordingToDateFormat: (inputFormat) =>
      translate(`Date format must be ${inputFormat}`),
    mustBeHigherThan: (date) => translate(`Must be later than ${date}`),
    mustBeLowerThan: (date) => translate(`Must be earlier than ${date}`),
    mustBeBetween: (startDate, endDate) =>
      translate(`Must be between ${startDate} - ${endDate}`),
    dateIsDisabled: translate('Day is not allowed'),
    previous: translate('Previous'),
    next: translate('Next'),
    typeInDate: translate('Type in date'),
    pickDateFromCalendar: translate('Pick date from calendar'),
    close: translate('Close'),
  }
})
Note

If a language is not supported, consider creating a pull request so that it can officially be supported.