Global languages_mapping troubles

Hi there, I’m trying to figure out how to format my crowdin.yml file so that I can map individual files to all use the same languages mapping without copy pasting into each file declaration and bloating out the config.

I attempted to use something similar to this example configuration, so that each file could reference a global languages mapping, but it just outputs files with the default crowdin mapping.

I would prefer not to have to input file codes one by one into the Settings > Languages > Add custom language codes part of the project, as there are many languages and these mappings worked fine when set on each file individually.

If anyone knows how to fix the global languages_mapping so that each individual file can reference it, I’d be grateful.

Example crowdin.yml that does not map correctly

project_identifier: minecraft_translation_test
api_key_env: CROWDIN_API_KEY
commit_message: "[Translations]"
base_path: .
languages_mapping: &languages_mapping
  locale_with_underscore:
    af: af_za
    ar: ar_sa
    ast: ast_es
    az: az_az
    ba: ba_ru
    be: be_by
    bg: bg_bg
    br-FR: br_fr
    bs: bs_ba
    ca: ca_es
    cs: cs_cz
    cy: cy_gb
    da: da_dk
    de-AT: de_at
    de-CH: de_ch
    de: de_de
    el: el_gr
    en-AU: en_au
    en-CA: en_ca
    en-GB: en_gb
    en-NZ: en_nz
    en-PT: en_pt
    en-US: en_us
    en-ZA: en_za
    eo: eo_uy
    es-AR: es_ar
    es-CL: es_cl
    es-ES: es_es
    es-MX: es_mx
    es-UY: es_uy
    es-VE: es_ve
    et: et_ee
    eu: eu_es
    fa: fa_ir
    fi: fi_fi
    fil: fil_ph
    fo: fo_fo
    fr-CA: fr_ca
    fr: fr_fr
    fra-DE: fra_de
    fy-NL: fy_nl
    ga-IE: ga_ie
    gd: gd_gb
    gl: gl_es
    got: got_de
    gv: gv_im
    haw: haw_us
    he: he_il
    hi: hi_in
    hr: hr_hr
    hu: hu_hu
    hy-AM: hy_am
    id: id_id
    ig: ig_ng
    ido: io_en
    is: is_is
    it: it_it
    ja: ja_jp
    jbo: jbo_en
    ka: ka_ge
    kab: kab_kab
    kk: kk_kz
    kn: kn_in
    ko: ko_kr
    kw: kw_gb
    la-LA: la_va
    lb: lb_lu
    li: li_li
    lol: lol_us
    lt: lt_lt
    lv: lv_lv
    mi: mi_nz
    mk: mk_mk
    mn: mn_mn
    moh: moh_ca
    ms: ms_my
    mt: mt_mt
    nb: nb_no
    nds: nds_de
    nl-BE: nl_be
    nl: nl_nl
    nn-NO: nn_no
    oc: oc_fr
    oj: oj_ca
    pl: pl_pl
    pt-BR: pt_br
    pt-PT: pt_pt
    qya-AA: qya_aa
    ro: ro_ro
    ru: ru_ru
    sk: sk_sk
    sl: sl_si
    so: so_so
    sq: sq_al
    sr: sr_sp
    sr-CS: sr_cs
    sv-SE: sv_se
    ta: ta_in
    th: th_th
    tl: tl_ph
    tlh-AA: tlh_aa
    tr: tr_tr
    tt-RU: tt_ru
    tzl: tzl_tzl
    uk: uk_ua
    val-ES: val_es
    vec: vec_it
    vi: vi_vn
    yi: yi_de
    yo: yo_ng
    zh-CN: zh_cn
    zh-TW: zh_tw
    zh-HK: zh_hk
    fur-IT: fur_it
    ry: ry_ua
files:
  - source: /src/datagen/generated/modid/assets/modid/lang/en_us.json
    translation: /src/modid/resources/assets/modid/lang/%locale_with_underscore%.json
    languages_mapping: *languages_mapping
2 Likes

Hi @leafreynolds,

I understand you’re looking to set up a global language mapping in your crowdin.yml file without having to specify custom language codes for each file individually.

The structure of your crowdin.yml file seems correct at first glance. However, the issue might be with how the reference to the languages_mapping is being used. It should be globally defined and then referenced within each file’s configuration.

Please ensure that the indentation in your crowdin.yml file is consistent, as YAML files are sensitive to this. Each sub-level should be indented with two spaces more than its parent level.

If after checking the indentation the issue persists, we may need to look into this further. Could you please provide us with the exact error message or behavior you’re encountering? This will help us to diagnose the issue more effectively.

1 Like

Hi Natalia,

I am not sure what additional information I can provide, as my first post contains the example yaml that outputs the incorrect language mapping.

There was no error message, it just names the file es_ES.jsoninstead of es_es.json that I am expecting.

As far as I can tell in the yml file I provided above, all the indentation is correct.

Am I referencing the global languages_mapping correctly?

Hi @leafreynolds ,

Let me check everything and get back to you with an update

1 Like

Hi there, any updates available? :slight_smile:

Hi @leafreynolds , we’re still checking everything :wink:

1 Like

Hi Natalia,

Do we have a rough estimate of when we can expect an answer? :slightly_smiling_face:

Hello @leafreynolds

Sorry for the delay. We’re doing all that is possible (and even a little more) to speed up the investigation process. We’ll update you as soon as there is any news on the matter.

Hello @leafreynolds,

Please accept my apologies for the late reply. I have checked everything with our developers, and unfortunately, currently, there is no possibility to set the global languages_mapping parameter in the configuration file. Here is the documentation from our side:

In this case, there are only 2 options: either set the langauges_mapping parameter for each file separately or use the Language Mapping feature in the UI so that it could be applied to all files at once.

Hope for your understanding!