Serve the site in English, Spanish and Arabic, add a captcha, make the message optional
- Move every route under app/[lang]; a proxy keeps English on unprefixed URLs and serves /es and /ar - Interface strings and homepage copy per locale; content pages load a translated JSON when one exists - Language switch in the header, hreflang alternates and a multilingual sitemap - Right-to-left layout for Arabic with logical CSS properties, Noto Sans Arabic and no letter-spacing - Self-hosted proof-of-work "I'm not a robot" check (no third-party account) replaces Turnstile - The message field is optional; failed attempts refill the form instead of clearing it
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
// Generated by scripts/i18n.py index — do not edit by hand.
|
||||
|
||||
import en_about from "./en/about.json";
|
||||
import en_contact from "./en/contact.json";
|
||||
import en_industries from "./en/industries.json";
|
||||
import en_industries_automotive from "./en/industries_automotive.json";
|
||||
import en_industries_b2b from "./en/industries_b2b.json";
|
||||
import en_industries_creators from "./en/industries_creators.json";
|
||||
import en_industries_e_commerce from "./en/industries_e-commerce.json";
|
||||
import en_industries_home_services from "./en/industries_home-services.json";
|
||||
import en_industries_hospitality from "./en/industries_hospitality.json";
|
||||
import en_industries_medical_dental from "./en/industries_medical-dental.json";
|
||||
import en_services from "./en/services.json";
|
||||
import en_services_brand from "./en/services_brand.json";
|
||||
import en_services_consulting from "./en/services_consulting.json";
|
||||
import en_services_cybersecurity from "./en/services_cybersecurity.json";
|
||||
import en_services_llmo from "./en/services_llmo.json";
|
||||
import en_services_paid_media from "./en/services_paid-media.json";
|
||||
import en_services_seo from "./en/services_seo.json";
|
||||
import en_services_social_media from "./en/services_social-media.json";
|
||||
import en_services_web_development from "./en/services_web-development.json";
|
||||
|
||||
export const content = {
|
||||
en: {
|
||||
"about": en_about,
|
||||
"contact": en_contact,
|
||||
"industries": en_industries,
|
||||
"industries_automotive": en_industries_automotive,
|
||||
"industries_b2b": en_industries_b2b,
|
||||
"industries_creators": en_industries_creators,
|
||||
"industries_e-commerce": en_industries_e_commerce,
|
||||
"industries_home-services": en_industries_home_services,
|
||||
"industries_hospitality": en_industries_hospitality,
|
||||
"industries_medical-dental": en_industries_medical_dental,
|
||||
"services": en_services,
|
||||
"services_brand": en_services_brand,
|
||||
"services_consulting": en_services_consulting,
|
||||
"services_cybersecurity": en_services_cybersecurity,
|
||||
"services_llmo": en_services_llmo,
|
||||
"services_paid-media": en_services_paid_media,
|
||||
"services_seo": en_services_seo,
|
||||
"services_social-media": en_services_social_media,
|
||||
"services_web-development": en_services_web_development,
|
||||
},
|
||||
es: {
|
||||
"about": en_about,
|
||||
"contact": en_contact,
|
||||
"industries": en_industries,
|
||||
"industries_automotive": en_industries_automotive,
|
||||
"industries_b2b": en_industries_b2b,
|
||||
"industries_creators": en_industries_creators,
|
||||
"industries_e-commerce": en_industries_e_commerce,
|
||||
"industries_home-services": en_industries_home_services,
|
||||
"industries_hospitality": en_industries_hospitality,
|
||||
"industries_medical-dental": en_industries_medical_dental,
|
||||
"services": en_services,
|
||||
"services_brand": en_services_brand,
|
||||
"services_consulting": en_services_consulting,
|
||||
"services_cybersecurity": en_services_cybersecurity,
|
||||
"services_llmo": en_services_llmo,
|
||||
"services_paid-media": en_services_paid_media,
|
||||
"services_seo": en_services_seo,
|
||||
"services_social-media": en_services_social_media,
|
||||
"services_web-development": en_services_web_development,
|
||||
},
|
||||
ar: {
|
||||
"about": en_about,
|
||||
"contact": en_contact,
|
||||
"industries": en_industries,
|
||||
"industries_automotive": en_industries_automotive,
|
||||
"industries_b2b": en_industries_b2b,
|
||||
"industries_creators": en_industries_creators,
|
||||
"industries_e-commerce": en_industries_e_commerce,
|
||||
"industries_home-services": en_industries_home_services,
|
||||
"industries_hospitality": en_industries_hospitality,
|
||||
"industries_medical-dental": en_industries_medical_dental,
|
||||
"services": en_services,
|
||||
"services_brand": en_services_brand,
|
||||
"services_consulting": en_services_consulting,
|
||||
"services_cybersecurity": en_services_cybersecurity,
|
||||
"services_llmo": en_services_llmo,
|
||||
"services_paid-media": en_services_paid_media,
|
||||
"services_seo": en_services_seo,
|
||||
"services_social-media": en_services_social_media,
|
||||
"services_web-development": en_services_web_development,
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user