1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/>
1<script type="application/ld+json" data-next-head="">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","item":"https://help.transifex.com/en/","name":"All Collections","position":1},{"@type":"ListItem","item":"https://help.transifex.com/en/collections/3289710-integrations","name":"Integrations","position":2},{"@type":"ListItem","item":"https://help.transifex.com/en/collections/3452928-development","name":"Development","position":3},{"@type":"ListItem","item":"https://help.transifex.com/en/collections/5049978-github","name":"GitHub","position":4},{"@type":"ListItem","name":"GitHub: Installation and configuration","position":5}]}</script>
1<script type="application/ld+json" data-next-head="">{"@context":"https://schema.org","@type":"Article","description":"Effortlessly integrate GitHub with Transifex: Follow our guide for seamless installation, configuration, and linking.","headline":"GitHub: Installation and configuration","inLanguage":"en","publisher":{"@type":"Organization","name":"Transifex Help Center"},"url":"https://help.transifex.com/en/articles/6265125-github-installation-and-configuration","author":{"@type":"Person","name":"Transifex"},"dateModified":"2026-01-07T13:09:13Z"}</script>
1<title data-next-head="">GitHub: Installation and configuration | Transifex Help Center</title><meta property="og:title" content="GitHub: Installation and configuration | Transifex Help Center" data-next-head=""/><meta name="twitter:title" content="GitHub: Installation and configuration | Transifex Help Center" data-next-head=""/><meta property="og:description" content="Effortlessly integrate GitHub with Transifex: Follow our guide for seamless installation, configuration, and linking." data-next-head=""/><meta name="twitter:description" content="Effortlessly integrate GitHub with Transifex: Follow our guide for seamless installation, configuration, and linking." data-next-head=""/><meta name="description" content="Effortlessly integrate GitHub with Transifex: Follow our guide for seamless installation, configuration, and linking." data-next-head=""/><meta property="og:type" content="article" data-next-head=""/><meta name="twitter:card" content="summary" data-next-head=""/><meta property="og:image" content="https://intercom.help/transifex-5fd946e1bcf6/assets/favicon" data-next-head=""/><meta property="twitter:image" content="https://intercom.help/transifex-5fd946e1bcf6/assets/favicon" data-next-head=""/><meta name="robots" content="all" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1" data-next-head=""/><link href="https://intercom.help/transifex-5fd946e1bcf6/assets/favicon" rel="icon" data-next-head=""/><link href="https://intercom.help/transifex-5fd946e1bcf6/assets/favicon" rel="apple-touch-icon" data-next-head=""/><link rel="canonical" href="https://help.transifex.com/en/articles/6265125-github-installation-and-configuration" data-next-head=""/><link rel="alternate" href="https://help.transifex.com/en/articles/6265125-github-installation-and-configuration" hrefLang="en" data-next-head=""/><link rel="alternate" href="https://help.transifex.com/en/articles/6265125-github-installation-and-configuration" hrefLang="x-default" data-next-head=""/><link nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" rel="preload" href="https://static.intercomassets.com/_next/static/css/d3a0399210891b8e.css" as="style"/><link nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" rel="stylesheet" href="https://static.intercomassets.com/_next/static/css/d3a0399210891b8e.css" data-n-g=""/><link nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" rel="preload" href="https://static.intercomassets.com/_next/static/css/aca6b59773c71079.css" as="style"/><link nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" rel="stylesheet" href="https://static.intercomassets.com/_next/static/css/aca6b59773c71079.css" data-n-p=""/><link nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" rel="preload" href="https://static.intercomassets.com/_next/static/css/b6200d0221da3810.css" as="style"/><link nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" rel="stylesheet" href="https://static.intercomassets.com/_next/static/css/b6200d0221da3810.css"/><noscript data-n-css="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc"></noscript>
1<script defer="" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" nomodule="" src="https://static.intercomassets.com/_next/static/chunks/polyfills-42372ed130431b0a.js"></script>
1<script defer="" src="https://static.intercomassets.com/_next/static/chunks/7104.bd5da1bbb732bd26.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc"></script>
1<script src="https://static.intercomassets.com/_next/static/chunks/webpack-cb079f0bdad69b7e.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<script src="https://static.intercomassets.com/_next/static/chunks/framework-8e9d780cbd88d830.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<script src="https://static.intercomassets.com/_next/static/chunks/main-daa18889b82d3758.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<script src="https://static.intercomassets.com/_next/static/chunks/pages/_app-fe20befdd4e075f4.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<script src="https://static.intercomassets.com/_next/static/chunks/f811df73-dd10d7791c916a4a.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<script src="https://static.intercomassets.com/_next/static/chunks/5965-6d1fba3e86853c1a.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<script src="https://static.intercomassets.com/_next/static/chunks/4125-651d0dcc5b1271f5.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<script src="https://static.intercomassets.com/_next/static/chunks/4020-9f8190f26a588abc.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<script src="https://static.intercomassets.com/_next/static/chunks/810-bf86965d9cb50c22.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<script src="https://static.intercomassets.com/_next/static/chunks/1818-c9f0b6f8673be73d.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<script src="https://static.intercomassets.com/_next/static/chunks/8659-de3d9ef33ee8b5ef.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<script src="https://static.intercomassets.com/_next/static/chunks/pages/%5BhelpCenterIdentifier%5D/%5Blocale%5D/articles/%5BarticleSlug%5D-43cc604c09e4ea3e.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<script src="https://static.intercomassets.com/_next/static/2fQCaQ-WoWwMA8cJXDB8C/_buildManifest.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<script src="https://static.intercomassets.com/_next/static/2fQCaQ-WoWwMA8cJXDB8C/_ssgManifest.js" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc" defer=""></script>
1<style id="__jsx-3496095341">:root{--body-bg: rgb(255, 255, 255); 2--body-image: none; 3--body-bg-rgb: 255, 255, 255; 4--body-border: rgb(230, 230, 230); 5--body-primary-color: #1a1a1a; 6--body-secondary-color: #595959; 7--body-reaction-bg: rgb(242, 242, 242); 8--body-reaction-text-color: rgb(89, 89, 89); 9--body-toc-active-border: #737373; 10--body-toc-inactive-border: #f2f2f2; 11--body-toc-inactive-color: #595959; 12--body-toc-active-font-weight: 400; 13--body-table-border: rgb(204, 204, 204); 14--body-color: hsl(0, 0%, 0%); 15--footer-bg: rgb(70, 60, 255); 16--footer-image: none; 17--footer-border: rgb(118, 111, 255); 18--footer-color: hsl(0, 0%, 96%); 19--header-bg: none; 20--header-image: linear-gradient(to bottom right, #5449FF,#463CFF,#352B90); 21--header-color: hsl(0, 0%, 100%); 22--collection-card-bg: rgb(70, 60, 255); 23--collection-card-image: none; 24--collection-card-color: hsl(0, 0%, 96%); 25--card-bg: rgb(255, 255, 255); 26--card-border-color: rgba(26, 26, 26, 0.15); 27--card-border-inner-radius: 8px; 28--card-border-radius: 10px; 29--card-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); 30--search-bar-border-radius: 10px; 31--search-bar-width: 100%; 32--ticket-blue-bg-color: #dce1f9; 33--ticket-blue-text-color: #334bfa; 34--ticket-green-bg-color: #d7efdc; 35--ticket-green-text-color: #0f7134; 36--ticket-orange-bg-color: #ffebdb; 37--ticket-orange-text-color: #b24d00; 38--ticket-red-bg-color: #ffdbdb; 39--ticket-red-text-color: #df2020; 40--header-height: 245px; 41--header-subheader-background-color: #000000; 42--header-subheader-font-color: #FFFFFF; 43--content-block-bg: rgb(255, 255, 255); 44--content-block-image: none; 45--content-block-color: hsl(0, 0%, 10%); 46--content-block-button-bg: rgb(51, 75, 250); 47--content-block-button-image: none; 48--content-block-button-color: hsl(0, 0%, 100%); 49--content-block-button-radius: 6px; 50--content-block-margin: 0; 51--content-block-width: auto; 52--primary-color: hsl(243, 100%, 62%); 53--primary-color-alpha-10: hsla(243, 100%, 62%, 0.1); 54--primary-color-alpha-60: hsla(243, 100%, 62%, 0.6); 55--text-on-primary-color: #ffffff}</style><style id="__jsx-1101432299">:root{--font-family-primary: 'Inter', 'Inter Fallback'}</style><style id="__jsx-3851862173">:root{--font-family-secondary: 'Inter', 'Inter Fallback'}</style><style id="__jsx-cf6f0ea00fa5c760">.fade-background.jsx-cf6f0ea00fa5c760{background:radial-gradient(333.38%100%at 50%0%,rgba(var(--body-bg-rgb),0)0%,rgba(var(--body-bg-rgb),.00925356)11.67%,rgba(var(--body-bg-rgb),.0337355)21.17%,rgba(var(--body-bg-rgb),.0718242)28.85%,rgba(var(--body-bg-rgb),.121898)35.03%,rgba(var(--body-bg-rgb),.182336)40.05%,rgba(var(--body-bg-rgb),.251516)44.25%,rgba(var(--body-bg-rgb),.327818)47.96%,rgba(var(--body-bg-rgb),.409618)51.51%,rgba(var(--body-bg-rgb),.495297)55.23%,rgba(var(--body-bg-rgb),.583232)59.47%,rgba(var(--body-bg-rgb),.671801)64.55%,rgba(var(--body-bg-rgb),.759385)70.81%,rgba(var(--body-bg-rgb),.84436)78.58%,rgba(var(--body-bg-rgb),.9551)88.2%,rgba(var(--body-bg-rgb),1)100%),var(--header-image),var(--header-bg);background-size:cover;background-position-x:center}</style><style id="__jsx-27f84a20f81f6ce9">.table-of-contents::-webkit-scrollbar{width:8px}.table-of-contents::-webkit-scrollbar-thumb{background-color:#f2f2f2;border-radius:8px}</style><style id="__jsx-62724fba150252e0">.related_articles section a{color:initial}</style><style id="__jsx-7b3ac4f8d5337043">.article_body a:not(.intercom-h2b-button){color:var(--primary-color)}article a.intercom-h2b-button{background-color:var(--primary-color);border:0}.zendesk-article table{overflow-x:scroll!important;display:block!important;height:auto!important}.intercom-interblocks-unordered-nested-list ul,.intercom-interblocks-ordered-nested-list ol{margin-top:16px;margin-bottom:16px}.intercom-interblocks-unordered-nested-list ul .intercom-interblocks-unordered-nested-list ul,.intercom-interblocks-unordered-nested-list ul .intercom-interblocks-ordered-nested-list ol,.intercom-interblocks-ordered-nested-list ol .intercom-interblocks-ordered-nested-list ol,.intercom-interblocks-ordered-nested-list ol .intercom-interblocks-unordered-nested-list ul{margin-top:0;margin-bottom:0}.intercom-interblocks-image a:focus{outline-offset:3px}</style><style id="__jsx-33b64116cd598d32">.table_of_contents.jsx-33b64116cd598d32{max-width:260px;min-width:260px}</style></head><body><div id="__next"><div dir="ltr" class="h-full w-full"><span class="hidden">Copyright (c) 2023, Intercom, Inc. ([email protected]) with Reserved Font Name "Inter".
56 This Font Software is licensed under the SIL Open Font License, Version 1.1.</span><span class="hidden">Copyright (c) 2023, Intercom, Inc. ([email protected]) with Reserved Font Name "Inter". 57 This Font Software is licensed under the SIL Open Font License, Version 1.1.</span><a href="#main-content" class="sr-only font-bold text-header-color focus:not-sr-only focus:absolute focus:left-4 focus:top-4 focus:z-50">Skip to main content</a><main class="header__lite"><header id="header" data-testid="header" class="jsx-cf6f0ea00fa5c760 flex flex-col text-header-color"><div class="jsx-cf6f0ea00fa5c760 relative flex grow flex-col mb-9 bg-header-bg bg-header-image bg-cover bg-center pb-9"><div id="sr-announcement" aria-live="polite" class="jsx-cf6f0ea00fa5c760 sr-only"></div><div class="jsx-cf6f0ea00fa5c760 flex h-full flex-col items-center marker:shrink-0"><section class="relative flex w-full flex-col mb-6 pb-6"><div class="header__meta_wrapper flex justify-center px-5 pt-6 leading-none sm:px-10"><div class="flex items-center w-240" data-testid="subheader-container"><div class="mo__body header__site_name"><div class="header__logo"><a href="/en/"><img src="https://downloads.intercomcdn.com/i/o/t2pn256z/705280/63ab82bf28ff5c80a2db62fb37e9/fddbc3827873a807cabddad3ae6fcb14.png" height="476" alt="Transifex Help Center"/></a></div></div><div><div class="flex items-center font-semibold"><div class="flex items-center md:hidden" data-testid="small-screen-children"><button class="flex items-center border-none bg-transparent px-1.5" data-testid="hamburger-menu-button" aria-label="Open menu"><svg width="24" height="24" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" class="fill-current"><path d="M1.86861 2C1.38889 2 1 2.3806 1 2.85008C1 3.31957 1.38889 3.70017 1.86861 3.70017H14.1314C14.6111 3.70017 15 3.31957 15 2.85008C15 2.3806 14.6111 2 14.1314 2H1.86861Z"></path><path d="M1 8C1 7.53051 1.38889 7.14992 1.86861 7.14992H14.1314C14.6111 7.14992 15 7.53051 15 8C15 8.46949 14.6111 8.85008 14.1314 8.85008H1.86861C1.38889 8.85008 1 8.46949 1 8Z"></path><path d="M1 13.1499C1 12.6804 1.38889 12.2998 1.86861 12.2998H14.1314C14.6111 12.2998 15 12.6804 15 13.1499C15 13.6194 14.6111 14 14.1314 14H1.86861C1.38889 14 1 13.6194 1 13.1499Z"></path></svg></button><div class="fixed right-0 top-0 z-50 h-full w-full hidden" data-testid="hamburger-menu"><div class="flex h-full w-full justify-end bg-black bg-opacity-30"><div class="flex h-fit w-full flex-col bg-white opacity-100 sm:h-full sm:w-1/2"><button class="text-body-font flex items-center self-end border-none bg-transparent pr-6 pt-6" data-testid="hamburger-menu-close-button" aria-label="Close menu"><svg width="24" height="24" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M3.5097 3.5097C3.84165 3.17776 4.37984 3.17776 4.71178 3.5097L7.99983 6.79775L11.2879 3.5097C11.6198 3.17776 12.158 3.17776 12.49 3.5097C12.8219 3.84165 12.8219 4.37984 12.49 4.71178L9.20191 7.99983L12.49 11.2879C12.8219 11.6198 12.8219 12.158 12.49 12.49C12.158 12.8219 11.6198 12.8219 11.2879 12.49L7.99983 9.20191L4.71178 12.49C4.37984 12.8219 3.84165 12.8219 3.5097 12.49C3.17776 12.158 3.17776 11.6198 3.5097 11.2879L6.79775 7.99983L3.5097 4.71178C3.17776 4.37984 3.17776 3.84165 3.5097 3.5097Z"></path></svg></button><nav class="flex flex-col pl-4 text-black"><a target="_blank" rel="noopener noreferrer" href="https://developers.transifex.com/" class="mx-5 mb-5 text-md no-underline hover:opacity-80 md:mx-3 md:my-0 md:text-base" data-testid="header-link-0">Developer Hub</a><a target="_blank" rel="noopener noreferrer" href="https://community.transifex.com/" class="mx-5 mb-5 text-md no-underline hover:opacity-80 md:mx-3 md:my-0 md:text-base" data-testid="header-link-1">Community</a></nav></div></div></div></div><nav class="hidden items-center md:flex" data-testid="large-screen-children"><a target="_blank" rel="noopener noreferrer" href="https://developers.transifex.com/" class="mx-5 mb-5 text-md no-underline hover:opacity-80 md:mx-3 md:my-0 md:text-base" data-testid="header-link-0">Developer Hub</a><a target="_blank" rel="noopener noreferrer" href="https://community.transifex.com/" class="mx-5 mb-5 text-md no-underline hover:opacity-80 md:mx-3 md:my-0 md:text-base" data-testid="header-link-1">Community</a></nav></div></div></div></div></section><section class="relative mx-5 flex h-full w-full flex-col items-center px-5 sm:px-10"><div class="flex h-full max-w-full flex-col w-240 justify-end" data-testid="main-header-container"><div id="search-bar" class="relative w-full"><form action="/en/" autoComplete="off"><div class="flex w-full flex-col items-start"><div class="relative flex w-full sm:w-search-bar"><label for="search-input" class="sr-only">Search for articles...</label><input id="search-input" type="text" autoComplete="off" class="peer w-full rounded-search-bar border border-black-alpha-8 bg-white-alpha-20 p-4 ps-12 font-secondary text-lg text-header-color shadow-search-bar outline-none transition ease-linear placeholder:text-header-color hover:bg-white-alpha-27 hover:shadow-search-bar-hover focus:border-transparent focus:bg-white focus:text-black-10 focus:shadow-search-bar-focused placeholder:focus:text-black-45" placeholder="Search for articles..." name="q" aria-label="Search for articles..." value=""/><div class="absolute inset-y-0 start-0 flex items-center fill-header-color peer-focus-visible:fill-black-45 pointer-events-none ps-5"><svg width="22" height="21" viewBox="0 0 22 21" xmlns="http://www.w3.org/2000/svg" class="fill-inherit" aria-hidden="true"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.27485 8.7001C3.27485 5.42781 5.92757 2.7751 9.19985 2.7751C12.4721 2.7751 15.1249 5.42781 15.1249 8.7001C15.1249 11.9724 12.4721 14.6251 9.19985 14.6251C5.92757 14.6251 3.27485 11.9724 3.27485 8.7001ZM9.19985 0.225098C4.51924 0.225098 0.724854 4.01948 0.724854 8.7001C0.724854 13.3807 4.51924 17.1751 9.19985 17.1751C11.0802 17.1751 12.8176 16.5627 14.2234 15.5265L19.0981 20.4013C19.5961 20.8992 20.4033 20.8992 20.9013 20.4013C21.3992 19.9033 21.3992 19.0961 20.9013 18.5981L16.0264 13.7233C17.0625 12.3176 17.6749 10.5804 17.6749 8.7001C17.6749 4.01948 13.8805 0.225098 9.19985 0.225098Z"></path></svg></div></div></div></form></div></div></section></div></div></header><div class="z-1 flex shrink-0 grow basis-auto justify-center px-5 sm:px-10">
57<section data-testid="main-content" id="main-content" class="max-w-full w-240"><section data-testid="article-section" class="section section__article"><div class="justify-between flex"><div class="relative z-3 w-full lg:max-w-160 "><div class="flex pb-6 max-md:pb-2 lg:max-w-160"><div tabindex="-1" class="focus:outline-none"><nav class="pb-4 text-base" aria-label="Breadcrumb"><ol class="m-0 flex list-none flex-wrap items-baseline p-0"><li class="contents"><a href="/en/" class="pr-2 text-body-primary-color no-underline hover:text-body-secondary-color">All Collections</a><div class="pr-2" aria-hidden="true"><svg width="6" height="10" viewBox="0 0 6 10" class="block h-2 w-2 fill-body-secondary-color rtl:rotate-180" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M0.648862 0.898862C0.316916 1.23081 0.316916 1.769 0.648862 2.10094L3.54782 4.9999L0.648862 7.89886C0.316916 8.23081 0.316917 8.769 0.648862 9.10094C0.980808 9.43289 1.519 9.43289 1.85094 9.10094L5.35094 5.60094C5.68289 5.269 5.68289 4.73081 5.35094 4.39886L1.85094 0.898862C1.519 0.566916 0.980807 0.566916 0.648862 0.898862Z"></path></svg></div></li><li class="contents"><a href="https://help.transifex.com/en/collections/3289710-integrations" class="pr-2 text-body-primary-color no-underline hover:text-body-secondary-color" data-testid="breadcrumb-0">Integrations</a><div class="pr-2" aria-hidden="true"><svg width="6" height="10" viewBox="0 0 6 10" class="block h-2 w-2 fill-body-secondary-color rtl:rotate-180" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M0.648862 0.898862C0.316916 1.23081 0.316916 1.769 0.648862 2.10094L3.54782 4.9999L0.648862 7.89886C0.316916 8.23081 0.316917 8.769 0.648862 9.10094C0.980808 9.43289 1.519 9.43289 1.85094 9.10094L5.35094 5.60094C5.68289 5.269 5.68289 4.73081 5.35094 4.39886L1.85094 0.898862C1.519 0.566916 0.980807 0.566916 0.648862 0.898862Z"></path></svg></div></li><li class="contents"><a href="https://help.transifex.com/en/collections/3452928-development" class="pr-2 text-body-primary-color no-underline hover:text-body-secondary-color" data-testid="breadcrumb-1">Development</a><div class="pr-2" aria-hidden="true"><svg width="6" height="10" viewBox="0 0 6 10" class="block h-2 w-2 fill-body-secondary-color rtl:rotate-180" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M0.648862 0.898862C0.316916 1.23081 0.316916 1.769 0.648862 2.10094L3.54782 4.9999L0.648862 7.89886C0.316916 8.23081 0.316917 8.769 0.648862 9.10094C0.980808 9.43289 1.519 9.43289 1.85094 9.10094L5.35094 5.60094C5.68289 5.269 5.68289 4.73081 5.35094 4.39886L1.85094 0.898862C1.519 0.566916 0.980807 0.566916 0.648862 0.898862Z"></path></svg></div></li><li class="contents"><a href="https://help.transifex.com/en/collections/5049978-github" class="pr-2 text-body-primary-color no-underline hover:text-body-secondary-color" data-testid="breadcrumb-2">GitHub</a><div class="pr-2" aria-hidden="true"><svg width="6" height="10" viewBox="0 0 6 10" class="block h-2 w-2 fill-body-secondary-color rtl:rotate-180" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M0.648862 0.898862C0.316916 1.23081 0.316916 1.769 0.648862 2.10094L3.54782 4.9999L0.648862 7.89886C0.316916 8.23081 0.316917 8.769 0.648862 9.10094C0.980808 9.43289 1.519 9.43289 1.85094 9.10094L5.35094 5.60094C5.68289 5.269 5.68289 4.73081 5.35094 4.39886L1.85094 0.898862C1.519 0.566916 0.980807 0.566916 0.648862 0.898862Z"></path></svg></div></li><li aria-current="page" class="text-body-secondary-color">GitHub: Installation and configuration</li></ol></nav></div></div><div class=""><div class="article intercom-force-break"><div class="mb-10 max-lg:mb-6"><div class="flex flex-col gap-4"><div class="flex flex-col"><h1 class="mb-1 font-primary text-2xl font-bold leading-10 text-body-primary-color">GitHub: Installation and configuration</h1><div class="text-md font-normal leading-normal text-body-secondary-color"><p>Effortlessly integrate GitHub with Transifex: Follow our guide for seamless installation, configuration, and linking.</p></div></div><div class="avatar"><div class="avatar__photo"><span aria-hidden="true" class="inline-flex items-center justify-center rounded-full bg-primary text-lg font-bold leading-6 text-primary-text shadow-solid-2 shadow-body-bg [&:nth-child(n+2)]:hidden lg:[&:nth-child(n+2)]:inline-flex h-8 w-8 sm:h-9 sm:w-9 bg-cover bg-center" style="background-image:url("https://static.intercomassets.com/avatars/5391157/square_128/Asset_5_2x-1712933270.png")"></span></div><div class="avatar__info -mt-0.5 text-base"><span class="text-body-secondary-color"><div>Written by <span>Transifex</span></div> <time dateTime="2026-01-07T13:09:13Z" title="Updated over 9 months ago">January 7, 2026</time></span></div></div></div></div><div class="flex-col"><div class="mb-7 ml-0 text-md max-messenger:mb-6 lg:hidden"><div class="jsx-27f84a20f81f6ce9 table-of-contents max-h-[calc(100vh-96px)] overflow-y-auto rounded-2xl text-body-primary-color hover:text-primary max-lg:border max-lg:border-solid max-lg:border-body-border max-lg:shadow-solid-1"><div data-testid="toc-dropdown" class="jsx-27f84a20f81f6ce9 hidden cursor-pointer justify-between border-b max-lg:flex max-lg:flex-row max-lg:border-x-0 max-lg:border-t-0 max-lg:border-solid max-lg:border-b-body-border border-b-0"><div class="jsx-27f84a20f81f6ce9 my-2 max-lg:pl-4">Table of contents</div><div class="jsx-27f84a20f81f6ce9 "><svg class="ml-2 mr-4 mt-3 transition-transform" transform="" width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.93353 5.93451C4.24595 5.62209 4.75248 5.62209 5.0649 5.93451L7.99922 8.86882L10.9335 5.93451C11.246 5.62209 11.7525 5.62209 12.0649 5.93451C12.3773 6.24693 12.3773 6.75346 12.0649 7.06588L8.5649 10.5659C8.25249 10.8783 7.74595 10.8783 7.43353 10.5659L3.93353 7.06588C3.62111 6.75346 3.62111 6.24693 3.93353 5.93451Z" fill="currentColor"></path></svg></div></div><div data-testid="toc-body" class="jsx-27f84a20f81f6ce9 hidden my-2"><section data-testid="toc-section-0" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none border-body-toc-active-border px-4"><a id="#h_8e88951111" href="#h_8e88951111" data-testid="toc-link-0" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base font-toc-active text-body-primary-color"></a></section><section data-testid="toc-section-1" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-4"><a id="#h_de29ef5cec" href="#h_de29ef5cec" data-testid="toc-link-1" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-2" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_309df8e15f" href="#h_309df8e15f" data-testid="toc-link-2" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-3" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_0a7ce84282" href="#h_0a7ce84282" data-testid="toc-link-3" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-4" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_23e0f97d5b" href="#h_23e0f97d5b" data-testid="toc-link-4" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-5" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-4"><a id="#h_a734c3e219" href="#h_a734c3e219" data-testid="toc-link-5" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-6" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_0c8c48b4ef" href="#h_0c8c48b4ef" data-testid="toc-link-6" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-7" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_be807fb197" href="#h_be807fb197" data-testid="toc-link-7" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-8" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_41869e3c8f" href="#h_41869e3c8f" data-testid="toc-link-8" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-9" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_0f5cbcc29e" href="#h_0f5cbcc29e" data-testid="toc-link-9" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-10" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-4"><a id="#h_94380d9cd8" href="#h_94380d9cd8" data-testid="toc-link-10" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-11" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-4"><a id="#h_b827747da8" href="#h_b827747da8" data-testid="toc-link-11" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section></div></div></div><div class="jsx-7b3ac4f8d5337043 article_body"><article class="jsx-7b3ac4f8d5337043 "><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>You can effortlessly update resources on GitHub without coding by just pointing and clicking. Through Transifex GitHub integration, you can link a localization project in Transifex to a designated GitHub repository using <b>only the Transifex user interface</b>
57.</p></div><div class="intercom-interblocks-callout" style="background-color:#e3e7fa80;border-color:#334bfa33"><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>ð¡Tip: </b>Use our traditional GitHub integration tools described <a href="https://help.transifex.com/en/articles/6266051-using-transifex-with-github-in-your-development-workflow">here</a> to communicate with GitHub Enterprise. In this manner, access is not given to an external service for something so important internally.</p></div></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-horizontal-rule"><hr/></div><div class="intercom-interblocks-heading intercom-interblocks-align-left"><h1 id="h_8e88951111">Installing the GitHub Integration in a Specific Project</h1></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>To install the standalone integration that connects Transifex and GitHub, you need to perform the following steps:</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Go to your project Settings > Integrations > GitHub > Install</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-center"><a href="https://downloads.intercomcdn.com/i/o/990947152/d96e4faddbb7590cf62072ea/install+github.png?expires=1790843400&signature=505d8b2f4057abc6990c2bb82cf409acd15e6e2ee0116fcc87f06102b1ea000e&req=fSknH815nIRdFb4f3HP0gJ2Da6SNt54qokv85SZx0COazTJ2TWTBa9darLNY%0AL00%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990947152/d96e4faddbb7590cf62072ea/install+github.png?expires=1790843400&signature=505d8b2f4057abc6990c2bb82cf409acd15e6e2ee0116fcc87f06102b1ea000e&req=fSknH815nIRdFb4f3HP0gJ2Da6SNt54qokv85SZx0COazTJ2TWTBa9darLNY%0AL00%3D%0A" alt="" width="921" height="563"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>You will be redirected to the integrationâs authorization page, where: </p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>First, it is necessary to grant permission for the integration to perform modifications in Transifex on your behalf.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990947943/e8f48c6c8e6200e27cbe8394/autorize.png?expires=1790843400&signature=ab55b77579b66e56c471adf902c36abda4d80370a4a891a14526be3071b2cc94&req=fSknH815lIVcFb4f3HP0gF7PVsQOvkFuJsSuz3gv3qJZLliZ40euYufGrOzG%0ADKc%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990947943/e8f48c6c8e6200e27cbe8394/autorize.png?expires=1790843400&signature=ab55b77579b66e56c471adf902c36abda4d80370a4a891a14526be3071b2cc94&req=fSknH815lIVcFb4f3HP0gF7PVsQOvkFuJsSuz3gv3qJZLliZ40euYufGrOzG%0ADKc%3D%0A" alt="" width="573" height="554"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Next, you'll need to authorize the integration in your GitHub account. To do this, select the Authorize button and log into your GitHub account (if you haven't already done so).</p></div></li></ul></div></li></ul></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990948554/142c7ddefa3a0a907fe65066/Screenshot+2024-03-13+at+17_45_14.png?expires=1790843400&signature=32321db2c21e8dde6743f0d258ba0028b0869026f7a9419df22098501014d1cd&req=fSknH812mIRbFb4f3HP0gLe%2F%2F2o6319X3gtV53awBfUU1dRe48n9c2%2F13OeO%0A6G82TrJuAe7nRi0WFw%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990948554/142c7ddefa3a0a907fe65066/Screenshot+2024-03-13+at+17_45_14.png?expires=1790843400&signature=32321db2c21e8dde6743f0d258ba0028b0869026f7a9419df22098501014d1cd&req=fSknH812mIRbFb4f3HP0gLe%2F%2F2o6319X3gtV53awBfUU1dRe48n9c2%2F13OeO%0A6G82TrJuAe7nRi0WFw%3D%3D%0A" alt="" width="968" height="281"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-center"><a href="https://downloads.intercomcdn.com/i/o/990948567/c7d2d9e44866e713437f068d/Screenshot+2024-03-13+at+17_45_45.png?expires=1790843400&signature=3ff9d70645fb42118633d64234b2f1b370362c9ff75cecbe6c1aabb10417c87d&req=fSknH812mIdYFb4f3HP0gFrJyb2Sx4oT7jadMRzoCLtTGipgxtwhvzbYQFrj%0AZ3w3qI8qY8xgai9t1g%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990948567/c7d2d9e44866e713437f068d/Screenshot+2024-03-13+at+17_45_45.png?expires=1790843400&signature=3ff9d70645fb42118633d64234b2f1b370362c9ff75cecbe6c1aabb10417c87d&req=fSknH812mIdYFb4f3HP0gFrJyb2Sx4oT7jadMRzoCLtTGipgxtwhvzbYQFrj%0AZ3w3qI8qY8xgai9t1g%3D%3D%0A" alt="" width="398" height="463"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Available installations will be listed next. To configure your GitHub applications, visit your GitHub settings page using the link available on the page below:</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/673617874/d0bd0c2149ecb295d35ba69f/Screenshot+2023-02-16+at+12.20.51+PM.png?expires=1790843400&signature=7acd1c46609f090befec2f94bdb78af9018173cd01c0f1c9b1d4ac66c4d79f2f&req=cickEMh5lYZbFb4f3HP0gCMYIlfS66vZQ%2FJ89lgbd8M2jWBsiPBeB8aOO44Y%0Aj%2B0%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/673617874/d0bd0c2149ecb295d35ba69f/Screenshot+2023-02-16+at+12.20.51+PM.png?expires=1790843400&signature=7acd1c46609f090befec2f94bdb78af9018173cd01c0f1c9b1d4ac66c4d79f2f&req=cickEMh5lYZbFb4f3HP0gCMYIlfS66vZQ%2FJ89lgbd8M2jWBsiPBeB8aOO44Y%0Aj%2B0%3D%0A" alt=""/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Click Configure once you are redirected to your GitHub account.</p></div></li></ul></div><div class="intercom-interblocks-image intercom-interblocks-align-center"><a href="https://downloads.intercomcdn.com/i/o/990949033/6b4a5497d2972a3083da6962/Screenshot+2024-03-13+at+17_46_57.png?expires=1790843400&signature=65e1b006e7cce0ec2c9c3938ecb7911936166426048a8e3b165cbdf752cb7789&req=fSknH813nYJcFb4f3HP0gL0vm7QjvYC6GNCwXsYSy6oHfgq1WtR0F8yO3jsv%0A%2FBVUOfpUwLPGr2DfRQ%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990949033/6b4a5497d2972a3083da6962/Screenshot+2024-03-13+at+17_46_57.png?expires=1790843400&signature=65e1b006e7cce0ec2c9c3938ecb7911936166426048a8e3b165cbdf752cb7789&req=fSknH813nYJcFb4f3HP0gL0vm7QjvYC6GNCwXsYSy6oHfgq1WtR0F8yO3jsv%0A%2FBVUOfpUwLPGr2DfRQ%3D%3D%0A" alt="" width="1036" height="570"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Next, select where you want to install the Transifex integration and choose one or multiple repositories to be accessible in Transifex. The owner (a
57dmin) of the account must perform the authentication and repository selection on GitHub. You can choose from the following two alternatives:</p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>All repositories</b>. This option lets you link all present and future repositories to your TX project. You can link each repository to a different project in Transifex.</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>Only select repositories</b>. This option allows you to choose specific repositories to be synced with your TX project(s).</p></div></li></ul></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li></ul></div><div class="intercom-interblocks-image intercom-interblocks-align-center"><a href="https://downloads.intercomcdn.com/i/o/990949374/4afa3b3303fec8c38c905c79/Screenshot+2024-03-13+at+17_47_39.png?expires=1790843400&signature=fee30af7c587b143a0654fc99edbb356f8ffa7905cf76eaa7ec8762661f224f5&req=fSknH813noZbFb4f3HP0gDX6Jdx4AS19Q6x4ogl6h20gd8RW2mhIbTBzlvX5%0A2Iy57%2BZozHZ%2BGAXU9Q%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990949374/4afa3b3303fec8c38c905c79/Screenshot+2024-03-13+at+17_47_39.png?expires=1790843400&signature=fee30af7c587b143a0654fc99edbb356f8ffa7905cf76eaa7ec8762661f224f5&req=fSknH813noZbFb4f3HP0gDX6Jdx4AS19Q6x4ogl6h20gd8RW2mhIbTBzlvX5%0A2Iy57%2BZozHZ%2BGAXU9Q%3D%3D%0A" alt="" width="555" height="648"/></a></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Once you click Install, you will be redirected back to the GitHub integrationâs UI. At this point, you can authorize the GitHub integration to access your GitHub account.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990949772/6a763b11cedc779b144dd13e/Screenshot+2024-03-13+at+17_48_36.png?expires=1790843400&signature=05137ca07c28fbbda7677eab2fa71f4e9d805aa3a15bf38623699ecb31fde4f8&req=fSknH813moZdFb4f3HP0gFp9y89nk1EkIZr8l8wTAfH%2F2ZVd9sl8aKpGN0PH%0ALlc%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990949772/6a763b11cedc779b144dd13e/Screenshot+2024-03-13+at+17_48_36.png?expires=1790843400&signature=05137ca07c28fbbda7677eab2fa71f4e9d805aa3a15bf38623699ecb31fde4f8&req=fSknH813moZdFb4f3HP0gFp9y89nk1EkIZr8l8wTAfH%2F2ZVd9sl8aKpGN0PH%0ALlc%3D%0A" alt="" width="1213" height="325"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Upon clicking Authorize, you will see the installation you executed in the previous steps. In case you installed multiple apps, they will all be listed as shown below:</p></div></li></ul></div><div class="intercom-interblocks-image intercom-interblocks-align-center"><a href="https://downloads.intercomcdn.com/i/o/673291916/54a764c63108ba21cfd2df88/Screenshot+2023-02-15+at+10.27.35+PMp.png?expires=1790843400&signature=cf96ec3e022ba47cfc8f13710e97ce70e60dc66ce3e4a639e9a8fb4604632f33&req=cickFMB%2FlIBZFb4f3HP0gP3t54%2BPeQEw7u7MyfokPU2xLP4Tqmdy8LIYCTdj%0A%2BY%2BVpmvduK2b879C1A%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/673291916/54a764c63108ba21cfd2df88/Screenshot+2023-02-15+at+10.27.35+PMp.png?expires=1790843400&signature=cf96ec3e022ba47cfc8f13710e97ce70e60dc66ce3e4a639e9a8fb4604632f33&req=cickFMB%2FlIBZFb4f3HP0gP3t54%2BPeQEw7u7MyfokPU2xLP4Tqmdy8LIYCTdj%0A%2BY%2BVpmvduK2b879C1A%3D%3D%0A" alt="" style="width:560px"/></a></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Select the GitHub account you would like to connect with your project. You are now ready to link a repository.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-center"><a href="https://downloads.intercomcdn.com/i/o/990950168/df2d79c7b05206d53ef2b3b5/Screenshot+2024-03-13+at+17_49_47.png?expires=1790843400&signature=0e0e96007b32e5ded41bf5481c379256d97a6c27a1682ff8bb11b0d590606fff&req=fSknH8x%2BnIdXFb4f3HP0gFja7c%2BzTE7aPRk6H1jeHkRVd4vy%2FyfIr5vb0Efa%0AYW0%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990950168/df2d79c7b05206d53ef2b3b5/Screenshot+2024-03-13+at+17_49_47.png?expires=1790843400&signature=0e0e96007b32e5ded41bf5481c379256d97a6c27a1682ff8bb11b0d590606fff&req=fSknH8x%2BnIdXFb4f3HP0gFja7c%2BzTE7aPRk6H1jeHkRVd4vy%2FyfIr5vb0Efa%0AYW0%3D%0A" alt="" width="1319" height="624"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li></ul></div><div class="intercom-interblocks-callout" style="background-color:#e3e7fa80;border-color:#334bfa33"><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b> ð Important Note:</b> Your privacy and data security are our utmost priority. </p></div><div class="intercom-interblocks-ordered-nested-list"><ol><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>File Handling:</b>
57 Rest assured that we will never read, write, or delete any files beyond what is specified in the YAML file. Our scanning process only aims to find matching files based on the provided YAML configuration.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>Pull Request Policy:</b> We respect the integrity of the Pull Request system. We will never close any Pull Request not initiated by our integration. </p></div></li></ol></div></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-horizontal-rule"><hr/></div><div class="intercom-interblocks-heading intercom-interblocks-align-left"><h1 id="h_de29ef5cec">Linking a Specific Project With a GitHub Repository</h1></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Clicking on the Link Repository button, the GitHub Integration wizard will pop up to manage the setup.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading intercom-interblocks-align-left"><h2 id="h_309df8e15f">Select your Repository</h2></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>On the wizard's first step, select the GitHub repository and branch to sync with the project. The available repositories listed are the ones you authorized when you installed the Transifex app on the GitHub account you used for the integration. At this point, the GitHub integration works on top of a single branch.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/692935298/afee48b05e98bd71c171d486/Screenshot+2023-03-16+at+9.00.06+PM.png?expires=1790843400&signature=fa39393ecea0b7ce70c414049400cd070d7c0c5bf848beef26543ea20a37787f&req=ciklH8p7n4hXFb4f3HP0gNRYVuQk2bK1xQX%2BJFY41KAwhSSomy%2BV%2FK43pDCj%0Aijh0TrERqHWi7ipnmw%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/692935298/afee48b05e98bd71c171d486/Screenshot+2023-03-16+at+9.00.06+PM.png?expires=1790843400&signature=fa39393ecea0b7ce70c414049400cd070d7c0c5bf848beef26543ea20a37787f&req=ciklH8p7n4hXFb4f3HP0gNRYVuQk2bK1xQX%2BJFY41KAwhSSomy%2BV%2FK43pDCj%0Aijh0TrERqHWi7ipnmw%3D%3D%0A" alt="" width="1022" height="626"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>You can find more information about the multi-branching feature <a href="https://help.transifex.com/en/articles/7130817-working-with-github-bitbucket-branches">here</a>. </p></div><div class="intercom-interblocks-callout" style="background-color:#e3e7fa80;border-color:#334bfa33"><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>ð Note</b>s </p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>You can link multiple repositories to a single project later. Please refer to <a href="https://help.transifex.com/en/articles/8065153-github-advanced-settings#h_bb384f71f1">this article</a> for more details.</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>If your workspace contains <b>over 100 repositories</b>, the repository selection dropdown will be replaced with a text input field, allowing you to quickly type and find the repository you need. <br/>â<br/>To select a repository, <b>type the repositoryâs slug</b> in the following format:<br/>â<b><code>account/repository_slug</code></b>.</p></div></li></ul></div></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading intercom-interblocks-align-left"><h2 id="h_0a7ce84282">Select files</h2></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>
57When you finish this step, click <b>Next </b>to set up the repository files related to localization. There are two ways to select what GitHub files will be synced with your Transifex project:</p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>The first is through a YML config file called âtransifex.ymlâ (but you can name it as you wish). This file will be hosted in your GitHub repository. You can check the following sections for more details:</p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><a href="#h_94380d9cd8">YAML Configuration Parameter Descriptions</a> and</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><a href="#h_b827747da8">More Examples of YAML Configurations</a></p></div></li></ul></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>By default, the integration looks for this file on the root of the branch repo selected in the previous step. However, you can store the file in any folder of your choice. Before proceeding with the wizard's next step, make sure that this file is available in your repo. After that, press "Apply" to preview your file within the Transifex wizard:</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/673302189/0f8d0dd4391d8d3d1aa153d2/Screenshot+2023-02-15+at+10.46.00+PM.png?expires=1790843400&signature=92faaef8188cff8d30e82f901d8f076a8040eb2e2e3c7fb724b181cc6f763ddd&req=cickFcl8nIlWFb4f3HP0gJ%2FUo7NpYbgebc63D0Q4gWihteKzBCZHRJS%2BOPxs%0ABZk%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/673302189/0f8d0dd4391d8d3d1aa153d2/Screenshot+2023-02-15+at+10.46.00+PM.png?expires=1790843400&signature=92faaef8188cff8d30e82f901d8f076a8040eb2e2e3c7fb724b181cc6f763ddd&req=cickFcl8nIlWFb4f3HP0gJ%2FUo7NpYbgebc63D0Q4gWihteKzBCZHRJS%2BOPxs%0ABZk%3D%0A" alt=""/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li></ul></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>The second option is to add the configuration directly in the integration using the text box provided. You will be notified if the configuration is valid as you type.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-center"><a href="https://downloads.intercomcdn.com/i/o/673304475/a893b798eecc8f6e7c03bf93/Screenshot+2023-02-15+at+10.49.45+PM.png?expires=1790843400&signature=14de6c1477344fab63c7fa4260699b010abaace197412c353a9df13d245a405c&req=cickFcl6mYZaFb4f3HP0gEuA1U1GmBu6tKspulYIIUZHmOEFG3%2BCA3Ct1Zo8%0Aqbw%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/673304475/a893b798eecc8f6e7c03bf93/Screenshot+2023-02-15+at+10.49.45+PM.png?expires=1790843400&signature=14de6c1477344fab63c7fa4260699b010abaace197412c353a9df13d245a405c&req=cickFcl6mYZaFb4f3HP0gEuA1U1GmBu6tKspulYIIUZHmOEFG3%2BCA3Ct1Zo8%0Aqbw%3D%0A" alt=""/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li></ul></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Regardless of the synchronization option you select for your files, you can validate the detected files based on the specified paths in your configuration by selecting the "Test configuration" button. After you complete it, you can click the <b>Next </b>button to establish a connection between your Transifex project and your GitHub repository and branch.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-callout" style="background-color:#e3e7fa80;border-color:#334bfa33"><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>ðNote: </b>Whenever your config file is updated in your GitHub repository or from within the integration, Transifex is notified, and a sync process between the two systems is triggered automatically.</p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Whenever new files are added to the configuration file, new resources will be created in Transifex that include any translations obtained from GitHub. The
57se resources will be identified by a unique slug. The GitHub repository and branch path will be added as categories for these resources.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Regarding existing resources that have already been synchronized with GitHub, if translations are detected in your GitHub repository and no translations for that language exist in Transifex, these newly detected translation files will be sent to Transifex.</p></div></li></ul></div></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading intercom-interblocks-align-left"><h2 id="h_23e0f97d5b">Sync content</h2></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>By clicking the <b>Next </b>button, you will be directed to the last step of the configuration, where you will establish the mechanism for synchronization between Transifex and GitHub.</p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/844673869/8a9b22969f0ca40170b786bb/Screenshot+2023-10-03+at+8.52.23.png?expires=1790843400&signature=5c4f4fc928a1a22bb7e84ceab7e5e9920061d7b69d63f2afabfd37e6ff46a344&req=fCQjEM59lYdWFb4f3HP0gCn%2BJXPxlSunxwBEmO0tTHmNvSSSRMKlm1%2FStBe9%0AMqHqFaMHUjsN9Wi%2F6Q%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/844673869/8a9b22969f0ca40170b786bb/Screenshot+2023-10-03+at+8.52.23.png?expires=1790843400&signature=5c4f4fc928a1a22bb7e84ceab7e5e9920061d7b69d63f2afabfd37e6ff46a344&req=fCQjEM59lYdWFb4f3HP0gCn%2BJXPxlSunxwBEmO0tTHmNvSSSRMKlm1%2FStBe9%0AMqHqFaMHUjsN9Wi%2F6Q%3D%3D%0A" alt="" width="817" height="505"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990927688/80418fe0a05dc9afa11e2c9d/Screenshot+2024-03-13+at+17_00_37.png?expires=1790843400&signature=030797733ae06d62a4c5778f87d98ad9d57ea078c56c7c706d321a1b428d3982&req=fSknH8t5m4lXFb4f3HP0gENF4HvrnPm7osw2u%2BoeAcXSyCFw6dtE0zxRJTi7%0AZW1exHgMPvsnoXn8Ag%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990927688/80418fe0a05dc9afa11e2c9d/Screenshot+2024-03-13+at+17_00_37.png?expires=1790843400&signature=030797733ae06d62a4c5778f87d98ad9d57ea078c56c7c706d321a1b428d3982&req=fSknH8t5m4lXFb4f3HP0gENF4HvrnPm7osw2u%2BoeAcXSyCFw6dtE0zxRJTi7%0AZW1exHgMPvsnoXn8Ag%3D%3D%0A" alt="" width="1027" height="633"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_ad5b2dcf8e">Pulling content from your repository to Transifex.</h3></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Whenever any changes are made to the designated branch of a GitHub repository, the process of <b>pulling content from that branch happens automatically</b>. This means that any new code or updates pushed to the repository will be automatically incorporated into the project. This automated process saves significant time and effort, as it eliminates the need for manual updates or synchronization of the code.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_696f99c6c4">Pushing content from Transifex to your repository. </h3></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>You can decide when and how your localized content is pushed to your repository. </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>When to push your localized content to GitHub depends on the progress of your localization process. You can decide when to push your translated content to your repo; you have the following options to set this up:</p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>100% translated</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>100% reviewed</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>100% proofread</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>custom</p></div></li></ul></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Below, you'
57ll read more about these options.</p></div><div class="intercom-interblocks-subheading4 intercom-interblocks-align-left"><h4 id="h_7d67a74877">When a target language reaches 100% of the translation work done.</h4></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>When you choose to push your content to your repository using this option, it means that Transifex will only push a file's translations once this file has all its strings translated in a specific target language; it will only push the translations of this language to the repository; and it'll not push the translations of target languages that have less than 100% of completion.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990950892/9a8d32738f85495ec176fda6/Screenshot+2024-03-13+at+17_51_31.png?expires=1790843400&signature=af8b4b3ef551113e82d14b5cc567a1feadd1e9bbbb69fef0b5d7df0d14c16ecb&req=fSknH8x%2BlYhdFb4f3HP0gCYVR93k7N5WL7Dd0AHqMPF6F68hkF7ntsNB%2BCrL%0AZ6fJzGsBRk%2F9j6jNkw%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990950892/9a8d32738f85495ec176fda6/Screenshot+2024-03-13+at+17_51_31.png?expires=1790843400&signature=af8b4b3ef551113e82d14b5cc567a1feadd1e9bbbb69fef0b5d7df0d14c16ecb&req=fSknH8x%2BlYhdFb4f3HP0gCYVR93k7N5WL7Dd0AHqMPF6F68hkF7ntsNB%2BCrL%0AZ6fJzGsBRk%2F9j6jNkw%3D%3D%0A" alt="" width="1018" height="629"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>For example, if you have a file with the following translation progress, only the translations of Afrikaans(af) and Greek(el) will be sent to your repository, and the Spanish(es) translations will be ignored.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/844729765/d2e6b6f819cbf2e1ff956534/Screenshot+2023-10-03+at+9.29.46.png?expires=1790843400&signature=111e87075d78540518a44eb065ecc0fbacc813eaf62492b54384e8735deee37c&req=fCQjEct3modaFb4f3HP0gEWP5MAQoRwivXolHi5XlAMNLHGmaqhpDBzyM8bh%0AtAZ0U0suX7Ptj%2FfhFg%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/844729765/d2e6b6f819cbf2e1ff956534/Screenshot+2023-10-03+at+9.29.46.png?expires=1790843400&signature=111e87075d78540518a44eb065ecc0fbacc813eaf62492b54384e8735deee37c&req=fCQjEct3modaFb4f3HP0gEWP5MAQoRwivXolHi5XlAMNLHGmaqhpDBzyM8bh%0AtAZ0U0suX7Ptj%2FfhFg%3D%3D%0A" alt="" width="814" height="440"/></a></div><div class="intercom-interblocks-subheading4 intercom-interblocks-align-left"><h4 id="h_2d5d824162"><b>When a target language reaches 100% of reviewed strings.</b></h4></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>When you choose to push your content to your repository using this option, it means that Transifex will only push a file's translations once this file has all its strings reviewed in a specific target language; it will only push the translations of this language to the repository; and it'll not push the translations of target languages that have less than 100% of reviewed strings.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990951215/4d399eaa79660041f33f0f27/Screenshot+2024-03-13+at+17_52_47.png?expires=1790843400&signature=f57e11b53cdb1387899b63eff5ee9024c215df35863bc8673ef8ad50347acb66&req=fSknH8x%2Fn4BaFb4f3HP0gC4eoFNoc3rE%2BsQUFm87100FCfQPns%2B6bcJ2p1TK%0AMQ4dxyedXYGRWpLicg%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990951215/4d399eaa79660041f33f0f27/Screenshot+2024-03-13+at+17_52_47.png?expires=1790843400&signature=f57e11b53cdb1387899b63eff5ee9024c215df35863bc8673ef8ad50347acb66&req=fSknH8x%2Fn4BaFb4f3HP0gC4eoFNoc3rE%2BsQUFm87100FCfQPns%2B6bcJ2p1TK%0AMQ4dxyedXYGRWpLicg%3D%3D%0A" alt="" width="1018" height="629"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>For example, if you have a file with the following translation progress, only the translations of Afrikaans(af) will be sent to your repository, and the Spanish(es) and Greek(el) translations will be ignored.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/844746593/06906dae0799ff9bc6be3f08/Screenshot+2023-10-03+at+9.39.50.png?expires=1790843400&signature=9cf21f2c3fb38e87633f7a882ab4fb032b8f05c4728c2d31ef6ce005f2f33eb6&req=fCQjEc14mIhcFb4f3HP0gLcFJdtqzKRti70FwISfFBBMi0F%2FCLKq1VZIOQ6h%0A%2B9P%2FxuxCM60WGyqH7w%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/844746593/06906dae0799ff9bc6be3f08/Screenshot+2023-10-03+at+9.39.50.png?expires=1790843400&signature=9cf21f2c3fb38e87633f7a882ab4fb032b8f05c4728c2d31ef6ce005f2f33eb6&req=fCQjEc14mIhcFb4f3HP0gLcFJdtqzKRti70FwISfFBBMi0F%2FCLKq1VZIOQ6h%0A%2B9P%2FxuxCM60WGyqH7w%3D%3D%0A" alt="" width="816" height="315"/></a></div><div class="intercom-interblocks-subheading4 intercom-interblocks-align-left"><h4 id="h_bac3c60f7d"><b>When a target language reaches 100% of proofread strings.</b></h4></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>When you choose to push your content to your repository using this option, it means that Transifex will only push a file's translations once this file has all its strings <a href="https://help.transifex.com/en/articles/6318604-reviewing-translations#h_f1e388ddf7">proofread</a> in a specific target language; it will only push the translations of this language to the repository; and it'll not push the translations of target languages that have less than 100% of proofread strings.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990951435/74b47665a68b1acc0b8bba03/Screenshot+2024-03-13+at+17_53_13.png?expires=1790843400&signature=f4f0381229fe967d7cbd6baa9508334c765852f16e7a0b0e4e2d119c1b27fabc&req=fSknH8x%2FmYJaFb4f3HP0gOGzgwlb1MmhGu7QUcCudzkJhk%2B2q8EttP9xeeyL%0AsIw5H9SX%2FFxI%2BIEF7w%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990951435/74b47665a68b1acc0b8bba03/Screenshot+2024-03-13+at+17_53_13.png?expires=1790843400&signature=f4f0381229fe967d7cbd6baa9508334c765852f16e7a0b0e4e2d119c1b27fabc&req=fSknH8x%2FmYJaFb4f3HP0gOGzgwlb1MmhGu7QUcCudzkJhk%2B2q8EttP9xeeyL%0AsIw5H9SX%2FFxI%2BIEF7w%3D%3D%0A" alt="" width="1018" height="629"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>For example, if you have a file with the following translation progress, only the translations of Greek(el) will be sent to your repository, and the Spanish(es) and Afrikaans(af) translations will be ignored.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/844763307/927c1ba7c25b7ab0f5d7f460/Screenshot+2023-10-03+at+9.51.34.png?expires=1790843400&signature=d5f6e2cbbc5a061e32bf788c11111cc9171cfebcd25216597e4246c743330e0e&req=fCQjEc99noFYFb4f3HP0gNUAUWe16LKkeRTR4toqvIB1oFkRKPFGi84KycaT%0AVuosndxLKqXiEtqbOg%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/844763307/927c1ba7c25b7ab0f5d7f460/Screenshot+2023-10-03+at+9.51.34.png?expires=1790843400&signature=d5f6e2cbbc5a061e32bf788c11111cc9171cfebcd25216597e4246c743330e0e&req=fCQjEc99noFYFb4f3HP0gNUAUWe16LKkeRTR4toqvIB1oFkRKPFGi84KycaT%0AVuosndxLKqXiEtqbOg%3D%3D%0A" alt="" width="815" height="313"/></a></div><div class="intercom-interblocks-subheading4 intercom-interblocks-align-left"><h4 id="h_3406180d8c">Push content according to a Custom threshold (<100%) </h4></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>If you need your translations to reach GitHub faster without waiting for languages to be fully completed, you can set a less than 100% custom threshold and select the desired translation status (translated, reviewed, proofread).</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990951854/d8f6c289c65837f5155b5707/Screenshot+2024-03-13+at+17_54_07.png?expires=1790843400&signature=7c8fa3a97028e2c05acead9abab9da431b2e120f8cb525628846adf42868929d&req=fSknH8x%2FlYRbFb4f3HP0gPqulMyvZWUIo2AgGg1Og2jYvfdYdIMVE8SQr5ny%0APtEADWl691%2B8OhIskg%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990951854/d8f6c289c65837f5155b5707/Screenshot+2024-03-13+at+17_54_07.png?expires=1790843400&signature=7c8fa3a97028e2c05acead9abab9da431b2e120f8cb525628846adf42868929d&req=fSknH8x%2FlYRbFb4f3HP0gPqulMyvZWUIo2AgGg1Og2jYvfdYdIMVE8SQr5ny%0APtEADWl691%2B8OhIskg%3D%3D%0A" alt="" width="1019" height="629"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-callout" style="background-color:#e3e7fa80;border-color:#334bfa33"><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>ðNote</b>: if a language is already translated/reviewed/proofread and translations are updated in Transifex, the updated translations will automatically be sent to your repo.</p></div></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>For example, if you have a file with the following translation progress and define the custom threshold to 60% translated, only the translations of Greek(el) and Afrikaans(af) will be sent to your repository, and the Spanish(es) translations will be ignored.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/844803249/b4c6f755c8c66054bca9130f/Screenshot+2023-10-03+at+10.31.37.png?expires=1790843400&signature=6e430e95211da87caf9c46b2d84b00a6dcef86d5e891a1d566deee57e9290b88&req=fCQjHsl9n4VWFb4f3HP0gGMUS1rD77bOJmt8Bk7snDXV5BsgNLNgb53gLUjY%0A1isIobix3ihHDVH62Q%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/844803249/b4c6f755c8c66054bca9130f/Screenshot+2023-10-03+at+10.31.37.png?expires=1790843400&signature=6e430e95211da87caf9c46b2d84b00a6dcef86d5e891a1d566deee57e9290b88&req=fCQjHsl9n4VWFb4f3HP0gGMUS1rD77bOJmt8Bk7snDXV5BsgNLNgb53gLUjY%0A1isIobix3ihHDVH62Q%3D%3D%0A" alt="" width="811" height="358"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>You can also define how your translation content reaches your repository; below, you'll find the option you have to set up the way the translations in Transifex hit your repository. You can choose between:</p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Create a Pull Request</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Commit directly</p></div></li></ul></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Below, you'll find more information about these options:</p></div><div class="intercom-interblocks-subheading4 intercom-interblocks-align-left"><h4 id="h_2c2c9a509b"><b>Create a Pull Request</b></h4></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>This will create a new branch with the localized content and open a PR on the branch that you can later merge directly from GitHub. However, if an open PR already exists containing previous translations, it will be updated with the latest ones.</p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>Content grouping</b><br/>You can group PRs, particularly when dealing with numerous target languages in your project and resources requiring localization. The following grouping options are available:</p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>No grouping - This creates separate PRs for each resource and language combination.</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>By resource - The PR will contain translations in all target languages for a single resource.</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>By language - The PR will contain translations in a specific language for all resources.</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>All resources and languages - This creates a single PR that includes translations for all resources and all target languages.</p></div></li></ul></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>Commit directly for branches associated with the multi-branch feature</b><br/>Enabling this option allows you to customize how translation updates are pushed to branches associated with the multi-branch feature while keeping the PR option for your default branch. Please note that this option is available exclusively when the Multi-branching option is enabled.</p></div></li></ul></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>Commit directly</b>. Commit changes directly to the selected branch.</p></div></li></ul></div><div class="intercom-interblocks-callout" style="background-color:#e3e7fa80;border-color:#334bfa33"><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>ðThings to note when using Pull Requests</b></p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Suppose the translation or review percentage falls below the set threshold in Transifex, and a PR has already been opened in your repository. In that case, we'll automatically close the PR to ensure no outdated translations remain pending for your review.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>If a PR is created based on the condition that x% of the language is translated and the setting is later updated to y% for review or proofreading, we'll close the existing PR and open a new one once the new conditions are met. This ensures that your reposit
57ory always has the latest and most accurate translations.</p></div></li></ul></div></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Additionally, in this tab of the GitHub integration wizard, you'll find some optional settings. To learn more about them, visit the section <a href="#h_23e0f97d5b">Optional Settings in the Sync content tab</a>.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Once you complete the setup, click <b>"Save & Sync"</b> to initiate the synchronization process between GitHub and Transifex.</p></div><div class="intercom-interblocks-callout" style="background-color:#feedaf80;border-color:#fbc91633"><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>â ï¸Warning: </b>In case your branch is protected, you either have to remove the protection of that branch as described <a href="https://docs.github.com/en/github/administering-a-repository/managing-a-branch-protection-rule" rel="nofollow noopener noreferrer" target="_blank">here</a> or change the integration settings to create a PR instead of committing directly to the branch.</p></div></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-horizontal-rule"><hr/></div><div class="intercom-interblocks-heading intercom-interblocks-align-left"><h1 id="h_a734c3e219">Optional settings in the Sync content tab</h1></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>When configuring the link settings between your Transifex project and your GitHub repository, you'll come across a section called "Sync Content". </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990931502/60b67aa9eb1577c8e463215e/main-settings.png?expires=1790843400&signature=b08188760fc82521b4314d9c5efcba95d1e242dc14b83968526278db1801f393&req=fSknH8p%2FmIFdFb4f3HP0gGw8EQS%2FklCLpTmGpoxzUy7EHaOSisozulayIWtS%0A9CAewpgKLnub3alcDg%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990931502/60b67aa9eb1577c8e463215e/main-settings.png?expires=1790843400&signature=b08188760fc82521b4314d9c5efcba95d1e242dc14b83968526278db1801f393&req=fSknH8p%2FmIFdFb4f3HP0gGw8EQS%2FklCLpTmGpoxzUy7EHaOSisozulayIWtS%0A9CAewpgKLnub3alcDg%3D%3D%0A" alt="" width="921" height="570"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>In this section, you'll find various alternative features that can be used to set up the way your translated content reaches your repository:</p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Add a prefix to the commit message.</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Add a prefix in the Pull Request title.</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Receive updates for source files.</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Add an interval between commits.</p></div></li></ul></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>In this article, you'll find the specifications of such features.</p></div><div class="intercom-interblocks-subheading intercom-interblocks-align-left"><h2 id="h_0c8c48b4ef"><br/>Add a Prefix Your Commit Message</h2></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>If you have configured GitHub Actions in your repository and want to exclude commits made by the Transifex GitHub integration from workflow runs, you can add a prefix to the commit message. This will also improve readability in your workflow.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>For example, if I add the prefix "TRANSLATION-UPDATE" and save this setting update:</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990930809/bac76c9b4bfb68941f377589/prefix+commit.png?expires=1790843400&signature=f873059daf11dc4ff120701bf92595025aa81d11bd37c54a28af30877a647b67&req=fSknH8p%2BlYFWFb4f3HP0gJ0X4XwSihZnlVbL5%2FP%2BjcyFwxnuCvT65akzSCHS%0AzvoGx9XUY64afEtNOg%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990930809/bac76c9b4bfb68941f377589/prefix+commit.png?expires=1790843400&signature=f873059daf11dc4ff120701bf92595025aa81d11bd37c54a28af30877a647b67&req=fSknH8p%2BlYFWFb4f3HP0gJ0X4XwSihZnlVbL5%2FP%2BjcyFwxnuCvT65akzSCHS%0AzvoGx9XUY64afEtNOg%3D%3D%0A" alt="" width="921" height="570"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>The commits sent to GitHub will show this prefix.</p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990940016/9e491ef92b8f88edba4be50f/commit.png?expires=1790843400&signature=5c10f1350f7cf3463e61f525cd9ce96fed5ef1be6ee55bebe8ae0497a860fd43&req=fSknH81%2BnYBZFb4f3HP0gPlMUg%2Bc9yqBw46nCD7tdwpF%2BykIroVgUzPFmoD6%0AQ5B%2Fp7ZatE%2BmNOPnWg%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990940016/9e491ef92b8f88edba4be50f/commit.png?expires=1790843400&signature=5c10f1350f7cf3463e61f525cd9ce96fed5ef1be6ee55bebe8ae0497a860fd43&req=fSknH81%2BnYBZFb4f3HP0gPlMUg%2Bc9yqBw46nCD7tdwpF%2BykIroVgUzPFmoD6%0AQ5B%2Fp7ZatE%2BmNOPnWg%3D%3D%0A" alt="" width="1218" height="347"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading intercom-interblocks-align-left"><h2 id="h_be807fb197">Add a prefix in the Pull Request title.</h2></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>If you have configured GitHub Actions in your repository and want to admit only certain Pull Requests in your workflow, you can add a prefix to the Pull Requests title; this will also improve readability in your workflow.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>For example, if I add the prefix "NEW-PR-TITLE" and save this setting update:</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990942601/cf46e1723b8f515ae6d4c898/prefix+pr.png?expires=1790843400&signature=6061df572afa9d16f9098a3456c33cebc67dc8b3c81d5f46c0641b92a11a7ad8&req=fSknH818m4FeFb4f3HP0gNbyuKCW5tUWVDwiHsxygC6BJWiQlffpmqQfDis1%0ApYDcB6mo2m1iW5OQ3Q%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990942601/cf46e1723b8f515ae6d4c898/prefix+pr.png?expires=1790843400&signature=6061df572afa9d16f9098a3456c33cebc67dc8b3c81d5f46c0641b92a11a7ad8&req=fSknH818m4FeFb4f3HP0gNbyuKCW5tUWVDwiHsxygC6BJWiQlffpmqQfDis1%0ApYDcB6mo2m1iW5OQ3Q%3D%3D%0A" alt="" width="1020" height="626"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>The Pull Requests sent to GitHub will show this prefix.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990941652/9cbd62c864843984c72519b2/pr.png?expires=1790843400&signature=52d7de718e6067f7049e7731e641a6893672997bb2b3a5337ca1ea1a4f8583b3&req=fSknH81%2Fm4RdFb4f3HP0gJpme%2BDG2IkTSAADEdImrB5CXA2YWlVT2kvAOIIF%0Acx2swmE5rBJ6k9T1nA%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990941652/9cbd62c864843984c72519b2/pr.png?expires=1790843400&signature=52d7de718e6067f7049e7731e641a6893672997bb2b3a5337ca1ea1a4f8583b3&req=fSknH81%2Fm4RdFb4f3HP0gJpme%2BDG2IkTSAADEdImrB5CXA2YWlVT2kvAOIIF%0Acx2swmE5rBJ6k9T1nA%3D%3D%0A" alt="" width="1218" height="267"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading intercom-interblocks-align-left"><h2 id="h_41869e3c8f">Receive updates for source files.</h2></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Enabling the feature <b>Receive updates for source files</b> means that you can sync any changes you make to your source file in Transifex with your repository without any manual intervention. This can save you a considerable amount of time and effort. Additionally, it ensures that the most up-to-date version of your project is always available to your users. </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990943327/49dfdd4b0e8e1058101fca37/update-source.png?expires=1790843400&
57signature=3133652e57e8836e8813ec900f638f2102f420044b16464b1d6bbfa90dce7879&req=fSknH819noNYFb4f3HP0gKPXP1ZtwhQpaqr8Wo32piOZbeZo9dfJCWNpov%2Bn%0ALWJo8d%2Bt3ZIpGJew5A%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990943327/49dfdd4b0e8e1058101fca37/update-source.png?expires=1790843400&signature=3133652e57e8836e8813ec900f638f2102f420044b16464b1d6bbfa90dce7879&req=fSknH819noNYFb4f3HP0gKPXP1ZtwhQpaqr8Wo32piOZbeZo9dfJCWNpov%2Bn%0ALWJo8d%2Bt3ZIpGJew5A%3D%3D%0A" alt="" width="1020" height="626"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>It's important to note that not all file formats support automatic updates. Therefore, it's advisable to consult the article on <a href="https://help.transifex.com/en/articles/6236849-updating-content">Updating Content</a> to obtain more information about which file formats can have their source updated in Transifex.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading intercom-interblocks-align-left"><h2 id="h_0f5cbcc29e">Add an interval between commits.</h2></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>If you want to avoid having many commits of the same translation file flooding your repository for every single update of translations, you can set a time interval to group those updates in one commit. </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>By setting a time interval in minutes (up to a maximum of 60 minutes), you can control how often translation updates get pushed to your repository so that you can manage your translation changes in your repository more effectively. </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://downloads.intercomcdn.com/i/o/990943792/c63a0ec8187701b60b04e04d/Screenshot+2024-03-13+at+17_35_42.png?expires=1790843400&signature=6f2b04b48dcb7823dd1dbcf5fb23373deb277e7519020a490485beaf235fb4d2&req=fSknH819mohdFb4f3HP0gDvOYqQp9JBQZhJmxURxUWVg8Sv4TK2p8gpK6jbU%0AOg5cxOQEsuE0UR3Fsg%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/990943792/c63a0ec8187701b60b04e04d/Screenshot+2024-03-13+at+17_35_42.png?expires=1790843400&signature=6f2b04b48dcb7823dd1dbcf5fb23373deb277e7519020a490485beaf235fb4d2&req=fSknH819mohdFb4f3HP0gDvOYqQp9JBQZhJmxURxUWVg8Sv4TK2p8gpK6jbU%0AOg5cxOQEsuE0UR3Fsg%3D%3D%0A" alt="" width="1020" height="626"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>For example, let's say that you've set the commit interval to 10 minutes. Within those 10 minutes, you make several translation edits in a resource file. Instead of individual commits for each change, you'll receive a single commit after the 10-minute interval expires, including all the latest updates. If you continue to edit the same translations, a new commit will be generated after another 10 minutes, grouping all changes made during that time.</p></div><div class="intercom-interblocks-callout" style="background-color:#e3e7fa80;border-color:#334bfa33"><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>ðNote: </b>When you make changes to your translations, the GitHub integration syncs those changes to your repository as individual commits. Each commit corresponds to a specific resource/language combination.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>This means:</p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> If you edit translations for two different languages within the same file (resource), you'll see <b>two separate commits</b> on GitHub, one for each language.</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Similarly, if you edit translations in two different files (resources) for the same language, you'll also see <b>two</b> <b>separate commits</b>, one for each resource.</p></div></li></ul></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>
57Essentially, every unique pair of a language and a resource gets its own dedicated commit when changes are made.</p></div></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-horizontal-rule"><hr/></div><div class="intercom-interblocks-heading intercom-interblocks-align-left"><h1 id="h_94380d9cd8">YAML Configuration Parameter Descriptions</h1></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>The following are the parameters that are used for the YAML Configuration:</p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>git</b>: This is what the top line of your configuration file should contain.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>filter_type:</b> The three valid values are <code>dir</code> for directory, <code>file</code>, and <code>dynamic</code>.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>source_file:</b> Only used for the <code>file</code> filter_type. This points to the location of the source file. The location should not start with a forward slash and should not be surrounded by double or single quotes.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>source_file_dir:</b> Only used for the directory (<code>dir</code>) filter_type. Works the same as source_file.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> <b>source_files_expression</b>: Only used for the <code>dynamic</code> filter_type. Works the same as source_file.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>source_file_extension</b>: Only used for the directory (dir) filter_type.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>file_format:</b> This sets the type of resources in your project, e.g., PO. See the <a href="https://help.transifex.com/en/collections/3511306-for-developers#file-formats">File formats</a> for details about the i18n type of each format available.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>source_language:</b> This is the source language of your project, such as <code>en</code> (for English). This is the language you selected when you created your project.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>translation_files_expression:</b> A path expression that reflects your translation files' file/directory structure. The expression must contain the <lang> keyword, denoting where the file paths differentiate per language, e.g., <code>translations/po/<lang>.po</code>; the appropriate target language file format will automatically replace the <lang> keyword.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>The expression should not start with a forward slash and should be surrounded by single quotes.<br/>â</p></div></li><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>mode:</b> This setting allows you to choose which download mode a translation file will use. This mode affects how translations are retrieved and varies depen
57ding on the file type. Please refer to the specific file format's specification page for details about each specific download mode.</p></div></li></ul></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>language_mapping</b>: If you use language codes other than the standard ISO ones (<a href="http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes" rel="nofollow noopener noreferrer" target="_blank">ISO 639-1</a>, <a href="https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes" rel="nofollow noopener noreferrer" target="_blank">ISO 639-2</a>, or <a href="https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes" rel="nofollow noopener noreferrer" target="_blank">ISO 639-3</a>), the integration lets you set up custom one-to-one language mappings. You'll need to add a language_mapping section to the YAML configuration file.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-code"><pre>settings: <br/> language_mapping: <br/> REMOTE_CODE: LOCAL_CODE</pre></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>The REMOTE_CODE is the language code supported by Transifex. And the LOCAL_CODE is your language code.</p></div></li></ul></div><div class="intercom-interblocks-callout" style="background-color:#e3e7fa80;border-color:#334bfa33"><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>ð </b>Mapping locales will only impact the <b>filenames</b> of the translation files, aligning file naming conventions with your selected locale mappings.</p></div></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>The configuration follows a YAML syntax, and users can define a list of individual files or use regular expressions to match multiple files simultaneously. Illustrated examples can be found below:</p></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>pr_branch_name:</b> If you want to specify the name used for a PR when pushing translations back to GitHub, you can use this parameter under settings like the following example. Please note that <br_unique_id> is a string hash automatically generated by the system.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-left"><a href="https://transifex-b5d13cb7d7b0.intercom-attachments-1.com/i/o/522695714/8cebb8eb5b1f5c55b6965b39/branch_custom_name2.png?expires=1790843400&signature=f26ffb8501aadbf35335a86a9f819edc98dd6536202d50b6ff19942c5a81906d&req=cSIlEMB7moBbFb4f3HP0gPwfWn4ycIN8e65OfW%2FC%2BGdAZUZudSt23KGUR1Oz%0AFRo%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://transifex-b5d13cb7d7b0.intercom-attachments-1.com/i/o/522695714/8cebb8eb5b1f5c55b6965b39/branch_custom_name2.png?expires=1790843400&signature=f26ffb8501aadbf35335a86a9f819edc98dd6536202d50b6ff19942c5a81906d&req=cSIlEMB7moBbFb4f3HP0gPwfWn4ycIN8e65OfW%2FC%2BGdAZUZudSt23KGUR1Oz%0AFRo%3D%0A" alt="branch_custom_name2.png#asset:8166"/></a></div></li></ul></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>ignore_dirs</b>: If you want to exclude one or more than one directory/folder (include absolute paths when using this parameter), then you can include this parameter in your configuration file as follows:</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-center"><a href="https://transifex-b5d13cb7d7b0.intercom-attachments-1.com/i/o/522695738/c2908b6e7597ffb861612c95/Screenshot-2022-03-02-at-11.01.51-AM.png?expires=1790843400&signature=1863955064a78e961318fc43c9a28a6555f4f8b3e38c47f79a359eace8b6cb71&req=cSIlEMB7moJXFb4f3HP0gCIhMcWvaAhwXP9%2BNp3f2lTLxbRVb4cnvV9%2FxYoF%0AOec%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://transifex-b5d13cb7d7b0.intercom-attachments-1.com/i/o/522695738/c2908b6e7597ffb861612c95/Screenshot-2022-03-02-at-11.01.51-AM.png?expires=1790843400&signature=1863955064a78e961318fc43c9a28a6555f4f8b3e38c47f79a359eace8b6cb71&req=cSIlEMB7moJXFb4f3HP0gCIhMcWvaAhwXP9%2BNp3f2lTLxbRVb4cnvV9%2FxYoF%0AOec%3D%0A" alt="Screenshot-2022-03-02-at-11.01.51-AM.png#asset:10025"/></a></div></li></ul></div><div class="intercom-interblocks-unordered-nested-list"><ul><li><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>ignore_files</b>: If you want to exclude one or more than one localization file (include absolute paths when using this parameter), then you can include this parameter in your configuration file as follows:</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-center"><a href="https://transifex-b5d13cb7d7b0.intercom-attachments-1.com/i/o/522695752/f800f3149bb1b268440335ea/Screenshot-2022-03-02-at-11.03.07-AM.png?expires=1790843400&signature=a81e6d08c4c6c1393387daee2238ae3b9b0cc8f717aaf3bc195f37fd7b0d1d2c&req=cSIlEMB7moRdFb4f3HP0gE%2FI9%2BZ50p7UEXvRxj6TdkKdPjjYQFkx4MzWqffU%0AUBU%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://transifex-b5d13cb7d7b0.intercom-attachments-1.com/i/o/522695752/f800f3149bb1b268440335ea/Screenshot-2022-03-02-at-11.03.07-AM.png?expires=1790843400&signature=a81e6d08c4c6c1393387daee2238ae3b9b0cc8f717aaf3bc195f37fd7b0d1d2c&req=cSIlEMB7moRdFb4f3HP0gE%2FI9%2BZ50p7UEXvRxj6TdkKdPjjYQFkx4MzWqffU%0AUBU%3D%0A" alt="Screenshot-2022-03-02-at-11.03.07-AM.png#asset:10026"/></a></div></li></ul></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>You can have multiple entries beneath the opening "filters:" keyword for different source file types or locations. Each entry begins with "- filter_type: ".</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p>Check the section <a href="#h_b827747da8">More Examples of YAML Configurations</a> for samples.</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-heading intercom-interblocks-align-left">
57<h1 id="h_b827747da8">More Examples of YAML Configurations</h1></div><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_f5039b7a6a">Syncing a Single File</h3></div><div class="intercom-interblocks-code"><pre>filters:<br/>- filter_type: file<br/> file_format: PO<br/> source_file: locale/example.po<br/> source_language: en<br/> translation_files_expression: 'Translations/<lang>/'</pre></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_88c5a4d0e3">Syncing Multiple Files of a Single File Type </h3></div><div class="intercom-interblocks-code"><pre>filters:<br/>- filter_type: dir<br/> file_format: STRINGS<br/> source_file_extension: strings<br/> source_language: en<br/> source_file_dir: locale/DirTest<br/> translation_files_expression: 'Translations/<lang>'</pre></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_593a48b9d9">Syncing a Single File Using a Specific Download Mode</h3></div><div class="intercom-interblocks-code"><pre>filters:<br/> - filter_type: file<br/> file_format: YML<br/> source_language: en<br/> source_file: test.yml<br/> translation_files_expression: 'Τranslations/target_<lang>.yml'<br/> mode: onlytranslated</pre></div><div class="intercom-interblocks-callout" style="background-color:#feedaf80;border-color:#fbc91633"><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>â ï¸Order Matters: </b>In cases where there are two file filter configurations for source and translation files within the same directory, prioritize the more specific filter by placing it first. The following example illustrates this.</p></div></div><div class="intercom-interblocks-collapsible-section"><details><summary><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_a5c52b7b5f">Example 1</h3></div></summary><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-code"><pre>filters:<br/>- filter_type: file<br/> file_format: YML<br/> source_language: en<br/> source_file: config/locales/simple_form.en.yml<br/> translation_files_expression: 'config/locales/simple_form.<lang>.yml'<br/><br/>- filter_type: file<br/> file_format: YML<br/> source_language: en<br/> source_file: config/locales/en.yml<br/> translation_files_expression: 'config/locales/<lang>.yml'</pre></div></details></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-collapsible-section"><details><summary><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_99c3e48e84">Example 2</h3></div></summary><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-code"><pre>filters:<br/>- filter_type: dir<br/> file_format: STRINGS<br/> source_file_extension: strings<br/> source_language: en<br/> source_file_dir: locale/DirTest<br/> translation_files_expression: 'Translations/<lang>'<br/><br/>- filter_type: dir<br/> file_format: KEYVALUEJSON<br/> source_file_extension: json<br/> source_language: en<br/> source_file_dir: locale/DirTest<br/> translation_files_expression: 'Translations/<lang>'</pre></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></details></div><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_f334323449">Syncing Multiple Files, Excluding Specific Paths/Localization Files</h3></div><div class="intercom-interblocks-code"><pre>filters:<br/> - filter_type: dir <br/> file_format: KEYVALUEJSON <br/> source_file_extension: json <br/> source_language: en <br/> source_file_dir: localization_project/ <br/> translation_files_expression: 'localization_project/translations/<lang>/'<br/> ignore_dirs: <br/> - localization_project/path2/<br/> - localization_project/path3/<br/> ignore_files: <br/> - localization_project/path1/example2.txt<br/> - localization_project/path1/example4.txt</pre></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_4f45f51e37">Syncing Files With a Specific Branch Name and With Language Mapping</h3></div><div class="intercom-interblocks-code"><pre>filters:<br/>- filter_type: file<br/> file_format: STRUCTURED_JSON<br/>
57 source_language: en<br/> source_file: 'locale/example.json'<br/> translation_files_expression: 'Translations/<lang>/example.json'<br/><br/>settings:<br/> pr_branch_name: <br/> tx_translations_<br_unique_id><br/> language_mapping:<br/> es_419: es-419<br/> pt_BR: pt-br<br/> zh_CN: zh-cn<br/> zh_TW: zh-tw</pre></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_2d782c7b1e">Examples of the <code>dynamic</code> filter type (Ignore_dirs and Ignore_files are also supported in this filter type)</h3></div><div class="intercom-interblocks-subheading4 intercom-interblocks-align-left"><h4 id="h_460bd9f737"><b>Example 1:</b></h4></div><div class="intercom-interblocks-code"><pre>filters:<br/>- filter_type: dynamic<br/> file_format: PO<br/> source_language: en<br/> source_files_expression: folder/<file>.po<br/> translation_files_expression: 'locale/<lang>/<file>.po'</pre></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading4 intercom-interblocks-align-left"><h4 id="h_d031a29620">Examples of possible source file matches:</h4></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-center"><a href="https://downloads.intercomcdn.com/i/o/691362601/5ae361a35b6af7ef1bc10ccc/Screenshot+2023-03-14+at+11.47.04+PM.png?expires=1790843400&signature=81fb4333613a8e0810a6cdca76fbfe974381de3edc08fdde8d142c748ca8cc39&req=cikmFc98m4FeFb4f3HP0gIqADKg18EUJHBPoYDlo6yGu4f%2B10YkOm60ssD7i%0AIzExvEsrANz7FYTkAA%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/691362601/5ae361a35b6af7ef1bc10ccc/Screenshot+2023-03-14+at+11.47.04+PM.png?expires=1790843400&signature=81fb4333613a8e0810a6cdca76fbfe974381de3edc08fdde8d142c748ca8cc39&req=cikmFc98m4FeFb4f3HP0gIqADKg18EUJHBPoYDlo6yGu4f%2B10YkOm60ssD7i%0AIzExvEsrANz7FYTkAA%3D%3D%0A" alt="" width="1616" height="202" style="width:400px"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-center"><a href="https://downloads.intercomcdn.com/i/o/691347473/0dc84def90eeb4293f579ef9/Screenshot_2023-03-14_at_11_13_23_PM.png?expires=1790843400&signature=ba03cfebf94996fe5aebaf646ffa2a87e3e8b59c4d54c1dec4f906a382480856&req=cikmFc15mYZcFb4f3HP0gHetQc10W07DGaXimh%2FFve69%2B4pfRrOePqbrR7Us%0AiFgIep1%2BSEjNPq4gpg%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/691347473/0dc84def90eeb4293f579ef9/Screenshot_2023-03-14_at_11_13_23_PM.png?expires=1790843400&signature=ba03cfebf94996fe5aebaf646ffa2a87e3e8b59c4d54c1dec4f906a382480856&req=cikmFc15mYZcFb4f3HP0gHetQc10W07DGaXimh%2FFve69%2B4pfRrOePqbrR7Us%0AiFgIep1%2BSEjNPq4gpg%3D%3D%0A" alt="" width="527" height="404" style="width:400px"/></a></div><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_f74464d64d"> Example 2:</h3></div><div class="intercom-interblocks-code"><pre>filters:<br/>- filter_type: dynamic<br/> file_format: PO<br/> source_language: en<br/> source_files_expression: <dir>/<file>.po<br/> translation_files_expression: '<dir>/<lang>/<file>.po'</pre></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading4 intercom-interblocks-align-left"><h4 id="h_3653a364db">Examples of possible matches:</h4></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-center"><a href="https://downloads.intercomcdn.com/i/o/691348087/2de81cee6fc34e904c347569/Screenshot+2023-03-14+at+11.16.26+PM.png?expires=1790843400&signature=e2985e446a5e14e1b4ebef9c55c38bdeaa297cb013c874c245b6a6541139d4cd&req=cikmFc12nYlYFb4f3HP0gLbzEovj0TdRl6Yvat4NH4B5ryWJiE%2FMDNz1k8k1%0A7n9WUXAfuGNdOQA49g%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/691348087/2de81cee6fc34e904c347569/Screenshot+2023-03-14+at+11.16.26+PM.png?expires=1790843400&signature=e2985e446a5e14e1b4ebef9c55c38bdeaa297cb013c874c245b6a6541139d4cd&req=cikmFc12nYlYFb4f3HP0gLbzEovj0TdRl6Yvat4NH4B5ryWJiE%2FMDNz1k8k1%0A7n9WUXAfuGNdOQA49g%3D%3D%0A" alt="" width="818" height="109" style="width:400px"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-image intercom-interblocks-align-center"><a href="https://downloads.intercomcdn.com/i/o/691349376/f2a2d8a6b6846d5bca6c0239/Screenshot_2023-03-14_at_11_17_15_PM.png?expires=1790843400&signature=30b932d5fccb4fc3b7ca0af451d911852a53857977469d5c1bb2334e9b75d52f&req=cikmFc13noZZFb4f3HP0gOteUcegXUn02p1HskiDIhuWruxLb4YgGq2ZYyuH%0As4VRmozRL3UfgnLEdQ%3D%3D%0A" target="_blank" rel="noreferrer nofollow noopener"><img src="https://downloads.intercomcdn.com/i/o/691349376/f2a2d8a6b6846d5bca6c0239/Screenshot_2023-03-14_at_11_17_15_PM.png?expires=1790843400&signature=30b932d5fccb4fc3b7ca0af451d911852a53857977469d5c1bb2334e9b75d52f&req=cikmFc13noZZFb4f3HP0gOteUcegXUn02p1HskiDIhuWruxLb4YgGq2ZYyuH%0As4VRmozRL3UfgnLEdQ%3D%3D%0A" alt="" width="534" height="398" style="width:400px"/></a></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_6c97d75337">Other examples of <code>filter_type: dynamic</code></h3></div><div class="intercom-interblocks-collapsible-section"><details><summary><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_11423dbfca">Example 1</h3></div></summary><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-code"><pre>filters:<br/>- filter_type: dynamic<br/> file_format: PO<br/> source_language: en<br/>
57 source_files_expression: docs/guides/<dir>/source/<file>.md<br/> translation_files_expression: <lang>/<dir>/translations/<file>.md</pre></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div></details></div><div class="intercom-interblocks-collapsible-section"><details><summary><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_0d891ea788">Example 2</h3></div></summary><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-code"><pre>filters:<br/>- filter_type: dynamic<br/> file_format: PO<br/> source_language: en<br/> source_files_expression: docs/guides/<dir>/source/<file>.md<br/> translation_files_expression: <lang>/<dir>/translations/<file>/product_feature_A.md</pre></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-callout" style="background-color:#e3e7fa80;border-color:#334bfa33"><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p><b>ðNote: </b>In YAML, it's essential for the "source_file" to be specified as an absolute path rather than a relative one. This is because GitHub integration always begins its search from the repository's root directory. As mentioned, the .yml file can be located anywhere within the repository.</p></div></div></details></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-left"><p> </p></div><div class="intercom-interblocks-horizontal-rule"><hr/></div><div class="intercom-interblocks-subheading3 intercom-interblocks-align-left"><h3 id="h_0450e67723">ð¡Tip</h3></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-center"><p>Looking for more help? Get support from our <a href="https://community.transifex.com/" rel="nofollow noopener noreferrer" target="_blank">Transifex Community Forum</a>!</p></div><div class="intercom-interblocks-paragraph no-margin intercom-interblocks-align-center"><p>Find answers or post to get help from Transifex Support and our Community.</p></div><section class="jsx-62724fba150252e0 related_articles my-6"><hr class="jsx-62724fba150252e0 my-6 sm:my-8"/><div class="jsx-62724fba150252e0 mb-3 text-xl font-bold">Related Articles</div><section class="flex flex-col rounded-card border border-solid border-card-border bg-card-bg p-2 sm:p-3"><ul role="list" class="!m-0 list-none !p-0"><li class="!m-0 !list-none"><a class="duration-250 group/article flex flex-row justify-between gap-2 py-2 no-underline transition ease-linear hover:bg-primary-alpha-10 hover:text-primary sm:rounded-card-inner sm:py-3 rounded-card-inner px-3" href="https://help.transifex.com/en/articles/6216909-bitbucket-installation-and-configuration" data-testid="article-link"><div class="flex flex-col p-0"><span class="m-0 text-md text-body-primary-color group-hover/article:text-primary">Bitbucket: Installation and Configuration</span></div><div class="flex shrink-0 flex-col justify-center p-0"><svg class="block h-4 w-4 text-primary ltr:-rotate-90 rtl:rotate-90" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg></div></a></li><li class="!m-0 !list-none"><a class="duration-250 group/article flex flex-row justify-between gap-2 py-2 no-underline transition ease-linear hover:bg-primary-alpha-10 hover:text-primary sm:rounded-card-inner sm:py-3 rounded-card-inner px-3" href="https://help.transifex.com/en/articles/6266051-using-transifex-with-github-in-your-development-workflow" data-testid="article-link"><div class="flex flex-col p-0"><span class="m-0 text-md text-body-primary-color group-hover/article:text-primary">Using Transifex With GitHub in Your Development Workflow</span></div><div class="flex shrink-0 flex-col justify-center p-0"><svg class="block h-4 w-4 text-primary ltr:-rotate-90 rtl:rotate-90" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg></div></a></li><li class="!m-0 !list-none"><a class="duration-250 group/article flex flex-row justify-between gap-2 py-2 no-underline transition ease-linear hover:bg-primary-alpha-10 hover:text-primary sm:rou
57nded-card-inner sm:py-3 rounded-card-inner px-3" href="https://help.transifex.com/en/articles/7907376-gitlab-installation-and-configurationin" data-testid="article-link"><div class="flex flex-col p-0"><span class="m-0 text-md text-body-primary-color group-hover/article:text-primary">GitLab: Installation and Configurationin</span></div><div class="flex shrink-0 flex-col justify-center p-0"><svg class="block h-4 w-4 text-primary ltr:-rotate-90 rtl:rotate-90" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg></div></a></li><li class="!m-0 !list-none"><a class="duration-250 group/article flex flex-row justify-between gap-2 py-2 no-underline transition ease-linear hover:bg-primary-alpha-10 hover:text-primary sm:rounded-card-inner sm:py-3 rounded-card-inner px-3" href="https://help.transifex.com/en/articles/8065148-github-auto-syncing-and-management" data-testid="article-link"><div class="flex flex-col p-0"><span class="m-0 text-md text-body-primary-color group-hover/article:text-primary">GitHub: Auto-syncing and Management</span></div><div class="flex shrink-0 flex-col justify-center p-0"><svg class="block h-4 w-4 text-primary ltr:-rotate-90 rtl:rotate-90" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg></div></a></li><li class="!m-0 !list-none"><a class="duration-250 group/article flex flex-row justify-between gap-2 py-2 no-underline transition ease-linear hover:bg-primary-alpha-10 hover:text-primary sm:rounded-card-inner sm:py-3 rounded-card-inner px-3" href="https://help.transifex.com/en/articles/8537559-azure-repos-installation-and-configuration" data-testid="article-link"><div class="flex flex-col p-0"><span class="m-0 text-md text-body-primary-color group-hover/article:text-primary">Azure Repos: Installation and Configuration</span></div><div class="flex shrink-0 flex-col justify-center p-0"><svg class="block h-4 w-4 text-primary ltr:-rotate-90 rtl:rotate-90" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg></div></a></li></ul></section></section></article></div></div></div></div><fieldset class="intercom-reaction-picker m-0 -mb-4 -ml-4 -mr-4 mt-6 rounded-card border-0 sm:-mb-2 sm:-ml-1 sm:-mr-1 sm:mt-8"><legend id=":R1mbq6:" class="intercom-reaction-prompt float-start w-full">Did this answer your question?</legend><div class="intercom-reactions-container"><button class="intercom-reaction" aria-labelledby=":R1mbq6: :Rrmbq6:" tabindex="0" data-reaction-text="disappointed" aria-pressed="false"><span id=":Rrmbq6:" class="sr-only">Disappointed Reaction</span><span aria-hidden="true" title="Disappointed">ð</span></button><button class="intercom-reaction" aria-labelledby=":R1mbq6: :R1bmbq6:" tabindex="0" data-reaction-text="neutral" aria-pressed="false"><span id=":R1bmbq6:" class="sr-only">Neutral Reaction</span><span aria-hidden="true" title="Neutral">ð</span></button><button class="intercom-reaction" aria-labelledby=":R1mbq6: :R1rmbq6:" tabindex="0" data-reaction-text="smiley" aria-pressed="false"><span id=":R1rmbq6:" class="sr-only">Smiley Reaction</span><span aria-hidden="true" title="Smiley">ð</span></button></div></fieldset></div><div class="jsx-33b64116cd598d32 w-61 sticky top-8 ml-7 max-w-61 self-start max-lg:hidden mt-16"><div class="jsx-27f84a20f81f6ce9 table-of-contents max-h-[calc(100vh-96px)] overflow-y-auto rounded-2xl text-body-primary-color hover:text-primary max-lg:border max-lg:border-solid max-lg:border-body-border max-lg:shadow-solid-1"><div data-testid="toc-dropdown" class="jsx-27f84a20f81f6ce9 hidden cursor-pointer justify-between border-b max-lg:flex max-lg:flex-row max-lg:border-x-0 max-lg:border-t-0 max-lg:border-solid max-lg:border-b-body-border"><div class="jsx-27f84a20f81f6ce9 my-2 max-lg:pl-4">Table of contents</div><div class="jsx-27f84a20f81f6ce9 "><svg class="ml-2 mr-4 mt-3 transition-transform" transform="rotate(180)" width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.93353 5.93451C4.24595 5.62209 4.75248 5.62209 5.0649 5.93451L7.99922 8.86882L10.9335 5.93451C11.246 5.62209 11.7525 5.62209 12.0649 5.93451C12.3773 6.24693 12.3773 6.75346 12.0649 7.06588L8.5649 10.5659C8.25249 10.8783 7.74595 10.8783 7.43353 10.5659L3.93353 7.06588C3.62111 6.75346 3.62111 6.24693 3.93353 5.93451Z" fill="currentColor"></path></svg></div></div><div data-testid="toc-body" class="jsx-27f84a20f81f6ce9 my-2"><section data-testid="toc-section-0" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none border-body-toc-active-border px-4"><a id="#h_8e88951111" href="#h_8e88951111" data-testid="toc-link-0" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base font-toc-active text-body-primary-color"></a></section><section data-testid="toc-section-1" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-4"><a id="#h_de29ef5cec" href="#h_de29ef5cec" data-testid="toc-link-1" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-2" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_309df8e15f" href="#h_309df8e15f" data-testid="toc-link-2" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-3" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_0a7ce84282" href="#h_0a7ce84282" data-testid="toc-link-3" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-4" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_23e0f97d5b" href="#h_23e0f97d5b" data-testid="toc-link-4" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-5" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-4"><a id="#h_a734c3e219" href="#h_a734c3e219" data-testid="toc-link-5" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-6" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_0c8c48b4ef" href="#h_0c8c48b4ef" data-testid="toc-link-6" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-7" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_be807fb197" href="#h_be807fb197" data-testid="toc-link-7" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-8" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_41869e3c8f" href="#h_41869e3c8f" data-testid="toc-link-8" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-9" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-7"><a id="#h_0f5cbcc29e" href="#h_0f5cbcc29e" data-testid="toc-link-9" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-10" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-4"><a id="#h_94380d9cd8" href="#h_94380d9cd8" data-testid="toc-link-10" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section><section data-testid="toc-section-11" class="jsx-27f84a20f81f6ce9 flex border-y-0 border-e-0 border-s-2 border-solid py-1.5 max-lg:border-none px-4"><a id="#h_b827747da8" href="#h_b827747da8" data-testid="toc-link-11" class="jsx-27f84a20f81f6ce9 w-full no-underline hover:text-body-primary-color max-lg:inline-block max-lg:text-body-primary-color max-lg:hover:text-primary lg:text-base text-body-toc-inactive-color"></a></section></div></div></div></div></section></section></div><footer id="footer" class="mt-24 shrink-0 bg-footer-bg px-0 py-12 text-left text-base text-footer-color"><div class="shrink-0 grow basis-auto px-5 sm:px-10"><div class="mx-auto max-w-240 sm:w-auto"><div><div class="text-center" data-testid="simple-footer-layout"><div class="align-middle text-lg text-footer-color"><a class="no-underline" href="/en/"><img data-testid="logo-img" src="https://downloads.intercomcdn.com/i/o/t2pn256z/705281/8bd273f739ca0e1c5ff350086883/27f9c6d33f02fa7949d871593a804f7a.png" alt="Transifex Help Center" class="max-h-8 contrast-80 inline"/></a></div><div class="mt-10" data-testid="simple-footer-links"><div class="flex flex-row justify-center"></div><ul data-testid="social-links" class="flex flex-wrap items-center gap-4 p-0 justify-center" id="social-links"><li class="list-none align-middle"><a target="_blank" href="https://www.facebook.com/transifex" rel="nofollow noreferrer noopener" data-testid="footer-social-link-0" class="no-underline"><img src="https://intercom.help/transifex-5fd946e1bcf6/assets/svg/icon:social-facebook/f5f5f5" alt="" aria-label="https://www.facebook.com/transifex" width="16" height="16" loading="lazy" data-testid="social-icon-facebook"/></a></li><li class="list-none align-middle"><a target="_blank" href="https://www.linkedin.com/company/transifex" rel="nofollow noreferrer noopener" data-testid="footer-social-link-1" class="no-underline"><img src="https://intercom.help/transifex-5fd946e1bcf6/assets/svg/icon:social-linkedin/f5f5f5" alt="" aria-label="https://www.linkedin.com/company/transifex" width="16" height="16" loading="lazy" data-testid="social-icon-linkedin"/></a></li><li class="list-none align-middle"><a target="_blank" href="https://www.twitter.com/transifex" rel="nofollow noreferrer noopener" data-testid="footer-social-link-2" class="no-underline"><img src="https://intercom.help/transifex-5fd946e1bcf6/assets/svg/icon:social-twitter-x/f5f5f5" alt="" aria-label="https://www.twitter.com/transifex" width="16" height="16" loading="lazy" data-testid="social-icon-x"/></a></li></ul></div><div class="flex justify-center"></div></div></div></div></div></footer></main></div></div>
57<script id="__NEXT_DATA__" type="application/json" nonce="FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc">{"props":{"pageProps":{"app":{"id":"t2pn256z","messengerUrl":"https://widget.intercom.io/widget/t2pn256z","name":"Transifex by XTM","poweredByIntercomUrl":"https://www.intercom.com/intercom-link?company=Transifex+by+XTM\u0026solution=customer-support\u0026utm_campaign=intercom-link\u0026utm_content=We+run+on+Intercom\u0026utm_medium=help-center\u0026utm_referrer=https%3A%2F%2Fhelp.transifex.com%2Fen%2Farticles%2F6265125-github-installation-and-configuration%3F_gl%3D1%2A1rvevvu%2A_gcl_au%2AMTAzMzM4NDM5LjE3NDQ3MDk5MjcuMTMyMzkzNDM2MC4xNzQ2NTE3MTU0LjE3NDY1MTcxNTQ.\u0026utm_source=desktop-web","features":{"consentBannerBeta":false,"customNotFoundErrorMessage":false,"deferVideoEmbeds":false,"disableFontPreloading":false,"disableNoMarginClassTransformation":false,"disableNoMarginCss":false,"dsaReportLink":false,"finOnHelpCenter":false,"firefoxIntlShimFix":false,"helpCenterIntercomBranding":true,"hideIconsWithBackgroundImages":false,"messengerCustomFonts":false,"ticketsPortalAiTitleColumn":false,"ticketsPortalCompanyGrants":false,"ticketsPortalConversationCreation":false,"ticketsPortalConversations":false,"ticketsPortalFullContentSearch":true,"ticketsPortalFullPageMessenger":false,"ticketsPortalKeepMessengerClosed":false,"ticketsPortalTicketCreation":false},"apiBase":"https://api-iam.intercom.io"},"helpCenterSite":{"customDomain":"help.transifex.com","defaultLocale":"en","disableBranding":true,"externalLoginName":"Transifex","externalLoginUrl":"https://www.transifex.com/signin/","externalLoginAppendReturnUrl":false,"footerContactDetails":null,"footerLinks":{"custom":[],"socialLinks":[{"iconUrl":"https://intercom.help/transifex-5fd946e1bcf6/assets/svg/icon:social-facebook","provider":"facebook","url":"https://www.facebook.com/transifex"},{"iconUrl":"https://intercom.help/transifex-5fd946e1bcf6/assets/svg/icon:social-linkedin","provider":"linkedin","url":"https://www.linkedin.com/company/transifex"},{"iconUrl":"https://intercom.help/transifex-5fd946e1bcf6/assets/svg/icon:social-twitter-x","provider":"x","url":"https://www.twitter.com/transifex"}],"linkGroups":[]},"headerLinks":[{"site_link_group_id":90561,"id":75837,"help_center_site_id":3032928,"title":"Developer Hub","url":"https://developers.transifex.com/","sort_order":1,"link_location":"header"},{"site_link_group_id":90561,"id":75838,"help_center_site_id":3032928,"title":"Community","url":"https://community.transifex.com/","sort_order":2,"link_location":"header"}],"homeCollectionCols":2,"googleAnalyticsTrackingId":"G-5ZT2PD29T4","googleTagManagerId":null,"pathPrefixForCustomDomain":null,"seoIndexingEnabled":true,"helpCenterId":3032928,"url":"https://help.transifex.com","customizedFooterTextContent":null,"consentBannerConfig":null,"canInjectCustomScripts":false,"showTableOfContents":true,"showArticleDescriptions":true,"scriptSection":1,"customScriptFilesExist":false},"localeLinks":[{"id":"en","absoluteUrl":"https://help.transifex.com/en/articles/6265125-github-installation-and-configuration","available":true,"hreflang":"en","name":"English","selected":true,"url":"/en/articles/6265125-github-installation-and-configuration"}],"requestContext":{"articleSource":null,"academy":false,"canonicalUrl":"https://help.transifex.com/en/articles/6265125-github-installation-and-configuration","experience":"legacy","headerless":false,"isDefaultDomainRequest":false,"nonce":"FeG0GvrsUAUvnwHfZOPGACatLd2hj5LgU7xZdDsFOgc","rootUrl":"/en/","sheetUserCipher":null,"type":"help-center"},"theme":{"color":"463CFF","siteName":"Transifex Help Center","headline":"Hi there! How can we help today?","headerFontColor":"FFFFFF","logo":"https://downloads.intercomcdn.com/i/o/t2pn256z/705280/63ab82bf28ff5c80a2db62fb37e9/fddbc3827873a807cabddad3ae6fcb14.png","logoHeight":"476","header":null,"favicon":"https://intercom.help/transifex-5fd946e1bcf6/assets/favicon","locale":"en","homeUrl":"https://transifex.com","social":null,"urlPrefixForDefaultDomain":"https://intercom.help/transifex-5fd946e1bcf6","customDomain":"help.transifex.com","customDomainUsesSsl":true,"customizationOptions":{"customizationType":1,"header":{"backgroundColor":"#463CFF","fontColor":"#FFFFFF","fadeToEdge":false,"backgroundGradient":{"steps":[{"color":"#5449FF"},{"color":"#463CFF"},{"color":"#352B90"}]},"backgroundImageId":null,"backgroundImageUrl":null},"body":{"backgroundColor":"#ffffff","fontColor":null,"fadeToEdge":null,"backgroundGradient":null,"backgroundImageId":null},"footer":{"backgroundColor":"#463CFF","fontColor":"#f5f5f5","fadeToEdge":null,"backgroundGradient":null,"backgroundImageId":null,"showRichTextField":false},"layout":{"homePage":{"blocks":[{"type":"tickets-portal-link","enabled":false},{"type":"article-list","columns":2,"enabled":true,"localizedContent":[{"title":"Popular Articles","locale":"en","links":[{"articleId":"8059642","type":"article-link"},{"articleId":"9465000","type":"article-link"},{"articleId":"6265125","type":"article-link"},{"articleId":"6248698","type":"article-link"},{"articleId":"6240403","type":"article-link"},{"articleId":"6318944","type":"article-link"}]}]},{"type":"collection-list","columns":2,"template":2},{"type":"content-block","enabled":false,"columns":1}]},"collectionsPage":{"showArticleDescriptions":true},"articlePage":{},"searchPage":{}},"collectionCard":{"global":{"backgroundColor":"#463CFF","fontColor":"#F5F5F5","fadeToEdge":null,"backgroundGradient":null,"backgroundImageId":null,"showIcons":true,"backgroundImageUrl":null},"collections":[]},"global":{"font":{"customFontFaces":[],"primary":"Inter","secondary":"Inter"},"componentStyle":{"card":{"type":"bordered","borderRadius":10}},"namedComponents":{"header":{"subheader":{"enabled":false,"style":{"backgroundColor":"#000000","fontColor":"#FFFFFF"}},"style":{"height":"245px","align":"start","justify":"end"}},"searchBar":{"style":{"width":"100%","borderRadius":10}},"footer":{"type":0}},"brand":{"colors":[],"websiteUrl":""},"secondaryColor":null,"accentRoles":{"link":null,"button":null}
57,"showDotTexture":null,"heroBrandView":false,"showCopyForLlm":null,"copyForLlmItems":null},"contentBlock":{"blockStyle":{"backgroundColor":"#ffffff","fontColor":"#1a1a1a","fadeToEdge":null,"backgroundGradient":null,"backgroundImageId":null,"backgroundImageUrl":null},"buttonOptions":{"backgroundColor":"#334BFA","fontColor":"#ffffff","borderRadius":6},"isFullWidth":false,"align":null}},"helpCenterName":"Transifex Help Center","footerLogo":"https://downloads.intercomcdn.com/i/o/t2pn256z/705281/8bd273f739ca0e1c5ff350086883/27f9c6d33f02fa7949d871593a804f7a.png","footerLogoHeight":"135","localisedInformation":{"contentBlock":{"locale":"en","title":"Content section title","withButton":false,"description":"","buttonTitle":"Button title","buttonUrl":""}}},"articleContent":{"articleId":"6265125","author":{"avatar":"https://static.intercomassets.com/avatars/5391157/square_128/Asset_5_2x-1712933270.png","name":"Transifex","first_name":"Transifex","avatar_shape":"circle"},"blocks":[{"type":"paragraph","text":"You can effortlessly update resources on GitHub without coding by just pointing and clicking. Through Transifex GitHub integration, you can link a localization project in Transifex to a designated GitHub repository using \u003cb\u003eonly the Transifex user interface\u003c/b\u003e.","class":"no-margin"},{"type":"callout","content":[{"type":"paragraph","text":"\u003cb\u003eð¡Tip: \u003c/b\u003eUse our traditional GitHub integration tools described \u003ca href=\"https://help.transifex.com/en/articles/6266051-using-transifex-with-github-in-your-development-workflow\"\u003ehere\u003c/a\u003e to communicate with GitHub Enterprise. In this manner, access is not given to an external service for something so important internally.","class":"no-margin"}],"style":{"backgroundColor":"#e3e7fa80","borderColor":"#334bfa33"}},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"horizontalRule","text":"___________________________________________________________"},{"type":"heading","text":"Installing the GitHub Integration in a Specific Project","idAttribute":"h_8e88951111"},{"type":"paragraph","text":"To install the standalone integration that connects Transifex and GitHub, you need to perform the following steps:","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"unorderedNestedList","text":"- Go to your project Settings \u0026gt; Integrations \u0026gt; GitHub \u0026gt; Install\n \n \n \n- You will be redirected to the integrationâs authorization page, where: \n - First, it is necessary to grant permission for the integration to perform modifications in Transifex on your behalf.\n \n \n \n - Next, you'll need to authorize the integration in your GitHub account. To do this, select the Authorize button and log into your GitHub account (if you haven't already done so).","items":[{"content":[{"type":"paragraph","text":"Go to your project Settings \u0026gt; Integrations \u0026gt; GitHub \u0026gt; Install","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990947152/d96e4faddbb7590cf62072ea/install+github.png?expires=1790843400\u0026signature=505d8b2f4057abc6990c2bb82cf409acd15e6e2ee0116fcc87f06102b1ea000e\u0026req=fSknH815nIRdFb4f3HP0gJ2Da6SNt54qokv85SZx0COazTJ2TWTBa9darLNY%0AL00%3D%0A","width":921,"height":563,"align":"center"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"You will be redirected to the integrationâs authorization page, where: ","class":"no-margin"},{"type":"unorderedNestedList","text":"- First, it is necessary to grant permission for the integration to perform modifications in Transifex on your behalf.\n \n \n \n- Next, you'll need to authorize the integration in your GitHub account. To do this, select the Authorize button and log into your GitHub account (if you haven't already done so).","items":[{"content":[{"type":"paragraph","text":"First, it is necessary to grant permission for the integration to perform modifications in Transifex on your behalf.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990947943/e8f48c6c8e6200e27cbe8394/autorize.png?expires=1790843400\u0026signature=ab55b77579b66e56c471adf902c36abda4d80370a4a891a14526be3071b2cc94\u0026req=fSknH815lIVcFb4f3HP0gF7PVsQOvkFuJsSuz3gv3qJZLliZ40euYufGrOzG%0ADKc%3D%0A","width":573,"height":554},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"Next, you'll need to authorize the integration in your GitHub account. To do this, select the Authorize button and log into your GitHub account (if you haven't already done so).","class":"no-margin"}]}]}]}]},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990948554/142c7ddefa3a0a907fe65066/Screenshot+2024-03-13+at+17_45_14.png?expires=1790843400\u0026signature=32321db2c21e8dde6743f0d258ba0028b0869026f7a9419df22098501014d1cd\u0026req=fSknH812mIRbFb4f3HP0gLe%2F%2F2o6319X3gtV53awBfUU1dRe48n9c2%2F13OeO%0A6G82TrJuAe7nRi0WFw%3D%3D%0A","width":968,"height":281},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990948567/c7d2d9e44866e713437f068d/Screenshot+2024-03-13+at+17_45_45.png?expires=1790843400\u0026signature=3ff9d70645fb42118633d64234b2f1b370362c9ff75cecbe6c1aabb10417c87d\u0026req=fSknH812mIdYFb4f3HP0gFrJyb2Sx4oT7jadMRzoCLtTGipgxtwhvzbYQFrj%0AZ3w3qI8qY8xgai9t1g%3D%3D%0A","width":398,"height":463,"align":"center"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"unorderedNestedList","text":"- Available installations will be listed next. To configure your GitHub applications, visit your GitHub settings page using the link available on the page below:\n \n \n \n- Click Configure once you are redirected to your GitHub account.","items":[{"content":[{"type":"paragraph","text":"Available installations will be listed next. To configure your GitHub applications, visit your GitHub settings page using the link available on the page below:","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/673617874/d0bd0c2149ecb295d35ba69f/Screenshot+2023-02-16+at+12.20.51+PM.png?expires=1790843400\u0026signature=7acd1c46609f090befec2f94bdb78af9018173cd01c0f1c9b1d4ac66c4d79f2f\u0026req=cickEMh5lYZbFb4f3HP0gCMYIlfS66vZQ%2FJ89lgbd8M2jWBsiPBeB8aOO44Y%0Aj%2B0%3D%0A"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"Click Configure once you are redirected to your GitHub account.","class":"no-margin"}]}]},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990949033/6b4a5497d2972a3083da6962/Screenshot+2024-03-13+at+17_46_57.png?expires=1790843400\u0026signature=65e1b006e7cce0ec2c9c3938ecb7911936166426048a8e3b165cbdf752cb7789\u0026req=fSknH813nYJcFb4f3HP0gL0vm7QjvYC6GNCwXsYSy6oHfgq1WtR0F8yO3jsv%0A%2FBVUOfpUwLPGr2DfRQ%3D%3D%0A","width":1036,"height":570,"align":"center"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"unorderedNestedList","text":"- Next, select where you want to install the Transifex integration and choose one or multiple repositories to be accessible in Transifex. The owner (a
57dmin) of the account must perform the authentication and repository selection on GitHub. You can choose from the following two alternatives:\n - \u003cb\u003eAll repositories\u003c/b\u003e. This option lets you link all present and future repositories to your TX project. You can link each repository to a different project in Transifex.\n - \u003cb\u003eOnly select repositories\u003c/b\u003e. This option allows you to choose specific repositories to be synced with your TX project(s).\n ","items":[{"content":[{"type":"paragraph","text":"Next, select where you want to install the Transifex integration and choose one or multiple repositories to be accessible in Transifex. The owner (admin) of the account must perform the authentication and repository selection on GitHub. You can choose from the following two alternatives:","class":"no-margin"},{"type":"unorderedNestedList","text":"- \u003cb\u003eAll repositories\u003c/b\u003e. This option lets you link all present and future repositories to your TX project. You can link each repository to a different project in Transifex.\n- \u003cb\u003eOnly select repositories\u003c/b\u003e. This option allows you to choose specific repositories to be synced with your TX project(s).","items":[{"content":[{"type":"paragraph","text":"\u003cb\u003eAll repositories\u003c/b\u003e. This option lets you link all present and future repositories to your TX project. You can link each repository to a different project in Transifex.","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"\u003cb\u003eOnly select repositories\u003c/b\u003e. This option allows you to choose specific repositories to be synced with your TX project(s).","class":"no-margin"}]}]},{"type":"paragraph","text":" ","class":"no-margin"}]}]},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990949374/4afa3b3303fec8c38c905c79/Screenshot+2024-03-13+at+17_47_39.png?expires=1790843400\u0026signature=fee30af7c587b143a0654fc99edbb356f8ffa7905cf76eaa7ec8762661f224f5\u0026req=fSknH813noZbFb4f3HP0gDX6Jdx4AS19Q6x4ogl6h20gd8RW2mhIbTBzlvX5%0A2Iy57%2BZozHZ%2BGAXU9Q%3D%3D%0A","width":555,"height":648,"align":"center"},{"type":"unorderedNestedList","text":"- Once you click Install, you will be redirected back to the GitHub integrationâs UI. At this point, you can authorize the GitHub integration to access your GitHub account.\n \n \n \n- Upon clicking Authorize, you will see the installation you executed in the previous steps. In case you installed multiple apps, they will all be listed as shown below:","items":[{"content":[{"type":"paragraph","text":"Once you click Install, you will be redirected back to the GitHub integrationâs UI. At this point, you can authorize the GitHub integration to access your GitHub account.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990949772/6a763b11cedc779b144dd13e/Screenshot+2024-03-13+at+17_48_36.png?expires=1790843400\u0026signature=05137ca07c28fbbda7677eab2fa71f4e9d805aa3a15bf38623699ecb31fde4f8\u0026req=fSknH813moZdFb4f3HP0gFp9y89nk1EkIZr8l8wTAfH%2F2ZVd9sl8aKpGN0PH%0ALlc%3D%0A","width":1213,"height":325},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"Upon clicking Authorize, you will see the installation you executed in the previous steps. In case you installed multiple apps, they will all be listed as shown below:","class":"no-margin"}]}]},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/673291916/54a764c63108ba21cfd2df88/Screenshot+2023-02-15+at+10.27.35+PMp.png?expires=1790843400\u0026signature=cf96ec3e022ba47cfc8f13710e97ce70e60dc66ce3e4a639e9a8fb4604632f33\u0026req=cickFMB%2FlIBZFb4f3HP0gP3t54%2BPeQEw7u7MyfokPU2xLP4Tqmdy8LIYCTdj%0A%2BY%2BVpmvduK2b879C1A%3D%3D%0A","displayWidth":560,"align":"center"},{"type":"unorderedNestedList","text":"- Select the GitHub account you would like to connect with your project. You are now ready to link a repository.\n \n \n ","items":[{"content":[{"type":"paragraph","text":"Select the GitHub account you would like to connect with your project. You are now ready to link a repository.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990950168/df2d79c7b05206d53ef2b3b5/Screenshot+2024-03-13+at+17_49_47.png?expires=1790843400\u0026signature=0e0e96007b32e5ded41bf5481c379256d97a6c27a1682ff8bb11b0d590606fff\u0026req=fSknH8x%2BnIdXFb4f3HP0gFja7c%2BzTE7aPRk6H1jeHkRVd4vy%2FyfIr5vb0Efa%0AYW0%3D%0A","width":1319,"height":624,"align":"center"},{"type":"paragraph","text":" ","class":"no-margin"}]}]},{"type":"callout","content":[{"type":"paragraph","text":"\u003cb\u003e ð Important Note:\u003c/b\u003e Your privacy and data security are our utmost priority. ","class":"no-margin"},{"type":"orderedNestedList","text":"1. \u003cb\u003eFile Handling:\u003c/b\u003e Rest assured that we will never read, write, or delete any files beyond what is specified in the YAML file. Our scanning process only aims to find matching files based on the provided YAML configuration.\n \n2. \u003cb\u003ePull Request Policy:\u003c/b\u003e We respect the integrity of the Pull Request system. We will never close any Pull Request not initiated by our integration. ","items":[{"content":[{"type":"paragraph","text":"\u003cb\u003eFile Handling:\u003c/b\u003e Rest assured that we will never read, write, or delete any files beyond what is specified in the YAML file. Our scanning process only aims to find matching files based on the provided YAML configuration.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"\u003cb\u003ePull Request Policy:\u003c/b\u003e We respect the integrity of the Pull Request system. We will never close any Pull Request not initiated by our integration. ","class":"no-margin"}]}]}],"style":{"backgroundColor":"#e3e7fa80","borderColor":"#334bfa33"}},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"horizontalRule","text":"___________________________________________________________"},{"type":"heading","text":"Linking a Specific Project With a GitHub Repository","idAttribute":"h_de29ef5cec"},{"type":"paragraph","text":"Clicking on the Link Repository button, the GitHub Integration wizard will pop up to manage the setup.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading","text":"Select your Repository","idAttribute":"h_309df8e15f"},{"type":"paragraph","text":"On the wizard's first step, select the GitHub repository and branch to sync with the project. The available repositories listed are the ones you authorized when you installed the Transifex app on the GitHub account you used for the integration. At this point, the GitHub integration works on top of a single branch.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/692935298/afee48b05e98bd71c171d486/Screenshot+2023-03-16+at+9.00.06+PM.png?expires=1790843400\u0026signature=fa39393ecea0b7ce70c414049400cd070d7c0c5bf848beef26543ea20a37787f\u0026req=ciklH8p7n4hXFb4f3HP0gNRYVuQk2bK1xQX%2BJFY41KAwhSSomy%2BV%2FK43pDCj%0Aijh0TrERqHWi7ipnmw%3D%3D%0A","width":1022,"height":626},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"You can find more information about the multi-branching feature \u003ca href=\"https://help.transifex.com/en/articles/7130817-working-with-github-bitbucket-branches\"\u003ehere\u003c/a\u003e. ","class":"no-margin"},{"type":"callout","content":[{"type":"paragraph","text":"\u003cb\u003eð Note\u003c/b\u003es ","class":"no-margin"},{"type":"unorderedNestedList","text":"- You can link multiple repositories to a
57single project later. Please refer to \u003ca href=\"https://help.transifex.com/en/articles/8065153-github-advanced-settings#h_bb384f71f1\"\u003ethis article\u003c/a\u003e for more details.\n- If your workspace contains \u003cb\u003eover 100 repositories\u003c/b\u003e, the repository selection dropdown will be replaced with a text input field, allowing you to quickly type and find the repository you need. \u003cbr\u003eâ\u003cbr\u003eTo select a repository, \u003cb\u003etype the repositoryâs slug\u003c/b\u003e in the following format:\u003cbr\u003eâ\u003cb\u003e\u003ccode\u003eaccount/repository_slug\u003c/code\u003e\u003c/b\u003e.","items":[{"content":[{"type":"paragraph","text":"You can link multiple repositories to a single project later. Please refer to \u003ca href=\"https://help.transifex.com/en/articles/8065153-github-advanced-settings#h_bb384f71f1\"\u003ethis article\u003c/a\u003e for more details.","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"If your workspace contains \u003cb\u003eover 100 repositories\u003c/b\u003e, the repository selection dropdown will be replaced with a text input field, allowing you to quickly type and find the repository you need. \u003cbr\u003eâ\u003cbr\u003eTo select a repository, \u003cb\u003etype the repositoryâs slug\u003c/b\u003e in the following format:\u003cbr\u003eâ\u003cb\u003e\u003ccode\u003eaccount/repository_slug\u003c/code\u003e\u003c/b\u003e.","class":"no-margin"}]}]}],"style":{"backgroundColor":"#e3e7fa80","borderColor":"#334bfa33"}},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading","text":"Select files","idAttribute":"h_0a7ce84282"},{"type":"paragraph","text":"When you finish this step, click \u003cb\u003eNext \u003c/b\u003eto set up the repository files related to localization. There are two ways to select what GitHub files will be synced with your Transifex project:","class":"no-margin"},{"type":"unorderedNestedList","text":"- The first is through a YML config file called âtransifex.ymlâ (but you can name it as you wish). This file will be hosted in your GitHub repository. You can check the following sections for more details:\n - \u003ca href=\"#h_94380d9cd8\"\u003eYAML Configuration Parameter Descriptions\u003c/a\u003e and\n - \u003ca href=\"#h_b827747da8\"\u003eMore Examples of YAML Configurations\u003c/a\u003e\n \n By default, the integration looks for this file on the root of the branch repo selected in the previous step. However, you can store the file in any folder of your choice. Before proceeding with the wizard's next step, make sure that this file is available in your repo. After that, press \"Apply\" to preview your file within the Transifex wizard:\n \n \n ","items":[{"content":[{"type":"paragraph","text":"The first is through a YML config file called âtransifex.ymlâ (but you can name it as you wish). This file will be hosted in your GitHub repository. You can check the following sections for more details:","class":"no-margin"},{"type":"unorderedNestedList","text":"- \u003ca href=\"#h_94380d9cd8\"\u003eYAML Configuration Parameter Descriptions\u003c/a\u003e and\n- \u003ca href=\"#h_b827747da8\"\u003eMore Examples of YAML Configurations\u003c/a\u003e","items":[{"content":[{"type":"paragraph","text":"\u003ca href=\"#h_94380d9cd8\"\u003eYAML Configuration Parameter Descriptions\u003c/a\u003e and","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"\u003ca href=\"#h_b827747da8\"\u003eMore Examples of YAML Configurations\u003c/a\u003e","class":"no-margin"}]}]},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"By default, the integration looks for this file on the root of the branch repo selected in the previous step. However, you can store the file in any folder of your choice. Before proceeding with the wizard's next step, make sure that this file is available in your repo. After that, press \"Apply\" to preview your file within the Transifex wizard:","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/673302189/0f8d0dd4391d8d3d1aa153d2/Screenshot+2023-02-15+at+10.46.00+PM.png?expires=1790843400\u0026signature=92faaef8188cff8d30e82f901d8f076a8040eb2e2e3c7fb724b181cc6f763ddd\u0026req=cickFcl8nIlWFb4f3HP0gJ%2FUo7NpYbgebc63D0Q4gWihteKzBCZHRJS%2BOPxs%0ABZk%3D%0A"},{"type":"paragraph","text":" ","class":"no-margin"}]}]},{"type":"unorderedNestedList","text":"- The second option is to add the configuration directly in the integration using the text box provided. You will be notified if the configuration is valid as you type.\n \n \n ","items":[{"content":[{"type":"paragraph","text":"The second option is to add the configuration directly in the integration using the text box provided. You will be notified if the configuration is valid as you type.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/673304475/a893b798eecc8f6e7c03bf93/Screenshot+2023-02-15+at+10.49.45+PM.png?expires=1790843400\u0026signature=14de6c1477344fab63c7fa4260699b010abaace197412c353a9df13d245a405c\u0026req=cickFcl6mYZaFb4f3HP0gEuA1U1GmBu6tKspulYIIUZHmOEFG3%2BCA3Ct1Zo8%0Aqbw%3D%0A","align":"center"},{"type":"paragraph","text":" ","class":"no-margin"}]}]},{"type":"paragraph","text":"Regardless of the synchronization option you select for your files, you can validate the detected files based on the specified paths in your configuration by selecting the \"Test configuration\" button. After you complete it, you can click the \u003cb\u003eNext \u003c/b\u003ebutton to establish a connection between your Transifex project and your GitHub repository and branch.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"callout","content":[{"type":"paragraph","text":"\u003cb\u003eðNote: \u003c/b\u003eWhenever your config file is updated in your GitHub repository or from within the integration, Transifex is notified, and a sync process between the two systems is triggered automatically.","class":"no-margin"},{"type":"unorderedNestedList","text":"- Whenever new files are added to the configuration file, new resources will be created in Transifex that include any translations obtained from GitHub. The
57se resources will be identified by a unique slug. The GitHub repository and branch path will be added as categories for these resources.\n \n- Regarding existing resources that have already been synchronized with GitHub, if translations are detected in your GitHub repository and no translations for that language exist in Transifex, these newly detected translation files will be sent to Transifex.","items":[{"content":[{"type":"paragraph","text":"Whenever new files are added to the configuration file, new resources will be created in Transifex that include any translations obtained from GitHub. These resources will be identified by a unique slug. The GitHub repository and branch path will be added as categories for these resources.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"Regarding existing resources that have already been synchronized with GitHub, if translations are detected in your GitHub repository and no translations for that language exist in Transifex, these newly detected translation files will be sent to Transifex.","class":"no-margin"}]}]}],"style":{"backgroundColor":"#e3e7fa80","borderColor":"#334bfa33"}},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading","text":"Sync content","idAttribute":"h_23e0f97d5b"},{"type":"paragraph","text":"By clicking the \u003cb\u003eNext \u003c/b\u003ebutton, you will be directed to the last step of the configuration, where you will establish the mechanism for synchronization between Transifex and GitHub.","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/844673869/8a9b22969f0ca40170b786bb/Screenshot+2023-10-03+at+8.52.23.png?expires=1790843400\u0026signature=5c4f4fc928a1a22bb7e84ceab7e5e9920061d7b69d63f2afabfd37e6ff46a344\u0026req=fCQjEM59lYdWFb4f3HP0gCn%2BJXPxlSunxwBEmO0tTHmNvSSSRMKlm1%2FStBe9%0AMqHqFaMHUjsN9Wi%2F6Q%3D%3D%0A","width":817,"height":505},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990927688/80418fe0a05dc9afa11e2c9d/Screenshot+2024-03-13+at+17_00_37.png?expires=1790843400\u0026signature=030797733ae06d62a4c5778f87d98ad9d57ea078c56c7c706d321a1b428d3982\u0026req=fSknH8t5m4lXFb4f3HP0gENF4HvrnPm7osw2u%2BoeAcXSyCFw6dtE0zxRJTi7%0AZW1exHgMPvsnoXn8Ag%3D%3D%0A","width":1027,"height":633},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading3","text":"Pulling content from your repository to Transifex.","idAttribute":"h_ad5b2dcf8e"},{"type":"paragraph","text":"Whenever any changes are made to the designated branch of a GitHub repository, the process of \u003cb\u003epulling content from that branch happens automatically\u003c/b\u003e. This means that any new code or updates pushed to the repository will be automatically incorporated into the project. This automated process saves significant time and effort, as it eliminates the need for manual updates or synchronization of the code.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading3","text":"Pushing content from Transifex to your repository. ","idAttribute":"h_696f99c6c4"},{"type":"paragraph","text":"You can decide when and how your localized content is pushed to your repository. ","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"When to push your localized content to GitHub depends on the progress of your localization process. You can decide when to push your translated content to your repo; you have the following options to set this up:","class":"no-margin"},{"type":"unorderedNestedList","text":"- 100% translated\n- 100% reviewed\n- 100% proofread\n- custom","items":[{"content":[{"type":"paragraph","text":"100% translated","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"100% reviewed","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"100% proofread","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"custom","class":"no-margin"}]}]},{"type":"paragraph","text":"Below, you'll read more about these options.","class":"no-margin"},{"type":"subheading4","text":"When a target language reaches 100% of the translation work done.","idAttribute":"h_7d67a74877"},{"type":"paragraph","text":"When you choose to push your content to your repository using this option, it means that Transifex will only push a file's translations once this file has all its strings translated in a specific target language; it will only push the translations of this language to the repository; and it'll not push the translations of target languages that have less than 100% of completion.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990950892/9a8d32738f85495ec176fda6/Screenshot+2024-03-13+at+17_51_31.png?expires=1790843400\u0026signature=af8b4b3ef551113e82d14b5cc56
577a1feadd1e9bbbb69fef0b5d7df0d14c16ecb\u0026req=fSknH8x%2BlYhdFb4f3HP0gCYVR93k7N5WL7Dd0AHqMPF6F68hkF7ntsNB%2BCrL%0AZ6fJzGsBRk%2F9j6jNkw%3D%3D%0A","width":1018,"height":629},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"For example, if you have a file with the following translation progress, only the translations of Afrikaans(af) and Greek(el) will be sent to your repository, and the Spanish(es) translations will be ignored.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/844729765/d2e6b6f819cbf2e1ff956534/Screenshot+2023-10-03+at+9.29.46.png?expires=1790843400\u0026signature=111e87075d78540518a44eb065ecc0fbacc813eaf62492b54384e8735deee37c\u0026req=fCQjEct3modaFb4f3HP0gEWP5MAQoRwivXolHi5XlAMNLHGmaqhpDBzyM8bh%0AtAZ0U0suX7Ptj%2FfhFg%3D%3D%0A","width":814,"height":440},{"type":"subheading4","text":"\u003cb\u003eWhen a target language reaches 100% of reviewed strings.\u003c/b\u003e","idAttribute":"h_2d5d824162"},{"type":"paragraph","text":"When you choose to push your content to your repository using this option, it means that Transifex will only push a file's translations once this file has all its strings reviewed in a specific target language; it will only push the translations of this language to the repository; and it'll not push the translations of target languages that have less than 100% of reviewed strings.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990951215/4d399eaa79660041f33f0f27/Screenshot+2024-03-13+at+17_52_47.png?expires=1790843400\u0026signature=f57e11b53cdb1387899b63eff5ee9024c215df35863bc8673ef8ad50347acb66\u0026req=fSknH8x%2Fn4BaFb4f3HP0gC4eoFNoc3rE%2BsQUFm87100FCfQPns%2B6bcJ2p1TK%0AMQ4dxyedXYGRWpLicg%3D%3D%0A","width":1018,"height":629},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"For example, if you have a file with the following translation progress, only the translations of Afrikaans(af) will be sent to your repository, and the Spanish(es) and Greek(el) translations will be ignored.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/844746593/06906dae0799ff9bc6be3f08/Screenshot+2023-10-03+at+9.39.50.png?expires=1790843400\u0026signature=9cf21f2c3fb38e87633f7a882ab4fb032b8f05c4728c2d31ef6ce005f2f33eb6\u0026req=fCQjEc14mIhcFb4f3HP0gLcFJdtqzKRti70FwISfFBBMi0F%2FCLKq1VZIOQ6h%0A%2B9P%2FxuxCM60WGyqH7w%3D%3D%0A","width":816,"height":315},{"type":"subheading4","text":"\u003cb\u003eWhen a target language reaches 100% of proofread strings.\u003c/b\u003e","idAttribute":"h_bac3c60f7d"},{"type":"paragraph","text":"When you choose to push your content to your repository using this option, it means that Transifex will only push a file's translations once this file has all its strings \u003ca href=\"https://help.transifex.com/en/articles/6318604-reviewing-translations#h_f1e388ddf7\"\u003eproofread\u003c/a\u003e in a specific target language; it will only push the translations of this language to the repository; and it'll not push the translations of target languages that have less than 100% of proofread strings.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990951435/74b47665a68b1acc0b8bba03/Screenshot+2024-03-13+at+17_53_13.png?expires=1790843400\u0026signature=f4f0381229fe967d7cbd6baa9508334c765852f16e7a0b0e4e2d119c1b27fabc\u0026req=fSknH8x%2FmYJaFb4f3HP0gOGzgwlb1MmhGu7QUcCudzkJhk%2B2q8EttP9xeeyL%0AsIw5H9SX%2FFxI%2BIEF7w%3D%3D%0A","width":1018,"height":629},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"For example, if you have a file with the following translation progress, only the translations of Greek(el) will be sent to your repository, and the Spanish(es) and Afrikaans(af) translations will be ignored.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/844763307/927c1ba7c25b7ab0f5d7f460/Screenshot+2023-10-03+at+9.51.34.png?expires=1790843400\u0026signature=d5f6e2cbbc5a061e32bf788c11111cc9171cfebcd25216597e4246c743330e0e\u0026req=fCQjEc99noFYFb4f3HP0gNUAUWe16LKkeRTR4toqvIB1oFkRKPFGi84KycaT%0AVuosndxLKqXiEtqbOg%3D%3D%0A","width":815,"height":313},{"type":"subheading4","text":"Push content according to a Custom threshold (\u0026lt;100%) ","idAttribute":"h_3406180d8c"},{"type":"paragraph","text":"If you need your translations to reach GitHub faster without waiting for languages to be fully completed, you can set a less than 100% custom threshold and select the desired translation status (translated, reviewed, proofread).","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990951854/d8f6c289c65837f5155b5707/Screenshot+2024-03-13+at+17_54_07.png?expires=1790843400\u0026signature=7c8fa3a97028e2c05acead9abab9da431b2e120f8cb525628846adf42868929d\u0026req=fSknH8x%2FlYRbFb4f3HP0gPqulMyvZWUIo2AgGg1Og2jYvfdYdIMVE8SQr5ny%0APtEADWl691%2B8OhIskg%3D%3D%0A","width":1019,"height":629},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"callout","content":[{"type":"paragraph","text":"\u003cb\u003eðNote\u003c/b\u003e: if a language is already translated/reviewed/proofread and translations are updated in Transifex, the updated translations will automatically be sent to your repo.","class":"no-margin"}],"style":{"backgroundColor":"#e3e7fa80","borderColor":"#334bfa33"}},{"type":"paragraph","text":"For example, if you have a file with the following translation progress and define the custom threshold to 60% translated, only the translations of Greek(el) and Afrikaans(af) will be sent to your repository, and the Spanish(es) translations will be ignored.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/844803249/b4c6f755c8c66054bca9130f/Screenshot+2023-10-03+at+10.31.37.png?expires=1790843400\u0026signature=6e430e95211da87caf9c46b2d84b00a6dcef86d5e891a1d566deee57e9290b88\u0026req=fCQjHsl9n4VWFb4f3HP0gGMUS1rD77bOJmt8Bk7snDXV5BsgNLNgb53gLUjY%0A1isIobix3ihHDVH62Q%3D%3D%0A","width":811,"height":358},{"type":"paragraph","text":"You can also define how your translation content reaches your repository; below, you'll find the option you have to set up the way the translations in Transifex hit your repository. You can choose between:","class":"no-margin"},{"type":"unorderedNestedList","text":"- Create a Pull Request\n- Commit directly","items":[{"content":[{"type":"paragraph","text":"Create a Pull Request","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"Commit directly","class":"no-margin"}]}]},{"type":"paragraph","text":"Below, you'll find more information about these options:","class":"no-margin"},{"type":"subheading4","text":"\u003cb\u003eCreate a Pull Request\u003c/b\u003e","idAttribute":"h_2c2c9a509b"},{"type":"paragraph","text":"This will create a new branch with the localized content and open a PR on the branch that you can later merge directly from GitHub. However, if an open PR already exists containing previous translations, it will be updated with the latest ones.","class":"no-margin"},{"type":"unorderedNestedList","text":"- \u003cb\u003eContent grouping\u003c/b\u003e\u003cbr\u003eYou can group PRs, particularly when dealing with numerous target languages in your project and resources requiring localization. The following grouping options are available:\n - No grouping - This creates separate PRs for each resource and language combination.\n - By resource - The PR will contain translations in all target languages for a single resource.\n - By language - The PR will contain translations in a specific language for all resources.\n - All resources and languages - This creates a single PR that includes translations for all resources and all target languages.\n - \u003cb\u003eCommit directly for branches associated with the multi-branch feature\u003c/b\u003e\u003cbr\u003eEnabling this option allows you to customize how translation updates are pushed to branches associated with the multi-branch feature while keeping the PR option for your default branch. Please note that this option is available exclusively when the Multi-branching option is enabled.\n- \u003cb\u003eCommit directly\u003c/b\u003e. Commit changes directly to the selected branch.","items":[{"content":[{"type":"paragraph","text":"\u003cb\u003eContent grouping\u003c/b\u003e\u003cbr\u003eYou can group PRs, particularly when dealing with numerous target languages in your project and resources requiring localization. The following grouping options are available:","class":"no-margin"},{"type":"unorderedNestedList","text":"- No grouping - This creates separate PRs for each resource and language combination.\n- By resource - The PR will contain translations in all target languages for a single resource.\n- By language - The PR will contain translations in a specific language for all resources.\n- All resources and languages - This creates a single PR that includes translations for all resources and all target languages.","items":[{"content":[{"type":"paragraph","text":"No grouping - This creates separate PRs for each resource and language combination.","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"By resource - The PR will contain translations in all target languages for a single resource.","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"By language - The PR will contain translations in a specific language for all resources.","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"All resources and languages - This creates a single PR that includes translations for all resources and all target languages.","class":"no-margin"}]}]},{"type":"unorderedNestedList","text":"- \u003cb\u003eCommit directly for branches associated with the multi-branch feature\u003c/b\u003e\u003cbr\u003eEnabling this option allows you to customize how translation updates are pushed to branches associated with the multi-branch feature while keeping the PR option for your default branch. Please note that this option is available exclusively when the Multi-branching option is enabled.","items":[{"content":[{"type":"paragraph","text":"\u003cb\u003eCommit directly for branches associated with the multi-branch feature\u003c/b\u003e\u003cbr\u003eEnabling this option allows you to customize how translation updates are pushed to branches associated with the multi-branch feature while keeping the PR option for your default branch. Please note that this option is available exclusively when the Multi-branching option is enabled.","class":"no-margin"}]}]}]},{"content":[{"type":"paragraph","text":"\u003cb\u003eCommit directly\u003c/b\u003e. Commit changes directly to the selected branch.","class":"no-margin"}]}]},{"type":"callout","content":[{"type":"paragraph","text":"\u003cb\u003eðThings to note when using Pull Requests\u003c/b\u003e","class":"no-margin"},{"type":"unorderedNestedList","text":"- Suppose the translation or review percentage falls below the set threshold in Transifex, and a PR has already been opened in your repository. In that case, we'll automatically close the PR to ensure no outdated translations remain pending for your review.\n \
57n- If a PR is created based on the condition that x% of the language is translated and the setting is later updated to y% for review or proofreading, we'll close the existing PR and open a new one once the new conditions are met. This ensures that your repository always has the latest and most accurate translations.","items":[{"content":[{"type":"paragraph","text":"Suppose the translation or review percentage falls below the set threshold in Transifex, and a PR has already been opened in your repository. In that case, we'll automatically close the PR to ensure no outdated translations remain pending for your review.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"If a PR is created based on the condition that x% of the language is translated and the setting is later updated to y% for review or proofreading, we'll close the existing PR and open a new one once the new conditions are met. This ensures that your repository always has the latest and most accurate translations.","class":"no-margin"}]}]}],"style":{"backgroundColor":"#e3e7fa80","borderColor":"#334bfa33"}},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"Additionally, in this tab of the GitHub integration wizard, you'll find some optional settings. To learn more about them, visit the section \u003ca href=\"#h_23e0f97d5b\"\u003eOptional Settings in the Sync content tab\u003c/a\u003e.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"Once you complete the setup, click \u003cb\u003e\"Save \u0026amp; Sync\"\u003c/b\u003e to initiate the synchronization process between GitHub and Transifex.","class":"no-margin"},{"type":"callout","content":[{"type":"paragraph","text":"\u003cb\u003eâ ï¸Warning: \u003c/b\u003eIn case your branch is protected, you either have to remove the protection of that branch as described \u003ca href=\"https://docs.github.com/en/github/administering-a-repository/managing-a-branch-protection-rule\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003ehere\u003c/a\u003e or change the integration settings to create a PR instead of committing directly to the branch.","class":"no-margin"}],"style":{"backgroundColor":"#feedaf80","borderColor":"#fbc91633"}},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"horizontalRule","text":"___________________________________________________________"},{"type":"heading","text":"Optional settings in the Sync content tab","idAttribute":"h_a734c3e219"},{"type":"paragraph","text":"When configuring the link settings between your Transifex project and your GitHub repository, you'll come across a section called \"Sync Content\". ","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990931502/60b67aa9eb1577c8e463215e/main-settings.png?expires=1790843400\u0026signature=b08188760fc82521b4314d9c5efcba95d1e242dc14b83968526278db1801f393\u0026req=fSknH8p%2FmIFdFb4f3HP0gGw8EQS%2FklCLpTmGpoxzUy7EHaOSisozulayIWtS%0A9CAewpgKLnub3alcDg%3D%3D%0A","width":921,"height":570},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"In this section, you'll find various alternative features that can be used to set up the way your translated content reaches your repository:","class":"no-margin"},{"type":"unorderedNestedList","text":"- Add a prefix to the commit message.\n- Add a prefix in the Pull Request title.\n- Receive updates for source files.\n- Add an interval between commits.","items":[{"content":[{"type":"paragraph","text":"Add a prefix to the commit message.","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"Add a prefix in the Pull Request title.","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"Receive updates for source files.","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"Add an interval between commits.","class":"no-margin"}]}]},{"type":"paragraph","text":"In this article, you'll find the specifications of such features.","class":"no-margin"},{"type":"subheading","text":"\u003cbr\u003eAdd a Prefix Your Commit Message","idAttribute":"h_0c8c48b4ef"},{"type":"paragraph","text":"If you have configured GitHub Actions in your repository and want to exclude commits made by the Transifex GitHub integration from workflow runs, you can add a prefix to the commit message. This will also improve readability in your workflow.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"For example, if I add the prefix \"TRANSLATION-UPDATE\" and save this setting update:","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990930809/bac76c9b4bfb68941f377589/prefix+commit.png?expires=1790843400\u0026signature=f873059daf11dc4ff120701bf92595025aa81d11bd37c54a28af30877a647b67\u0026req=fSknH8p%2BlYFWFb4f3HP0gJ0X4XwSihZnlVbL5%2FP%2BjcyFwxnuCvT65akzSCHS%0AzvoGx9XUY64afEtNOg%3D%3D%0A","width":921,"height":570},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"The commits sent to GitHub will show this prefix.","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990940016/9e491ef92b8f88edba4be50f/commit.png?expires=1790843400\u0026signature=5c10f1350f7cf3463e61f525cd9ce96fed5ef1be6ee55bebe8ae0497a860fd43\u0026req=fSknH81%2BnYBZFb4f3HP0gPlMUg%2Bc9yqBw46nCD7tdwpF%2BykIroVgUzPFmoD6%0AQ5B%2Fp7ZatE%2BmNOPnWg%3D%3D%0A","width":1218,"height":347},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading","text":"Add a prefix in the Pull Request title.","idAttribute":"h_be807fb197"},{"type":"paragraph","text":"If you have configured GitHub Actions in your repository and want to admit only certain Pull Requests in your workflow, you can add a prefix to the Pull Requests title; this will also improve readability in your workflow.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"For example, if I add the prefix \"NEW-PR-TITLE\" and save this setting update:","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990942601/cf46e1723b8f515ae6d4c898/prefix+pr.png?expires=1790843400\u0026signature=6061df572afa9d16f9098a3456c33cebc67dc8b3c81d5f46c0641b92a11a7ad8\u0026req=fSknH818m4FeFb4f3HP0gNbyuKCW5tUWVDwiHsxygC6BJWiQlffpmqQfDis1%0ApYDcB6mo2m1iW5OQ3Q%3D%3D%0A","width":1020,"height":626},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"The Pull Requests sent to GitHub will show this prefix.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990941652/9cbd62c864843984c72519b2/pr.png?expires=1790843400\u0026signature=52d7de718e6067f7049e7731e641a6893672997bb2b3a5337ca1ea1a4f8583b3\u0026req=fSknH81%2Fm4RdFb4f3HP0gJpme%2BDG2IkTSAADEdImrB5CXA2YWlVT2kvAOIIF%0Acx2swmE5rBJ6k9T1nA%3D%3D%0A","width":1218,"height":267},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading","text":"Receive updates for source files.","idAttribute":"h_41869e3c8f"},{"type":"paragraph","text":"Enabling the feature \u003cb\u003eReceive updates for source files\u003c/b\u003e means that you can sync any changes you make to your source file in Transifex with your repository without any manual intervention. This can save you a considerable amount of time and effort. Additionally, it ensures that the most up-to-date version of your project is always available to your users. ","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990943327/49dfdd4b0e8e1058101fca37/update-source.png?expires=1790843400\u0026signature=3133652e57e8836e8813e
57c900f638f2102f420044b16464b1d6bbfa90dce7879\u0026req=fSknH819noNYFb4f3HP0gKPXP1ZtwhQpaqr8Wo32piOZbeZo9dfJCWNpov%2Bn%0ALWJo8d%2Bt3ZIpGJew5A%3D%3D%0A","width":1020,"height":626},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"It's important to note that not all file formats support automatic updates. Therefore, it's advisable to consult the article on \u003ca href=\"https://help.transifex.com/en/articles/6236849-updating-content\"\u003eUpdating Content\u003c/a\u003e to obtain more information about which file formats can have their source updated in Transifex.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading","text":"Add an interval between commits.","idAttribute":"h_0f5cbcc29e"},{"type":"paragraph","text":"If you want to avoid having many commits of the same translation file flooding your repository for every single update of translations, you can set a time interval to group those updates in one commit. ","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"By setting a time interval in minutes (up to a maximum of 60 minutes), you can control how often translation updates get pushed to your repository so that you can manage your translation changes in your repository more effectively. ","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/990943792/c63a0ec8187701b60b04e04d/Screenshot+2024-03-13+at+17_35_42.png?expires=1790843400\u0026signature=6f2b04b48dcb7823dd1dbcf5fb23373deb277e7519020a490485beaf235fb4d2\u0026req=fSknH819mohdFb4f3HP0gDvOYqQp9JBQZhJmxURxUWVg8Sv4TK2p8gpK6jbU%0AOg5cxOQEsuE0UR3Fsg%3D%3D%0A","width":1020,"height":626},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"For example, let's say that you've set the commit interval to 10 minutes. Within those 10 minutes, you make several translation edits in a resource file. Instead of individual commits for each change, you'll receive a single commit after the 10-minute interval expires, including all the latest updates. If you continue to edit the same translations, a new commit will be generated after another 10 minutes, grouping all changes made during that time.","class":"no-margin"},{"type":"callout","content":[{"type":"paragraph","text":"\u003cb\u003eðNote: \u003c/b\u003eWhen you make changes to your translations, the GitHub integration syncs those changes to your repository as individual commits. Each commit corresponds to a specific resource/language combination.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"This means:","class":"no-margin"},{"type":"unorderedNestedList","text":"- If you edit translations for two different languages within the same file (resource), you'll see \u003cb\u003etwo separate commits\u003c/b\u003e on GitHub, one for each language.\n- Similarly, if you edit translations in two different files (resources) for the same language, you'll also see \u003cb\u003etwo\u003c/b\u003e \u003cb\u003eseparate commits\u003c/b\u003e, one for each resource.","items":[{"content":[{"type":"paragraph","text":" If you edit translations for two different languages within the same file (resource), you'll see \u003cb\u003etwo separate commits\u003c/b\u003e on GitHub, one for each language.","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"Similarly, if you edit translations in two different files (resources) for the same language, you'll also see \u003cb\u003etwo\u003c/b\u003e \u003cb\u003eseparate commits\u003c/b\u003e, one for each resource.","class":"no-margin"}]}]},{"type":"paragraph","text":"Essentially, every unique pair of a language and a resource gets its own dedicated commit when changes are made.","class":"no-margin"}],"style":{"backgroundColor":"#e3e7fa80","borderColor":"#334bfa33"}},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"horizontalRule","text":"___________________________________________________________"},{"type":"heading","text":"YAML Configuration Parameter Descriptions","i
57dAttribute":"h_94380d9cd8"},{"type":"paragraph","text":"The following are the parameters that are used for the YAML Configuration:","class":"no-margin"},{"type":"unorderedNestedList","text":"- \u003cb\u003egit\u003c/b\u003e: This is what the top line of your configuration file should contain.\n \n- \u003cb\u003efilter_type:\u003c/b\u003e The three valid values are \u003ccode\u003edir\u003c/code\u003e for directory, \u003ccode\u003efile\u003c/code\u003e, and \u003ccode\u003edynamic\u003c/code\u003e.\n \n- \u003cb\u003esource_file:\u003c/b\u003e Only used for the \u003ccode\u003efile\u003c/code\u003e filter_type. This points to the location of the source file. The location should not start with a forward slash and should not be surrounded by double or single quotes.\n \n- \u003cb\u003esource_file_dir:\u003c/b\u003e Only used for the directory (\u003ccode\u003edir\u003c/code\u003e) filter_type. Works the same as source_file.\n \n- \u003cb\u003esource_files_expression\u003c/b\u003e: Only used for the \u003ccode\u003edynamic\u003c/code\u003e filter_type. Works the same as source_file.\n \n- \u003cb\u003esource_file_extension\u003c/b\u003e: Only used for the directory (dir) filter_type.\n \n- \u003cb\u003efile_format:\u003c/b\u003e This sets the type of resources in your project, e.g., PO. See the \u003ca href=\"https://help.transifex.com/en/collections/3511306-for-developers#file-formats\"\u003eFile formats\u003c/a\u003e for details about the i18n type of each format available.\n \n- \u003cb\u003esource_language:\u003c/b\u003e This is the source language of your project, such as \u003ccode\u003een\u003c/code\u003e (for English). This is the language you selected when you created your project.\n \n- \u003cb\u003etranslation_files_expression:\u003c/b\u003e A path expression that reflects your translation files' file/directory structure. The expression must contain the \u0026lt;lang\u0026gt; keyword, denoting where the file paths differentiate per language, e.g., \u003ccode\u003etranslations/po/\u0026lt;lang\u0026gt;.po\u003c/code\u003e; the appropriate target language file format will automatically replace the \u0026lt;lang\u0026gt; keyword.\n \n The expression should not start with a forward slash and should be surrounded by single quotes.\u003cbr\u003eâ\n- \u003cb\u003emode:\u003c/b\u003e This setting allows you to choose which download mode a translation file will use. This mode affects how translations are retrieved and varies depen
57ding on the file type. Please refer to the specific file format's specification page for details about each specific download mode.","items":[{"content":[{"type":"paragraph","text":"\u003cb\u003egit\u003c/b\u003e: This is what the top line of your configuration file should contain.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"\u003cb\u003efilter_type:\u003c/b\u003e The three valid values are \u003ccode\u003edir\u003c/code\u003e for directory, \u003ccode\u003efile\u003c/code\u003e, and \u003ccode\u003edynamic\u003c/code\u003e.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"\u003cb\u003esource_file:\u003c/b\u003e Only used for the \u003ccode\u003efile\u003c/code\u003e filter_type. This points to the location of the source file. The location should not start with a forward slash and should not be surrounded by double or single quotes.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"\u003cb\u003esource_file_dir:\u003c/b\u003e Only used for the directory (\u003ccode\u003edir\u003c/code\u003e) filter_type. Works the same as source_file.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":" \u003cb\u003esource_files_expression\u003c/b\u003e: Only used for the \u003ccode\u003edynamic\u003c/code\u003e filter_type. Works the same as source_file.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"\u003cb\u003esource_file_extension\u003c/b\u003e: Only used for the directory (dir) filter_type.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"\u003cb\u003efile_format:\u003c/b\u003e This sets the type of resources in your project, e.g., PO. See the \u003ca href=\"https://help.transifex.com/en/collections/3511306-for-developers#file-formats\"\u003eFile formats\u003c/a\u003e for details about the i18n type of each format available.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"\u003cb\u003esource_language:\u003c/b\u003e This is the source language of your project, such as \u003ccode\u003een\u003c/code\u003e (for English). This is the language you selected when you created your project.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"\u003cb\u003etranslation_files_expression:\u003c/b\u003e A path expression that reflects your translation files' file/directory structure. The expression must contain the \u0026lt;lang\u0026gt; keyword, denoting where the file paths differentiate per language, e.g., \u003ccode\u003etranslations/po/\u0026lt;lang\u0026gt;.po\u003c/code\u003e; the appropriate target language file format will automatically replace the \u0026lt;lang\u0026gt; keyword.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"The expression should not start with a forward slash and should be surrounded by single quotes.\u003cbr\u003eâ","class":"no-margin"}]},{"content":[{"type":"paragraph","text":"\u003cb\u003emode:\u003c/b\u003e This setting allows you to choose which download mode a translation file will use. This mode affects how translations are retrieved and varies depen
57ding on the file type. Please refer to the specific file format's specification page for details about each specific download mode.","class":"no-margin"}]}]},{"type":"unorderedNestedList","text":"- \u003cb\u003elanguage_mapping\u003c/b\u003e: If you use language codes other than the standard ISO ones (\u003ca href=\"http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eISO 639-1\u003c/a\u003e, \u003ca href=\"https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eISO 639-2\u003c/a\u003e, or \u003ca href=\"https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eISO 639-3\u003c/a\u003e), the integration lets you set up custom one-to-one language mappings. You'll need to add a language_mapping section to the YAML configuration file.\n \n settings: \u003cbr\u003e language_mapping: \u003cbr\u003e REMOTE_CODE: LOCAL_CODE\n \n The REMOTE_CODE is the language code supported by Transifex. And the LOCAL_CODE is your language code.","items":[{"content":[{"type":"paragraph","text":"\u003cb\u003elanguage_mapping\u003c/b\u003e: If you use language codes other than the standard ISO ones (\u003ca href=\"http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eISO 639-1\u003c/a\u003e, \u003ca href=\"https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eISO 639-2\u003c/a\u003e, or \u003ca href=\"https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eISO 639-3\u003c/a\u003e), the integration lets you set up custom one-to-one language mappings. You'll need to add a language_mapping section to the YAML configuration file.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"code","text":"settings: \u003cbr\u003e language_mapping: \u003cbr\u003e REMOTE_CODE: LOCAL_CODE"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"The REMOTE_CODE is the language code supported by Transifex. And the LOCAL_CODE is your language code.","class":"no-margin"}]}]},{"type":"callout","content":[{"type":"paragraph","text":"\u003cb\u003eð \u003c/b\u003eMapping locales will only impact the \u003cb\u003efilenames\u003c/b\u003e of the translation files, aligning file naming conventions with your selected locale mappings.","class":"no-margin"}],"style":{"backgroundColor":"#e3e7fa80","borderColor":"#334bfa33"}},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"The configuration follows a YAML syntax, and users can define a list of individual files or use regular expressions to match multiple files simultaneously. Illustrated examples can be found below:","class":"no-margin"},{"type":"unorderedNestedList","text":"- \u003cb\u003epr_branch_name:\u003c/b\u003e If you want to specify the name used for a PR when pushing translations back to GitHub, you can use this parameter under settings like the following example. Please note that \u0026lt;br_unique_id\u0026gt; is a string hash automatically generated by the system.\n \n branch_custom_name2.png#asset:8166","items":[{"content":[{"type":"paragraph","text":"\u003cb\u003epr_branch_name:\u003c/b\u003e If you want to specify the name used for a PR when pushing translations back to GitHub, you can use this parameter under settings like the following example. Please note that \u0026lt;br_unique_id\u0026gt; is a string hash automatically generated by the system.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://transifex-b5d13cb7d7b0.intercom-attachments-1.com/i/o/522695714/8cebb8eb5b1f5c55b6965b39/branch_custom_name2.png?expires=1790843400\u0026signature=f26ffb8501aadbf35335a86a9f819edc98dd6536202d50b6ff19942c5a81906d\u0026req=cSIlEMB7moBbFb4f3HP0gPwfWn4ycIN8e65OfW%2FC%2BGdAZUZudSt23KGUR1Oz%0AFRo%3D%0A","text":"branch_custom_name2.png#asset:8166"}]}]},{"type":"unorderedNestedList","text":"- \u003cb\u003eignore_dirs\u003c/b\u003e: If you want to exclude one or more than one directory/folder (include absolute paths when using this parameter), then you can include this parameter in your configuration file as follows:\n \n Screenshot-2022-03-02-at-11.01.51-AM.png#asset:10025","items":[{"content":[{"type":"paragraph","text":"\u003cb\u003eignore_dirs\u003c/b\u003e: If you want to exclude one or more than one directory/folder (include absolute paths when using this parameter), then you can include this parameter in your configuration file as follows:","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://transifex-b5d13cb7d7b0.intercom-attachments-1.com/i/o/522695738/c2908b6e7597ffb861612c95/Screenshot-2022-03-02-at-11.01.51-AM.png?expires=1790843400\u0026signature=1863955064a78e961318fc43c9a28a6555f4f8b3e38c47f79a359eace8b6cb71\u0026req=cSIlEMB7moJXFb4f3HP0gCIhMcWvaAhwXP9%2BNp3f2lTLxbRVb4cnvV9%2FxYoF%0AOec%3D%0A","text":"Screenshot-2022-03-02-at-11.01.51-AM.png#asset:10025","align":"center"}]}]},{"type":"unorderedNestedList","text":"- \u003cb\u003eignore_files\u003c/b\u003e: If you want to exclude one or more than one localization file (include absolute paths when using this parameter), then you can include this parameter in your configuration file as follows:\n \n Screenshot-2022-03-02-at-11.03.07-AM.png#asset:10026","items":[{"content":[{"type":"paragraph","text":"\u003cb\u003eignore_files\u003c/b\u003e: If you want to exclude one or more than one localization file (include absolute paths when using this parameter), then you can include this parameter in your configuration file as follows:","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://transifex-b5d13cb7d7b0.intercom-attachments-1.com/i/o/522695752/f800f3149bb1b268440335ea/Screenshot-2022-03-02-at-11.03.07-AM.png?expires=1790843400\u0026signature=a81e6d08c4c6c1393387daee2238ae3b9b0cc8f717aaf3bc195f37fd7b0d1d2c\u0026req=cSIlEMB7moRdFb4f3HP0gE%2FI9%2BZ50p7UEXvRxj6TdkKdPjjYQFkx4MzWqffU%0AUBU%3D%0A","text":"Screenshot-2022-03-02-at-11.03.07-AM.png#asset:10026","align":"center"}]}]},{"type":"paragraph","text":"You can have multiple entries beneath the opening \"filters:\" keyword for different source file types or locations. Each entry begins with \"- filter_type: \".","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":"Check the section \u003ca href=\"#h_b827747da8\"\u003eMore Examples of YAML Configurations\u003c/a\u003e for samples.","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"heading","text":"More Examples of YAML Configurations","i
57dAttribute":"h_b827747da8"},{"type":"subheading3","text":"Syncing a Single File","idAttribute":"h_f5039b7a6a"},{"type":"code","text":"filters:\u003cbr\u003e- filter_type: file\u003cbr\u003e file_format: PO\u003cbr\u003e source_file: locale/example.po\u003cbr\u003e source_language: en\u003cbr\u003e translation_files_expression: 'Translations/\u0026lt;lang\u0026gt;/'"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading3","text":"Syncing Multiple Files of a Single File Type ","idAttribute":"h_88c5a4d0e3"},{"type":"code","text":"filters:\u003cbr\u003e- filter_type: dir\u003cbr\u003e file_format: STRINGS\u003cbr\u003e source_file_extension: strings\u003cbr\u003e source_language: en\u003cbr\u003e source_file_dir: locale/DirTest\u003cbr\u003e translation_files_expression: 'Translations/\u0026lt;lang\u0026gt;'"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading3","text":"Syncing a Single File Using a Specific Download Mode","idAttribute":"h_593a48b9d9"},{"type":"code","text":"filters:\u003cbr\u003e - filter_type: file\u003cbr\u003e file_format: YML\u003cbr\u003e source_language: en\u003cbr\u003e source_file: test.yml\u003cbr\u003e translation_files_expression: 'Τranslations/target_\u0026lt;lang\u0026gt;.yml'\u003cbr\u003e mode: onlytranslated"},{"type":"callout","content":[{"type":"paragraph","text":"\u003cb\u003eâ ï¸Order Matters: \u003c/b\u003eIn cases where there are two file filter configurations for source and translation files within the same directory, prioritize the more specific filter by placing it first. The following example illustrates this.","class":"no-margin"}],"style":{"backgroundColor":"#feedaf80","borderColor":"#fbc91633"}},{"type":"collapsibleSection","summary":{"type":"subheading3","text":"Example 1","idAttribute":"h_a5c52b7b5f"},"content":[{"type":"paragraph","text":" ","class":"no-margin"},{"type":"code","text":"filters:\u003cbr\u003e- filter_type: file\u003cbr\u003e file_format: YML\u003cbr\u003e source_language: en\u003cbr\u003e source_file: config/locales/simple_form.en.yml\u003cbr\u003e translation_files_expression: 'config/locales/simple_form.\u0026lt;lang\u0026gt;.yml'\u003cbr\u003e\u003cbr\u003e- filter_type: file\u003cbr\u003e file_format: YML\u003cbr\u003e source_language: en\u003cbr\u003e source_file: config/locales/en.yml\u003cbr\u003e translation_files_expression: 'config/locales/\u0026lt;lang\u0026gt;.yml'"}]},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"collapsibleSection","summary":{"type":"subheading3","text":"Example 2","idAttribute":"h_99c3e48e84"},"content":[{"type":"paragraph","text":" ","class":"no-margin"},{"type":"code","text":"filters:\u003cbr\u003e- filter_type: dir\u003cbr\u003e file_format: STRINGS\u003cbr\u003e source_file_extension: strings\u003cbr\u003e source_language: en\u003cbr\u003e source_file_dir: locale/DirTest\u003cbr\u003e translation_files_expression: 'Translations/\u0026lt;lang\u0026gt;'\u003cbr\u003e\u003cbr\u003e- filter_type: dir\u003cbr\u003e file_format: KEYVALUEJSON\u003cbr\u003e source_file_extension: json\u003cbr\u003e source_language: en\u003cbr\u003e source_file_dir: locale/DirTest\u003cbr\u003e translation_files_expression: 'Translations/\u0026lt;lang\u0026gt;'"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"type":"subheading3","text":"Syncing Multiple Files, Excluding Specific Paths/Localization Files","idAttribute":"h_f334323449"},{"type":"code","text":"filters:\u003cbr\u003e - filter_type: dir \u003cbr\u003e file_format: KEYVALUEJSON \u003cbr\u003e source_file_extension: json \u003cbr\u003e source_language: en \u003cbr\u003e source_file_dir: localization_project/ \u003cbr\u003e translation_files_expression: 'localization_project/translations/\u0026lt;lang\u0026gt;/'\u003cbr\u003e ignore_dirs: \u003cbr\u003e - localization_project/path2/\u003cbr\u003e - localization_project/path3/\u003cbr\u003e ignore_files: \u003cbr\u003e - localization_project/path1/example2.txt\u003cbr\u003e - localization_project/path1/example4.txt"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading3","text":"Syncing Files With a Specific Branch Name and With Language Mapping","idAttribute":"h_4f45f51e37"},{"type":"code","text":"filters:\u003cbr\u003e- filter_type: file\u003cbr\u003e file_format: STRUCTURED_JSON\u003cbr\u003e source_language: en\u003cbr\u003e source_file: 'locale/example.json'\u003cbr\u003e translation_files_expression: 'Translations/\u0026lt;lang\u0026gt;/example.json'\u003cbr\u003e\u003cbr\u003esettings:\u003cbr\u003e pr_branch_name: \u003cbr\u003e tx_translations_\u0026lt;br_unique_id\u0026gt;\u003cbr\u003e language_mapping:\u003cbr\u003e es_419: es-419\u003cbr\u003e pt_BR: pt-br\u003cbr\u003e zh_CN: zh-cn\u003cbr\u003e zh_TW: zh-tw"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading3","text":"Examples of the \u003ccode\u003edynamic\u003c/code\u003e filter type (Ignore_dirs and Ignore_files are also supported in this filter type)","i
57dAttribute":"h_2d782c7b1e"},{"type":"subheading4","text":"\u003cb\u003eExample 1:\u003c/b\u003e","idAttribute":"h_460bd9f737"},{"type":"code","text":"filters:\u003cbr\u003e- filter_type: dynamic\u003cbr\u003e file_format: PO\u003cbr\u003e source_language: en\u003cbr\u003e source_files_expression: folder/\u0026lt;file\u0026gt;.po\u003cbr\u003e translation_files_expression: 'locale/\u0026lt;lang\u0026gt;/\u0026lt;file\u0026gt;.po'"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading4","text":"Examples of possible source file matches:","idAttribute":"h_d031a29620"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/691362601/5ae361a35b6af7ef1bc10ccc/Screenshot+2023-03-14+at+11.47.04+PM.png?expires=1790843400\u0026signature=81fb4333613a8e0810a6cdca76fbfe974381de3edc08fdde8d142c748ca8cc39\u0026req=cikmFc98m4FeFb4f3HP0gIqADKg18EUJHBPoYDlo6yGu4f%2B10YkOm60ssD7i%0AIzExvEsrANz7FYTkAA%3D%3D%0A","width":1616,"height":202,"displayWidth":400,"align":"center"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/691347473/0dc84def90eeb4293f579ef9/Screenshot_2023-03-14_at_11_13_23_PM.png?expires=1790843400\u0026signature=ba03cfebf94996fe5aebaf646ffa2a87e3e8b59c4d54c1dec4f906a382480856\u0026req=cikmFc15mYZcFb4f3HP0gHetQc10W07DGaXimh%2FFve69%2B4pfRrOePqbrR7Us%0AiFgIep1%2BSEjNPq4gpg%3D%3D%0A","width":527,"height":404,"displayWidth":400,"align":"center"},{"type":"subheading3","text":" Example 2:","idAttribute":"h_f74464d64d"},{"type":"code","text":"filters:\u003cbr\u003e- filter_type: dynamic\u003cbr\u003e file_format: PO\u003cbr\u003e source_language: en\u003cbr\u003e source_files_expression: \u0026lt;dir\u0026gt;/\u0026lt;file\u0026gt;.po\u003cbr\u003e translation_files_expression: '\u0026lt;dir\u0026gt;/\u0026lt;lang\u0026gt;/\u0026lt;file\u0026gt;.po'"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading4","text":"Examples of possible matches:","idAttribute":"h_3653a364db"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/691348087/2de81cee6fc34e904c347569/Screenshot+2023-03-14+at+11.16.26+PM.png?expires=1790843400\u0026signature=e2985e446a5e14e1b4ebef9c55c38bdeaa297cb013c874c245b6a6541139d4cd\u0026req=cikmFc12nYlYFb4f3HP0gLbzEovj0TdRl6Yvat4NH4B5ryWJiE%2FMDNz1k8k1%0A7n9WUXAfuGNdOQA49g%3D%3D%0A","width":818,"height":109,"displayWidth":400,"align":"center"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"image","url":"https://downloads.intercomcdn.com/i/o/691349376/f2a2d8a6b6846d5bca6c0239/Screenshot_2023-03-14_at_11_17_15_PM.png?expires=1790843400\u0026signature=30b932d5fccb4fc3b7ca0af451d911852a53857977469d5c1bb2334e9b75d52f\u0026req=cikmFc13noZZFb4f3HP0gOteUcegXUn02p1HskiDIhuWruxLb4YgGq2ZYyuH%0As4VRmozRL3UfgnLEdQ%3D%3D%0A","width":534,"height":398,"displayWidth":400,"align":"center"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"subheading3","text":"Other examples of \u003ccode\u003efilter_type: dynamic\u003c/code\u003e","idAttribute":"h_6c97d75337"},{"type":"collapsibleSection","summary":{"type":"subheading3","text":"Example 1","idAttribute":"h_11423dbfca"},"content":[{"type":"paragraph","text":" ","class":"no-margin"},{"type":"code","text":"filters:\u003cbr\u003e- filter_type: dynamic\u003cbr\u003e file_format: PO\u003cbr\u003e source_language: en\u003cbr\u003e source_files_expression: docs/guides/\u0026lt;dir\u0026gt;/source/\u0026lt;file\u0026gt;.md\u003cbr\u003e translation_files_expression: \u0026lt;lang\u0026gt;/\u0026lt;dir\u0026gt;/translations/\u0026lt;file\u0026gt;.md"},{"type":"paragraph","text":" ","class":"no-margin"}]},{"type":"collapsibleSection","summary":{"type":"subheading3","text":"Example 2","idAttribute":"h_0d891ea788"},"content":[{"type":"paragraph","text":" ","class":"no-margin"},{"type":"code","text":"filters:\u003cbr\u003e- filter_type: dynamic\u003cbr\u003e file_format: PO\u003cbr\u003e source_language: en\u003cbr\u003e source_files_expression: docs/guides/\u0026lt;dir\u0026gt;/source/\u0026lt;file\u0026gt;.md\u003cbr\u003e translation_files_expression: \u0026lt;lang\u0026gt;/\u0026lt;dir\u0026gt;/translations/\u0026lt;file\u0026gt;/product_feature_A.md"},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"callout","content":[{"type":"paragraph","text":"\u003cb\u003eðNote: \u003c/b\u003eIn YAML, it's essential for the \"source_file\" to be specified as an absolute path rather than a relative one. This is because GitHub integration always begins its search from the repository's root directory. As mentioned, the .yml file can be located anywhere within the repository.","class":"no-margin"}],"style":{"backgroundColor":"#e3e7fa80","borderColor":"#334bfa33"}}]},{"type":"paragraph","text":" ","class":"no-margin"},{"type":"horizontalRule","text":"___________________________________________________________"},{"type":"subheading3","text":"ð¡Tip","idAttribute":"h_0450e67723"},{"type":"paragraph","text":"Looking for more help? Get support from our \u003ca href=\"https://community.transifex.com/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eTransifex Community Forum\u003c/a\u003e!","align":"center","class":"no-margin"},{"type":"paragraph","text":"Find answers or post to get help from Transifex Support and our Community.","align":"center","class":"no-margin"}],"collectionId":"5049978","description":"Effortlessly integrate GitHub with Transifex: Follow our guide for seamless installation, configuration, and linking.","id":"5966295","lastUpdated":"Updated over 9 months ago","lastUpdatedDate":"2026-01-07T13:09:13Z","markdown":null,"relatedArticles":[{"title":"Bitbucket: Installation and Configuration","url":"https://help.transifex.com/en/articles/6216909-bitbucket-installation-and-configuration"},{"title":"Using Transifex With GitHub in Your Development Workflow","url":"https://help.transifex.com/en/articles/6266051-using-transifex-with-github-in-your-development-workflow"},{"title":"GitLab: Installation and Configurationin","url":"https://help.transifex.com/en/articles/7907376-gitlab-installation-and-configurationin"},{"title":"GitHub: Auto-syncing and Management","url":"https://help.transifex.com/en/articles/8065148-github-auto-syncing-and-management"},{"title":"Azure Repos: Installation and Configuration","url":"https://help.transifex.com/en/articles/8537559-azure-repos-installation-and-configuration"}],"targetUserType":"everyone","title":"GitHub: Installation and configuration","showTableOfContents":true,"synced":false,"isStandaloneApp":false},"breadcrumbs":[{"url":"https://help.transifex.com/en/collections/3289710-integrations","name":"Integrations"},{"url":"https://help.transifex.com/en/collections/3452928-development","name":"Development"},{"url":"https://help.transifex.com/en/collections/5049978-github","name":"GitHub"}],"selectedReaction":null,"showReactions":true,"themeCSSCustomProperties":{"--body-bg":"rgb(255, 255, 255)","--body-image":"none","--body-bg-rgb":"255, 255, 255","--body-border":"rgb(230, 230, 230)","--body-primary-color":"#1a1a1a","--body-secondary-color":"#595959","--body-reaction-bg":"rgb(242, 242, 242)","--body-reaction-text-color":"rgb(89, 89, 89)","--body-toc-active-border":"#737373","--body-toc-inactive-border":"#f2f2f2","--body-toc-inactive-color":"#595959","--body-toc-active-font-we
57ight":400,"--body-table-border":"rgb(204, 204, 204)","--body-color":"hsl(0, 0%, 0%)","--footer-bg":"rgb(70, 60, 255)","--footer-image":"none","--footer-border":"rgb(118, 111, 255)","--footer-color":"hsl(0, 0%, 96%)","--header-bg":"none","--header-image":"linear-gradient(to bottom right, #5449FF,#463CFF,#352B90)","--header-color":"hsl(0, 0%, 100%)","--collection-card-bg":"rgb(70, 60, 255)","--collection-card-image":"none","--collection-card-color":"hsl(0, 0%, 96%)","--card-bg":"rgb(255, 255, 255)","--card-border-color":"rgba(26, 26, 26, 0.15)","--card-border-inner-radius":"8px","--card-border-radius":"10px","--card-shadow":"0 1px 2px 0 rgb(0 0 0 / 0.05)","--search-bar-border-radius":"10px","--search-bar-width":"100%","--ticket-blue-bg-color":"#dce1f9","--ticket-blue-text-color":"#334bfa","--ticket-green-bg-color":"#d7efdc","--ticket-green-text-color":"#0f7134","--ticket-orange-bg-color":"#ffebdb","--ticket-orange-text-color":"#b24d00","--ticket-red-bg-color":"#ffdbdb","--ticket-red-text-color":"#df2020","--header-height":"245px","--header-subheader-background-color":"#000000","--header-subheader-font-color":"#FFFFFF","--content-block-bg":"rgb(255, 255, 255)","--content-block-image":"none","--content-block-color":"hsl(0, 0%, 10%)","--content-block-button-bg":"rgb(51, 75, 250)","--content-block-button-image":"none","--content-block-button-color":"hsl(0, 0%, 100%)","--content-block-button-radius":"6px","--content-block-margin":"0","--content-block-width":"auto","--primary-color":"hsl(243, 100%, 62%)","--primary-color-alpha-10":"hsla(243, 100%, 62%, 0.1)","--primary-color-alpha-60":"hsla(243, 100%, 62%, 0.6)","--text-on-primary-color":"#ffffff"},"intl":{"defaultLocale":"en","locale":"en","messages":{"layout.skip_to_main_content":"Skip to main content","article.attachment_icon":"Attachment icon","article.related_articles":"Related Articles","article.written_by":"Written by \u003cb\u003e{author}\u003c/b\u003e","article.table_of_contents":"Table of contents","breadcrumb.all_collections":"All Collections","breadcrumb.aria_label":"Breadcrumb","collection.article_count.one":"{count} article","collection.article_count.other":"{count} articles","collection.articles_heading":"Articles","collection.sections_heading":"Collections","collection.written_by.one":"Written by \u003cb\u003e{author}\u003c/b\u003e","collection.written_by.two":"Written by \u003cb\u003e{author1}\u003c/b\u003e and \u003cb\u003e{author2}\u003c/b\u003e","collection.written_by.three":"Written by \u003cb\u003e{author1}\u003c/b\u003e, \u003cb\u003e{author2}\u003c/b\u003e and \u003cb\u003e{author3}\u003c/b\u003e","collection.written_by.four":"Written by \u003cb\u003e{author1}\u003c/b\u003e, \u003cb\u003e{author2}\u003c/b\u003e, \u003cb\u003e{author3}\u003c/b\u003e and 1 other","collection.written_by.other":"Written by \u003cb\u003e{author1}\u003c/b\u003e, \u003cb\u003e{author2}\u003c/b\u003e, \u003cb\u003e{author3}\u003c/b\u003e and {count} others","collection.by.one":"By {author}","collection.by.two":"By {author1} and 1 other","collection.by.other":"By {author1} and {count} others","collection.by.count_one":"1 author","collection.by.count_plural":"{count} authors","community_banner.tip":"Tip","community_banner.label":"\u003cb\u003eNeed more help?\u003c/b\u003e Get support from our {link}","community_banner.link_label":"Community Forum","community_banner.description":"Find answers and get help from Intercom Support and Community Experts","header.headline":"Advice and answers from the {appName} Team","header.menu.open":"Open menu","header.menu.close":"Close menu","locale_picker.aria_label":"Change language","not_authorized.cta":"You can try sending us a message or logging in at {link}","not_found.title":"Uh oh. That page doesnât exist.","not_found.not_authorized":"Unable to load this article, you may need to sign in first","not_found.try_searching":"Try searching for your answer or just send us a message.","tickets_portal_bad_request.title":"No access to tickets portal","tickets_portal_bad_request.learn_more":"Learn more","tickets_portal_bad_request.send_a_message":"Please contact your admin.","no_articles.title":"Empty Help Center","no_articles.no_articles":"This Help Center doesn't have any articles or collections yet.","preview.invalid_preview":"There is no preview available for {previewType}","reaction_picker.did_this_answer_your_question":"Did this answer your question?","reaction_picker.reaction.disappointed.title":"Disappointed","reaction_picker.reaction.disappointed.aria_label":"Disappointed Reaction","reaction_picker.reaction.neutral.title":"Neutral","reaction_picker.reaction.neutral.aria_label":"Neutral Reaction","reaction_picker.reaction.smiley.title":"Smiley","reaction_picker.reaction.smiley.aria_label":"Smiley Reaction","search.box_placeholder_fin":"Ask a question","search.box_placeholder":"Search for articles...","search.clear_search":"Clear search query","search.fin_card_ask_text":"Ask","search.fin_loading_title_1":"Thinking...","search.fin_loading_title_2":"Searching through sources...","search.fin_loading_title_3":"Analyzing...","search.fin_card_description":"Find the answer with Fin AI","search.fin_empty_state":"Sorry, Fin AI wasn't able to answer your question. Try rephrasing it or asking something different","search.no_results":"We couldn't find any articles for:","search.number_of_results":"{count} search results found","search.submit_btn":"Search for articles","search.successful":"Search results for:","footer.powered_by":"We run on Fin","footer.powered_by_intercom":"We run on Intercom","footer.privacy.choice":"Your Privacy Choices","footer.report_content":"Report Content","footer.social.facebook":"Facebook","footer.social.linkedin":"LinkedIn","footer.social.twitter":"Twitter","page.title.home":"Home","page.title.search":"Search results","tickets.title":"Tickets","tickets.view_type.tickets":"Tickets","tickets.view_type.conversations":"Conversations","tickets.view_type.all":"All","t
57ickets.company_selector_option":"{companyName}âs tickets","tickets.company_selector.your_companies":"Your companies","tickets.company_selector.granted_to_you":"Granted to you","tickets.all_states":"All states","tickets.filters.company_tickets":"All tickets","tickets.filters.my_tickets":"Created by me","tickets.filters.all":"All","tickets.no_tickets_found":"No tickets found","tickets.empty-state.generic.title":"No tickets found","tickets.empty-state.generic.description":"Try using different keywords or filters.","tickets.empty-state.empty-own-tickets.title":"No tickets created by you","tickets.empty-state.empty-own-tickets.description":"Tickets submitted through the messenger or by a support agent in your conversation will appear here.","tickets.empty-state.empty-q.description":"Try using different keywords or checking for typos.","tickets.navigation.home":"Home","tickets.navigation.tickets_portal":"Tickets portal","tickets.navigation.customer_portal":"Customer Portal","tickets.navigation.ticket_details":"Ticket #{ticketId}","tickets.navigation.conversation_details":"Conversation","tickets.navigation.new_conversation":"New conversation","tickets.create_new.button":"Create new","tickets.create_new.conversation":"Conversation","tickets.create_new.ticket":"Ticket","tickets.create.attribute.select_option":"Select an option","tickets.create.attribute.error.required":"This field is required","tickets.create.error.blocked":"We couldnât confirm which company this ticket belongs to. Reload the page and try again.","tickets.create.error.session":"Your session has expired. Reload the page and try again.","tickets.create.error.failed":"Your ticket wasnât created. Please try again.","tickets.create.required_hint":"Fields marked with * are required.","tickets.create.cancel":"Cancel","tickets.create.attach_files":"Attach files","tickets.create.upload_in_progress":"Uploadingâ¦","tickets.create.upload_retry":"Retry","tickets.create.upload_remove":"Remove","tickets.create.upload_error.failed":"{name} couldnât be uploaded","tickets.create.upload_error.file_size":"{name} is too large to upload","tickets.create.upload_error.file_type_not_allowed":"{name} isnât a file type we can accept","tickets.create.upload_error.file_max_limit":"{name} wasnât attached â youâve reached the file limit","tickets.create.submit":"Create ticket","tickets.navigation.tickets":"Tickets","tickets.navigation.insights":"Insights","tickets.insights.title":"Insights","tickets.insights.subtitle":"Volume, creators and topics for your company.","tickets.insights.date_range":"Created on","tickets.insights.loading":"Loading insightsâ¦","tickets.insights.error":"We couldnât load insights. Please try again.","tickets.insights.filters.company":"Company","tickets.insights.filters.requester":"Created by","tickets.insights.volume.total":"Total","tickets.insights.volume.open":"Open","tickets.insights.volume.closed":"Closed","tickets.insights.volume.total_tooltip":"Total conversations and tickets","tickets.insights.volume.open_tooltip":"Open conversations and tickets","tickets.insights.volume.closed_tooltip":"Closed conversations and tickets, including resolved tickets","tickets.insights.top_requesters.title":"Top creators","tickets.insights.top_requesters.empty":"No creators in this period.","tickets.insights.topics.title":"AI topics","tickets.insights.topics.empty":"No topics in this period.","tickets.insights.subtopics.empty":"No subtopics for this topic.","tickets.insights.subtopics.loading":"Loading subtopicsâ¦","tickets.insights.subtopics.more":"+{count} more","tickets.insights.drilldown.empty":"No tickets for this selection.","tickets.insights.drilldown.load_more":"Load more","tickets.insights.drilldown.button_label":"View tickets in {label}","tickets.insights.drilldown.column.id":"ID","tickets.insights.drilldown.column.title":"Title","tickets.insights.drilldown.column.state":"State","tickets.insights.drilldown.column.created_by":"Created by","tickets.insights.sidebar.title":"Conversations and tickets in {topic}","tickets.insights.sidebar.title_with_subtopic":"Conversations and tickets in {topic} // {subtopic}
57","tickets.insights.sidebar.close":"Close","tickets.insights.sidebar.search":"Search subtopicsâ¦","tickets.view_conversation":"View conversation","tickets.view_ticket_details":"View ticket details","tickets.send_message":"Send us a message","tickets.continue_conversation":"Continue the conversation","tickets.full_page_messenger.fallback":"If your conversation doesnât load, \u003clink\u003ego back to all tickets\u003c/link\u003e.","tickets.full_page_messenger.loading":"Loadingâ¦","tickets.avatar_image.image_alt":"{firstName}âs avatar","tickets.fields.id":"Ticket ID","tickets.fields.type":"Ticket type","tickets.fields.title":"Title","tickets.fields.ai_title":"AI title","tickets.fields.description":"Description","tickets.fields.created_by":"Created by","tickets.fields.email_for_notification":"You will be notified here and by email","tickets.fields.created_at":"Created on","tickets.fields.sorting_updated_at":"Updated on","tickets.fields.state":"Ticket state","tickets.fields.assignee":"Assignee","tickets.fields.preview":"Preview","tickets.columns.add_column":"Add column","tickets.columns.all_visible":"All columns are visible","tickets.columns.column_options":"{column} column options","tickets.columns.hide_column":"Hide column","tickets.preview.unknown_teammate":"Unknown Teammate","tickets.preview.ticket":"Ticket","tickets.preview.more_matches":"+{count} more","tickets.link-block.title":"Tickets portal.","tickets.link-block.description":"Track the progress of all tickets related to your company.","tickets.link-block.customer_portal_title":"Customer Portal.","tickets.link-block.customer_portal_description":"Track the progress of all tickets and conversations related to your company.","tickets.states.submitted":"Submitted","tickets.states.in_progress":"In progress","tickets.states.waiting_on_customer":"Waiting on you","tickets.states.resolved":"Resolved","tickets.states.description.unassigned.submitted":"We will pick this up soon","tickets.states.description.assigned.submitted":"{assigneeName} will pick this up soon","tickets.states.description.unassigned.in_progress":"We are working on this!","tickets.states.description.assigned.in_progress":"{assigneeName} is working on this!","tickets.states.description.unassigned.waiting_on_customer":"We need more information from you","tickets.states.description.assigned.waiting_on_customer":"{assigneeName} needs more information from you","tickets.states.description.unassigned.resolved":"We have completed your ticket","tickets.states.description.assigned.resolved":"{assigneeName} has completed your ticket","tickets.attributes.boolean.true":"Yes","tickets.attributes.boolean.false":"No","tickets.filter_any":"\u003cb\u003e{name}\u003c/b\u003e is any","tickets.filter_single":"\u003cb\u003e{name}\u003c/b\u003e is {value}","tickets.filter_multiple":"\u003cb\u003e{name}\u003c/b\u003e is one of {count}","tickets.no_options_found":"No options found","tickets.filters.any_option":"Any","tickets.filters.state":"State","tickets.filters.type":"Type","tickets.filters.created_by":"Created by","tickets.filters.assigned_to":"Assigned to","tickets.filters.created_on":"Created on","tickets.filters.updated_on":"Updated on","tickets.filters.date_range.today":"Today","tickets.filters.date_range.yesterday":"Yesterday","tickets.filters.date_range.last_week":"Last week","tickets.filters.date_range.last_30_days":"Last 30 days","tickets.filters.date_range.last_90_days":"Last 90 days","tickets.filters.date_range.custom":"Custom","tickets.filters.date_range.apply_custom_range":"Apply","tickets.filters.date_range.custom_range.start_date":"From","tickets.filters.date_range.custom_range.end_date":"To","tickets.filters.clear_filters":"Clear filters","tickets.filters.add_filter":"Add filter","tickets.filters.search_placeholder":"Search...","conversations.fields.id":"Conversation ID","conversations.fields.title":"Title","conversations.fields.ai_title":"AI title","conversations.fields.created_by":"Created by","conversations.fields.created_at":"Created on","conversations.fields.sorting_updated_at":"Last Updated","conversations.fields.state":"State","conversations.fields.assignee":"Assignee","conversations.fields.preview":"Preview","conversations.states.open":"Open","conversations.states.closed":"Closed","conversations.empty-state.generic.title":"No conversations foun
57d","conversations.empty-state.generic.description":"Try using different keywords or filters.","conversations.empty-state.empty-own-conversations.title":"No conversations created by you","conversations.empty-state.empty-own-conversations.description":"Conversations you've started through the messenger will appear here.","conversations.empty-state.empty-q.description":"Try using different keywords or checking for typos.","all.empty-state.generic.title":"No tickets or conversations found","all.empty-state.generic.description":"Try using different keywords or filters.","all.empty-state.empty-own-all.title":"No tickets or conversations created by you","all.empty-state.empty-own-all.description":"Tickets and conversations you've started through the messenger will appear here.","all.empty-state.empty-q.description":"Try using different keywords or checking for typos.","all.empty-state.empty-combined_state.title":"No tickets or conversations found","all.empty-state.empty-combined_state.description":"Try selecting a different state.","all.empty-state.empty-created_on.title":"No tickets or conversations found","all.empty-state.empty-created_on.description":"Try selecting a different creation date range.","all.empty-state.empty-updated_on.title":"No tickets or conversations found","all.empty-state.empty-updated_on.description":"Try selecting a different update date range.","all.empty-state.empty-creator_id.title":"No tickets or conversations found","all.empty-state.empty-creator_id.description":"Try selecting a different creator.","all.fields.id":"ID","cookie_banner.default_text":"This site uses cookies and similar technologies (\"cookies\") as strictly necessary for site operation. We and our partners also would like to set additional cookies to enable site performance analytics, functionality, advertising and social media features. See our {cookiePolicyLink} for details. You can change your cookie preferences in our Cookie Settings.","cookie_banner.gdpr_text":"This site uses cookies and similar technologies (\"cookies\") as strictly necessary for site operation. We and our partners also would like to set additional cookies to enable site performance analytics, functionality, advertising and social media features. See our {cookiePolicyLink} for details. You can change your cookie preferences in our Cookie Settings.","cookie_banner.ccpa_text":"This site employs cookies and other technologies that we and our third party vendors use to monitor and record personal information about you and your interactions with the site (including content viewed, cursor movements, screen recordings, and chat contents) for the purposes described in our Cookie Policy. By continuing to visit our site, you agree to our {websiteTermsLink}, {privacyPolicyLink} and {cookiePolicyLink}.","cookie_banner.simple_text":"We use cookies to make our site work and also for analytics and advertising purposes. You can enable or disable optional cookies as desired. See our {cookiePolicyLink} for more details.","cookie_banner.cookie_policy":"Cookie Policy","cookie_banner.website_terms":"Website Terms of Use","cookie_banner.privacy_policy":"Privacy Policy","cookie_banner.accept_all":"Accept All","cookie_banner.accept":"Accept","cookie_banner.reject_all":"Reject All","cookie_banner.manage_cookies":"Manage Cookies","cookie_banner.close":"Close banner","cookie_settings.close":"Close","cookie_settings.title":"Cookie Settings","cookie_settings.description":"We use cookies to enhance your experience. You can customize your cookie preferences below. See our {cookiePolicyLink} for more details.","cookie_settings.ccpa_title":"Your Privacy Choices","cookie_settings.ccpa_description":"You have the right to opt out of the sale of your personal information. See our {cookiePolicyLink} for more details about how we use your data.","cookie_settings.save_preferences":"Save Preferences","cookie_categories.necessary.name":"Strictly Necessary Cookies","cookie_categories.necessary.description":"These cookies are necessary for the website to function and cannot be switched off in our systems.","cookie_categories.functional.name":"Functional Cookies","cookie_categories.functional.description":"The
57se cookies enable the website to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.","cookie_categories.performance.name":"Performance Cookies","cookie_categories.performance.description":"These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site.","cookie_categories.advertisement.name":"Advertising and Social Media Cookies","cookie_categories.advertisement.description":"Advertising cookies are set by our advertising partners to collect information about your use of the site, our communications, and other online services over time and with different browsers and devices. They use this information to show you ads online that they think will interest you and measure the ads' performance. Social media cookies are set by social media platforms to enable you to share content on those platforms, and are capable of tracking information about your activity across other online services for use as described in their privacy policies.","cookie_consent.site_access_blocked":"Site access blocked until cookie consent","v2.common.article_count":"{count, plural, one {# article} other {# articles}}","v2.common.article_navigation":"Article navigation","v2.common.breadcrumb":"Breadcrumb","v2.common.docs_navigation":"Docs navigation","v2.common.collapse":"Collapse {title}","v2.common.expand":"Expand {title}","v2.docs.article.related_articles":"Related articles","v2.docs.article.related_articles_aria_label":"Related articles","v2.docs.article.next":"Next","v2.docs.article.previous":"Previous","v2.docs.home.headline":"{appName} Help Center","v2.docs.home.subheadline":"Search for answers or browse popular topics.","v2.docs.home.view_collection":"View collection","v2.docs.search.results":"{count, plural, one {# result} other {# results}} for {term}","v2.docs.search.no_results":"No results for {term}","v2.docs.toc.label":"On this page","v2.docs.top_bar.brand_home":"{siteName} home","v2.docs.top_bar.default_site_name":"Help Center","v2.docs.top_bar.help_center_links":"Help center links","v2.docs.top_bar.open_navigation":"Open docs navigation","v2.docs.top_bar.close_navigation":"Close docs navigation","v2.docs.top_bar.mobile_navigation":"Mobile docs navigation","v2.docs.top_bar.search":"Search","v2.docs.top_bar.search_aria_label":"Search docs ({shortcut})","v2.presentation.selector_aria_label":"V2 prototype presentation selector","v2.presentation.selector_label":"V2 prototype","v2.presentation.selector_group_aria_label":"Visual presentation","v2.presentation.option.docs":"Docs","v2.presentation.option.minimal":"Minimal","v2.presentation.option.ai_resident":"AI resident","v2.presentation.option.editorial":"Editorial","v2.presentation.option.conversational":"Conversational","v2.action_bar.toolbar_aria_label":"Article actions","v2.action_bar.copy_for_llm":"Copy for LLM","v2.action_bar.copied":"Copied","v2.action_bar.copying":"Copyingâ¦","v2.action_bar.copy_failed":"Copy failed","v2.action_bar.loading":"Loadingâ¦","v2.action_bar.view_as_markdown":"View as markdown","v2.action_bar.view_raw":"View raw","v2.action_bar.send_to_ai":"Send to AI","v2.action_bar.send_to_ai_aria_label":"Send this article to an AI assistant","v2.action_bar.more_actions_aria_label":"More article actions","v2.action_bar.open_in_claude":"Open in Claude","v2.action_bar.open_in_claude_app":"Open in Claude app","v2.action_bar.open_in_chatgpt":"Open in ChatGPT","v2.action_bar.external_ai_prompt":"Read {markdownUrl} and help me with questions about it.","v2.code_block.copy":"Copy","v2.code_block.copied":"Copied","v2.code_block.copy_failed":"Copy failed","v2.code_block.copy_aria_label":"Copy code to clipboard","v2.markdown_modal.article_source":"Article source","v2.markdown_modal.close":"Close","v2.markdown_modal.copy":"Copy markdown","v2.fin.ask":"Ask","v2.fin.name":"Fin","v2.fin.ask_fin":"Ask Fin","v2.fin.ask_question":"Ask Fin a question","v2.fin.ask_about_page":"Ask Fin about this page","v2.fin.close":"Close","v2.fin.send_question":"Send question","v2.fin.thinking":"Fin is thinking","v2.fin.sources":"Sources","v2.fin.prototype.disclosure":"Prototype demo: answers are scripted and do not come from a production Fin API.","v2.fin.suggestion.get_started":"How do I get started?","v2.fin.suggestion.invite_team"
57:"How do I invite my team?","v2.fin.suggestion.configure_integrations":"How do I configure integrations?","v2.fin.suggestion.read_invoice":"How do I read my invoice?","v2.fin.resident.companion_aria_label":"Fin reading companion","v2.fin.resident.name_with_app":"{appName} · Fin","v2.fin.resident.status":"Online · Reading: {title}","v2.fin.resident.intro_title":"Reading along with you","v2.fin.resident.intro_body":"Iâve got this page open. Ask me anything about it and Iâll answer from the docs.","v2.fin.resident.try_asking":"Try asking","v2.fin.prototype.unavailable.body":"This prototype demo does not have a scripted answer for that question yet. Try asking how to invite your team or open a source article. No production Fin API was called.","v2.fin.prototype.unavailable.title":"Prototype answer unavailable","v2.fin.prototype.follow_up.body":"Because you already asked about invitations, this prototype demo can add the follow-up: use the role selector before sending each invite to limit access to the teammate responsibilities.","v2.fin.prototype.follow_up.title":"Prototype role-limiting follow-up","v2.fin.prototype.invite.body":"In this prototype demo, invite teammates from workspace settings, then choose the access each teammate needs before sending the invitation.","v2.fin.prototype.invite.title":"Prototype invite-team answer","v2.fin.prototype.get_started.body":"This prototype demo suggests starting with your workspace profile, inviting the team members who need access, and then connecting the integrations you use.","v2.fin.prototype.get_started.title":"Prototype getting-started answer","v2.fin.prototype.integrations.body":"In this prototype demo, integrations are configured from workspace settings. Choose the integration, connect the account, and review the enabled permissions.","v2.fin.prototype.integrations.title":"Prototype integrations answer","v2.fin.prototype.article.body":"This prototype demo is aware that you are reading â{title}â. It can point you back to the current article, but a production article-aware Fin contract is still follow-up work.","v2.fin.prototype.article.title":"Prototype article-aware answer","v2.fin.prototype.source.invite":"Invite teammates and choose their access","v2.fin.prototype.source.get_started":"Getting started guide","v2.fin.prototype.source.integrations":"Configure integrations","v2.command_palette.title":"Search","v2.command_palette.empty":"Start typing to search for articles.","v2.command_palette.searching":"Searchingâ¦","v2.command_palette.no_results":"No results.","v2.command_palette.navigate":"navigate","v2.command_palette.select":"select","v2.command_palette.close":"close","v2.command_palette.filter_all":"All","v2.command_palette.filter_label":"Filter by collection","v2.command_palette.filter_more":"More","v2.command_palette.no_results_in_collection":"No results in this collection.","v2.editorial.featured":"Featured","v2.editorial.this_week":"This week","v2.editorial.welcome":"Welcome to {appName}","v2.editorial.read_feature":"Read the feature","v2.editorial.take_tour":"Take the tour","v2.editorial.tour_title":"{appName} in 60 seconds","v2.editorial.tour_body":"A quick lap of the product so you know where everything lives.","v2.editorial.ask_fin":"Ask Fin anything","v2.editorial.ask_fin_body":"Skip the search. Describe what youâre trying to do and get a grounded answer.","v2.editorial.start_conversation":"Start a conversation","v2.editorial.featured_collection":"Featured collection","v2.editorial.collection_body":"Browse articles and guides in this topic.","v2.editorial.browse_collection":"Browse collection","v2.editorial.trending":"Trending","v2.editorial.most_read":"Most read this week","v2.editorial.get_started":"Get started in three steps","v2.editorial.browse_topics":"Browse all topics","v2.editorial.step.account.title":"Set up your account","v2.editorial.step.account.body":"Create your workspace and invite the people you work with.","v2.editorial.step.stack.title":"Connect your stack","v2.editorial.step.stack.body":"Connect the tools your team already uses to bring data in.","v2.editorial.step.ship.title":"Ship something","v2.editorial.step.ship.body":"Build your first workflow and watch it run end to end.","v2.conversational.headline":"What can I help you with?","v2.conversational.subhead":"Ask Fin anything about {appName} â answers come straight from the docs.","v2.conversational.placeholder":"Ask a questionâ¦","v2.conversational.add_screenshot":"Add a screenshot","v2.conversational.attach_file":"Attach a file","v2.conversational.prefer_browse":"Prefer to browse?","v2.styleguide.section.brand":"Brand and links","v2.styleguide.section.header":"Header","v2.styleguide.section.body":"Body","v2.styleguide.section.footer":"Footer","v2.styleguide.section.collection_cards":"Collection cards","v2.styleguide.section.content_block":"Content block","v2.styleguide.section.borders_and_radii":"Borders and radii","v2.styleguide.section.other":"Other tokens","v2.styleguide.section.fonts":"Fonts","v2.styleguide.section.buttons":"Buttons","v2.styleguide.system_default_font":"System Default","v2.styleguide.font_sample":"The quick brown fox jumps over the lazy dog","v2.styleguide.primary_action":"Primary action","v2.styleguide.secondary_action":"Secondary action"}},"collectionCardCustomProperties":{}},"__N_SSP":true},"page":"/[helpCenterIdentifier]/[locale]/articles/[articleSlug]","query":{"helpCenterIdentifier":"transifex-5fd946e1bcf6","locale":"en","articleSlug":"6265125-github-installation-and-configuration"},"buildId":"2fQCaQ-WoWwMA8cJXDB8C","assetPrefix":"https://static.intercomassets.com","isFallback":false,"isExperimentalCompile":false,"dynamicIds":[7104],"gssp":true,"scriptLoader":[]}</script>
57</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.