Просмотр исходного кода

feat: complete guidelines redesign and fix chat read badges

- Redesigned Guidelines.vue into a professional customer memo layout.
- Added 8 photorealistic images demonstrating FDM printing nuances.
- Updated translations.json to include nuance descriptions and AI disclaimer.
- Fixed an issue where WebSocket chat messages did not clear 'unread' badges until a full API refresh.
unknown 1 неделя назад
Родитель
Сommit
e90aee02d0

+ 5 - 0
backend/routers/chat.py

@@ -69,5 +69,10 @@ async def ws_chat(websocket: WebSocket, order_id: int, token: str = Query(...)):
                 await manager.broadcast_to_order(order_id, {"type": "typing", "is_admin": role == 'admin'})
             elif data == "stop_typing":
                 await manager.broadcast_to_order(order_id, {"type": "stop_typing", "is_admin": role == 'admin'})
+            elif data == "read":
+                if role == 'admin':
+                    db.execute_commit("UPDATE order_messages SET is_read = TRUE WHERE order_id = %s AND is_from_admin = FALSE AND is_read = FALSE", (order_id,))
+                else:
+                    db.execute_commit("UPDATE order_messages SET is_read = TRUE WHERE order_id = %s AND is_from_admin = TRUE AND is_read = FALSE", (order_id,))
     except WebSocketDisconnect:
         manager.disconnect(websocket, order_id)

BIN
public/fdm_color_photo_1776031463894.png


BIN
public/fdm_layer_lines_illustration_1776030013789.png


BIN
public/fdm_layer_lines_photo_1776031229473.png


BIN
public/fdm_overhangs_photo_1776031418824.png


BIN
public/fdm_overhangs_photo_v2_1776032258991.png


BIN
public/fdm_stringing_photo_1776031432344.png


BIN
public/fdm_supports_illustration_1776030025221.png


BIN
public/fdm_supports_photo_1776031246690.png


BIN
public/fdm_surface_photo_1776031404133.png


BIN
public/fdm_tolerances_photo_1776031451173.png


BIN
public/fdm_zseam_illustration_1776030038903.png


BIN
public/fdm_zseam_photo_1776031258273.png


+ 4 - 0
src/components/OrderChat.vue

