<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
  
      http://www.apache.org/licenses/LICENSE-2.0
    	  
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
  
-->
<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="languages.xsd">
	<lang id="1" code="en">english</lang>
	<lang id="2" code="de">deutsch</lang>
	<lang id="3" code="de-StudIP">deutsch (studIP)</lang>
	<lang id="4" code="fr">french</lang>
	<lang id="5" code="it">italian</lang>
	<lang id="6" code="pt">portugues</lang>
	<lang id="7" code="pt-br">portugues brazil</lang>
	<lang id="8" code="es">spanish</lang>
	<lang id="9" code="ru">russian</lang>
	<lang id="10" code="sv">swedish</lang>
	<lang id="11" code="zh-CN">chinese simplified</lang>
	<lang id="12" code="zh-TW">chinese traditional</lang>
	<lang id="13" code="ko">korean</lang>
	<lang id="14" code="ar">arabic</lang>
	<lang id="15" code="ja">japanese</lang>
	<lang id="16" code="id">indonesian</lang>
	<lang id="17" code="hu">hungarian</lang>
	<lang id="18" code="tr">turkish</lang>
	<lang id="19" code="uk">ukrainian</lang>
	<lang id="20" code="th">thai</lang>
	<lang id="21" code="fa">persian</lang>
	<lang id="22" code="cs">czech</lang>
	<lang id="23" code="gl">galician</lang>
	<lang id="24" code="fi">finnish</lang>
	<lang id="25" code="pl">polish</lang>
	<lang id="26" code="el">greek</lang>
	<lang id="27" code="nl">dutch</lang>
	<lang id="28" code="he">hebrew</lang>
	<lang id="29" code="ca">catalan</lang>
	<lang id="30" code="bg">bulgarian</lang>
	<lang id="31" code="da">danish</lang>
	<lang id="32" code="sk">slovak</lang>
</language>
