Files
sass-mohfarawati/messages/en.json
T
MOHandClaude Sonnet 4.6 f490133345
CI / quality (push) Has been cancelled
Harden security, fix rate-limiting, and rename proxy
- Move admin login lockout from client cookie to AppConfig (DB), keyed
  by hashed client IP — clearing browser cookies no longer bypasses it
- Replace rate-limit $transaction (TOCTOU) with atomic SQL
  INSERT...ON CONFLICT...RETURNING; add stale-entry cleanup on each
  submission to prevent table bloat
- Add 5 s module-level cache for middleware runtime state fetch, reducing
  per-request DB roundtrips
- Rename middleware.ts → proxy.ts to resolve Next.js 16 deprecation
  warning; update test import accordingly
- Require ADMIN_PASSWORD, ADMIN_AUTH_SECRET, ADMIN_BASIC_AUTH_USER, and
  ADMIN_BASIC_AUTH_PASS in docker-compose.yml (:? syntax) — startup
  fails loudly instead of using placeholder defaults
- Add set -e and informative echo lines to Dockerfile CMD for clearer
  startup failure attribution
- Export requireAdminAuth() from lib/admin-auth for centralised use in
  admin pages
- Add CLAUDE.md with architecture notes and working rules

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 22:05:50 +01:00

306 lines
11 KiB
JSON

