Initial commit: Portfolio Website
Vollständige Next.js 15 Portfolio-Website mit: - Blog-System mit 100+ Artikeln - Supabase-Integration - Responsive Design mit Tailwind CSS - TypeScript-Konfiguration - Testing-Setup mit Vitest und Playwright Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
export const locales = ['de', 'en', 'sr'] as const;
|
||||
export const defaultLocale = 'de' as const;
|
||||
|
||||
export type Locale = (typeof locales)[number];
|
||||
|
||||
export const localeNames: Record<Locale, string> = {
|
||||
de: 'Deutsch',
|
||||
en: 'English',
|
||||
sr: 'Srpski',
|
||||
};
|
||||
|
||||
export const localeFlags: Record<Locale, string> = {
|
||||
de: '🇩🇪',
|
||||
en: '🇬🇧',
|
||||
sr: '🇷🇸',
|
||||
};
|
||||
|
||||
// Extended locale metadata for SEO
|
||||
export const localeMetadata: Record<Locale, {
|
||||
language: string;
|
||||
region: string;
|
||||
hreflang: string;
|
||||
ogLocale: string;
|
||||
script: string;
|
||||
territory: string;
|
||||
currency: string;
|
||||
}> = {
|
||||
de: {
|
||||
language: 'de',
|
||||
region: 'DE',
|
||||
hreflang: 'de-DE',
|
||||
ogLocale: 'de_DE',
|
||||
script: 'Latn',
|
||||
territory: 'Germany',
|
||||
currency: 'EUR',
|
||||
},
|
||||
en: {
|
||||
language: 'en',
|
||||
region: 'US',
|
||||
hreflang: 'en-US',
|
||||
ogLocale: 'en_US',
|
||||
script: 'Latn',
|
||||
territory: 'United States',
|
||||
currency: 'USD',
|
||||
},
|
||||
sr: {
|
||||
language: 'sr',
|
||||
region: 'RS',
|
||||
hreflang: 'sr-RS',
|
||||
ogLocale: 'sr_RS',
|
||||
script: 'Latn', // Using Latin script for web compatibility (Cyrillic: Cyrl)
|
||||
territory: 'Serbia',
|
||||
currency: 'RSD',
|
||||
},
|
||||
};
|
||||
|
||||
// SEO keywords per locale
|
||||
export const seoKeywords: Record<Locale, string[]> = {
|
||||
de: [
|
||||
'Fullstack Developer',
|
||||
'KI Entwickler',
|
||||
'AI Agentenentwicklung',
|
||||
'Prozessautomatisierung',
|
||||
'Voice AI',
|
||||
'n8n Automatisierung',
|
||||
'Köln',
|
||||
'Deutschland',
|
||||
],
|
||||
en: [
|
||||
'Fullstack Developer',
|
||||
'AI Developer',
|
||||
'AI Agent Development',
|
||||
'Process Automation Expert',
|
||||
'Voice AI Developer',
|
||||
'n8n Automation',
|
||||
'Remote Developer Europe',
|
||||
'Remote Developer USA',
|
||||
'Remote Developer UK',
|
||||
'Python Developer',
|
||||
'React Developer',
|
||||
'SaaS Development',
|
||||
'Freelance AI Developer',
|
||||
'London',
|
||||
'New York',
|
||||
'Los Angeles',
|
||||
'Miami',
|
||||
'San Francisco',
|
||||
],
|
||||
sr: [
|
||||
'Fullstack Programer',
|
||||
'AI Programer Srbija',
|
||||
'AI Developer Beograd',
|
||||
'Razvoj AI Agenata',
|
||||
'Automatizacija Procesa',
|
||||
'Voice AI Srbija',
|
||||
'n8n Automatizacija',
|
||||
'Beograd',
|
||||
'Novi Sad',
|
||||
'Niš',
|
||||
'Kragujevac',
|
||||
'Subotica',
|
||||
'Srbija',
|
||||
'Softverski Razvoj Srbija',
|
||||
'Python Programer Srbija',
|
||||
'React Programer Beograd',
|
||||
'Remote Developer Dijaspora',
|
||||
'Freelance Programer Srbija',
|
||||
],
|
||||
};
|
||||
Reference in New Issue
Block a user