Review Git translation changes
Choose a workspace, project and Localisync branch before opening Git synchronization. Each mapping is fixed to that branch and a provider repository identity. Changing the header selection does not retarget queued work.
Permissions
Section titled “Permissions”Owner/Admin manage connections and mappings, approve removals and send pull requests or merge requests. Editors prepare previews and apply imports that do not remove content. Viewers read mappings and activity. Current membership, active languages and unarchived parents are checked again during execution. A connection owner who loses management access must be replaced through an explicit manager reconnection.
Map files
Section titled “Map files”Click Connect repository files, select a connected provider, repository and Git branch, then select up to 20 ARB/JSON files. Confirm each file’s active language and file group. Files in the same group share key identities. JSON messages may be plain text or ICU; select nested paths explicitly for new JSON keys. Confirm suggestions rather than relying on a filename to establish a language.
Use file-group assignments for existing keys before sending translations to Git. A key and a remote file cannot be owned by overlapping mappings. New keys can select a Git file group in the key editor. Match rename explicitly associates a changed external identifier with the existing key; it preserves Localisync identity and history. It is not an automatic rename detector.
Change mapped files or languages
Section titled “Change mapped files or languages”Owner/Admin can choose Edit files on an existing mapping. Use Refresh available files to discover additional ARB/JSON files already committed to the selected Git branch. Confirm each language, file group and message interpretation, then select the approval checkbox and Save file mappings. The repository, connection and target branch remain fixed.
This operation does not change translations, history or key assignments and does not write to Git. A group with assigned keys must retain at least one file. An open or uncertain pull request must be resolved first. A stale mapping version or overlapping remote file ownership rejects the entire change.
Saving invalidates earlier approvals and clears the shared comparison baseline. Prepare a fresh preview: different existing values are reviewed as initial conflicts, and absence does not become an inferred deletion. Removed languages remain in Localisync; they simply leave this mapping. New remote files must be committed in Git before discovery; this screen does not create empty repository files.
Get changes from Git
Section titled “Get changes from Git”- Click Get changes from Git and wait for the prepared preview.
- Compare Last synchronized, Localisync and Git for each change.
- Select the desired changes. Resolve conflicts by choosing a side or writing a combined value.
- Include a new key’s definition with its selected values. Only managers can separately approve clearing or removing content.
- Click Apply selected changes. The worker rechecks the Git head, mapping/connection versions and local content versions.
Selected content, history and synchronization records are committed together. A stale version stops the operation; regenerate the preview rather than overwriting new edits. First-time unequal existing values conflict. An absent initial value is not proof that content should be removed. A missing mapped file fails the preview and never clears a language in bulk.
Webhook events and periodic reconciliation prepare previews only. They do not approve or apply changes.
Send changes to Git
Section titled “Send changes to Git”Click Send changes to Git, review the proposed content and select the results to send. Owner/Admin approval creates an isolated localisync/sync-… branch and a PR/MR. The target branch is not written directly. Merge or close the request in the provider.
A mapping permits one pending remote request. Local translation editing can continue. An open PR/MR does not advance the synchronization baseline. After merging, Localisync reads the actual target files: a changed merge result is reported for review, and only fields actually equal on both sides advance the baseline.
If a write response is lost, the job becomes outcome unknown. Localisync searches for the existing request instead of blindly creating another. Inspect the provider before any operator recovery. A cancelled or closed request is not successful synchronization.
File integrity and limits
Section titled “File integrity and limits”The Git path patches reviewed fields rather than using the general exporter. It retains ARB descriptions and placeholder metadata and preserves untouched JSON text, property order and whitespace. ARB descriptions and placeholder descriptions/examples participate in two-way comparison as separate notes changes. Select the intended side explicitly; concurrent edits conflict and note removals require removal approval. Apply preserves unrelated context and placeholder type metadata. A note-only change retains existing text reviews. Changing context after preview invalidates that preview. JSON has no native comment/context mapping. Unsupported expressions or conflicting contracts fail with an explanation. ICU variables, offsets and supported grammar follow translation validation. Fallback values are never materialized automatically.
Mappings support 20 files / 20 MiB, 10,000 keys and 50,000 values. Existing 16 KiB message and ICU complexity limits also apply. Previews expire after 24 hours; open/ambiguous remote work and the active baseline are retained for reconciliation. Closed content-free summaries are retained for 30 days. Reviews are paginated; selection is explicit across pages.
Recovery
Section titled “Recovery”An archived branch or inactive mapped language must be restored before writing. A provider permission error requires reviewing the account/repository access; reconnect when indicated. Rate limits and temporary outages leave existing translations intact. A changed repository at the same name is rejected by immutable repository ID.
Following backup recovery, Git mappings are paused, provider grants require reconnection and pending writes do not replay. The operator must inspect live PR/MR and repository state before reopening mappings. Restoring the product database does not restore or roll back a remote Git repository.
Choose whether we remember appearance preferences and use Google Analytics on Localisync and its documentation. Optional storage stays off until you accept.
Read our cookie policy