Skip to Content
PluginsAquaLangGitHub Sync

GitHub Sync

Keep translations in a repository instead of editing files on every server.

config.yml
github: repository: name: "owner/repo" branch: "main" authentication: type: "none" token: "" paths: remote-root: "languages" local-root: "languages"
KeyWhat it does
repository.nameowner/repo
repository.branchBranch to read
authentication.typenone or token
authentication.tokenPersonal access token. Needed for private repos and for push
paths.remote-rootFolder inside the repo. . for the root
paths.local-rootFolder inside plugins/AquaLang

A token grants write access to the repository. Never commit it and never paste it in a screenshot.

Pulling

config.yml
sync: create-missing: true overwrite-existing: true delete-missing: false backup-before-delete: true reload-after-sync: true
KeyDefaultWhat it does
create-missingtrueDownloads files you do not have
overwrite-existingtrueReplaces your local files with the repo ones
delete-missingfalseDeletes local files that are not in the repo
backup-before-deletetrueZips languages/ into backups/ before deleting anything
reload-after-synctrueReloads the languages when it finishes
/aqualang github sync /aqualang github status

overwrite-existing: true discards local edits on every sync. If you translate in game, turn it off or push first.

Pushing

config.yml
push: commit-message: "Update AquaLang translations" committer-name: "AquaLang" committer-email: "aqualang@localhost"
/aqualang github push

Needs authentication.type: token and aqualang.github.push.

Limits

config.yml
limits: max-archive-mb: 64 max-entries: 20000 commits-to-show: 5
KeyDefaultWhat it does
max-archive-mb64Aborts a download larger than this
max-entries20000Aborts an archive with more files than this
commits-to-show5Recent commits printed in the console report
Last updated: September 2, 2026 bySenkexin10e4ef4