#
# Copyright (C) 2009 The Android Open Source Project
#
# Licensed 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.
#

# This is a build configuration that just contains a list of languages.
#
# These are all the locales that have translations.
PRODUCT_LOCALES := \
        en_US \
        af_ZA \
        am_ET \
        ar_EG \
        ar_XB \
        as_IN \
        az_AZ \
        be_BY \
        bg_BG \
        bn_BD \
        bs_BA \
        ca_ES \
        cs_CZ \
        da_DK \
        de_DE \
        el_GR \
        en_AU \
        en_CA \
        en_GB \
        en_IN \
        en_XA \
        en_XC \
        es_ES \
        es_US \
        et_EE \
        eu_ES \
        fa_IR \
        fi_FI \
        fr_CA \
        fr_FR \
        gl_ES \
        gu_IN \
        hi_IN \
        hr_HR \
        hu_HU \
        hy_AM \
        in_ID \
        is_IS \
        it_IT \
        iw_IL \
        ja_JP \
        ka_GE \
        kk_KZ \
        km_KH \
        kn_IN \
        ko_KR \
        ky_KG \
        lo_LA \
        lt_LT \
        lv_LV \
        mk_MK \
        ml_IN \
        mn_MN \
        mr_IN \
        ms_MY \
        my_MM \
        nb_NO \
        ne_NP \
        nl_NL \
        or_IN \
        pa_IN \
        pl_PL \
        pt_BR \
        pt_PT \
        ro_RO \
        ru_RU \
        si_LK \
        sk_SK \
        sl_SI \
        sq_AL \
        sr_Latn_RS \
        sr_RS \
        sv_SE \
        sw_TZ \
        ta_IN \
        te_IN \
        th_TH \
        tl_PH \
        tr_TR \
        uk_UA \
        ur_PK \
        uz_UZ \
        vi_VN \
        zh_CN \
        zh_HK \
        zh_TW \
        zu_ZA
