Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ovolab/fastlane-plugin-ovo_poeditor/llms.txt

Use this file to discover all available pages before exploring further.

Every parameter that accepts a plain scalar value has a corresponding environment variable. When Fastlane evaluates an action parameter, it checks the matching environment variable automatically — no additional configuration is needed in the Fastfile itself. This design enables teams to inject credentials and project settings from CI/CD secret stores, keeping sensitive values out of source control and making the same Fastfile portable across developer machines, staging environments, and production pipelines.

Environment Variable Reference

Environment VariableParameterTypeRequired
POEDITOR_API_TOKENapi_tokenStringYes
POEDITOR_PROJECT_IDproject_idStringYes
POEDITOR_LANGUAGESlanguagesArrayYes
POEDITOR_OUTPUT_DIRoutput_dirStringYes
POEDITOR_FILE_NAMEfile_nameStringYes
POEDITOR_EXPORT_FILE_FORMATfile_formatStringYes
POEDITOR_DEFAULT_LANGUAGEdefault_languageStringNo
POEDITOR_UNQUOTED_STRINGSunquoted_stringsInteger (0 or 1)No
POEDITOR_BYPASS_DEFAULT_LANGUAGEbypass_default_languageBooleanNo
POEDITOR_FALLBACK_LANGUAGESfallback_languagesHashNo
The language_map parameter has no corresponding environment variable. It must be passed directly as a Hash in your Fastfile. This is intentional — complex nested structures are difficult to express reliably as environment variable strings, and the mapping is not a secret value that needs to be kept out of source control.

Using with CI/CD

GitHub Actions

Store your POEditor credentials as encrypted repository secrets in GitHub, then expose them as environment variables in your workflow step. The Fastfile reads them automatically at runtime.
.github/workflows/localization.yml
jobs:
  localization:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Download translations
        env:
          POEDITOR_API_TOKEN: ${{ secrets.POEDITOR_API_TOKEN }}
          POEDITOR_PROJECT_ID: ${{ secrets.POEDITOR_PROJECT_ID }}
        run: bundle exec fastlane download_strings
With the credentials injected by the workflow, the Fastfile itself contains no secrets and only needs to declare the non-sensitive configuration values:
Fastfile
lane :download_strings do
  ovo_poeditor_strings(
    languages: ["en", "fr", "it"],
    output_dir: "./Strings",
    file_format: "apple_strings",
    file_name: "Localizable.strings"
  )
end
Fastlane picks up POEDITOR_API_TOKEN and POEDITOR_PROJECT_ID from the environment automatically, so those two parameters are not listed in the lane at all.
Never hardcode your POEditor API token directly in the Fastfile or commit it to source control. An exposed token allows anyone to read — or, if the token has write access, modify — all content in your POEditor project. Always supply the token via an environment variable sourced from a secret store.
For local development, use a .env file together with the dotenv Ruby gem. Create a .env file at the root of your repository (and add it to .gitignore), then populate it with your personal POEditor credentials:
.env
POEDITOR_API_TOKEN=your_personal_api_token
POEDITOR_PROJECT_ID=123456
Fastlane loads .env automatically when present, so your local runs use the same Fastfile as CI without you ever having to export variables manually in your shell.

Build docs developers (and LLMs) love