By the end of this guide you will have a working Fastlane lane that authenticates with the POEditor API, exports your translations in the format that suits your project, and writes the resulting file to the correct location in your repository — all in a single command. No manual file downloads, no renaming, no copy-pasting between directories.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.
Obtain your POEditor credentials
You need two values before writing your lane:
- API token — go to your POEditor account, navigate to Settings → API Access, and copy your token. A read-only token is sufficient and is strongly recommended.
- Project ID — open your POEditor project. The numeric ID appears in the browser URL:
https://poeditor.com/projects/view?id=YOUR_PROJECT_ID.
Install the plugin
If you haven’t already added the plugin to your project, follow the Installation guide, then return here. The short version:
Add a lane to your Fastfile
Open
fastlane/Fastfile and add the lane below. This example uses the xcstrings format, which produces a single Xcode 15+ String Catalog containing all languages at once.Fastfile
When
file_format is "xcstrings", POEditor exports all languages enabled in the project into a single file, regardless of how many language codes you include in the languages array. You only need to pass one language code to trigger the export — the rest are included automatically.Run the lane
Execute the lane from your project root:Fastlane will call the POEditor v2 export API, retrieve the download URL, fetch the file, and write it to disk. You will see a success message in the terminal for each language processed.
Verify the output
After the lane completes, confirm the file was written to the expected path:The file at
./XCStrings/Localizable.xcstrings is ready to be committed to your repository or consumed by downstream Fastlane actions (such as a build or upload lane). For apple_strings, each language produces its own file at ./Strings/<lang>.lproj/Localizable.strings. For android_strings, each language lands in ./Android/values-<lang>/strings.xml (with the default language going into ./Android/values/strings.xml).Format Examples
All three supported export formats use the sameovo_poeditor_strings action. Choose the snippet that matches your platform.
Next Steps
- iOS String Catalogs — see iOS xcstrings Guide for Xcode project integration details.
- Android resources — see Android strings Guide for
valuesfolder conventions and thelanguage_mapoption. - Language mapping — see Language Mapping to map POEditor language codes to platform-specific folder names.
- Fallback languages — see Fallback Languages to configure per-language fallbacks for untranslated strings.
- All parameters — see Action Parameters Reference for the complete list of available options.