From 5b508328c85a86613bc2db5596b715a67afda8be Mon Sep 17 00:00:00 2001 From: Daniel Weck Date: Mon, 7 Jun 2021 18:30:47 +0100 Subject: [PATCH] feat(l10n): Swedish translation (PR #1491 PR #1500) Co-authored-by: Martin Persson --- package.json | 4 +- src/common/services/translator.ts | 5 + src/resources/information/sv.xhtml | 250 +++++++++++++++++++ src/resources/locales/sv.json | 382 +++++++++++++++++++++++++++++ 4 files changed, 639 insertions(+), 2 deletions(-) create mode 100644 src/resources/information/sv.xhtml create mode 100644 src/resources/locales/sv.json diff --git a/package.json b/package.json index 13ad0a74f..03a91034d 100644 --- a/package.json +++ b/package.json @@ -65,8 +65,8 @@ "cli:help": "electron . --help", "cli": "cross-env DEBUG=r2:*,readium-desktop:* electron .", "i18n-sort": "node ./scripts/locales-sort.js", - "i18n-scan": "node ./scripts/translate-scan.js \"src/resources/locales/temp.json\" && sync-i18n --files 'src/resources/locales/*.json' --primary temp --languages en de es fr ja lt nl pt-br pt-pt it zh-cn ru fi --space 4 --finalnewline --newkeysempty && rimraf \"src/resources/locales/temp.json\"", - "i18n-check": "sync-i18n --files 'src/resources/locales/*.json' --primary en --languages de es fr ja lt nl pt-br pt-pt it zh-cn ru fi --space 4 --finalnewline --newkeysempty", + "i18n-scan": "node ./scripts/translate-scan.js \"src/resources/locales/temp.json\" && sync-i18n --files 'src/resources/locales/*.json' --primary temp --languages en de es fr ja lt nl pt-br pt-pt it zh-cn ru fi sv --space 4 --finalnewline --newkeysempty && rimraf \"src/resources/locales/temp.json\"", + "i18n-check": "sync-i18n --files 'src/resources/locales/*.json' --primary en --languages de es fr ja lt nl pt-br pt-pt it zh-cn ru fi sv --space 4 --finalnewline --newkeysempty", "i18n-typed": "node ./scripts/locale-wrap.js \"src/resources/locales/en.json\" \"en.json\" && typed_i18n -i \"en.json\" -o src/typings -l typescript && rimraf \"en.json\"", "redux-devtools": "redux-devtools --hostname=localhost --port=7770", "execFile": "cross-env DEBUG=r2:*,readium-desktop:* ts-node -r tsconfig-paths/register", diff --git a/src/common/services/translator.ts b/src/common/services/translator.ts index 66e3dda98..66db14da4 100644 --- a/src/common/services/translator.ts +++ b/src/common/services/translator.ts @@ -21,6 +21,7 @@ import ptPtCatalog from "readium-desktop/resources/locales/pt-pt.json"; import ruCatalog from "readium-desktop/resources/locales/ru.json"; import zhCnCatalog from "readium-desktop/resources/locales/zh-cn.json"; import koCatalog from "readium-desktop/resources/locales/ko.json"; +import svCatalog from "readium-desktop/resources/locales/sv.json"; import { TFunction } from "readium-desktop/typings/en.translation"; @@ -128,6 +129,9 @@ i18nextInstance.init({ "ko": { translation: koCatalog, }, + "sv": { + translation: svCatalog, + }, }, // lng: undefined, fallbackLng: "en", @@ -174,6 +178,7 @@ export const AvailableLanguages = { "it": "Italiano", "ru": "Русский", "ko": "한국어", + "sv": "Svenska", }; interface LocalizedContent { diff --git a/src/resources/information/sv.xhtml b/src/resources/information/sv.xhtml new file mode 100644 index 000000000..7ceb22813 --- /dev/null +++ b/src/resources/information/sv.xhtml @@ -0,0 +1,250 @@ + + + + Om Thorium Reader + + + +

Om Thorium Reader

+ +

Introduktion

+ +

+ Thorium Reader är det föredragna läsprogrammet för Windows 10, + MacOS och Linux. +

+

+ Det här EDRLab-programmet + utvecklas löpande med målet att utgöra en referensapplikation + för läsning av EPUB-publikationer, PDF-dokument, ljudböcker och + visuella berättelser. Dessa publikationer kan även förses med + kopieringsskydd i form + av LCP DRM (DRM + står för Digital Rights Management). +

+

+ Programmet är översatt till många språk och med varje ny version + tillkommer fler språk, tack vare hjälp från vårt community. +

+

+ Thorium Reader är också föremål för mycket arbete med att göra + programmet tillgängligt för personer med synnedsättning eller + dyslexi. +

+

+ Det här programmet är fritt, utan annonser och utan någon typ av + insamling av privata data. +

+

+ Sammantaget utgör Thorium Reader ett utmärkt redskap för + läsentusiaster, biblioteksanvändare och studenter. +

+ +

Publikationsformat som stöds

+ +

+ EPUB 2: ett äldre format som bara passar för väldigt + enkla e-böcker. Textinnehållet formateras i XHTML 1 och det + finns inget stöd för multimedia. Böcker i EPUB 2 kommer + fortfarande att vara tillgängliga, förutsatt att de är korrekt + uppmärkta. +

+

+ EPUB 3: det här är det rekommenderade formatet på + 2000-talet. Textinnehållet formateras i (X)HTML 5 och det är + möjligt att skapa e-böcker med fixed layouts eller interaktiva + inslag. Dessutom finns en väl utbyggd design för tillgänglighet. +

+

+ PDF: trots formatets välkända brister gällande + flexibilitet (går inte att flöda om) och tillgänglighet är PDF + fortfarande ett utbrett e-boksformat, särskilt på folkbibliotek. +

+

+ Audio books: ett + standardiserat + format för ljudböcker har tagits fram av W3C Publishing + Working Group under 2020, en grupp där EDRLab deltog. Thorium + stödjer det paketerade + (LPF) ljudboksformatet, som snart kommer att ha börjat + användas på bred front av bokhandlar -- åtminstone hoppas vi + det. +

+

+ Visual narratives: EDRLab har utvecklat ett + standardformat för serier, manga, webbtoons och andra typer av + digitala publikationer som bygger på bilder i sekvens. Formatet + heter Divina. Formatet + är fortfarande i ett experimentellt skede, och vi hoppas på + upptagning bland utgivare från 2021 och framåt. +

+ +

Tillgänglighet

+ +

+ Thorium Reader är till för alla, inklusive personer med + blindhet, eller andra läsnedsättningar. Programmet är + kompatibelt med skärmläsare som JAWS, NVDA, Narrator och + VoiceOver, och det finns även en uppläsningsfunktion med + synkronisering av uppläsning och visuell markering i texten. Man + kan använda Thorium Reader med mus eller tangentbord, och det + går att skräddarsy kortkommandon för tangentbordet. Även + visningen kan användaranpassas, till exempel vad gäller färger, + textstorlek, marginaler och avstånd, typsnitt och layout. +

+ +

+ EDRLab har ett nära samarbete + med DAISY-konsortiet. Tillsammans + med personer med olika läsnedsättningar som deltar i vår + utveckling och testning gör vi Thorium Reader till en av de mest + tillgängliga läsprogrammen som finns. +

+ +

OPDS-kataloger

+ +

+ Många folkbibliotek och bokhandlar går över + till OPDS som ett standardiserat + sätt att exponera sina kataloger på webben. +

+

+ Genom att använda OPDS kan bibliotek och bokhandlar också + exponera låntagarens eller kundens personliga bokhylla, + d.v.s. de e-böcker som användaren har införskaffat och har + tillgång att genast ladda ned och läsa. +

+

+ Thorium hanterar bläddring i OPDS 1- och OPDS 2-kataloger. Det + har också stöd för ett antal olika autentiseringsmekanismer för + OPDS, som ger tillgång till användarens egna bokhylla. +

+ +

Readium LCP DRM

+ + LCP-användare som läser + +

+ Thorium Reader + stödjer Readium + LCP DRM, som ursprungligen togs fram av the Readium + Foundation. Specifikationen för den här DRM-tekniken är publikt + tillgänglig och den utgör en ISO Technical Specification + som man kan hitta under + namnet ISO + 23078-2. +

+ +

+ LCP har redan implementerats av många folkbibliotek, universitet + och bokhandlar runt om i världen + (här finns en lista). +

+

+ Vi uppmanar organisationer i publiceringsbranschen världen över + att börja använda LCP för att skydda e-böcker från att delas för + mycket, samtidigt som användaren garanteras en bibehållen + användarupplevelse och innehållet fortsätter vara + tillgängligt. Kontakta + EDRLab om din organisation är intresserade av att börja + använda LCP. +

+ +

Licensinformation

+ +

+ Copyright 2019 European Digital Reading Lab. Alla rättigheter + förbehållna. Licensierad från Readium Foundation under en eller + flera medverkandeavtal. +

+ +

+ Det här programmet är öppen källkod, som släpps under en BSD + 3-licens. Det baseras på Readium Desktop toolkit, som också är + öppen källkod. +

+ +

Vem har utvecklat det här programmet?

+ +

Thorium Reader utvecklas i nuläget av:

+ + + +

Flera andra utvecklare har hjälpt till att göra Thorium till det det är idag:

+ + + +

Projektet leds av Laurent Le Meur, EDRLab CTO.

+ +

Vem finansierar det här programmet?

+ +

+ EDRLab är en non-profit-organisation. Vår budget kommer i + huvudsak från våra medlemmar. EDRLab grundades i Frankrike, men + har nu 60 medlemmar från Europa, Nordamerika, Sydamerika och + Asien. +

+ +

Det här projektet hade inte varit möjligt utan:

+

+ 1- Det ekonomiska stödet från våra grundande medlemmar: Editis, + Hachette Livre, Magrigall, Media-Participations, Cercle de la + Librarie, Syndicat national de l'Edition. De är medvetna om att + ekonomiskt stöd till öppna standarder och öppen källkod är det + bästa sättet att ge energi till en öppen och innovativ marknad + för bokbranschen. +

+ +

2- Ekonomiska bidrag från följande franska offentliga institutioner:

+ + +

+ 3- Ytterligare ekonomiska bidrag från EDRLab-medlemmar som varit + intresserade av specifik funktionalitet: +

+ + +

Sparbössa

+

+ Hjälp Thorium Reader att bli ett ännu bättre program genom + att bli medlem + i EDRLab. +

+

+ Du kan också ge ett bidrag till EDRLab via + Github + Sponsor-insamlingen, som accepterar mindre, månatliga + bidrag. +

+ + diff --git a/src/resources/locales/sv.json b/src/resources/locales/sv.json new file mode 100644 index 000000000..ccd5277d9 --- /dev/null +++ b/src/resources/locales/sv.json @@ -0,0 +1,382 @@ +{ + "accessibility": { + "bookMenu": "Meny", + "closeDialog": "Stäng", + "homeMenu": "Huvudmeny", + "importFile": "Importera publikation", + "leftSlideButton": "Dra listan åt vänster", + "mainContent": "huvudinnehåll", + "rightSlideButton": "Dra listan åt höger", + "searchBook": "Sök på titel", + "skipLink": "Hoppa till innehåll", + "toolbar": "vektygsfält" + }, + "app": { + "edit": { + "copy": "Kopiera", + "cut": "Klipp ut", + "paste": "Klistra in", + "redo": "Gör om", + "selectAll": "Markera allt", + "title": "Redigera", + "undo": "Ångra" + }, + "hide": "Göm {{- appName}}", + "quit": "Avsluta {{- appName}}", + "session": { + "exit": { + "askBox": { + "button": { + "no": "Nej", + "yes": "Ja" + }, + "message": "Vill du spara sessionen ?", + "title": "Spara session" + } + } + }, + "window": { + "showLibrary": "Visa bibliotek / bokhylla" + } + }, + "catalog": { + "about": { + "button": "Mer information", + "title": "Om {{- appName}}" + }, + "addBookToLib": "Importera", + "addTags": "Lägg till tagg", + "addTagsButton": "Lägg till", + "allBooks": "Alla böcker", + "bookInfo": "Om den här boken", + "delete": "Ta bort", + "deleteBook": "Ta bort", + "deleteTag": "Ta bort taggen", + "description": "Beskrivning", + "emptyTagList": "Du har inga böcker med taggar.", + "entry": { + "continueReading": "Fortsätt läsa", + "continueReadingAudioBooks": "Fortsätt lyssna", + "continueReadingDivina": "Fortsätt läsa divina", + "continueReadingPdf": "Fortsätt läsa PDF", + "lastAdditions": "Nyligen tillagt" + }, + "export": "Exportera", + "lang": "Språk", + "moreInfo": "Mer information", + "myBooks": "Mina böcker", + "noPublicationHelpL1": "Släpp en publikation här", + "noPublicationHelpL2": "eller använd \"+\"-knappen ovanför.", + "noPublicationHelpL3": "LCP-skyddade filer stöds.", + "noPublicationHelpL4": "Filtyper som stöds:", + "numberOfPages": "Antal sidor", + "opds": { + "auth": { + "cancel": "Avbryt", + "login": "Logga in" + }, + "info": { + "availableSince": "Sedan", + "availableState": { + "available": "Tillgänglig", + "ready": "Redo", + "reserved": "Reserverad", + "unavailable": "Otillgänglig", + "unknown": "Okänt" + }, + "availableUntil": "till", + "copyAvalaible": "Antal tillgängliga", + "copyTotal": "Antal exemplar", + "holdPosition": "Din plats i reservationskön", + "holdTotal": "Reserverade", + "numberOfItems": "Antal exemplar", + "priveValue": "Pris", + "state": "Status" + } + }, + "publisher": "Utgivare", + "readBook": "Läs", + "released": "Publicerad den", + "sort": "Sortera efter", + "tagCount": "Antal taggar", + "tags": "Taggar" + }, + "dialog": { + "closeModalWindow": "Stäng den här dialogrutan", + "deleteFeed": "Vill du verkligen ta bort den här katalogen ?", + "deletePublication": "Vill du verkligen ta bort den här publikationen ?", + "import": "Vill du verkligen importera följande filer:", + "importError": "Det uppstod ett fel, dubbelkolla filtypen ({{acceptedExtension}})", + "no": "Nej", + "renew": "Vill du verkligen förnya licensen för den här publikationen?", + "return": "Vill du verkligen lämna tillbaka licensen för den här publikationen?", + "yes": "Ja" + }, + "error": { + "errorBox": { + "error": "Felmeddelande:", + "message": "Ett fel uppstod i {{- filename}}", + "title": "Internt {{- appName}}-fel" + } + }, + "header": { + "allBooks": "Alla böcker", + "books": "Mina böcker", + "catalogs": "Kataloger", + "downloads": "Nedladdningar", + "gridTitle": "Gallerivy", + "home": "Huvudmeny", + "homeTitle": "hem", + "importTitle": "Importera en publikation", + "listTitle": "Listvy", + "refreshTitle": "uppdatera", + "searchPlaceholder": "Sök", + "searchTitle": "Påbörja en sökning", + "settings": "Inställningar" + }, + "library": { + "lcp": { + "cancel": "Avbryt", + "hint": "(Tips: {{- hint}})", + "password": "Lösenord", + "sentence": "Den här publikationer behöver ett LCP-lösenord för att kunna öppnas: ", + "submit": "Skicka", + "urlHint": "Har du glömt ditt lösenord? Här kan du få hjälp" + } + }, + "message": { + "download": { + "error": "Nedladdningen av {{- title}} misslyckades: [{{- err}}]" + }, + "import": { + "alreadyImport": "{{- title}} var redan importerad", + "fail": "Importen av {{- path}} misslyckades. {{- err}}", + "success": "Importen av {{- title}} är slutförd." + }, + "open": { + "error": "Publikationen kan inte öppnas: {{- err}}" + } + }, + "opds": { + "addForm": { + "addButton": "Lägg till", + "name": "Namn:", + "namePlaceholder": "Namn", + "title": "Lägg till ett OPDS-flöde", + "url": "Länk:", + "urlPlaceholder": "Länk" + }, + "addMenu": "Lägg till ett OPDS-flödeAdd OPDS feed", + "back": "Tillbaka", + "breadcrumbRoot": "Kataloger", + "empty": "Inga publikationer hittades", + "firstPage": "Första", + "lastPage": "Sista", + "menu": { + "aboutBook": "Om den här boken", + "addExtract": "Importera utdraget", + "goBuyBook": "Köp den här boken", + "goLoanBook": "Låna den här boken", + "goRevokeLoanBook": "Återkalla lånet", + "goSubBook": "Prenumerera" + }, + "network": { + "error": "Kunde inte nå OPDS-flödet", + "noInternet": "Inget internet", + "noInternetMessage": "Prova detta: kolla nätverkssladden, modemet, routern eller det trådlösa nätverket", + "reject": "Tyvärr uppstod ett oväntat fel vid inläsning av OPDS-flödet", + "timeout": "Nätverksanslutningen gav inget svar, försök igen senare" + }, + "next": "Nästa", + "previous": "Föregående", + "shelf": "Hylla" + }, + "publication": { + "audio": { + "tracks": "Spår" + }, + "cancelledLcp": "Den här boken kan inte läsas eftersom LCP-licensen inte är giltig längre.", + "certificateRevoked": "Certifikatet är återkallat", + "certificateSignatureInvalid": "Certifikatets signatur är ogiltig", + "cover": { + "img": "omslagsbild" + }, + "duration": { + "title": "Längd" + }, + "expiredLcp": "Den här boken går inte att läsa eftersom LCP-licensen har löpt ut.", + "lcpEnd": "Slut", + "lcpRightsCopy": "Kopiera tecken", + "lcpRightsPrint": "Kopiera utskrift", + "lcpStart": "Start", + "licenseOutOfDate": "Licensen har löpt ut", + "licenseSignatureDateInvalid": "Licensens signeringsdatum är ogiltig", + "licenseSignatureInvalid": "Licensens signatur är ogiltig", + "progression": { + "title": "Status" + }, + "renewButton": "Låna om", + "returnButton": "Lämna tillbaka", + "returnedLcp": "This book can't be read because the LCP license has been returned.", + "revokedLcp": "This book can't be read because the LCP license has been revoked.", + "seeLess": "Visa mindre", + "seeMore": "Visa mer", + "userKeyCheckInvalid": "Lösenordet är felaktigt" + }, + "reader": { + "footerInfo": { + "lessInfo": "mindre information", + "moreInfo": "mer information" + }, + "marks": { + "annotations": "Anteckningar", + "bookmarks": "Bokmärken", + "delete": "Ta bort", + "edit": "Redigera", + "landmarks": "Landmärken", + "search": "Sök", + "toc": "Innehållsförteckning" + }, + "media-overlays": { + "activate": "Aktivera uppläsning", + "captions": "Textremsa / Enkel vy", + "next": "Nästa uppläsning", + "pause": "Pausa uppläsning", + "play": "Spela uppläsning", + "previous": "Föregående uppläsning", + "skip": "Överhoppning", + "speed": "Spelhastighet uppläsning", + "stop": "Stoppa uppläsning", + "title": "Uppläsning" + }, + "navigation": { + "backHomeTitle": "tillbaka till bokhyllan", + "bookmarkTitle": "bokmärke", + "currentPage": "Aktuell sida: {{- current}}", + "currentPageTotal": "Aktuell sida: ({{- current}}/{{- total}})", + "detachWindowTitle": "visa biblioteks-/bokhyllefönstret", + "fullscreenTitle": "aktivera helskärmsläge", + "goTo": "Gå till", + "goToError": "Sidnumret finns inte", + "goToPlaceHolder": "Ange ett sidnummer", + "goToTitle": "Gå till sida", + "infoTitle": "information", + "magnifyingGlassButton": "sök i publikationen", + "openTableOfContentsTitle": "navigation", + "pdfscalemode": "Anpassa till hel sida eller sidbredd", + "quitFullscreenTitle": "avsluta helskärmsläge", + "readBookTitle": "Börja läsa boken", + "settingsTitle": "inställningar" + }, + "picker": { + "annotationTitle": "Anteckningar:", + "search": { + "founds": "{{- nResults}} träff(ar)", + "input": "text att söka på", + "next": "Nästa", + "notFound": "inga träffar", + "previous": "Föregående", + "submit": "Sök" + }, + "searchTitle": "Sök:" + }, + "settings": { + "column": { + "auto": "Automatiskt", + "one": "1 kol", + "oneTitle": "en kolumn", + "title": "Kolumner", + "two": "2 kol", + "twoTitle": "två kolumner" + }, + "display": "Visning", + "disposition": { + "title": "Layout" + }, + "font": "Typsnitt", + "fontSize": "Textstorlek", + "justification": "Justering", + "justify": "Justerad", + "letterSpacing": "Teckenavstånd", + "lineSpacing": "Radavstånd", + "margin": "Marginaler", + "noFootnotes": "Avaktivera fotnoter", + "paginated": "Paginerad", + "paraSpacing": "Styckesavstånd", + "pdfZoom": { + "name": { + "100pct": "100 %", + "150pct": "150 %", + "200pct": "200 %", + "300pct": "300 %", + "500pct": "500 %", + "50pct": "50 %", + "fit": "sidstorlek", + "width": "sidbredd" + }, + "title": "Zooma" + }, + "reduceMotion": "Minska rörelser", + "save": { + "apply": "spara", + "reset": "återställ", + "title": "Konfiguration" + }, + "scrolled": "Scrollbar", + "spacing": "Avstånd", + "text": "Text", + "theme": { + "name": { + "Neutral": "Neutral", + "Night": "Natt", + "Sepia": "Sepia" + }, + "title": "Tema" + }, + "wordSpacing": "Ordavstånd" + }, + "svg": { + "left": "Vänster", + "right": "Höger" + }, + "toc": { + "publicationNoToc": "Den här publikationen saknar innehållsförteckning" + }, + "tts": { + "activate": "Aktivera text-till-tal", + "default": "Röst: systemstandard", + "next": "Nästa text-till-tal", + "pause": "Pausa text-till-tal", + "play": "Spela text-till-tal", + "previous": "Föregående text-till-tal", + "speed": "Spelhastighet text-till-tal", + "stop": "Stoppa text-till-tal", + "voice": "Textröst" + } + }, + "settings": { + "auth": { + "wipeData": "Rensa autentiseringsuppgifter" + }, + "keyboard": { + "advancedMenu": "Meny", + "cancel": "Avbryt", + "edit": "Redigera", + "editUserJson": "Redigera användarfil...", + "hide": "Göm", + "keyboardShortcuts": "Kortkommandon", + "loadUserJson": "Läs in från användarfil", + "resetDefaults": "Återställ (läs in standard)", + "save": "Spara", + "show": "Visa" + }, + "language": { + "languageChoice": "Språkval" + }, + "session": { + "no": "Avaktivera", + "title": "Spara session", + "yes": "Aktivera" + } + } +}