GitLab-integration

Integration med GitLab synker kilde- og oversættelsesfiler mellem GitLab-repo’et og oversættelsesprojektet i Crowdin. Alle oversatte og godkendte filer bliver automatisk pushed som en fletteanmodning til l10n-grenen i GitLab-repo’et.

Tilslutning af GitLab med Crowdin

Der er to muligheder, at vælge imellem. Der kan enten benyttes en GitLab- eller GitLab Enterprise-konto.

Tilslutning af GitLab-konto

  1. Åbn projektet og gå til fanen Apps.
  2. Klik på GitLab på apps-listen.
  3. Klik på Opsæt integration for at integrere via en GitLab-konto. GitLab-integration ved tilslutning af GitLab
  4. Godkend derefter fra GitLab forbindelsen med Crowdin: GitLab Integration Authorization

Tilslutning af GitLab Enterprise-konto

  1. For at integrere via en GitLab Enterprise-konto skal et adgangstoken oprettes. Sørg for at vælge de ønskede områder:

    • api – Tildeler fuld læse-/skriveadgang til API’en, herunder alle grupper og projekter samt container- og pakkeregistrene

      Bemærk: Ved integrationsoprettelse med et adgangstoken, så sørg for at adgangsrettigheden til det pågældende depot er på Vedligeholder-niveau.
  2. Klik på GitLab Enterprise på apps-listen.
  3. Indsæt derefter din adgangs-token og Basis-URL i de respektive felter. Klik på Opsæt Integration for at fortsætte. GitLab-integrationstilslutning til GitLab Enterprise

Vælg depot

I pop-up dialog vælges ens depot samt de grene, som skal oversættes. Det anbefales at skifte Dubletstrenge til Vis indenfor versionsgrene, så identiske strenge vil være skjult grenene imellem. Indeholder kildefilerne strenge med åbenbare identifikatorer (nøgler), er det bedre at anvende en striks version af indstillingen. I andre tilfælde kan en almindelig bruges.

Læs mere om Dubletstrenge.

GitLab-integration, Ikke-opsat

Når der arbejdes med private integrationer (f.eks. integrationer med selvhostede VCS), skal der føjes dedikerede Crowdin IP-adresser til hvidlisten for at sikre, at den fungerer korrekt og samtidig er sikker.

Read more about IP Addresses.

Tjenestegrene

Når oversættelser er færdige, og sprogene er klar til implementering, sender Crowdin en pull-anmodning med oversættelser til ens versionsstyringssystem. For hver gren, der er under lokalisering, opretter Crowdin en yderligere tjenestegren med oversættelser. Der committes ikke direkte til master-grenen, så man kan bekræfte oversættelser først.

Som standard føjes l10n_ til det oprettede tjenestegrensnavn. Dette kan let ændres.

Synkindstillinger

Som standard pushes kilder ikke til repo’et med oversættelser. Udføres der imidlertid kildetekstrevision i Crowdin-projektet, og ønskes sådanne kildefilsændringer fra Crowdin pushed tilbage til repoet, så klik på Redigér, vælg Push-kilder i integrationsindstillingerne og klik på Gem.

Der er tilfælde, hvor det midlertidigt er nødvendigt at hindre oversættelser i at blive pushed til repo’et. I dette tilfælde, så klik på Redigér, ryd Synktidsplan i integrationsindstillingerne, og klik på Gem. Når alt er klar til synk af oversættelser med depotet, så vælg Synktidsplanog klik på Gem.

Synk afvikles automatisk hver time. Opdateringsintervallet kan ændres under integrationsindstillingerne. For at opsætte synkplanen – klik på Redigér, rul ned til Synkplan, angiv det ønskede interval og klik på Gem.

Kildefilændringer i repo’et synkes stadig med Crowdin hvert 10. minut uafhængigt af synkindstillingerne.

GitLab-synkindstillinger

Grene at auto-synke

Under integrationsopsætning, vælges de eksisterende repo-grene, som skal tilføjes Crowdin-projektet. For automatisk at føje fremtidige grene fra GitLab til Crowdin, så opret et mønster for grennavnene i integrationsindstillingerne.

Man kan f.eks. tilføje en *mønsterfunktion i GitLab-Integrationsindstillingerne. Fremtidige grene indeholdende dette ord i slutningen af titlen, vil i så fald blive tilføjet projektet.

