<?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" xsi:noNamespaceSchemaLocation="https://ofbiz.apache.org/dtds/ofbiz-properties.xsd">
    <property key="PortalPage.portalPageName.MYPORTAL_EMPLOYEE">
        <value xml:lang="en">Main</value>
        <value xml:lang="es">Principal</value>
        <value xml:lang="fr">Accueil</value>
        <value xml:lang="ja">メイン</value>
        <value xml:lang="pt-BR">Principal</value>
        <value xml:lang="ru">Главный</value>
        <value xml:lang="vi">Trang chủ</value>
        <value xml:lang="zh">首页</value>
        <value xml:lang="zh-TW">首頁</value>
    </property>
    <property key="PortalPage.portalPageName.MYPORTAL_EMPLOYEE0">
        <value xml:lang="en">My Comms</value>
        <value xml:lang="fr">Mes communications</value>
        <value xml:lang="ja">私の通信</value>
        <value xml:lang="ru">Мои связи</value>
        <value xml:lang="vi">Truyền thông Riêng</value>
        <value xml:lang="zh">我的沟通</value>
        <value xml:lang="zh-TW">我的通訊</value>
    </property>
    <property key="PortalPage.portalPageName.MYPORTAL_EMPLOYEE1">
        <value xml:lang="en">My Profile</value>
        <value xml:lang="es">Mi perfil</value>
        <value xml:lang="fr">Mon profil</value>
        <value xml:lang="ja">私のプロファイル</value>
        <value xml:lang="pt-BR">Meu Perfil</value>
        <value xml:lang="ru">Мой профиль</value>
        <value xml:lang="vi">Hồ sơ Riêng</value>
        <value xml:lang="zh">我的简介</value>
        <value xml:lang="zh-TW">我的基本資料</value>
    </property>
    <property key="PortalPage.portalPageName.MYPORTAL_EMPLOYEE2">
        <value xml:lang="en">Other Party Comms</value>
        <value xml:lang="fr">Autres communications</value>
        <value xml:lang="ja">その他取引先の通信</value>
        <value xml:lang="ru">Другие средства связи</value>
        <value xml:lang="vi">Truyền thông của Tác nhân liên quan</value>
        <value xml:lang="zh">其他会员的沟通</value>
        <value xml:lang="zh-TW">其他團體的通訊</value>
    </property>
    <property key="PortalPage.portalPageName.MYPORTAL_EMPLOYEE4">
        <value xml:lang="en">My Time Sheet</value>
        <value xml:lang="es">Mi hoja de tiempos</value>
        <value xml:lang="fr">Mes feuilles de temps</value>
        <value xml:lang="ja">私の予定表</value>
        <value xml:lang="pt-BR">Minha folha de tempo</value>
        <value xml:lang="ru">Мои временные рамки</value>
        <value xml:lang="vi">Khai báo công việc Riêng</value>
        <value xml:lang="zh">我的工单</value>
        <value xml:lang="zh-TW">我的工作報告</value>
    </property>
    <property key="PortalPage.portalPageName.MYPORTAL_EMPLOYEE5">
        <value xml:lang="en">My Tasks</value>
        <value xml:lang="fr">Mes tâches</value>
        <value xml:lang="ja">私のタスク</value>
        <value xml:lang="ru">Мои задачи</value>
        <value xml:lang="vi">Tác vụ - Đầu việc Riêng</value>
        <value xml:lang="zh">我的任务</value>
        <value xml:lang="zh-TW">我的任務</value>
    </property>
    <property key="PortalPage.portalPageName.MYPORTAL_EMPLOYEE6">
        <value xml:lang="en">My Leave</value>
        <value xml:lang="fr">Mes congés</value>
        <value xml:lang="ja">私の休暇</value>
        <value xml:lang="ru">Мой отпуск</value>
        <value xml:lang="vi">Nghỉ phép Riêng</value>
        <value xml:lang="zh">我的休假</value>
        <value xml:lang="zh-TW">我的休假</value>
    </property>
    <property key="PortalPage.portalPageName.MYPORTAL_EMPLOYEE7">
        <value xml:lang="en">My trainings</value>
        <value xml:lang="fr">Mes formations</value>
        <value xml:lang="ja">私のトレーニング</value>
        <value xml:lang="ru">Мои тренировки</value>
        <value xml:lang="vi">Đào tạo Riêng</value>
        <value xml:lang="zh">我的培训</value>
        <value xml:lang="zh-TW">我的教育訓練</value>
    </property>
    <property key="PortalPage.portalPageName.MYPORTAL_EMPLOYEE8">
        <value xml:lang="en">My Payments</value>
        <value xml:lang="fr">Mes paiements</value>
        <value xml:lang="ja">私の支払</value>
        <value xml:lang="ru">Мои платежи</value>
        <value xml:lang="vi">Thanh toán Riêng</value>
        <value xml:lang="zh">我的支付</value>
        <value xml:lang="zh-TW">我的付款</value>
    </property>
    <property key="PortalPage.portalPageName.ProductStoreFacility">
        <value xml:lang="de">Lager</value>
        <value xml:lang="en">Facility</value>
        <value xml:lang="es">Almacén</value>
        <value xml:lang="fr">Lieu de stockage</value>
        <value xml:lang="it">Stabilimento </value>
        <value xml:lang="ja">拠点</value>
        <value xml:lang="nl">Faciliteit</value>
        <value xml:lang="pt-BR">Instalação</value>
        <value xml:lang="ro">Compartiment </value>
        <value xml:lang="ru">Оборудование</value>
        <value xml:lang="th">คลังสินค้า</value>
        <value xml:lang="vi">Chi nhánh / Cơ sở</value>
        <value xml:lang="zh">场所</value>
        <value xml:lang="zh-CN">仓储设施</value>
        <value xml:lang="zh-TW">場所</value>
    </property>
</resource>
