On the web a bad translation is a deploy away from fixed. On mobile it is a review cycle away, in front of everyone who already downloaded it. The gate matters more here than anywhere else.
.xcstrings.stringsstrings.xml.arbpull returns the platform's own format, so no conversion step sits between locoloop and Xcode or Gradle.Gate the release, not the merge. Blocking every merge trains people to skip the check; blocking the release does not.
German runs long and a button does not. Reviewing on the device beats reviewing in a spreadsheet, so keep reviewer seats free and hand them out.
Set formal or informal per locale before the first translation pass, not after someone re-reads every screen.
Import the English file, enable a language, paste the CI job.