Your app speaks like a local, not Google Translate.
SIYAK sends the screen, the tone and your glossary with every string — so the word Report in your code becomes «إبلاغ» in the moderation queue and «تقرير» in analytics. Three lines, one request, and a free tier that never expires.
import { init } from 'siyak-js';const { t } = init({ apiKey: 'sk_live_…', target: 'ar' });t('Your card expires soon', 'screen:checkout'); // → بطاقتك تنتهي قريبًا
Same word, same API call. The only difference is the context you pass.
A dictionary translates words. Context translates meaning.
Pass the screen, not just the string
t("Report", "screen:moderation") — the second argument is what decides the translation.
Your glossary is a hard constraint
Pin «Report → إبلاغ» once and no model run ever drifts from it again.
Unknown strings land in an Inbox
Auto-discovery files every string you have not declared yet as pending review, so nothing ships to users half-translated by accident.
Every one of them answers to one Arabic code. None of them have your context.
What each vendor publishes for itself, read from its own pricing page on 16 October 2026. Where there is no number, this table says so instead of guessing one.
| Vendor | Free tier and price, as published | For Arabic |
|---|---|---|
| Translation APIs | ||
| DeepL API | Its pricing page names API plans but prints no character allowance | One code: Arabic. No regional variants at all |
| Azure Translator | 2 million characters free a month on F0, then pay-as-you-go | Portuguese (Portugal) and French (Canada) exist. Egyptian Arabic does not |
| Google Cloud Translation | No entry in its always-free table; a $300 credit valid 90 days | Arabic, and Arabic (Saudi Arabia). Not Egypt |
| Claude / GPT | No standing free tier; priced per million tokens | Whichever Arabic the model reaches for that day |
| Localisation platforms | ||
| Tolgee | Free: 30,000 words, 3 seats. Then €58 a month billed annually | No dialect option published |
| Localazy | Free: 200 source keys. Paid plans from $41 a month | No dialect option published |
| Crowdin | Free plan; paid from $50 a month | No dialect option published |
| Lokalise | No free plan; a 14-day trial; Explorer covers 60,000 words a year, price not published | No dialect option published |
| Phrase | Price not published; capacity-based plans starting at 2.5 million words a year | No dialect option published |
| Siyak | Free: 15,000 characters a month with no card. Pro is $5 for 250,000 | Any locale you name — ar, ar-EG, zh-Hans — with the screen and your glossary in the request |
15,000 characters every month, no card, no countdown. A 14-day trial and a $300 credit that expires in 90 days are not free tiers.
Context, project type and your glossary ride in every request, and the answer is checked against that glossary before it reaches you — the glossary-drift counter in the dashboard is the proof.
Keys live in your backend and translations live beside them. Adding a language is a row, not a migration and not a new column per locale.
Vodafone Cash inside Egypt, TapTap Send into the same number from 30+ countries. No card is charged and no card details are stored.
Pricing that fits a solo developer
Per month, per project. Pay in EGP with Vodafone Cash, or in USD from anywhere else.
- Tolgee€58 / month
- Crowdin$50 / month
- Localazy$89 / month
- Siyak Pro$5
Their own published numbers — see the table above.
- Unlimited strings
- Auto-discovery inbox
- Siyak badge in your app
- No badge
- 1000 req/min
- Glossary enforcement
- Email support
- 1000 req/min
- Per-client API keys
- Audit log export