/* ============================================================================ PAGE COPY - EN / AR ---------------------------------------------------------------------------- SOURCE Home page The Claude Design draft "Home page redesign with news and FAQs" (third drop) is the source of truth. Its headline, lead, primary call to action and the "nationwide project, delivered locally" band are transcribed from that draft, NOT from docs/SHARPER Home Page .docx - the design condenses the draft, and the draft itself is headed "Placeholder text for design purposes - not final copy". Every claim in it is nonetheless in docs/: the consortium, the partner groups it works with, the EU funding and the December 2027 end date. Everything else docs/SHARPER_Website_Draft_Section_EN_AR.docx (sections 1, 2 and 9), which carries both columns, so no string below is a machine translation of the other except where a comment says so. TRANSLATION STATUS The Figma file has NO Arabic home frame - only the navigation and the footer are drawn in Arabic - so the Arabic home strings marked (ar-draft) are rebuilt from the approved Arabic column of the docx to carry the English Figma meaning. They are NOT client-approved wording and should be signed off before launch. WHY IT LIVES IN THE CODE This is page prose, not UI chrome, so it does not belong in the i18n catalogue (which holds labels only). It is the FALLBACK: every field is overridden by the matching Strapi field the moment an editor fills it in, and the pages read `cms ?? draft`. WHAT IS DELIBERATELY ABSENT Figures. The draft marks every number "TBD" and says they must not be published until confirmed, so there is no statistic anywhere in this file. Figma hides the home page's figures band outright (frame 253:4835 is hidden="true") and the third design drop deletes it, so the band is gone from the page and the `stats` component is gone from the CMS. There is nowhere left for a figure to be typed in, which is the point. ========================================================================= */ import type { Locale } from "~/i18n"; /** A title plus its description - a pillar, a workstream, a principle. */ export interface TitledCopy { readonly title: string; readonly description: string; } /** * One consortium member, split the way the redesign draws it: a role chip, the * member's name, then what it delivers. Both halves are the approved draft's * own wording - section 1 writes each member as * " - - ". */ export interface ConsortiumCopy { readonly name: string; readonly role: string; readonly description: string; } /** * A run of prose that may carry emphasis. Figma sets four phrases of the launch * lead in Bold on a lighter base run (349:8838), which a flat string cannot * express - a plain string is the base weight, `{ em }` is the bold run. */ export type ProseRun = string | { readonly em: string }; export interface HomeCopy { readonly heroHeadline: string; readonly heroLead: string; readonly heroCtaPrimary: string; readonly heroCtaSecondary: string; /** * The band under the hero picture: what the project is and who delivers it. * It replaces the launch-event band of the previous drop, which had dated * the whole home page to a single day in June. */ readonly approachEyebrow: string; readonly approachHeading: string; readonly approachLead: string; readonly workHeading: string; readonly workLinkLabel: string; readonly newsEyebrow: string; readonly newsHeading: string; readonly newsEmpty: string; readonly faqEyebrow: string; readonly faqHeading: string; readonly faqLead: string; readonly faqEmpty: string; readonly faqCtaLabel: string; readonly consortiumHeading: string; /** * The same three members the About page lists, split the way the redesign * draws them: a role chip, the name, then what they deliver. */ readonly consortium: readonly { readonly role: string; readonly name: string; readonly description: string; }[]; readonly networkLabel: string; readonly partnersEmpty: string; } export interface AboutCopy { /** Draft eyebrow over the hero headline - "About the project". */ readonly heroEyebrow: string; readonly heroHeadline: string; readonly lead: string; /** * The four-cell band under the hero. These are project FACTS, not figures: * the run, the coverage, the lead partner and the funder, each one written * out in the approved draft's first section. Nothing here is counted or * estimated - the draft marks every statistic "TBD", so none is published. */ readonly facts: readonly { readonly label: string; readonly value: string }[]; readonly bodyHeading: string; /** * The approved body prose, one entry per paragraph. The draft sets it as two * paragraphs beside the focus-area column, which a single string cannot * express. */ readonly body: readonly string[]; readonly consortiumHeading: string; readonly consortium: readonly ConsortiumCopy[]; readonly pillarsHeading: string; readonly pillars: readonly TitledCopy[]; readonly legacyEyebrow: string; readonly legacyHeading: string; readonly legacyBody: string; readonly legacyLinkLabel: string; } export interface WhatWeDoCopy { readonly heroHeadline: string; readonly lead: string; /** * The draft's own heading over the areas grid. It restates the approved * "SHARP-ER is organised around four connected areas of work" line, which is * why the draft prints no separate intro paragraph under it and neither does * the page. */ readonly workstreamsHeading: string; readonly workstreams: readonly TitledCopy[]; readonly valuesLabel: string; readonly values: readonly string[]; /** Not drawn - it names the principles block for the document outline. */ readonly principlesHeading: string; /** * The redesign draws the four principles as tiles. These are the four * clauses of the approved "Our approach rests on four principles…" sentence * and nothing else: the draft gives each tile an explanatory line, none of * which is in any approved document, so the tiles carry the clause alone. */ readonly principleTitles: readonly string[]; readonly activitiesCtaHeading: string; } export interface ContactCopy { readonly heroHeadline: string; readonly lead: string; /** Not drawn - it names the form for the document outline. */ readonly formHeading: string; /** Not drawn - it names the channels column for the document outline. */ readonly detailsHeading: string; readonly generalEnquiries: string; readonly websiteLabel: string; readonly websiteHref: string; readonly websiteText: string; readonly contactPending: string; readonly consortiumHeading: string; readonly consortiumEmpty: string; readonly sendAnother: string; readonly errorSummaryTitle: string; readonly errorTooLong: string; readonly honeypotLabel: string; readonly organisationHint: string; /** Link text for the project's Facebook page. */ readonly facebookLabel: string; } export interface PageCopy { readonly home: HomeCopy; readonly about: AboutCopy; readonly whatWeDo: WhatWeDoCopy; readonly contact: ContactCopy; } /* --------------------------------------------------------------------------- ENGLISH ------------------------------------------------------------------------ */ const EN: PageCopy = { home: { heroHeadline: "Advancing Justice and Accountability, Led by Libyan Communities", heroLead: "SHARP-ER — Shared Action on Rule of Law Progress, Exit Route — works with civil society organisations, municipalities, and community leaders across Libya to strengthen access to justice, accountability, and local governance. Funded by the European Union, running to December 2027.", heroCtaPrimary: "See open calls", heroCtaSecondary: "About the project", approachEyebrow: "Nationwide, Libya", /* The same sentence the About page heads its body with - one project, one description of it. */ approachHeading: "A nationwide project, delivered locally", approachLead: "Local organisations lead the design and delivery of the work. SHARP-ER partners with Libyan civil society, municipalities, and community leaders — through funded sub-projects, training, and open dialogue between communities and the institutions that serve them.", workHeading: "Three areas of change", workLinkLabel: "What we do", newsEyebrow: "Newsroom", newsHeading: "News and Updates", newsEmpty: "News and updates will appear here as they are published.", faqEyebrow: "Frequently asked", faqHeading: "Questions about the project", /* The draft also promises a reply "within five working days". That commitment is in no approved document, so it is not published here. */ faqLead: "Eligibility, timelines and how to take part.", faqEmpty: "Answers to common questions will be published here.", faqCtaLabel: "More in the Knowledge Hub", consortiumHeading: "The consortium", consortium: [ { role: "Lead implementing partner", name: "Acted", description: "Overall project management and civil society sub-projects.", }, { role: "Consortium partner", name: "United Efforts Consultancy (UEC)", description: "Network strengthening, dialogue, and peer-learning.", }, { role: "Consortium partner", name: "Stichting Bureau Ensemble (SBE)", description: "Research, perception data, and knowledge publications.", }, ], networkLabel: "Civil society network partners", partnersEmpty: "Partner organisations will be listed here as they join the SHARP-ER network.", }, about: { heroEyebrow: "About the project", heroHeadline: "Strengthening the Rule of Law, Together", lead: "SHARP-ER (Shared Action on Rule of Law Progress – Exit Route) is a nationwide initiative supporting Libya’s civil society, local institutions, and communities in advancing justice, accountability, and good governance.", facts: [ { label: "Duration", value: "December 2025 – December 2027" }, { label: "Coverage", value: "Nationwide, Libya" }, { label: "Lead partner", value: "Acted" }, { label: "Funded by", value: "The European Union" }, ], bodyHeading: "A nationwide project, delivered locally", body: [ "Running from December 2025 to December 2027, SHARP-ER is implemented by Acted, in consortium with United Efforts Consultancy (UEC) and Stichting Bureau Ensemble (SBE), and funded by the European Union.", "The project works nationwide across Libya, partnering with civil society organisations, municipalities, and community leaders to strengthen access to justice, build the capacity of civil society to hold institutions accountable, and improve local governance and service delivery.", ], consortiumHeading: "The consortium", consortium: [ { name: "Acted", role: "Lead implementing partner", description: "Overall project management and civil society sub-projects.", }, { name: "United Efforts Consultancy (UEC)", role: "Consortium partner", description: "Network strengthening, dialogue, and peer-learning.", }, { name: "Stichting Bureau Ensemble (SBE)", role: "Consortium partner", description: "Research, perception data, and knowledge publications.", }, ], pillarsHeading: "Where we focus", pillars: [ { title: "Strengthening Rule of Law", description: "Supporting local institutions to improve access to justice and transparency", }, { title: "Empowering Civil Society", description: "Building the capacity of CSOs to strengthen their role in oversight and accountability", }, { title: "Supporting Local Governance", description: "Enhancing collaboration between municipalities and local actors to improve service delivery", }, ], legacyEyebrow: "Building on SHARP", legacyHeading: "Carrying the SHARP I and II network into a new phase", legacyBody: "SHARP-ER builds on the foundation of SHARP I and II (2019–2024), carrying its network of civil society partners and its dialogue practice into a new phase focused on sustainability and exit.", legacyLinkLabel: "Read about the SHARP legacy", }, whatWeDo: { heroHeadline: "A Participatory Approach to Justice and Governance", lead: "We work directly with civil society, municipalities, and communities — not around them.", workstreamsHeading: "Four connected areas of work", workstreams: [ { title: "Capacity Building", description: "Training civil society organisations and local actors on governance, justice, and management, and equipping the SHARP network with peer-to-peer learning.", }, { title: "Institutional Support", description: "Strengthening the systems, procedures, and dialogue channels that connect local institutions with the people they serve.", }, { title: "Community Initiatives", description: "Funding and supporting CSO-led sub-projects, Policy-to-Rights (P2R) projects, and human-security initiatives designed and driven by local actors.", }, { title: "Dialogue and Coordination", description: "Running SUQ (Search, Understand, Question) dialogues and Civil Society Law Sessions that bring civic and government actors to the same table.", }, ], valuesLabel: "What guides us", values: [ "Dialogue", "Community Leadership", "Learning", "Inclusion", "Responsibility & Accountability", ], principlesHeading: "How we work", principleTitles: [ "Working with local actors", "Sustainable, not one-off, solutions", "Connecting civil society with institutions", "Gradual, realistic institutional reform", ], activitiesCtaHeading: "See how this work is taking shape across the network", }, contact: { facebookLabel: "Follow us on Facebook", heroHeadline: "Get in Touch", lead: "Questions about SHARP-ER, a partnership, or a specific activity? Reach out.", formHeading: "Send us a message", detailsHeading: "Contact details", generalEnquiries: "General enquiries", websiteLabel: "Website", websiteHref: "https://sharper.ly", websiteText: "sharper.ly", contactPending: "The project’s general enquiries address will be published here once it is confirmed. In the meantime, use the form and your message will reach the team.", consortiumHeading: "Consortium contacts", consortiumEmpty: "Contact details for Acted Libya, United Efforts Consultancy and Stichting Bureau Ensemble will be published here once they are confirmed.", sendAnother: "Send another message", errorSummaryTitle: "Please check the form", errorTooLong: "This answer is too long.", honeypotLabel: "Leave this field empty", organisationHint: "The organisation you are writing on behalf of, if any.", }, }; /* --------------------------------------------------------------------------- ARABIC (MSA) The prose below is the Arabic column of the same two documents, verbatim. The few strings the documents do not provide - section headings such as "شركاؤنا", and the three launch captions, which exist only in the English Figma frame - are translated from the approved English and stay inside the vocabulary the Arabic draft already uses. ------------------------------------------------------------------------ */ const AR: PageCopy = { home: { heroHeadline: "تعزيز العدالة والمساءلة بقيادة المجتمعات الليبية", heroLead: "يعمل SHARP-ER — العمل المشترك لتعزيز سيادة القانون، مسار الخروج — مع منظمات المجتمع المدني والبلديات وقادة المجتمعات في مختلف أنحاء ليبيا على تعزيز الوصول إلى العدالة والمساءلة والحوكمة المحلية. بتمويل من الاتحاد الأوروبي، ويستمر حتى ديسمبر 2027.", heroCtaPrimary: "اطّلع على الدعوات المفتوحة", heroCtaSecondary: "عن المشروع", /* The same two lines the About page uses for its coverage fact and its body heading, so the Arabic reads identically on both pages. */ approachEyebrow: "على مستوى ليبيا بأكملها", approachHeading: "مشروع وطني يُنفَّذ محليًا", approachLead: "تتولّى المنظمات المحلية تصميم العمل وتنفيذه. ويعمل SHARP-ER بالشراكة مع المجتمع المدني الليبي والبلديات وقادة المجتمعات، من خلال المشاريع الفرعية المموَّلة، والتدريب، والحوار المفتوح بين المجتمعات والمؤسسات التي تخدمها.", workHeading: "ثلاثة مجالات للتغيير", workLinkLabel: "ماذا نفعل", newsEyebrow: "غرفة الأخبار", newsHeading: "الأخبار والمستجدات", newsEmpty: "ستظهر الأخبار والمستجدات هنا فور نشرها.", faqEyebrow: "الأسئلة الشائعة", faqHeading: "أسئلة حول المشروع", faqLead: "شروط الأهلية والجداول الزمنية وكيفية المشاركة.", faqEmpty: "ستُنشر إجابات الأسئلة الشائعة هنا قريبًا.", faqCtaLabel: "المزيد في مركز المعرفة", consortiumHeading: "الائتلاف المنفّذ", consortium: [ { role: "الشريك المنفّذ الرئيسي", name: "Acted", description: "الإدارة العامة للمشروع والمشاريع الفرعية لمنظمات المجتمع المدني.", }, { role: "شريك في الائتلاف", name: "United Efforts Consultancy (UEC)", description: "تعزيز الشبكة، والحوار، والتعلّم بين الأقران.", }, { role: "شريك في الائتلاف", name: "Stichting Bureau Ensemble (SBE)", description: "البحث، وبيانات الاستطلاع، والمنشورات المعرفية.", }, ], networkLabel: "شركاء شبكة المجتمع المدني", partnersEmpty: "ستُدرج المنظمات الشريكة هنا فور انضمامها إلى شبكة SHARP-ER.", }, about: { heroEyebrow: "عن المشروع", heroHeadline: "نحو تعزيز سيادة القانون، معًا", lead: "SHARP-ER (العمل المشترك لتعزيز سيادة القانون – مسار الخروج) هو مبادرة وطنية تدعم المجتمع المدني والمؤسسات المحلية والمجتمعات الليبية في تعزيز العدالة والمساءلة والحوكمة الرشيدة.", /* Western digits, as the Arabic column of the approved draft writes its own dates ("ديسمبر 2025", "(2019–2024)"). */ facts: [ { label: "مدة المشروع", value: "ديسمبر 2025 – ديسمبر 2027" }, { label: "نطاق العمل", value: "على مستوى ليبيا بأكملها" }, { label: "الشريك المنفّذ الرئيسي", value: "Acted" }, { label: "بتمويل من", value: "الاتحاد الأوروبي" }, ], bodyHeading: "مشروع وطني يُنفَّذ محليًا", body: [ "يمتد المشروع من ديسمبر 2025 إلى ديسمبر 2027، ويُنفَّذ من قِبل منظمة Acted بالشراكة مع United Efforts Consultancy (UEC) وStichting Bureau Ensemble (SBE)، وبتمويل من الاتحاد الأوروبي.", "يعمل المشروع على مستوى ليبيا بأكملها، بالتعاون مع منظمات المجتمع المدني والبلديات والقيادات المجتمعية، من أجل تحسين الوصول إلى العدالة، وبناء قدرات المجتمع المدني على مساءلة المؤسسات، وتحسين الحوكمة المحلية وتقديم الخدمات.", ], consortiumHeading: "الائتلاف المنفّذ", consortium: [ { name: "Acted", role: "الشريك المنفّذ الرئيسي", description: "الإدارة العامة للمشروع والمشاريع الفرعية لمنظمات المجتمع المدني.", }, { name: "United Efforts Consultancy (UEC)", role: "شريك في الائتلاف", description: "تعزيز الشبكة، والحوار، والتعلّم بين الأقران.", }, { name: "Stichting Bureau Ensemble (SBE)", role: "شريك في الائتلاف", description: "البحث، وبيانات الاستطلاع، والمنشورات المعرفية.", }, ], pillarsHeading: "محاور تركيزنا", pillars: [ { title: "تعزيز سيادة القانون", description: "دعم المؤسسات المحلية لتحسين الوصول إلى العدالة وتعزيز الشفافية", }, { title: "تمكين المجتمع المدني", description: "بناء قدرات منظمات المجتمع المدني لتعزيز دورها في الرقابة والمساءلة", }, { title: "دعم الحوكمة المحلية", description: "تعزيز التعاون بين البلديات والجهات الفاعلة المحلية لتحسين تقديم الخدمات", }, ], legacyEyebrow: "استكمالًا لمشروع SHARP", legacyHeading: "حمل شبكة SHARP الأول والثاني إلى مرحلة جديدة", legacyBody: "يبني SHARP-ER على الأساس الذي أرساه مشروعا SHARP الأول والثاني (2019–2024)، حاملًا معه شبكة الشركاء من المجتمع المدني وممارسة الحوار إلى مرحلة جديدة تركّز على الاستدامة ومسار الخروج.", legacyLinkLabel: "اطّلع على إرث مشروع SHARP", }, whatWeDo: { heroHeadline: "نهج تشاركي في العدالة والحوكمة", lead: "نعمل مباشرة مع المجتمع المدني والبلديات والمجتمعات المحلية، لا من حولها.", /* The approved Arabic column writes the same line as a sentence - "يقوم عمل SHARP-ER على أربعة محاور مترابطة" - which the draft's frame sets as the heading itself. */ workstreamsHeading: "أربعة محاور عمل مترابطة", workstreams: [ { title: "بناء القدرات", description: "تدريب منظمات المجتمع المدني والجهات المحلية على الحوكمة والعدالة والإدارة، وتزويد شبكة SHARP بالتعلّم بين الأقران.", }, { title: "الدعم المؤسسي", description: "تعزيز الأنظمة والإجراءات وقنوات الحوار التي تربط المؤسسات المحلية بالمجتمعات التي تخدمها.", }, { title: "المبادرات المجتمعية", description: "تمويل ودعم مشاريع فرعية تقودها منظمات المجتمع المدني، ومشاريع “من السياسة إلى الحقوق” (P2R)، ومبادرات الأمن البشري التي يصممها الفاعلون المحليون ويقودونها.", }, { title: "الحوار والتنسيق", description: "تنظيم حوارات SUQ (ابحث، افهم، اسأل) وجلسات قانون المجتمع المدني التي تجمع الفاعلين المدنيين والحكوميين حول طاولة واحدة.", }, ], valuesLabel: "ما يوجّه عملنا", values: [ "الحوار", "القيادة المجتمعية", "التعلّم", "الشمول", "المساءلة والمسؤولية", ], principlesHeading: "كيف نعمل", principleTitles: [ "العمل مع الفاعلين المحليين", "حلول مستدامة لا آنية", "الربط بين المجتمع المدني والمؤسسات", "إصلاح مؤسسي تدريجي وواقعي", ], activitiesCtaHeading: "اطّلع على كيفية تجسّد هذا العمل عبر الشبكة", }, contact: { facebookLabel: "تابعونا على فيسبوك", heroHeadline: "تواصل معنا", lead: "لديك استفسار حول SHARP-ER، أو شراكة محتملة، أو نشاط معيّن؟ راسلنا.", formHeading: "أرسل لنا رسالة", detailsHeading: "بيانات التواصل", generalEnquiries: "للاستفسارات العامة", websiteLabel: "الموقع الإلكتروني", websiteHref: "https://sharper.ly", websiteText: "sharper.ly", contactPending: "سيُنشر هنا البريد الإلكتروني العام للمشروع فور تأكيده. وفي غضون ذلك، استخدم النموذج وستصل رسالتك إلى الفريق.", consortiumHeading: "جهات اتصال الائتلاف", consortiumEmpty: "ستُنشر هنا بيانات التواصل الخاصة بـ Acted ليبيا، وUnited Efforts Consultancy، وStichting Bureau Ensemble فور تأكيدها.", sendAnother: "إرسال رسالة أخرى", errorSummaryTitle: "يرجى مراجعة النموذج", errorTooLong: "هذه الإجابة طويلة جدًا.", honeypotLabel: "اترك هذا الحقل فارغًا", organisationHint: "المنظمة التي تراسلنا نيابةً عنها، إن وُجدت.", }, }; const COPY: Readonly> = { en: EN, ar: AR }; /** The draft copy for a locale. Always defined for both published locales. */ export function pageCopy(locale: Locale): PageCopy { return COPY[locale] ?? EN; }