Translator 3.0: Språk

Hämtar den uppsättning språk som för närvarande stöds av andra åtgärder i Translator.

Begärans-URL

Skicka en GET-begäran till:

https://api.cognitive.microsofttranslator.com/languages?api-version=3.0

För virtuella nätverk använder du din anpassade domänslutpunkt:

https://<your-custom-domain>.cognitiveservices.azure.com/languages?api-version=3.0

Mer information finns i Stöd för virtuellt nätverk för Translator-tjänsten valt nätverk och privat slutpunktskonfiguration och support.

Parametrar för begäran

Begärandeparametrar som skickas på frågesträngen är:

Frågeparametrar beskrivning
api-version Obligatorisk parameter

Den version av API:et som begärs av klienten. Värdet måste vara 3.0.
omfattning Valfri parameter.

En kommaavgränsad lista med namn som definierar vilken grupp av språk som ska returneras. Tillåtna gruppnamn är: translation, transliterationoch dictionary. Om inget omfång anges returneras alla grupper, vilket motsvarar att skicka scope=translation,transliteration,dictionary.

Se svarstext.

Begärandehuvuden är:

Sidhuvuden beskrivning
Accept-Language Valfritt begärandehuvud.

Språket som ska användas för användargränssnittssträngar. Några av fälten i svaret är namn på språk eller namn på regioner. Använd den här parametern för att definiera språket där dessa namn returneras. Språket anges genom att tillhandahålla en välformulerad BCP 47-språktagg. Använd till exempel värdet fr för att begära namn på franska eller använda värdet zh-Hant för att begära namn i traditionell kinesiska.
Namn anges på det engelska språket när ett målspråk inte har angetts eller när lokaliseringen inte är tillgänglig.
X-ClientTraceId Valfritt begärandehuvud.
Ett klientgenererat GUID för att unikt identifiera begäran.

Autentisering krävs inte för att hämta språkresurser.

Själva svaret

En klient använder scope frågeparametern för att definiera vilka grupper av språk som ska listas.

  • scope=translation tillhandahåller språk som stöds för att översätta text från ett språk till ett annat språk.

  • scope=transliteration innehåller funktioner för att konvertera text på ett språk från ett skript till ett annat skript.

  • scope=dictionary innehåller språkpar för vilka Dictionary åtgärder returnerar data.

En klient kan hämta flera grupper samtidigt genom att ange en kommaavgränsad lista med namn. Till exempel scope=translation,transliteration,dictionary skulle returnera språk som stöds för alla grupper.

Ett lyckat svar är ett JSON-objekt med en egenskap för varje begärd grupp:

{
    "translation": {
        //... set of languages supported to translate text (scope=translation)
    },
    "transliteration": {
        //... set of languages supported to convert between scripts (scope=transliteration)
    },
    "dictionary": {
        //... set of languages supported for alternative translations and examples (scope=dictionary)
    }
}

