Skip to content

Translation Process #1

@cfaagaard

Description

@cfaagaard

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions