diff --git a/package-lock.json b/package-lock.json
index 200b8bd..a1f6919 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,6 +11,7 @@
"lottie-vuejs": "^0.4.0",
"vite-svg-loader": "^5.1.0",
"vue": "^3.4.21",
+ "vue-i18n": "^9.13.1",
"vue-svg-loader": "^0.16.0",
"vue3-lottie": "^3.3.0"
},
@@ -415,6 +416,47 @@
"node": ">=12"
}
},
+ "node_modules/@intlify/core-base": {
+ "version": "9.13.1",
+ "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.13.1.tgz",
+ "integrity": "sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==",
+ "dependencies": {
+ "@intlify/message-compiler": "9.13.1",
+ "@intlify/shared": "9.13.1"
+ },
+ "engines": {
+ "node": ">= 16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/kazupon"
+ }
+ },
+ "node_modules/@intlify/message-compiler": {
+ "version": "9.13.1",
+ "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.13.1.tgz",
+ "integrity": "sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==",
+ "dependencies": {
+ "@intlify/shared": "9.13.1",
+ "source-map-js": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/kazupon"
+ }
+ },
+ "node_modules/@intlify/shared": {
+ "version": "9.13.1",
+ "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.13.1.tgz",
+ "integrity": "sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==",
+ "engines": {
+ "node": ">= 16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/kazupon"
+ }
+ },
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
@@ -819,6 +861,11 @@
"@vue/shared": "3.4.26"
}
},
+ "node_modules/@vue/devtools-api": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.1.tgz",
+ "integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA=="
+ },
"node_modules/@vue/reactivity": {
"version": "3.4.26",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.26.tgz",
@@ -3950,6 +3997,25 @@
}
}
},
+ "node_modules/vue-i18n": {
+ "version": "9.13.1",
+ "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.13.1.tgz",
+ "integrity": "sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==",
+ "dependencies": {
+ "@intlify/core-base": "9.13.1",
+ "@intlify/shared": "9.13.1",
+ "@vue/devtools-api": "^6.5.0"
+ },
+ "engines": {
+ "node": ">= 16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/kazupon"
+ },
+ "peerDependencies": {
+ "vue": "^3.0.0"
+ }
+ },
"node_modules/vue-svg-loader": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/vue-svg-loader/-/vue-svg-loader-0.16.0.tgz",
diff --git a/package.json b/package.json
index 7affb68..9d3424b 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,7 @@
"lottie-vuejs": "^0.4.0",
"vite-svg-loader": "^5.1.0",
"vue": "^3.4.21",
+ "vue-i18n": "^9.13.1",
"vue-svg-loader": "^0.16.0",
"vue3-lottie": "^3.3.0"
},
diff --git a/public/i18n/en.json b/public/i18n/en.json
new file mode 100644
index 0000000..bf4b3bd
--- /dev/null
+++ b/public/i18n/en.json
@@ -0,0 +1,29 @@
+{
+ "cv": "CV",
+ "personal-email": "Delanierlucas@gmail.com",
+ "copy": "Copy",
+ "about": "About",
+ "skills": "Skills",
+ "experiences": "Experience",
+ "projects": "Projects",
+ "welcome-message": "Hey, I'm Lucas",
+ "catch-phrase": "Developer &
Designer of applications",
+ "banner": {
+ "experience": "YEAR
EXPERIENCE",
+ "projects": "ACHIEVED
PROJECTS",
+ "skills": "FRONT-END
BACK-END",
+ "ui-ux": "UI/UX
DESIGNER"
+ },
+ "social-media": {
+ "linkedin": "LinkedIn",
+ "github": "Github",
+ "mail": "Mail"
+ },
+ "skills-list": {
+ "title" : {
+ "start": "My expertise is based on",
+ "highlight": " six essential pillars",
+ "end": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/public/i18n/fr.json b/public/i18n/fr.json
new file mode 100644
index 0000000..5bd1882
--- /dev/null
+++ b/public/i18n/fr.json
@@ -0,0 +1,29 @@
+{
+ "cv": "CV",
+ "personal-email": "Delanierlucas@gmail.com",
+ "copy": "Copier",
+ "about": "À propos",
+ "skills": "Compétences",
+ "experiences": "Expérience",
+ "projects": "Projets",
+ "welcome-message": "Salut, je suis Lucas",
+ "catch-phrase": "Developpeur &
Designer d'applications",
+ "banner": {
+ "experience": "ANNEE
D'EXPERIENCE",
+ "projects": "PROJETS
REALISES",
+ "skills": "FRONT-END
BACK-END",
+ "ui-ux": "UI/UX
DESIGNER"
+ },
+ "social-media": {
+ "linkedin": "LinkedIn",
+ "github": "Github",
+ "mail": "Mail"
+ },
+ "skills-list": {
+ "title" : {
+ "start": "Mon expertise repose sur",
+ "highlight": " six piliers",
+ "end": "essentiels."
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/App.vue b/src/App.vue
index e7d11ef..f869eec 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -149,12 +149,12 @@ onUnmounted(() => {
- Salut, je suis Lucas + {{ $t('welcome-message')}}
👋