I18n¶
Národní prostředí¶
DHIS2 podporuje překlady jak pro uživatelské rozhraní, tak pro obsah databáze.
Uživatelské rozhraní Národního prostředí¶
Dostupné národní prostředí pro uživatelské rozhraní můžete načíst pomocí následujícího zdroje s požadavkem GET. Jsou podporovány reprezentace prostředků XML a JSON.
/api/33/locales/ui
An example of the response in JSON format:
[
{
"locale": "ar",
"languageTag": "ar",
"name": "العربية",
"displayName": "Arabic"
},
{
"locale": "ar_EG",
"languageTag": "ar-EG",
"name": "العربية (مصر)",
"displayName": "Arabic (Egypt)"
},
{
"locale": "uz_UZ_Cyrl",
"languageTag": "uz-Cyrl-UZ",
"name": "ўзбекча (Кирил, Ўзбекистон)",
"displayName": "Uzbek (Cyrillic, Uzbekistan)"
}
]
The locale property is an internal DHIS2 representation of the locale, and consists of the language code, country code and script code (if applicable) separated by underscores. It should not be confused with the languageTag property, which is the standard IETF BCP 47 language tag representation of the locale, with components separated by hyphens. The name property is the name of the locale in its own language, while the displayName property is the name of the locale in the users's preferred language.
Národní prostředí obsahu databáze¶
You can retrieve and create locales for the database content with GET and POST requests through the dbLocales resource. XML and JSON resource representations are supported. To POST data, there is one required parameter: country. This should correspond to a valid ISO 3166-1 alpha-2 country code. An optional parameter is language, which should correspond to a valid ISO 639-1 language code. A third option paramater script can also be provided, corresponding to a valid ISO 15924 script code. Do take note that if the script parameter is provided, the language parameter must also be provided.
Example request to get database locales for US English:
/api/locales/dbLocales?country=US&language=en
Example request to create a new database locale for Canadian French: POST /api/locales/dbLocales?country=CA&language=fr
Překlady¶
DHIS2 allows for translations of database content. If a metadata is translatable, then it will have a translations property.
To znamená, že můžete načíst a aktualizovat překlady pomocí zdrojů třídy metadat, jako jsou api/dataElements, api/organisationUnits, api/dataSets atd.
Získejte překlady¶
Překlady pro objekt metadat, jako je DataElement, můžete získat odesláním požadavku GET na api/dataElements/{dataElementUID}
Odpověď obsahuje úplné podrobnosti o prvku DataElement, který také zahrnuje vlastnost translations, jak je uvedeno níže
{
"id": "fbfJHSPpUQD",
"href": "https://play.dhis2.org/dev/api/29/dataElements/fbfJHSPpUQD",
"created": "2010-02-05T10:58:43.646",
"name": "ANC 1st visit",
"shortName": "ANC 1st visit",
"translations":
[
{
"property": "SHORT_NAME",
"locale": "en_GB",
"value": "ANC 1st visit"
},
{
"property": "NAME",
"locale": "fr",
"value": "Soin prénatal 1"
},
{
"property": "NAME",
"locale": "en_GB",
"value": "ANC 1st visit"
}
]
}
translations property of an object by sending a GET request to api/dataElements/{dataElementUID}/translations {
"translations":
[
{
"property": "SHORT_NAME",
"locale": "en_GB",
"value": "ANC 1st visit"
},
{
"property": "NAME",
"locale": "fr",
"value": "Soin prénatal 1"
},
{
"property": "NAME",
"locale": "en_GB",
"value": "ANC 1st visit"
}
]
}
Create/Update translations¶
You can create translations by sending a PUT request with same JSON format to api/dataElements/{dataElementUID}/translations
{
"translations":
[
{
"property": "SHORT_NAME",
"locale": "en_GB",
"value": "ANC 1st visit"
},
{
"property": "NAME",
"locale": "fr",
"value": "Soin prénatal 1"
},
{
"property": "DESCRIPTION",
"locale": "fr",
"value": "description in french"
},
{
"property": "FORM_NAME",
"locale": "fr",
"value": "name in french"
}
]
}
Případně můžete také jen aktualizovat objekt pomocí užitečného zatížení včetně vlastnosti translations.
Odešlete požadavek PUT na api/dataElements/{dataElementUID} s úplným zatížením objektu, jak je uvedeno níže:
{
"id": "fbfJHSPpUQD",
"created": "2010-02-05T10:58:43.646",
"name": "ANC 1st visit",
"shortName": "ANC 1st visit",
"translations":
[
{
"property": "SHORT_NAME",
"locale": "en_GB",
"value": "ANC 1st visit"
},
{
"property": "NAME",
"locale": "fr",
"value": "Soin prénatal 1"
},
{
"property": "NAME",
"locale": "en_GB",
"value": "ANC 1st visit"
}
]
}
The status code will be 204 No Content if the data value was successfully saved or updated, or 409 Conflict if there was a validation error (e.g. more than one SHORT_NAME for the same locale).
Společné vlastnosti, které podporují překlady, jsou uvedeny v tabulce níže.
Tabulka: Názvy vlastností
| Název vlastnosti | Popis |
|---|---|
| název | Název objektu |
| shortName | Krátký název objektu |
| popis | Popis objektu |
Třídy, které podporují překlady, jsou uvedeny v tabulce níže.
Tabulka: Názvy tříd
| Název třídy | Popis | Další přeložitelné vlastnosti |
|---|---|---|
| DataElementCategoryOption | Možnost kategorie | |
| DataElementCategory | Kategorie | |
| DataElementCategoryCombo | Kombinace kategorií | |
| Datový prvek | Datový prvek | |
| DataElementGroup | Skupina datových prvků | |
| DataElementGroupSet | Sada skupin datových prvků | |
| Indikátor | Indikátor | numeratorDescription, denominatorDescription |
| IndicatorType | Typ indikátoru | |
| IndicatorGroup | Skupina indikátorů | |
| IndicatorGroupSet | Sada skupin indikátorů | |
| OrganisationUnit | Organizační jednotka | |
| OrganisationUnitGroup | Skupina organizační jednotky | |
| OrganisationUnitGroupSet | Sada skupin organizačních jednotek | |
| DataSet | Datová sada | |
| Sekce | Sekce datové sady | |
| ValidationRule | Pravidlo ověření | návod |
| ValidationRuleGroup | Skupina ověřovacích pravidel | |
| Program | Program | enrollmentDateLabel, incidentDateLabel |
| Fáze programu | Programová fáze | executionDateLabel, dueDateLabel |
| Atribut trasované entity | Atribut trasované entity | |
| TrackedEntity | Trasovaná entita | |
| Typ vztahu | Typ vztahu pro instance trasovaných entit | fromToName, toFromName |
| Sada možností | Sada možností | |
| Možnost | Možnost | |
| Atribut | Atribut pro metadata | |
| ProgramNotificationTemplate | Šablona oznámení programu | subjectTemplate, messageTemplate |
| ValidationNotificationTemplate | Šablona oznámení o ověření | subjectTemplate, messageTemplate |
| DataSetNotificationTemplate | Šablona oznámení DataSet | subjectTemplate, messageTemplate |
| Vizualizace | Vizualizace | title, subtitle, rangeAxisLabel, baseLineLabel, targetLineLabel, domainAxisLabel |
| ProgramRuleAction | Akce programových pravidel | obsah |
| Prediktor | Prediktor | Name, ShortName, Description, Generator Description |
| ValidationRule | ValidationRule | Název, Popis, Instrukce, Levý výraz, Pravý výraz |
Internacionalizace¶
Chcete-li načíst páry klíč-hodnota pro přeložené řetězce, můžete použít prostředek i18n.
/api/33/i18n
Koncový bod je umístěn na /api/i18n a formát požadavku je jednoduchá řada párů klíč-hodnota:
[
"access_denied",
"uploading_data_notification"
]
Požadavek musí být typu POST a jako typ obsahu použít application/json. Příklad použití curl za předpokladu, že se data požadavku uloží jako soubor keys.json:
curl -d @keys.json "play.dhis2.org/demo/api/33/i18n" -X POST
-H "Content-Type: application/json" -u admin:district
Výsledek bude vypadat takto:
{
"access_denied":"Přístup odepřen",
"uploading_data_notification":"Nahrávání lokálně uložených dat na server"
}