diff --git a/CHANGELOG.md b/CHANGELOG.md index e40f787f..4c3adfc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## 1.0.11 * update chinese translation, thanks @XiangtingLee, fixes [#251](https://github.com/cars10/elasticvue/pull/251) +* adds french translation, thanks @XNxa, fixes [#250](https://github.com/cars10/elasticvue/pull/250) ## 1.0.10 diff --git a/playwright.config.ts b/playwright.config.ts index 5714a7f9..9eb01c8f 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -42,10 +42,10 @@ export default defineConfig({ use: { ...devices['Desktop Firefox'] } }, - //{ - // name: 'webkit', - // use: { ...devices['Desktop Safari'] }, - //}, + { + name: 'webkit', + use: { ...devices['Desktop Safari'] }, + }, /* Test against mobile viewports. */ // { diff --git a/src/assets/images/icons/flags/fr.svg b/src/assets/images/icons/flags/fr.svg new file mode 100644 index 00000000..4ba25065 --- /dev/null +++ b/src/assets/images/icons/flags/fr.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/components/base/LanguageSwitcher.vue b/src/components/base/LanguageSwitcher.vue index 4991ece6..34c48e48 100644 --- a/src/components/base/LanguageSwitcher.vue +++ b/src/components/base/LanguageSwitcher.vue @@ -3,26 +3,19 @@ data-testid="change-language-button"> - + :active="store.language === code" + :title="title" + :data-testid="`change-language__${code}`" + @click="changeLanguage(code)"> - English - - - - - Chinese + @@ -33,6 +26,7 @@ diff --git a/src/consts.ts b/src/consts.ts index aa29ac02..e873591b 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -8,9 +8,10 @@ export const REQUEST_DEFAULT_HEADERS = { export const SUPPORTED_COUNTRY_LOCALES: Record = { en: 'en', cn: 'cn', - zh: 'cn' + zh: 'cn', + fr: 'fr' } -export type ValidLocale = 'en' | 'cn' +export type ValidLocale = 'en' | 'cn' | 'fr' export const DEFAULT_LOCALE: ValidLocale = 'en' export const DEFAULT_ROWS_PER_PAGE = [10, 20, 100, 0] diff --git a/src/locales/cn.json b/src/locales/cn.json index 13d3da0c..07434c5b 100644 --- a/src/locales/cn.json +++ b/src/locales/cn.json @@ -24,6 +24,9 @@ }, "cn": { "title": "设置为中文" + }, + "fr": { + "title": "法语" } } }, diff --git a/src/locales/en.json b/src/locales/en.json index 9fc3cea5..9b6a7af4 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -24,6 +24,9 @@ }, "cn": { "title": "Chinese" + }, + "fr": { + "title": "French" } } }, diff --git a/src/plugins/vue-i18n.ts b/src/plugins/vue-i18n.ts index 246280be..5801ee25 100644 --- a/src/plugins/vue-i18n.ts +++ b/src/plugins/vue-i18n.ts @@ -2,6 +2,7 @@ import { createI18n } from 'vue-i18n' import en from '../locales/en.json' import cn from '../locales/cn.json' +import fr from '../locales/fr.json' import { useI18nStore } from '../store/i18n' export const vueI18n = () => { @@ -15,7 +16,7 @@ export const vueI18n = () => { legacy: false, locale: language, fallbackLocale: 'en', - messages: { en, cn }, + messages: { en, cn, fr }, warnHtmlMessage: false }) } diff --git a/tests/e2e/tests/pages/Base.spec.ts b/tests/e2e/tests/pages/Base.spec.ts index f67db8d6..7c69cedf 100644 --- a/tests/e2e/tests/pages/Base.spec.ts +++ b/tests/e2e/tests/pages/Base.spec.ts @@ -33,7 +33,7 @@ test.describe('base', () => { await openElasticvue(page) page.getByTestId('change-language-button').click() - await expect(page.getByTestId('change-language__english')).toHaveClass(/q-item--active/) + await expect(page.getByTestId('change-language__en')).toHaveClass(/q-item--active/) }) }) })