Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Alle strings er oprettet i et Localizely projekt (Claus Leth Gregersen er Owner på projektet): https://app.localizely.com/projects/3278b0a4-b1a5-4277-ba70-3159fb9dac9b/main/dashboardLocalizely konfigurationen er defineret i

Strings i  appen synkroniseres med et simpelt CLI-script.


1. Opret en read-only API-nøgle i Localizely (udvikleren holder selv styr på denne).

2. Opret localizely-cli.json

...

i roden af

...

repoet med din egen api-nøgle.

3. Kør ./localizely fra roden for at hente strings.


localizely-cli.json er tilføjet til .gitignore, så den kommer ikke i versionstyring. Filen skal følge denne skabelon:

{

  "project_id": "3278b0a4-b1a5-4277-ba70-3159fb9dac9b",

  "api_token": "DIN EGEN API NØGLE FRA LOCALIZELY.COM",

  "languages": ["da"],

  "branch": "main",

  "export_type": "ios_strings",

  "output_directory": "./MinGraviditet/MinGraviditet/Resources/Localizable/da.lproj"

}


Når filen er på plads, kan du køre `./localizely` når som helst for at sikre, at nye tekster fra Localizely er opdaterede i projektet.

Med følgende CLI kan man opdatere Localizable.strings så den svarer til seneste opdateringer i Localizely:

...

languagebash

...


Hvis macOS afviser, at køre CLI applikationen, kan du gå til System Preferences -> Security & Privacy og trykke "Open Anyway". CLI'en er et hjemmelavet Rust værktøj, der anvendes indtil Localizely kommer med deres eget officielle CLI (skulle være klar i løbet af august 2021). Det er altså ikke signeret korrekt, hvorfor macOS advarer imod programmet.

...

Code Block
titleBuildConfiguration enum
enum BuildConfiguration: String {
      case debug = "Debug"
    case dev = "Dev"
    case internalTest release = "Release"
    case test1 = "InternalTestTest1"
    case clientTesttest1MockMitID = "ClientTestTest1MockMitID"
    case clientTestMockMitIDtest2 = "ClientTestMockMitIDTest2"
    case releasetest2MockMitID = "ReleaseTest2MockMitID"
}


De forskellige konfigurationer udløser forskelligt setup af komponenter i app'en. Det ses i den statiske Configuration.build(for buildConfiguration: BuildConfiguration) -> Configuration metode.

...

Projektet distribueres som IPA via azure, hvor der er oprettet flere pipelines, hhv. "MinGraviditet iOS Appstore Release", "MinGraviditet iOS Test1 Release", "MinGraviditet iOS Test2 Release", "MinGraviditet iOS ClientTest Test1 Mock MitId Release", "MinGraviditet iOS ClientTestMockMitId Test2 Mock MitId Release" og "MinGraviditet iOS InternalTest Dev Release"

Se afsnit 5.3 ang. versionering af app'en.

...

Build nummeret opdateres ved at køre "bundle exec fastlane bump_release_version" lanen i fastlane, hvor den også tagger i git med den respektive version. Formatet er: release/VERSION_BUILDNUMMER (release/0.0.1_1000) 

...