> ## Documentation Index
> Fetch the complete documentation index at: https://docs.case.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Supported Languages

> List all supported translation languages

Get the complete list of languages supported for translation. Optionally get language names translated into a target language.

```bash title="Endpoint" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
GET /translate/v1/languages
```

<CodeGroup>
  ```bash title="cURL" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  curl https://api.case.dev/translate/v1/languages \
    -H "Authorization: Bearer sk_case_YOUR_API_KEY"
  ```

  ```bash title="CLI" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  casedev translate:v1 list-languages
  ```

  ```typescript title="Typescript" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  import Casedev from 'casedev';

  const client = new Casedev({ apiKey: 'sk_case_YOUR_API_KEY' });

  const result = await client.translate.v1.languages();

  result.data.languages.forEach(lang => {
    console.log(lang.language);
  });
  // "en", "es", "fr", "de", ...
  ```

  ```python title="Python" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  import casedev

  client = casedev.Casedev(api_key='sk_case_YOUR_API_KEY')

  result = client.translate.v1.list_languages()

  for lang in result.data.languages:
      print(lang.language)
  # "en", "es", "fr", "de", ...
  ```

  ```go title="Go" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  result, _ := client.Translate.V1.ListLanguages(ctx, casedev.TranslateV1ListLanguagesParams{})
  for _, lang := range result.Data.Languages {
  	fmt.Printf("%s (%s)\n", lang.Name, lang.Language)
  }
  ```
</CodeGroup>

```json title="Response" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "data": {
    "languages": [
      { "language": "af" },
      { "language": "ar" },
      { "language": "az" },
      { "language": "be" },
      { "language": "bg" },
      { "language": "bn" },
      ...
    ]
  }
}
```

## Query parameters

| Parameter | Type   | Description                                    |
| --------- | ------ | ---------------------------------------------- |
| `target`  | string | Target language for translating language names |
| `model`   | string | Model to check support for: `nmt` or `base`    |

## Get localized language names

Include language names translated into a specific language:

<CodeGroup>
  ```bash title="cURL" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  curl "https://api.case.dev/translate/v1/languages?target=es" \
    -H "Authorization: Bearer sk_case_YOUR_API_KEY"
  ```

  ```bash title="CLI" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  casedev translate:v1 list-languages
  ```

  ```typescript title="Typescript" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  const result = await client.translate.v1.languages({
    target: 'es'  // Get names in Spanish
  });

  result.data.languages.forEach(lang => {
    console.log(`${lang.language}: ${lang.name}`);
  });
  // "en: Inglés"
  // "es: Español"
  // "fr: Francés"
  // "de: Alemán"
  ```

  ```python title="Python" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  result = client.translate.v1.list_languages(target="es")

  for lang in result.data.languages:
      print(f"{lang.language}: {lang.name}")
  # "en: Inglés"
  # "es: Español"
  ```

  ```go title="Go" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  result, _ := client.Translate.V1.ListLanguages(ctx, casedev.TranslateV1ListLanguagesParams{})
  for _, lang := range result.Data.Languages {
  	fmt.Printf("%s (%s)\n", lang.Name, lang.Language)
  }
  ```
</CodeGroup>

```json title="Response with names" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "data": {
    "languages": [
      { "language": "en", "name": "Inglés" },
      { "language": "es", "name": "Español" },
      { "language": "fr", "name": "Francés" },
      { "language": "de", "name": "Alemán" },
      { "language": "zh", "name": "Chino" },
      ...
    ]
  }
}
```

## Popular languages

| Code    | Language              |
| ------- | --------------------- |
| `en`    | English               |
| `es`    | Spanish               |
| `fr`    | French                |
| `de`    | German                |
| `it`    | Italian               |
| `pt`    | Portuguese            |
| `ru`    | Russian               |
| `zh`    | Chinese (Simplified)  |
| `zh-TW` | Chinese (Traditional) |
| `ja`    | Japanese              |
| `ko`    | Korean                |
| `ar`    | Arabic                |
| `hi`    | Hindi                 |
| `th`    | Thai                  |
| `vi`    | Vietnamese            |
| `nl`    | Dutch                 |
| `pl`    | Polish                |
| `tr`    | Turkish               |
| `uk`    | Ukrainian             |
| `he`    | Hebrew                |

## Examples

### Build a language selector

<CodeGroup>
  ```bash title="CLI" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  casedev translate:v1 list-languages --target en
  ```

  ```typescript title="Typescript" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  const result = await client.translate.v1.languages({
    target: 'en'  // Get English names
  });

  const languageOptions = result.data.languages.map(lang => ({
    value: lang.language,
    label: lang.name
  }));

  // Use in a dropdown component
  <Select options={languageOptions} />
  ```

  ```python title="Python" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  result = client.translate.v1.list_languages(target='en')

  language_options = [
      {'value': lang.language, 'label': lang.name}
      for lang in result.data.languages
  ]

  # Use in a dropdown component
  ```

  ```go title="Go" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  result, _ := client.Translate.V1.ListLanguages(ctx, casedev.TranslateV1ListLanguagesParams{
  	Target: casedev.F("en"),
  })

  for _, lang := range result.Data.Languages {
  	fmt.Printf("value: %s, label: %s\n", lang.Language, lang.Name)
  }
  ```
</CodeGroup>

### Check if a language is supported

<CodeGroup>
  ```bash title="CLI" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  casedev translate:v1 list-languages
  ```

  ```typescript title="Typescript" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  const result = await client.translate.v1.languages();
  const supportedCodes = new Set(
    result.data.languages.map(l => l.language)
  );

  function isSupported(langCode: string): boolean {
    return supportedCodes.has(langCode);
  }

  console.log(isSupported('es')); // true
  console.log(isSupported('xyz')); // false
  ```

  ```python title="Python" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  result = client.translate.v1.list_languages()
  supported_codes = {lang.language for lang in result.data.languages}

  def is_supported(lang_code: str) -> bool:
      return lang_code in supported_codes

  print(is_supported('es'))   # True
  print(is_supported('xyz'))  # False
  ```

  ```go title="Go" theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
  result, _ := client.Translate.V1.ListLanguages(ctx, casedev.TranslateV1ListLanguagesParams{})
  supported := make(map[string]bool)
  for _, lang := range result.Data.Languages {
  	supported[lang.Language] = true
  }

  fmt.Println(supported["es"])  // true
  fmt.Println(supported["xyz"]) // false
  ```
</CodeGroup>

<Info>
  **Pricing:** This endpoint is free and does not count toward usage.
</Info>
