Skip to content

Commit

Permalink
Merge pull request #1325 from culturecreates/bugfix/issue-1324
Browse files Browse the repository at this point in the history
fix: returns interface language data as first priority if required la…
  • Loading branch information
AbhishekPAnil authored Sep 13, 2024
2 parents b63d0f3 + f453e8c commit 605e9c2
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions src/utils/bilingual.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
//Function which returns the language key depending on the interface language

import i18next from 'i18next';
import { contentLanguage, contentLanguageKeyMap } from '../constants/contentLanguage';
import { userLanguages } from '../constants/userLanguages';

Expand Down Expand Up @@ -39,14 +40,25 @@ export const contentLanguageBilingual = ({ calendarContentLanguage, data, requir
**/

if (!data) return '';

if (requiredLanguageKey && data[requiredLanguageKey]) {
return data[requiredLanguageKey];
}

const interfaceLanguage = i18next.language;

const isInterfaceLanguageDataAvailable = calendarContentLanguage.some(
(lang) => contentLanguageKeyMap[lang] === interfaceLanguage && data[interfaceLanguage],
);

if (isInterfaceLanguageDataAvailable) {
return data[interfaceLanguage];
}

let contentLanguageKey = contentLanguageKeyMap[calendarContentLanguage[0]];
if (data[contentLanguageKey] === undefined) {
if (!data[contentLanguageKey]) {
contentLanguageKey =
Object.values(contentLanguageKeyMap).find((key) => data[key] !== undefined) || Object.keys(data)[0]; // Fallback to the first key in data
Object.values(contentLanguageKeyMap).find((key) => data[key] !== undefined) || Object.keys(data)[0];
}

return data[contentLanguageKey] ?? '';
Expand Down

0 comments on commit 605e9c2

Please sign in to comment.