From 112b23271409feed7da9a55a05d2c5765fde665a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Machulda?= Date: Tue, 26 Mar 2024 14:26:02 +0100 Subject: [PATCH] Feat: Add Lithuanian (lt) translation --- README.md | 2 +- examples/languages.html | 4 + src/LmcCookieConsentManager.ts | 2 + .../__snapshots__/langConfig.test.ts.snap | 299 ++++++++++++++++++ src/languages/__tests__/langConfig.test.ts | 4 +- src/languages/lt.ts | 102 ++++++ 6 files changed, 411 insertions(+), 2 deletions(-) create mode 100644 src/languages/lt.ts diff --git a/README.md b/README.md index e0c3292c..6017a388 100644 --- a/README.md +++ b/README.md @@ -295,7 +295,7 @@ initLmcCookieConsentManager( // when loaded as a module, these options are passe ### Supported languages Translation of the user interface is provided in the following languages: -Czech (`cs`), German (`de`), English (`en`), Estonian (`et`), Croatian (`hr`), Hungarian (`hu`), Polish (`pl`), Russian (`ru`), Slovak (`sk`), Slovenian (`sl`) and Ukrainian (`uk`). +Czech (`cs`), German (`de`), English (`en`), Estonian (`et`), Croatian (`hr`), Hungarian (`hu`), Lithuanian (`lt`), Polish (`pl`), Russian (`ru`), Slovak (`sk`), Slovenian (`sl`) and Ukrainian (`uk`). [👀 See example of each language version][examples-languages] diff --git a/examples/languages.html b/examples/languages.html index 802febd6..a5201409 100644 --- a/examples/languages.html +++ b/examples/languages.html @@ -122,6 +122,10 @@

Select language

+
+ + +
diff --git a/src/LmcCookieConsentManager.ts b/src/LmcCookieConsentManager.ts index fedb55ed..3aeee0e7 100644 --- a/src/LmcCookieConsentManager.ts +++ b/src/LmcCookieConsentManager.ts @@ -6,6 +6,7 @@ import { config as configEn } from './languages/en'; import { config as configEt } from './languages/et'; import { config as configHr } from './languages/hr'; import { config as configHu } from './languages/hu'; +import { config as configLt } from './languages/lt'; import { config as configPl } from './languages/pl'; import { config as configRu } from './languages/ru'; import { config as configSk } from './languages/sk'; @@ -95,6 +96,7 @@ const LmcCookieConsentManager: CookieConsentManager = (serviceName, args) => { et: configEt, hr: configHr, hu: configHu, + lt: configLt, pl: configPl, ru: configRu, sk: configSk, diff --git a/src/languages/__tests__/__snapshots__/langConfig.test.ts.snap b/src/languages/__tests__/__snapshots__/langConfig.test.ts.snap index fe5966fe..9721de81 100644 --- a/src/languages/__tests__/__snapshots__/langConfig.test.ts.snap +++ b/src/languages/__tests__/__snapshots__/langConfig.test.ts.snap @@ -1803,6 +1803,305 @@ További információkat arról, hogy mik azok a cookie-k és hogyan dolgozunk v } `; +exports[`config lt should return localization object for acceptNecessary button mode 1`] = ` +{ + "consent_modal": { + "description": " +

Geriau suprasdami, kas jus domina, mes rodysime jums aktualų turinį.

+

+ Spustelėję mygtuką „Priimti viską“, duodate + test1, test2 bei test3 + sutikimą naudoti slapukus personalizavimui, analizei ir tikslinei rinkodarai. + Slapukų naudojimą galite pritaikyti pasirinktinuose nustatymuose. +

", + "primary_btn": { + "role": "accept_all", + "text": "Priimti viską", + }, + "secondary_btn": { + "role": "accept_necessary", + "text": "Priimti būtinus", + }, + "title": "Slapukai mūsų svetainę daro dar geresnę", + }, + "settings_modal": { + "accept_all_btn": "Priimti viską", + "blocks": [ + { + "description": "Jei norite kuo geriau išnaudoti mūsų svetainę, geriausia leisti visų tipų slapukus. +Daugiau informacijos apie tai, kas yra slapukai ir kaip su jais dirbame, galite rasti puslapyje + Privatumo politika.", + }, + { + "description": "Šie slapukai yra būtini tinkamam mūsų svetainės veikimui, todėl jų negalima išjungti. Be jų nebūtų įmanoma pvz. rodyti bet kokį turinį ar prisijungti mūsų svetainėje.", + "title": "Techniškai būtini slapukai", + "toggle": { + "enabled": true, + "readonly": true, + "value": "necessary", + }, + }, + { + "description": "Tai padeda mums stebėti, kiek žmonių lankosi mūsų svetainėje ir kaip jie ja naudojasi. Ši informacija leidžia mums nuolat tobulinti svetainę ir kitas paslaugas.", + "title": "Analitiniai slapukai", + "toggle": { + "enabled": false, + "readonly": false, + "value": "analytics", + }, + }, + { + "description": "Mūsų svetainė yra dar efektyvesnė ir veikia geriau dėl šių slapukų.", + "title": "Funkciniai slapukai", + "toggle": { + "enabled": false, + "readonly": false, + "value": "functionality", + }, + }, + { + "description": "Šie slapukai padeda mums įvertinti reklamos ir tikslinių paslaugų pasiūlymų efektyvumą. Rinkodaros slapukai leidžia mums pateikti jums naujienas, kurios gali jus sudominti.", + "title": "Rinkodaros slapukai", + "toggle": { + "enabled": false, + "readonly": false, + "value": "ad", + }, + }, + { + "description": "Mūsų paslaugos veikia geriau, jei galime jas pritaikyti konkretiems vartotojams. Leidžiant personalizuoti slapukus, padidinsite savo galimybes rasti norimą turinį.", + "title": "Personalizavimo slapukai", + "toggle": { + "enabled": false, + "readonly": false, + "value": "personalization", + }, + }, + ], + "cookie_table_headers": [ + { + "name": "Pavadinimas", + }, + { + "description": "Aprašymas", + }, + { + "expiration": "Aprašymas", + }, + ], + "reject_all_btn": "Priimti būtinus", + "save_settings_btn": "Išsaugoti nustatymus", + "title": "Individualūs slapukų nustatymai", + }, +} +`; + +exports[`config lt should return localization object for showSettings button mode 1`] = ` +{ + "consent_modal": { + "description": " +

Geriau suprasdami, kas jus domina, mes rodysime jums aktualų turinį.

+

+ Spustelėję mygtuką „Priimti viską“, duodate + test1, test2 bei test3 + sutikimą naudoti slapukus personalizavimui, analizei ir tikslinei rinkodarai. + +

", + "primary_btn": { + "role": "accept_all", + "text": "Priimti viską", + }, + "secondary_btn": { + "role": "settings", + "text": "Pasirinktiniai nustatymai", + }, + "title": "Slapukai mūsų svetainę daro dar geresnę", + }, + "settings_modal": { + "accept_all_btn": "Priimti viską", + "blocks": [ + { + "description": "Jei norite kuo geriau išnaudoti mūsų svetainę, geriausia leisti visų tipų slapukus. +Daugiau informacijos apie tai, kas yra slapukai ir kaip su jais dirbame, galite rasti puslapyje + Privatumo politika.", + }, + { + "description": "Šie slapukai yra būtini tinkamam mūsų svetainės veikimui, todėl jų negalima išjungti. Be jų nebūtų įmanoma pvz. rodyti bet kokį turinį ar prisijungti mūsų svetainėje.", + "title": "Techniškai būtini slapukai", + "toggle": { + "enabled": true, + "readonly": true, + "value": "necessary", + }, + }, + { + "description": "Tai padeda mums stebėti, kiek žmonių lankosi mūsų svetainėje ir kaip jie ja naudojasi. Ši informacija leidžia mums nuolat tobulinti svetainę ir kitas paslaugas.", + "title": "Analitiniai slapukai", + "toggle": { + "enabled": false, + "readonly": false, + "value": "analytics", + }, + }, + { + "description": "Mūsų svetainė yra dar efektyvesnė ir veikia geriau dėl šių slapukų.", + "title": "Funkciniai slapukai", + "toggle": { + "enabled": false, + "readonly": false, + "value": "functionality", + }, + }, + { + "description": "Šie slapukai padeda mums įvertinti reklamos ir tikslinių paslaugų pasiūlymų efektyvumą. Rinkodaros slapukai leidžia mums pateikti jums naujienas, kurios gali jus sudominti.", + "title": "Rinkodaros slapukai", + "toggle": { + "enabled": false, + "readonly": false, + "value": "ad", + }, + }, + { + "description": "Mūsų paslaugos veikia geriau, jei galime jas pritaikyti konkretiems vartotojams. Leidžiant personalizuoti slapukus, padidinsite savo galimybes rasti norimą turinį.", + "title": "Personalizavimo slapukai", + "toggle": { + "enabled": false, + "readonly": false, + "value": "personalization", + }, + }, + ], + "cookie_table_headers": [ + { + "name": "Pavadinimas", + }, + { + "description": "Aprašymas", + }, + { + "expiration": "Aprašymas", + }, + ], + "reject_all_btn": "Priimti būtinus", + "save_settings_btn": "Išsaugoti nustatymus", + "title": "Individualūs slapukų nustatymai", + }, +} +`; + +exports[`config lt should return localization object with cookie table 1`] = ` +{ + "consent_modal": { + "description": " +

Geriau suprasdami, kas jus domina, mes rodysime jums aktualų turinį.

+

+ Spustelėję mygtuką „Priimti viską“, duodate + Alma Career ir kitoms jos verslo grupės įmonėms + sutikimą naudoti slapukus personalizavimui, analizei ir tikslinei rinkodarai. + +

", + "primary_btn": { + "role": "accept_all", + "text": "Priimti viską", + }, + "secondary_btn": { + "role": "settings", + "text": "Pasirinktiniai nustatymai", + }, + "title": "Slapukai mūsų svetainę daro dar geresnę", + }, + "settings_modal": { + "accept_all_btn": "Priimti viską", + "blocks": [ + { + "description": "Jei norite kuo geriau išnaudoti mūsų svetainę, geriausia leisti visų tipų slapukus. +Daugiau informacijos apie tai, kas yra slapukai ir kaip su jais dirbame, galite rasti puslapyje + Privatumo politika.", + }, + { + "cookie_table": [ + { + "description": "Google Analytics description ...", + "expiration": "1 year", + "is_regex": true, + "name": "^_ga", + }, + { + "description": "Foo description", + "expiration": "end of session", + "name": "foo", + }, + ], + "description": "Šie slapukai yra būtini tinkamam mūsų svetainės veikimui, todėl jų negalima išjungti. Be jų nebūtų įmanoma pvz. rodyti bet kokį turinį ar prisijungti mūsų svetainėje.", + "title": "Techniškai būtini slapukai", + "toggle": { + "enabled": true, + "readonly": true, + "value": "necessary", + }, + }, + { + "description": "Tai padeda mums stebėti, kiek žmonių lankosi mūsų svetainėje ir kaip jie ja naudojasi. Ši informacija leidžia mums nuolat tobulinti svetainę ir kitas paslaugas.", + "title": "Analitiniai slapukai", + "toggle": { + "enabled": false, + "readonly": false, + "value": "analytics", + }, + }, + { + "description": "Mūsų svetainė yra dar efektyvesnė ir veikia geriau dėl šių slapukų.", + "title": "Funkciniai slapukai", + "toggle": { + "enabled": false, + "readonly": false, + "value": "functionality", + }, + }, + { + "description": "Šie slapukai padeda mums įvertinti reklamos ir tikslinių paslaugų pasiūlymų efektyvumą. Rinkodaros slapukai leidžia mums pateikti jums naujienas, kurios gali jus sudominti.", + "title": "Rinkodaros slapukai", + "toggle": { + "enabled": false, + "readonly": false, + "value": "ad", + }, + }, + { + "cookie_table": [ + { + "description": "Session log description ...", + "expiration": "1 year", + "name": "sessionLog_id", + }, + ], + "description": "Mūsų paslaugos veikia geriau, jei galime jas pritaikyti konkretiems vartotojams. Leidžiant personalizuoti slapukus, padidinsite savo galimybes rasti norimą turinį.", + "title": "Personalizavimo slapukai", + "toggle": { + "enabled": false, + "readonly": false, + "value": "personalization", + }, + }, + ], + "cookie_table_headers": [ + { + "name": "Pavadinimas", + }, + { + "description": "Aprašymas", + }, + { + "expiration": "Aprašymas", + }, + ], + "reject_all_btn": "Priimti būtinus", + "save_settings_btn": "Išsaugoti nustatymus", + "title": "Individualūs slapukų nustatymai", + }, +} +`; + exports[`config pl should return localization object for acceptNecessary button mode 1`] = ` { "consent_modal": { diff --git a/src/languages/__tests__/langConfig.test.ts b/src/languages/__tests__/langConfig.test.ts index e74bd67d..1f082d86 100644 --- a/src/languages/__tests__/langConfig.test.ts +++ b/src/languages/__tests__/langConfig.test.ts @@ -4,6 +4,7 @@ import { config as configEn } from '../en'; import { config as configEt } from '../et'; import { config as configHr } from '../hr'; import { config as configHu } from '../hu'; +import { config as configLt } from '../lt'; import { config as configPl } from '../pl'; import { config as configRu } from '../ru'; import { config as configSk } from '../sk'; @@ -16,8 +17,9 @@ describe.each([ ['de', configDe], ['en', configEn], ['et', configEt], - ['hu', configHu], ['hr', configHr], + ['hu', configHu], + ['lt', configLt], ['pl', configPl], ['ru', configRu], ['sk', configSk], diff --git a/src/languages/lt.ts b/src/languages/lt.ts new file mode 100644 index 00000000..3147f597 --- /dev/null +++ b/src/languages/lt.ts @@ -0,0 +1,102 @@ +import { + addSeparators, + assembleDescriptionIntro, + assembleSecondaryButton, + isSettingsButtonNotShown, + legalizeAlmaCareer, + assembleCategoryNecessary, + assembleCategoryAnalytics, + assembleCategoryFunctionality, + assembleCategoryAd, + assembleCategoryPersonalization, +} from '../utils'; +import { CookieTableCategories, ExtraMessages, Values, VanillaCookieConsent } from '../types'; +import { SecondaryButtonMode } from '../constants'; + +const extra = { + and: 'bei', + legalName: 'Alma Career ir kitoms jos verslo grupės įmonėms', +}; + +/** + * @param {ExtraMessages} [extraMessages] - Object with extra messages + * @param {SecondaryButtonMode} [secondaryButtonMode] - Which secondary button should be shown + * @param {CookieTableCategories} [cookieTable] - Cookie table items defined by category + * @returns {VanillaCookieConsent.Languages} Object with translated messages + */ +export const config = ( + extraMessages: ExtraMessages, + secondaryButtonMode: Values, + cookieTable: CookieTableCategories, +): VanillaCookieConsent.Languages => { + const lang = { ...extra, ...extraMessages }; + + return { + consent_modal: { + title: lang.consentTitle ?? 'Slapukai mūsų svetainę daro dar geresnę', + description: ` + ${assembleDescriptionIntro( + 'Geriau suprasdami, kas jus domina, mes rodysime jums aktualų turinį.', + lang.descriptionIntro, + )} +

+ Spustelėję mygtuką „Priimti viską“, duodate + ${addSeparators(legalizeAlmaCareer(lang.companyNames, lang.legalName), lang.and)} + sutikimą naudoti slapukus personalizavimui, analizei ir tikslinei rinkodarai. + ${ + isSettingsButtonNotShown(secondaryButtonMode) + ? `Slapukų naudojimą galite pritaikyti pasirinktinuose nustatymuose.` + : '' + } +

`, + primary_btn: { + text: 'Priimti viską', + role: VanillaCookieConsent.PrimaryButtonRole.ACCEPT_ALL, + }, + secondary_btn: assembleSecondaryButton(secondaryButtonMode, 'Priimti būtinus', 'Pasirinktiniai nustatymai'), + }, + settings_modal: { + title: 'Individualūs slapukų nustatymai', + accept_all_btn: 'Priimti viską', + reject_all_btn: 'Priimti būtinus', + save_settings_btn: 'Išsaugoti nustatymus', + cookie_table_headers: [{ name: 'Pavadinimas' }, { description: 'Aprašymas' }, { expiration: 'Aprašymas' }], + blocks: [ + { + description: + `Jei norite kuo geriau išnaudoti mūsų svetainę, geriausia leisti visų tipų slapukus.\n` + + (lang.settingsModalMoreInfo ?? + `Daugiau informacijos apie tai, kas yra slapukai ir kaip su jais dirbame, galite rasti puslapyje + Privatumo politika.`), + }, + assembleCategoryNecessary( + 'Techniškai būtini slapukai', + 'Šie slapukai yra būtini tinkamam mūsų svetainės veikimui, todėl jų negalima išjungti. Be jų nebūtų įmanoma pvz. rodyti bet kokį turinį ar prisijungti mūsų svetainėje.', + cookieTable, + ), + assembleCategoryAnalytics( + 'Analitiniai slapukai', + 'Tai padeda mums stebėti, kiek žmonių lankosi mūsų svetainėje ir kaip jie ja naudojasi. Ši informacija leidžia mums nuolat tobulinti svetainę ir kitas paslaugas.', + cookieTable, + ), + assembleCategoryFunctionality( + 'Funkciniai slapukai', + 'Mūsų svetainė yra dar efektyvesnė ir veikia geriau dėl šių slapukų.', + cookieTable, + ), + assembleCategoryAd( + 'Rinkodaros slapukai', + 'Šie slapukai padeda mums įvertinti reklamos ir tikslinių paslaugų pasiūlymų efektyvumą. Rinkodaros slapukai leidžia mums pateikti jums naujienas, kurios gali jus sudominti.', + cookieTable, + ), + assembleCategoryPersonalization( + 'Personalizavimo slapukai', + 'Mūsų paslaugos veikia geriau, jei galime jas pritaikyti konkretiems vartotojams. Leidžiant personalizuoti slapukus, padidinsite savo galimybes rasti norimą turinį.', + cookieTable, + ), + ], + }, + }; +}; + +export default config;