# Language support

AstroWay is building a **multilingual API** — text interpretations, reports, and daily horoscopes are available in the user's language. The public list is 20 languages, selected from astrology-market demand research (search volume, competitor coverage, revenue potential).

<Aside type="tip">
**How it works.** Pass the language via the `language` field in the request body — or `?lang=<code>` in the URL, or the `Accept-Language` header — to `/v1/interpret/*`, `/v1/horoscope/*`, `/v1/reports/*`. If the language is active, the text comes back in it (Beta languages may have inaccuracies on complex terms, with English fallback). If the language is inactive, `/horoscope/*` and `/reports/*` (strict enum) reply with `400 INVALID_INPUT`, while `/interpret/*` falls back to English.
</Aside>

## Current status

Each language carries a translation **Status** plus a roadmap **Demand score** (priority, 48–95+).

| # | Code | Language | Status | Demand | Reports | Site |
|---|------|----------|--------|--------|---------|------|
| 1  | `uk` | Ukrainian | ✅ Source | — | ✅ | ✅ |
| 2  | `en` | English | ✅ Reference | **95+** | ✅ | ✅ |
| 3  | `de` | German | 🚧 Auto | 72 | 📋 | ✅ |
| 4  | `pl` | Polish | 🚧 Auto | 64 | 📋 | ✅ |
| 5  | `es` | Spanish | 🚧 Auto | **88** | 📋 | ✅ |
| 6  | `pt` | Portuguese | 🚧 Auto | **84** | 📋 | ✅ |
| 7  | `hi` | Hindi | 🚧 Auto | **81** | 📋 | ✅ |
| 8  | `fr` | French | 🚧 Auto | **78** | 📋 | ✅ |
| 9  | `ko` | Korean | 🚧 Auto | **77** | 📋 | ✅ |
| 10 | `it` | Italian | 🚧 Auto | 73 | 📋 | ✅ |
| 11 | `ja` | Japanese | 🚧 Auto | 67 | 📋 | ✅ |
| 12 | `id` | Indonesian | 🚧 Auto | 62 | 📋 | ✅ |
| 13 | `tr` | Turkish | 🚧 Auto | 60 | 📋 | ✅ |
| 14 | `nl` | Dutch | 🚧 Auto | 58 | 📋 | ✅ |
| 15 | `cs` | Czech | 🚧 Auto | 56 | 📋 | ✅ |
| 16 | `ro` | Romanian | 🚧 Auto | 54 | 📋 | ✅ |
| 17 | `vi` | Vietnamese | 🚧 Auto | 53 | 📋 | ✅ |
| 18 | `ar` | Arabic | 🚧 Auto | 52 | 📋 | ✅ |
| 19 | `el` | Greek | 🚧 Auto | 50 | 📋 | ✅ |
| 20 | `hu` | Hungarian | 🚧 Auto | 48 | 📋 | ✅ |

**Legend:**
- **Status** — ✅ Source / Reference = human-authored and maintained (uk, en); 🚧 Auto = automatically translated against a shared glossary, refined over time (no per-string manual review yet, so nuanced terms can read rough; English fallback on any missing string).
- **Site** — ✅ shipped (UI + docs) · 📋 planned.
- **Reports** — ✅ shipped · 📋 planned.

## How translations are produced

Ukrainian is the source language and English is the maintained reference — both human-authored. Every other language is translated automatically against a shared astrology glossary (~800 terms) and refined over time; there is no per-string manual review yet, so treat them as Beta on complex terminology, with English fallback where a string is missing. Site UI and documentation are covered across all listed languages today; localized PDF reports currently ship in Ukrainian and English and roll out to the rest by demand.

## Demand Score — how it's calculated

A composite index built from:
- Google Trends 12-month volume on astrology keywords in the country
- Coverage by top-5 competitors (Co–Star, AstroSeek, Astro.com, Prokerala, DivineAPI)
- Estimated population × estimated paid-app penetration
- Revenue-per-user delta (PPP-adjusted)

Not a precise metric — a **ranked priority** that helps decide "what's next" objectively rather than by impression.

## How to call

```bash
curl -X POST https://api.astroway.info/v1/interpret/aspects \
  -H "X-Api-Key: aw_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "language": "es",
    "aspects": [
      { "body1": "Sun", "body2": "Moon", "type": "conjunction", "orb": 2.1 }
    ]
  }'
```

Reply (sample for `language=es`):

```json
{
  "ok": true,
  "data": {
    "interpretation": "El aspecto Sol-Luna en conjunción simboliza...",
    "language": "es"
  }
}
```

The `language` field in the response echoes the language applied (handy as a UX indicator). The per-language status is in the table above; the API response does **not** return it.

## If you need a language not on the list

Email [hello@astroway.info](mailto:hello@astroway.info) with demand evidence (sample users, projected volume). We review the list **quarterly** — a language with real external demand can be added as Tier 4 (opt-in).

Some languages on the short-list are **permanently skipped** — `da, fi, no, bg, sk, hr, zh-CN, fa, tl` — due to small market or absent astrology tradition. They're inactive: `/horoscope/*` and `/reports/*` return `400 INVALID_INPUT`, while `/interpret/*` falls back to English.

## Related

- [Calculation accuracy](/en/accuracy/) — numerical calculations are **language-neutral**, only text is localized
- [Reports](/en/products/) — multilingual PDF reports
- [Idempotency](/en/idempotency/) — cache discounts work independently of `lang`
