Přeskočit obsah
For the complete DHIS2 documentation index, see llms.txt.

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"
    }
  ]
}
You can also get only the 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"
}