Värdet för varje egenskap är följande.

  • translation egenskap

    Värdet för egenskapen translation är en ordlista med (nyckel, värde) par. Varje nyckel är en BCP 47-språktagg. En nyckel identifierar ett språk som text kan översättas till eller översättas från. Värdet som är associerat med nyckeln är ett JSON-objekt med egenskaper som beskriver språket:

    • name: Visningsnamn för språket på det språk som begärdes via Accept-Language sidhuvud.

    • nativeName: Visningsnamn för språket på språkspråket som är inbyggt för det här språket.

    • dir: Riktning, som gäller rtl för höger-till-vänster-språk eller ltr för språk från vänster till höger.

    Ett exempel är:

    {
      "translation": {
        ...
        "fr": {
          "name": "French",
          "nativeName": "Français",
          "dir": "ltr"
        },
        ...
      }
    }
    
  • transliteration egenskap

    Värdet för egenskapen transliteration är en ordlista med (nyckel, värde) par. Varje nyckel är en BCP 47-språktagg. En nyckel identifierar ett språk där text kan konverteras från ett skript till ett annat skript. Värdet som är associerat med nyckeln är ett JSON-objekt med egenskaper som beskriver språket och dess skript som stöds:

    • name: Visningsnamn för språket på det språk som begärdes via Accept-Language sidhuvud.

    • nativeName: Visningsnamn för språket på språkspråket som är inbyggt för det här språket.

    • scripts: Lista över skript som ska konverteras från. Varje element i scripts listan har egenskaper:

      • code: Kod som identifierar skriptet.

      • name: Visningsnamn för skriptet i det språk som begärdes via Accept-Language rubriken.

      • nativeName: Visningsnamn för språket i språkspråket som är inbyggt för språket.

      • dir: Riktning, som gäller rtl för höger-till-vänster-språk eller ltr för språk från vänster till höger.

      • toScripts: Lista över skript som är tillgängliga för att konvertera text till. Varje element i toScripts listan har egenskaperna code, name, nativeNameoch dir enligt beskrivningen tidigare.

    Ett exempel är:

    {
      "transliteration": {
        ...
        "ja": {
          "name": "Japanese",
          "nativeName": "日本語",
          "scripts": [
            {
              "code": "Jpan",
              "name": "Japanese",
              "nativeName": "日本語",
              "dir": "ltr",
              "toScripts": [
                {
                  "code": "Latn",
                  "name": "Latin",
                  "nativeName": "ラテン語",
                  "dir": "ltr"
                }
              ]
            },
            {
              "code": "Latn",
              "name": "Latin",
              "nativeName": "ラテン語",
              "dir": "ltr",
              "toScripts": [
                {
                  "code": "Jpan",
                  "name": "Japanese",
                  "nativeName": "日本語",
                  "dir": "ltr"
                }
              ]
            }
          ]
        },
        ...
      }
    }
    
  • dictionary egenskap

    Värdet för egenskapen dictionary är en ordlista med (nyckel, värde) par. Varje nyckel är en BCP 47-språktagg. Nyckeln identifierar ett språk för vilket alternativa översättningar och back-translations är tillgängliga. Värdet är ett JSON-objekt som beskriver källspråket och målspråken med tillgängliga översättningar:

    • name: Visningsnamn för källspråket på det språk som begärdes via Accept-Language sidhuvud.

    • nativeName: Visningsnamn för språket på språkspråket som är inbyggt för det här språket.

    • dir: Riktning, som gäller rtl för höger-till-vänster-språk eller ltr för språk från vänster till höger.

    • translations: Lista över språk med alterativa översättningar och exempel för frågan som uttrycks i källspråket. Varje element i translations listan har egenskaper:

      • name: Visningsnamn för målspråket på det språk som begärs via Accept-Language sidhuvud.

      • nativeName: Visningsnamn för målspråket på språkspråket som är inbyggt för målspråket.

      • dir: Riktning, som gäller rtl för höger-till-vänster-språk eller ltr för språk från vänster till höger.

      • code: Språkkod som identifierar målspråket.

    Ett exempel är:

    "es": {
      "name": "Spanish",
      "nativeName": "Español",
      "dir": "ltr",
      "translations": [
        {
          "name": "English",
          "nativeName": "English",
          "dir": "ltr",
          "code": "en"
        }
      ]
    },
    

Strukturen för svarsobjektet ändras inte utan en ändring i api-versionen. För samma version av API:et kan listan över tillgängliga språk ändras över tid eftersom Microsoft prevodilac kontinuerligt utökar listan över språk som stöds av dess tjänster.

Listan över språk som stöds ändras inte ofta. För att spara nätverksbandbredd och förbättra svarstiden bör ett klientprogram överväga att cachelagra språkresurser och motsvarande entitetstagg (ETag). Sedan kan klientprogrammet regelbundet (till exempel en gång var 24:e timme) fråga tjänsten för att hämta den senaste uppsättningen språk som stöds. Genom att skicka det aktuella ETag värdet i ett If-None-Match rubrikfält kan tjänsten optimera svaret. Om resursen inte ändras returnerar tjänsten statuskod 304 och en tom svarstext.

Svarsrubriker

Sidhuvuden beskrivning
ETag Aktuellt värde för entitetstaggen för de begärda grupperna av språk som stöds. För att göra efterföljande begäranden mer effektiva kan klienten skicka ETag värdet i ett If-None-Match rubrikfält.
X-RequestId Värde som genereras av tjänsten för att identifiera begäran. Den används i felsökningssyfte.

Svarsstatuskoder

Följande är de möjliga HTTP-statuskoder som en begäran returnerar.

Statuskod beskrivning
200 Klart!
304 Resursen ändras inte och justeras med den version som anges av begärandehuvuden If-None-Match.
400 En av frågeparametrarna saknas eller är ogiltig. Korrigera parametrar för begäran innan du försöker igen.
429 Servern avvisade begäran eftersom klienten överskred begärandegränserna.
500 Ett oväntat fel har uppstått. Om felet kvarstår rapporterar du det med: datum och tid för felet, begärandeidentifierare från svarshuvudet X-RequestIdoch klientidentifierare från begärandehuvudet X-ClientTraceId.
503 Servern är inte tillgänglig för tillfället. Försök igen med begäran. Om felet kvarstår rapporterar du det med: datum och tid för felet, begärandeidentifierare från svarshuvudet X-RequestIdoch klientidentifierare från begärandehuvudet X-ClientTraceId.

Om ett fel uppstår returnerar begäran också ett JSON-felsvar. Felkoden är ett 6-siffrigt tal som kombinerar den tresiffriga HTTP-statuskoden följt av ett tresiffrigt tal för att ytterligare kategorisera felet. Vanliga felkoder finns på referenssidan för Translator v3.

Exempel

I följande exempel visas hur du hämtar språk som stöds för textöversättning.

curl "https://api.cognitive.microsofttranslator.com/languages?api-version=3.0&scope=translation"