Upgrading from v5
Introduction
The CometChat v6 React UI Kit introduces a revamped localization system with enhanced support for language management, date formatting, and missing key handling. This guide outlines the key differences and provides a step-by-step migration process from v5 to v6.
Overview of Changes
Feature | v5 | v6 |
---|---|---|
Initialization | Used init(language, resources) with separate params. | Uses init(settings: LocalizationSettings) with a configuration object. |
Translation Management | Manually updated translations using resources . | Uses translationsForLanguage in init() and addTranslation() . |
Language Codes | Used shorthand codes (e.g., en , fr ). | Uses full language-region codes (e.g., en-US , fr ). |
Date & Time Localization | Not configurable. | Supports CalendarObject for date formatting. |
Timezone Handling | Not available. | Introduced timezone setting. |
Missing Key Handler | Not available. | Introduced missingKeyHandler to handle missing translations. |
CometChatLocalize
Initialization
In CometChat v5 UI Kit, the CometChatLocalize.init()
accepts 2 parameters: language
& resources
V5 UI Kit
CometChatLocalize.init("en", {
CHATS: "Chats",
});
In CometChat v6 UI Kit, the CometChatLocalize.init()
method accepts a localization setting instead of individual parameters.
V6 UI Kit
CometChatLocalize.init({
language: "en-US",
translationsForLanguage: {
"en-US": { conversation_chat_title: "Chats" },
},
disableAutoDetection: false,
disableDateTimeLocalization: false,
timezone: "Europe/Madrid",
calendarObject: new CalendarObject({
today: "hh:mm A",
yesterday: "[Yesterday]",
otherDays: "DD MMM YYYY, hh:mm A",
relativeTime: {
minute: "%d minute ago",
minutes: "%d minutes ago",
hour: "%d hour ago",
hours: "%d hours ago",
},
}),
missingKeyHandler: (key) => `Missing translation: ${key}`,
});
Language Code Changes
In CometChat v5 UI Kit, the language code for English was en
.
In CometChat v6 UI Kit, the language codes have been expanded to distinguish between regional variants:
• en-US
for American English
• en-GB
for British English
There are no changes for any other languages.