Følg disse trin for at tilføje et mønster for grennavne:

  1. Klik på Redigér i afsnittet GitLab-integration.
  2. I den viste dialog rulles ned til Grene til Automatisk Synk.
  3. I feltet Grene til Automatisk Synk kan jokertegn benyttes som selektorer, såsom ‘*’, ‘?’, ‘[set]’, ‘' mv. for at identificere de relevante grene.
  4. Klik på Gem. Grene at auto-synke

Standardopsætningsfilnavn

crowdin.yml er standardfilnavnet, der bruges til automatisk synkede grene. For at ændre standardindstillingerne, så klik på Redigér, angive et navn i feltet Standardopsætningsfilnavn i integrationsindstillingerne og klik på Gem.

Standardopsætningsfilnavn

Valg af indhold til synkning

For at få integrationen til at fungere, skal du angive, hvilke kildefiler, som skal oversættes, og hvordan Crowdin skal strukturere oversatte filer i dit depot. Ses et rødt ikon med et udråbstegn ved siden af tjenestegrensnavnet, betyder det, at der ikke er valgt indhold til synkning.

Dette kan gøre på to måder: Online eller manuel oprettelse af en opsætningsfil.

Onlineopsætning

Denne procedure er den samme for alle integrationer med versionsstyringssystemer (VCS). Tjek VCS-integrationer: Onlineopsætning for at få mere at vide om, hvordan man vælger et indhold til synkronisering online.

Oprettelse af opsætningsfil

Opsætningsfilen crowdin.yml skal gemmes i GitLab-repo’et sammen med hver enkelte gren, der skal oversættes, så Crowdin præcist ved, hvilke filer, som skal sendes til oversættelse.

Filen skal have samme struktur som krævet til CLI, dog bør projektakkreditiverne bør af sikkerhedsårsager ikke gemmes i fil-headeren.

Read more about creating a configuration file.

Brug af flere depoter i ét projekt

Ved arbejder med et multiplatformsprodukt, som har versioner til forskellige operativsystemer, kan flere repo’er, indeholdende kildefiler til hvert operativsystem, forbindes. I så tilfælde kan lokaliseringsressourcer (f.eks. TM’er, ordlister) og oversættelser bruges mere effektivt, hvilket reducerer den nødvendige tid til projektlokalisering.

Følg disse trin for at tilføje et eller flere repo’er:

  1. Åbn projektet og gå til fanen Apps.
  2. Klik på GitLab på apps-listen.
  3. Klik på Tilføj depot.
  4. Opsæt integrationen med det nye repo som ønsket.

GitLab-integration af flere repo'er

Kontrol af Synkroniseringsstatus

Når integration er opsat, lagres alle relaterede oplysninger på fanen Apps > i afsnittet <GitLab.

Når integrationen er forbundet, kan indstillingerne kun opdateres af projektmedlemmet, der har opsat den. Alle projektadministratorer, undtagen personen, der opsatte integrationen, vil se knappen Redigér deaktiveret med flg. meddelelse, når markøren placeres over den: Integration er opsat af {Full Name} ({username}).

Som standard behandles synk automatisk hvert 60. minut. Ved behov for at synke straks, så klik på Synk nu.

GitLab synk nu

Alternativt, ved behov for at synke én bestemt gren, så klik på den relevante gren og vælg Synk gren.

GitLab-grensynk

Upload af oversættelser fra repo

Som standard uploades de i depotet gemte oversættelser kun til Crowdin under den første synkning. For at uploade oversættelser til Crowdin manuelt, så klik på rullemenuknappen Synk nu og klik på Upload oversættelser. Integrationen vil uploade eksisterende oversættelser til Crowdin-projektet.

GitLab oversættelses-upload

Sp&Sv

Q: Jeg har en applikations-build opsat til at blive udløst af hver commit. Da hver oversættelsesfil comittes af Crowdin separat, hvordan undgås så unødvendige applikations-builds udløst af disse Crowdin-commits? A: Da VCS-integrationer i Crowdin bruger API til at comitte filer og ikke Git, comittes hver fil separat.

Her er et par anbefalinger, som kan hjælpe med at løse lign. situationer:

  • Brug muligheden export_languages til at overspringe commits fra sprog, som endnu ikke er relevante. Read more about the Export languages parameter for VCS integrations.
  • Brug [ci skip]-tagget i commit-meddelelserne for at overspringe irrelevante builds. Read more about the Commit Message parameter for VCS integrations.
  • Opsæt det foretrukne synkinterval vha. Synktidsplan (opsæt f.eks. synk til én gang hver 24. time).
  • Squash commits ved fletning af en lokaliseringsgren for at holde master-gren historikken ren og ryddelig.

Se også

Var denne artikel nyttig?