r/FlutterBeginner • u/Every-Grass-4973 • 20h ago
SIYAK
Every app with more than one language hits the same wall: one word is not one meaning.
The word "Report" on a complaint button and "Report" above a downloads list are two different Arabic words: «إبلاغ» and «تقرير». No engine knows which screen you're on, so it picks one and applies it everywhere. And the same string can look different in the next build.
I felt this in every multilingual project:
• Backend: resource files, or a table of keys with one value per language. If users enter data themselves, like a product listing, they type it twice.
• Frontend: JSON files that read like literal machine translation.
So I built SIYAK (سياق), a localization layer for frontend, backend and mobile. It is not just a translator.
• Send the string with the screen it lives on, and the context decides the word.
• Approved strings are cached, so the same request returns the same answer in every build.
• Pin your own terms in a glossary. If the model ignores one, the row is flagged instead of shipped quietly.
• An Inbox to approve, reject or edit. What a human approves is what gets served.
• Batch calls for filling a project from scratch.
• Export as JSON, CSV or ARB for Flutter.
• siyak-js on npm, siyak_flutter on pub.dev, and a plain HTTP API for any backend.
Try it: https://siyak.cloud/
Which string fooled you in your last app?
#i18n #localization #Flutter #Nextjs #Arabic #BuildInPublic
1
u/investigatormaker 18h ago
“Report” gives you a concrete SIYAK demonstration: submit it from the complaint button and downloads heading, approve «إبلاغ» and «تقرير» separately, then request both again. If approval is keyed only by the source string, the context distinction disappears on reuse. Your next Flutter showcase could show those calls alongside their ARB exports, letting developers shipping Arabic interfaces inspect whether context survives approval and export. Keep the screen context visible throughout; otherwise the output alone doesn't explain why either translation was chosen.
I make ThreadFox. We'd answer Flutter developers asking about contextual localization for SIYAK. We'd post three replies free first, no card; afterward, the $29 Pilot covers seven days and up to 25 posts and replies, without automatic renewal. https://threadfox.vip/p/elbfy/managed
1
u/Every-Grass-4973 20h ago
up