Locale settings

Text and settings within JavaScript enhanced modules can be updated for the specific locale they are to be used in. To add locale specific settings a JavaScript file containing a JSON object with all the settings as shown below (the file may contain settings for more than one locale).

The locale used by the JavaScript is determined by the lang attribute that has been set on the html element for the document, if no match is found the defaults will be used.

Linking to your locale JS file

<script src="[ locale JS file url ]" async></script>
<script id="js-init" src="[ CDN url ]/js/init.js" data-app="[ App JS url ]" async></script>

Formatting of locale JS file contents

var locale = {
	fr : {
		accessibilitySettings : {
			error : 'La possibilité de stocker vos préférences d\'accessibilité pour ce site Web nécessite l\'utilisation de cookies. Veuillez accepter les cookies pour ce site afin que nous puissions enregistrer vos préférences.',
			success : 'Vos préférences ont été mises à jour avec succès.'
		},
		agentCallback : { closeText : 'Fermer' },
		autocomplete : {
			instruction : 'Lorsque les résultats d\'auto-complétion sont disponibles, utilisez les flèches haut et bas pour passer en revue et entrer pour sélectionner. Touchez les utilisateurs de l\'appareil, explorez au toucher ou avec des gestes de balayage.',
			location : 'Utiliser la position actuelle',
			locationUnavailable : 'Les services de localisation ne sont pas disponibles',
			resultsFound : 'les résultats sont disponibles.',
			noResults : 'Aucun résultat trouvé.'
		},
		contextHelp : { closeText : 'Fermer' },
		cookieSetting : {
			successfullySaved : 'Le paramètre de cookie a été enregistré avec succès.',
			failed : 'Les cookies ne sont pas activés, votre préférence ne peut donc pas être enregistrée.'
		},
		creditCard : {
			default : 'Pour %s, recherchez les trois chiffres à l\'arrière',
			noMatch : 'Recherchez les trois chiffres à l\'arrière',
			amex : 'Pour American Express, cherchez les quatre chiffres au devant'
		},
		datepicker : {
			locale : 'fr',
			previousMonth : 'Mois précédent',
			nextMonth : 'Mois suivant',
			weekdaysShort : [ 'D', 'L', 'M', 'M', 'J', 'V', 'S' ]
		},
		faqList : { backLinkText : 'Retour à la liste des FAQ' },
		faqPanel : {
			showMore : 'plus',
			showLess : 'fermer'
		},
		fileUpload : { multipleCaption : '{count} fichiers selectionés' },
		formHelp : {
			showMore : 'plus',
			showLess : 'fermer'
		},
		masthead : {
			closeText : 'Fermer',
			loadingText : 'Veuillez patienter',
			switcherInitial : 'Sélectionnez votre option préférée',
			switcherSelection : 'Tu es sur {option}'
		},
		mediaPlayer : {
			progress : 'Avancement de la lecture',
			progressTime : 'temps',
			restart : 'Recommencer',
			rewind : 'Rembobiner',
			play : 'Lecture',
			playVideo : 'Lecture vidéo',
			playAudio : 'Lecture audio',
			pause : 'Pause',
			forward : 'Avancer',
			mute : 'Mute',
			volume : 'Volume',
			captions : 'Captions',
			subtitles : 'Soustitres',
			fullscreen : 'Plein écran',
			seconds : 'secondes'
		},
		modalWindow : {
			closeText : 'Fermer',
			loadingText : 'Veuillez patienter'
		},
		multiselect : {
			pleaseSelect : 'Veuillez sélectionner\u2026',
			allSelected : 'Tous sélectionnés',
			selected : ' sélectionné',
			selectAll :	'Sélectionner tous'
		},
		notificationclose : { closeText : 'Fermer' },
		showMore : {
			expand : 'plus',
			contract : 'fermer'
		},
		tabs : {
			moreText : 'Plus',
			closeText : 'Fermer',
			loadingText : 'Veuillez patienter'
		},
		textAreaCount : {
			multipleCaption : '{count} caractères restants',
			limitMessage: 'Il y a une limite de caractères de {count}',
			limitMetMessage : 'Limite de caractères de {count} atteinte'
		}
	}
};

Defaults

accessibilitySettings : {
	error : 'The ability to store your accessibility preferences for this website requires the use of cookies. Please accept cookies for this site so that we can save your preference.',
	success : 'Your preferences have been successfully updated.'
},
agentCallback : { closeText : 'Close' },
autocomplete : {
	instruction : 'When auto-complete results are available use up and down arrows to review and enter to select.  Touch device users, explore by touch or with swipe gestures.',
	location : 'Use current location',
	locationUnavailable : 'Location services are unavailable',
	resultsFound : 'results are available.',
	noResults : 'No search results.'
},
contextHelp : { closeText : 'Close' },
cookieSetting : {
	successfullySaved : 'The cookie setting has been successfully saved.',
	failed : 'Cookies are not enabled so your preference could not be saved.'
},
creditCard : {
	default : 'For %s, look for the three digits on the back',
	noMatch : 'Look for the three digits on the back',
	amex : 'For American Express, look for the four digits on the front'
},
datepicker : {
	locale : 'en-gb',
	previousMonth : 'Previous month',
	nextMonth : 'Next month',
	weekdaysShort : [ 'S', 'M', 'T', 'W', 'T', 'F', 'S' ]
},
faqList : { backLinkText : 'Back to FAQ list' },
faqPanel : {
	showMore : 'Show more',
	showLess : 'Show less'
},
fileUpload : { multipleCaption : '{count} files selected' },
formHelp : {
	showMore : 'Show more',
	showLess : 'Show less'
},
masthead : {
	closeText : 'Close',
	loadingText : 'Please wait',
	switcherInitial : 'Select your preferred option',
	switcherSelection : 'You are on {option}'
},
mediaPlayer : {
	progress : 'played',
	progressTime : 'time',
	restart : 'Restart',
	rewind : 'Rewind',
	play : 'Play',
	playVideo : 'Play video',
	playAudio : 'Play audio',
	pause : 'Pause',
	forward : 'Forward',
	mute : 'Mute',
	volume : 'Volume',
	captions : 'Captions',
	subtitles : 'Subtitles',
	fullscreen : 'Fullscreen',
	seconds : 'seconds'
},
modalWindow : {
	closeText : 'Close',
	loadingText : 'Please wait'
},
multiselect : {
	pleaseSelect : 'Please select\u2026',
	allSelected : 'All selected',
	selected : ' selected',
	selectAll :	'Select all'
},
notificationclose : { closeText : 'Close' },
showMore : {
	expand : 'Show more',
	contract : 'Show less'
},
tabs : {
	moreText : 'More',
	closeText : 'Less',
	loadingText : 'Please wait'
},
textAreaCount : {
	multipleCaption : '{count} characters left',
	limitMessage : 'There is a character limit of {count}',
	limitMetMessage : 'Character limit of {count} met'
}