<?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="EmplLeaveReasonType.description.CASUAL">
        <value xml:lang="en">Casual</value>
        <value xml:lang="fr">Convenance</value>
    </property>
    <property key="EmplLeaveReasonType.description.MEDICAL">
        <value xml:lang="en">Medical</value>
        <value xml:lang="fr">Maladie</value>
    </property>
    <property key="EmplLeaveType.description.INLAND_EARNED">
        <value xml:lang="en">Inland earned</value>
        <value xml:lang="fr">Congé payé</value>
    </property>
    <property key="EmplLeaveType.description.LOSS_OF_PAY">
        <value xml:lang="en">Loss of pay</value>
        <value xml:lang="fr">Sans solde</value>
    </property>
    <property key="EmplLeaveType.description.RESTRICTED_HOLIDAY">
        <value xml:lang="en">Restricted holiday</value>
        <value xml:lang="fr">Jour férié</value>
    </property>
    <property key="EmplLeaveType.description.SPECIAL_DAY_OFF">
        <value xml:lang="en">Special day off</value>
        <value xml:lang="fr">Congé</value>
    </property>
</resource>