K(Kirnu (كرنو)inkirnu.hashnode.dev·12h ago · 9 min readSearching Arabic text in JavaScript: why "احمد" doesn't find "أحمد" (and how to fix it)A user types «احمد» (Ahmad) into your search box and gets nothing, even though the page says «أحمد». Or they search for «مدرسه» (school) and the text has «مدرسة». Or they search «محمد» and the text is00
K(Kirnu (كرنو)inkirnu.hashnode.dev·1d ago · 6 min readArabic digits in web forms - why a valid phone number gets rejected, and how to fix it in JavaScriptA user in Riyadh types their mobile number with Arabic digits: ٠٥٠١٢٣٤٥٦٧. Your form rejects it, even though it's a perfectly valid number. Or worse, it accepts it and stores it as typed, so your data00
K(Kirnu (كرنو)inkirnu.hashnode.dev·1d ago · 7 min readHijri dates in JavaScript - what Intl can do, what it can't, and four trapsSaudi Arabia's official Hijri calendar is Umm al-Qura, and dates like "1 Ramadan 1448" show up in contracts, government forms, school calendars and HR systems across the Gulf. JavaScript can format Hi00
K(Kirnu (كرنو)inkirnu.hashnode.dev·1d ago · 7 min readConverting numbers to Arabic words in JavaScript is harder than you thinkIn English, turning a number into words is close to a lookup table: 15 is fifteen, and 15 dollars is fifteen dollars. In Arabic, the same number is written differently depending on the noun that follo00
XXiaoconginsimplechinatrip.hashnode.dev·1d ago · 7 min readI Built a Multilingual Travel Guide on Cloudflare Workers Static Assets: 8 Languages, ~1,800 Files, No FrameworkI live in China, and I keep seeing the same problem: foreign visitors can't book the big attractions. The Forbidden City opens tickets at exactly 20:00 Beijing time, seven days ahead. Many museums onl00
CVCylinder Volume Calculatorincylindervolumecalculator.hashnode.dev·2d ago · 8 min readYour App Works in Ohio. Does It Work in Osaka? i18n Lessons from a Calculator SiteLast year I noticed something strange in my Search Console. A page I had barely thought about, an Arabic version of a calculator page, was quietly pulling over 20,000 impressions. I do not read Arabic00
DJDharmesh Joshiindharmeshjoshi.hashnode.dev·Oct 2 · 5 min readDesigning a Data Model for Translatable Content Without Breaking Every Existing RecordAdding multi-language support to a content platform sounds like a straightforward data modeling problem until you remember one thing: you already have production data in the old shape, and you can't j00
SSelenium39iniloveepub.hashnode.dev·Sep 28 · 6 min readTranslating an EPUB with an LLM without wrecking it: text nodes, batching and a bilingual mode"Just send the book to an LLM and ask for a translation" works for about one paragraph. Then you meet a real EPUB: 60 XHTML files, inline <em> and <a> tags mid-sentence, footnote back-links, a CSS fil00
RRhymeUinrhymeu.hashnode.dev·Sep 27 · 8 min readDeclining names in poem titles: lessons from generating poems in Slavic languagesBy the RhymeU team, independent developers. We build RhymeU, a free generator of personalized poems in 29 languages; this post is about a bug we shipped and the problem space behind it. Here's a title01A
NENox En Digitalinnoxendigital.hashnode.dev·Sep 24 · 16 min readBuilding a Trilingual (EN/AR/TR) SEO-First Website on Laravel: Real Lessons from ProductionMost "multilingual SEO" articles stop at hreflang tags and a language switcher in the header. They make it sound like a checklist problem: annotate your alternate URLs, pick a URL structure (subdirect00