{
"navigation": {
"home": "Home",
"portfolio": "My Portfolio",
"products": "Products",
"about": "About Me",
"contact": "Contact",
"soon": "Soon",
"admin": "Admin",
"openMenu": "Open menu",
"closeMenu": "Close menu",
"themeToggle": "Toggle theme",
"themeLight": "Light mode enabled",
"themeDark": "Dark mode enabled",
"soundMute": "Mute sounds",
"soundUnmute": "Unmute sounds",
"soundMuted": "Sound muted",
"soundEnabled": "Sound enabled",
"localeChangedDe": "Language changed to German",
"localeChangedEn": "Language changed to English",
"localeChangedAr": "Language changed to Arabic",
"logoTripleClick": "Easy there. The logo is not a panic button."
},
"footer": {
"line": {
"rights": "All rights reserved © {year} moh-sass",
"madeBefore": "Made with",
"madeAfter": "in Bremen - by MohFarawati"
}
},
"comingSoon": {
"badge": "Coming Soon",
"kicker": "Hi, I am Moh",
"titleLineOne": "A clearer",
"titleLineTwo": "next version",
"titleLineThree": "is on the way.",
"description": "The new version is being shaped with a stronger identity, cleaner content, and a more focused experience from top to bottom.",
"note": "If you already have a project in mind, you can reach out now and we can start the conversation early.",
"primaryCta": "Contact me",
"secondaryCta": "Back to homepage"
},
"homepage": {
"meta": {
"title": "Full-stack developer portfolio",
"description": "Modern digital products, scalable systems, and multilingual experiences built with product focus."
},
"heroVisual": {
"kicker": "Hi, I am Moh",
"title": "frontend\ndeveloper\n& designer",
"description": "I craft digital solutions for human problems\nthat look good and work well."
},
"hero": {
"availability": "Available for selected projects",
"name": "Moh Farawati",
"headline": "Full-stack products with sharp frontend execution and reliable backend systems.",
"description": "I design and build premium web experiences for teams that need clarity, speed, and production-ready engineering from strategy to launch.",
"primaryCta": "Start a project",
"secondaryCta": "View selected work",
"locationLabel": "Base",
"locationValue": "Berlin, Germany",
"roleLabel": "Role",
"roleValue": "Full-stack developer",
"focusLabel": "Current focus",
"focusValue": "High-performance products, automation, and maintainable platform work.",
"highlights": [
"3-language delivery",
"Product-minded execution",
"Technical partner for launch-ready teams"
]
},
"bento": {
"eyebrow": "Highlights",
"title": "Built for teams that care about quality, speed, and clean technical decisions.",
"description": "The homepage is structured around the way I work: strategy first, strong execution second, and no wasted surface area in between.",
"about": {
"eyebrow": "About me",
"title": "I work across product, engineering, and delivery.",
"description": "My work combines product thinking with hands-on implementation, so founders, agencies, and technical teams get a developer who can move from architecture to shipped detail without losing quality.",
"points": [
"Frontend systems with strong UX discipline",
"Backend services and integrations for real workflows",
"Clear communication with technical and non-technical stakeholders",
"Shipping with maintainability in mind from day one"
]
},
"coreStack": {
"eyebrow": "Core stack",
"title": "Daily tools",
"items": [
"Next.js",
"TypeScript",
"React",
"Node.js",
"PostgreSQL",
"Tailwind CSS",
"Prisma",
"Docker"
]
},
"availability": {
"eyebrow": "Availability",
"title": "Open for focused collaborations",
"description": "Best fit for startups, agencies, and teams that want one technical owner who can drive implementation end to end.",
"status": "New slots open"
},
"currentFocus": {
"eyebrow": "Current focus",
"title": "What I am building most",
"items": [
"Marketing sites with product-grade UX",
"Admin tooling and internal dashboards",
"Automation flows around content and operations"
]
},
"contact": {
"eyebrow": "Quick contact",
"title": "Short path to reach me",
"description": "If the brief is already clear, send the context and timeline and I will reply with the right next step.",
"emailLabel": "Email",
"emailValue": "hello@moh-sass.dev"
},
"highlights": {
"eyebrow": "Highlights",
"title": "Working principles",
"items": [
{
"value": "3",
"label": "Supported languages"
},
{
"value": "E2E",
"label": "Delivery ownership"
},
{
"value": "24/7",
"label": "Production mindset"
}
]
}
},
"marquee": {
"eyebrow": "Trusted tools",
"title": "A working stack chosen for maintainability, speed, and long-term leverage.",
"description": "The marquee pulls from the existing site configuration so the homepage stays aligned with the tools and capabilities you want to highlight."
},
"projects": {
"eyebrow": "Selected projects",
"title": "Highlighted Projects",
"description": "Featured work combines strong interface quality with technical structure that stays stable after launch.",
"stackLabel": "Stack",
"cta": "Open project",
"fallbackMeta": "Curated work",
"stackSets": [
[
"Next.js",
"TypeScript",
"Design Systems"
],
[
"APIs",
"PostgreSQL",
"Automation"
],
[
"Tailwind CSS",
"Prisma",
"Infrastructure"
]
],
"fallbackItems": [
{
"title": "Product platform overhaul",
"summary": "A production-minded refresh for a service platform with clearer UX, stronger architecture, and faster delivery cycles.",
"stack": [
"Next.js",
"TypeScript",
"PostgreSQL"
],
"href": "/portfolio"
},
{
"title": "Operations dashboard",
"summary": "Internal tooling focused on decision speed, cleaner workflows, and less manual coordination across teams.",
"stack": [
"React",
"Node.js",
"Automation"
],
"href": "/portfolio"
},
{
"title": "Launch website system",
"summary": "A reusable website foundation for rapid launches without compromising technical quality or editorial control.",
"stack": [
"Tailwind CSS",
"CMS",
"Performance"
],
"href": "/contact"
}
]
},
"capabilities": {
"eyebrow": "Capabilities",
"title": "End-to-end technical coverage without losing product focus.",
"description": "Each capability area is shaped around production work, not generic service labels.",
"items": [
{
"title": "Frontend Engineering",
"description": "Responsive interfaces, design systems, interaction polish, and component architecture built for scale."
},
{
"title": "Backend Systems",
"description": "Structured APIs, integrations, data modeling, and application logic designed for dependable delivery."
},
{
"title": "DevOps & Infrastructure",
"description": "Deployments, environments, observability basics, and infrastructure decisions that reduce operational drag."
},
{
"title": "Automation & AI Workflows",
"description": "Practical automation layers that remove manual work and connect product, content, and operational tasks."
}
]
},
"process": {
"eyebrow": "Process",
"title": "A compact workflow that keeps projects moving.",
"description": "The process is intentionally simple: reduce ambiguity early, make sound technical decisions, and ship with discipline.",
"steps": [
{
"title": "Discover",
"description": "Clarify goals, constraints, audience, and the real outcome the product needs to drive."
},
{
"title": "Architect",
"description": "Define the system shape, technical boundaries, content structure, and delivery path before heavy implementation."
},
{
"title": "Build",
"description": "Implement with strong UI detail, clean application logic, and maintainable structure across the stack."
},
{
"title": "Ship",
"description": "Launch with confidence, validate the result, and leave the product in a stable state for the next phase."
}
]
},
"contactCta": {
"eyebrow": "Start the conversation",
"title": "If the project needs strong execution, I can help move it forward.",
"description": "Bring the brief, the bottleneck, or the rough direction. I can help shape the scope, design the system, and build the product.",
"contactCta": "Contact me",
"githubCta": "GitHub",
"emailLabel": "Email",
"emailValue": "hello@moh-sass.dev",
"availabilityLabel": "Availability",
"availabilityValue": "Open for focused product work",
"githubHref": "https://github.com/mohfarawati"
}
},
"portfolioPage": {
"title": "Portfolio",
"heroBadge": "Selected work",
"heroTitle": "Portfolio",
"intro": "Selected projects with a focus on clarity and outcomes.",
"open": "Open project",
"all": "All categories",
"empty": "No published projects are available for this filter yet."
},
"aboutPage": {
"title": "About",
"description": "A focused overview of my education, current role, and the kind of frontend work I deliver.",
"heroEyebrow": "About",
"placeholder": "About page content will be added here soon."
},
"contactPage": {
"title": "Contact",
"heroBadge": "Let us talk",
"heroTitle": "Let us talk",
"intro": "Share your goal and I will get back quickly.",
"name": "Name",
"email": "Email",
"phone": "Phone",
"company": "Company",
"message": "Message",
"note": "Share the context, goals, and any deadline so the reply can be more precise.",
"submit": "Submit",
"preview": "Open success page",
"city": "Berlin, Germany"
},
"successPage": {
"title": "Thank you for your message",
"text": "I received your request and will reply shortly.",
"home": "Go to homepage",
"contact": "Back to contact"
},
"portfolioDetail": {
"back": "Back to portfolio",
"preview": "Open preview",
"openLink": "Open link",
"gallery": "Project gallery",
"download": "Open document"
}
}