GitHub-integration

Integration med GitHub synker kilde- og oversættelsesfiler mellem Github-repo’et og oversættelsesprojektet i Enterprise. Alle oversatte og godkendte filer bliver automatisk pushed som en pull-forespørgsel til l10n-grenen i GitHub-repo’et.

Tilslutning af GitHub med Enterprise

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

Forbinde GitHub-konto

  1. Åbn Enterprise-projektet og gå til Applikationer > System.
  2. Klik på GitHub på integrationslisten.
  3. Klik på Opsæt Integration for at integrere via GitHub-kontoen.
  4. Godkend dernæst via GitHub forbindelsen til Enterprise.

Er det relevante depot privat, og har man begrænset eller ingen adgang til det, så bed depotejeren om Adgangs-token’et. Klik bagefter på Brug personlig adgangstoken og indsæt tokenet i feltet Token og klik på Opsæt Integration.

Forbinde GitHub Virksomhedskonto

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

    • repo – Fuld kontrol over private depoter
    • admin:repo_hook – Fuld kontrol over repo hooks
  2. Klik på GitHub Enterprise på integrationslisten.
  3. Indsæt derefter din adgangs-token og Basis-URL i de respektive felter. Klik på Opsæt Integration for at fortsætte.

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.

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

Read more about IP Addresses.

Tjenestegrene

Når oversættelser er færdige, og sprogene er klar til idriftsættelse, sender Enterprise en pull request med oversættelser til versionsstyringssystemet. For hver gren, der er under lokalisering, opretter Enterprise 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 kildetekstændringer i Enterprise-projektet, og ønskes ændringerne i kildefiler Enterprise pushed 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.

Uafhængigt af synkindstillingerne vil kildefilændringer i repo stadig blive synket med Enterprise hvert 10. minut.

Grene at auto-synke

Når integration opsættes, vælges de eksisterende repo-grene, som skal føjes til Enterprise-projektet. For automatisk at føje fremtidige grene fra GitHub til Enterprise, så opret et mønster for grennavnene i integrationsindstillingerne.

Der kan f.eks. tilføje en mønster *funktion i GitHub-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 GitHub-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.

Standard opsæ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.

Valg af indhold til synkning

For at få integrationen til at fungere, skal der angives, hvilke kildefiler, som skal oversættes, samt hvordan Enterprise skal strukturere oversatte filer i repo’et. 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 der vælges indhold til onlinesynkning.

Oprettelse af opsætningsfil

Opsætningsfilen crowdin.yml skal gemmes i GitHub-repo’et sammen med hver enkelte gren, som skal oversættes, således at Enterprise ved, hvilke specifikke filer, som skal sendes til oversættelser.

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 Enterprise-projektet og gå til Applikationer > System.
  2. Klik på GitHub på integrationslisten.
  3. Klik på Tilføj depot.
  4. Opsæt integrationen med det nye repo som ønsket.

Kontrol af Synkroniseringsstatus

Når integration er opsat, lagres alle relaterede oplysninger på samme sted – Applikationer > System > GitHub-afsnittet.

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}.

Som standard behandles synk automatisk hvert 60. minut. Ved behov for at synke straks, så klik på Synk nu. Ved behov for kun at synke én gren separat, klik alternativt på den relevante gren og vælg Synk gren.

GitHub synk nu

Upload af oversættelser fra repo

Som standard uploades de oversættelser, som er gemt i repo’et, kun til Enterprise under den første synkning. For at uploade oversættelser til Enterprise manuelt, så klik på ved siden af Synk nu-knappen og klik på Upload Oversættelser. Integrationen vil uploade eksisterende oversættelser til Enterprise-projektet.

Sp&Sv

Sp.: Hvad gør man, hvis repo’et bliver en del af GitHub-organisationen?
Sv.: For fortsat brug af GitHub-integration i Enterprise, så følg disse trin:

  1. Gå til Godkendte OAuth-apps i GitHub-kontoen.
  2. Find Crowdin OAuth-app på listen, og ophæv dens adgang.
  3. Opsæt GitHub-integrationen i Enterprise-projektet igen vha. vejledningen ovenfor.

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 program-builds udløst af disse commits?
A: Da VCS-integrationer i Crowdin bruger API til at comitte filer, men 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?