Ga naar hoofdinhoud

Languages API

De Languages API biedt endpoints voor het beheren van talen en taaloverrides in Joomla.

Base URL

/api/index.php/v1/languages

Endpoints Overzicht

Content Languages

MethodeEndpointBeschrijving
GET/languages/contentAlle content talen ophalen
GET/languages/content/{id}Specifieke taal ophalen
POST/languages/contentNieuwe content taal aanmaken
PATCH/languages/content/{id}Content taal bijwerken
DELETE/languages/content/{id}Content taal verwijderen

Language Overrides

MethodeEndpointBeschrijving
GET/languages/overrides/{app}/{lang}Overrides ophalen
POST/languages/overrides/{app}/{lang}Override aanmaken
PATCH/languages/overrides/{app}/{lang}/{key}Override bijwerken
DELETE/languages/overrides/{app}/{lang}/{key}Override verwijderen

Content Languages

Alle content talen ophalen

GET /api/index.php/v1/languages/content

Response

{
"data": [
{
"type": "languages",
"id": "1",
"attributes": {
"lang_code": "nl-NL",
"title": "Nederlands (NL)",
"title_native": "Nederlands",
"sef": "nl",
"image": "nl_nl",
"description": "",
"metakey": "",
"metadesc": "",
"sitename": "",
"published": 1,
"access": 1,
"ordering": 1
}
}
]
}

Content taal aanmaken

POST /api/index.php/v1/languages/content

Request Body

{
"lang_code": "de-DE",
"title": "German (DE)",
"title_native": "Deutsch",
"sef": "de",
"image": "de_de",
"published": 1,
"access": 1
}

Verplichte velden

VeldTypeBeschrijving
lang_codestringTaalcode (bijv. nl-NL, en-GB)
titlestringTitel van de taal
title_nativestringNative naam van de taal
sefstringSEF prefix voor URLs

Optionele velden

VeldTypeStandaardBeschrijving
imagestring""Vlag afbeelding code
descriptionstring""Beschrijving
metakeystring""Meta keywords
metadescstring""Meta beschrijving
sitenamestring""Site naam voor taal
publishedint1Publicatiestatus
accessint1Toegangsniveau

Voorbeeld

curl -X POST "https://jouwesite.nl/api/index.php/v1/languages/content" \
-H "X-Joomla-Token: JOUW_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"lang_code": "fr-FR",
"title": "French (FR)",
"title_native": "Français",
"sef": "fr"
}'

Content taal bijwerken

PATCH /api/index.php/v1/languages/content/{id}

Voorbeeld

curl -X PATCH "https://jouwesite.nl/api/index.php/v1/languages/content/1" \
-H "X-Joomla-Token: JOUW_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sitename": "Mijn Nederlandse Site"
}'

Language Overrides

Language overrides maken het mogelijk om standaard Joomla vertalingen aan te passen.

Overrides ophalen

GET /api/index.php/v1/languages/overrides/{app}/{lang}
ParameterWaardenBeschrijving
appsite, administratorFrontend of backend
langnl-NL, en-GB, etc.Taalcode

Voorbeeld

curl -X GET "https://jouwesite.nl/api/index.php/v1/languages/overrides/site/nl-NL" \
-H "X-Joomla-Token: JOUW_API_TOKEN"

Response

{
"data": [
{
"type": "language-overrides",
"attributes": {
"key": "MOD_LOGIN_VALUE_USERNAME",
"value": "Gebruikersnaam",
"app": "site",
"language": "nl-NL"
}
}
]
}

Override aanmaken

POST /api/index.php/v1/languages/overrides/{app}/{lang}

Request Body

{
"key": "CUSTOM_LANGUAGE_STRING",
"value": "Mijn aangepaste tekst"
}

Voorbeeld

curl -X POST "https://jouwesite.nl/api/index.php/v1/languages/overrides/site/nl-NL" \
-H "X-Joomla-Token: JOUW_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"key": "MOD_LOGIN_VALUE_USERNAME",
"value": "E-mailadres"
}'

Override bijwerken

PATCH /api/index.php/v1/languages/overrides/{app}/{lang}/{key}

Voorbeeld

curl -X PATCH "https://jouwesite.nl/api/index.php/v1/languages/overrides/site/nl-NL/MOD_LOGIN_VALUE_USERNAME" \
-H "X-Joomla-Token: JOUW_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"value": "Nieuwe vertaling"
}'

Override verwijderen

DELETE /api/index.php/v1/languages/overrides/{app}/{lang}/{key}

Voorbeeld

curl -X DELETE "https://jouwesite.nl/api/index.php/v1/languages/overrides/site/nl-NL/MOD_LOGIN_VALUE_USERNAME" \
-H "X-Joomla-Token: JOUW_API_TOKEN"

Installed Languages

Geïnstalleerde talen ophalen

GET /api/index.php/v1/languages/installed

Dit toont alle geïnstalleerde taalpakketten.

Language States

WaardeStatus
-2Prullenbak
0Niet gepubliceerd
1Gepubliceerd

Veelgebruikte Taalcodes

CodeTaal
nl-NLNederlands
en-GBEngels (UK)
en-USEngels (US)
de-DEDuits
fr-FRFrans
es-ESSpaans
it-ITItaliaans
pt-BRPortugees (BR)

Meertalige Site Setup

Voor een meertalige site heb je nodig:

  1. Taalpakketten installeren via Extension Manager
  2. Content Languages aanmaken via deze API
  3. Language Filter plugin activeren
  4. Talen koppelen aan menu items
tip

Gebruik de System - Language Filter plugin om automatisch de juiste taal te detecteren op basis van browser instellingen of URL prefix.

Voorbeeld: Taal strings zoeken

Om te weten welke key je moet overriden:

# Zoek in Joomla taalbestanden
grep -r "Gebruikersnaam" /path/to/joomla/language/nl-NL/

Of gebruik de Language Overrides tool in de Joomla administrator.