lokalise/Push to Lokalise

GitHub action to upload changed translation files in the base language from your GitHub repository to Lokalise TMS.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jul 2, 2026
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: lokalise/lokalise-push-action@48a07f0c11b7ae2afa8e9966554238a7976539e3 # v5.4.2

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
api_tokenAPI token for Lokalise with read/write permissionsyes
project_idProject ID for Lokaliseyes
base_langBase language (e.g., en, fr_FR)noen
translations_pathPaths to translation filesnolocales
file_extCustom file extension(s) to use when searching for translation files (without leading dot). Accepts either a single value (e.g. "json") or multiple newline-separated values. This parameter has no effect when the name_pattern is provided.nojson
additional_paramsAdditional parameters for Lokalise API on push. Must be valid JSON or YAML. Find all supported options at https://developers.lokalise.com/reference/upload-a-fileno""
flat_namingUse flat naming convention (true/false). If true, expects files like locales/en.json instead of locales/en/file.jsonnofalse
name_patternCustom pattern for naming translation files. Overrides default language-based naming. Must include both filename and extension if applicable (e.g., "custom_name.json" or "**/*.yaml"). Default behavior is used if not set.no""
skip_taggingDo not assign tags to the uploaded translation keys on Lokalisenofalse
skip_pollingDo not wait for the upload operation to be marked as completed on Lokalisenofalse
skip_default_flagsDo not set any extra flags for the upload commandnofalse
rambo_modeAlways upload all translation files for the base language regardless of changesnofalse
max_retriesMaximum number of retries on rate limit errorsno3
sleep_on_retryNumber of seconds to sleep before retryingno1
http_timeoutTimeout for HTTP calls (in seconds)no120
upload_timeoutTimeout for the whole upload operation (in seconds)no600
poll_initial_waitNumber of seconds to wait before polling the upload process for the first timeno1
poll_max_waitTimeout for polling the upload processno120
os_platformTarget platform for the binary (linux_amd64, linux_arm64, mac_amd64, mac_arm64). If not set, the action will auto-detect based on the runner.no""
git_user_nameOptional Git username to use when tagging the initial Lokalise upload. Defaults to GitHub actor.no""
git_user_emailOptional Git email to use when tagging the initial Lokalise upload. Defaults to "<username>@users.noreply.github.com".no""
use_tag_trackingUse git tags to track last synced commit per branchnofalse
namedescription
initial_runA boolean value indicating whether this is the initial run on the branch.
files_uploadedA boolean value indicating whether any files were uploaded to Lokalise.