Product
Services
Solutions
BlogDocs
Back

GitHub Integration - Complete Setup Guide

Localit.io provides powerful GitHub integration, allowing you to automate localization workflow and synchronize translations directly with your repository. Both regular GitHub and GitHub Enterprise are supported.

Supported GitHub versions

GitHub.com (Public Cloud)

  • Standard integration with public and private repositories

  • Full feature support

  • Automatic webhooks

GitHub Enterprise

  • GitHub Enterprise Server support

  • Integration with corporate installations

  • Configuration through custom domains

  • Compatibility with corporate security policies

152

Initial integration setup

Step 1: Access settings

  1. Open your project in Localit.io

  2. Go to the "Integrations" section

  3. Select GitHub from the list of available services

154

Step 2: Choose token type

GitHub offers two types of Personal Access Tokens:

  • Fine-grained tokens (Recommended) — new format with detailed permissions

  • Classic tokens — traditional format with broad permissions

Creating Fine-grained Personal Access Token

Step 1: Navigate to GitHub settings

  1. Click "Show token" in the Localit.io interface

  2. GitHub Developer Settings page will open

  3. Select "Fine-grained personal access tokens"

155

Step 2: Create new token

  1. Click "Generate new token"

  2. Fill in basic token information

156

Step 3: Configure basic parameters

Token name: Localit.io Integration Expiration: No expiration (recommended) Description: Integration with Localit.io for automated localization workflow

158

Step 4: Select repositories

Resource owner: Choose organization or personal account Repository access:

  • Selected repositories (Recommended) — choose specific repositories

  • All repositories — access to all repositories (less secure)

159

Step 5: Configure permissions

Repository permissions

Contents:

  • Access level: Read and write

  • Purpose: Reading and writing localization files

162

Metadata:

  • Access level: Read

  • Purpose: Repository metadata access

163

Pull requests:

  • Access level: Read and write

  • Purpose: Creating and managing pull requests

164

Webhooks (for automatic synchronization)

Webhooks:

  • Access level: Read and write

  • Purpose: Automatic updates when repository changes

166

Step 6: Create and copy token

  1. Click "Generate token"

  2. Important: Copy the token immediately — it won't be shown again

  3. Save the token in a secure location

167

Creating Classic Personal Access Token

Alternative method for legacy systems

If Fine-grained tokens don't work (e.g., for older GitHub Enterprise Server versions):

Step 1: Navigate to Classic tokens

  1. In Developer Settings select "Personal access tokens (classic)"

  2. Click "Generate new token (classic)"

168

Step 2: Configure Classic token

Note: Localit.io Integration

Required permissions (scopes):

repo — full repository access

  • repo:status

  • repo_deployment

  • public_repo

  • repo:invite

  • security_events

169

admin:repo_hook — webhook management

  • write:repo_hook

  • read:repo_hook

170

workflow — for process automation

  • workflow

171

Configuring connection parameters in Localit.io

Step 1: Enter token

  1. Return to Localit.io interface

  2. Paste the copied token into "Personal access token" field

  3. System automatically validates the token

174

Step 2: Select repository

  1. Choose target repository from dropdown list

  2. Search by name available for convenience

  3. Only accessible repositories are displayed

175

Step 3: Specify working branch

  1. Specify working branch (usually main or develop)

  2. Search by branch name available

  3. System shows all available branches

176

Platform and file configuration

Step 1: Choose platform type

Select platform type according to your project:

  • Web (.json, .po, .pot, .mo)

  • Android (.xml)

  • iOS (.strings, .stringsdict)

  • Other (.srt, custom formats)

178

Step 2: Add files

  1. Click "Next" to proceed to file selection

  2. Click "Add file"

  3. Select needed files in repository file tree

179

Step 3: Configure languages

  1. Specify corresponding language for each file

  2. System automatically detects language by file path

  3. Correct automatic detection if needed

180

Step 4: Save configuration

  1. Review all settings

  2. Click "Save"

  3. Integration will be configured and ready to use

181

Initial localization setup

Important for new projects

If you haven't translated your project to other languages yet, follow this workflow:

Step 1: Create empty localization files

  1. Create empty localization files in your GitHub repository

  2. Follow folder structure for your platform:

For iOS:

en.lproj/Localizable.strings
es.lproj/Localizable.strings  
fr.lproj/Localizable.strings

For Android:

values/strings.xml
values-es/strings.xml
values-fr/strings.xml

For Web:

locales/en.json
locales/es.json
locales/fr.json

Step 2: Connect integration

  1. Set up GitHub integration as described above

  2. Connect created files to project

  3. Perform initial Pull to load structure

Step 3: Translate keys

  1. Translate necessary keys using translation editor

  2. Or order automatic translation through AI services

  3. Review translation quality

Step 4: Send to GitHub

  1. Perform Push to send translations to repository

  2. Verify files updated in GitHub

  3. Test localization in application

Pull requests (Import from GitHub)

Initiating Pull request

  1. Go to project "Integrations" section

  2. Find connected GitHub repository

  3. Click "Pull" button

182
  1. Within seconds project will be updated - all keys from GitHub will be loaded into your Localit.io project

Parameter configuration: Pull request parameters correspond to manual file upload parameters. Details in File Upload Guide.

Automatic synchronization with GitHub

Function: Project automatically updates when repository changes Requirements: Webhook permission when creating token Benefits: Continuous synchronization without manual intervention

183

Push requests (Export to GitHub)

Initiating Push request

  1. Go to project "Integrations" section

  2. Find connected GitHub repository

  3. Click "Push" button

184
  1. Within seconds repository will be updated - all translations from Localit.io will be sent to your GitHub repository

Parameter configuration: Push request parameters correspond to manual file download parameters. Details in File Download Guide.

Troubleshooting

Token issues

Token not working:

  1. Check token expiration date in GitHub Settings

  2. Ensure correct copying (no extra spaces)

  3. Verify token permissions

185

Insufficient permissions:

  1. Return to token settings in GitHub

  2. Add missing permissions

  3. Regenerate token if necessary

Repository issues

Repository not displayed:

  1. Ensure token has repository access

  2. Check that repository is not archived

  3. For private repositories ensure appropriate permissions

Files not synchronizing:

  1. Check correct file path specification

  2. Ensure files exist in specified branch

  3. Verify file format matches expected

Webhook issues

Automatic synchronization not working:

  1. Check webhook settings in GitHub repository

  2. Ensure token has webhook management permissions

  3. Verify webhooks not blocked by firewall

186

GitHub Enterprise specific issues

Enterprise connection problems:

  1. Ensure correct Enterprise server URL

  2. Check server network accessibility

  3. Consult Enterprise administrator about security settings

Corporate policy restrictions:

  1. Contact GitHub Enterprise administrator

  2. Request necessary integration permissions

  3. Clarify allowed external applications list

Best practices

Token security

Recommendations:

  • Use Fine-grained tokens instead of Classic

  • Set minimal necessary permissions

  • Regularly update tokens (every 90 days)

  • Remove unused tokens

Workflow organization

Branch strategy:

  • Use separate branch for localization

  • Configure automatic merge to main branch

  • Regularly synchronize changes

Change monitoring:

  • Set up Pull/Push operation notifications

  • Regularly check synchronization status

  • Maintain change logs for audit