-
Info
-
{{ t('contact.faq.title') }}
-
+
+
+
+
+
+
// info
+
{{ t('contact.faq.title') }}
+
{{ t('contact.faq.subtitle') }}
-
-
-
+
+
+
-
{{ t('contact.faq.responseTime.title') }}
+
{{ t('contact.faq.responseTime.title') }}
{{ t('contact.faq.responseTime.description') }}
-
-
+
+
-
{{ t('contact.faq.projectTypes.title') }}
+
{{ t('contact.faq.projectTypes.title') }}
{{ t('contact.faq.projectTypes.description') }}
-
-
+
+
-
{{ t('contact.faq.collaboration.title') }}
+
{{ t('contact.faq.collaboration.title') }}
{{ t('contact.faq.collaboration.description') }}
diff --git a/app/pages/fiverr.vue b/app/pages/fiverr.vue
index 1b83a2d..de4e1d3 100644
--- a/app/pages/fiverr.vue
+++ b/app/pages/fiverr.vue
@@ -33,21 +33,24 @@ const heroStats = computed(() => [
-
-
-
Fiverr
-
+
+
+
+
+
+
// fiverr
+
{{ t('fiverr.title') }}
-
+
{{ t('fiverr.subtitle') }}
-
+
-
{{ stat.number }}
-
{{ stat.label }}
+
{{ stat.number }}
+
{{ stat.label }}
@@ -65,19 +68,19 @@ const heroStats = computed(() => [
-
+
-
-
Services
-
{{ t('fiverr.services.title') }}
-
{{ t('fiverr.services.subtitle') }}
+
+
// services
+
{{ t('fiverr.services.title') }}
+
{{ t('fiverr.services.subtitle') }}
-
+
@@ -87,10 +90,10 @@ const heroStats = computed(() => [
class="w-full h-52 object-cover transition-transform duration-500 group-hover:scale-105"
loading="lazy"
/>
-
+
-
+
{{ t('fiverr.pricing.startingAt') }} {{ service.price }}
@@ -98,8 +101,8 @@ const heroStats = computed(() => [
{{ service.url !== '#' ? t('fiverr.services.available') : t('fiverr.services.comingSoon') }}
@@ -108,11 +111,11 @@ const heroStats = computed(() => [
-
-
+
+
{{ t(`fiverr.serviceData.${service.id}.title`) }}
-
+
{{ t(`fiverr.serviceData.${service.id}.description`) }}
@@ -142,7 +145,7 @@ const heroStats = computed(() => [
-
+
[
-
-
-
-
-
-
-
-
{{ t('fiverr.cta.title') }}
-
{{ t('fiverr.cta.subtitle') }}
-
- {{ t('fiverr.cta.button') }}
-
-
-
-
-
+
diff --git a/app/pages/index.vue b/app/pages/index.vue
index c47717a..695b9c7 100644
--- a/app/pages/index.vue
+++ b/app/pages/index.vue
@@ -23,7 +23,7 @@ useHead({
'@graph': [
{
'@type': 'Person',
- name: 'Killian Dalcin',
+ name: "Killian' DAL-CIN",
url: 'https://killiandalcin.fr',
jobTitle: 'Developpeur Full Stack Freelance',
email: 'contact@killiandalcin.fr',
@@ -35,14 +35,14 @@ useHead({
},
{
'@type': 'ProfessionalService',
- name: 'Killian Dalcin - Developpeur Full Stack',
+ name: "Killian' DAL-CIN - Developpeur Full Stack",
url: 'https://killiandalcin.fr',
- logo: 'https://killiandalcin.fr/images/logo.webp',
- priceRange: '$$$',
- areaServed: 'Worldwide',
+ logo: 'https://killiandalcin.fr/images/logo.webp',
+ priceRange: '$$$',
+ areaServed: 'Worldwide',
},
],
- }),
+}),
},
],
})
@@ -54,7 +54,7 @@ useHead({
-
+
@@ -62,16 +62,12 @@ useHead({
-
+
-
+
diff --git a/app/pages/project/[id].vue b/app/pages/project/[id].vue
index becef3a..564c29e 100644
--- a/app/pages/project/[id].vue
+++ b/app/pages/project/[id].vue
@@ -30,107 +30,113 @@ useSeoMeta({
-
-
-
-
- {{ t('projects.projectDetail.backToProjects') }}
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+ {{ t('projects.projectDetail.backToProjects') }}
+
+
-
-
-
+
+
+
+
{{ project.category }}
- {{ project.date }}
-
-
-
{{ project.title }}
-
{{ project.description }}
-
-
-
-
- {{ t('projects.projectDetail.viewDemo') }}
-
-
-
- {{ t('projects.projectDetail.sourceCode') }}
-
-
-
- {{ button.title }}
-
+ {{ project.date }}
+
{{ project.title }}
-
-
+
+
-
-
+
+
-
{{ t('projects.projectDetail.aboutProject') }}
+
{{ project.description }}
+
+
+
+
+ {{ t('projects.projectDetail.viewDemo') }}
+
+
+
+ {{ t('projects.projectDetail.sourceCode') }}
+
+
+
+ {{ button.title }}
+
+
+
+
+
+
+
+
+ {{ t('projects.projectDetail.aboutProject') }}
+
{{ project.longDescription || project.description }}
-
{{ t('projects.projectDetail.keyFeatures') }}
+
{{ t('projects.projectDetail.keyFeatures') }}
-
-
+
+
{{ feature }}
@@ -140,27 +146,33 @@ useSeoMeta({
-
-
{{ t('projects.projectDetail.technologiesUsed') }}
+
+
+
+ {{ t('projects.projectDetail.technologiesUsed') }}
+
-
-
{{ t('projects.projectDetail.gallery') }}
-
+
+
+
+ {{ t('projects.projectDetail.gallery') }}
+
+
@@ -173,17 +185,20 @@ useSeoMeta({
-
+
-
-
{{ t('projects.projectDetail.projectInfo') }}
+
+
+
+ {{ t('projects.projectDetail.projectInfo') }}
+
-
+
{{ t('projects.projectDetail.date') }}
- {{ project.date }}
+ {{ project.date }}
-
+
{{ t('projects.projectDetail.category') }}
{{ project.category }}
@@ -191,14 +206,17 @@ useSeoMeta({
-
-
{{ t('projects.projectDetail.relatedProjects') }}
-
+
+
+
+ {{ t('projects.projectDetail.relatedProjects') }}
+
+
{{ related.title }}
-
{{ related.description }}
+
{{ related.description }}
diff --git a/app/pages/projects.vue b/app/pages/projects.vue
index 17bdc0a..c15fe61 100644
--- a/app/pages/projects.vue
+++ b/app/pages/projects.vue
@@ -53,37 +53,40 @@ function resetFilters() {
-
-
-
Portfolio
-
{{ t('projects.title') }}
-
{{ t('projects.subtitle') }}
+
+
+
+
+
+
// portfolio
+
{{ t('projects.title') }}
+
{{ t('projects.subtitle') }}
-
+
-
{{ totalProjects }}
-
{{ t('nav.projects') }}
+
{{ totalProjects }}
+
{{ t('nav.projects') }}
-
+
-
{{ featuredCount }}
-
{{ t('home.featuredProjects.title') }}
+
{{ featuredCount }}
+
{{ t('home.featuredProjects.title') }}
-
+
-
{{ categories.length - 1 }}
-
{{ t('projects.categories.all') }}
+
{{ categories.length - 1 }}
+
{{ t('projects.categories.all') }}
-
+
-
+
-
+
-
-
+
+
-
{{ t('projects.noResults.title') }}
-
{{ t('projects.noResults.description') }}
-
+ {{ t('projects.noResults.title') }}
+ {{ t('projects.noResults.description') }}
+
{{ t('common.reset') }}
diff --git a/i18n/locales/en.json b/i18n/locales/en.json
index af1fb19..38cf17d 100644
--- a/i18n/locales/en.json
+++ b/i18n/locales/en.json
@@ -7,7 +7,7 @@
"fiverr": "Fiverr"
},
"footer": {
- "copyright": "\u00a9 2026 Killian Dalcin",
+ "copyright": "\u00a9 2026 Killian' DAL-CIN",
"navigation": "Quick Links",
"services": "Services",
"legalNotices": "Legal Notices",
@@ -20,36 +20,36 @@
}
},
"a11y": {
- "logoLabel": "Killian Dalcin \u2014 Full Stack Developer \u2014 Back to homepage",
+ "logoLabel": "Killian' DAL-CIN \u2014 Full Stack Developer \u2014 Back to homepage",
"openMenu": "Open navigation menu",
"closeMenu": "Close navigation menu",
"closeDrawer": "Close menu",
"langToggle": "Change language \u2014 currently English",
"themeDark": "Switch to light mode",
"themeLight": "Switch to dark mode",
- "gitea": "Killian Dalcin on Gitea (opens in new tab)",
- "linkedin": "Killian Dalcin on LinkedIn (opens in new tab)",
- "fiverr": "Killian Dalcin on Fiverr (opens in new tab)"
+ "gitea": "Killian' DAL-CIN on Gitea (opens in new tab)",
+ "linkedin": "Killian' DAL-CIN on LinkedIn (opens in new tab)",
+ "fiverr": "Killian' DAL-CIN on Fiverr (opens in new tab)"
},
"seo": {
"home": {
- "title": "Killian Dalcin \u2014 Freelance Full Stack Developer",
- "description": "Portfolio of Killian Dalcin, freelance full stack developer specializing in Vue.js, React and Node.js. High-performance web applications and custom solutions."
+ "title": "Killian' DAL-CIN \u2014 Freelance Full Stack Developer",
+ "description": "Portfolio of Killian' DAL-CIN, freelance full stack developer specializing in Vue.js, React and Node.js. High-performance web applications and custom solutions."
},
"projects": {
- "title": "Projects \u2014 Killian Dalcin",
+ "title": "Projects \u2014 Killian' DAL-CIN",
"description": "Discover my web development projects: Vue.js applications, Node.js APIs, Discord bots and enterprise solutions."
},
"about": {
- "title": "About \u2014 Killian Dalcin",
- "description": "Biography and skills of Killian Dalcin, freelance full stack developer based in France."
+ "title": "About \u2014 Killian' DAL-CIN",
+ "description": "Biography and skills of Killian' DAL-CIN, freelance full stack developer based in France."
},
"contact": {
- "title": "Contact \u2014 Killian Dalcin",
- "description": "Contact Killian Dalcin to discuss your web development project."
+ "title": "Contact \u2014 Killian' DAL-CIN",
+ "description": "Contact Killian' DAL-CIN to discuss your web development project."
},
"fiverr": {
- "title": "Fiverr Services \u2014 Killian Dalcin",
+ "title": "Fiverr Services \u2014 Killian' DAL-CIN",
"description": "Development services available on Fiverr: Discord bots, Minecraft plugins, web applications."
}
},
@@ -131,7 +131,7 @@
}
},
"about": {
- "title": "About Killian - Full Stack Developer",
+ "title": "About Killian'- Full Stack Developer",
"subtitle": "Experienced web developer passionate about Vue.js, React, Node.js, and modern JavaScript technologies.",
"intro": {
"title": "Professional Full Stack Developer",
@@ -245,6 +245,10 @@
"title": "They Transformed Their Business With My Services",
"subtitle": "Join 500+ satisfied entrepreneurs. Average rating 5.0/5.0 across all my services."
},
+ "faq": {
+ "title": "Fiverr FAQ",
+ "subtitle": "Everything you need to know before ordering my services on Fiverr."
+ },
"cta": {
"title": "Stop Searching, You Found THE Right Developer",
"subtitle": "Every day without action = lost opportunities. Launch your project NOW.",
@@ -263,7 +267,6 @@
"findMeOn": "Connect on Social Media",
"methods": {
"email": "Email Address",
- "phone": "Phone Number",
"location": "Location",
"responseTime": "Response within 24 hours",
"availability": "Available for remote & freelance"
@@ -285,16 +288,23 @@
}
},
"form": {
+ "title": "Send me a message",
"name": "Your Name",
"email": "Email Address",
"subject": "Project Subject",
"message": "Project Details",
+ "submit": "Send Message",
"send": "Send Message",
"sending": "Sending...",
"success": "Message sent successfully! I'll respond within 24 hours.",
"error": "Error sending message. Please try again or email directly.",
"required": "This field is required",
- "invalidEmail": "Please enter a valid email address"
+ "invalidEmail": "Please enter a valid email address",
+ "validation": {
+ "nameMin": "Name must be at least 2 characters",
+ "emailInvalid": "Please enter a valid email address",
+ "messageMin": "Message must be at least 10 characters"
+ }
},
"info": {
"title": "Let's Build Something Great",
@@ -434,4 +444,4 @@
"generic": "An error occurred.",
"backHome": "Back to home"
}
-}
+}
\ No newline at end of file
diff --git a/i18n/locales/fr.json b/i18n/locales/fr.json
index 4c272af..d5b2a09 100644
--- a/i18n/locales/fr.json
+++ b/i18n/locales/fr.json
@@ -7,7 +7,7 @@
"fiverr": "Fiverr"
},
"footer": {
- "copyright": "\u00a9 2026 Killian Dalcin",
+ "copyright": "\u00a9 2026 Killian' DAL-CIN",
"navigation": "Liens Rapides",
"services": "Services",
"legalNotices": "Mentions L\u00e9gales",
@@ -20,36 +20,36 @@
}
},
"a11y": {
- "logoLabel": "Killian Dalcin \u2014 Developpeur Full Stack \u2014 Retour a l'accueil",
+ "logoLabel": "Killian' DAL-CIN \u2014 Developpeur Full Stack \u2014 Retour a l'accueil",
"openMenu": "Ouvrir le menu de navigation",
"closeMenu": "Fermer le menu de navigation",
"closeDrawer": "Fermer le menu",
"langToggle": "Changer la langue \u2014 actuellement Francais",
"themeDark": "Activer le mode clair",
"themeLight": "Activer le mode sombre",
- "gitea": "Gitea de Killian Dalcin (nouvelle fenetre)",
- "linkedin": "LinkedIn de Killian Dalcin (nouvelle fenetre)",
- "fiverr": "Fiverr de Killian Dalcin (nouvelle fenetre)"
+ "gitea": "Gitea de Killian' DAL-CIN (nouvelle fenetre)",
+ "linkedin": "LinkedIn de Killian' DAL-CIN (nouvelle fenetre)",
+ "fiverr": "Fiverr de Killian' DAL-CIN (nouvelle fenetre)"
},
"seo": {
"home": {
- "title": "Killian Dalcin \u2014 Developpeur Full Stack Freelance",
- "description": "Portfolio de Killian Dalcin, developpeur full stack freelance specialise en Vue.js, React et Node.js. Applications web performantes et solutions sur-mesure."
+ "title": "Killian' DAL-CIN \u2014 Developpeur Full Stack Freelance",
+ "description": "Portfolio de Killian' DAL-CIN, developpeur full stack freelance specialise en Vue.js, React et Node.js. Applications web performantes et solutions sur-mesure."
},
"projects": {
- "title": "Projets \u2014 Killian Dalcin",
+ "title": "Projets \u2014 Killian' DAL-CIN",
"description": "Decouvrez mes realisations en developpement web : applications Vue.js, API Node.js, bots Discord et solutions d'entreprise."
},
"about": {
- "title": "A propos \u2014 Killian Dalcin",
- "description": "Biographie et competences de Killian Dalcin, developpeur full stack freelance base en France."
+ "title": "A propos \u2014 Killian' DAL-CIN",
+ "description": "Biographie et competences de Killian' DAL-CIN, developpeur full stack freelance base en France."
},
"contact": {
- "title": "Contact \u2014 Killian Dalcin",
- "description": "Contactez Killian Dalcin pour discuter de votre projet de developpement web."
+ "title": "Contact \u2014 Killian' DAL-CIN",
+ "description": "Contactez Killian' DAL-CIN pour discuter de votre projet de developpement web."
},
"fiverr": {
- "title": "Services Fiverr \u2014 Killian Dalcin",
+ "title": "Services Fiverr \u2014 Killian' DAL-CIN",
"description": "Services de developpement disponibles sur Fiverr : bots Discord, plugins Minecraft, applications web."
}
},
@@ -131,7 +131,7 @@
}
},
"about": {
- "title": "\u00c0 propos de Killian - D\u00e9veloppeur Full Stack",
+ "title": "\u00c0 propos de Killian'- D\u00e9veloppeur Full Stack",
"subtitle": "D\u00e9veloppeur web exp\u00e9riment\u00e9 passionn\u00e9 par Vue.js, React, Node.js et les technologies JavaScript modernes.",
"intro": {
"title": "D\u00e9veloppeur Full Stack Professionnel",
@@ -245,6 +245,10 @@
"title": "Ils Ont Transform\u00e9 Leur Business Avec Mes Services",
"subtitle": "Rejoignez 500+ entrepreneurs satisfaits. Note moyenne 5.0/5.0 sur l'ensemble de mes services."
},
+ "faq": {
+ "title": "Questions Frequentes Fiverr",
+ "subtitle": "Tout ce que vous devez savoir avant de commander mes services sur Fiverr."
+ },
"cta": {
"title": "Arr\u00eatez de Chercher, Vous Avez Trouv\u00e9 LE Bon D\u00e9veloppeur",
"subtitle": "Chaque jour sans agir = opportunit\u00e9s perdues. Lancez votre projet MAINTENANT.",
@@ -263,7 +267,6 @@
"findMeOn": "Connectez-vous sur les R\u00e9seaux Sociaux",
"methods": {
"email": "Adresse Email",
- "phone": "Num\u00e9ro de T\u00e9l\u00e9phone",
"location": "Localisation",
"responseTime": "R\u00e9ponse sous 24 heures",
"availability": "Disponible pour remote & freelance"
@@ -285,16 +288,23 @@
}
},
"form": {
+ "title": "Envoyez-moi un message",
"name": "Votre Nom",
"email": "Adresse Email",
"subject": "Sujet du Projet",
"message": "D\u00e9tails du Projet",
+ "submit": "Envoyer le Message",
"send": "Envoyer le Message",
"sending": "Envoi en cours...",
"success": "Message envoy\u00e9 avec succ\u00e8s ! Je r\u00e9pondrai dans les 24 heures.",
"error": "Erreur lors de l'envoi du message. Veuillez r\u00e9essayer ou envoyer un email directement.",
"required": "Ce champ est requis",
- "invalidEmail": "Veuillez entrer une adresse email valide"
+ "invalidEmail": "Veuillez entrer une adresse email valide",
+ "validation": {
+ "nameMin": "Le nom doit contenir au moins 2 caracteres",
+ "emailInvalid": "Veuillez entrer une adresse email valide",
+ "messageMin": "Le message doit contenir au moins 10 caracteres"
+ }
},
"info": {
"title": "Construisons Quelque Chose de Grand",
@@ -434,4 +444,4 @@
"generic": "Une erreur est survenue.",
"backHome": "Retour a l'accueil"
}
-}
+}
\ No newline at end of file
diff --git a/nuxt.config.ts b/nuxt.config.ts
index e30bd05..89de151 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -26,41 +26,40 @@ export default defineNuxtConfig({
fallback: 'dark',
storage: 'cookie',
storageKey: 'nuxt-color-mode',
- cookieName: 'nuxt-color-mode',
classSuffix: ''
},
site: {
url: 'https://killiandalcin.fr',
- name: 'Killian Dalcin - Developpeur Full Stack'
+ name: "Killian' DAL-CIN - Developpeur Full Stack"
},
i18n: {
- strategy: 'prefix_except_default',
- defaultLocale: 'fr',
- baseUrl: 'https://killiandalcin.fr',
- locales: [
- { code: 'fr', language: 'fr-FR', file: 'fr.json' },
- { code: 'en', language: 'en-US', file: 'en.json' },
- ],
- langDir: 'locales/',
- detectBrowserLanguage: {
- useCookie: true,
- cookieKey: 'i18n_redirected',
- redirectOn: 'root',
- },
+ strategy: 'prefix_except_default',
+ defaultLocale: 'fr',
+ baseUrl: 'https://killiandalcin.fr',
+ locales: [
+ { code: 'fr', language: 'fr-FR', file: 'fr.json' },
+ { code: 'en', language: 'en-US', file: 'en.json' },
+ ],
+ langDir: 'locales/',
+ detectBrowserLanguage: {
+ useCookie: true,
+ cookieKey: 'i18n_redirected',
+ redirectOn: 'root',
},
+},
runtimeConfig: {
- smtpHost: '',
- smtpUser: '',
- smtpPass: '',
- smtpTo: '',
- public: {
- gtag: {
- id: '',
- },
+ smtpHost: '',
+ smtpUser: '',
+ smtpPass: '',
+ smtpTo: '',
+ public: {
+ gtag: {
+ id: '',
},
},
+},
gtag: {
- id: '',
- enabled: import.meta.env.NODE_ENV === 'production',
- }
+ id: '',
+ enabled: import.meta.env.NODE_ENV === 'production',
+}
})
diff --git a/public/images/fiverr/discord_bot.webp b/public/images/fiverr/discord_bot.webp
new file mode 100644
index 0000000..85a6c36
Binary files /dev/null and b/public/images/fiverr/discord_bot.webp differ
diff --git a/public/images/fiverr/minecraft_plugin.webp b/public/images/fiverr/minecraft_plugin.webp
new file mode 100644
index 0000000..3cb08a3
Binary files /dev/null and b/public/images/fiverr/minecraft_plugin.webp differ
diff --git a/public/images/fiverr/telegram_bot.webp b/public/images/fiverr/telegram_bot.webp
new file mode 100644
index 0000000..ebc9176
Binary files /dev/null and b/public/images/fiverr/telegram_bot.webp differ
diff --git a/public/images/fiverr/website.webp b/public/images/fiverr/website.webp
new file mode 100644
index 0000000..d4d1d0e
Binary files /dev/null and b/public/images/fiverr/website.webp differ
diff --git a/public/site.webmanifest b/public/site.webmanifest
index d55e734..4d74632 100644
--- a/public/site.webmanifest
+++ b/public/site.webmanifest
@@ -1,6 +1,6 @@
{
- "name": "Killian - Full Stack Developer Portfolio",
- "short_name": "Killian Portfolio",
+ "name": "Killian'- Full Stack Developer Portfolio",
+ "short_name": "Killian'Portfolio",
"description": "Professional Full Stack Developer specializing in Vue.js, React, Node.js. Expert in Discord bots, web applications, and custom software solutions.",
"start_url": "/",
"display": "standalone",
diff --git a/shared/types/index.ts b/shared/types/index.ts
index 3871c32..0b60272 100644
--- a/shared/types/index.ts
+++ b/shared/types/index.ts
@@ -63,7 +63,6 @@ export interface FAQ {
export interface ContactInfo {
email: string
- phone: string
location: string
}