<?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="SharkCompanyName">
        <value xml:lang="en">OFBiz: Shark</value>
        <value xml:lang="fr">OFBiz : Shark</value>
        <value xml:lang="it">OFBiz: Flussi di lavoro</value>
        <value xml:lang="ro">OFBiz: Fluxuri de Lucru</value>
        <value xml:lang="th">OFBiz: Shark</value>
    </property>
    <property key="SharkCompanySubtitle">
        <!--value xml:lang="ar">جزء من عائلة أوفبيز للبرمجيات الحرة</value-->
        <value xml:lang="ar">جزء من عائلة أوفبيز للتطبيقات الحرة للتسيير</value>
        <value xml:lang="de">Teil der Open For Business Familie von Open Source Software</value>
        <value xml:lang="en">Part of the Open For Business Family of Open Source Software</value>
        <!--value xml:lang="es">Parte de la familia "Open for Bussiness" de Software Libre</value-->
        <value xml:lang="es">Parte de la familia de software Open For Business de código abierto</value>
        <value xml:lang="fr">Un module de la famille Open For Business, logiciel libre de gestion d'entreprise.</value>
        <value xml:lang="it">Un modulo della famiglia di software open source Open For Business</value>
        <!--value xml:lang="nl">Onderdeel van de Open For Business'-suite</value-->
        <value xml:lang="nl">Deel van de Open For Business-suite van Open Source Software</value>
        <value xml:lang="pt_BR">Parte da família OfBiz de software de fonte aberta</value>
        <!--value xml:lang="pt_PT">Parte do Software de Fonte Aberta para Grupos Abertos Para o Negócio</value-->
        <value xml:lang="pt_PT">Parte da família OfBiz de software de fonte aberta</value>
        <!--value xml:lang="ro">Parte accesibila pentru Business Family of Open Source Software</value-->
        <!--value xml:lang="ro">Parte din Open for Business Family of Open Source Software</value-->
        <value xml:lang="ro">Partea de Deschidere Pentru Afaceri Familiale din Open Source Software</value>
        <!--value xml:lang="ru">Часть семейства ПО Open For Business</value-->
        <!--value xml:lang="ru">Часть семейства "Open For Business Family" программных продуктов Open Source </value-->
        <value xml:lang="ru">Входит в состав семейства Open For Business</value>
        <!--value xml:lang="th">เป็นส่วนหนึ่งของธุรกิจแบบครอบครัวที่เป็นซอฟต์แวร์โอเพนซอส</value-->
        <value xml:lang="th">ส่วนหนึ่งของธุรกิจแบบครอบครัวที่เป็นซอฟต์แวร์โอเพนซอส</value>
        <!--value xml:lang="zh">开源软件OFBiz的组成部分</value-->
        <!--value xml:lang="zh">开源软件OFBiz的组成部分</value-->
        <value xml:lang="zh">开源软件OFBiz家族的一部分</value>
        <value xml:lang="zh_CN">OFBiz的一部分</value>
    </property>
    <property key="SharkFramework">
        <value xml:lang="en">Framework Shark</value>
        <value xml:lang="fr">Shark workflow engine : moteur de gestion des flux de travail</value>
        <value xml:lang="it">Applicazione flussi di lavoro</value>
        <value xml:lang="ro">Aplictie Fluxuri de Lucru</value>
        <value xml:lang="th">Framework Shark</value>
        <value xml:lang="zh">Shark工作流</value>
    </property>
    <property key="SharkMainPage">
        <value xml:lang="en">Shark Manager Main Page</value>
        <value xml:lang="fr">Shark : page principale</value>
        <value xml:lang="it">Pagina principale</value>
        <value xml:lang="ro">Pagina Principala</value>
        <value xml:lang="th">หน้าหลักของการจัดการ Shark</value>
        <value xml:lang="zh">Shark工作流管理主页</value>
    </property>
    <property key="SharkProcessDetailList">
        <value xml:lang="en">Process Detail List</value>
        <value xml:lang="it">Lista dettagli processi</value>
        <value xml:lang="zh">流程详细信息列表</value>
    </property>
    <property key="SharkProcessHistory">
        <value xml:lang="en">Process History</value>
        <value xml:lang="it">Storia processi</value>
        <value xml:lang="zh">流程历史记录</value>
    </property>
    <property key="SharkProcessList">
        <value xml:lang="en">Process List</value>
        <value xml:lang="it">Lista processi</value>
        <value xml:lang="zh">流程列表</value>
    </property>
    <property key="SharkProcessSteps">
        <value xml:lang="en">Process Steps</value>
        <value xml:lang="it">Passi processi</value>
        <value xml:lang="zh">流程步骤</value>
    </property>
    <property key="SharkWorkList">
        <value xml:lang="en">Work List</value>
        <value xml:lang="it">Lista lavoro</value>
        <value xml:lang="zh">作业列表</value>
    </property>
    <property key="SharkXPDLRepository">
        <value xml:lang="en">XPDL Repository</value>
        <value xml:lang="it">Repository XPDL</value>
        <value xml:lang="zh">XPDL库</value>
    </property>
</resource>
