Content-language: cs
Content-type: text/html; charset=UTF-8
Body:----------cs--
<!--#set var="CONTENT_LANGUAGE" value="cs"
--><!--#set var="TITLE" value="Nepodporovaný typ prostředku!"
--><!--#include virtual="include/top.html" -->

    Server nepodporuje typ prostředku (media) přeneseného v&nbsp;požadavku.

<!--#include virtual="include/bottom.html" -->
----------cs--

Content-language: de
Content-type: text/html; charset=UTF-8
Body:----------de--
<!--#set var="CONTENT_LANGUAGE" value="de"
--><!--#set var="TITLE" value="Nicht unterst&uuml;tztes Format!"
--><!--#include virtual="include/top.html" -->

    Das bei der Anfrage &uuml;bermittelte Format (Media Type)
    wird vom Server nicht unterst&uuml;tzt.

<!--#include virtual="include/bottom.html" -->
----------de--

Content-language: en
Content-type: text/html; charset=UTF-8
Body:----------en--
<!--#set var="TITLE" value="Unsupported media type!"
--><!--#include virtual="include/top.html" -->

    The server does not support the media type transmitted in the request.

<!--#include virtual="include/bottom.html" -->
----------en--

Content-language: es
Content-type: text/html
Body:----------es--
<!--#set var="TITLE" value="&iexcl;El tipo de medio no est&aacute; soportado!" -->
<!--#include virtual="include/top.html" -->

   El servidor no soporta el tipo
   de medio transmitido en la solicitud.

<!--#include virtual="include/bottom.html" -->
----------es--

Content-language: fr
Content-type: text/html; charset=UTF-8
Body:----------fr--
<!--#set var="CONTENT_LANGUAGE" value="fr"
--><!--#set var="TITLE" value="Type de m&eacute;dia invalide!"
--><!--#include virtual="include/top.html" -->

    Le serveur ne supporte pas le type de m&eacute;dia utilis&eacute;
    dans votre requ&ecirc;te. 

<!--#include virtual="include/bottom.html"-->
----------fr--

Content-language: ga
Content-type: text/html; charset=UTF-8
Body:----------ga--
<!--#set var="TITLE" value="Cine&aacute;il me&aacute;n gan tacha&iacute;ocht!"
--><!--#include virtual="include/top.html" -->

    N&iacute; tacha&iacute;onn an fhreastala&iacute; an cine&aacute;il
    me&aacute;n a sheoladh san iarratais.

<!--#include virtual="include/bottom.html" -->
----------ga--

Content-language: it
Content-type: text/html; charset=UTF-8
Body:----------it--
<!--#set var="CONTENT_LANGUAGE" value="it"
--><!--#set var="TITLE" value="Tipo di dato non supportato!"
--><!--#include virtual="include/top.html" -->

    Il server non &egrave; in grado di gestire il 
    tipo del formato dei dati trasmesso nella richiesta.
   
<!--#include virtual="include/bottom.html" -->
----------it--

Content-language: ja
Content-type: text/html; charset=UTF-8
Body:----------ja--
<!--#set var="CONTENT_LANGUAGE" value="ja"
--><!--#set var="TITLE" value="Unsupported media type!"
--><!--#include virtual="include/top.html" -->

    リクエストで指定されたメディアタイプはサポートされていません。

<!--#include virtual="include/bottom.html" -->
----------ja--

Content-language: ko
Content-type: text/html; charset=UTF-8
Body:----------ko--
<!--#set var="CONTENT_LANGUAGE" value="ko"
--><!--#set var="TITLE" value="지원하지 않는 미디어 형식!"
--><!--#include virtual="include/top.html" -->

    요청으로 보내온 미디어 형식을 이 서버가 지원하지 않습니다. 

<!--#include virtual="include/bottom.html" -->
----------ko--

Content-language: nl
Content-type: text/html; charset=UTF-8
Body:----------nl--
<!--#set var="CONTENT_LANGUAGE" value="nl"
--><!--#set var="TITLE" value="Niet ondersteund formaat!"
--><!--#include virtual="include/top.html" -->

   De server ondersteunt het gevraagde formaat ( media type ) niet.

<!--#include virtual="include/bottom.html" -->
----------nl--

Content-language: nb
Content-type: text/html; charset=UTF-8
Body:----------nb--
<!--#set var="CONTENT_LANGUAGE" value="nb"
--><!--#set var="TITLE" value="Mediatypen støttes ikke!"
--><!--#include virtual="include/top.html" -->

    Serveren støtter ikke den mediatypen som ble forespurt.

<!--#include virtual="include/bottom.html" -->
----------nb--

Content-language: pl
Content-type: text/html; charset=UTF-8
Body:----------pl--
<!--#set var="CONTENT_LANGUAGE" value="pl"
--><!--#set var="TITLE" value="Nieobs&#322;ugiwany typ danych!"
--><!--#include virtual="include/top.html" -->

    Serwer nie zna typu danych przes&#322;anych w &#380;&#261;daniu.

<!--#include virtual="include/bottom.html" -->
----------pl--

Content-language: pt-br
Content-type: text/html; charset=UTF-8
Body:-------pt-br--
<!--#set var="CONTENT_LANGUAGE" value="pt-br"
--><!--#set var="TITLE" value="Tipo de media n&atilde;o suportado!"
--><!--#include virtual="include/top.html" -->

   O servidor n&atilde;o suporta o tipo de m&iacute;dia
   transmitida nesta requisi&ccedil;&atilde;o.

<!--#include virtual="include/bottom.html" -->
-------pt-br--

Content-language: pt
Content-type: text/html; charset=ISO-8859-1
Body:----------pt--
<!--#set var="TITLE" value="Media n&atilde;o suportado!"
--><!--#include virtual="include/top.html" -->

	O servidor n&atilde;o suporta o <i>media type</i> transmitido no pedido.

<!--#include virtual="include/bottom.html" -->
----------pt--

Content-language: ro
Content-type: text/html; charset=UTF-8
Body:----------ro--
<!--#set var="CONTENT_LANGUAGE" value="ro"
--><!--#set var="TITLE" value="Tip de date nesuportate!"
--><!--#include virtual="include/top.html" -->

    Serverul nu suporta tipul de date trimise in cerere.

<!--#include virtual="include/bottom.html" -->
----------ro--

Content-language: sr
Content-type: text/html; charset=UTF-8
Body:----------sr--
<!--#set var="CONTENT_LANGUAGE" value="sr"
--><!--#set var="TITLE" value="Неподржана врста медија!"
--><!--#include virtual="include/top.html" -->

    Сервер не подржава врсту медија пренесену у захтеву.

<!--#include virtual="include/bottom.html" -->
----------sr--

Content-language: sv
Content-type: text/html; charset=UTF-8
Body:----------sv--
<!--#set var="CONTENT_LANGUAGE" value="sv"
--><!--#set var="TITLE" value="Mediatypen st&ouml;ds ej!"
--><!--#include virtual="include/top.html" -->

    Servern st&ouml;djer inte den mediatyp som skickats i f&ouml;rfr&aring;gan.

<!--#include virtual="include/bottom.html" -->
----------sv--

Content-language: tr
Content-type: text/html; charset=UTF-8
Body:----------tr--
<!--#set var="CONTENT_LANGUAGE" value="tr"
--><!--#set var="TITLE" value="Desteklenmeyen ortam türü!"
--><!--#include virtual="include/top.html" -->

    Sunucu, istekte belirtilen ortam türünü desteklemiyor.

<!--#include virtual="include/bottom.html" -->
----------tr--
