<?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.
-->
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <property key="ServerHitType.description.ENTITY">
        <value xml:lang="de">Entität</value>
        <value xml:lang="en">Entity</value>
        <value xml:lang="es">Entidad</value>
        <value xml:lang="fr">Entité</value>
        <value xml:lang="it">Entità</value>
        <value xml:lang="ro">Entitate</value>
        <value xml:lang="ru">Сущность</value>
        <value xml:lang="th">เอกลักษณ์</value>
        <value xml:lang="zh">实体</value>
    </property>
    <property key="ServerHitType.description.EVENT">
        <value xml:lang="de">Event</value>
        <value xml:lang="en">Event</value>
        <value xml:lang="es">Evento</value>
        <value xml:lang="fr">Evènement</value>
        <value xml:lang="it">Evento</value>
        <value xml:lang="ro">Eveniment</value>
        <value xml:lang="ru">Событие</value>
        <value xml:lang="th">เหตุการณ์</value>
        <value xml:lang="zh">事件</value>
    </property>
    <property key="ServerHitType.description.REQUEST">
        <value xml:lang="de">Request</value>
        <value xml:lang="en">Request</value>
        <value xml:lang="es">Petición</value>
        <value xml:lang="fr">Requête</value>
        <value xml:lang="it">Richiesta</value>
        <value xml:lang="ro">Cerere</value>
        <value xml:lang="ru">Запрос</value>
        <value xml:lang="th">คำร้อง</value>
        <value xml:lang="zh">访问请求</value>
    </property>
    <property key="ServerHitType.description.SERVICE">
        <value xml:lang="de">Service</value>
        <value xml:lang="en">Service</value>
        <value xml:lang="es">Servicio</value>
        <value xml:lang="fr">Service</value>
        <value xml:lang="it">Servizio</value>
        <value xml:lang="ro">Serviciu</value>
        <value xml:lang="ru">Служба</value>
        <value xml:lang="th">บริการ</value>
        <value xml:lang="zh">服务</value>
    </property>
    <property key="ServerHitType.description.VIEW">
        <value xml:lang="de">Ansicht</value>
        <value xml:lang="en">View</value>
        <value xml:lang="es">Vista</value>
        <value xml:lang="fr">Vue</value>
        <value xml:lang="it">Vista</value>
        <value xml:lang="ro">Afisare</value>
        <value xml:lang="ru">Представление</value>
        <value xml:lang="th">ข้อคิดเห็น</value>
        <value xml:lang="zh">浏览</value>
    </property>
</resource>
