<?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="GoogleCheckoutAddGoogleCheckoutConfiguration">
        <value xml:lang="en">Add Google Checkout Configuration</value>
        <value xml:lang="it">Aggiungi Configurazione Google Checkout</value>
        <value xml:lang="zh">添加谷歌支付设置</value>
        <value xml:lang="zh-TW">添加谷歌支付设置</value>
    </property>
    <property key="GoogleCheckoutAddGoogleCheckoutShippingMethod">
        <value xml:lang="en">Add Google Checkout Shipping Method</value>
        <value xml:lang="it">Aggiungi metodo di spedizione Google Checkout</value>
        <value xml:lang="zh">添加谷歌支付送货方法</value>
        <value xml:lang="zh-TW">添加谷歌支付送货方法</value>
    </property>
    <property key="GoogleCheckoutApplication">
        <value xml:lang="en">Google Checkout Application</value>
        <value xml:lang="it">Applicazione Google Checkout</value>
        <value xml:lang="zh">谷歌支付应用程序</value>
        <value xml:lang="zh-TW">谷歌支付应用程序</value>
    </property>
    <property key="GoogleCheckoutCompanyName">
        <value xml:lang="en">OFBiz: Google Checkout</value>
        <value xml:lang="it">OFBiz: Google Checkout</value>
        <value xml:lang="zh">OFBiz: 谷歌支付</value>
        <value xml:lang="zh-TW">OFBiz: 谷歌支付</value>
    </property>
    <property key="GoogleCheckoutConfigurationError">
        <value xml:lang="en">Google checkout configuration error</value>
        <value xml:lang="it">Errore di configurazione di Google checkout</value>
        <value xml:lang="zh">谷歌支付配置错误</value>
        <value xml:lang="zh-TW">谷歌支付配置错误</value>
    </property>
    <property key="GoogleCheckoutGoogleCheckoutConfiguration">
        <value xml:lang="en">Google Checkout Configuration</value>
        <value xml:lang="it">Configurazione di Google Checkout</value>
        <value xml:lang="zh">谷歌支付配置</value>
        <value xml:lang="zh-TW">谷歌支付配置</value>
    </property>
    <property key="GoogleCheckoutOrderCannotBeModified">
        <value xml:lang="en">Google Checkout orders cannot be modified. You may cancel orders/items only!</value>
        <value xml:lang="it">Ordini di Google Checkout non possono essere modificati. Tu puoi cancellare solo gli ordini/righe!</value>
        <value xml:lang="zh">不能修改谷歌支付的订单。你只能取消订单/明细！</value>
        <value xml:lang="zh-TW">不能修改谷歌支付的订单。你只能取消订单/明细！</value>
    </property>
    <property key="GoogleCheckoutResponseIsNull">
        <value xml:lang="en">Google Checkout response was null</value>
        <value xml:lang="it">Risposta da Google Checkout è nulla</value>
        <value xml:lang="zh">谷歌支付的响应是null</value>
        <value xml:lang="zh-TW">谷歌支付的响应是null</value>
    </property>
    <property key="GoogleCheckoutShippingConfigurationInvalid">
        <value xml:lang="en">Invalid Google Checkout Shipping Configuration! Carriers can only be UPS, FedEx or USPS.</value>
        <value xml:lang="it">Configurazione spedizioni di Google Checkout invalida! Spedizioniere può essere solo UPS, FedEx o USPS.</value>
        <value xml:lang="zh">谷歌支付送货配置无效！承运商只能是UPS、FedEx或USPS。</value>
        <value xml:lang="zh-TW">谷歌支付送货配置无效！承运商只能是UPS、FedEx或USPS。</value>
    </property>
    <property key="GoogleCheckoutShippingMethods">
        <value xml:lang="en">Shipping Methods Configuration</value>
        <value xml:lang="it">Configurazione metodi di spedizioni</value>
        <value xml:lang="zh">送货方式配置</value>
        <value xml:lang="zh-TW">送货方式配置</value>
    </property>
</resource>
