<?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="http://ofbiz.apache.org/dtds/ofbiz-properties.xsd">
    <property key="HelpNotFound">
        <value xml:lang="da">Hjælp emne ikke fundet</value>
        <value xml:lang="de">Hilfe Thema nicht gefunden.</value>
        <value xml:lang="en">Help topic not found.</value>
        <value xml:lang="es">No se ha encontrado el tema de ayuda.</value>
        <value xml:lang="fr">Sujet d'aide non trouvé.</value>
        <value xml:lang="it">Voce aiuto non trovata.</value>
        <value xml:lang="ja">ヘルプが見つかりません</value>
        <value xml:lang="pt-BR">Tópico de ajuda não foi encontrado.</value>
        <value xml:lang="ru">Справочник помощи не найден.</value>
        <value xml:lang="vi">Không tìm thấy nội dung Trợ giúp.</value>
        <value xml:lang="zh">帮助主题没有找到。</value>
        <value xml:lang="zh-TW">說明主題沒有找到.</value>
    </property>
    <property key="PageTitleHelp">
        <value xml:lang="da">Apache OFBiz hjælp</value>
        <value xml:lang="de">Apache OFBiz Hilfe</value>
        <value xml:lang="en">Apache OFBiz Help</value>
        <value xml:lang="es">Ayuda de Apache OFBiz</value>
        <value xml:lang="fr">Aide OFBiz (Apache OFBiz)</value>
        <value xml:lang="it">Aiuto</value>
        <value xml:lang="ja">OFBizヘルプ</value>
        <value xml:lang="pt-BR">Ajuda do OFBiz</value>
        <value xml:lang="ru">Открыть для бизнес-помощи</value>
        <value xml:lang="vi">Trợ giúp từ OFBiz</value>
        <value xml:lang="zh">OFBiz帮助</value>
        <value xml:lang="zh-TW">OFBiz說明</value>
    </property>
</resource>
