Skip to content

Language

Choose your language

Switch to the same page in another language.

EnglishEnglishenAfrikaansAfrikaansafአማርኛAmharicamالعربيةArabicarঅসমীয়াAssameseasAzərbaycanAzerbaijaniazБашҡортBashkirbaБългарскиBulgarianbgभोजपुरीBhojpuribhoবাংলাBanglabnབོད་སྐད་Tibetanboबड़ोBodobrxBosanskiBosnianbsCatalàCatalancaČeštinaCzechcsCymraegWelshcyDanskDanishdaDeutschGermandeडोगरीDogridoiDolnoserbšćinaLower SorbiandsbދިވެހިބަސްDivehidvΕλληνικάGreekelEspañolSpanishesEestiEstonianetEuskaraBasqueeuفارسیPersianfaSuomiFinnishfiFilipinoFilipinofilVakavitiFijianfjFøroysktFaroesefoFrançaisFrenchfrFrançais (Canada)French (Canada)fr-CAGaeilgeIrishgaGalegoGalicianglकोंकणीKonkanigomગુજરાતીGujaratiguHausaHausahaעבריתHebrewheहिन्दीHindihiछत्तीसगढ़ीChhattisgarhihneHrvatskiCroatianhrHornjoserbsceUpper SorbianhsbHaitian CreoleHaitian CreolehtMagyarHungarianhuՀայերենArmenianhyIndonesiaIndonesianidÌgbòIgboigInuinnaqtunInuinnaqtuniktÍslenskaIcelandicisItalianoItalianitᐃᓄᒃᑎᑐᑦInuktitutiuInuktitut (Latin)Inuktitut (Latin)iu-Latn日本語JapanesejaქართულიGeorgiankaҚазақ ТіліKazakhkkខ្មែរKhmerkmKurmancîKurdish (Northern)kmrಕನ್ನಡKannadakn한국어KoreankoكٲشُرKashmiriksکوردیی ناوەندیKurdish (Central)kuКыргызчаKyrgyzkyLëtzebuergeschLuxembourgishlbLingálaLingalalnລາວLaoloLietuviųLithuanianltLugandaGandalugLatviešuLatvianlv中文 (文言文)Chinese (Literary)lzhमैथिलीMaithilimaiMalagasyMalagasymgTe Reo MāoriMāorimiМакедонскиMacedonianmkമലയാളംMalayalammlМонгол хэлMongolian (Cyrillic)mn-Cyrlᠮᠣᠩᠭᠣᠯ ᠬᠡᠯᠡMongolian (Traditional)mn-MongমৈতৈলোনManipurimniमराठीMarathimrMelayuMalaymsMaltiMaltesemtHmong DawHmong Dawmwwမြန်မာMyanmar (Burmese)myNorsk BokmålNorwegian BokmålnbनेपालीNepalineNederlandsDutchnlSesotho sa LeboaSesotho sa LeboansoChinyanjaChichewanyaଓଡ଼ିଆOdiaorHñähñuQuerétaro OtomiotqਪੰਜਾਬੀPunjabipaPolskiPolishplدریDariprsپښتوPashtopsPortuguês (Brasil)Portuguese (Brazil)ptPortuguês (Portugal)Portuguese (Portugal)pt-PTRomânăRomanianroРусскийRussianruIkirundiRundirunKinyarwandaKinyarwandarwسنڌيSindhisdසිංහලSinhalasiSlovenčinaSlovakskSlovenščinaSlovenianslGagana SāmoaSamoansmchiShonaShonasnSoomaaliSomalisoShqipAlbaniansqСрпски (ћирилица)Serbian (Cyrillic)sr-CyrlSrpski (latinica)Serbian (Latin)sr-LatnSesothoSesothostSvenskaSwedishsvKiswahiliSwahiliswதமிழ்TamiltaతెలుగుTeluguteไทยThaithትግርTigrinyatiTürkmen DiliTurkmentkLea fakatongaTongantoTürkçeTurkishtrТатарTatarttReo TahitiTahitiantyئۇيغۇرچەUyghurugУкраїнськаUkrainianukاردوUrduurUzbek (Latin)Uzbek (Latin)uzTiếng ViệtVietnameseviisiXhosaisiXhosaxhÈdè YorùbáYorubayoYucatec MayaYucatec Mayayua粵語Cantonese (Traditional)yue中文 (简体)Chinese Simplifiedzh-Hans中文 (繁體)Chinese Traditionalzh-HantisiZuluisiZuluzu

Reference

Supported file formats

Six round-trippable resource formats. The action reads each source-locale file, translates the values, and writes a sibling per target locale.

On this page

    All files use the Name.<sourceLocale>.<ext> naming convention.

    .resx

    Learn more

    XML-based .NET resource files. Translates the inner text of each <data><value> node, preserving comments and metadata.

    example.resx
    <?xml version="1.0" encoding="utf-8"?>
    <root>
    <data name="Greeting" xml:space="preserve">
    <value>Hello, world!</value>
    <comment>Shown on the home page</comment>
    </data>
    <data name="Goodbye" xml:space="preserve">
    <value>See you later</value>
    </data>
    </root>

    .xliff

    Learn more

    OASIS XLIFF 2.0 documents. Translates each <source> and writes the result into the corresponding <target>, setting trgLang for the locale.

    example.xliff
    <?xml version="1.0" encoding="utf-8"?>
    <xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0" srcLang="en">
    <file id="ui">
    <unit id="greeting">
    <segment>
    <source>Hello, world!</source>
    </segment>
    </unit>
    </file>
    </xliff>

    .po

    Learn more

    GNU gettext Portable Object files. Translates each msgid / msgid_plural into msgstr / msgstr[n] forms.

    example.po
    msgid ""
    msgstr ""
    "Content-Type: text/plain; charset=UTF-8\n"
    msgid "Hello, world!"
    msgstr ""
    msgid "%d apple"
    msgid_plural "%d apples"
    msgstr[0] ""
    msgstr[1] ""

    .json

    Learn more

    Arbitrary JSON files. Nested objects are flattened with the [--] delimiter for translation, then re-nested on output. Dotted keys ("unit.dotted.key") are preserved verbatim.

    example.json
    {
    "app": {
    "title": "Resource Translator",
    "tagline": "Localize your repo on every commit"
    },
    "buttons": {
    "save": "Save",
    "cancel": "Cancel"
    }
    }

    .ini

    Learn more

    Simple key=value files (Win32-style INI or any flat config). Section headers and comments are preserved.

    example.ini
    # Display strings
    [ui]
    greeting=Hello, world!
    goodbye=See you later
    [errors]
    not_found=The resource you requested was not found.

    .restext

    Learn more

    Microsoft MUI text resources — flat key=value pairs used as a textual companion to .resx.

    example.restext
    Greeting=Hello, world!
    Goodbye=See you later
    NotFound=The resource you requested was not found.

    Round-trip guarantees

    The test suite verifies byte-for-byte round-tripping for representative fixtures of every format. If a format quirk breaks round-tripping in your codebase, please open an issue with a minimal sample.