@@ -182,6 +182,9 @@ function connectWebSocket() {
         const isMsgFromMe = (msg.is_from_admin && myRole === 'admin') || (!msg.is_from_admin && myRole === 'user');
         if (!isMsgFromMe) {
           playDing();
+          // We indicate we have read it right away
+          ws?.send("read");
+          setTimeout(() => authStore.refreshUnreadCount(), 300);
         }
       }
     } catch (e) {
@@ -216,6 +219,7 @@ function disconnectWebSocket() {
 async function loadMessages() {
   try {
     messages.value = await getOrderMessages(props.orderId);
+    authStore.refreshUnreadCount();
   } catch (e) {
     console.error("Failed to load messages:", e);
   } finally {

+ 557 - 505
src/locales/en.json

@@ -1,4 +1,49 @@
 {
+  "about": {
+    "cta": {
+      "content": "Contact us today for your project.",
+      "title": "Ready to print?"
+    },
+    "mission": {
+      "content": "Reliable 3D printing for everyone.",
+      "title": "Our Mission"
+    },
+    "subtitle": "Crafting the future, layer by layer.",
+    "team": {
+      "member1": {
+        "name": "Luka",
+        "role": "Founder"
+      },
+      "member2": {
+        "name": "Milica",
+        "role": "Designer"
+      },
+      "member3": {
+        "name": "Nikola",
+        "role": "Engineer"
+      },
+      "title": "Our Team"
+    },
+    "values": {
+      "community": {
+        "content": "Support for local makers.",
+        "title": "Community"
+      },
+      "innovation": {
+        "content": "Latest tech applied.",
+        "title": "Innovation"
+      },
+      "quality": {
+        "content": "Precision in every layer.",
+        "title": "Quality"
+      },
+      "title": "Our Values",
+      "trust": {
+        "content": "We trust you to value our work.",
+        "title": "Trust"
+      }
+    }
+  },
   "auth": {
     "back": "Back to Home",
     "fields": {
@@ -19,6 +64,7 @@
       "title": "Welcome Back",
       "toggle": "New here? Create an account"
     },
+    "orContinueWith": "Or continue with",
     "register": {
       "submit": "Create Account",
       "subtitle": "Start printing your ideas today",
@@ -30,8 +76,107 @@
       "subtitle": "Choose a strong new password",
       "title": "Reset Password",
       "token": "Code from email"
+    }
+  },
+  "blog": {
+    "back": "Back to Blog",
+    "categories": {
+      "caseStudies": "Case Studies",
+      "industry": "Industry",
+      "materials": "Materials",
+      "technology": "Technology",
+      "title": "Categories",
+      "tutorials": "Tutorials"
+    },
+    "dateFormat": "{date}",
+    "featured": "Featured",
+    "featuredPost": {
+      "excerpt": "How digital manufacturing is changing the local craft business.",
+      "title": "The Future of 3D Printing in Montenegro"
+    },
+    "latestPosts": "Latest Posts",
+    "newsletter": {
+      "content": "Stay in loop.",
+      "placeholder": "Email",
+      "subscribe": "Subscribe",
+      "title": "Newsletter"
+    },
+    "post1": {
+      "excerpt": "Choosing the right tech.",
+      "title": "FDM vs SLA"
+    },
+    "post2": {
+      "excerpt": "Which one to use?",
+      "title": "Materials Guide"
+    },
+    "post3": {
+      "excerpt": "Optimize your STL.",
+      "title": "Design Tips"
+    },
+    "readMore": "Read More",
+    "subtitle": "3D Printing News & Tips"
+  },
+  "careers": {
+    "apply": "Apply",
+    "contact": "Contact",
+    "cta": {
+      "content": "Send info.",
+      "title": "Other?"
+    },
+    "openPositions": {
+      "position1": {
+        "description": "3D printer farm management.",
+        "location": "Herceg Novi",
+        "title": "Technician",
+        "type": "Full-time"
+      },
+      "position2": {
+        "description": "Customer help.",
+        "location": "Montenegro",
+        "title": "Support",
+        "type": "Remote"
+      },
+      "title": "Positions"
+    },
+    "process": {
+      "step1": {
+        "description": "Send CV.",
+        "title": "Apply"
+      },
+      "step2": {
+        "description": "We check.",
+        "title": "Review"
+      },
+      "step3": {
+        "description": "Chat.",
+        "title": "Interview"
+      },
+      "step4": {
+        "description": "Done.",
+        "title": "Offer"
+      },
+      "title": "Process"
     },
-    "orContinueWith": "Or continue with"
+    "subtitle": "Join our team.",
+    "whyWork": {
+      "growth": {
+        "content": "Fast growth.",
+        "title": "Growth"
+      },
+      "impact": {
+        "content": "Real impact.",
+        "title": "Impact"
+      },
+      "innovation": {
+        "content": "Best tech.",
+        "title": "Innovation"
+      },
+      "team": {
+        "content": "Great folks.",
+        "title": "Team"
+      },
+      "title": "Why Us?"
+    }
   },
   "chat": {
     "admin": "Support",
@@ -41,6 +186,30 @@
     "title": "Order Chat",
     "unread": "New message"
   },
+  "common": {
+    "save_continue": "Save and Continue"
+  },
+  "contact": {
+    "form": {
+      "message": "Message",
+      "name": "Name",
+      "subject": "Subject",
+      "submit": "Send",
+      "title": "Email"
+    },
+    "info": {
+      "email": "hello@radionica3d.me",
+      "location": "Herceg Novi",
+      "phone": "+382 68 888 777",
+      "title": "Info"
+    },
+    "subtitle": "Get in touch."
+  },
+  "cookies": {
+    "accept": "Accept",
+    "leave": "Leave",
+    "message": "This site uses cookies to improve your experience and analyze traffic."
+  },
   "errors": {
     "field_required": "This field is required",
     "missing": "Field is required",
@@ -68,6 +237,202 @@
     "tagline": "Radionica 3D — A service built on trust. We bring your ideas to life, you value our craftsmanship.",
     "terms": "Terms"
   },
+  "guidelines": {
+    "designTips": {
+      "fdm": {
+        "bridging": "Bridging",
+        "infill": "Infill",
+        "layerHeight": "Layer Height",
+        "overhangs": "Overhangs",
+        "title": "FDM"
+      },
+      "sla": {
+        "drainage": "Drainage",
+        "orientation": "Orientation",
+        "postProcessing": "Post-processing",
+        "supports": "Supports",
+        "title": "SLA"
+      },
+      "title": "Design Tips"
+    },
+    "filePreparation": {
+      "formats": {
+        "3mf": "3MF",
+        "obj": "OBJ",
+        "step": "STEP",
+        "stl": "STL",
+        "title": "Formats"
+      },
+      "requirements": {
+        "normals": "Correct Normals",
+        "scale": "Proper Scale",
+        "title": "Requirements",
+        "wallThickness": "Min Wall Thickness",
+        "watertight": "Watertight"
+      },
+      "title": "File Preparation"
+    },
+    "help": {
+      "contact": "Contact",
+      "description": "Ask us.",
+      "helpCenter": "Help Center",
+      "title": "Need Help?"
+    },
+    "materialSelection": {
+      "abs": {
+        "bestFor": "Tech parts",
+        "considerations": "Heat resistant",
+        "name": "ABS"
+      },
+      "petg": {
+        "bestFor": "Durable",
+        "considerations": "Easy print",
+        "name": "PETG"
+      },
+      "pla": {
+        "bestFor": "Prototypes",
+        "considerations": "Bio-degradable",
+        "name": "PLA"
+      },
+      "resin": {
+        "bestFor": "Detail",
+        "considerations": "UV sensitive",
+        "name": "Resin"
+      },
+      "table": {
+        "bestFor": "Best For",
+        "considerations": "Notes",
+        "material": "Material"
+      },
+      "title": "Materials"
+    },
+    "nuances": {
+      "description": "Products made using the FDM (Fused Deposition Modeling) method have a number of visual and tactile features that are normal for the technology and are not considered defects.",
+      "disclaimer": {
+        "text": "These features are due to the very nature of FDM printing technology and do not affect the functionality of the product.",
+        "title": "Quality Assurance"
+      },
+      "items": {
+        "colorVariations": {
+          "description": "Slight variations in shade or gloss.",
+          "details": "Even within the same color, batch variations can occur.",
+          "title": "Color Variations"
+        },
+        "dimensionalTolerances": {
+          "description": "Minor deviations in overall dimensions.",
+          "details": "Caused by material properties and cooling effects.",
+          "title": "Tolerances"
+        },
+        "layerStructure": {
+          "description": "Visible horizontal lines on the surface.",
+          "details": "A natural result of the layer-by-layer manufacturing process.",
+          "title": "Layered Structure"
+        },
+        "overhangs": {
+          "description": "Potential sagging on unsupported parts.",
+          "details": "Inherent limitation for geometries without bottom support.",
+          "title": "Overhangs"
+        },
+        "stringing": {
+          "description": "Fine plastic hairs between elements.",
+          "details": "Usually easily removed and don't affect structural integrity.",
+          "title": "Stringing"
+        },
+        "supportMarks": {
+          "description": "Small marks where support structures were attached.",
+          "details": "Expected surface variations from necessary supports.",
+          "title": "Support Marks"
+        },
+        "surfaceImperfections": {
+          "description": "Minor roughness or micro-artifacts.",
+          "details": "Common on complex geometry and fine details.",
+          "title": "Surface Texture"
+        },
+        "zSeam": {
+          "description": "A vertical line or point on the surface.",
+          "details": "The point where each print layer starts and ends.",
+          "title": "Z-Seam"
+        }
+      },
+      "subtitle": "What to expect from FDM printing",
+      "title": "3D Printing Nuances"
+    },
+    "orderingProcess": {
+      "step1": {
+        "description": "Send file",
+        "title": "Upload"
+      },
+      "step2": {
+        "description": "We craft",
+        "title": "Print"
+      },
+      "step3": {
+        "description": "By mail",
+        "title": "Ship"
+      },
+      "step4": {
+        "description": "Trust model",
+        "title": "Pay"
+      },
+      "title": "Process"
+    },
+    "subtitle": "Healthy environment.",
+    "title": "Guidelines"
+  },
+  "help": {
+    "categories": {
+      "ordering": {
+        "description": "How it works.",
+        "title": "Ordering"
+      },
+      "pricing": {
+        "description": "Trust model.",
+        "title": "Pricing"
+      },
+      "shipping": {
+        "description": "Mail delivery.",
+        "title": "Shipping"
+      },
+      "technical": {
+        "description": "Files & specs.",
+        "title": "Technical"
+      },
+      "title": "Categories"
+    },
+    "contact": {
+      "button": "Support",
+      "description": "Email us.",
+      "email": "Email",
+      "title": "Contact"
+    },
+    "faq": {
+      "q1": {
+        "answer": "You decide the value.",
+        "question": "How much should I pay?"
+      },
+      "q2": {
+        "answer": "Usually 2-3 days.",
+        "question": "Delivery time?"
+      },
+      "q3": {
+        "answer": "STL, OBJ, STEP.",
+        "question": "What files?"
+      },
+      "q4": {
+        "answer": "Your models are safe.",
+        "question": "Confidentiality?"
+      },
+      "q5": {
+        "answer": "We help with design.",
+        "question": "Support?"
+      },
+      "title": "FAQ"
+    },
+    "search": {
+      "placeholder": "Search..."
+    },
+    "subtitle": "How can we help?"
+  },
   "hero": {
     "badge": "Trust in Every Layer",
     "description": "A unique 3D printing service: send us a model, receive it by mail, and pay what you think it's worth.",
@@ -90,11 +455,69 @@
     "logOut": "Log Out",
     "materials": "Materials",
     "myOrders": "My Orders",
-    "portfolio": "Portfolio",
     "philosophy": "Our Philosophy",
+    "portfolio": "Portfolio",
     "register": "Register",
     "services": "Services"
   },
+  "nuances": {
+    "description": "Products made using the FDM (Fused Deposition Modeling) method have a number of visual and tactile features that are normal for the technology and are not considered defects.",
+    "disclaimer": {
+      "text": "These features are due to the very nature of FDM printing technology and do not affect the functionality of the product.",
+      "title": "Quality Assurance"
+    },
+    "aiDisclaimer": "All explanatory photos are AI-generated for illustrative purposes.",
+    "items": {
+      "colorVariations": {
+        "description": "Slight shade variations.",
+        "details": "Filament batch differences.",
+        "title": "Color"
+      },
+      "dimensionalTolerances": {
+        "description": "Minor size deviations.",
+        "details": "Physical property of cooling.",
+        "title": "Tolerances"
+      },
+      "layerStructure": {
+        "description": "Visible layer lines.",
+        "details": "Result of layered manufacturing.",
+        "title": "Layered Structure"
+      },
+      "overhangs": {
+        "description": "Drooping on unsupported areas.",
+        "details": "Depends on geometry.",
+        "title": "Overhangs"
+      },
+      "stringing": {
+        "description": "Thin plastic hairs.",
+        "details": "Easily removed.",
+        "title": "Stringing"
+      },
+      "supportMarks": {
+        "description": "Small marks where supports were.",
+        "details": "Expected residue.",
+        "title": "Support Marks"
+      },
+      "surfaceImperfections": {
+        "description": "Minor roughness on complex shapes.",
+        "details": "Technological norm.",
+        "title": "Surface Texture"
+      },
+      "zSeam": {
+        "description": "Start/end point of layers.",
+        "details": "Usually placed in corners.",
+        "title": "Z-Seam"
+      }
+    },
+    "subtitle": "What to expect",
+    "title": "3D Printing Nuances"
+  },
+  "portfolio": {
+    "description": "Explore our successful 3D printing projects realized for our local customers in Montenegro.",
+    "empty": "Our gallery is growing. Check back soon!",
+    "title": "Project",
+    "titleGradient": "Showcase"
+  },
   "pricing": {
     "badge": "Trust Policy",
     "description": "No upfront costs or complex calculators. You only pay for results you value.",
@@ -110,567 +533,196 @@
       "step4": "Evaluate our work and pay your price"
     }
   },
-  "services": {
-    "badge": "Our Capabilities",
-    "description": "We'll choose the optimal printing method for your specific design.",
-    "fdm": {
-      "description": "Durable parts made from engineering plastics.",
-      "title": "FDM Printing"
-    },
-    "sla": {
-      "description": "Maximum resolution and smooth industrial finish.",
-      "title": "SLA Resin"
-    },
-    "title": "Core",
-    "titleGradient": "Technologies"
-  },
-  "portfolio": {
-    "title": "Project",
-    "titleGradient": "Showcase",
-    "description": "Explore our successful 3D printing projects realized for our local customers in Montenegro.",
-    "empty": "Our gallery is growing. Check back soon!"
-  },
-  "upload": {
-    "addressPlaceholder": "City, ZIP, Address (free form)",
-    "badge": "Place Your Project",
-    "allowPortfolio": "Allow featuring in public portfolio",
-    "allowPortfolioDesc": "We'll show photos of your print to inspire other customers.",
-    "selectMaterial": "Select Material",
-    "browse": "browse files",
-    "continue": "Submit Request",
-    "description": "Upload a file or provide a link to a model (Thingiverse, Printables, etc.). We'll contact you for details.",
-    "dropzone": "Upload files (STL, OBJ, STEP)",
-    "dropzoneActive": "Drop your files here",
-    "email": "Email Address",
-    "firstName": "First Name",
-    "lastName": "Last Name",
-    "modelLink": "Model Link (optional)",
-    "modelLinkPlaceholder": "https://www.printables.com/model/...",
-    "notes": "Order Notes / Remarks",
-    "notesPlaceholder": "Color preferences, specific requirements, or special instructions...",
-    "phone": "Phone Number",
-    "quantity": "Number of Copies",
-    "shippingAddress": "Shipping Address",
-    "submitting": "Sending...",
-    "success": "Order submitted successfully! We will contact you soon.",
-    "title": "Submit",
-    "titleGradient": "Your Idea",
-    "uploadedFiles": "Selected Files"
-  },
-  "whyTrust": {
-    "description1": "We believe that high-quality 3D printing should be accessible, and the process as simple as possible. Our experience allows us to take on the risks: we are confident in our equipment and the quality of our materials.",
-    "description2": "This approach removes the barriers of 'complex calculations' and gives you the opportunity to get exactly what you intended, evaluating the results yourself.",
-    "items": {
-      "noCommissions": "No fees",
-      "noPrepayment": "No prepayment",
-      "shipping": "Mail delivery",
-      "yourPrice": "Your price"
-    },
-    "title": "Why we",
-    "titleItalic": "trust"
-  },
   "privacy": {
-    "title": "Privacy Policy",
-    "subtitle": "Effective Date: April 11, 2026\nRadionica3d (“we”, “us”) operates this website and is responsible for how your personal data is collected and used.",
     "intro": "This Privacy Policy describes:\n• what data we collect\n• how and why we use it\n• where and how it is stored or transferred\n• your rights regarding your data\n• how to contact us about privacy\n\nBy visiting our site, contacting us, or using our services, you agree to this policy.",
     "sections": {
       "01_data": {
-        "title": "1. Data We Collect",
-        "content": "We may collect and process:\n• Contact details: name, email, phone number, company\n• Project data & uploads: messages, briefs, 3D models, images, sketches\n• Transaction data: quotes, invoices, payments\n• Website & technical data: IP address, browser type, cookies, analytics\n\nWe do not collect sensitive categories (e.g. race, health, religious beliefs)."
+        "content": "We may collect and process:\n• Contact details: name, email, phone number, company\n• Project data & uploads: messages, briefs, 3D models, images, sketches\n• Transaction data: quotes, invoices, payments\n• Website & technical data: IP address, browser type, cookies, analytics\n\nWe do not collect sensitive categories (e.g. race, health, religious beliefs).",
+        "title": "1. Data We Collect"
       },
       "02_usage": {
-        "title": "2. How We Use Your Data",
-        "content": "We use personal data to:\n• respond to enquiries and provide quotes\n• manage projects, orders, deliveries\n• maintain client records in our systems\n• send updates or confirmations (email or WhatsApp/Viber/Telegram, where consent given)\n• improve our website and services via anonymised analytics\n\nWe do not sell or rent your personal data to third parties."
+        "content": "We use personal data to:\n• respond to enquiries and provide quotes\n• manage projects, orders, deliveries\n• maintain client records in our systems\n• send updates or confirmations (email or WhatsApp/Viber/Telegram, where consent given)\n• improve our website and services via anonymised analytics\n\nWe do not sell or rent your personal data to third parties.",
+        "title": "2. How We Use Your Data"
       },
       "03_basis": {
-        "title": "3. Lawful Basis for Processing",
-        "content": "Under EU GDPR, we rely on:\n• Contract — to perform services you request (quotes, production)\n• Legitimate Interest — for business administration, client management, and responding to enquiries\n• Consent — for optional marketing or newsletters\n\nIf you give consent, you may withdraw it at any time (we will respect that)."
+        "content": "Under EU GDPR, we rely on:\n• Contract — to perform services you request (quotes, production)\n• Legitimate Interest — for business administration, client management, and responding to enquiries\n• Consent — for optional marketing or newsletters\n\nIf you give consent, you may withdraw it at any time (we will respect that).",
+        "title": "3. Lawful Basis for Processing"
       },
       "04_uploads": {
-        "title": "4. File Uploads & Submitted Content",
-        "content": "When you upload files or models, they are handled under our Content Submission & IP Protection Agreement. We keep project files securely while a job is active. After the job or after a defined period (e.g. 30 days on temporary services), we may delete or anonymise them as per our data-retention rules."
+        "content": "When you upload files or models, they are handled under our Content Submission & IP Protection Agreement. We keep project files securely while a job is active. After the job or after a defined period (e.g. 30 days on temporary services), we may delete or anonymise them as per our data-retention rules.",
+        "title": "4. File Uploads & Submitted Content"
       },
       "05_security": {
-        "title": "5. Storage & Security",
-        "content": "Our primary storage is on secure servers under our control in the EU. We use encryption, secure access controls, and limited staff access. Transaction and project records are kept for up to six years (for accounting and legal compliance). Where a client asks us to retain project files for repeat orders, we will do so securely until instructed otherwise."
+        "content": "Our primary storage is on secure servers under our control in the EU. We use encryption, secure access controls, and limited staff access. Transaction and project records are kept for up to six years (for accounting and legal compliance). Where a client asks us to retain project files for repeat orders, we will do so securely until instructed otherwise.",
+        "title": "5. Storage & Security"
       },
       "06_sharing": {
-        "title": "6. Sharing & Third-Party Services",
-        "content": "We only share personal data when necessary to provide the service, such as:\n• Payment processors (for transactions)\n• Order / file management platforms\n• Logistics / delivery partners\n• Accountants, legal advisors\nAll third parties are bound to confidentiality and data protection obligations consistent with EU GDPR."
+        "content": "We only share personal data when necessary to provide the service, such as:\n• Payment processors (for transactions)\n• Order / file management platforms\n• Logistics / delivery partners\n• Accountants, legal advisors\nAll third parties are bound to confidentiality and data protection obligations consistent with EU GDPR.",
+        "title": "6. Sharing & Third-Party Services"
       },
       "07_rights": {
-        "title": "7. Your Rights",
-        "content": "You have the right to: access your personal data, correct inaccuracies, request deletion (where legally permitted), object to processing or withdraw consent, request restriction or portability of data. Submit requests via Hello@radionica3d.me. We will respond within 30 days."
+        "content": "You have the right to: access your personal data, correct inaccuracies, request deletion (where legally permitted), object to processing or withdraw consent, request restriction or portability of data. Submit requests via Hello@radionica3d.me. We will respond within 30 days.",
+        "title": "7. Your Rights"
       },
       "08_cookies": {
-        "title": "8. Cookies & Analytics",
-        "content": "We use essential cookies for site functionality, and optional analytics cookies to monitor usage and improve performance. You can manage or disable cookies via browser settings or our site interface."
+        "content": "We use essential cookies for site functionality, and optional analytics cookies to monitor usage and improve performance. You can manage or disable cookies via browser settings or our site interface.",
+        "title": "8. Cookies & Analytics"
       },
       "09_international": {
-        "title": "9. International Transfers & Third-Country Processing",
-        "content": "Although we store most data in the EU, we also work with service providers (such as order or CRM platforms) whose servers may be located outside the EU (including the US). When personal data is transferred internationally, we ensure it is protected via Standard Contractual Clauses (SCCs) or equivalent safeguards approved under EU GDPR."
+        "content": "Although we store most data in the EU, we also work with service providers (such as order or CRM platforms) whose servers may be located outside the EU (including the US). When personal data is transferred internationally, we ensure it is protected via Standard Contractual Clauses (SCCs) or equivalent safeguards approved under EU GDPR.",
+        "title": "9. International Transfers & Third-Country Processing"
       },
       "10_updates": {
-        "title": "10. Policy Updates",
-        "content": "We may revise this policy from time to time. The latest version is always available on our website."
+        "content": "We may revise this policy from time to time. The latest version is always available on our website.",
+        "title": "10. Policy Updates"
       },
       "11_contact": {
-        "title": "11. Contact & Complaints",
-        "content": "If you have questions or concerns about how we handle your data, please contact us at Hello@radionica3d.me."
-      }
-    }
-  },
-  "cookies": {
-    "message": "This site uses cookies to improve your experience and analyze traffic.",
-    "accept": "Accept",
-    "leave": "Leave"
-  },
-  "nuances": {
-    "title": "3D Printing Nuances",
-    "subtitle": "What to expect",
-    "description": "Products made using the FDM (Fused Deposition Modeling) method have a number of visual and tactile features that are normal for the technology and are not considered defects.",
-    "disclaimer": {
-      "title": "Quality Assurance",
-      "text": "These features are due to the very nature of FDM printing technology and do not affect the functionality of the product."
-    },
-    "items": {
-      "layerStructure": {
-        "title": "Layered Structure",
-        "description": "Visible layer lines.",
-        "details": "Result of layered manufacturing."
-      },
-      "surfaceImperfections": {
-        "title": "Surface Texture",
-        "description": "Minor roughness on complex shapes.",
-        "details": "Technological norm."
-      },
-      "supportMarks": {
-        "title": "Support Marks",
-        "description": "Small marks where supports were.",
-        "details": "Expected residue."
-      },
-      "zSeam": {
-        "title": "Z-Seam",
-        "description": "Start/end point of layers.",
-        "details": "Usually placed in corners."
-      },
-      "overhangs": {
-        "title": "Overhangs",
-        "description": "Drooping on unsupported areas.",
-        "details": "Depends on geometry."
-      },
-      "dimensionalTolerances": {
-        "title": "Tolerances",
-        "description": "Minor size deviations.",
-        "details": "Physical property of cooling."
-      },
-      "colorVariations": {
-        "title": "Color",
-        "description": "Slight shade variations.",
-        "details": "Filament batch differences."
-      },
-      "stringing": {
-        "title": "Stringing",
-        "description": "Thin plastic hairs.",
-        "details": "Easily removed."
-      }
-    }
-  },
-  "about": {
-    "subtitle": "Crafting the future, layer by layer.",
-    "mission": {
-      "title": "Our Mission",
-      "content": "Reliable 3D printing for everyone."
-    },
-    "values": {
-      "title": "Our Values",
-      "trust": {
-        "title": "Trust",
-        "content": "We trust you to value our work."
-      },
-      "quality": {
-        "title": "Quality",
-        "content": "Precision in every layer."
-      },
-      "innovation": {
-        "title": "Innovation",
-        "content": "Latest tech applied."
-      },
-      "community": {
-        "title": "Community",
-        "content": "Support for local makers."
+        "content": "If you have questions or concerns about how we handle your data, please contact us at Hello@radionica3d.me.",
+        "title": "11. Contact & Complaints"
       }
     },
-    "team": {
-      "title": "Our Team",
-      "member1": {
-        "name": "Luka",
-        "role": "Founder"
-      },
-      "member2": {
-        "name": "Milica",
-        "role": "Designer"
-      },
-      "member3": {
-        "name": "Nikola",
-        "role": "Engineer"
-      }
-    },
-    "cta": {
-      "title": "Ready to print?",
-      "content": "Contact us today for your project."
-    }
+    "subtitle": "Effective Date: April 11, 2026\nRadionica3d (“we”, “us”) operates this website and is responsible for how your personal data is collected and used.",
+    "title": "Privacy Policy"
   },
-  "careers": {
-    "subtitle": "Join our team.",
-    "apply": "Apply",
-    "contact": "Contact",
-    "whyWork": {
-      "title": "Why Us?",
-      "innovation": {
-        "title": "Innovation",
-        "content": "Best tech."
-      },
-      "growth": {
-        "title": "Growth",
-        "content": "Fast growth."
-      },
-      "team": {
-        "title": "Team",
-        "content": "Great folks."
-      },
-      "impact": {
-        "title": "Impact",
-        "content": "Real impact."
-      }
-    },
-    "openPositions": {
-      "title": "Positions",
-      "position1": {
-        "title": "Technician",
-        "type": "Full-time",
-        "location": "Herceg Novi",
-        "description": "3D printer farm management."
-      },
-      "position2": {
-        "title": "Support",
-        "type": "Remote",
-        "location": "Montenegro",
-        "description": "Customer help."
-      }
-    },
-    "process": {
-      "title": "Process",
-      "step1": {
-        "title": "Apply",
-        "description": "Send CV."
-      },
-      "step2": {
-        "title": "Review",
-        "description": "We check."
-      },
-      "step3": {
-        "title": "Interview",
-        "description": "Chat."
-      },
-      "step4": {
-        "title": "Offer",
-        "description": "Done."
-      }
-    },
-    "cta": {
-      "title": "Other?",
-      "content": "Send info."
-    }
+  "profile": {
+    "complete_subtitle": "Please provide your contact information to continue with the order.",
+    "complete_title": "Complete Your Profile"
   },
-  "blog": {
-    "subtitle": "3D Printing News & Tips",
-    "readMore": "Read More",
-    "featured": "Featured",
-    "dateFormat": "{date}",
-    "latestPosts": "Latest Posts",
-    "featuredPost": {
-      "title": "The Future of 3D Printing in Montenegro",
-      "excerpt": "How digital manufacturing is changing the local craft business."
-    },
-    "post1": {
-      "title": "FDM vs SLA",
-      "excerpt": "Choosing the right tech."
-    },
-    "post2": {
-      "title": "Materials Guide",
-      "excerpt": "Which one to use?"
-    },
-    "post3": {
-      "title": "Design Tips",
-      "excerpt": "Optimize your STL."
-    },
-    "categories": {
-      "title": "Categories",
-      "technology": "Technology",
-      "materials": "Materials",
-      "tutorials": "Tutorials",
-      "caseStudies": "Case Studies",
-      "industry": "Industry"
+  "services": {
+    "badge": "Our Capabilities",
+    "description": "We'll choose the optimal printing method for your specific design.",
+    "fdm": {
+      "description": "Durable parts made from engineering plastics.",
+      "title": "FDM Printing"
     },
-    "newsletter": {
-      "title": "Newsletter",
-      "content": "Stay in loop.",
-      "placeholder": "Email",
-      "subscribe": "Subscribe"
+    "sla": {
+      "description": "Maximum resolution and smooth industrial finish.",
+      "title": "SLA Resin"
     },
-    "back": "Back to Blog"
+    "title": "Core",
+    "titleGradient": "Technologies"
   },
-  "help": {
-    "subtitle": "How can we help?",
-    "search": {
-      "placeholder": "Search..."
-    },
-    "categories": {
-      "title": "Categories",
-      "ordering": {
-        "title": "Ordering",
-        "description": "How it works."
-      },
-      "pricing": {
-        "title": "Pricing",
-        "description": "Trust model."
-      },
-      "shipping": {
-        "title": "Shipping",
-        "description": "Mail delivery."
-      },
-      "technical": {
-        "title": "Technical",
-        "description": "Files & specs."
-      }
-    },
-    "faq": {
-      "title": "FAQ",
-      "q1": {
-        "question": "How much should I pay?",
-        "answer": "You decide the value."
-      },
-      "q2": {
-        "question": "Delivery time?",
-        "answer": "Usually 2-3 days."
-      },
-      "q3": {
-        "question": "What files?",
-        "answer": "STL, OBJ, STEP."
-      },
-      "q4": {
-        "question": "Confidentiality?",
-        "answer": "Your models are safe."
-      },
-      "q5": {
-        "question": "Support?",
-        "answer": "We help with design."
-      }
+  "terms": {
+    "changes": {
+      "content": "Subject to change.",
+      "title": "Changes"
     },
     "contact": {
-      "title": "Contact",
-      "description": "Email us.",
-      "button": "Support",
-      "email": "Email"
-    }
-  },
-  "contact": {
-    "subtitle": "Get in touch.",
-    "form": {
-      "title": "Email",
-      "name": "Name",
-      "subject": "Subject",
-      "message": "Message",
-      "submit": "Send"
+      "button": "Legal",
+      "description": "Legal questions.",
+      "email": "Email",
+      "title": "Contact"
     },
-    "info": {
-      "title": "Info",
-      "email": "hello@radionica3d.me",
-      "phone": "+382 68 888 777",
-      "location": "Herceg Novi"
-    }
-  },
-  "guidelines": {
-    "title": "Guidelines",
-    "subtitle": "Healthy environment.",
-    "filePreparation": {
-      "title": "File Preparation",
-      "formats": {
-        "title": "Formats",
-        "stl": "STL",
-        "obj": "OBJ",
-        "step": "STEP",
-        "3mf": "3MF"
+    "intellectualProperty": {
+      "companyRights": {
+        "content": "We own our tech.",
+        "title": "Our Rights"
       },
-      "requirements": {
-        "title": "Requirements",
-        "watertight": "Watertight",
-        "normals": "Correct Normals",
-        "scale": "Proper Scale",
-        "wallThickness": "Min Wall Thickness"
+      "description": "Property rights.",
+      "title": "IP",
+      "userRights": {
+        "content": "You own your models.",
+        "title": "Your Rights"
       }
     },
-    "designTips": {
-      "title": "Design Tips",
-      "fdm": {
-        "title": "FDM",
-        "overhangs": "Overhangs",
-        "bridging": "Bridging",
-        "layerHeight": "Layer Height",
-        "infill": "Infill"
-      },
-      "sla": {
-        "title": "SLA",
-        "supports": "Supports",
-        "orientation": "Orientation",
-        "drainage": "Drainage",
-        "postProcessing": "Post-processing"
-      }
+    "introduction": {
+      "content": "Welcome to Radionica 3D.",
+      "title": "Introduction"
     },
-    "materialSelection": {
-      "title": "Materials",
-      "table": {
-        "material": "Material",
-        "bestFor": "Best For",
-        "considerations": "Notes"
-      },
-      "pla": {
-        "name": "PLA",
-        "bestFor": "Prototypes",
-        "considerations": "Bio-degradable"
-      },
-      "abs": {
-        "name": "ABS",
-        "bestFor": "Tech parts",
-        "considerations": "Heat resistant"
-      },
-      "petg": {
-        "name": "PETG",
-        "bestFor": "Durable",
-        "considerations": "Easy print"
+    "liability": {
+      "description": "Legal limits.",
+      "limitations": {
+        "point1": "No misuse.",
+        "point2": "Local laws.",
+        "point3": "Safe handling.",
+        "point4": "No warrenty.",
+        "title": "Limits"
       },
-      "resin": {
-        "name": "Resin",
-        "bestFor": "Detail",
-        "considerations": "UV sensitive"
-      }
+      "title": "Liability"
     },
-    "orderingProcess": {
-      "title": "Process",
-      "step1": {
-        "title": "Upload",
-        "description": "Send file"
-      },
-      "step2": {
-        "title": "Print",
-        "description": "We craft"
-      },
-      "step3": {
-        "title": "Ship",
-        "description": "By mail"
-      },
-      "step4": {
-        "title": "Pay",
-        "description": "Trust model"
+    "payment": {
+      "description": "Trust model.",
+      "title": "Payment",
+      "trustModel": {
+        "point1": "Pay after delivery.",
+        "point2": "You value quality.",
+        "point3": "Fair usage.",
+        "point4": "Support provided.",
+        "title": "Details"
       }
     },
-    "help": {
-      "title": "Need Help?",
-      "description": "Ask us.",
-      "helpCenter": "Help Center",
-      "contact": "Contact"
-    }
-  },
-  "terms": {
-    "title": "Terms",
-    "subtitle": "Legal stuff.",
-    "introduction": {
-      "title": "Introduction",
-      "content": "Welcome to Radionica 3D."
-    },
     "services": {
-      "title": "Services",
       "description": "FDM and SLA printing.",
       "point1": "Quality guaranteed.",
       "point2": "Fast delivery.",
       "point3": "Support.",
-      "point4": "Trust."
+      "point4": "Trust.",
+      "title": "Services"
+    },
+    "shipping": {
+      "delivery": {
+        "content": "Mail delivery.",
+        "title": "Methods"
+      },
+      "description": "How we ship.",
+      "returns": {
+        "content": "Reasonable returns.",
+        "title": "Returns"
+      },
+      "title": "Shipping"
     },
+    "subtitle": "Legal stuff.",
+    "title": "Terms",
     "userResponsibilities": {
-      "title": "Responsibilities",
       "description": "Safe use.",
       "prohibited": {
-        "title": "Prohibited",
         "point1": "Illegal items.",
         "point2": "Harmful materials.",
         "point3": "Copyrighted files.",
         "point4": "Spam.",
-        "point5": "Abuse."
-      }
-    },
-    "intellectualProperty": {
-      "title": "IP",
-      "description": "Property rights.",
-      "userRights": {
-        "title": "Your Rights",
-        "content": "You own your models."
-      },
-      "companyRights": {
-        "title": "Our Rights",
-        "content": "We own our tech."
-      }
-    },
-    "payment": {
-      "title": "Payment",
-      "description": "Trust model.",
-      "trustModel": {
-        "title": "Details",
-        "point1": "Pay after delivery.",
-        "point2": "You value quality.",
-        "point3": "Fair usage.",
-        "point4": "Support provided."
-      }
-    },
-    "shipping": {
-      "title": "Shipping",
-      "description": "How we ship.",
-      "delivery": {
-        "title": "Methods",
-        "content": "Mail delivery."
+        "point5": "Abuse.",
+        "title": "Prohibited"
       },
-      "returns": {
-        "title": "Returns",
-        "content": "Reasonable returns."
-      }
-    },
-    "liability": {
-      "title": "Liability",
-      "description": "Legal limits.",
-      "limitations": {
-        "title": "Limits",
-        "point1": "No misuse.",
-        "point2": "Local laws.",
-        "point3": "Safe handling.",
-        "point4": "No warrenty."
-      }
-    },
-    "changes": {
-      "title": "Changes",
-      "content": "Subject to change."
-    },
-    "contact": {
-      "title": "Contact",
-      "description": "Legal questions.",
-      "button": "Legal",
-      "email": "Email"
+      "title": "Responsibilities"
     }
   },
-  "profile": {
-    "complete_title": "Complete Your Profile",
-    "complete_subtitle": "Please provide your contact information to continue with the order."
+  "upload": {
+    "addressPlaceholder": "City, ZIP, Address (free form)",
+    "allowPortfolio": "Allow featuring in public portfolio",
+    "allowPortfolioDesc": "We'll show photos of your print to inspire other customers.",
+    "badge": "Place Your Project",
+    "browse": "browse files",
+    "continue": "Submit Request",
+    "description": "Upload a file or provide a link to a model (Thingiverse, Printables, etc.). We'll contact you for details.",
+    "dropzone": "Upload files (STL, OBJ, STEP)",
+    "dropzoneActive": "Drop your files here",
+    "email": "Email Address",
+    "firstName": "First Name",
+    "lastName": "Last Name",
+    "modelLink": "Model Link (optional)",
+    "modelLinkPlaceholder": "https://www.printables.com/model/...",
+    "notes": "Order Notes / Remarks",
+    "notesPlaceholder": "Color preferences, specific requirements, or special instructions...",
+    "phone": "Phone Number",
+    "quantity": "Number of Copies",
+    "selectMaterial": "Select Material",
+    "shippingAddress": "Shipping Address",
+    "submitting": "Sending...",
+    "success": "Order submitted successfully! We will contact you soon.",
+    "title": "Submit",
+    "titleGradient": "Your Idea",
+    "uploadedFiles": "Selected Files"
   },
-  "common": {
-    "save_continue": "Save and Continue"
+  "whyTrust": {
+    "description1": "We believe that high-quality 3D printing should be accessible, and the process as simple as possible. Our experience allows us to take on the risks: we are confident in our equipment and the quality of our materials.",
+    "description2": "This approach removes the barriers of 'complex calculations' and gives you the opportunity to get exactly what you intended, evaluating the results yourself.",
+    "items": {
+      "noCommissions": "No fees",
+      "noPrepayment": "No prepayment",
+      "shipping": "Mail delivery",
+      "yourPrice": "Your price"
+    },
+    "title": "Why we",
+    "titleItalic": "trust"
   }
 }

+ 557 - 505
src/locales/me.json

@@ -1,4 +1,49 @@
 {
+  "about": {
+    "cta": {
+      "content": "Kontaktirajte nas danas za vaš projekat.",
+      "title": "Spremni za štampu?"
+    },
+    "mission": {
+      "content": "Pouzdan 3D štampa za sve.",
+      "title": "Naša misija"
+    },
+    "subtitle": "Bavimo se budućnošću, sloj po sloj.",
+    "team": {
+      "member1": {
+        "name": "Luka",
+        "role": "Osnivač"
+      },
+      "member2": {
+        "name": "Milica",
+        "role": "Dizajner"
+      },
+      "member3": {
+        "name": "Nikola",
+        "role": "Inženjer"
+      },
+      "title": "Naš tim"
+    },
+    "values": {
+      "community": {
+        "content": "Podrška lokalnim stvaraocima.",
+        "title": "Zajednica"
+      },
+      "innovation": {
+        "content": "Primjena najnovije tehnologije.",
+        "title": "Inovacije"
+      },
+      "quality": {
+        "content": "Preciznost u svakom sloju.",
+        "title": "Kvalitet"
+      },
+      "title": "Naše vrijednosti",
+      "trust": {
+        "content": "Vjerujemo da ćete cijeniti naš rad.",
+        "title": "Povjerenje"
+      }
+    }
+  },
   "auth": {
     "back": "Nazad na početnu",
     "fields": {
@@ -19,6 +64,7 @@
       "title": "Dobrodošao nazad",
       "toggle": "Nemaš nalog? Registruj se"
     },
+    "orContinueWith": "Ili nastavi sa",
     "register": {
       "submit": "Registruj se",
       "subtitle": "Počni da štampaš svoje ideje danas",
@@ -30,8 +76,107 @@
       "subtitle": "Kreiraj novu sigurnu lozinku",
       "title": "Nova lozinka",
       "token": "Kod iz mejla"
+    }
+  },
+  "blog": {
+    "back": "Nazad na Blog",
+    "categories": {
+      "caseStudies": "Кейсы",
+      "industry": "Industrija",
+      "materials": "Materijali",
+      "technology": "Tehnologija",
+      "title": "Kategorije",
+      "tutorials": "Vodiči"
+    },
+    "dateFormat": "{date}",
+    "featured": "Izdvojeno",
+    "featuredPost": {
+      "excerpt": "Kako digitalna proizvodnja mijenja lokalni zanat.",
+      "title": "Budućnost 3D štampe u Crnoj Gori"
+    },
+    "latestPosts": "Najnoviji članci",
+    "newsletter": {
+      "content": "Budite u toku.",
+      "placeholder": "Email",
+      "subscribe": "Prijavi se",
+      "title": "Bilten"
+    },
+    "post1": {
+      "excerpt": "Odabir tehnologije.",
+      "title": "FDM i SLA"
+    },
+    "post2": {
+      "excerpt": "Koji koristiti?",
+      "title": "Vodič materijala"
+    },
+    "post3": {
+      "excerpt": "Optimizujte STL.",
+      "title": "Savjeti za dizajn"
+    },
+    "readMore": "Pročitaj više",
+    "subtitle": "Vijesti i savjeti o 3D štampi"
+  },
+  "careers": {
+    "apply": "Prijavi se",
+    "contact": "Kontakt",
+    "cta": {
+      "content": "Pošaljite info.",
+      "title": "Ostalo?"
+    },
+    "openPositions": {
+      "position1": {
+        "description": "Upravljanje farmom štampača.",
+        "location": "Herceg Novi",
+        "title": "Tehničar",
+        "type": "Puno radno vrijeme"
+      },
+      "position2": {
+        "description": "Pomoć klijentima.",
+        "location": "Crna Gora",
+        "title": "Podrška",
+        "type": "Daljinski"
+      },
+      "title": "Pozicije"
+    },
+    "process": {
+      "step1": {
+        "description": "Pošaljite CV.",
+        "title": "Prijava"
+      },
+      "step2": {
+        "description": "Pregledamo.",
+        "title": "Pregled"
+      },
+      "step3": {
+        "description": "Razgovor.",
+        "title": "Intervju"
+      },
+      "step4": {
+        "description": "Gotovo.",
+        "title": "Ponuda"
+      },
+      "title": "Proces"
     },
-    "orContinueWith": "Ili nastavi sa"
+    "subtitle": "Pridružite se timu.",
+    "whyWork": {
+      "growth": {
+        "content": "Brz rast.",
+        "title": "Rast"
+      },
+      "impact": {
+        "content": "Stvarni uticaj.",
+        "title": "Uticaj"
+      },
+      "innovation": {
+        "content": "Najbolja tehnologija.",
+        "title": "Inovacije"
+      },
+      "team": {
+        "content": "Sjajni ljudi.",
+        "title": "Tim"
+      },
+      "title": "Zašto mi?"
+    }
   },
   "chat": {
     "admin": "Podrška",
@@ -41,6 +186,30 @@
     "title": "Čat za narudžbu",
     "unread": "Nova poruka"
   },
+  "common": {
+    "save_continue": "Sačuvaj i nastavi"
+  },
+  "contact": {
+    "form": {
+      "message": "Poruka",
+      "name": "Ime",
+      "subject": "Naslov",
+      "submit": "Pošalji",
+      "title": "Email"
+    },
+    "info": {
+      "email": "hello@radionica3d.me",
+      "location": "Herceg Novi",
+      "phone": "+382 68 888 777",
+      "title": "Info"
+    },
+    "subtitle": "Budimo u kontaktu."
+  },
+  "cookies": {
+    "accept": "Prihvati",
+    "leave": "Napusti",
+    "message": "Ovaj sajt koristi kolačiće za pružanje boljeg korisničkog iskustva."
+  },
   "errors": {
     "field_required": "Ovo polje je obavezno",
     "missing": "Ovo polje je obavezno",
@@ -68,6 +237,202 @@
     "tagline": "Radionica 3D — Servis izgrađen na povjerenju. Mi oživljavamo tvoje ideje, ti procjenjuješ naš rad.",
     "terms": "Uslovi"
   },
+  "guidelines": {
+    "designTips": {
+      "fdm": {
+        "bridging": "Bridging",
+        "infill": "Infill",
+        "layerHeight": "Layer Height",
+        "overhangs": "Overhangs",
+        "title": "FDM"
+      },
+      "sla": {
+        "drainage": "Drainage",
+        "orientation": "Orientation",
+        "postProcessing": "Post-processing",
+        "supports": "Supports",
+        "title": "SLA"
+      },
+      "title": "Savjeti"
+    },
+    "filePreparation": {
+      "formats": {
+        "3mf": "3MF",
+        "obj": "OBJ",
+        "step": "STEP",
+        "stl": "STL",
+        "title": "Formati"
+      },
+      "requirements": {
+        "normals": "Correct Normals",
+        "scale": "Proper Scale",
+        "title": "Zahtjevi",
+        "wallThickness": "Min Wall Thickness",
+        "watertight": "Watertight"
+      },
+      "title": "Priprema fajla"
+    },
+    "help": {
+      "contact": "Contact",
+      "description": "Ask us.",
+      "helpCenter": "Help Center",
+      "title": "Need Help?"
+    },
+    "materialSelection": {
+      "abs": {
+        "bestFor": "Tech parts",
+        "considerations": "Heat resistant",
+        "name": "ABS"
+      },
+      "petg": {
+        "bestFor": "Durable",
+        "considerations": "Easy print",
+        "name": "PETG"
+      },
+      "pla": {
+        "bestFor": "Prototypes",
+        "considerations": "Bio-degradable",
+        "name": "PLA"
+      },
+      "resin": {
+        "bestFor": "Detail",
+        "considerations": "UV sensitive",
+        "name": "Resin"
+      },
+      "table": {
+        "bestFor": "Best For",
+        "considerations": "Notes",
+        "material": "Material"
+      },
+      "title": "Materijali"
+    },
+    "nuances": {
+      "description": "Proizvodi napravljeni FDM metodom (slojevito topljenje plastike) imaju niz vizuelnih i taktilnih karakteristika koje su normalne za tehnologiju i ne smatramo ih defektima.",
+      "disclaimer": {
+        "text": "Ove karakteristike su posledica same prirode tehnologije FDM štampe i ne utiču na funkcionalnost proizvoda.",
+        "title": "Garancija kvaliteta"
+      },
+      "items": {
+        "colorVariations": {
+          "description": "Blage varijacije nijanse ili sjaja.",
+          "details": "Čak i unutar iste boje, mogu se javiti varijacije u serijama.",
+          "title": "Varijacije boja"
+        },
+        "dimensionalTolerances": {
+          "description": "Manja odstupanja u ukupnim dimenzijama.",
+          "details": "Uzrokovano svojstvima materijala i efektima hlađenja.",
+          "title": "Tolerancije"
+        },
+        "layerStructure": {
+          "description": "Vidljive horizontalne linije na površini.",
+          "details": "Prirodan rezultat procesa proizvodnje sloj po sloj.",
+          "title": "Slojevita struktura"
+        },
+        "overhangs": {
+          "description": "Moguće prohvjesivanje na neoslonjenim djelovima.",
+          "details": "Urođeno ograničenje za geometrije bez donje potpore.",
+          "title": "Prepusti"
+        },
+        "stringing": {
+          "description": "Tanke plastične niti između elemenata.",
+          "details": "Obično se lako uklanjaju i ne utiču na integritet.",
+          "title": "Niti (Stringing)"
+        },
+        "supportMarks": {
+          "description": "Mali tragovi na mjestima gdje su bile podrške.",
+          "details": "Očekivane varijacije površine od potrebnih podrški.",
+          "title": "Tragovi podrški"
+        },
+        "surfaceImperfections": {
+          "description": "Blaga hrapavost ili mikro-artefakti.",
+          "details": "Uobičajeno na složenoj geometriji i finim detaljima.",
+          "title": "Tekstura površine"
+        },
+        "zSeam": {
+          "description": "Vertikalna linija ili tačka na površini.",
+          "details": "Tačka gdje svaki sloj štampe počinje i završava.",
+          "title": "Z-šav"
+        }
+      },
+      "subtitle": "Šta očekivati od FDM štampe",
+      "title": "Nijanse 3D štampe"
+    },
+    "orderingProcess": {
+      "step1": {
+        "description": "Send file",
+        "title": "Upload"
+      },
+      "step2": {
+        "description": "We craft",
+        "title": "Print"
+      },
+      "step3": {
+        "description": "By mail",
+        "title": "Ship"
+      },
+      "step4": {
+        "description": "Trust model",
+        "title": "Pay"
+      },
+      "title": "Process"
+    },
+    "subtitle": "Zdravo okruženje.",
+    "title": "Pravila"
+  },
+  "help": {
+    "categories": {
+      "ordering": {
+        "description": "Kako radi.",
+        "title": "Naručivanje"
+      },
+      "pricing": {
+        "description": "Model povjerenja.",
+        "title": "Cijene"
+      },
+      "shipping": {
+        "description": "Dostava poštom.",
+        "title": "Dostava"
+      },
+      "technical": {
+        "description": "Datoteke i specifikacije.",
+        "title": "Tehničko"
+      },
+      "title": "Kategorije"
+    },
+    "contact": {
+      "button": "Podrška",
+      "description": "Pišite nam.",
+      "email": "Email",
+      "title": "Kontakt"
+    },
+    "faq": {
+      "q1": {
+        "answer": "Vi odlučujete o vrijednosti.",
+        "question": "Koliko da platim?"
+      },
+      "q2": {
+        "answer": "Obično 2-3 dana.",
+        "question": "Vrijeme dostave?"
+      },
+      "q3": {
+        "answer": "STL, OBJ, STEP.",
+        "question": "Koje datoteke?"
+      },
+      "q4": {
+        "answer": "Vaši modeli su sigurni.",
+        "question": "Povjerljivost?"
+      },
+      "q5": {
+        "answer": "Pomažemo oko dizajna.",
+        "question": "Podrška?"
+      },
+      "title": "FAQ"
+    },
+    "search": {
+      "placeholder": "Traži..."
+    },
+    "subtitle": "Kako možemo pomoći?"
+  },
   "hero": {
     "badge": "Povjerenje u svakom sloju",
     "description": "Jedinstveni servis 3D štampe: pošaljite model, dobijte gotov proizvod poštom i platite onoliko koliko smatrate da vrijedi.",
@@ -90,11 +455,69 @@
     "logOut": "Odjavi se",
     "materials": "Materijali",
     "myOrders": "Moje narudžbe",
-    "portfolio": "Portfolio",
     "philosophy": "Naš pristup",
+    "portfolio": "Portfolio",
     "register": "Registruj se",
     "services": "Usluge"
   },
+  "nuances": {
+    "description": "Proizvodi napravljeni FDM metodom (slojevito topljenje plastike) imaju niz vizuelnih i taktilnih karakteristika koje su normalne za tehnologiju i ne smatramo ih defektima.",
+    "disclaimer": {
+      "text": "Ove karakteristike su posledica same prirode tehnologije FDM štampe.",
+      "title": "Garancija kvaliteta"
+    },
+    "aiDisclaimer": "Sve fotografije objašnjenja su generisane pomoću vještačke inteligencije u ilustrativne svrhe.",
+    "items": {
+      "colorVariations": {
+        "description": "Blage varijacije nijanse.",
+        "details": "Razlike u serijama materijala.",
+        "title": "Boja"
+      },
+      "dimensionalTolerances": {
+        "description": "Manja odstupanja dimenzija.",
+        "details": "Fizičko svojstvo hlađenja.",
+        "title": "Tolerancije"
+      },
+      "layerStructure": {
+        "description": "Vidljive linije slojeva.",
+        "details": "Rezultat slojevite proizvodnje.",
+        "title": "Slojevita struktura"
+      },
+      "overhangs": {
+        "description": "Opuštanje na neoslonjenim djelovima.",
+        "details": "Zavisi od geometrije.",
+        "title": "Prepusti"
+      },
+      "stringing": {
+        "description": "Tanke plastične niti.",
+        "details": "Lako se uklanjaju.",
+        "title": "Niti"
+      },
+      "supportMarks": {
+        "description": "Mali tragovi od potpornih struktura.",
+        "details": "Očekivani ostaci.",
+        "title": "Tragovi podrški"
+      },
+      "surfaceImperfections": {
+        "description": "Blaga hrapavost na složenim oblicima.",
+        "details": "Tehnološka norma.",
+        "title": "Tekstura površine"
+      },
+      "zSeam": {
+        "description": "Početna/završna tačka slojeva.",
+        "details": "Obično se skriva u uglovima.",
+        "title": "Z-šav"
+      }
+    },
+    "subtitle": "Šta očekivati",
+    "title": "Nijanse 3D štampe"
+  },
+  "portfolio": {
+    "description": "Istražite naše uspješne projekte 3D štampe realizovane za naše klijente u Crnoj Gori.",
+    "empty": "Naša galerija raste. Navratite uskoro!",
+    "title": "Galerija",
+    "titleGradient": "radova"
+  },
   "pricing": {
     "badge": "Politika povjerenja",
     "description": "Bez uplate unaprijed i komplikovanih kalkulatora. Plaćaš samo za rezultat u koji vjeruješ.",
@@ -110,567 +533,196 @@
       "step4": "Procijenite naš rad i platite svoju cijenu"
     }
   },
-  "services": {
-    "badge": "Naše mogućnosti",
-    "description": "Odabraćemo optimalnu metodu štampe za tvoj specifični dizajn.",
-    "fdm": {
-      "description": "Izdržljivi djelovi od industrijske plastike.",
-      "title": "FDM Štampa"
-    },
-    "sla": {
-      "description": "Maksimalna preciznost i glatka industrijska obrada.",
-      "title": "SLA Resin"
-    },
-    "title": "Glavne",
-    "titleGradient": "tehnologije"
-  },
-  "portfolio": {
-    "title": "Galerija",
-    "titleGradient": "radova",
-    "description": "Istražite naše uspješne projekte 3D štampe realizovane za naše klijente u Crnoj Gori.",
-    "empty": "Naša galerija raste. Navratite uskoro!"
-  },
-  "upload": {
-    "addressPlaceholder": "Grad, Poštanski broj, Adresa (slobodna forma)",
-    "badge": "Kreiranje projekta",
-    "allowPortfolio": "Dozvoli objavljivanje u javnom portfoliju",
-    "allowPortfolioDesc": "Prikazaćemo fotografije tvog modela kako bismo inspirisali druge kupce.",
-    "selectMaterial": "Odaberi materijal",
-    "browse": "pretraži datoteke",
-    "continue": "Pošalji zahtjev",
-    "description": "Otpremite datoteku ili navedite link do modela (Thingiverse, Printables i dr.). Kontaktiraćemo vas radi detalja.",
-    "dropzone": "Otpremi datoteke (STL, OBJ, STEP)",
-    "dropzoneActive": "Prevucite datoteke ovdje",
-    "email": "Email adresa",
-    "firstName": "Ime",
-    "lastName": "Prezime",
-    "modelLink": "Link do modela (opciono)",
-    "modelLinkPlaceholder": "https://www.printables.com/model/...",
-    "notes": "Napomene uz narudžbu",
-    "notesPlaceholder": "Želje za bojom, materijalom, specifičnim zahtjevima ili posebne instrukcije...",
-    "phone": "Broj telefona",
-    "quantity": "Broj kopija",
-    "shippingAddress": "Adresa isporuke",
-    "submitting": "Slanje...",
-    "success": "Zahtjev je uspješno poslat! Kontaktiraćemo vas uskoro.",
-    "title": "Pošaljite",
-    "titleGradient": "vašu ideju",
-    "uploadedFiles": "Odabrane datoteke"
-  },
-  "whyTrust": {
-    "description1": "Vjerujemo da kvalitetna 3D štampa treba da bude dostupna, a proces — maksimalno jednostavan. Naše iskustvo nam omogućava da preuzmemo rizike: sigurni smo u našu opremu i kvalitet materijala.",
-    "description2": "Ovaj pristup eliminiše barijere \"komplikovanih proračuna\" i daje vam mogućnost da dobijete upravo ono što ste zamislili, procjenjujući rezultat samostalno.",
-    "items": {
-      "noCommissions": "Bez provizija",
-      "noPrepayment": "Bez uplate unaprijed",
-      "shipping": "Isporuka poštom",
-      "yourPrice": "Tvoja cijena"
-    },
-    "title": "Zašto nam",
-    "titleItalic": "vjeruju"
-  },
   "privacy": {
-    "title": "Politika privatnosti",
-    "subtitle": "Datum stupanja na snagu: 11. april 2026.\nRadionica3d („mi”, „nas”) upravlja ovim sajtom i odgovorna je za način na koji se vaši lični podaci prikupljaju i koriste.",
     "intro": "Ova Politika privatnosti opisuje:\n• koje podatke prikupljamo\n• kako i zašto ih koristimo\n• gdje se čuvaju i kako se prenose\n• vaša prava u vezi sa vašim podacima\n• kako da nas kontaktirate u vezi sa privatnošću\n\nPosjetom našem sajtu, stupanjem u kontakt sa nama ili korišćenjem naših usluga, prihvatate ovu politiku.",
     "sections": {
       "01_data": {
-        "title": "1. Podaci koje prikupljamo",
-        "content": "Možemo prikupljati i obrađivati:\n• Kontakt podatke: ime, email, broj telefona, kompanija\n• Podatke o projektima i otpremanje: poruke, brifove, 3D modele, slike, skice\n• Podatke o transakcijama: ponude, fakture, plaćanja\n• Tehničke podatke: IP adresa, tip pretraživača, kolačići, analitika\n\nNe prikupljamo osjetljive kategorije (npr. rasa, zdravlje, vjerska uvjerenja)."
+        "content": "Možemo prikupljati i obrađivati:\n• Kontakt podatke: ime, email, broj telefona, kompanija\n• Podatke o projektima i otpremanje: poruke, brifove, 3D modele, slike, skice\n• Podatke o transakcijama: ponude, fakture, plaćanja\n• Tehničke podatke: IP adresa, tip pretraživača, kolačići, analitika\n\nNe prikupljamo osjetljive kategorije (npr. rasa, zdravlje, vjerska uvjerenja).",
+        "title": "1. Podaci koje prikupljamo"
       },
       "02_usage": {
-        "title": "2. Kako koristimo vaše podatke",
-        "content": "Podatke koristimo za:\n• odgovaranje na upite i izradu ponuda\n• upravljanje projektima, porudžbinama, isporukama\n• vođenje evidencije o klijentima u našim sistemima\n• slanje ažuriranja ili potvrda (email ili WhatsApp/Viber/Telegram, uz saglasnost)\n• poboljšanje našeg sajta i usluga putem anonimne analitike\n\nVaše lične podatke ne prodajemo niti iznajmljujemo trećim licima."
+        "content": "Podatke koristimo za:\n• odgovaranje na upite i izradu ponuda\n• upravljanje projektima, porudžbinama, isporukama\n• vođenje evidencije o klijentima u našim sistemima\n• slanje ažuriranja ili potvrda (email ili WhatsApp/Viber/Telegram, uz saglasnost)\n• poboljšanje našeg sajta i usluga putem anonimne analitike\n\nVaše lične podatke ne prodajemo niti iznajmljujemo trećim licima.",
+        "title": "2. Kako koristimo vaše podatke"
       },
       "03_basis": {
-        "title": "3. Pravni osnov za obradu",
-        "content": "Prema EU GDPR-u, oslanjamo se na:\n• Ugovor — za pružanje traženih usluga (ponude, proizvodnja)\n• Legitimni interes — za administraciju poslovanja, upravljanje klijentima i odgovaranje na upite\n• Saglasnost — za opcioni marketing ili obavještenja\n\nAko date saglasnost, možete je povući u bilo kom trenutku."
+        "content": "Prema EU GDPR-u, oslanjamo se na:\n• Ugovor — za pružanje traženih usluga (ponude, proizvodnja)\n• Legitimni interes — za administraciju poslovanja, upravljanje klijentima i odgovaranje na upite\n• Saglasnost — za opcioni marketing ili obavještenja\n\nAko date saglasnost, možete je povući u bilo kom trenutku.",
+        "title": "3. Pravni osnov za obradu"
       },
       "04_uploads": {
-        "title": "4. Otpremanje fajlova i poslati sadržaj",
-        "content": "Kada otpremite fajlove ili modele, oni se obrađuju u skladu sa našim Ugovorom o dostavljanju sadržaja i zaštiti intelektualne svojine. Čuvamo fajlove projekta dok je posao aktivan. Nakon završetka posla ili nakon određenog perioda (npr. 30 dana za privremene usluge), možemo ih izbrisati ili anonimizovati."
+        "content": "Kada otpremite fajlove ili modele, oni se obrađuju u skladu sa našim Ugovorom o dostavljanju sadržaja i zaštiti intelektualne svojine. Čuvamo fajlove projekta dok je posao aktivan. Nakon završetka posla ili nakon određenog perioda (npr. 30 dana za privremene usluge), možemo ih izbrisati ili anonimizovati.",
+        "title": "4. Otpremanje fajlova i poslati sadržaj"
       },
       "05_security": {
-        "title": "5. Čuvanje i bezbjednost",
-        "content": "Skladištimo podatke na sigurnim serverima pod našom kontrolom u EU. Koristimo enkripciju i ograničen pristup osoblja. Zapisi o transakcijama i projektima čuvaju se do šest godina (radi računovodstvene i pravne usklađenosti). Ako klijent zatraži da zadržimo fajlove projekta za ponovne porudžbine, to ćemo činiti bezbjedno dok ne dobijemo drugačija uputstva."
+        "content": "Skladištimo podatke na sigurnim serverima pod našom kontrolom u EU. Koristimo enkripciju i ograničen pristup osoblja. Zapisi o transakcijama i projektima čuvaju se do šest godina (radi računovodstvene i pravne usklađenosti). Ako klijent zatraži da zadržimo fajlove projekta za ponovne porudžbine, to ćemo činiti bezbjedno dok ne dobijemo drugačija uputstva.",
+        "title": "5. Čuvanje i bezbjednost"
       },
       "06_sharing": {
-        "title": "6. Dijeljenje podataka i usluge trećih lica",
-        "content": "Lične podatke dijelimo samo kada je neophodno za pružanje usluge, kao što su:\n• Platni procesori (za transakcije)\n• Platforme za upravljanje porudžbinama/fajlovima\n• Logistički partneri\n• Računovođe, pravni savjetnici\nSve treće strane su obavezane na povjerljivost i zaštitu podataka u skladu sa EU GDPR-om."
+        "content": "Lične podatke dijelimo samo kada je neophodno za pružanje usluge, kao što su:\n• Platni procesori (za transakcije)\n• Platforme za upravljanje porudžbinama/fajlovima\n• Logistički partneri\n• Računovođe, pravni savjetnici\nSve treće strane su obavezane na povjerljivost i zaštitu podataka u skladu sa EU GDPR-om.",
+        "title": "6. Dijeljenje podataka i usluge trećih lica"
       },
       "07_rights": {
-        "title": "7. Vaša prava",
-        "content": "Imate pravo na: pristup svojim podacima, ispravku netačnosti, zahtijevanje brisanja (gdje je zakonom dozvoljeno), prigovor na obradu ili povlačenje saglasnosti, zahtijevanje ograničenja ili prenosivosti podataka. Zahtjeve šaljite na Hello@radionica3d.me. Odgovorićemo u roku od 30 dana."
+        "content": "Imate pravo na: pristup svojim podacima, ispravku netačnosti, zahtijevanje brisanja (gdje je zakonom dozvoljeno), prigovor na obradu ili povlačenje saglasnosti, zahtijevanje ograničenja ili prenosivosti podataka. Zahtjeve šaljite na Hello@radionica3d.me. Odgovorićemo u roku od 30 dana.",
+        "title": "7. Vaša prava"
       },
       "08_cookies": {
-        "title": "8. Kolačići i analitika",
-        "content": "Koristimo neophodne kolačiće za funkcionalnost sajta i analitičke kolačiće za praćenje korišćenja. Kolačićima možete upravljati ili ih isključiti u podešavanjima pretraživača."
+        "content": "Koristimo neophodne kolačiće za funkcionalnost sajta i analitičke kolačiće za praćenje korišćenja. Kolačićima možete upravljati ili ih isključiti u podešavanjima pretraživača.",
+        "title": "8. Kolačići i analitika"
       },
       "09_international": {
-        "title": "9. Međunarodni prenos i obrada u trećim zemljama",
-        "content": "Iako većinu podataka čuvamo u EU, radimo i sa pružaocima usluga čiji se serveri mogu nalaziti izvan EU (uključujući SAD). Kada se podaci prenose međunarodno, osiguravamo zaštitu putem Standardnih ugovornih klauzula (SCC) ili ekvivalentnih zaštitnih mjera u skladu sa EU GDPR-om."
+        "content": "Iako većinu podataka čuvamo u EU, radimo i sa pružaocima usluga čiji se serveri mogu nalaziti izvan EU (uključujući SAD). Kada se podaci prenose međunarodno, osiguravamo zaštitu putem Standardnih ugovornih klauzula (SCC) ili ekvivalentnih zaštitnih mjera u skladu sa EU GDPR-om.",
+        "title": "9. Međunarodni prenos i obrada u trećim zemljama"
       },
       "10_updates": {
-        "title": "10. Ažuriranje politike",
-        "content": "Povremeno možemo revidirati ovu politiku. Najnovija verzija je uvijek dostupna na našem sajtu."
+        "content": "Povremeno možemo revidirati ovu politiku. Najnovija verzija je uvijek dostupna na našem sajtu.",
+        "title": "10. Ažuriranje politike"
       },
       "11_contact": {
-        "title": "11. Kontakt i prigovori",
-        "content": "Ako imate pitanja ili nedoumica o tome kako rukujemo vašim podacima, kontaktirajte nas na Hello@radionica3d.me."
-      }
-    }
-  },
-  "cookies": {
-    "message": "Ovaj sajt koristi kolačiće za pružanje boljeg korisničkog iskustva.",
-    "accept": "Prihvati",
-    "leave": "Napusti"
-  },
-  "nuances": {
-    "title": "Nijanse 3D štampe",
-    "subtitle": "Šta očekivati",
-    "description": "Proizvodi napravljeni FDM metodom (slojevito topljenje plastike) imaju niz vizuelnih i taktilnih karakteristika koje su normalne za tehnologiju i ne smatramo ih defektima.",
-    "disclaimer": {
-      "title": "Garancija kvaliteta",
-      "text": "Ove karakteristike su posledica same prirode tehnologije FDM štampe."
-    },
-    "items": {
-      "layerStructure": {
-        "title": "Slojevita struktura",
-        "description": "Vidljive linije slojeva.",
-        "details": "Rezultat slojevite proizvodnje."
-      },
-      "surfaceImperfections": {
-        "title": "Tekstura površine",
-        "description": "Blaga hrapavost na složenim oblicima.",
-        "details": "Tehnološka norma."
-      },
-      "supportMarks": {
-        "title": "Tragovi podrški",
-        "description": "Mali tragovi od potpornih struktura.",
-        "details": "Očekivani ostaci."
-      },
-      "zSeam": {
-        "title": "Z-šav",
-        "description": "Početna/završna tačka slojeva.",
-        "details": "Obično se skriva u uglovima."
-      },
-      "overhangs": {
-        "title": "Prepusti",
-        "description": "Opuštanje na neoslonjenim djelovima.",
-        "details": "Zavisi od geometrije."
-      },
-      "dimensionalTolerances": {
-        "title": "Tolerancije",
-        "description": "Manja odstupanja dimenzija.",
-        "details": "Fizičko svojstvo hlađenja."
-      },
-      "colorVariations": {
-        "title": "Boja",
-        "description": "Blage varijacije nijanse.",
-        "details": "Razlike u serijama materijala."
-      },
-      "stringing": {
-        "title": "Niti",
-        "description": "Tanke plastične niti.",
-        "details": "Lako se uklanjaju."
-      }
-    }
-  },
-  "about": {
-    "subtitle": "Bavimo se budućnošću, sloj po sloj.",
-    "mission": {
-      "title": "Naša misija",
-      "content": "Pouzdan 3D štampa za sve."
-    },
-    "values": {
-      "title": "Naše vrijednosti",
-      "trust": {
-        "title": "Povjerenje",
-        "content": "Vjerujemo da ćete cijeniti naš rad."
-      },
-      "quality": {
-        "title": "Kvalitet",
-        "content": "Preciznost u svakom sloju."
-      },
-      "innovation": {
-        "title": "Inovacije",
-        "content": "Primjena najnovije tehnologije."
-      },
-      "community": {
-        "title": "Zajednica",
-        "content": "Podrška lokalnim stvaraocima."
+        "content": "Ako imate pitanja ili nedoumica o tome kako rukujemo vašim podacima, kontaktirajte nas na Hello@radionica3d.me.",
+        "title": "11. Kontakt i prigovori"
       }
     },
-    "team": {
-      "title": "Naš tim",
-      "member1": {
-        "name": "Luka",
-        "role": "Osnivač"
-      },
-      "member2": {
-        "name": "Milica",
-        "role": "Dizajner"
-      },
-      "member3": {
-        "name": "Nikola",
-        "role": "Inženjer"
-      }
-    },
-    "cta": {
-      "title": "Spremni za štampu?",
-      "content": "Kontaktirajte nas danas za vaš projekat."
-    }
+    "subtitle": "Datum stupanja na snagu: 11. april 2026.\nRadionica3d („mi”, „nas”) upravlja ovim sajtom i odgovorna je za način na koji se vaši lični podaci prikupljaju i koriste.",
+    "title": "Politika privatnosti"
   },
-  "careers": {
-    "subtitle": "Pridružite se timu.",
-    "apply": "Prijavi se",
-    "contact": "Kontakt",
-    "whyWork": {
-      "title": "Zašto mi?",
-      "innovation": {
-        "title": "Inovacije",
-        "content": "Najbolja tehnologija."
-      },
-      "growth": {
-        "title": "Rast",
-        "content": "Brz rast."
-      },
-      "team": {
-        "title": "Tim",
-        "content": "Sjajni ljudi."
-      },
-      "impact": {
-        "title": "Uticaj",
-        "content": "Stvarni uticaj."
-      }
-    },
-    "openPositions": {
-      "title": "Pozicije",
-      "position1": {
-        "title": "Tehničar",
-        "type": "Puno radno vrijeme",
-        "location": "Herceg Novi",
-        "description": "Upravljanje farmom štampača."
-      },
-      "position2": {
-        "title": "Podrška",
-        "type": "Daljinski",
-        "location": "Crna Gora",
-        "description": "Pomoć klijentima."
-      }
-    },
-    "process": {
-      "title": "Proces",
-      "step1": {
-        "title": "Prijava",
-        "description": "Pošaljite CV."
-      },
-      "step2": {
-        "title": "Pregled",
-        "description": "Pregledamo."
-      },
-      "step3": {
-        "title": "Intervju",
-        "description": "Razgovor."
-      },
-      "step4": {
-        "title": "Ponuda",
-        "description": "Gotovo."
-      }
-    },
-    "cta": {
-      "title": "Ostalo?",
-      "content": "Pošaljite info."
-    }
+  "profile": {
+    "complete_subtitle": "Molimo unesite svoje kontakt podatke da biste nastavili sa narudžbom.",
+    "complete_title": "Popunite svoj profil"
   },
-  "blog": {
-    "subtitle": "Vijesti i savjeti o 3D štampi",
-    "readMore": "Pročitaj više",
-    "featured": "Izdvojeno",
-    "dateFormat": "{date}",
-    "latestPosts": "Najnoviji članci",
-    "featuredPost": {
-      "title": "Budućnost 3D štampe u Crnoj Gori",
-      "excerpt": "Kako digitalna proizvodnja mijenja lokalni zanat."
-    },
-    "post1": {
-      "title": "FDM i SLA",
-      "excerpt": "Odabir tehnologije."
-    },
-    "post2": {
-      "title": "Vodič materijala",
-      "excerpt": "Koji koristiti?"
-    },
-    "post3": {
-      "title": "Savjeti za dizajn",
-      "excerpt": "Optimizujte STL."
-    },
-    "categories": {
-      "title": "Kategorije",
-      "technology": "Tehnologija",
-      "materials": "Materijali",
-      "tutorials": "Vodiči",
-      "caseStudies": "Кейсы",
-      "industry": "Industrija"
+  "services": {
+    "badge": "Naše mogućnosti",
+    "description": "Odabraćemo optimalnu metodu štampe za tvoj specifični dizajn.",
+    "fdm": {
+      "description": "Izdržljivi djelovi od industrijske plastike.",
+      "title": "FDM Štampa"
     },
-    "newsletter": {
-      "title": "Bilten",
-      "content": "Budite u toku.",
-      "placeholder": "Email",
-      "subscribe": "Prijavi se"
+    "sla": {
+      "description": "Maksimalna preciznost i glatka industrijska obrada.",
+      "title": "SLA Resin"
     },
-    "back": "Nazad na Blog"
+    "title": "Glavne",
+    "titleGradient": "tehnologije"
   },
-  "help": {
-    "subtitle": "Kako možemo pomoći?",
-    "search": {
-      "placeholder": "Traži..."
-    },
-    "categories": {
-      "title": "Kategorije",
-      "ordering": {
-        "title": "Naručivanje",
-        "description": "Kako radi."
-      },
-      "pricing": {
-        "title": "Cijene",
-        "description": "Model povjerenja."
-      },
-      "shipping": {
-        "title": "Dostava",
-        "description": "Dostava poštom."
-      },
-      "technical": {
-        "title": "Tehničko",
-        "description": "Datoteke i specifikacije."
-      }
-    },
-    "faq": {
-      "title": "FAQ",
-      "q1": {
-        "question": "Koliko da platim?",
-        "answer": "Vi odlučujete o vrijednosti."
-      },
-      "q2": {
-        "question": "Vrijeme dostave?",
-        "answer": "Obično 2-3 dana."
-      },
-      "q3": {
-        "question": "Koje datoteke?",
-        "answer": "STL, OBJ, STEP."
-      },
-      "q4": {
-        "question": "Povjerljivost?",
-        "answer": "Vaši modeli su sigurni."
-      },
-      "q5": {
-        "question": "Podrška?",
-        "answer": "Pomažemo oko dizajna."
-      }
+  "terms": {
+    "changes": {
+      "content": "Podložno izmjenama.",
+      "title": "Izmjene"
     },
     "contact": {
-      "title": "Kontakt",
-      "description": "Pišite nam.",
-      "button": "Podrška",
-      "email": "Email"
-    }
-  },
-  "contact": {
-    "subtitle": "Budimo u kontaktu.",
-    "form": {
-      "title": "Email",
-      "name": "Ime",
-      "subject": "Naslov",
-      "message": "Poruka",
-      "submit": "Pošalji"
+      "button": "Pravnik",
+      "description": "Pravna pitanja.",
+      "email": "Email",
+      "title": "Kontakt"
     },
-    "info": {
-      "title": "Info",
-      "email": "hello@radionica3d.me",
-      "phone": "+382 68 888 777",
-      "location": "Herceg Novi"
-    }
-  },
-  "guidelines": {
-    "title": "Pravila",
-    "subtitle": "Zdravo okruženje.",
-    "filePreparation": {
-      "title": "Priprema fajla",
-      "formats": {
-        "title": "Formati",
-        "stl": "STL",
-        "obj": "OBJ",
-        "step": "STEP",
-        "3mf": "3MF"
+    "intellectualProperty": {
+      "companyRights": {
+        "content": "Mi posjedujemo našu tehnologiju.",
+        "title": "Naša prava"
       },
-      "requirements": {
-        "title": "Zahtjevi",
-        "watertight": "Watertight",
-        "normals": "Correct Normals",
-        "scale": "Proper Scale",
-        "wallThickness": "Min Wall Thickness"
+      "description": "Vlasnička prava.",
+      "title": "IP",
+      "userRights": {
+        "content": "Vi posjedujete svoje modele.",
+        "title": "Vaša prava"
       }
     },
-    "designTips": {
-      "title": "Savjeti",
-      "fdm": {
-        "title": "FDM",
-        "overhangs": "Overhangs",
-        "bridging": "Bridging",
-        "layerHeight": "Layer Height",
-        "infill": "Infill"
-      },
-      "sla": {
-        "title": "SLA",
-        "supports": "Supports",
-        "orientation": "Orientation",
-        "drainage": "Drainage",
-        "postProcessing": "Post-processing"
-      }
+    "introduction": {
+      "content": "Dobrodošli u Radionica 3D.",
+      "title": "Uvod"
     },
-    "materialSelection": {
-      "title": "Materijali",
-      "table": {
-        "material": "Material",
-        "bestFor": "Best For",
-        "considerations": "Notes"
-      },
-      "pla": {
-        "name": "PLA",
-        "bestFor": "Prototypes",
-        "considerations": "Bio-degradable"
-      },
-      "abs": {
-        "name": "ABS",
-        "bestFor": "Tech parts",
-        "considerations": "Heat resistant"
-      },
-      "petg": {
-        "name": "PETG",
-        "bestFor": "Durable",
-        "considerations": "Easy print"
+    "liability": {
+      "description": "Pravne granice.",
+      "limitations": {
+        "point1": "Nema zloupotrebe.",
+        "point2": "Lokalni zakoni.",
+        "point3": "Sigurno rukovanje.",
+        "point4": "Bez garancije.",
+        "title": "Granice"
       },
-      "resin": {
-        "name": "Resin",
-        "bestFor": "Detail",
-        "considerations": "UV sensitive"
-      }
+      "title": "Odgovornost"
     },
-    "orderingProcess": {
-      "title": "Process",
-      "step1": {
-        "title": "Upload",
-        "description": "Send file"
-      },
-      "step2": {
-        "title": "Print",
-        "description": "We craft"
-      },
-      "step3": {
-        "title": "Ship",
-        "description": "By mail"
-      },
-      "step4": {
-        "title": "Pay",
-        "description": "Trust model"
+    "payment": {
+      "description": "Model povjerenja.",
+      "title": "Plaćanje",
+      "trustModel": {
+        "point1": "Platite nakon dostave.",
+        "point2": "Vi ocjenjujete kvalitet.",
+        "point3": "Fer upotreba.",
+        "point4": "Podrška uključena.",
+        "title": "Detalji"
       }
     },
-    "help": {
-      "title": "Need Help?",
-      "description": "Ask us.",
-      "helpCenter": "Help Center",
-      "contact": "Contact"
-    }
-  },
-  "terms": {
-    "title": "Uslovi",
-    "subtitle": "Pravne stvari.",
-    "introduction": {
-      "title": "Uvod",
-      "content": "Dobrodošli u Radionica 3D."
-    },
     "services": {
-      "title": "Usluge",
       "description": "FDM i SLA štampa.",
       "point1": "Kvalitet garantovan.",
       "point2": "Brza dostava.",
       "point3": "Podrška.",
-      "point4": "Povjerenje."
+      "point4": "Povjerenje.",
+      "title": "Usluge"
+    },
+    "shipping": {
+      "delivery": {
+        "content": "Dostava poštom.",
+        "title": "Metode"
+      },
+      "description": "Kako šaljemo.",
+      "returns": {
+        "content": "Razumni povrati.",
+        "title": "Povrat"
+      },
+      "title": "Dostava"
     },
+    "subtitle": "Pravne stvari.",
+    "title": "Uslovi",
     "userResponsibilities": {
-      "title": "Odgovornosti",
       "description": "Sigurna upotreba.",
       "prohibited": {
-        "title": "Zabranjeno",
         "point1": "Ilegalni predmeti.",
         "point2": "Opasni materijali.",
         "point3": "Fajlovi pod zaštitom.",
         "point4": "Spam.",
-        "point5": "Zloupotreba."
-      }
-    },
-    "intellectualProperty": {
-      "title": "IP",
-      "description": "Vlasnička prava.",
-      "userRights": {
-        "title": "Vaša prava",
-        "content": "Vi posjedujete svoje modele."
-      },
-      "companyRights": {
-        "title": "Naša prava",
-        "content": "Mi posjedujemo našu tehnologiju."
-      }
-    },
-    "payment": {
-      "title": "Plaćanje",
-      "description": "Model povjerenja.",
-      "trustModel": {
-        "title": "Detalji",
-        "point1": "Platite nakon dostave.",
-        "point2": "Vi ocjenjujete kvalitet.",
-        "point3": "Fer upotreba.",
-        "point4": "Podrška uključena."
-      }
-    },
-    "shipping": {
-      "title": "Dostava",
-      "description": "Kako šaljemo.",
-      "delivery": {
-        "title": "Metode",
-        "content": "Dostava poštom."
+        "point5": "Zloupotreba.",
+        "title": "Zabranjeno"
       },
-      "returns": {
-        "title": "Povrat",
-        "content": "Razumni povrati."
-      }
-    },
-    "liability": {
-      "title": "Odgovornost",
-      "description": "Pravne granice.",
-      "limitations": {
-        "title": "Granice",
-        "point1": "Nema zloupotrebe.",
-        "point2": "Lokalni zakoni.",
-        "point3": "Sigurno rukovanje.",
-        "point4": "Bez garancije."
-      }
-    },
-    "changes": {
-      "title": "Izmjene",
-      "content": "Podložno izmjenama."
-    },
-    "contact": {
-      "title": "Kontakt",
-      "description": "Pravna pitanja.",
-      "button": "Pravnik",
-      "email": "Email"
+      "title": "Odgovornosti"
     }
   },
-  "profile": {
-    "complete_title": "Popunite svoj profil",
-    "complete_subtitle": "Molimo unesite svoje kontakt podatke da biste nastavili sa narudžbom."
+  "upload": {
+    "addressPlaceholder": "Grad, Poštanski broj, Adresa (slobodna forma)",
+    "allowPortfolio": "Dozvoli objavljivanje u javnom portfoliju",
+    "allowPortfolioDesc": "Prikazaćemo fotografije tvog modela kako bismo inspirisali druge kupce.",
+    "badge": "Kreiranje projekta",
+    "browse": "pretraži datoteke",
+    "continue": "Pošalji zahtjev",
+    "description": "Otpremite datoteku ili navedite link do modela (Thingiverse, Printables i dr.). Kontaktiraćemo vas radi detalja.",
+    "dropzone": "Otpremi datoteke (STL, OBJ, STEP)",
+    "dropzoneActive": "Prevucite datoteke ovdje",
+    "email": "Email adresa",
+    "firstName": "Ime",
+    "lastName": "Prezime",
+    "modelLink": "Link do modela (opciono)",
+    "modelLinkPlaceholder": "https://www.printables.com/model/...",
+    "notes": "Napomene uz narudžbu",
+    "notesPlaceholder": "Želje za bojom, materijalom, specifičnim zahtjevima ili posebne instrukcije...",
+    "phone": "Broj telefona",
+    "quantity": "Broj kopija",
+    "selectMaterial": "Odaberi materijal",
+    "shippingAddress": "Adresa isporuke",
+    "submitting": "Slanje...",
+    "success": "Zahtjev je uspješno poslat! Kontaktiraćemo vas uskoro.",
+    "title": "Pošaljite",
+    "titleGradient": "vašu ideju",
+    "uploadedFiles": "Odabrane datoteke"
   },
-  "common": {
-    "save_continue": "Sačuvaj i nastavi"
+  "whyTrust": {
+    "description1": "Vjerujemo da kvalitetna 3D štampa treba da bude dostupna, a proces — maksimalno jednostavan. Naše iskustvo nam omogućava da preuzmemo rizike: sigurni smo u našu opremu i kvalitet materijala.",
+    "description2": "Ovaj pristup eliminiše barijere \"komplikovanih proračuna\" i daje vam mogućnost da dobijete upravo ono što ste zamislili, procjenjujući rezultat samostalno.",
+    "items": {
+      "noCommissions": "Bez provizija",
+      "noPrepayment": "Bez uplate unaprijed",
+      "shipping": "Isporuka poštom",
+      "yourPrice": "Tvoja cijena"
+    },
+    "title": "Zašto nam",
+    "titleItalic": "vjeruju"
   }
 }

+ 557 - 505
src/locales/ru.json

@@ -1,4 +1,49 @@
 {
+  "about": {
+    "cta": {
+      "content": "Свяжитесь с нами сегодня для вашего проекта.",
+      "title": "Готовы к печати?"
+    },
+    "mission": {
+      "content": "Надежная 3D-печать для каждого.",
+      "title": "Наша миссия"
+    },
+    "subtitle": "Создаем будущее слой за слоем.",
+    "team": {
+      "member1": {
+        "name": "Luka",
+        "role": "Основатель"
+      },
+      "member2": {
+        "name": "Milica",
+        "role": "Дизайнер"
+      },
+      "member3": {
+        "name": "Nikola",
+        "role": "Инженер"
+      },
+      "title": "Наша команда"
+    },
+    "values": {
+      "community": {
+        "content": "Поддержка местных мейкеров.",
+        "title": "Сообщество"
+      },
+      "innovation": {
+        "content": "Применение новейших технологий.",
+        "title": "Инновации"
+      },
+      "quality": {
+        "content": "Точность в каждом слое.",
+        "title": "Качество"
+      },
+      "title": "Наши ценности",
+      "trust": {
+        "content": "Мы доверяем вам оценивать нашу работу.",
+        "title": "Доверие"
+      }
+    }
+  },
   "auth": {
     "back": "На главную",
     "fields": {
@@ -19,6 +64,7 @@
       "title": "С возвращением",
       "toggle": "Нет аккаунта? Зарегистрируйтесь"
     },
+    "orContinueWith": "Или продолжить через",
     "register": {
       "submit": "Зарегистрироваться",
       "subtitle": "Начните печатать свои идеи сегодня",
@@ -30,8 +76,107 @@
       "subtitle": "Придумайте новый надежный пароль",
       "title": "Сброс пароля",
       "token": "Код из письма"
+    }
+  },
+  "blog": {
+    "back": "Назад в блог",
+    "categories": {
+      "caseStudies": "Кейсы",
+      "industry": "Индустрия",
+      "materials": "Материалы",
+      "technology": "Технологии",
+      "title": "Категории",
+      "tutorials": "Уроки"
+    },
+    "dateFormat": "{date}",
+    "featured": "Рекомендуемое",
+    "featuredPost": {
+      "excerpt": "Как цифровое производство меняет местный ремесленный бизнес.",
+      "title": "Будущее 3D-печати в Черногории"
+    },
+    "latestPosts": "Последние записи",
+    "newsletter": {
+      "content": "Будьте в курсе.",
+      "placeholder": "Email",
+      "subscribe": "Подписаться",
+      "title": "Рассылка"
+    },
+    "post1": {
+      "excerpt": "Выбор технологии.",
+      "title": "FDM против SLA"
+    },
+    "post2": {
+      "excerpt": "Какой использовать?",
+      "title": "Гайд по материалам"
+    },
+    "post3": {
+      "excerpt": "Оптимизация STL.",
+      "title": "Советы по дизайну"
+    },
+    "readMore": "Читать далее",
+    "subtitle": "Новости и советы о 3D-печати"
+  },
+  "careers": {
+    "apply": "Подать заявку",
+    "contact": "Контакт",
+    "cta": {
+      "content": "Пришлите информацию.",
+      "title": "Другое?"
+    },
+    "openPositions": {
+      "position1": {
+        "description": "Управление фермой принтеров.",
+        "location": "Херцег-Нови",
+        "title": "Техник",
+        "type": "Полный день"
+      },
+      "position2": {
+        "description": "Помощь клиентам.",
+        "location": "Черногория",
+        "title": "Поддержка",
+        "type": "Удаленно"
+      },
+      "title": "Вакансии"
+    },
+    "process": {
+      "step1": {
+        "description": "Пришлите CV.",
+        "title": "Заявка"
+      },
+      "step2": {
+        "description": "Мы проверяем.",
+        "title": "Обзор"
+      },
+      "step3": {
+        "description": "Беседа.",
+        "title": "Интервью"
+      },
+      "step4": {
+        "description": "Готово.",
+        "title": "Предложение"
+      },
+      "title": "Процесс"
     },
-    "orContinueWith": "Или продолжить через"
+    "subtitle": "Присоединяйтесь к команде.",
+    "whyWork": {
+      "growth": {
+        "content": "Быстрый рост.",
+        "title": "Рост"
+      },
+      "impact": {
+        "content": "Реальный вклад.",
+        "title": "Влияние"
+      },
+      "innovation": {
+        "content": "Лучшие технологии.",
+        "title": "Инновации"
+      },
+      "team": {
+        "content": "Отличные люди.",
+        "title": "Команда"
+      },
+      "title": "Почему мы?"
+    }
   },
   "chat": {
     "admin": "Поддержка",
@@ -41,6 +186,30 @@
     "title": "Чат по заказу",
     "unread": "Новое сообщение"
   },
+  "common": {
+    "save_continue": "Сохранить и продолжить"
+  },
+  "contact": {
+    "form": {
+      "message": "Сообщение",
+      "name": "Имя",
+      "subject": "Тема",
+      "submit": "Отправить",
+      "title": "Email"
+    },
+    "info": {
+      "email": "hello@radionica3d.me",
+      "location": "Herceg Novi",
+      "phone": "+382 68 888 777",
+      "title": "Инфо"
+    },
+    "subtitle": "Свяжитесь с нами."
+  },
+  "cookies": {
+    "accept": "Принять",
+    "leave": "Уйти",
+    "message": "Данный сайт использует файлы cookie для улучшения пользовательского опыта."
+  },
   "errors": {
     "field_required": "Это поле обязательно для заполнения",
     "missing": "Обязательное поле",
@@ -68,6 +237,202 @@
     "tagline": "Radionica 3D — сервис, построенный на доверии. Мы воплощаем ваши идеи, вы оцениваете наш труд.",
     "terms": "Условия"
   },
+  "guidelines": {
+    "designTips": {
+      "fdm": {
+        "bridging": "Bridging",
+        "infill": "Infill",
+        "layerHeight": "Layer Height",
+        "overhangs": "Overhangs",
+        "title": "FDM"
+      },
+      "sla": {
+        "drainage": "Drainage",
+        "orientation": "Orientation",
+        "postProcessing": "Post-processing",
+        "supports": "Supports",
+        "title": "SLA"
+      },
+      "title": "Советы"
+    },
+    "filePreparation": {
+      "formats": {
+        "3mf": "3MF",
+        "obj": "OBJ",
+        "step": "STEP",
+        "stl": "STL",
+        "title": "Форматы"
+      },
+      "requirements": {
+        "normals": "Correct Normals",
+        "scale": "Proper Scale",
+        "title": "Требования",
+        "wallThickness": "Min Wall Thickness",
+        "watertight": "Watertight"
+      },
+      "title": "Подготовка файлов"
+    },
+    "help": {
+      "contact": "Contact",
+      "description": "Ask us.",
+      "helpCenter": "Help Center",
+      "title": "Need Help?"
+    },
+    "materialSelection": {
+      "abs": {
+        "bestFor": "Tech parts",
+        "considerations": "Heat resistant",
+        "name": "ABS"
+      },
+      "petg": {
+        "bestFor": "Durable",
+        "considerations": "Easy print",
+        "name": "PETG"
+      },
+      "pla": {
+        "bestFor": "Prototypes",
+        "considerations": "Bio-degradable",
+        "name": "PLA"
+      },
+      "resin": {
+        "bestFor": "Detail",
+        "considerations": "UV sensitive",
+        "name": "Resin"
+      },
+      "table": {
+        "bestFor": "Best For",
+        "considerations": "Notes",
+        "material": "Material"
+      },
+      "title": "Материалы"
+    },
+    "nuances": {
+      "description": "Изделия, изготовленные методом FDM (послойного наплавления пластика), имеют ряд визуальных и тактильных особенностей, которые являются нормой технологии и не считаются дефектами.",
+      "disclaimer": {
+        "text": "Эти особенности обусловлены самой природой технологии FDM-печати и не влияют на функциональность изделия.",
+        "title": "Гарантия качества"
+      },
+      "items": {
+        "colorVariations": {
+          "description": "Незначительные вариации оттенка или блеска.",
+          "details": "Даже в рамках одного цвета возможны вариации.",
+          "title": "Различия в оттенке"
+        },
+        "dimensionalTolerances": {
+          "description": "Небольшие допуски в размерах.",
+          "details": "Обусловлено свойствами материалов и охлаждением.",
+          "title": "Отклонения размеров"
+        },
+        "layerStructure": {
+          "description": "Поверхность может иметь заметные линии слоёв.",
+          "details": "Естественный результат послойного построения модели.",
+          "title": "Слоистая структура"
+        },
+        "overhangs": {
+          "description": "Возможно небольшое провисание на нависаниях.",
+          "details": "Ограничение технологии для участков без опоры.",
+          "title": "Нависающие элементы"
+        },
+        "stringing": {
+          "description": "Тонкие пластиковые нити между элементами.",
+          "details": "Легко удаляются и не влияют на функциональность.",
+          "title": "Мелкие ниточки (stringing)"
+        },
+        "supportMarks": {
+          "description": "Следы в местах, где использовались поддержки.",
+          "details": "Допускаются небольшие отличия в текстуре поверхности.",
+          "title": "Следы от поддержек"
+        },
+        "surfaceImperfections": {
+          "description": "Лёгкая шероховатость или микронаплывы.",
+          "details": "Допускается на сложной геометрии.",
+          "title": "Неровности и текстура"
+        },
+        "zSeam": {
+          "description": "Вертикальная линия или точка на поверхности.",
+          "details": "Место, где начинается и заканчивается каждый слой.",
+          "title": "Швы (Z-seam)"
+        }
+      },
+      "subtitle": "Чего ожидать от FDM-печати",
+      "title": "Нюансы 3D-печати"
+    },
+    "orderingProcess": {
+      "step1": {
+        "description": "Send file",
+        "title": "Upload"
+      },
+      "step2": {
+        "description": "We craft",
+        "title": "Print"
+      },
+      "step3": {
+        "description": "By mail",
+        "title": "Ship"
+      },
+      "step4": {
+        "description": "Trust model",
+        "title": "Pay"
+      },
+      "title": "Process"
+    },
+    "subtitle": "Творческая атмосфера.",
+    "title": "Правила"
+  },
+  "help": {
+    "categories": {
+      "ordering": {
+        "description": "Как это работает.",
+        "title": "Заказы"
+      },
+      "pricing": {
+        "description": "Модель доверия.",
+        "title": "Цены"
+      },
+      "shipping": {
+        "description": "Доставка почтой.",
+        "title": "Доставка"
+      },
+      "technical": {
+        "description": "Файлы и характеристики.",
+        "title": "Техническое"
+      },
+      "title": "Категории"
+    },
+    "contact": {
+      "button": "Поддержка",
+      "description": "Напишите нам.",
+      "email": "Email",
+      "title": "Контакт"
+    },
+    "faq": {
+      "q1": {
+        "answer": "Вы сами оцениваете стоимость работы.",
+        "question": "Сколько стоит печать?"
+      },
+      "q2": {
+        "answer": "Обычно 2-3 рабочих дня.",
+        "question": "Сроки доставки?"
+      },
+      "q3": {
+        "answer": "STL, OBJ, STEP.",
+        "question": "Какие форматы?"
+      },
+      "q4": {
+        "answer": "Ваши модели в безопасности.",
+        "question": "Конфиденциальность?"
+      },
+      "q5": {
+        "answer": "Мы помогаем с доработкой моделей.",
+        "question": "Поддержка?"
+      },
+      "title": "Вопросы и ответы"
+    },
+    "search": {
+      "placeholder": "Поиск..."
+    },
+    "subtitle": "Как мы можем помочь?"
+  },
   "hero": {
     "badge": "Доверие в каждом слое",
     "description": "Уникальный сервис 3D-печати: пришлите модель, получите готовое изделие по почте и заплатите столько, сколько посчитаете нужным.",
@@ -90,11 +455,69 @@
     "logOut": "Выйти",
     "materials": "Материалы",
     "myOrders": "Мои заказы",
-    "portfolio": "Портфолио",
     "philosophy": "Наш подход",
+    "portfolio": "Портфолио",
     "register": "Регистрация",
     "services": "Услуги"
   },
+  "nuances": {
+    "description": "Изделия, изготовленные методом FDM (послойного наплавления пластика), имеют ряд визуальных и тактильных особенностей, которые являются нормой технологии и не считаются дефектами.",
+    "disclaimer": {
+      "text": "Эти особенности обусловлены самой природой технологии FDM-печати.",
+      "title": "Гарантия качества"
+    },
+    "aiDisclaimer": "Все поясняющие фотографии сгенерированы ИИ для наглядности.",
+    "items": {
+      "colorVariations": {
+        "description": "Незначительные вариации цвета.",
+        "details": "Даже в рамках одного цвета возможны вариации.",
+        "title": "Различия в оттенке"
+      },
+      "dimensionalTolerances": {
+        "description": "Возможны небольшие допуски.",
+        "details": "Обусловлено свойствами и охлаждением.",
+        "title": "Допуски размеров"
+      },
+      "layerStructure": {
+        "description": "Поверхность имеет заметные линии слоёв.",
+        "details": "Это естественный результат послойного построения.",
+        "title": "Слоистая структура"
+      },
+      "overhangs": {
+        "description": "Провисание на участках без опоры.",
+        "details": "Ограничение технологии.",
+        "title": "Особенности нависаний"
+      },
+      "stringing": {
+        "description": "Тонкие пластиковые нити.",
+        "details": "Легко удаляются.",
+        "title": "Мелкие ниточки (stringing)"
+      },
+      "supportMarks": {
+        "description": "Могут оставаться следы в местах поддержек.",
+        "details": "Небольшие отличия в текстуре поверхности.",
+        "title": "Следы от поддержек"
+      },
+      "surfaceImperfections": {
+        "description": "Допускается лёгкая шероховатость.",
+        "details": "Является нормой для данной технологии.",
+        "title": "Неровности и текстура"
+      },
+      "zSeam": {
+        "description": "Точка начала и конца каждого слоя.",
+        "details": "Может быть заметна на поверхности.",
+        "title": "Швы (Z-seam)"
+      }
+    },
+    "subtitle": "Чего ожидать",
+    "title": "Нюансы 3D-печати"
+  },
+  "portfolio": {
+    "description": "Ознакомьтесь с нашими успешными проектами 3D-печати, реализованными для клиентов в Черногории.",
+    "empty": "Наша галерея пополняется. Заходите позже!",
+    "title": "Галерея",
+    "titleGradient": "работ"
+  },
   "pricing": {
     "badge": "Политика доверия",
     "description": "Никаких предоплат и сложных калькуляторов. Вы платите только за результат, в который верите.",
@@ -110,567 +533,196 @@
       "step4": "Оцените работу и оплатите удобным способом"
     }
   },
-  "services": {
-    "badge": "Наши возможности",
-    "description": "Мы подберем оптимальный метод печати для вашей задачи.",
-    "fdm": {
-      "description": "Прочные детали из инженерных пластиков.",
-      "title": "FDM печать"
-    },
-    "sla": {
-      "description": "Максимальная детализация и гладкость изделий.",
-      "title": "SLA смола"
-    },
-    "title": "Технологии",
-    "titleGradient": "реализации"
-  },
-  "portfolio": {
-    "title": "Галерея",
-    "titleGradient": "работ",
-    "description": "Ознакомьтесь с нашими успешными проектами 3D-печати, реализованными для клиентов в Черногории.",
-    "empty": "Наша галерея пополняется. Заходите позже!"
-  },
-  "upload": {
-    "addressPlaceholder": "Город, Индекс, Адрес (в свободной форме)",
-    "badge": "Оформление заказа",
-    "allowPortfolio": "Разрешить публикацию в портфолио",
-    "allowPortfolioDesc": "Мы покажем фото вашего изделия, чтобы вдохновить других клиентов.",
-    "selectMaterial": "Выберите материал",
-    "browse": "выбрать файлы",
-    "continue": "Отправить заказ",
-    "description": "Загрузите файл или укажите ссылку на модель (Thingiverse, Printables и др.). Мы свяжемся с вами для уточнения деталей.",
-    "dropzone": "Загрузить файлы (STL, OBJ, STEP)",
-    "dropzoneActive": "Переместите файлы сюда",
-    "email": "Email",
-    "firstName": "Имя",
-    "lastName": "Фамилия",
-    "modelLink": "Ссылка на модель (необязательно)",
-    "modelLinkPlaceholder": "https://www.printables.com/model/...",
-    "notes": "Примечания к заказу",
-    "notesPlaceholder": "Пожелания по цвету, материалу, толщине стенок или другие инструкции...",
-    "phone": "Телефон",
-    "quantity": "Количество копий",
-    "shippingAddress": "Адрес доставки",
-    "submitting": "Отправка...",
-    "success": "Заказ успешно отправлен! Мы свяжемся с вами в ближайшее время.",
-    "title": "Пришлите",
-    "titleGradient": "вашу идею",
-    "uploadedFiles": "Выбранные файлы"
-  },
-  "whyTrust": {
-    "description1": "Мы верим, что качественная 3D-печать должна быть доступной, а процесс — максимально простым. Наш опыт позволяет нам брать на себя риски: мы уверены в своем оборудовании и качестве материалов.",
-    "description2": "Этот подход позволяет убрать барьеры \"сложных расчетов\" и дать вам возможность получить именно то, что вы задумали, оценив результат самостоятельно.",
-    "items": {
-      "noCommissions": "Без комиссий",
-      "noPrepayment": "Bez предоплаты",
-      "shipping": "Отправка почтой",
-      "yourPrice": "Ваша цена"
-    },
-    "title": "Почему мы",
-    "titleItalic": "доверяем"
-  },
   "privacy": {
-    "title": "Политика конфиденциальности",
-    "subtitle": "Дата вступления в силу: 11 апреля 2026 г.\nRadionica3d («мы», «нам») управляет этим сайтом и несет ответственность за сбор и использование ваших персональных данных.",
     "intro": "Эта Политика конфиденциальности описывает:\n• какие данные мы собираем\n• как и почему мы их используем\n• где и как они хранятся или передаются\n• ваши права в отношении ваших данных\n• как связаться с нами по вопросам конфиденциальности\n\nПосещая наш сайт, связываясь с нами или пользуясь нашими услугами, вы соглашаетесь с этой политикой.",
     "sections": {
       "01_data": {
-        "title": "1. Собираемые данные",
-        "content": "Мы можем собирать и обрабатывать:\n• Контактные данные: имя, email, номер телефона, компания\n• Данные проекта и загрузки: сообщения, брифы, 3D-модели, изображения, эскизы\n• Данные о транзакциях: сметы, счета, платежи\n• Технические данные сайта: IP-адрес, тип браузера, файлы cookie, аналитика\n\nМы не собираем чувствительные категории данных (например, раса, состояние здоровья, религиозные убеждения)."
+        "content": "Мы можем собирать и обрабатывать:\n• Контактные данные: имя, email, номер телефона, компания\n• Данные проекта и загрузки: сообщения, брифы, 3D-модели, изображения, эскизы\n• Данные о транзакциях: сметы, счета, платежи\n• Технические данные сайта: IP-адрес, тип браузера, файлы cookie, аналитика\n\nМы не собираем чувствительные категории данных (например, раса, состояние здоровья, религиозные убеждения).",
+        "title": "1. Собираемые данные"
       },
       "02_usage": {
-        "title": "2. Как мы используем ваши данные",
-        "content": "Мы используем персональные данные для:\n• ответов на запросы и предоставления смет\n• управления проектами, заказами, доставкой\n• ведения клиентских записей в наших системах\n• отправки обновлений или подтверждений (email или WhatsApp/Viber/Telegram, при наличии согласия)\n• улучшения нашего сайта и услуг с помощью анонимной аналитики\n\nМы не продаем и не сдаем в аренду ваши персональные данные третьим лицам."
+        "content": "Мы используем персональные данные для:\n• ответов на запросы и предоставления смет\n• управления проектами, заказами, доставкой\n• ведения клиентских записей в наших системах\n• отправки обновлений или подтверждений (email или WhatsApp/Viber/Telegram, при наличии согласия)\n• улучшения нашего сайта и услуг с помощью анонимной аналитики\n\nМы не продаем и не сдаем в аренду ваши персональные данные третьим лицам.",
+        "title": "2. Как мы используем ваши данные"
       },
       "03_basis": {
-        "title": "3. Правовые основания для обработки",
-        "content": "В соответствии с EU GDPR мы опираемся на:\n• Контракт — для выполнения запрашиваемых вами услуг (сметы, производство)\n• Законный интерес — для администрирования бизнеса, управления клиентами и ответов на запросы\n• Согласие — для дополнительного маркетинга или рассылок\n\nЕсли вы даете согласие, вы можете отозвать его в любое время."
+        "content": "В соответствии с EU GDPR мы опираемся на:\n• Контракт — для выполнения запрашиваемых вами услуг (сметы, производство)\n• Законный интерес — для администрирования бизнеса, управления клиентами и ответов на запросы\n• Согласие — для дополнительного маркетинга или рассылок\n\nЕсли вы даете согласие, вы можете отозвать его в любое время.",
+        "title": "3. Правовые основания для обработки"
       },
       "04_uploads": {
-        "title": "4. Загрузка файлов и отправленный контент",
-        "content": "При загрузке файлов или моделей они обрабатываются в соответствии с нашим Соглашением о подаче контента и защите ИС. Мы надежно храним файлы проекта, пока работа активна. После завершения работы или по истечении определенного периода (например, 30 дней для временных услуг), мы можем удалить или анонимизировать их."
+        "content": "При загрузке файлов или моделей они обрабатываются в соответствии с нашим Соглашением о подаче контента и защите ИС. Мы надежно храним файлы проекта, пока работа активна. После завершения работы или по истечении определенного периода (например, 30 дней для временных услуг), мы можем удалить или анонимизировать их.",
+        "title": "4. Загрузка файлов и отправленный контент"
       },
       "05_security": {
-        "title": "5. Хранение и безопасность",
-        "content": "Нашим основным хранилищем являются защищенные серверы под нашим контролем в ЕС. Мы используем шифрование, средства контроля безопасного доступа и ограниченный доступ персонала. Записи о транзакциях и проектах хранятся до шести лет (для бухгалтерского и юридического учета). Если клиент просит нас сохранить файлы проекта для повторных заказов, мы будем хранить их надежно до получения иных указаний."
+        "content": "Нашим основным хранилищем являются защищенные серверы под нашим контролем в ЕС. Мы используем шифрование, средства контроля безопасного доступа и ограниченный доступ персонала. Записи о транзакциях и проектах хранятся до шести лет (для бухгалтерского и юридического учета). Если клиент просит нас сохранить файлы проекта для повторных заказов, мы будем хранить их надежно до получения иных указаний.",
+        "title": "5. Хранение и безопасность"
       },
       "06_sharing": {
-        "title": "6. Передача данных и сторонние услуги",
-        "content": "Мы передаем персональные данные только в случае необходимости для предоставления услуги, например:\n• Платежным системам (для транзакций)\n• Платформам управления заказами/файлами\n• Партнерам по логистике/доставке\n• Бухгалтерам, юридическим консультантам\nВсе третьи стороны связаны обязательствами по конфиденциальности и защите данных в соответствии с EU GDPR."
+        "content": "Мы передаем персональные данные только в случае необходимости для предоставления услуги, например:\n• Платежным системам (для транзакций)\n• Платформам управления заказами/файлами\n• Партнерам по логистике/доставке\n• Бухгалтерам, юридическим консультантам\nВсе третьи стороны связаны обязательствами по конфиденциальности и защите данных в соответствии с EU GDPR.",
+        "title": "6. Передача данных и сторонние услуги"
       },
       "07_rights": {
-        "title": "7. Ваши права",
-        "content": "Вы имеете право на: доступ к вашим персональным данным, исправление неточностей, запрос на удаление (где это разрешено законом), возражение против обработки или отзыв согласия, запрос на ограничение или перенос данных. Направляйте запросы на Hello@radionica3d.me. Мы ответим в течение 30 дней."
+        "content": "Вы имеете право на: доступ к вашим персональным данным, исправление неточностей, запрос на удаление (где это разрешено законом), возражение против обработки или отзыв согласия, запрос на ограничение или перенос данных. Направляйте запросы на Hello@radionica3d.me. Мы ответим в течение 30 дней.",
+        "title": "7. Ваши права"
       },
       "08_cookies": {
-        "title": "8. Файлы cookie и аналитика",
-        "content": "Мы используем необходимые файлы cookie для работы сайта и дополнительные аналитические файлы cookie для мониторинга использования и повышения производительности. Вы можете управлять файлами cookie или отключать их в настройках браузера."
+        "content": "Мы используем необходимые файлы cookie для работы сайта и дополнительные аналитические файлы cookie для мониторинга использования и повышения производительности. Вы можете управлять файлами cookie или отключать их в настройках браузера.",
+        "title": "8. Файлы cookie и аналитика"
       },
       "09_international": {
-        "title": "9. Международная передача и обработка в третьих странах",
-        "content": "Хотя мы храним большую часть данных в ЕС, мы также работаем с поставщиками услуг, чьи серверы могут находиться за пределами ЕС (включая США). При международной передаче данных мы обеспечиваем их защиту с помощью Стандартных договорных условий (SCC) или эквивалентных гарантий, утвержденных в соответствии с EU GDPR."
+        "content": "Хотя мы храним большую часть данных в ЕС, мы также работаем с поставщиками услуг, чьи серверы могут находиться за пределами ЕС (включая США). При международной передаче данных мы обеспечиваем их защиту с помощью Стандартных договорных условий (SCC) или эквивалентных гарантий, утвержденных в соответствии с EU GDPR.",
+        "title": "9. Международная передача и обработка в третьих странах"
       },
       "10_updates": {
-        "title": "10. Обновления политики",
-        "content": "Мы можем время от времени пересматривать эту политику. Последняя версия всегда доступна на нашем сайте."
+        "content": "Мы можем время от времени пересматривать эту политику. Последняя версия всегда доступна на нашем сайте.",
+        "title": "10. Обновления политики"
       },
       "11_contact": {
-        "title": "11. Контакты и жалобы",
-        "content": "Если у вас есть вопросы или опасения по поводу того, как мы обрабатываем ваши данные, свяжитесь с нами по адресу Hello@radionica3d.me."
-      }
-    }
-  },
-  "cookies": {
-    "message": "Данный сайт использует файлы cookie для улучшения пользовательского опыта.",
-    "accept": "Принять",
-    "leave": "Уйти"
-  },
-  "nuances": {
-    "title": "Нюансы 3D-печати",
-    "subtitle": "Чего ожидать",
-    "description": "Изделия, изготовленные методом FDM (послойного наплавления пластика), имеют ряд визуальных и тактильных особенностей, которые являются нормой технологии и не считаются дефектами.",
-    "disclaimer": {
-      "title": "Гарантия качества",
-      "text": "Эти особенности обусловлены самой природой технологии FDM-печати."
-    },
-    "items": {
-      "layerStructure": {
-        "title": "Слоистая структура",
-        "description": "Поверхность имеет заметные линии слоёв.",
-        "details": "Это естественный результат послойного построения."
-      },
-      "surfaceImperfections": {
-        "title": "Неровности и текстура",
-        "description": "Допускается лёгкая шероховатость.",
-        "details": "Является нормой для данной технологии."
-      },
-      "supportMarks": {
-        "title": "Следы от поддержек",
-        "description": "Могут оставаться следы в местах поддержек.",
-        "details": "Небольшие отличия в текстуре поверхности."
-      },
-      "zSeam": {
-        "title": "Швы (Z-seam)",
-        "description": "Точка начала и конца каждого слоя.",
-        "details": "Может быть заметна на поверхности."
-      },
-      "overhangs": {
-        "title": "Особенности нависаний",
-        "description": "Провисание на участках без опоры.",
-        "details": "Ограничение технологии."
-      },
-      "dimensionalTolerances": {
-        "title": "Допуски размеров",
-        "description": "Возможны небольшие допуски.",
-        "details": "Обусловлено свойствами и охлаждением."
-      },
-      "colorVariations": {
-        "title": "Различия в оттенке",
-        "description": "Незначительные вариации цвета.",
-        "details": "Даже в рамках одного цвета возможны вариации."
-      },
-      "stringing": {
-        "title": "Мелкие ниточки (stringing)",
-        "description": "Тонкие пластиковые нити.",
-        "details": "Легко удаляются."
-      }
-    }
-  },
-  "about": {
-    "subtitle": "Создаем будущее слой за слоем.",
-    "mission": {
-      "title": "Наша миссия",
-      "content": "Надежная 3D-печать для каждого."
-    },
-    "values": {
-      "title": "Наши ценности",
-      "trust": {
-        "title": "Доверие",
-        "content": "Мы доверяем вам оценивать нашу работу."
-      },
-      "quality": {
-        "title": "Качество",
-        "content": "Точность в каждом слое."
-      },
-      "innovation": {
-        "title": "Инновации",
-        "content": "Применение новейших технологий."
-      },
-      "community": {
-        "title": "Сообщество",
-        "content": "Поддержка местных мейкеров."
+        "content": "Если у вас есть вопросы или опасения по поводу того, как мы обрабатываем ваши данные, свяжитесь с нами по адресу Hello@radionica3d.me.",
+        "title": "11. Контакты и жалобы"
       }
     },
-    "team": {
-      "title": "Наша команда",
-      "member1": {
-        "name": "Luka",
-        "role": "Основатель"
-      },
-      "member2": {
-        "name": "Milica",
-        "role": "Дизайнер"
-      },
-      "member3": {
-        "name": "Nikola",
-        "role": "Инженер"
-      }
-    },
-    "cta": {
-      "title": "Готовы к печати?",
-      "content": "Свяжитесь с нами сегодня для вашего проекта."
-    }
+    "subtitle": "Дата вступления в силу: 11 апреля 2026 г.\nRadionica3d («мы», «нам») управляет этим сайтом и несет ответственность за сбор и использование ваших персональных данных.",
+    "title": "Политика конфиденциальности"
   },
-  "careers": {
-    "subtitle": "Присоединяйтесь к команде.",
-    "apply": "Подать заявку",
-    "contact": "Контакт",
-    "whyWork": {
-      "title": "Почему мы?",
-      "innovation": {
-        "title": "Инновации",
-        "content": "Лучшие технологии."
-      },
-      "growth": {
-        "title": "Рост",
-        "content": "Быстрый рост."
-      },
-      "team": {
-        "title": "Команда",
-        "content": "Отличные люди."
-      },
-      "impact": {
-        "title": "Влияние",
-        "content": "Реальный вклад."
-      }
-    },
-    "openPositions": {
-      "title": "Вакансии",
-      "position1": {
-        "title": "Техник",
-        "type": "Полный день",
-        "location": "Херцег-Нови",
-        "description": "Управление фермой принтеров."
-      },
-      "position2": {
-        "title": "Поддержка",
-        "type": "Удаленно",
-        "location": "Черногория",
-        "description": "Помощь клиентам."
-      }
-    },
-    "process": {
-      "title": "Процесс",
-      "step1": {
-        "title": "Заявка",
-        "description": "Пришлите CV."
-      },
-      "step2": {
-        "title": "Обзор",
-        "description": "Мы проверяем."
-      },
-      "step3": {
-        "title": "Интервью",
-        "description": "Беседа."
-      },
-      "step4": {
-        "title": "Предложение",
-        "description": "Готово."
-      }
-    },
-    "cta": {
-      "title": "Другое?",
-      "content": "Пришлите информацию."
-    }
+  "profile": {
+    "complete_subtitle": "Пожалуйста, предоставьте контактную информацию, чтобы продолжить оформление заказа.",
+    "complete_title": "Заполните профиль"
   },
-  "blog": {
-    "subtitle": "Новости и советы о 3D-печати",
-    "readMore": "Читать далее",
-    "featured": "Рекомендуемое",
-    "dateFormat": "{date}",
-    "latestPosts": "Последние записи",
-    "featuredPost": {
-      "title": "Будущее 3D-печати в Черногории",
-      "excerpt": "Как цифровое производство меняет местный ремесленный бизнес."
-    },
-    "post1": {
-      "title": "FDM против SLA",
-      "excerpt": "Выбор технологии."
-    },
-    "post2": {
-      "title": "Гайд по материалам",
-      "excerpt": "Какой использовать?"
-    },
-    "post3": {
-      "title": "Советы по дизайну",
-      "excerpt": "Оптимизация STL."
-    },
-    "categories": {
-      "title": "Категории",
-      "technology": "Технологии",
-      "materials": "Материалы",
-      "tutorials": "Уроки",
-      "caseStudies": "Кейсы",
-      "industry": "Индустрия"
+  "services": {
+    "badge": "Наши возможности",
+    "description": "Мы подберем оптимальный метод печати для вашей задачи.",
+    "fdm": {
+      "description": "Прочные детали из инженерных пластиков.",
+      "title": "FDM печать"
     },
-    "newsletter": {
-      "title": "Рассылка",
-      "content": "Будьте в курсе.",
-      "placeholder": "Email",
-      "subscribe": "Подписаться"
+    "sla": {
+      "description": "Максимальная детализация и гладкость изделий.",
+      "title": "SLA смола"
     },
-    "back": "Назад в блог"
+    "title": "Технологии",
+    "titleGradient": "реализации"
   },
-  "help": {
-    "subtitle": "Как мы можем помочь?",
-    "search": {
-      "placeholder": "Поиск..."
-    },
-    "categories": {
-      "title": "Категории",
-      "ordering": {
-        "title": "Заказы",
-        "description": "Как это работает."
-      },
-      "pricing": {
-        "title": "Цены",
-        "description": "Модель доверия."
-      },
-      "shipping": {
-        "title": "Доставка",
-        "description": "Доставка почтой."
-      },
-      "technical": {
-        "title": "Техническое",
-        "description": "Файлы и характеристики."
-      }
-    },
-    "faq": {
-      "title": "Вопросы и ответы",
-      "q1": {
-        "question": "Сколько стоит печать?",
-        "answer": "Вы сами оцениваете стоимость работы."
-      },
-      "q2": {
-        "question": "Сроки доставки?",
-        "answer": "Обычно 2-3 рабочих дня."
-      },
-      "q3": {
-        "question": "Какие форматы?",
-        "answer": "STL, OBJ, STEP."
-      },
-      "q4": {
-        "question": "Конфиденциальность?",
-        "answer": "Ваши модели в безопасности."
-      },
-      "q5": {
-        "question": "Поддержка?",
-        "answer": "Мы помогаем с доработкой моделей."
-      }
+  "terms": {
+    "changes": {
+      "content": "Могут меняться.",
+      "title": "Изменения"
     },
     "contact": {
-      "title": "Контакт",
-      "description": "Напишите нам.",
-      "button": "Поддержка",
-      "email": "Email"
-    }
-  },
-  "contact": {
-    "subtitle": "Свяжитесь с нами.",
-    "form": {
-      "title": "Email",
-      "name": "Имя",
-      "subject": "Тема",
-      "message": "Сообщение",
-      "submit": "Отправить"
+      "button": "Юрист",
+      "description": "Юридические вопросы.",
+      "email": "Email",
+      "title": "Контакт"
     },
-    "info": {
-      "title": "Инфо",
-      "email": "hello@radionica3d.me",
-      "phone": "+382 68 888 777",
-      "location": "Herceg Novi"
-    }
-  },
-  "guidelines": {
-    "title": "Правила",
-    "subtitle": "Творческая атмосфера.",
-    "filePreparation": {
-      "title": "Подготовка файлов",
-      "formats": {
-        "title": "Форматы",
-        "stl": "STL",
-        "obj": "OBJ",
-        "step": "STEP",
-        "3mf": "3MF"
+    "intellectualProperty": {
+      "companyRights": {
+        "content": "Мы владеем нашей технологией.",
+        "title": "Наши права"
       },
-      "requirements": {
-        "title": "Требования",
-        "watertight": "Watertight",
-        "normals": "Correct Normals",
-        "scale": "Proper Scale",
-        "wallThickness": "Min Wall Thickness"
+      "description": "Права собственности.",
+      "title": "ИС",
+      "userRights": {
+        "content": "Вы владеете своими моделями.",
+        "title": "Ваши права"
       }
     },
-    "designTips": {
-      "title": "Советы",
-      "fdm": {
-        "title": "FDM",
-        "overhangs": "Overhangs",
-        "bridging": "Bridging",
-        "layerHeight": "Layer Height",
-        "infill": "Infill"
-      },
-      "sla": {
-        "title": "SLA",
-        "supports": "Supports",
-        "orientation": "Orientation",
-        "drainage": "Drainage",
-        "postProcessing": "Post-processing"
-      }
+    "introduction": {
+      "content": "Добро пожаловать в Radionica 3D.",
+      "title": "Введение"
     },
-    "materialSelection": {
-      "title": "Материалы",
-      "table": {
-        "material": "Material",
-        "bestFor": "Best For",
-        "considerations": "Notes"
-      },
-      "pla": {
-        "name": "PLA",
-        "bestFor": "Prototypes",
-        "considerations": "Bio-degradable"
-      },
-      "abs": {
-        "name": "ABS",
-        "bestFor": "Tech parts",
-        "considerations": "Heat resistant"
-      },
-      "petg": {
-        "name": "PETG",
-        "bestFor": "Durable",
-        "considerations": "Easy print"
+    "liability": {
+      "description": "Юридические границы.",
+      "limitations": {
+        "point1": "Без злоупотреблений.",
+        "point2": "Местные законы.",
+        "point3": "Безопасное обращение.",
+        "point4": "Без гарантий.",
+        "title": "Границы"
       },
-      "resin": {
-        "name": "Resin",
-        "bestFor": "Detail",
-        "considerations": "UV sensitive"
-      }
+      "title": "Ответственность"
     },
-    "orderingProcess": {
-      "title": "Process",
-      "step1": {
-        "title": "Upload",
-        "description": "Send file"
-      },
-      "step2": {
-        "title": "Print",
-        "description": "We craft"
-      },
-      "step3": {
-        "title": "Ship",
-        "description": "By mail"
-      },
-      "step4": {
-        "title": "Pay",
-        "description": "Trust model"
+    "payment": {
+      "description": "Модель доверия.",
+      "title": "Оплата",
+      "trustModel": {
+        "point1": "Оплата после доставки.",
+        "point2": "Вы оцениваете качество.",
+        "point3": "Честное использование.",
+        "point4": "Поддержка включена.",
+        "title": "Детали"
       }
     },
-    "help": {
-      "title": "Need Help?",
-      "description": "Ask us.",
-      "helpCenter": "Help Center",
-      "contact": "Contact"
-    }
-  },
-  "terms": {
-    "title": "Условия",
-    "subtitle": "Юридические моменты.",
-    "introduction": {
-      "title": "Введение",
-      "content": "Добро пожаловать в Radionica 3D."
-    },
     "services": {
-      "title": "Услуги",
       "description": "FDM и SLA печать.",
       "point1": "Гарантия качества.",
       "point2": "Быстрая доставка.",
       "point3": "Поддержка.",
-      "point4": "Доверие."
+      "point4": "Доверие.",
+      "title": "Услуги"
+    },
+    "shipping": {
+      "delivery": {
+        "content": "Доставка почтой.",
+        "title": "Методы"
+      },
+      "description": "Как мы отправляем.",
+      "returns": {
+        "content": "Возможен возврат.",
+        "title": "Возврат"
+      },
+      "title": "Доставка"
     },
+    "subtitle": "Юридические моменты.",
+    "title": "Условия",
     "userResponsibilities": {
-      "title": "Обязанности",
       "description": "Безопасное использование.",
       "prohibited": {
-        "title": "Запрещено",
         "point1": "Незаконные предметы.",
         "point2": "Опасные материалы.",
         "point3": "Файлы с авторским правом.",
         "point4": "Спам.",
-        "point5": "Злоупотребление."
-      }
-    },
-    "intellectualProperty": {
-      "title": "ИС",
-      "description": "Права собственности.",
-      "userRights": {
-        "title": "Ваши права",
-        "content": "Вы владеете своими моделями."
-      },
-      "companyRights": {
-        "title": "Наши права",
-        "content": "Мы владеем нашей технологией."
-      }
-    },
-    "payment": {
-      "title": "Оплата",
-      "description": "Модель доверия.",
-      "trustModel": {
-        "title": "Детали",
-        "point1": "Оплата после доставки.",
-        "point2": "Вы оцениваете качество.",
-        "point3": "Честное использование.",
-        "point4": "Поддержка включена."
-      }
-    },
-    "shipping": {
-      "title": "Доставка",
-      "description": "Как мы отправляем.",
-      "delivery": {
-        "title": "Методы",
-        "content": "Доставка почтой."
+        "point5": "Злоупотребление.",
+        "title": "Запрещено"
       },
-      "returns": {
-        "title": "Возврат",
-        "content": "Возможен возврат."
-      }
-    },
-    "liability": {
-      "title": "Ответственность",
-      "description": "Юридические границы.",
-      "limitations": {
-        "title": "Границы",
-        "point1": "Без злоупотреблений.",
-        "point2": "Местные законы.",
-        "point3": "Безопасное обращение.",
-        "point4": "Без гарантий."
-      }
-    },
-    "changes": {
-      "title": "Изменения",
-      "content": "Могут меняться."
-    },
-    "contact": {
-      "title": "Контакт",
-      "description": "Юридические вопросы.",
-      "button": "Юрист",
-      "email": "Email"
+      "title": "Обязанности"
     }
   },
-  "profile": {
-    "complete_title": "Заполните профиль",
-    "complete_subtitle": "Пожалуйста, предоставьте контактную информацию, чтобы продолжить оформление заказа."
+  "upload": {
+    "addressPlaceholder": "Город, Индекс, Адрес (в свободной форме)",
+    "allowPortfolio": "Разрешить публикацию в портфолио",
+    "allowPortfolioDesc": "Мы покажем фото вашего изделия, чтобы вдохновить других клиентов.",
+    "badge": "Оформление заказа",
+    "browse": "выбрать файлы",
+    "continue": "Отправить заказ",
+    "description": "Загрузите файл или укажите ссылку на модель (Thingiverse, Printables и др.). Мы свяжемся с вами для уточнения деталей.",
+    "dropzone": "Загрузить файлы (STL, OBJ, STEP)",
+    "dropzoneActive": "Переместите файлы сюда",
+    "email": "Email",
+    "firstName": "Имя",
+    "lastName": "Фамилия",
+    "modelLink": "Ссылка на модель (необязательно)",
+    "modelLinkPlaceholder": "https://www.printables.com/model/...",
+    "notes": "Примечания к заказу",
+    "notesPlaceholder": "Пожелания по цвету, материалу, толщине стенок или другие инструкции...",
+    "phone": "Телефон",
+    "quantity": "Количество копий",
+    "selectMaterial": "Выберите материал",
+    "shippingAddress": "Адрес доставки",
+    "submitting": "Отправка...",
+    "success": "Заказ успешно отправлен! Мы свяжемся с вами в ближайшее время.",
+    "title": "Пришлите",
+    "titleGradient": "вашу идею",
+    "uploadedFiles": "Выбранные файлы"
   },
-  "common": {
-    "save_continue": "Сохранить и продолжить"
+  "whyTrust": {
+    "description1": "Мы верим, что качественная 3D-печать должна быть доступной, а процесс — максимально простым. Наш опыт позволяет нам брать на себя риски: мы уверены в своем оборудовании и качестве материалов.",
+    "description2": "Этот подход позволяет убрать барьеры \"сложных расчетов\" и дать вам возможность получить именно то, что вы задумали, оценив результат самостоятельно.",
+    "items": {
+      "noCommissions": "Без комиссий",
+      "noPrepayment": "Bez предоплаты",
+      "shipping": "Отправка почтой",
+      "yourPrice": "Ваша цена"
+    },
+    "title": "Почему мы",
+    "titleItalic": "доверяем"
   }
 }

Разница между файлами не показана из-за своего большого размера
+ 982 - 773
src/locales/translations.json


+ 557 - 505
src/locales/ua.json

@@ -1,4 +1,49 @@
 {
+  "about": {
+    "cta": {
+      "content": "Зв'яжіться з нами сьогодні для вашого проекту.",
+      "title": "Готові до друку?"
+    },
+    "mission": {
+      "content": "Надійний 3D-друк для кожного.",
+      "title": "Наша місія"
+    },
+    "subtitle": "Створюємо майбутнє шар за шаром.",
+    "team": {
+      "member1": {
+        "name": "Luka",
+        "role": "Засновник"
+      },
+      "member2": {
+        "name": "Milica",
+        "role": "Дизайнер"
+      },
+      "member3": {
+        "name": "Nikola",
+        "role": "Інженер"
+      },
+      "title": "Наша команда"
+    },
+    "values": {
+      "community": {
+        "content": "Підтримка місцевих мейкерів.",
+        "title": "Спільнота"
+      },
+      "innovation": {
+        "content": "Застосування новітніх технологій.",
+        "title": "Інновації"
+      },
+      "quality": {
+        "content": "Точність у кожному шарі.",
+        "title": "Якість"
+      },
+      "title": "Наші цінності",
+      "trust": {
+        "content": "Ми довіряємо вам оцінювати нашу роботу.",
+        "title": "Довіра"
+      }
+    }
+  },
   "auth": {
     "back": "На головну",
     "fields": {
@@ -19,6 +64,7 @@
       "title": "З поверненням",
       "toggle": "Немає облікового запису? Зареєструйтесь"
     },
+    "orContinueWith": "Або продовжити через",
     "register": {
       "submit": "Зареєструватися",
       "subtitle": "Почніть друкувати свої ідеї сьогодні",
@@ -30,8 +76,107 @@
       "subtitle": "Придумайте новий надійний пароль",
       "title": "Скидання пароля",
       "token": "Код із листа"
+    }
+  },
+  "blog": {
+    "back": "Назад до блогу",
+    "categories": {
+      "caseStudies": "Кейси",
+      "industry": "Індустрія",
+      "materials": "Матеріали",
+      "technology": "Технології",
+      "title": "Категорії",
+      "tutorials": "Уроки"
+    },
+    "dateFormat": "{date}",
+    "featured": "Рекомендоване",
+    "featuredPost": {
+      "excerpt": "Як цифрове виробництво змінює місцевий ремісничий бізнес.",
+      "title": "Майбутнє 3D-друку в Чорногорії"
+    },
+    "latestPosts": "Останні записи",
+    "newsletter": {
+      "content": "Будьте в курсі.",
+      "placeholder": "Email",
+      "subscribe": "Підписатися",
+      "title": "Розсилка"
+    },
+    "post1": {
+      "excerpt": "Вибір технології.",
+      "title": "FDM проти SLA"
+    },
+    "post2": {
+      "excerpt": "Який використовувати?",
+      "title": "Гайд по матеріалах"
+    },
+    "post3": {
+      "excerpt": "Оптимізація STL.",
+      "title": "Поради з дизайну"
+    },
+    "readMore": "Читати далі",
+    "subtitle": "Новини та поради про 3D-друк"
+  },
+  "careers": {
+    "apply": "Подати заявку",
+    "contact": "Контакт",
+    "cta": {
+      "content": "Надішліть інформацію.",
+      "title": "Інше?"
+    },
+    "openPositions": {
+      "position1": {
+        "description": "Управління фермою принтерів.",
+        "location": "Херцег-Нові",
+        "title": "Технік",
+        "type": "Повний день"
+      },
+      "position2": {
+        "description": "Допомога клієнтам.",
+        "location": "Чорногорія",
+        "title": "Підтримка",
+        "type": "Віддалено"
+      },
+      "title": "Вакансії"
+    },
+    "process": {
+      "step1": {
+        "description": "Надішліть CV.",
+        "title": "Заявка"
+      },
+      "step2": {
+        "description": "Ми перевіряємо.",
+        "title": "Огляд"
+      },
+      "step3": {
+        "description": "Бесіда.",
+        "title": "Інтерв'ю"
+      },
+      "step4": {
+        "description": "Готово.",
+        "title": "Пропозиція"
+      },
+      "title": "Процес"
     },
-    "orContinueWith": "Або продовжити через"
+    "subtitle": "Приєднуйтесь до команди.",
+    "whyWork": {
+      "growth": {
+        "content": "Швидкий ріст.",
+        "title": "Ріст"
+      },
+      "impact": {
+        "content": "Реальний внесок.",
+        "title": "Вплив"
+      },
+      "innovation": {
+        "content": "Кращі технології.",
+        "title": "Інновації"
+      },
+      "team": {
+        "content": "Чудові люди.",
+        "title": "Команда"
+      },
+      "title": "Чому ми?"
+    }
   },
   "chat": {
     "admin": "Підтримка",
@@ -41,6 +186,30 @@
     "title": "Чат на замовлення",
     "unread": "Нове повідомлення"
   },
+  "common": {
+    "save_continue": "Зберегти та продовжити"
+  },
+  "contact": {
+    "form": {
+      "message": "Повідомлення",
+      "name": "Ім'я",
+      "subject": "Тема",
+      "submit": "Надіслати",
+      "title": "Email"
+    },
+    "info": {
+      "email": "hello@radionica3d.me",
+      "location": "Herceg Novi",
+      "phone": "+382 68 888 777",
+      "title": "Інфо"
+    },
+    "subtitle": "Зв'яжіться з нами."
+  },
+  "cookies": {
+    "accept": "Прийняти",
+    "leave": "Піти",
+    "message": "Цей сайт використовує файли cookie для покращення досвіду користувача."
+  },
   "errors": {
     "field_required": "Це поле є обов'язковим для заповнення",
     "missing": "Обов'язкове поле",
@@ -68,6 +237,202 @@
     "tagline": "Radionica 3D - сервіс, побудований на довірі. Ми втілюємо ваші ідеї, ви оцінюєте нашу працю.",
     "terms": "Умови"
   },
+  "guidelines": {
+    "designTips": {
+      "fdm": {
+        "bridging": "Bridging",
+        "infill": "Infill",
+        "layerHeight": "Layer Height",
+        "overhangs": "Overhangs",
+        "title": "FDM"
+      },
+      "sla": {
+        "drainage": "Drainage",
+        "orientation": "Orientation",
+        "postProcessing": "Post-processing",
+        "supports": "Supports",
+        "title": "SLA"
+      },
+      "title": "Поради"
+    },
+    "filePreparation": {
+      "formats": {
+        "3mf": "3MF",
+        "obj": "OBJ",
+        "step": "STEP",
+        "stl": "STL",
+        "title": "Формати"
+      },
+      "requirements": {
+        "normals": "Correct Normals",
+        "scale": "Proper Scale",
+        "title": "Вимоги",
+        "wallThickness": "Min Wall Thickness",
+        "watertight": "Watertight"
+      },
+      "title": "Підготовка файлів"
+    },
+    "help": {
+      "contact": "Contact",
+      "description": "Ask us.",
+      "helpCenter": "Help Center",
+      "title": "Need Help?"
+    },
+    "materialSelection": {
+      "abs": {
+        "bestFor": "Tech parts",
+        "considerations": "Heat resistant",
+        "name": "ABS"
+      },
+      "petg": {
+        "bestFor": "Durable",
+        "considerations": "Easy print",
+        "name": "PETG"
+      },
+      "pla": {
+        "bestFor": "Prototypes",
+        "considerations": "Bio-degradable",
+        "name": "PLA"
+      },
+      "resin": {
+        "bestFor": "Detail",
+        "considerations": "UV sensitive",
+        "name": "Resin"
+      },
+      "table": {
+        "bestFor": "Best For",
+        "considerations": "Notes",
+        "material": "Material"
+      },
+      "title": "Матеріали"
+    },
+    "nuances": {
+      "description": "Вироби, виготовлені методом FDM (пошарового наплавлення пластику), мають ряд візуальних і тактильних особливостей, які є нормою технології та не вважаються дефектами.",
+      "disclaimer": {
+        "text": "Ці особливості обумовлені самою природою технології FDM-друку і не впливають на функціональність виробу.",
+        "title": "Гарантія якості"
+      },
+      "items": {
+        "colorVariations": {
+          "description": "Незначні варіації відтінку або блиску.",
+          "details": "Навіть у межах одного кольору можливі варіації.",
+          "title": "Відмінності у відтінку"
+        },
+        "dimensionalTolerances": {
+          "description": "Невеликі допуски в розмірах.",
+          "details": "Обумовлено властивостями матеріалів та охолодженням.",
+          "title": "Допуски розмірів"
+        },
+        "layerStructure": {
+          "description": "Поверхня може мати помітні лінії шарів.",
+          "details": "Природний результат пошарової побудови моделі.",
+          "title": "Пошарова структура"
+        },
+        "overhangs": {
+          "description": "Можливе невелике провисання на нависаннях.",
+          "details": "Обмеження технології для ділянок без опори.",
+          "title": "Особливості нависань"
+        },
+        "stringing": {
+          "description": "Тонкі пластикові нитки між елементами.",
+          "details": "Легко видаляються і не впливають на функціональність.",
+          "title": "Дрібні ниточки (stringing)"
+        },
+        "supportMarks": {
+          "description": "Сліди в місцях, де використовувалися підтримки.",
+          "details": "Допускаються невеликі відмінності в текстурі поверхні.",
+          "title": "Сліди від підтримок"
+        },
+        "surfaceImperfections": {
+          "description": "Легка шорсткість або мікронапливи.",
+          "details": "Допускається на складній геометрії.",
+          "title": "Нерівності та текстура"
+        },
+        "zSeam": {
+          "description": "Вертикальна лінія або точка на поверхні.",
+          "details": "Місце, де починається і закінчується кожен шар.",
+          "title": "Шви (Z-seam)"
+        }
+      },
+      "subtitle": "Чого очікувати від FDM-друку",
+      "title": "Нюанси 3D-друку"
+    },
+    "orderingProcess": {
+      "step1": {
+        "description": "Send file",
+        "title": "Upload"
+      },
+      "step2": {
+        "description": "We craft",
+        "title": "Print"
+      },
+      "step3": {
+        "description": "By mail",
+        "title": "Ship"
+      },
+      "step4": {
+        "description": "Trust model",
+        "title": "Pay"
+      },
+      "title": "Process"
+    },
+    "subtitle": "Творча атмосфера.",
+    "title": "Правила"
+  },
+  "help": {
+    "categories": {
+      "ordering": {
+        "description": "Як це працює.",
+        "title": "Замовлення"
+      },
+      "pricing": {
+        "description": "Модель довіри.",
+        "title": "Ціни"
+      },
+      "shipping": {
+        "description": "Доставка поштою.",
+        "title": "Доставка"
+      },
+      "technical": {
+        "description": "Файли та характеристики.",
+        "title": "Технічне"
+      },
+      "title": "Категорії"
+    },
+    "contact": {
+      "button": "Підтримка",
+      "description": "Напишіть нам.",
+      "email": "Email",
+      "title": "Контакт"
+    },
+    "faq": {
+      "q1": {
+        "answer": "Ви самі оцінюєте вартість роботи.",
+        "question": "Скільки коштує друк?"
+      },
+      "q2": {
+        "answer": "Зазвичай 2-3 робочих дні.",
+        "question": "Терміни доставки?"
+      },
+      "q3": {
+        "answer": "STL, OBJ, STEP.",
+        "question": "Які формати?"
+      },
+      "q4": {
+        "answer": "Ваші моделі в безпеці.",
+        "question": "Конфіденційність?"
+      },
+      "q5": {
+        "answer": "Ми допомагаємо з доопрацюванням моделей.",
+        "question": "Підтримка?"
+      },
+      "title": "Питання та відповіді"
+    },
+    "search": {
+      "placeholder": "Пошук..."
+    },
+    "subtitle": "Як ми можемо допомогти?"
+  },
   "hero": {
     "badge": "Довіра у кожному шарі",
     "description": "Унікальний сервіс 3D-друку: надішліть модель, отримайте готовий виріб поштою та заплатіть стільки, скільки вважаєте за потрібне.",
@@ -90,11 +455,69 @@
     "logOut": "Вийти",
     "materials": "Матеріали",
     "myOrders": "Мої замовлення",
-    "portfolio": "Портфоліо",
     "philosophy": "Наш підхід",
+    "portfolio": "Портфоліо",
     "register": "Реєстрація",
     "services": "Послуги"
   },
+  "nuances": {
+    "description": "Вироби, виготовлені методом FDM (пошарового наплавлення пластику), мають ряд візуальних і тактильних особливостей, які є нормою технології та не вважаються дефектами.",
+    "disclaimer": {
+      "text": "Ці особливості обумовлені самою природою технології FDM-друку.",
+      "title": "Гарантія якості"
+    },
+    "aiDisclaimer": "Усі пояснювальні фотографії згенеровані ШІ для наочності.",
+    "items": {
+      "colorVariations": {
+        "description": "Незначні варіації кольору.",
+        "details": "Навіть у межах одного кольору можливі варіації.",
+        "title": "Відмінності у відтінку"
+      },
+      "dimensionalTolerances": {
+        "description": "Можливі невеликі допуски.",
+        "details": "Обумовлено властивостями та охолодженням.",
+        "title": "Допуски розмірів"
+      },
+      "layerStructure": {
+        "description": "Поверхня має помітні лінії шарів.",
+        "details": "Це природний результат пошарової побудови.",
+        "title": "Пошарова структура"
+      },
+      "overhangs": {
+        "description": "Провисання на ділянках без опори.",
+        "details": "Обмеження технології.",
+        "title": "Особливості нависань"
+      },
+      "stringing": {
+        "description": "Тонкі пластикові нитки.",
+        "details": "Легко видаляються.",
+        "title": "Дрібні ниточки (stringing)"
+      },
+      "supportMarks": {
+        "description": "Можуть залишатися сліди в місцях підтримок.",
+        "details": "Невеликі відмінності в текстурі поверхні.",
+        "title": "Сліди від підтримок"
+      },
+      "surfaceImperfections": {
+        "description": "Допускається легка шорсткість.",
+        "details": "Є нормою для даної технології.",
+        "title": "Нерівності та текстура"
+      },
+      "zSeam": {
+        "description": "Точка початку та кінця кожного шару.",
+        "details": "Може бути помітна на поверхні.",
+        "title": "Шви (Z-seam)"
+      }
+    },
+    "subtitle": "Чого очікувати",
+    "title": "Нюанси 3D-друку"
+  },
+  "portfolio": {
+    "description": "Ознайомтеся з нашими успішними проектами 3D-друку, реалізованими для клієнтів у Чорногорії.",
+    "empty": "Наша галерея поповнюється. Заходьте пізніше!",
+    "title": "Галерея",
+    "titleGradient": "робіт"
+  },
   "pricing": {
     "badge": "Політика довіри",
     "description": "Жодних передоплат і складних калькуляторів. Ви платите лише за результат, у який вірите.",
@@ -110,567 +533,196 @@
       "step4": "Оцініть роботу та сплатіть зручним способом"
     }
   },
-  "services": {
-    "badge": "Наші можливості",
-    "description": "Ми підберемо оптимальний метод друку для вашого завдання.",
-    "fdm": {
-      "description": "Міцні деталі із інженерних пластиків.",
-      "title": "FDM друк"
-    },
-    "sla": {
-      "description": "Максимальная детализация and гладкость изделий.",
-      "title": "SLA смола"
-    },
-    "title": "Технології",
-    "titleGradient": "реалізації"
-  },
-  "portfolio": {
-    "title": "Галерея",
-    "titleGradient": "робіт",
-    "description": "Ознайомтеся з нашими успішними проектами 3D-друку, реалізованими для клієнтів у Чорногорії.",
-    "empty": "Наша галерея поповнюється. Заходьте пізніше!"
-  },
-  "upload": {
-    "addressPlaceholder": "Місто, Індекс, Адреса (у вільній формі)",
-    "badge": "Оформлення замовлення",
-    "allowPortfolio": "Дозволити публікацію в портфоліо",
-    "allowPortfolioDesc": "Ми покажемо фотографії вашого виробу, щоб надихнути інших клієнтів.",
-    "selectMaterial": "Виберіть матеріал",
-    "browse": "вибрати файли",
-    "continue": "Надіслати замовлення",
-    "description": "Завантажте файл або вкажіть посилання на модель (Thingiverse, Printables тощо). Ми зв'яжемося з вами для уточнення деталей.",
-    "dropzone": "Завантажити файли (STL, OBJ, STEP)",
-    "dropzoneActive": "Перемістіть файли сюди",
-    "email": "Email",
-    "firstName": "Ім'я",
-    "lastName": "Прізвище",
-    "modelLink": "Посилання на модель (необов'язково)",
-    "modelLinkPlaceholder": "https://www.printables.com/model/...",
-    "notes": "Примітки до замовлення",
-    "notesPlaceholder": "Побажання щодо кольору, матеріалу, товщини стінок або інші інструкції.",
-    "phone": "Телефон",
-    "quantity": "Кількість копій",
-    "shippingAddress": "Адреса доставки",
-    "submitting": "Надсилання...",
-    "success": "Замовлення успішно надіслано! Ми зв'яжемося з вами найближчим часом.",
-    "title": "Надішліть",
-    "titleGradient": "вашу ідею",
-    "uploadedFiles": "Вибрані файли"
-  },
-  "whyTrust": {
-    "description1": "Ми віримо, що якісний 3D-друк має бути доступним, а процес — максимально простим. Наш досвід дозволяє нам брати на себе ризики: ми впевнені у своєму обладнанні та якості матеріалів.",
-    "description2": "Цей підхід дозволяє усунути бар'єри \"складних розрахунків\" і дати вам можливість отримати саме те, що ви задумали, оцінивши результат самостійно.",
-    "items": {
-      "noCommissions": "Без комісій",
-      "noPrepayment": "Без передоплати",
-      "shipping": "Надсилання поштою",
-      "yourPrice": "Ваша cena"
-    },
-    "title": "Чому ми",
-    "titleItalic": "довіряємо"
-  },
   "privacy": {
-    "title": "Політика конфіденційності",
-    "subtitle": "Дата набрання чинності: 11 квітня 2026 р.\nRadionica3d («ми», «нам») керує цим сайтом і несе відповідальність за збір та використання ваших персональних даних.",
     "intro": "Ця Політика конфіденційності описує:\n• які дані ми збираємо\n• як і чому ми їх використовуємо\n• де і як вони зберігаються або передаються\n• ваші права щодо ваших даних\n• як зв'язатися з нами щодо конфіденційності\n\nВідвідуючи наш сайт, зв'язуючись з нами або користуючись нашими послугами, вы погоджуєтеся з цією політикою.",
     "sections": {
       "01_data": {
-        "title": "1. Дані, які ми збираємо",
-        "content": "Ми можемо збирати та обробляти:\n• Контактні дані: ім'я, email, номер телефону, компанія\n• Дані проекту та завантаження: повідомлення, брифи, 3D-моделі, зображення, ескізи\n• Дані про транзакції: кошториси, рахунки, платежі\n• Технічні дані: IP-адреса, тип браузера, файли cookie, аналітика\n\nМи не збираємо чутливі категорії даних (наприклад, раса, стан здоров'я, релігійні переконання)."
+        "content": "Ми можемо збирати та обробляти:\n• Контактні дані: ім'я, email, номер телефону, компанія\n• Дані проекту та завантаження: повідомлення, брифи, 3D-моделі, зображення, ескізи\n• Дані про транзакції: кошториси, рахунки, платежі\n• Технічні дані: IP-адреса, тип браузера, файли cookie, аналітика\n\nМи не збираємо чутливі категорії даних (наприклад, раса, стан здоров'я, релігійні переконання).",
+        "title": "1. Дані, які ми збираємо"
       },
       "02_usage": {
-        "title": "2. Як ми використовуємо ваші дані",
-        "content": "Ми використовуємо персональні дані для:\n• відповідей на запити та надання кошторисів\n• управління проектами, замовленнями, доставкою\n• ведення клієнтських записів у наших системах\n• надсилання оновлень або підтвержень (email або WhatsApp/Viber/Telegram, за згодою)\n• покращення нашого сайту та послуг за допомогою анонімної аналітики\n\nМи не продаємо і не здаємо в оренду ваші персональні дані третім особам."
+        "content": "Ми використовуємо персональні дані для:\n• відповідей на запити та надання кошторисів\n• управління проектами, замовленнями, доставкою\n• ведення клієнтських записів у наших системах\n• надсилання оновлень або підтвержень (email або WhatsApp/Viber/Telegram, за згодою)\n• покращення нашого сайту та послуг за допомогою анонімної аналітики\n\nМи не продаємо і не здаємо в оренду ваші персональні дані третім особам.",
+        "title": "2. Як ми використовуємо ваші дані"
       },
       "03_basis": {
-        "title": "3. Правові підстави для обробки",
-        "content": "Відповідно до EU GDPR ми спираємося на:\n• Контракт — для надання послуг за вашим запитом (кошториси, виробництво)\n• Законний інтерес — для адміністрування бізнесу, управління клієнтами та відповідей на запити\n• Згоду — для додаткового маркетингу або розсилок\n\nЯкщо ви надаєте згоду, ви можете відкликати її в будь-який час."
+        "content": "Відповідно до EU GDPR ми спираємося на:\n• Контракт — для надання послуг за вашим запитом (кошториси, виробництво)\n• Законний інтерес — для адміністрування бізнесу, управління клієнтами та відповідей на запити\n• Згоду — для додаткового маркетингу або розсилок\n\nЯкщо ви надаєте згоду, ви можете відкликати її в будь-який час.",
+        "title": "3. Правові підстави для обробки"
       },
       "04_uploads": {
-        "title": "4. Завантаження файлів та надісланий контент",
-        "content": "При завантаженні файлів або моделей вони обробляються відповідно до нашої Угоди про подання контенту та захист ІВ. Ми надійно зберігаємо файли проекту, поки робота активна. Після завершення роботи або після певного періоду (наприклад, 30 днів для тимчасових послуг), ми можемо видалити або анонімізувати їх."
+        "content": "При завантаженні файлів або моделей вони обробляються відповідно до нашої Угоди про подання контенту та захист ІВ. Ми надійно зберігаємо файли проекту, поки робота активна. Після завершення роботи або після певного періоду (наприклад, 30 днів для тимчасових послуг), ми можемо видалити або анонімізувати їх.",
+        "title": "4. Завантаження файлів та надісланий контент"
       },
       "05_security": {
-        "title": "5. Зберігання та безпека",
-        "content": "Нашим основним сховищем є захищені сервери под нашим контролем в ЄС. Ми використовуємо шифрування, засоби контролю безпечного доступу та обмежений доступ персоналу. Записи про транзакції та проекти зберігаються до шести років (для бухгалтерського та юридичного обліку). Якщо клієнт просить нас зберегти файли проекту для повторних замовлень, ми будемо зберігати їх надійно до отримання інших вказівок."
+        "content": "Нашим основним сховищем є захищені сервери под нашим контролем в ЄС. Ми використовуємо шифрування, засоби контролю безпечного доступу та обмежений доступ персоналу. Записи про транзакції та проекти зберігаються до шести років (для бухгалтерського та юридичного обліку). Якщо клієнт просить нас зберегти файли проекту для повторних замовлень, ми будемо зберігати їх надійно до отримання інших вказівок.",
+        "title": "5. Зберігання та безпека"
       },
       "06_sharing": {
-        "title": "6. Передача даних та сторонні послуги",
-        "content": "Ми передаємо персональні дані лише у разі потреби для надання послуги, наприклад:\n• Платіжним системам (для транзакцій)\n• Платформам управління замовленнями/файлами\n• Партнерам з логістики/доставки\n• Бухгалтерам, юридичним консультантам\nУсі треті сторони пов'язані зобов'язаннями щодо конфіденційності та захисту даних відповідно до EU GDPR."
+        "content": "Ми передаємо персональні дані лише у разі потреби для надання послуги, наприклад:\n• Платіжним системам (для транзакцій)\n• Платформам управління замовленнями/файлами\n• Партнерам з логістики/доставки\n• Бухгалтерам, юридичним консультантам\nУсі треті сторони пов'язані зобов'язаннями щодо конфіденційності та захисту даних відповідно до EU GDPR.",
+        "title": "6. Передача даних та сторонні послуги"
       },
       "07_rights": {
-        "title": "7. Ваші права",
-        "content": "Ви маєте право на: доступ до ваших персональних даних, виправлення неточністьей, запит на видалення (де це дозволено законом), заперечення проти обробки або відкликання згоди, запит на обмеження або перенесення даних. Надсилайте запити на Hello@radionica3d.me. Ми відповімо протягом 30 днів."
+        "content": "Ви маєте право на: доступ до ваших персональних даних, виправлення неточністьей, запит на видалення (де це дозволено законом), заперечення проти обробки або відкликання згоди, запит на обмеження або перенесення даних. Надсилайте запити на Hello@radionica3d.me. Ми відповімо протягом 30 днів.",
+        "title": "7. Ваші права"
       },
       "08_cookies": {
-        "title": "8. Файли cookie та аналітика",
-        "content": "Ми використовуємо необхідні файли cookie для роботи сайту та додаткові аналітичні файли cookie для моніторингу використання та підвищення продуктивності. Ви можете керувати файлами cookie або вимикати їх у налаштуваннях браузера."
+        "content": "Ми використовуємо необхідні файли cookie для роботи сайту та додаткові аналітичні файли cookie для моніторингу використання та підвищення продуктивності. Ви можете керувати файлами cookie або вимикати їх у налаштуваннях браузера.",
+        "title": "8. Файли cookie та аналітика"
       },
       "09_international": {
-        "title": "9. Міжнародна передача та обробка у третіх країнах",
-        "content": "Хоча ми зберігаємо більшу частину даних в ЄС, ми також працюємо з постачальниками послуг, чиї сервери можуть знаходитися за межами ЄС (включаючи США). При міжнародній передачі даних ми забезпечуємо їх захист за допомогою Стандартних договірних умов (SCC) або еквівалентних гарантій, затверджених відповідно до EU GDPR."
+        "content": "Хоча ми зберігаємо більшу частину даних в ЄС, ми також працюємо з постачальниками послуг, чиї сервери можуть знаходитися за межами ЄС (включаючи США). При міжнародній передачі даних ми забезпечуємо їх захист за допомогою Стандартних договірних умов (SCC) або еквівалентних гарантій, затверджених відповідно до EU GDPR.",
+        "title": "9. Міжнародна передача та обробка у третіх країнах"
       },
       "10_updates": {
-        "title": "10. Оновлення політики",
-        "content": "Ми можемо час від часу переглядати цю політику. Остання версія завжди доступна на нашому сайті."
+        "content": "Ми можемо час від часу переглядати цю політику. Остання версія завжди доступна на нашому сайті.",
+        "title": "10. Оновлення політики"
       },
       "11_contact": {
-        "title": "11. Контакти та скарги",
-        "content": "Якщо у вас є запитання або побоювання щодо того, як ми обробляємо ваші дані, зв’яжіться з нами за адресою Hello@radionica3d.me."
-      }
-    }
-  },
-  "cookies": {
-    "message": "Цей сайт використовує файли cookie для покращення досвіду користувача.",
-    "accept": "Прийняти",
-    "leave": "Піти"
-  },
-  "nuances": {
-    "title": "Нюанси 3D-друку",
-    "subtitle": "Чого очікувати",
-    "description": "Вироби, виготовлені методом FDM (пошарового наплавлення пластику), мають ряд візуальних і тактильних особливостей, які є нормою технології та не вважаються дефектами.",
-    "disclaimer": {
-      "title": "Гарантія якості",
-      "text": "Ці особливості обумовлені самою природою технології FDM-друку."
-    },
-    "items": {
-      "layerStructure": {
-        "title": "Пошарова структура",
-        "description": "Поверхня має помітні лінії шарів.",
-        "details": "Це природний результат пошарової побудови."
-      },
-      "surfaceImperfections": {
-        "title": "Нерівності та текстура",
-        "description": "Допускається легка шорсткість.",
-        "details": "Є нормою для даної технології."
-      },
-      "supportMarks": {
-        "title": "Сліди від підтримок",
-        "description": "Можуть залишатися сліди в місцях підтримок.",
-        "details": "Невеликі відмінності в текстурі поверхні."
-      },
-      "zSeam": {
-        "title": "Шви (Z-seam)",
-        "description": "Точка початку та кінця кожного шару.",
-        "details": "Може бути помітна на поверхні."
-      },
-      "overhangs": {
-        "title": "Особливості нависань",
-        "description": "Провисання на ділянках без опори.",
-        "details": "Обмеження технології."
-      },
-      "dimensionalTolerances": {
-        "title": "Допуски розмірів",
-        "description": "Можливі невеликі допуски.",
-        "details": "Обумовлено властивостями та охолодженням."
-      },
-      "colorVariations": {
-        "title": "Відмінності у відтінку",
-        "description": "Незначні варіації кольору.",
-        "details": "Навіть у межах одного кольору можливі варіації."
-      },
-      "stringing": {
-        "title": "Дрібні ниточки (stringing)",
-        "description": "Тонкі пластикові нитки.",
-        "details": "Легко видаляються."
-      }
-    }
-  },
-  "about": {
-    "subtitle": "Створюємо майбутнє шар за шаром.",
-    "mission": {
-      "title": "Наша місія",
-      "content": "Надійний 3D-друк для кожного."
-    },
-    "values": {
-      "title": "Наші цінності",
-      "trust": {
-        "title": "Довіра",
-        "content": "Ми довіряємо вам оцінювати нашу роботу."
-      },
-      "quality": {
-        "title": "Якість",
-        "content": "Точність у кожному шарі."
-      },
-      "innovation": {
-        "title": "Інновації",
-        "content": "Застосування новітніх технологій."
-      },
-      "community": {
-        "title": "Спільнота",
-        "content": "Підтримка місцевих мейкерів."
+        "content": "Якщо у вас є запитання або побоювання щодо того, як ми обробляємо ваші дані, зв’яжіться з нами за адресою Hello@radionica3d.me.",
+        "title": "11. Контакти та скарги"
       }
     },
-    "team": {
-      "title": "Наша команда",
-      "member1": {
-        "name": "Luka",
-        "role": "Засновник"
-      },
-      "member2": {
-        "name": "Milica",
-        "role": "Дизайнер"
-      },
-      "member3": {
-        "name": "Nikola",
-        "role": "Інженер"
-      }
-    },
-    "cta": {
-      "title": "Готові до друку?",
-      "content": "Зв'яжіться з нами сьогодні для вашого проекту."
-    }
+    "subtitle": "Дата набрання чинності: 11 квітня 2026 р.\nRadionica3d («ми», «нам») керує цим сайтом і несе відповідальність за збір та використання ваших персональних даних.",
+    "title": "Політика конфіденційності"
   },
-  "careers": {
-    "subtitle": "Приєднуйтесь до команди.",
-    "apply": "Подати заявку",
-    "contact": "Контакт",
-    "whyWork": {
-      "title": "Чому ми?",
-      "innovation": {
-        "title": "Інновації",
-        "content": "Кращі технології."
-      },
-      "growth": {
-        "title": "Ріст",
-        "content": "Швидкий ріст."
-      },
-      "team": {
-        "title": "Команда",
-        "content": "Чудові люди."
-      },
-      "impact": {
-        "title": "Вплив",
-        "content": "Реальний внесок."
-      }
-    },
-    "openPositions": {
-      "title": "Вакансії",
-      "position1": {
-        "title": "Технік",
-        "type": "Повний день",
-        "location": "Херцег-Нові",
-        "description": "Управління фермою принтерів."
-      },
-      "position2": {
-        "title": "Підтримка",
-        "type": "Віддалено",
-        "location": "Чорногорія",
-        "description": "Допомога клієнтам."
-      }
-    },
-    "process": {
-      "title": "Процес",
-      "step1": {
-        "title": "Заявка",
-        "description": "Надішліть CV."
-      },
-      "step2": {
-        "title": "Огляд",
-        "description": "Ми перевіряємо."
-      },
-      "step3": {
-        "title": "Інтерв'ю",
-        "description": "Бесіда."
-      },
-      "step4": {
-        "title": "Пропозиція",
-        "description": "Готово."
-      }
-    },
-    "cta": {
-      "title": "Інше?",
-      "content": "Надішліть інформацію."
-    }
+  "profile": {
+    "complete_subtitle": "Будь ласка, надайте контактну інформацію, щоб продовжити оформлення замовлення.",
+    "complete_title": "Заповніть профіль"
   },
-  "blog": {
-    "subtitle": "Новини та поради про 3D-друк",
-    "readMore": "Читати далі",
-    "featured": "Рекомендоване",
-    "dateFormat": "{date}",
-    "latestPosts": "Останні записи",
-    "featuredPost": {
-      "title": "Майбутнє 3D-друку в Чорногорії",
-      "excerpt": "Як цифрове виробництво змінює місцевий ремісничий бізнес."
-    },
-    "post1": {
-      "title": "FDM проти SLA",
-      "excerpt": "Вибір технології."
-    },
-    "post2": {
-      "title": "Гайд по матеріалах",
-      "excerpt": "Який використовувати?"
-    },
-    "post3": {
-      "title": "Поради з дизайну",
-      "excerpt": "Оптимізація STL."
-    },
-    "categories": {
-      "title": "Категорії",
-      "technology": "Технології",
-      "materials": "Матеріали",
-      "tutorials": "Уроки",
-      "caseStudies": "Кейси",
-      "industry": "Індустрія"
+  "services": {
+    "badge": "Наші можливості",
+    "description": "Ми підберемо оптимальний метод друку для вашого завдання.",
+    "fdm": {
+      "description": "Міцні деталі із інженерних пластиків.",
+      "title": "FDM друк"
     },
-    "newsletter": {
-      "title": "Розсилка",
-      "content": "Будьте в курсі.",
-      "placeholder": "Email",
-      "subscribe": "Підписатися"
+    "sla": {
+      "description": "Максимальная детализация and гладкость изделий.",
+      "title": "SLA смола"
     },
-    "back": "Назад до блогу"
+    "title": "Технології",
+    "titleGradient": "реалізації"
   },
-  "help": {
-    "subtitle": "Як ми можемо допомогти?",
-    "search": {
-      "placeholder": "Пошук..."
-    },
-    "categories": {
-      "title": "Категорії",
-      "ordering": {
-        "title": "Замовлення",
-        "description": "Як це працює."
-      },
-      "pricing": {
-        "title": "Ціни",
-        "description": "Модель довіри."
-      },
-      "shipping": {
-        "title": "Доставка",
-        "description": "Доставка поштою."
-      },
-      "technical": {
-        "title": "Технічне",
-        "description": "Файли та характеристики."
-      }
-    },
-    "faq": {
-      "title": "Питання та відповіді",
-      "q1": {
-        "question": "Скільки коштує друк?",
-        "answer": "Ви самі оцінюєте вартість роботи."
-      },
-      "q2": {
-        "question": "Терміни доставки?",
-        "answer": "Зазвичай 2-3 робочих дні."
-      },
-      "q3": {
-        "question": "Які формати?",
-        "answer": "STL, OBJ, STEP."
-      },
-      "q4": {
-        "question": "Конфіденційність?",
-        "answer": "Ваші моделі в безпеці."
-      },
-      "q5": {
-        "question": "Підтримка?",
-        "answer": "Ми допомагаємо з доопрацюванням моделей."
-      }
+  "terms": {
+    "changes": {
+      "content": "Можуть змінюватися.",
+      "title": "Зміни"
     },
     "contact": {
-      "title": "Контакт",
-      "description": "Напишіть нам.",
-      "button": "Підтримка",
-      "email": "Email"
-    }
-  },
-  "contact": {
-    "subtitle": "Зв'яжіться з нами.",
-    "form": {
-      "title": "Email",
-      "name": "Ім'я",
-      "subject": "Тема",
-      "message": "Повідомлення",
-      "submit": "Надіслати"
+      "button": "Юрист",
+      "description": "Юридичні питання.",
+      "email": "Email",
+      "title": "Контакт"
     },
-    "info": {
-      "title": "Інфо",
-      "email": "hello@radionica3d.me",
-      "phone": "+382 68 888 777",
-      "location": "Herceg Novi"
-    }
-  },
-  "guidelines": {
-    "title": "Правила",
-    "subtitle": "Творча атмосфера.",
-    "filePreparation": {
-      "title": "Підготовка файлів",
-      "formats": {
-        "title": "Формати",
-        "stl": "STL",
-        "obj": "OBJ",
-        "step": "STEP",
-        "3mf": "3MF"
+    "intellectualProperty": {
+      "companyRights": {
+        "content": "Ми володіємо нашою технологією.",
+        "title": "Наші права"
       },
-      "requirements": {
-        "title": "Вимоги",
-        "watertight": "Watertight",
-        "normals": "Correct Normals",
-        "scale": "Proper Scale",
-        "wallThickness": "Min Wall Thickness"
+      "description": "Права власності.",
+      "title": "ІВ",
+      "userRights": {
+        "content": "Ви володієте своїми моделями.",
+        "title": "Ваші права"
       }
     },
-    "designTips": {
-      "title": "Поради",
-      "fdm": {
-        "title": "FDM",
-        "overhangs": "Overhangs",
-        "bridging": "Bridging",
-        "layerHeight": "Layer Height",
-        "infill": "Infill"
-      },
-      "sla": {
-        "title": "SLA",
-        "supports": "Supports",
-        "orientation": "Orientation",
-        "drainage": "Drainage",
-        "postProcessing": "Post-processing"
-      }
+    "introduction": {
+      "content": "Ласкаво просимо до Radionica 3D.",
+      "title": "Вступ"
     },
-    "materialSelection": {
-      "title": "Матеріали",
-      "table": {
-        "material": "Material",
-        "bestFor": "Best For",
-        "considerations": "Notes"
-      },
-      "pla": {
-        "name": "PLA",
-        "bestFor": "Prototypes",
-        "considerations": "Bio-degradable"
-      },
-      "abs": {
-        "name": "ABS",
-        "bestFor": "Tech parts",
-        "considerations": "Heat resistant"
-      },
-      "petg": {
-        "name": "PETG",
-        "bestFor": "Durable",
-        "considerations": "Easy print"
+    "liability": {
+      "description": "Юридичні межі.",
+      "limitations": {
+        "point1": "Без зловживань.",
+        "point2": "Місцеві закони.",
+        "point3": "Безпечне поводження.",
+        "point4": "Без гарантій.",
+        "title": "Межі"
       },
-      "resin": {
-        "name": "Resin",
-        "bestFor": "Detail",
-        "considerations": "UV sensitive"
-      }
+      "title": "Відповідальність"
     },
-    "orderingProcess": {
-      "title": "Process",
-      "step1": {
-        "title": "Upload",
-        "description": "Send file"
-      },
-      "step2": {
-        "title": "Print",
-        "description": "We craft"
-      },
-      "step3": {
-        "title": "Ship",
-        "description": "By mail"
-      },
-      "step4": {
-        "title": "Pay",
-        "description": "Trust model"
+    "payment": {
+      "description": "Модель довіри.",
+      "title": "Оплата",
+      "trustModel": {
+        "point1": "Оплата після доставки.",
+        "point2": "Ви оцінюєте якість.",
+        "point3": "Чесне використання.",
+        "point4": "Підтримка включена.",
+        "title": "Деталі"
       }
     },
-    "help": {
-      "title": "Need Help?",
-      "description": "Ask us.",
-      "helpCenter": "Help Center",
-      "contact": "Contact"
-    }
-  },
-  "terms": {
-    "title": "Умови",
-    "subtitle": "Юридичні моменти.",
-    "introduction": {
-      "title": "Вступ",
-      "content": "Ласкаво просимо до Radionica 3D."
-    },
     "services": {
-      "title": "Послуги",
       "description": "FDM та SLA друк.",
       "point1": "Гарантія якості.",
       "point2": "Швидка доставка.",
       "point3": "Підтримка.",
-      "point4": "Довіра."
+      "point4": "Довіра.",
+      "title": "Послуги"
+    },
+    "shipping": {
+      "delivery": {
+        "content": "Доставка поштою.",
+        "title": "Методи"
+      },
+      "description": "Як ми відправляємо.",
+      "returns": {
+        "content": "Можливе повернення.",
+        "title": "Повернення"
+      },
+      "title": "Доставка"
     },
+    "subtitle": "Юридичні моменти.",
+    "title": "Умови",
     "userResponsibilities": {
-      "title": "Обов'язки",
       "description": "Безпечне використання.",
       "prohibited": {
-        "title": "Заборонено",
         "point1": "Незаконні предмети.",
         "point2": "Небезпечні матеріали.",
         "point3": "Файли з авторським правом.",
         "point4": "Спам.",
-        "point5": "Зловживання."
-      }
-    },
-    "intellectualProperty": {
-      "title": "ІВ",
-      "description": "Права власності.",
-      "userRights": {
-        "title": "Ваші права",
-        "content": "Ви володієте своїми моделями."
-      },
-      "companyRights": {
-        "title": "Наші права",
-        "content": "Ми володіємо нашою технологією."
-      }
-    },
-    "payment": {
-      "title": "Оплата",
-      "description": "Модель довіри.",
-      "trustModel": {
-        "title": "Деталі",
-        "point1": "Оплата після доставки.",
-        "point2": "Ви оцінюєте якість.",
-        "point3": "Чесне використання.",
-        "point4": "Підтримка включена."
-      }
-    },
-    "shipping": {
-      "title": "Доставка",
-      "description": "Як ми відправляємо.",
-      "delivery": {
-        "title": "Методи",
-        "content": "Доставка поштою."
+        "point5": "Зловживання.",
+        "title": "Заборонено"
       },
-      "returns": {
-        "title": "Повернення",
-        "content": "Можливе повернення."
-      }
-    },
-    "liability": {
-      "title": "Відповідальність",
-      "description": "Юридичні межі.",
-      "limitations": {
-        "title": "Межі",
-        "point1": "Без зловживань.",
-        "point2": "Місцеві закони.",
-        "point3": "Безпечне поводження.",
-        "point4": "Без гарантій."
-      }
-    },
-    "changes": {
-      "title": "Зміни",
-      "content": "Можуть змінюватися."
-    },
-    "contact": {
-      "title": "Контакт",
-      "description": "Юридичні питання.",
-      "button": "Юрист",
-      "email": "Email"
+      "title": "Обов'язки"
     }
   },
-  "profile": {
-    "complete_title": "Заповніть профіль",
-    "complete_subtitle": "Будь ласка, надайте контактну інформацію, щоб продовжити оформлення замовлення."
+  "upload": {
+    "addressPlaceholder": "Місто, Індекс, Адреса (у вільній формі)",
+    "allowPortfolio": "Дозволити публікацію в портфоліо",
+    "allowPortfolioDesc": "Ми покажемо фотографії вашого виробу, щоб надихнути інших клієнтів.",
+    "badge": "Оформлення замовлення",
+    "browse": "вибрати файли",
+    "continue": "Надіслати замовлення",
+    "description": "Завантажте файл або вкажіть посилання на модель (Thingiverse, Printables тощо). Ми зв'яжемося з вами для уточнення деталей.",
+    "dropzone": "Завантажити файли (STL, OBJ, STEP)",
+    "dropzoneActive": "Перемістіть файли сюди",
+    "email": "Email",
+    "firstName": "Ім'я",
+    "lastName": "Прізвище",
+    "modelLink": "Посилання на модель (необов'язково)",
+    "modelLinkPlaceholder": "https://www.printables.com/model/...",
+    "notes": "Примітки до замовлення",
+    "notesPlaceholder": "Побажання щодо кольору, матеріалу, товщини стінок або інші інструкції.",
+    "phone": "Телефон",
+    "quantity": "Кількість копій",
+    "selectMaterial": "Виберіть матеріал",
+    "shippingAddress": "Адреса доставки",
+    "submitting": "Надсилання...",
+    "success": "Замовлення успішно надіслано! Ми зв'яжемося з вами найближчим часом.",
+    "title": "Надішліть",
+    "titleGradient": "вашу ідею",
+    "uploadedFiles": "Вибрані файли"
   },
-  "common": {
-    "save_continue": "Зберегти та продовжити"
+  "whyTrust": {
+    "description1": "Ми віримо, що якісний 3D-друк має бути доступним, а процес — максимально простим. Наш досвід дозволяє нам брати на себе ризики: ми впевнені у своєму обладнанні та якості матеріалів.",
+    "description2": "Цей підхід дозволяє усунути бар'єри \"складних розрахунків\" і дати вам можливість отримати саме те, що ви задумали, оцінивши результат самостійно.",
+    "items": {
+      "noCommissions": "Без комісій",
+      "noPrepayment": "Без передоплати",
+      "shipping": "Надсилання поштою",
+      "yourPrice": "Ваша cena"
+    },
+    "title": "Чому ми",
+    "titleItalic": "довіряємо"
   }
 }

+ 237 - 257
src/pages/Guidelines.vue

@@ -1,285 +1,265 @@
 <template>
   <div class="min-h-screen bg-white">
-    <div class="container mx-auto px-4 py-12">
-      <div class="max-w-4xl mx-auto">
-        <!-- Header -->
-        <div class="mb-12">
-          <h1 class="text-4xl md:text-5xl font-display font-bold text-foreground mb-4">
-            {{ t("footer.guidelines") }}
-          </h1>
-          <p class="text-lg text-foreground/60">
-            {{ t("guidelines.subtitle") }}
-          </p>
-        </div>
-
-        <!-- Content -->
-        <div class="space-y-12">
-          <!-- File Preparation -->
-          <section>
-            <h2 class="text-2xl font-display font-bold text-foreground mb-6">
-              {{ t("guidelines.filePreparation.title") }}
-            </h2>
-            <div class="space-y-6">
-              <div class="bg-gray-50 rounded-xl p-6">
-                <h3 class="text-xl font-display font-bold text-foreground mb-3">
-                  {{ t("guidelines.filePreparation.formats.title") }}
-                </h3>
-                <ul class="space-y-2 text-foreground/70">
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.filePreparation.formats.stl") }}
-                  </li>
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.filePreparation.formats.obj") }}
-                  </li>
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.filePreparation.formats.step") }}
-                  </li>
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.filePreparation.formats.3mf") }}
-                  </li>
-                </ul>
-              </div>
+    <!-- Hero Section -->
+    <header class="pt-32 pb-16 bg-gradient-to-b from-gray-50 to-white">
+      <div class="container mx-auto px-4 text-center">
+        <h1 class="text-4xl md:text-6xl font-display font-bold text-foreground mb-6">
+          {{ t("nuances.title") }}
+        </h1>
+        <p class="text-xl text-foreground/60 max-w-2xl mx-auto">
+          {{ t("nuances.subtitle") }}
+        </p>
+      </div>
+    </header>
 
-              <div class="bg-gray-50 rounded-xl p-6">
-                <h3 class="text-xl font-display font-bold text-foreground mb-3">
-                  {{ t("guidelines.filePreparation.requirements.title") }}
-                </h3>
-                <ul class="space-y-2 text-foreground/70">
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.filePreparation.requirements.watertight") }}
-                  </li>
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.filePreparation.requirements.normals") }}
-                  </li>
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.filePreparation.requirements.scale") }}
-                  </li>
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.filePreparation.requirements.wallThickness") }}
-                  </li>
-                </ul>
-              </div>
+    <main class="container mx-auto px-4 pb-24">
+      <!-- Intro Memo -->
+      <section class="max-w-4xl mx-auto mb-20">
+        <div class="bg-primary/5 rounded-3xl p-8 md:p-12 border border-primary/10">
+          <div class="flex items-start gap-6">
+            <div class="hidden md:flex w-12 h-12 bg-primary/10 text-primary rounded-full items-center justify-center flex-shrink-0">
+              <InfoIcon class="w-6 h-6" />
             </div>
-          </section>
+            <div>
+              <h2 class="text-2xl font-display font-bold text-foreground mb-4">
+                {{ t("nuances.disclaimer.title") }}
+              </h2>
+              <p class="text-lg text-foreground/70 leading-relaxed">
+                {{ t("nuances.description") }}
+                {{ t("nuances.disclaimer.text") }}
+              </p>
+            </div>
+          </div>
+        </div>
+      </section>
 
-          <!-- Design Tips -->
-          <section>
-            <h2 class="text-2xl font-display font-bold text-foreground mb-6">
-              {{ t("guidelines.designTips.title") }}
-            </h2>
-            <div class="grid md:grid-cols-2 gap-6">
-              <div class="bg-gray-50 rounded-xl p-6">
-                <h3 class="text-xl font-display font-bold text-foreground mb-3">
-                  {{ t("guidelines.designTips.fdm.title") }}
-                </h3>
-                <ul class="space-y-2 text-foreground/70">
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.designTips.fdm.overhangs") }}
-                  </li>
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.designTips.fdm.bridging") }}
-                  </li>
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.designTips.fdm.layerHeight") }}
-                  </li>
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.designTips.fdm.infill") }}
-                  </li>
-                </ul>
+      <!-- Nuances Visual Grid -->
+      <section class="max-w-6xl mx-auto mb-32">
+        <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
+          <div 
+            v-for="(nuance, key) in nuances" 
+            :key="key"
+            class="group bg-white rounded-2xl overflow-hidden border border-gray-100 hover:border-primary/20 hover:shadow-xl transition-all duration-300"
+          >
+            <div class="aspect-video bg-gray-50 overflow-hidden relative">
+              <img 
+                v-if="nuance.image" 
+                :src="nuance.image" 
+                :alt="t(`nuances.items.${key}.title`)"
+                class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"
+              />
+              <div v-else class="w-full h-full flex items-center justify-center bg-primary/5 text-primary/40">
+                <component :is="nuance.icon" class="w-12 h-12" />
               </div>
-
-              <div class="bg-gray-50 rounded-xl p-6">
-                <h3 class="text-xl font-display font-bold text-foreground mb-3">
-                  {{ t("guidelines.designTips.sla.title") }}
-                </h3>
-                <ul class="space-y-2 text-foreground/70">
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.designTips.sla.supports") }}
-                  </li>
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.designTips.sla.orientation") }}
-                  </li>
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.designTips.sla.drainage") }}
-                  </li>
-                  <li class="flex items-start gap-2">
-                    <span class="text-primary font-bold">•</span>
-                    {{ t("guidelines.designTips.sla.postProcessing") }}
-                  </li>
-                </ul>
+            </div>
+            <div class="p-6">
+              <h3 class="text-xl font-display font-bold text-foreground mb-2">
+                {{ t(`nuances.items.${key}.title`) }}
+              </h3>
+              <p class="text-foreground/70 mb-4 text-sm leading-relaxed">
+                {{ t(`nuances.items.${key}.description`) }}
+              </p>
+              <div class="pt-4 border-t border-gray-50">
+                <p class="text-sm text-foreground/50">
+                  {{ t(`nuances.items.${key}.details`) }}
+                </p>
               </div>
             </div>
-          </section>
+          </div>
+        </div>
+        <div class="mt-6 text-center">
+          <p class="text-sm text-foreground/50 italic flex items-center justify-center gap-2">
+            <InfoIcon class="w-4 h-4" />
+            {{ t("nuances.aiDisclaimer") }}
+          </p>
+        </div>
+      </section>
 
-          <!-- Material Selection -->
-          <section>
-            <h2 class="text-2xl font-display font-bold text-foreground mb-6">
-              {{ t("guidelines.materialSelection.title") }}
-            </h2>
-            <div class="overflow-x-auto">
-              <table class="w-full border-collapse">
-                <thead>
-                  <tr class="bg-gray-50">
-                    <th class="text-left p-4 font-display font-bold text-foreground">
-                      {{ t("guidelines.materialSelection.table.material") }}
-                    </th>
-                    <th class="text-left p-4 font-display font-bold text-foreground">
-                      {{ t("guidelines.materialSelection.table.bestFor") }}
-                    </th>
-                    <th class="text-left p-4 font-display font-bold text-foreground">
-                      {{ t("guidelines.materialSelection.table.considerations") }}
-                    </th>
-                  </tr>
-                </thead>
-                <tbody class="divide-y divide-gray-200">
-                  <tr>
-                    <td class="p-4 font-bold text-foreground">
-                      {{ t("guidelines.materialSelection.pla.name") }}
-                    </td>
-                    <td class="p-4 text-foreground/70">
-                      {{ t("guidelines.materialSelection.pla.bestFor") }}
-                    </td>
-                    <td class="p-4 text-foreground/70">
-                      {{ t("guidelines.materialSelection.pla.considerations") }}
-                    </td>
-                  </tr>
-                  <tr>
-                    <td class="p-4 font-bold text-foreground">
-                      {{ t("guidelines.materialSelection.abs.name") }}
-                    </td>
-                    <td class="p-4 text-foreground/70">
-                      {{ t("guidelines.materialSelection.abs.bestFor") }}
-                    </td>
-                    <td class="p-4 text-foreground/70">
-                      {{ t("guidelines.materialSelection.abs.considerations") }}
-                    </td>
-                  </tr>
-                  <tr>
-                    <td class="p-4 font-bold text-foreground">
-                      {{ t("guidelines.materialSelection.petg.name") }}
-                    </td>
-                    <td class="p-4 text-foreground/70">
-                      {{ t("guidelines.materialSelection.petg.bestFor") }}
-                    </td>
-                    <td class="p-4 text-foreground/70">
-                      {{ t("guidelines.materialSelection.petg.considerations") }}
-                    </td>
-                  </tr>
-                  <tr>
-                    <td class="p-4 font-bold text-foreground">
-                      {{ t("guidelines.materialSelection.resin.name") }}
-                    </td>
-                    <td class="p-4 text-foreground/70">
-                      {{ t("guidelines.materialSelection.resin.bestFor") }}
-                    </td>
-                    <td class="p-4 text-foreground/70">
-                      {{ t("guidelines.materialSelection.resin.considerations") }}
-                    </td>
-                  </tr>
-                </tbody>
-              </table>
+      <!-- Materials Specs -->
+      <section class="max-w-5xl mx-auto mb-32">
+        <h2 class="text-3xl font-display font-bold text-foreground text-center mb-12">
+          {{ t("guidelines.materialSelection.title") }}
+        </h2>
+        <div class="grid md:grid-cols-2 gap-6">
+          <div 
+            v-for="material in materials" 
+            :key="material.key"
+            class="p-6 rounded-2xl bg-gray-50 border border-transparent hover:bg-white hover:border-gray-100 hover:shadow-sm transition-all"
+          >
+            <div class="flex items-center gap-4 mb-4">
+              <div class="w-10 h-10 bg-white rounded-lg flex items-center justify-center border border-gray-100 font-bold text-primary">
+                {{ material.short }}
+              </div>
+              <h3 class="text-xl font-display font-bold text-foreground">
+                {{ t(`guidelines.materialSelection.${material.key}.name`) }}
+              </h3>
             </div>
-          </section>
-
-          <!-- Ordering Process -->
-          <section>
-            <h2 class="text-2xl font-display font-bold text-foreground mb-6">
-              {{ t("guidelines.orderingProcess.title") }}
-            </h2>
-            <div class="grid md:grid-cols-4 gap-6">
-              <div class="text-center">
-                <div class="w-12 h-12 bg-primary/10 text-primary rounded-full flex items-center justify-center text-xl font-bold mx-auto mb-4">
-                  1
-                </div>
-                <h3 class="font-display font-bold text-foreground mb-2">
-                  {{ t("guidelines.orderingProcess.step1.title") }}
-                </h3>
-                <p class="text-sm text-foreground/70">
-                  {{ t("guidelines.orderingProcess.step1.description") }}
-                </p>
+            <div class="space-y-3">
+              <div class="flex justify-between text-sm">
+                <span class="text-foreground/50">{{ t("guidelines.materialSelection.table.bestFor") }}</span>
+                <span class="font-medium text-foreground">{{ t(`guidelines.materialSelection.${material.key}.bestFor`) }}</span>
               </div>
-              <div class="text-center">
-                <div class="w-12 h-12 bg-primary/10 text-primary rounded-full flex items-center justify-center text-xl font-bold mx-auto mb-4">
-                  2
-                </div>
-                <h3 class="font-display font-bold text-foreground mb-2">
-                  {{ t("guidelines.orderingProcess.step2.title") }}
-                </h3>
-                <p class="text-sm text-foreground/70">
-                  {{ t("guidelines.orderingProcess.step2.description") }}
-                </p>
+              <div class="flex justify-between text-sm">
+                <span class="text-foreground/50">{{ t("guidelines.materialSelection.table.considerations") }}</span>
+                <span class="font-medium text-foreground">{{ t(`guidelines.materialSelection.${material.key}.considerations`) }}</span>
               </div>
-              <div class="text-center">
-                <div class="w-12 h-12 bg-primary/10 text-primary rounded-full flex items-center justify-center text-xl font-bold mx-auto mb-4">
-                  3
-                </div>
-                <h3 class="font-display font-bold text-foreground mb-2">
-                  {{ t("guidelines.orderingProcess.step3.title") }}
-                </h3>
-                <p class="text-sm text-foreground/70">
-                  {{ t("guidelines.orderingProcess.step3.description") }}
-                </p>
+            </div>
+          </div>
+        </div>
+      </section>
+
+      <!-- Requirements & Process -->
+      <div class="grid lg:grid-cols-2 gap-12 max-w-6xl mx-auto">
+        <!-- Process -->
+        <section>
+          <h2 class="text-2xl font-display font-bold text-foreground mb-8">
+            {{ t("guidelines.orderingProcess.title") }}
+          </h2>
+          <div class="space-y-8">
+            <div 
+              v-for="n in 4" 
+              :key="n"
+              class="flex gap-6 items-start"
+            >
+              <div class="w-10 h-10 bg-primary/10 text-primary rounded-xl flex items-center justify-center font-bold flex-shrink-0">
+                {{ n }}
               </div>
-              <div class="text-center">
-                <div class="w-12 h-12 bg-primary/10 text-primary rounded-full flex items-center justify-center text-xl font-bold mx-auto mb-4">
-                  4
-                </div>
-                <h3 class="font-display font-bold text-foreground mb-2">
-                  {{ t("guidelines.orderingProcess.step4.title") }}
+              <div>
+                <h3 class="font-display font-bold text-foreground mb-1">
+                  {{ t(`guidelines.orderingProcess.step${n}.title`) }}
                 </h3>
-                <p class="text-sm text-foreground/70">
-                  {{ t("guidelines.orderingProcess.step4.description") }}
+                <p class="text-foreground/60 text-sm">
+                  {{ t(`guidelines.orderingProcess.step${n}.description`) }}
                 </p>
               </div>
             </div>
-          </section>
+          </div>
+        </section>
 
-          <!-- Help Section -->
-          <section class="bg-primary/5 rounded-2xl p-8 text-center">
-            <h2 class="text-2xl font-display font-bold text-foreground mb-4">
-              {{ t("guidelines.help.title") }}
-            </h2>
-            <p class="text-foreground/70 mb-6 max-w-2xl mx-auto">
-              {{ t("guidelines.help.description") }}
-            </p>
-            <div class="flex flex-col sm:flex-row gap-4 justify-center">
-              <router-link 
-                to="/help"
-                class="inline-flex items-center justify-center px-6 py-3 bg-primary text-white font-bold rounded-lg hover:bg-primary/90 transition-colors"
+        <!-- Technical Requirements -->
+        <section>
+          <h2 class="text-2xl font-display font-bold text-foreground mb-8">
+            {{ t("guidelines.filePreparation.requirements.title") }}
+          </h2>
+          <div class="bg-gray-50 rounded-3xl p-8">
+            <ul class="space-y-4">
+              <li 
+                v-for="req in ['watertight', 'normals', 'scale', 'wallThickness']" 
+                :key="req"
+                class="flex items-center gap-4 text-foreground/70"
               >
-                {{ t("guidelines.help.helpCenter") }}
-              </router-link>
-              <router-link 
-                to="/contact"
-                class="inline-flex items-center justify-center px-6 py-3 border border-gray-300 text-foreground font-bold rounded-lg hover:bg-gray-50 transition-colors"
-              >
-                {{ t("guidelines.help.contact") }}
-              </router-link>
+                <CheckCircleIcon class="w-5 h-5 text-primary" />
+                <span>{{ t(`guidelines.filePreparation.requirements.${req}`) }}</span>
+              </li>
+            </ul>
+            <div class="mt-8 pt-8 border-t border-gray-200">
+              <p class="text-sm font-bold text-foreground mb-4 uppercase tracking-wider">
+                {{ t("guidelines.filePreparation.formats.title") }}
+              </p>
+              <div class="flex flex-wrap gap-2">
+                <span 
+                  v-for="fmt in ['stl', 'obj', 'step', '3mf']" 
+                  :key="fmt"
+                  class="px-3 py-1 bg-white border border-gray-200 text-foreground/60 rounded-full text-sm font-medium"
+                >
+                  .{{ fmt }}
+                </span>
+              </div>
             </div>
-          </section>
-        </div>
+          </div>
+        </section>
       </div>
-    </div>
+
+      <!-- Footer CTA -->
+      <section class="mt-32 bg-foreground text-white rounded-3xl p-12 text-center relative overflow-hidden">
+        <div class="relative z-10">
+          <h2 class="text-3xl font-display font-bold mb-6">
+            {{ t("guidelines.help.title") }}
+          </h2>
+          <p class="text-white/60 mb-8 max-w-xl mx-auto">
+            {{ t("guidelines.help.description") }}
+          </p>
+          <div class="flex flex-col sm:flex-row gap-4 justify-center">
+            <router-link 
+              to="/contact"
+              class="px-8 py-4 bg-white text-foreground font-bold rounded-xl hover:bg-white/90 transition-all flex items-center justify-center gap-2"
+            >
+              <MessageSquareIcon class="w-5 h-5" />
+              {{ t("guidelines.help.contact") }}
+            </router-link>
+          </div>
+        </div>
+        <!-- Decorative elements -->
+        <div class="absolute -top-12 -right-12 w-64 h-64 bg-primary/20 rounded-full blur-3xl"></div>
+        <div class="absolute -bottom-12 -left-12 w-64 h-64 bg-primary/10 rounded-full blur-3xl"></div>
+      </section>
+    </main>
   </div>
 </template>
 
 <script setup lang="ts">
 import { useI18n } from "vue-i18n";
+import { 
+  InfoIcon, 
+  CheckCircleIcon, 
+  MessageSquareIcon,
+  GridIcon,
+  LayersIcon,
+  ScalingIcon,
+  PaletteIcon,
+  SplineIcon,
+  RulerIcon,
+  TriangleIcon,
+  ZapIcon
+} from "lucide-vue-next";
 
 const { t } = useI18n();
-</script>
+
+const nuances = {
+  layerStructure: {
+    image: "/fdm_layer_lines_photo_1776031229473.png",
+    icon: LayersIcon
+  },
+  supportMarks: {
+    image: "/fdm_supports_photo_1776031246690.png",
+    icon: ScalingIcon
+  },
+  zSeam: {
+    image: "/fdm_zseam_photo_1776031258273.png",
+    icon: SplineIcon
+  },
+  surfaceImperfections: {
+    image: "/fdm_surface_photo_1776031404133.png",
+    icon: GridIcon
+  },
+  overhangs: {
+    image: "/fdm_overhangs_photo_v2_1776032258991.png",
+    icon: TriangleIcon
+  },
+  dimensionalTolerances: {
+    image: "/fdm_tolerances_photo_1776031451173.png",
+    icon: RulerIcon
+  },
+  colorVariations: {
+    image: "/fdm_color_photo_1776031463894.png",
+    icon: PaletteIcon
+  },
+  stringing: {
+    image: "/fdm_stringing_photo_1776031432344.png",
+    icon: ZapIcon
+  }
+};
+
+const materials = [
+  { key: "pla", short: "PLA" },
+  { key: "abs", short: "ABS" },
+  { key: "petg", short: "PETG" },
+  { key: "resin", short: "RESIN" }
+];
+</script>
+
+<style scoped>
+.font-display {
+  font-family: 'Outfit', sans-serif;
+}
+</style>

+ 10 - 0
src/stores/auth.ts

@@ -101,6 +101,15 @@ export const useAuthStore = defineStore("auth", () => {
     });
   }
 
+  async function refreshUnreadCount() {
+    import("@/lib/api").then(async ({ authPing }) => {
+      const res = await authPing();
+      if (res && res.unread_count !== undefined) {
+        unreadMessagesCount.value = res.unread_count;
+      }
+    });
+  }
+
   return {
     user,
     isLoading,
@@ -111,5 +120,6 @@ export const useAuthStore = defineStore("auth", () => {
     refreshUser,
     onProfileComplete,
     logout,
+    refreshUnreadCount
   };
 });

Некоторые файлы не были показаны из-за большого количества измененных файлов