LoopKit / LoopTranslations

Repo for organizing and maintaining translation files for Loop
0 stars 0 forks source link

Translation Process #1

Open cfaagaard opened 2 years ago

cfaagaard commented 2 years ago

The process

When a development cycle is finished, the app should be translated:

  1. Using XCode to generate xliff-files and push the the files to a github repo.
  2. Using Crowdin.com for translating the xliff-files. (Crowdin makes PRs to the github repo)
  3. Using XCode to import the translated xliff-files.

Setting up the process (todo)

  1. All loop-projects should support the same languages.
  2. All loop-projects should have the same number of “Ressources” in the localizations-section of the project-settings (if not, there are project-items that are marked for localization for only some languages)
  3. All projects should have the “correct” “Localized_string_macro_names” value in project settings. (Otherwise the strings is not going into the xliff-files when exported)
  4. Should we export/import xliff at workspace-level or project-level? a. I think, if we do it at workspace-level it would generate xliff-keys also for none-loop-projects like truetime/minizip. This we do not want. So it should be done on project-level (use script as you cannot import all languages in one import…. You must import per project, per language…..
  5. (XCode sanity check) -> Double check if all strings are in the xliff-files. a. If not, check the “Localized_string_macro_names” for that project….
  6. Decision: Should we still use the “LoopTranslation”-organization in github? a. It does make the translation process more complex and manual… b. I Would prefer: Developers in “loopkit”-organization export/import xliff files themselves. And completely drop the “LoopTranslation”organization.
  7. Move already translated strings from “LoopTranslation” into new xliff-files.
  8. Setup new Crowdin-site
  9. Maybe???: Automate: a. xliff-pullrequest into master/main from crowdin. b. Import/export xliff

Other things….

  1. Could make UI-tests that makes screenshots in order to include the screenshots in the xliff-files in order to make the translation easier. (Creating Screenshots of Your App for Localizers | Apple Developer Documentation)
cfaagaard commented 2 years ago

Links:

Official documentation: https://developer.apple.com/documentation/xcode/localization

Localizing your iOS App | Xcode 12, Swift 5.3 : https://medium.com/swift-productions/localizing-your-ios-app-xcode-12-swift-5-3-74559a431e79

Xcode 13 and SwiftUI: https://www.ibabbleon.com/swiftui_localization_tutorial.html

Step-by-step iOS localization tutorial: https://www.ibabbleon.com/iphone_app_localization.html