Farbschema: Hell
Sie befinden sich hier: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Office SDK » how-to » Prevajanje aplikacije

Prevajanje aplikacije

Besedila aplikacije Access v poljubnem številu jezikov vodite kot datoteke projekta, vsak prevajalec prejme paket svojega jezika za Excel, vse pakete prevzamete v enem koraku in aplikacijo preizkusite v vsakem jeziku.

Zahteve: WKL Office SDK 0.8 ali novejša različica; WKL Forms Object Library 1.67 ali novejša različica na računalnikih, na katerih aplikacija teče (objekt WklTexts).

Pregled rešitve

  • Besedila so datoteke projekta: source/texts/neutral.json jih vsebuje v jeziku, v katerem je aplikacija napisana, source/texts/<koda>.json pa po en prevod za katero koli kodo jezika (de.json, fr.json, pl.json …).
  • Gradnja jih zapiše v tabelo USysWklTexts datotek ACCDB in ACCDE. Med izvajanjem WklTexts vsako besedilo vrne v jeziku seje; ključ, ki v tem jeziku nima besedila, prikaže nevtralno besedilo, nato angleško. SDK med izvajanjem ni potreben.
  • Vsaka gradnja sporoči manjkajoče prevode, besedila z drugačnimi ogradami, ključe, ki jih koda zahteva, pa nimajo besedila, in prevode, katerih izvirno besedilo se je medtem spremenilo.
  • Vsak prevajalec prejme paket CSV svojega jezika, ki ga Excel odpre neposredno; paketi se vrnejo v poljubnem vrstnem redu in se združijo v enem uvozu.

Izvedba

  1. Napišite nevtralna besedila v source/texts/neutral.json, in sicer v jeziku, v katerem razvijate. Vsak ključ potrebuje nevtralno besedilo, saj je to nadomestno besedilo za vse druge jezike:

    {
      "orders.saved": "{0} orders saved.",
      "orders.title": "Orders"
    }

    Ta jezik navedite v projektni datoteki; tako ne potrebuje lastne datoteke in se ne javlja kot neprevedeni jezik:

    <NeutralLanguage>en</NeutralLanguage>
  2. Ključe uporabite v kodi prek WklTexts (glejte dokumentacijo WKL Forms Object Library, „Lokalizacija aplikacije“):

    Dim texts As New WklTexts
    Me.Caption = texts.Text("orders.title")
    MsgBox texts.Text("orders.saved", count), vbInformation, texts.Text("wkl.information")
  3. Vsakemu prevajalcu pripravite paket. Za vsak jezik en ukaz:

    wkl-office texts export Orders.acproj --language fr
    wkl-office texts export Orders.acproj --language it

    Vsak ukaz poleg projektne datoteke zapiše texts.<koda>.csv s stolpci key, source (nevtralno besedilo), stolpcem jezika in review. Prevajalec v Excelu izpolni le stolpec jezika in datoteko shrani kot CSV UTF-8. Vrstica z besedilom v stolpcu review je prevod, ki ga je treba pregledati: stolpec pokaže izvirno besedilo, iz katerega je prevod nastal.

  4. Vse pakete prevzemite naenkrat, takoj ko prispejo:

    wkl-office texts import Orders.acproj texts.fr.csv texts.it.csv

    Zapišejo se le stolpci jezikov. Prazna celica in manjkajoča vrstica ne spremenita ničesar, zato prevajalec, ki vrne napol izpolnjen paket, ne izbriše ničesar. Za vsak jezik ena vrstica navede, koliko besedil je novih, spremenjenih, še neprevedenih in označenih za pregled. Datoteke preglejte in potrdite tako kot vse druge izvorne datoteke.

  5. Gradnja in preverjanje. wkl-office build Orders.acproj besedila zapiše v podatkovno zbirko in kot opozorilo navede vsak ključ, ki v nekem jeziku nima besedila, ter vsak prevod, označen za pregled.
  6. Preizkus v vsakem jeziku:

    foreach ($language in 'en', 'fr', 'it') {
        wkl-office test Orders.acproj --language $language --work "test-results\$language"
    }

    --language določi jezik seje za besedila aplikacije in komponente WKL, ne glede na jezik Officea.

Pričakovani rezultat

Datoteki ACCDB in ACCDE vsebujeta tabelo USysWklTexts z vsemi besedili v vseh jezikih. V francoskem Officeu aplikacija prikaže svoja francoska besedila, ključ brez francoskega besedila pa prikaže nevtralno besedilo. Preizkus z --language fr sporoči enaka preverjanja kot v francoskem Officeu.

Opombe

  • Paketa si nasprotujeta. Če dve datoteki za isti ključ in isti jezik navajata različni besedili, uvoz navede vsako nasprotje, ne zapiše ničesar in se konča z izhodno kodo 2. Odstranite napačno vrstico ali datoteko in uvoz ponovite.
  • Nevtralno besedilo se je spremenilo. Prevodi, ki so nastali iz prejšnjega besedila, se v source/texts/review.<koda>.json označijo za pregled, naslednji paket pa to prejšnje besedilo pokaže v stolpcu review. Paket, preveden iz zastarelega izvirnega besedila, se prevzame in enako označi. Oznaka izgine, ko se vrne prevod trenutnega besedila.
  • Novi ključi prihajajo iz nevtralnih besedil. Paket ključev ne more dodati: vrstica s ključem, ki ga aplikacija nima, se preskoči z opozorilom.
  • Celoten nabor v eni datoteki. texts export brez --language vse jezike zapiše v texts.csv, po en stolpec za vsak jezik, najprej neutral. texts import --replace texts.csv tako datoteko prevzame kot celoten nabor: ključ, ki ga v njej ni, se odstrani, stolpec jezika, ki je prazen v vseh vrsticah, pa pusti svojo datoteko nespremenjeno.
  • Brez nevtralnih besedil. Projekt, ki ima le source/texts/en.json, deluje še naprej: izhodišče preverjanj in paketov je tedaj angleščina.
  • Excel in ločila. Excel datoteko CSV shrani z ločilom seznama iz področnih nastavitev, z vejico ali podpičjem; texts import prebere oboje. Shranite kot „CSV UTF-8“: navadna oblika „CSV“ v Excelu izgubi č, š, ž in druge črke, ki jih kodna stran sistema Windows ne vsebuje.
  • Datoteka na napačnem mestu. Datoteke z besedili jezika zunaj mape source/texts (na primer source/fr.json) gradnja ne prebere; check in build jo sporočita kot opozorilo.
  • Terminologija. source/texts/terms.<koda>.json navede izraze, ki naj se ne uporabljajo, na primer { "podatkovna zbirka": [ "zbirka podatkov" ] }; vsaka gradnja sporoči besedilo s tako različico.
  • Spremenjeno v programu Access? Izvoz tabele USysWklTexts nikoli ne zapiše nazaj: besedila spreminjajte v datotekah, ne v podatkovni zbirki.
  • Preizkusi najdejo vrzeli. WklTexts.Missing navede ključe, ki v zahtevanem jeziku niso imeli besedila; preizkus, ki preveri texts.Missing = "", pri nepopolnem prevodu ne uspe.

Sorodne teme

sl/wiki/msaccess/sdk/how-to/translate-an-application.txt · Zuletzt geändert: von Wolfgang van der Stille