GitHub-integration

Integration with GitHub synchronizes source and translation files between your GitHub repository and translation project in Crowdin. All translated and approved files will be automatically pushed as a pull request to the l10n branch in the GitHub repository.

Tilslutning af Bitbucket til Crowdin

There are two possible options you can choose from. You can either use your GitHub account or GitHub Enterprise account.

Connecting GitHub Account

  1. Open your project and go to the Applications tab.
  2. Click on GitHub in the Applications list.
  3. Click Set Up Integration to integrate via your GitHub account. GitHub Integration Connecting GitHub
  4. Then authorize the connection with Crowdin on the GitHub side: GitHub Integration Authorization

Er det krævede depot privat, og har du begrænset eller ingen adgang til det, skal du bede depotejeren give dig Adgangs-token’et. Afterward, click Use personal access token and insert the token into the Token field and click Set Up Integration.

Connecting GitHub Enterprise Account

  1. To integrate via GitHub Enterprise account, you should create an access token. Sørg for at vælge de nødvendige områder:

    • repo – Full control of private repositories
    • admin:repo_hook – Fuld kontrol over repo hooks

      Note: When setting up an integration with an access token, ensure that you have the admin level permission to the necessary repo.
  2. Click on the GitHub Enterprise in the Applications list.
  3. Indsæt derefter din adgangs-token og Basis-URL i de respektive felter. Klik på Opsæt Integration for at fortsætte. GitHub Integration Connecting GitHub Enterprise

Selecting Repository

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.

GitHub Integration Unconfigured

When you work with private integrations (e.g., integrations with self-hosted VCS), you need to add dedicated Crowdin IP addresses to the whitelist to ensure that it operates properly while staying secure.

Read more about IP Addresses.

Tjenestegrene

When translations are finished and your languages are ready to go live, Crowdin sends the pull request with translations to your version control system. For every branch that is under localization, Crowdin creates an additional service branch with translations. We don’t commit directly to the master branch so that you can verify translations first.

Som standard føjes l10n_ til det oprettede tjenestegrensnavn. If necessary, you can easily change it.

Synchronization Settings

By default, sources are not pushed to the repo with translations. Although, if you perform a source text review in your Crowdin project and would like to push the changes made to your source files on Crowdin back to your repo, click Edit, select Push Sources in the integration settings, and click Save.

There are cases when it’s necessary to disable translations from being pushed to the repo temporarily. 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.

The synchronization is processed every hour automatically. If necessary, you can change the update interval in the integration settings. To configure the synchronization schedule – click Edit, scroll down to the Sync Schedule, set the preferred interval, and click Save.

Not depending on the synchronization settings, the source files’ changes on the repo will still be synced with Crowdin every ten minutes.

GitHub Sync Settings

Grene at auto-synke

When you set up the integration, you select existing repository branches to be added to the Crowdin project. To add future branches from GitHub to Crowdin automatically, create a pattern for the branch names in the integration settings.

Du kan f.eks. tilføje en mønster *funktion i Bitbucket-Integrationsindstillingerne. Fremtidige grene, som indeholder dette ord i slutningen af titlen, vil i så fald blive føjet til projektet.

For at tilføje et mønster for grennavne, så følg disse trin:

  1. Klik på Redigér i GitHub-integrationsafsnittet.
  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

Default Configuration File Name

crowdin.yml is the default file name that is used for automatically synchronized branches. To change the default settings, click Edit, specify the preferred name in the Default configuration file name field in the integration settings, and click Save.

Default Configuration File Name

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. If you see a red icon with an exclamatory mark next to the service branch name, it means that you didn’t select content for synchronization.

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

Configuration file crowdin.yml should be stored in the GitHub repository along with each separate branch that you want to translate, so Crowdin knows what files exactly should be sent for translations.

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

Læs mere om oprettelse af opsætningsfil.

Brug af flere depoter i ét projekt

When working with a multiplatform product that has versions for different operating systems, you might want to connect multiple repositories that contain source files for each operating system. In this case, localization resources (e.g., TMs, Glossaries) and translations could be used more efficiently, reducing the time needed for project localization.

To add another repository, follow these steps:

  1. Open your project and go to the Applications tab.
  2. Click on GitHub in the Applications list.
  3. Click Add Repository.
  4. Configure the integration with the new repository according to your needs and preferences.

GitHub Integration Multiple Repositories

Kontrol af Synkroniseringsstatus

Once the integration is set up, all the related information is stored in the Applications tab > GitHub section.

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.

GitHub synk nu

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

GitHub Sync Branch

Uploading Translations from Repo

Som standard uploades de i depotet gemte oversættelser kun til Crowdin under den første synkning. To upload translations to Crowdin manually, click on the drop-down toggle on the Sync Now button, and click Upload Translations. The integration will upload existing translations to your Crowdin project.

GitHub Upload Translations

Sp&Sv

Q: What should I do if my repository becomes a part of the GitHub organization? A: To continue using GitHub integration in Crowdin, follow these steps:

  1. Go to Authorized OAuth Apps in your GitHub account.
  2. Find Crowdin OAuth App in the list and revoke its access.
  3. Set up the GitHub integration in your Crowdin project again using the instructions above.

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:

Se også

Var denne artikel nyttig?