<?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="CommonExtCreatePublicMessage">
        <value xml:lang="en">Create Public Message</value>
        <value xml:lang="fr">Créer un message public</value>
        <value xml:lang="it">Crea messaggio pubblico</value>
        <value xml:lang="pt_BR">Criar Mensagem Pública</value>
        <value xml:lang="zh">新建公共消息</value>
    </property>
    <property key="CommonExtDateInfoCreated">
        <value xml:lang="en">Date info created</value>
        <value xml:lang="fr">Date de création</value>
        <value xml:lang="it">Data di creazione</value>
        <value xml:lang="pt_BR">Data da informação criada</value>
        <value xml:lang="zh">已创建日期信息</value>
    </property>
    <property key="CommonExtDateLastChanged">
        <value xml:lang="en">Date Last Changed</value>
        <value xml:lang="fr">Dernière date de changement</value>
        <value xml:lang="it">Data ultimo cambiamento</value>
        <value xml:lang="pt_BR">Data da última modificação</value>
        <value xml:lang="zh">最后修改日期</value>
    </property>
    <property key="CommonExtSystemInfoNote">
        <value xml:lang="en">System Info Note</value>
        <value xml:lang="fr">Message d'information système</value>
        <value xml:lang="it">Messaggio di sistema</value>
        <value xml:lang="pt_BR">Nota de Informação do Sistema</value>
        <value xml:lang="zh">系统信息便笺</value>
    </property>
    <property key="CommonExtSystemInfoNoteForUser">
        <value xml:lang="en">System Info note for user:</value>
        <value xml:lang="fr">Message d'information système pour l'utilisateur :</value>
        <value xml:lang="it">Messaggio di sistema per l'utente:</value>
        <value xml:lang="pt_BR">Nota de Informação do Sistema para o usuário:</value>
        <value xml:lang="zh">系统信息便笺致用户：</value>
    </property>
    <property key="CommonExtSystemInfoStatus">
        <value xml:lang="en">System Info Status</value>
        <value xml:lang="fr">Message d'information d'état</value>
        <value xml:lang="it">Stato messaggi di sistema</value>
        <value xml:lang="pt_BR">Informação de estado do sistema</value>
        <value xml:lang="zh">系统信息状态</value>
    </property>
    <property key="CommonExtSystemInfoStatusForUser">
        <value xml:lang="en">System Info status for user:</value>
        <value xml:lang="fr">Message d'information d'état pour l'utilisateur :</value>
        <value xml:lang="it">Stato messaggi di sistema per l'utente:</value>
        <value xml:lang="pt_BR">Informação de estado do sistema para o usuário:</value>
        <value xml:lang="zh">系统信息状态为用户：</value>
    </property>
</resource>
