Crowdin Apps JS

Crowdin-apps JS er et bibliotek bygget til lettere interaktion med Crowdin. Da integrationen bruger iframes, er der visse begrænsninger for interaktionen mellem vinduer: Miljøer er indkapslet og har ikke adgang til sideindholdet, kode, stilarter og andre oplysninger relateret til siden.

Crowdin-apps JS-biblioteket er baseret på meddelelsesteknologi på tværs af vinduer og bruger postMessage() til interaktion mellem flere vinduer.

Komme i gang

For brug af dette bibliotek, så tilslut det på modulsiden ved at indsætte flg. kode i sidehovedet:

<script src="https://cdn.crowdin.com/apps/dist/iframe.js"></script>

Efter tilføjelse af ovennævnte kode vil den globale AP-variabel kunne benyttes.

Bemærk! Download og tilgængeliggør ikke iframe.js-filen direkte fra egen app-server. Filen iframe.js skal leveres fra Crowdin til oprettelse af krydsdomæne besked-bridge. Filen iframe.js er kun beregnet til brug i en iframe inde i Crowdin og fungerer ikke for enkeltstående websider.

Globale handlinger

Globale handlinger er de på alle modulsider tilgængelige handlinger.

AP.getContext(callback)

Metoden henter kontekstinformationen om den aktuelle side og indsætter den i callback’en. F.eks. projekt-ID’et, hvor modulet åbnes eller landestandarden brugt på siden.

Eks.:

  AP.getContext(function(contextData) {
    console.log("Object: context", contextData);
  });

Egenskaber:

callback

Type: function

Beskrivelse: callback'en, der håndterer svarobjektet.

AP.getJwtToken(callback)

Metoden henter en JWT-token streng. Bruges til at hente et aktuelt token. Har det foregående token en gyldighedsperiode på mindre end et minut, genererer og returnerer metoden et nyt token.

Eks.:

  AP.getJwtToken(function(jwtToken) {
    console.log("String: JWT token", jwtToken);
  });

Egenskaber:

callback

Type: function

Beskrivelse: callback'en, der håndterer svarstrengen.

Editormodulhandlinger

Editormodulhandlinger muliggør at hente information fra Editor-UI’en. Disse handlinger er kun tilgængelige på sider indlæst i en iframe i Editor-panelmodulet.

AP.editor.getString(callback)

Metoden henter information om den aktuelt valgte streng i Redigeringsværktøjet.

Eks.:

  AP.editor.getString(function(stringData) {
    console.log("Object: source string", stringData);
  });

Egenskaber:

callback

Type: function

Beskrivelse: callback'en, der håndterer svarobjektet.

AP.editor.getTranslations(callback)

Metoden henter en liste over oversættelser foreslået til den aktuelle streng i Redigeringsværktøjet. Derudover indeholder svaret information om oversættelsesforfatteren, antallet af stemmer og godkendelse af det aktuelle arbejdsgangstrin.

Eks.:

  AP.editor.getTranslations(function(translationsData) {
    console.log("Array: translation objects", translationsData);
  });

Egenskaber:

callback

Type: function

Beskrivelse: callback'en, der håndterer svarudstrækningen.

AP.editor.getTopTranslation(callback)

Metoden henter en topoversættelse (oversættelsen med højeste prioritet) til den aktuelt valgte kildestreng i Redigeringsværktøjet.

Eks.:

  AP.editor.getTopTranslation(function(topTranslationData) {
    console.log("Object: top translation", topTranslationData);
  });

Egenskaber:

callback

Type: function

Beskrivelse: callback'en, der håndterer svarobjektet.

Event-modulhandlinger

Event-modulhandlinger muliggør at arbejde med begivenheder, og tillader Crowdin-appen at reagere på begivenheder, som sker i Crowdin-UI’en samt at udløse sine egne begivenheder.

AP.events.once(event, callback)

Metoden tilmelder en engangs-listener til at opdage begivenheder med et angivet navn. Listener’en afmeldes, så snart den første begivenhed håndteres.

Eks.:

  AP.events.once("event", function(eventData) {
    console.log("Event data", eventData);
  });

Egenskaber:

event

Type: string

Beskrivelse: Navnet på begivenheden, som funktionens callback skal reagere på.

callback

Type: function

Beskrivelse: Callback'en, der håndterer begivenheden. Afhængigt af begivenhedstype, kan der være enten ét eller et flere argumenter i callback'en.

AP.events.on(event, callback)

Metoden tilmelder en engangs-listener for alle begivenheder med et bestemt navn.

Eksempel:

  AP.events.on("event", function(eventData) {
    console.log("Event data", eventData);
  });

Egenskaber:

event

Type: string

Beskrivelse: Navnet på begivenheden, som funktionens callback skal reagere på.

callback

Type: function

Beskrivelse: Callback'en, der håndterer begivenheden. Afhængigt af begivenhedstype, kan der være enten ét eller et flere argumenter i callback'en.

AP.events.off(event, callback)

Metoden afmelder en listener for en begivenhed med et angivet navn.

Eksempel:

  function callback(eventData) {
    console.log("Event data", eventData);
  };

  AP.events.on("event", callback);
  AP.events.off("event", callback);

Egenskaber:

event

Type: string

Beskrivelse: Navnet på begivenheden, fra hvilken funktionens callback skal afmeldes.

callback

Type: function

Beskrivelse: Callback'en, der tidligere var tilmeldt for begivenheden.

AP.events.ofAll(event)

Metoden afmelder alle tidligere tilmeldte listeners for den angivne begivenhed.

Eksempel:

  AP.events.offAll("event");
event

Type: string

Beskrivelse: Navnet på begivenheden, fra hvilken alle listeners skal afmeldes.

AP.events.onAny(callback)

Metoden tilmeldes for alle begivenheder fra Crowdin-UI’en.

Eksempel:

  AP.events.onAny(function(event, data) {
    console.log("Event name string", event);
    console.log("Event data", data);
  });

Egenskaber:

callback

Type: function

Beskrivelse: Callback'en, der modtager navnet på begivenheden og alle data overført hertil.

AP.events.offAny(callback)

Metoden afmelder en listener fra alle begivenheder.

Eksempel:

  function callback(event, data) {
    console.log("Event name string", event);
    console.log("Event data", data);
  };

  AP.events.onAny(callback);
  AP.events.offAny(callback);

Egenskaber:

callback

Type: function

Beskrivelse: Callback'en, der var tilmeldt for begivenheden.

Var denne artikel nyttig?