@edrlab/thorium-web 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-D24O64OP.mjs → chunk-2JHEFF46.mjs} +123 -105
- package/dist/chunk-2JHEFF46.mjs.map +1 -0
- package/dist/chunk-B3WDMWCT.mjs +9 -0
- package/dist/chunk-B3WDMWCT.mjs.map +1 -0
- package/dist/chunk-EY4D4BZN.mjs +35 -0
- package/dist/chunk-EY4D4BZN.mjs.map +1 -0
- package/dist/{chunk-SPAC7T57.mjs → chunk-IRA4ZKAX.mjs} +10 -2
- package/dist/chunk-IRA4ZKAX.mjs.map +1 -0
- package/dist/chunk-IYAFKTPL.mjs +69 -0
- package/dist/chunk-IYAFKTPL.mjs.map +1 -0
- package/dist/{chunk-OWJCESNF.mjs → chunk-VETE7ULS.mjs} +16 -17
- package/dist/chunk-VETE7ULS.mjs.map +1 -0
- package/dist/components/Epub/index.mjs +11 -10
- package/dist/components/Epub/index.mjs.map +1 -1
- package/dist/components/Misc/index.mjs +2 -1
- package/dist/components/Misc/index.mjs.map +1 -1
- package/dist/components/WebPub/index.mjs +10 -9
- package/dist/components/WebPub/index.mjs.map +1 -1
- package/dist/core/Hooks/index.mjs +1 -1
- package/dist/i18n/index.d.mts +3 -3
- package/dist/i18n/index.mjs +4 -3
- package/dist/locales/ar/thorium-shared.json +10 -0
- package/dist/locales/ar/thorium-web.json +0 -10
- package/dist/locales/da/thorium-shared.json +138 -0
- package/dist/locales/da/thorium-web.json +16 -153
- package/dist/locales/el/thorium-web.json +12 -0
- package/dist/locales/en/thorium-shared.json +230 -0
- package/dist/locales/en/thorium-web.json +4 -141
- package/dist/locales/et/thorium-shared.json +38 -0
- package/dist/locales/et/thorium-web.json +95 -1
- package/dist/locales/fi/thorium-shared.json +189 -0
- package/dist/locales/fi/thorium-web.json +4 -141
- package/dist/locales/fr/thorium-shared.json +151 -0
- package/dist/locales/fr/thorium-web.json +2 -166
- package/dist/locales/it/thorium-shared.json +180 -0
- package/dist/locales/it/thorium-web.json +95 -1
- package/dist/locales/lt/thorium-shared.json +180 -0
- package/dist/locales/lt/thorium-web.json +13 -150
- package/dist/locales/pl/thorium-shared.json +122 -0
- package/dist/locales/pl/thorium-web.json +5 -169
- package/dist/locales/pt-BR/thorium-shared.json +180 -0
- package/dist/locales/pt-BR/thorium-web.json +2 -126
- package/dist/locales/pt-PT/thorium-shared.json +180 -0
- package/dist/locales/pt-PT/thorium-web.json +5 -142
- package/dist/locales/sv/thorium-shared.json +178 -0
- package/dist/locales/sv/thorium-web.json +18 -155
- package/dist/locales/ta/thorium-shared.json +120 -0
- package/dist/locales/ta/thorium-web.json +2 -126
- package/dist/locales/tr/thorium-shared.json +69 -0
- package/dist/preferences/index.mjs +2 -1
- package/package.json +7 -3
- package/dist/chunk-D24O64OP.mjs.map +0 -1
- package/dist/chunk-FG6BJGVE.mjs +0 -64
- package/dist/chunk-FG6BJGVE.mjs.map +0 -1
- package/dist/chunk-KKJA56IZ.mjs +0 -27
- package/dist/chunk-KKJA56IZ.mjs.map +0 -1
- package/dist/chunk-OWJCESNF.mjs.map +0 -1
- package/dist/chunk-SPAC7T57.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/WebPub/StatefulReader.tsx"],"names":["timeline"],"mappings":"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","file":"index.mjs","sourcesContent":["\"use client\";\n\nimport { useState, useEffect, useRef, useCallback } from \"react\";\n\nimport { defaultFontFamilyOptions, ThemeKeyType, useTheming } from \"../../preferences\";\n\nimport readerStyles from \"../assets/styles/thorium-web.reader.app.module.css\";\n\nimport { StatefulReaderProps } from \"../Epub/StatefulReader\";\n\nimport { \n ThActionsKeys, \n ThLayoutUI,\n ThDocumentTitleFormat,\n ThProgressionFormat, \n ThThemeKeys,\n ThLineHeightOptions,\n ThTextAlignOptions,\n ThSpacingSettingsKeys\n} from \"@/preferences/models/enums\";\n\nimport { ThPluginRegistry } from \"../Plugins/PluginRegistry\";\n\nimport { I18nProvider } from \"react-aria\";\nimport { ThPluginProvider } from \"../Plugins/PluginProvider\";\nimport { NavigatorProvider } from \"@/core/Navigator\";\n\nimport {\n BasicTextSelection,\n FrameClickEvent,\n} from \"@readium/navigator-html-injectables\";\nimport { IWebPubPreferences, TextAlignment, WebPubNavigatorListeners } from \"@readium/navigator\";\nimport { \n Locator, \n Manifest, \n Publication, \n Fetcher, \n HttpFetcher, \n ReadingProgression,\n Feature\n} from \"@readium/shared\";\n\nimport { StatefulDockingWrapper } from \"../Docking/StatefulDockingWrapper\";\nimport { StatefulReaderHeader } from \"../StatefulReaderHeader\";\nimport { StatefulReaderFooter } from \"../StatefulReaderFooter\";\n\nimport { usePreferences } from \"@/preferences/hooks/usePreferences\";\nimport { useWebPubNavigator } from \"@/core/Hooks/WebPub\";\nimport { useFullscreen } from \"@/core/Hooks/useFullscreen\";\nimport { useI18n } from \"@/i18n/useI18n\";\nimport { useTimeline } from \"@/core/Hooks/useTimeline\";\nimport { useLocalStorage } from \"@/core/Hooks/useLocalStorage\";\nimport { useDocumentTitle } from \"@/core/Hooks/useDocumentTitle\";\nimport { useSpacingPresets } from \"../Settings/Spacing/hooks/useSpacingPresets\";\nimport { useLineHeight } from \"../Settings/Spacing/hooks/useLineHeight\";\n\nimport { toggleActionOpen } from \"@/lib/actionsReducer\";\nimport { useAppSelector, useAppDispatch, useAppStore } from \"@/lib/hooks\";\nimport { \n setBreakpoint, \n setColorScheme, \n setContrast, \n setForcedColors, \n setMonochrome, \n setReducedMotion, \n setReducedTransparency \n} from \"@/lib/themeReducer\";\nimport { \n setLoading,\n setHovering, \n toggleImmersive, \n setPlatformModifier, \n setDirection, \n setFullscreen,\n setReaderProfile\n} from \"@/lib/readerReducer\";\nimport { \n setRTL, \n setTimeline,\n setPublicationStart,\n setPublicationEnd,\n setHasDisplayTransformability\n} from \"@/lib/publicationReducer\";\n\nimport classNames from \"classnames\";\nimport { createDefaultPlugin } from \"../Plugins/helpers/createDefaultPlugin\";\nimport Peripherals from \"../../helpers/peripherals\";\nimport { getPlatformModifier } from \"@/core/Helpers/keyboardUtilities\";\nimport { propsToCSSVars } from \"@/core/Helpers/propsToCSSVars\";\nimport { getReaderClassNames } from \"../Helpers/getReaderClassNames\";\nimport { prefixString } from \"@/core/Helpers/prefixString\";\n\nexport interface WebPubCSSSettings {\n fontFamily: keyof typeof defaultFontFamilyOptions | null;\n fontWeight: number;\n hyphens: boolean | null;\n letterSpacing: number | null;\n lineHeight: ThLineHeightOptions | null;\n paragraphIndent: number | null;\n paragraphSpacing: number | null;\n publisherStyles: boolean;\n textAlign: ThTextAlignOptions | null;\n textNormalization: boolean;\n wordSpacing: number | null;\n zoom: number;\n}\n\nexport interface WebPubStatelessCache {\n settings: WebPubCSSSettings;\n}\n\nexport const ExperimentalWebPubStatefulReader = ({\n rawManifest,\n selfHref,\n plugins\n}: StatefulReaderProps) => {\n const [pluginsRegistered, setPluginsRegistered] = useState(false);\n\n useEffect(() => {\n if (plugins && plugins.length > 0) {\n plugins.forEach(plugin => {\n ThPluginRegistry.register(plugin);\n });\n } else {\n ThPluginRegistry.register(createDefaultPlugin());\n }\n setPluginsRegistered(true);\n }, [plugins]);\n\n if (!pluginsRegistered) {\n return null;\n }\n\n return (\n <>\n <ThPluginProvider>\n <WebPubStatefulReaderInner rawManifest={ rawManifest } selfHref={ selfHref } />\n </ThPluginProvider>\n </>\n );\n};\n\nconst WebPubStatefulReaderInner = ({ rawManifest, selfHref }: { rawManifest: object; selfHref: string }) => {\n\n const { preferences } = usePreferences();\n const { t } = useI18n();\n const { getEffectiveSpacingValue } = useSpacingPresets();\n\n const [publication, setPublication] = useState<Publication | null>(null);\n\n const container = useRef<HTMLDivElement>(null);\n const localDataKey = useRef(`${selfHref}-current-location`);\n\n const textAlign = useAppSelector(state => state.webPubSettings.textAlign);\n const fontFamily = useAppSelector(state => state.webPubSettings.fontFamily);\n const fontWeight = useAppSelector(state => state.webPubSettings.fontWeight);\n const hyphens = useAppSelector(state => state.webPubSettings.hyphens);\n const letterSpacing = getEffectiveSpacingValue(ThSpacingSettingsKeys.letterSpacing);\n const lineHeight = getEffectiveSpacingValue(ThSpacingSettingsKeys.lineHeight);\n const paragraphIndent = getEffectiveSpacingValue(ThSpacingSettingsKeys.paragraphIndent);\n const paragraphSpacing = getEffectiveSpacingValue(ThSpacingSettingsKeys.paragraphSpacing);\n const publisherStyles = useAppSelector(state => state.webPubSettings.publisherStyles);\n const textNormalization = useAppSelector(state => state.webPubSettings.textNormalization);\n const wordSpacing = getEffectiveSpacingValue(ThSpacingSettingsKeys.wordSpacing);\n const theme = ThThemeKeys.light;\n const zoom = useAppSelector(state => state.webPubSettings.zoom);\n const isImmersive = useAppSelector(state => state.reader.isImmersive);\n const isHovering = useAppSelector(state => state.reader.isHovering);\n\n const layoutUI = preferences.theming.layout.ui?.webPub || ThLayoutUI.stacked;\n\n // Init theming (breakpoints, theme, media queries…)\n useTheming<ThemeKeyType>({ \n theme: theme,\n themeKeys: preferences.theming.themes.keys,\n systemKeys: preferences.theming.themes.systemThemes,\n breakpointsMap: preferences.theming.breakpoints,\n initProps: {\n ...propsToCSSVars(preferences.theming.arrow, { prefix: prefixString(\"arrow\") }), \n ...propsToCSSVars(preferences.theming.icon, { prefix: prefixString(\"icon\") }),\n ...propsToCSSVars(preferences.theming.layout, { \n prefix: prefixString(\"layout\"),\n exclude: [\"ui\"]\n })\n },\n onBreakpointChange: (breakpoint) => dispatch(setBreakpoint(breakpoint)),\n onColorSchemeChange: (colorScheme) => dispatch(setColorScheme(colorScheme)),\n onContrastChange: (contrast) => dispatch(setContrast(contrast)),\n onForcedColorsChange: (forcedColors) => dispatch(setForcedColors(forcedColors)),\n onMonochromeChange: (isMonochrome) => dispatch(setMonochrome(isMonochrome)),\n onReducedMotionChange: (reducedMotion) => dispatch(setReducedMotion(reducedMotion)),\n onReducedTransparencyChange: (reducedTransparency) => dispatch(setReducedTransparency(reducedTransparency))\n });\n\n const dispatch = useAppDispatch();\n\n const onFsChange = useCallback((isFullscreen: boolean) => {\n dispatch(setFullscreen(isFullscreen));\n }, [dispatch]);\n const fs = useFullscreen(onFsChange);\n\n const webPubNavigator = useWebPubNavigator();\n const { \n WebPubNavigatorLoad, \n WebPubNavigatorDestroy,\n currentPositions,\n canGoBackward,\n canGoForward,\n } = webPubNavigator;\n\n const { setLocalData, getLocalData, localData } = useLocalStorage(localDataKey.current);\n\n const timeline = useTimeline({\n publication: publication,\n currentLocation: localData,\n currentPositions: currentPositions() || [],\n positionsList: undefined,\n onChange: (timeline) => {\n dispatch(setTimeline(timeline));\n }\n });\n\n const lineHeightOptions = useLineHeight();\n\n const documentTitleFormat = preferences.metadata?.documentTitle?.format;\n\n let documentTitle: string | undefined;\n\n if (documentTitleFormat) {\n if (typeof documentTitleFormat === \"object\" && \"key\" in documentTitleFormat) {\n const translatedTitle = t(documentTitleFormat.key);\n documentTitle = translatedTitle !== documentTitleFormat.key \n ? translatedTitle \n : documentTitleFormat.fallback;\n } else {\n switch (documentTitleFormat) {\n case ThDocumentTitleFormat.title:\n documentTitle = timeline?.title;\n break;\n case ThDocumentTitleFormat.chapter:\n documentTitle = timeline?.progression?.currentChapter;\n break;\n case ThDocumentTitleFormat.titleAndChapter:\n if (timeline?.title && timeline?.progression?.currentChapter) {\n documentTitle = `${ timeline.title } – ${ timeline.progression.currentChapter }`;\n }\n break;\n case ThDocumentTitleFormat.none:\n documentTitle = undefined;\n break;\n default: \n documentTitle = documentTitleFormat;\n break;\n }\n }\n }\n\n useDocumentTitle(documentTitle);\n\n const cache = useRef<WebPubStatelessCache>({\n settings: {\n fontFamily: fontFamily,\n fontWeight: fontWeight,\n hyphens: hyphens,\n letterSpacing: letterSpacing,\n lineHeight: lineHeight,\n paragraphIndent: paragraphIndent,\n paragraphSpacing: paragraphSpacing,\n publisherStyles: publisherStyles,\n textAlign: textAlign,\n textNormalization: textNormalization,\n wordSpacing: wordSpacing,\n zoom: zoom\n }\n });\n\n const toggleIsImmersive = useCallback(() => {\n // If tap/click in iframe, then header/footer no longer hoovering \n dispatch(setHovering(false));\n dispatch(toggleImmersive());\n }, [dispatch]);\n\n const p = new Peripherals(useAppStore(), preferences.actions, {\n moveTo: () => {},\n goProgression: () => {},\n toggleAction: (actionKey) => {\n switch (actionKey) {\n case ThActionsKeys.fullscreen:\n fs.handleFullscreen();\n break;\n case ThActionsKeys.settings:\n case ThActionsKeys.toc:\n dispatch(toggleActionOpen({\n key: actionKey\n }))\n break;\n default:\n break\n }\n }\n });\n\n const listeners: WebPubNavigatorListeners = {\n frameLoaded: async function (_wnd: Window): Promise<void> {\n p.observe(window);\n },\n positionChanged: async function (locator: Locator): Promise<void> {\n setLocalData(locator)\n\n if (canGoBackward()) {\n dispatch(setPublicationStart(false));\n } else {\n dispatch(setPublicationStart(true));\n }\n\n if (canGoForward()) {\n dispatch(setPublicationEnd(false));\n } else {\n dispatch(setPublicationEnd(true));\n }\n },\n tap: function (_e: FrameClickEvent): boolean {\n toggleIsImmersive();\n return true;\n },\n click: function (_e: FrameClickEvent): boolean {\n return false;\n },\n zoom: function (_scale: number): void { },\n scroll: function (_delta: number): void { },\n customEvent: function (_key: string, _data: unknown): void { },\n handleLocator: function (locator: Locator): boolean {\n const href = locator.href;\n\n if (\n href.startsWith(\"http://\") ||\n href.startsWith(\"https://\") ||\n href.startsWith(\"mailto:\") ||\n href.startsWith(\"tel:\")\n ) {\n if (confirm(`Open \"${href}\" ?`)) window.open(href, \"_blank\");\n } else {\n console.warn(\"Unhandled locator\", locator);\n }\n return false;\n },\n textSelected: function (_selection: BasicTextSelection): void {},\n };\n\n useEffect(() => {\n cache.current.settings.fontFamily = fontFamily;\n }, [fontFamily]);\n useEffect(() => {\n cache.current.settings.fontWeight = fontWeight;\n }, [fontWeight]);\n useEffect(() => {\n cache.current.settings.hyphens = hyphens;\n }, [hyphens]);\n useEffect(() => {\n cache.current.settings.letterSpacing = letterSpacing;\n }, [letterSpacing]);\n useEffect(() => {\n cache.current.settings.lineHeight = lineHeight;\n }, [lineHeight]);\n useEffect(() => {\n cache.current.settings.paragraphIndent = paragraphIndent;\n }, [paragraphIndent]);\n useEffect(() => {\n cache.current.settings.paragraphSpacing = paragraphSpacing;\n }, [paragraphSpacing]);\n useEffect(() => {\n cache.current.settings.textAlign = textAlign;\n }, [textAlign]);\n\n useEffect(() => {\n cache.current.settings.textNormalization = textNormalization;\n }, [textNormalization]);\n useEffect(() => {\n cache.current.settings.wordSpacing = wordSpacing;\n }, [wordSpacing]);\n useEffect(() => {\n cache.current.settings.zoom = zoom;\n }, [zoom]);\n\n useEffect(() => {\n preferences.direction && dispatch(setDirection(preferences.direction));\n dispatch(setPlatformModifier(getPlatformModifier()));\n }, [preferences.direction, dispatch]);\n\n useEffect(() => {\n const fetcher: Fetcher = new HttpFetcher(undefined, selfHref);\n const manifest = Manifest.deserialize(rawManifest)!;\n manifest.setSelfLink(selfHref);\n\n setPublication(new Publication({\n manifest: manifest,\n fetcher: fetcher\n }));\n\n dispatch(setReaderProfile(\"webPub\"));\n }, [rawManifest, selfHref, dispatch]);\n\n useEffect(() => {\n if (!publication) return;\n\n dispatch(setRTL(publication.metadata.effectiveReadingProgression === ReadingProgression.rtl));\n\n const displayTransformability = publication.metadata.accessibility?.feature?.some(feature => feature && feature.value === Feature.DISPLAY_TRANSFORMABILITY.value);\n dispatch(setHasDisplayTransformability(displayTransformability));\n\n const initialPosition: Locator | null = getLocalData();\n\n const webPubPreferences: IWebPubPreferences = {\n zoom: cache.current.settings.zoom\n };\n\n if (displayTransformability) {\n webPubPreferences.fontFamily = cache.current.settings.fontFamily && defaultFontFamilyOptions[cache.current.settings.fontFamily];\n webPubPreferences.fontWeight = cache.current.settings.fontWeight;\n webPubPreferences.hyphens = cache.current.settings.hyphens;\n webPubPreferences.letterSpacing = cache.current.settings.letterSpacing;\n webPubPreferences.lineHeight = cache.current.settings.lineHeight === null \n ? null \n : lineHeightOptions[cache.current.settings.lineHeight];\n webPubPreferences.paragraphIndent = cache.current.settings.paragraphIndent;\n webPubPreferences.paragraphSpacing = cache.current.settings.paragraphSpacing;\n webPubPreferences.textAlign = cache.current.settings.textAlign as TextAlignment | null | undefined;\n webPubPreferences.textNormalization = cache.current.settings.textNormalization;\n webPubPreferences.wordSpacing = cache.current.settings.wordSpacing;\n }\n\n WebPubNavigatorLoad({\n container: container.current,\n publication: publication,\n listeners: listeners,\n initialPosition: initialPosition ? new Locator(initialPosition) : undefined,\n preferences: webPubPreferences,\n defaults: {\n experiments: preferences.experiments?.webPub || null\n }\n }, () => {\n p.observe(window);\n });\n\n dispatch(setLoading(false));\n\n return () => {\n WebPubNavigatorDestroy(() => {\n p.destroy();\n });\n };\n }, [publication, preferences]);\n\n return (\n <>\n <I18nProvider locale={ preferences.locale }>\n <NavigatorProvider navigator={ webPubNavigator }>\n <main className={ readerStyles.main }>\n <StatefulDockingWrapper>\n <div \n className={ \n classNames(\n getReaderClassNames({\n isScroll: true,\n isImmersive,\n isHovering,\n layoutUI\n })\n )\n }\n >\n <StatefulReaderHeader \n actionKeys={ preferences.actions.webPubOrder }\n actionsOrder={ preferences.actions.webPubOrder }\n layout={ layoutUI } \n runningHeadFormatPref={ preferences.theming.header?.runningHead?.format?.webPub }\n />\n\n <article className={ readerStyles.wrapper } aria-label={ t(\"reader.app.publicationWrapper\") }>\n <div id=\"thorium-web-container\" className={ readerStyles.iframeContainer } ref={ container }></div>\n </article>\n\n <StatefulReaderFooter \n layout={ layoutUI } \n progressionFormatPref={ preferences.theming.progression?.format?.webPub }\n progressionFormatFallback={ ThProgressionFormat.readingOrderIndex }\n />\n </div>\n </StatefulDockingWrapper>\n </main>\n </NavigatorProvider>\n </I18nProvider>\n </>\n)};"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/WebPub/StatefulReader.tsx"],"names":["timeline"],"mappings":"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","file":"index.mjs","sourcesContent":["\"use client\";\n\nimport { useState, useEffect, useRef, useCallback } from \"react\";\n\nimport { defaultFontFamilyOptions, ThemeKeyType, useTheming } from \"../../preferences\";\n\nimport readerStyles from \"../assets/styles/thorium-web.reader.app.module.css\";\n\nimport { StatefulReaderProps } from \"../Epub/StatefulReader\";\n\nimport { \n ThActionsKeys, \n ThLayoutUI,\n ThDocumentTitleFormat,\n ThProgressionFormat, \n ThThemeKeys,\n ThLineHeightOptions,\n ThTextAlignOptions,\n ThSpacingSettingsKeys\n} from \"@/preferences/models/enums\";\n\nimport { ThPluginRegistry } from \"../Plugins/PluginRegistry\";\n\nimport { I18nProvider } from \"react-aria\";\nimport { ThPluginProvider } from \"../Plugins/PluginProvider\";\nimport { NavigatorProvider } from \"@/core/Navigator\";\n\nimport {\n BasicTextSelection,\n FrameClickEvent,\n} from \"@readium/navigator-html-injectables\";\nimport { IWebPubPreferences, TextAlignment, WebPubNavigatorListeners } from \"@readium/navigator\";\nimport { \n Locator, \n Manifest, \n Publication, \n Fetcher, \n HttpFetcher, \n ReadingProgression,\n Feature\n} from \"@readium/shared\";\n\nimport { StatefulDockingWrapper } from \"../Docking/StatefulDockingWrapper\";\nimport { StatefulReaderHeader } from \"../StatefulReaderHeader\";\nimport { StatefulReaderFooter } from \"../StatefulReaderFooter\";\n\nimport { usePreferences } from \"@/preferences/hooks/usePreferences\";\nimport { useWebPubNavigator } from \"@/core/Hooks/WebPub\";\nimport { useFullscreen } from \"@/core/Hooks/useFullscreen\";\nimport { useI18n } from \"@/i18n/useI18n\";\nimport { useTimeline } from \"@/core/Hooks/useTimeline\";\nimport { useLocalStorage } from \"@/core/Hooks/useLocalStorage\";\nimport { useDocumentTitle } from \"@/core/Hooks/useDocumentTitle\";\nimport { useSpacingPresets } from \"../Settings/Spacing/hooks/useSpacingPresets\";\nimport { useLineHeight } from \"../Settings/Spacing/hooks/useLineHeight\";\n\nimport { toggleActionOpen } from \"@/lib/actionsReducer\";\nimport { useAppSelector, useAppDispatch, useAppStore } from \"@/lib/hooks\";\nimport { \n setBreakpoint, \n setColorScheme, \n setContrast, \n setForcedColors, \n setMonochrome, \n setReducedMotion, \n setReducedTransparency \n} from \"@/lib/themeReducer\";\nimport { \n setLoading,\n setHovering, \n toggleImmersive, \n setPlatformModifier, \n setDirection, \n setFullscreen,\n setReaderProfile\n} from \"@/lib/readerReducer\";\nimport { \n setRTL, \n setTimeline,\n setPublicationStart,\n setPublicationEnd,\n setHasDisplayTransformability\n} from \"@/lib/publicationReducer\";\n\nimport classNames from \"classnames\";\nimport { createDefaultPlugin } from \"../Plugins/helpers/createDefaultPlugin\";\nimport Peripherals from \"../../helpers/peripherals\";\nimport { getPlatformModifier } from \"@/core/Helpers/keyboardUtilities\";\nimport { propsToCSSVars } from \"@/core/Helpers/propsToCSSVars\";\nimport { getReaderClassNames } from \"../Helpers/getReaderClassNames\";\nimport { prefixString } from \"@/core/Helpers/prefixString\";\n\nexport interface WebPubCSSSettings {\n fontFamily: keyof typeof defaultFontFamilyOptions | null;\n fontWeight: number;\n hyphens: boolean | null;\n letterSpacing: number | null;\n lineHeight: ThLineHeightOptions | null;\n paragraphIndent: number | null;\n paragraphSpacing: number | null;\n publisherStyles: boolean;\n textAlign: ThTextAlignOptions | null;\n textNormalization: boolean;\n wordSpacing: number | null;\n zoom: number;\n}\n\nexport interface WebPubStatelessCache {\n settings: WebPubCSSSettings;\n}\n\nexport const ExperimentalWebPubStatefulReader = ({\n rawManifest,\n selfHref,\n plugins\n}: StatefulReaderProps) => {\n const [pluginsRegistered, setPluginsRegistered] = useState(false);\n\n useEffect(() => {\n if (plugins && plugins.length > 0) {\n plugins.forEach(plugin => {\n ThPluginRegistry.register(plugin);\n });\n } else {\n ThPluginRegistry.register(createDefaultPlugin());\n }\n setPluginsRegistered(true);\n }, [plugins]);\n\n if (!pluginsRegistered) {\n return null;\n }\n\n return (\n <>\n <ThPluginProvider>\n <WebPubStatefulReaderInner rawManifest={ rawManifest } selfHref={ selfHref } />\n </ThPluginProvider>\n </>\n );\n};\n\nconst WebPubStatefulReaderInner = ({ rawManifest, selfHref }: { rawManifest: object; selfHref: string }) => {\n\n const { preferences } = usePreferences();\n const { t } = useI18n();\n const { getEffectiveSpacingValue } = useSpacingPresets();\n\n const [publication, setPublication] = useState<Publication | null>(null);\n\n const container = useRef<HTMLDivElement>(null);\n const localDataKey = useRef(`${selfHref}-current-location`);\n\n const textAlign = useAppSelector(state => state.webPubSettings.textAlign);\n const fontFamily = useAppSelector(state => state.webPubSettings.fontFamily);\n const fontWeight = useAppSelector(state => state.webPubSettings.fontWeight);\n const hyphens = useAppSelector(state => state.webPubSettings.hyphens);\n const letterSpacing = getEffectiveSpacingValue(ThSpacingSettingsKeys.letterSpacing);\n const lineHeight = getEffectiveSpacingValue(ThSpacingSettingsKeys.lineHeight);\n const paragraphIndent = getEffectiveSpacingValue(ThSpacingSettingsKeys.paragraphIndent);\n const paragraphSpacing = getEffectiveSpacingValue(ThSpacingSettingsKeys.paragraphSpacing);\n const publisherStyles = useAppSelector(state => state.webPubSettings.publisherStyles);\n const textNormalization = useAppSelector(state => state.webPubSettings.textNormalization);\n const wordSpacing = getEffectiveSpacingValue(ThSpacingSettingsKeys.wordSpacing);\n const theme = ThThemeKeys.light;\n const zoom = useAppSelector(state => state.webPubSettings.zoom);\n const isImmersive = useAppSelector(state => state.reader.isImmersive);\n const isHovering = useAppSelector(state => state.reader.isHovering);\n\n const layoutUI = preferences.theming.layout.ui?.webPub || ThLayoutUI.stacked;\n\n // Init theming (breakpoints, theme, media queries…)\n useTheming<ThemeKeyType>({ \n theme: theme,\n themeKeys: preferences.theming.themes.keys,\n systemKeys: preferences.theming.themes.systemThemes,\n breakpointsMap: preferences.theming.breakpoints,\n initProps: {\n ...propsToCSSVars(preferences.theming.arrow, { prefix: prefixString(\"arrow\") }), \n ...propsToCSSVars(preferences.theming.icon, { prefix: prefixString(\"icon\") }),\n ...propsToCSSVars(preferences.theming.layout, { \n prefix: prefixString(\"layout\"),\n exclude: [\"ui\"]\n })\n },\n onBreakpointChange: (breakpoint) => dispatch(setBreakpoint(breakpoint)),\n onColorSchemeChange: (colorScheme) => dispatch(setColorScheme(colorScheme)),\n onContrastChange: (contrast) => dispatch(setContrast(contrast)),\n onForcedColorsChange: (forcedColors) => dispatch(setForcedColors(forcedColors)),\n onMonochromeChange: (isMonochrome) => dispatch(setMonochrome(isMonochrome)),\n onReducedMotionChange: (reducedMotion) => dispatch(setReducedMotion(reducedMotion)),\n onReducedTransparencyChange: (reducedTransparency) => dispatch(setReducedTransparency(reducedTransparency))\n });\n\n const dispatch = useAppDispatch();\n\n const onFsChange = useCallback((isFullscreen: boolean) => {\n dispatch(setFullscreen(isFullscreen));\n }, [dispatch]);\n const fs = useFullscreen(onFsChange);\n\n const webPubNavigator = useWebPubNavigator();\n const { \n WebPubNavigatorLoad, \n WebPubNavigatorDestroy,\n currentPositions,\n canGoBackward,\n canGoForward,\n } = webPubNavigator;\n\n const { setLocalData, getLocalData, localData } = useLocalStorage(localDataKey.current);\n\n const timeline = useTimeline({\n publication: publication,\n currentLocation: localData,\n currentPositions: currentPositions() || [],\n positionsList: undefined,\n onChange: (timeline) => {\n dispatch(setTimeline(timeline));\n }\n });\n\n const lineHeightOptions = useLineHeight();\n\n const documentTitleFormat = preferences.metadata?.documentTitle?.format;\n\n let documentTitle: string | undefined;\n\n if (documentTitleFormat) {\n if (typeof documentTitleFormat === \"object\" && \"key\" in documentTitleFormat) {\n const translatedTitle = t(documentTitleFormat.key);\n documentTitle = translatedTitle !== documentTitleFormat.key \n ? translatedTitle \n : documentTitleFormat.fallback;\n } else {\n switch (documentTitleFormat) {\n case ThDocumentTitleFormat.title:\n documentTitle = timeline?.title;\n break;\n case ThDocumentTitleFormat.chapter:\n documentTitle = timeline?.progression?.currentChapter;\n break;\n case ThDocumentTitleFormat.titleAndChapter:\n if (timeline?.title && timeline?.progression?.currentChapter) {\n documentTitle = `${ timeline.title } – ${ timeline.progression.currentChapter }`;\n }\n break;\n case ThDocumentTitleFormat.none:\n documentTitle = undefined;\n break;\n default: \n documentTitle = documentTitleFormat;\n break;\n }\n }\n }\n\n useDocumentTitle(documentTitle);\n\n const cache = useRef<WebPubStatelessCache>({\n settings: {\n fontFamily: fontFamily,\n fontWeight: fontWeight,\n hyphens: hyphens,\n letterSpacing: letterSpacing,\n lineHeight: lineHeight,\n paragraphIndent: paragraphIndent,\n paragraphSpacing: paragraphSpacing,\n publisherStyles: publisherStyles,\n textAlign: textAlign,\n textNormalization: textNormalization,\n wordSpacing: wordSpacing,\n zoom: zoom\n }\n });\n\n const toggleIsImmersive = useCallback(() => {\n // If tap/click in iframe, then header/footer no longer hoovering \n dispatch(setHovering(false));\n dispatch(toggleImmersive());\n }, [dispatch]);\n\n const p = new Peripherals(useAppStore(), preferences.actions, {\n moveTo: () => {},\n goProgression: () => {},\n toggleAction: (actionKey) => {\n switch (actionKey) {\n case ThActionsKeys.fullscreen:\n fs.handleFullscreen();\n break;\n case ThActionsKeys.settings:\n case ThActionsKeys.toc:\n dispatch(toggleActionOpen({\n key: actionKey\n }))\n break;\n default:\n break\n }\n }\n });\n\n const listeners: WebPubNavigatorListeners = {\n frameLoaded: async function (_wnd: Window): Promise<void> {\n p.observe(window);\n },\n positionChanged: async function (locator: Locator): Promise<void> {\n setLocalData(locator)\n\n if (canGoBackward()) {\n dispatch(setPublicationStart(false));\n } else {\n dispatch(setPublicationStart(true));\n }\n\n if (canGoForward()) {\n dispatch(setPublicationEnd(false));\n } else {\n dispatch(setPublicationEnd(true));\n }\n },\n tap: function (_e: FrameClickEvent): boolean {\n toggleIsImmersive();\n return true;\n },\n click: function (_e: FrameClickEvent): boolean {\n return false;\n },\n zoom: function (_scale: number): void { },\n scroll: function (_delta: number): void { },\n customEvent: function (_key: string, _data: unknown): void { },\n handleLocator: function (locator: Locator): boolean {\n const href = locator.href;\n\n if (\n href.startsWith(\"http://\") ||\n href.startsWith(\"https://\") ||\n href.startsWith(\"mailto:\") ||\n href.startsWith(\"tel:\")\n ) {\n if (confirm(`Open \"${href}\" ?`)) window.open(href, \"_blank\");\n } else {\n console.warn(\"Unhandled locator\", locator);\n }\n return false;\n },\n textSelected: function (_selection: BasicTextSelection): void {},\n };\n\n useEffect(() => {\n cache.current.settings.fontFamily = fontFamily;\n }, [fontFamily]);\n useEffect(() => {\n cache.current.settings.fontWeight = fontWeight;\n }, [fontWeight]);\n useEffect(() => {\n cache.current.settings.hyphens = hyphens;\n }, [hyphens]);\n useEffect(() => {\n cache.current.settings.letterSpacing = letterSpacing;\n }, [letterSpacing]);\n useEffect(() => {\n cache.current.settings.lineHeight = lineHeight;\n }, [lineHeight]);\n useEffect(() => {\n cache.current.settings.paragraphIndent = paragraphIndent;\n }, [paragraphIndent]);\n useEffect(() => {\n cache.current.settings.paragraphSpacing = paragraphSpacing;\n }, [paragraphSpacing]);\n useEffect(() => {\n cache.current.settings.textAlign = textAlign;\n }, [textAlign]);\n\n useEffect(() => {\n cache.current.settings.textNormalization = textNormalization;\n }, [textNormalization]);\n useEffect(() => {\n cache.current.settings.wordSpacing = wordSpacing;\n }, [wordSpacing]);\n useEffect(() => {\n cache.current.settings.zoom = zoom;\n }, [zoom]);\n\n useEffect(() => {\n preferences.direction && dispatch(setDirection(preferences.direction));\n dispatch(setPlatformModifier(getPlatformModifier()));\n }, [preferences.direction, dispatch]);\n\n useEffect(() => {\n const fetcher: Fetcher = new HttpFetcher(undefined, selfHref);\n const manifest = Manifest.deserialize(rawManifest)!;\n manifest.setSelfLink(selfHref);\n\n setPublication(new Publication({\n manifest: manifest,\n fetcher: fetcher\n }));\n\n dispatch(setReaderProfile(\"webPub\"));\n }, [rawManifest, selfHref, dispatch]);\n\n useEffect(() => {\n if (!publication) return;\n\n dispatch(setRTL(publication.metadata.effectiveReadingProgression === ReadingProgression.rtl));\n\n const displayTransformability = publication.metadata.accessibility?.feature?.some(feature => feature && feature.value === Feature.DISPLAY_TRANSFORMABILITY.value);\n dispatch(setHasDisplayTransformability(displayTransformability));\n\n const initialPosition: Locator | null = getLocalData();\n\n const webPubPreferences: IWebPubPreferences = {\n zoom: cache.current.settings.zoom\n };\n\n if (displayTransformability) {\n webPubPreferences.fontFamily = cache.current.settings.fontFamily && defaultFontFamilyOptions[cache.current.settings.fontFamily];\n webPubPreferences.fontWeight = cache.current.settings.fontWeight;\n webPubPreferences.hyphens = cache.current.settings.hyphens;\n webPubPreferences.letterSpacing = cache.current.settings.letterSpacing;\n webPubPreferences.lineHeight = cache.current.settings.lineHeight === null \n ? null \n : lineHeightOptions[cache.current.settings.lineHeight];\n webPubPreferences.paragraphIndent = cache.current.settings.paragraphIndent;\n webPubPreferences.paragraphSpacing = cache.current.settings.paragraphSpacing;\n webPubPreferences.textAlign = cache.current.settings.textAlign as TextAlignment | null | undefined;\n webPubPreferences.textNormalization = cache.current.settings.textNormalization;\n webPubPreferences.wordSpacing = cache.current.settings.wordSpacing;\n }\n\n WebPubNavigatorLoad({\n container: container.current,\n publication: publication,\n listeners: listeners,\n initialPosition: initialPosition ? new Locator(initialPosition) : undefined,\n preferences: webPubPreferences,\n defaults: {\n experiments: preferences.experiments?.webPub || null\n }\n }, () => {\n p.observe(window);\n });\n\n dispatch(setLoading(false));\n\n return () => {\n WebPubNavigatorDestroy(() => {\n p.destroy();\n });\n };\n }, [publication, preferences]);\n\n return (\n <>\n <I18nProvider locale={ preferences.locale }>\n <NavigatorProvider navigator={ webPubNavigator }>\n <main className={ readerStyles.main }>\n <StatefulDockingWrapper>\n <div \n className={ \n classNames(\n getReaderClassNames({\n isScroll: true,\n isImmersive,\n isHovering,\n layoutUI\n })\n )\n }\n >\n <StatefulReaderHeader \n actionKeys={ preferences.actions.webPubOrder }\n actionsOrder={ preferences.actions.webPubOrder }\n layout={ layoutUI } \n runningHeadFormatPref={ preferences.theming.header?.runningHead?.format?.webPub }\n />\n\n <article className={ readerStyles.wrapper } aria-label={ t(\"reader.app.publicationWrapper\") }>\n <div id=\"thorium-web-container\" className={ readerStyles.iframeContainer } ref={ container }></div>\n </article>\n\n <StatefulReaderFooter \n layout={ layoutUI } \n progressionFormatPref={ preferences.theming.progression?.format?.webPub }\n progressionFormatFallback={ ThProgressionFormat.readingOrderIndex }\n />\n </div>\n </StatefulDockingWrapper>\n </main>\n </NavigatorProvider>\n </I18nProvider>\n </>\n)};"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { timelineInstance, useDocumentTitle, useEpubNavigator, useFullscreen, useIsClient, useLocalStorage, useTimeline, useWebPubNavigator } from '../../chunk-
|
|
1
|
+
export { timelineInstance, useDocumentTitle, useEpubNavigator, useFullscreen, useIsClient, useLocalStorage, useTimeline, useWebPubNavigator } from '../../chunk-VETE7ULS.mjs';
|
|
2
2
|
export { useBreakpoints, useForcedColors, useMonochrome, useReducedMotion, useReducedTransparency } from '../../chunk-BNPR6V7V.mjs';
|
|
3
3
|
export { ThColorScheme, ThContrast, useColorScheme, useContrast, useMediaQuery } from '../../chunk-NQ2ZSGCX.mjs';
|
|
4
4
|
export { usePrevious } from '../../chunk-YZ73DHRU.mjs';
|
package/dist/i18n/index.d.mts
CHANGED
|
@@ -15,11 +15,11 @@ declare const initI18n: (options?: Partial<InitOptions>) => Promise<i18next.i18n
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Hook to access the i18n instance and translation functions
|
|
18
|
-
* @param ns
|
|
18
|
+
* @param ns Optional additional namespace(s) to include alongside the default namespaces
|
|
19
19
|
* @returns Translation functions and i18n instance
|
|
20
20
|
*/
|
|
21
|
-
declare const useI18n: (ns?: string) => {
|
|
22
|
-
t:
|
|
21
|
+
declare const useI18n: (ns?: string | string[]) => {
|
|
22
|
+
t: (key: string, options?: any) => string;
|
|
23
23
|
i18n: i18next.i18n;
|
|
24
24
|
ready: boolean;
|
|
25
25
|
currentLanguage: string;
|
package/dist/i18n/index.mjs
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export {
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { ThI18nProvider, Trans } from '../chunk-EY4D4BZN.mjs';
|
|
2
|
+
import '../chunk-IRA4ZKAX.mjs';
|
|
3
3
|
import '../chunk-7CGMWOZN.mjs';
|
|
4
4
|
import '../chunk-BNPR6V7V.mjs';
|
|
5
5
|
import '../chunk-5LUMM7FW.mjs';
|
|
6
6
|
import '../chunk-NQ2ZSGCX.mjs';
|
|
7
|
-
export { useI18n } from '../chunk-
|
|
7
|
+
export { DEFAULT_CONFIG, i18n, initI18n, useI18n } from '../chunk-IYAFKTPL.mjs';
|
|
8
|
+
import '../chunk-B3WDMWCT.mjs';
|
|
8
9
|
import '../chunk-MLEYTQGK.mjs';
|
|
9
10
|
import '../chunk-CVM2ZAPL.mjs';
|
|
10
11
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -7,16 +7,6 @@
|
|
|
7
7
|
"dockingLeft": "لوحة مثبتة على اليسار",
|
|
8
8
|
"dockingRight": "لوحة مثبتة على اليمين"
|
|
9
9
|
}
|
|
10
|
-
},
|
|
11
|
-
"settings": {
|
|
12
|
-
"lineHeight": {
|
|
13
|
-
"large": "واسع"
|
|
14
|
-
},
|
|
15
|
-
"paraSpacing": {
|
|
16
|
-
"title": "تباعد الفقرات",
|
|
17
|
-
"increase": "زيادة تباعد الفقرات",
|
|
18
|
-
"decrease": "تقليل تباعد الفقرات"
|
|
19
|
-
}
|
|
20
10
|
}
|
|
21
11
|
}
|
|
22
12
|
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
{
|
|
2
|
+
"common": {
|
|
3
|
+
"actions": {
|
|
4
|
+
"clear": "Nulstil",
|
|
5
|
+
"close": "Luk",
|
|
6
|
+
"decrease": "Reducer",
|
|
7
|
+
"enable": "Aktiver",
|
|
8
|
+
"exit": "Afslut",
|
|
9
|
+
"increase": "Forøg",
|
|
10
|
+
"reset": "Nulstil",
|
|
11
|
+
"search": "Søg",
|
|
12
|
+
"toggle": "Vis"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"reader": {
|
|
16
|
+
"actions": {
|
|
17
|
+
"goBackward": "Naviger tilbage",
|
|
18
|
+
"goForward": "Naviger frem",
|
|
19
|
+
"goToPosition": {
|
|
20
|
+
"compact": "Gå til…",
|
|
21
|
+
"descriptive": "Gå til position"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"preferences": {
|
|
25
|
+
"columns": {
|
|
26
|
+
"auto": "Auto",
|
|
27
|
+
"dual": {
|
|
28
|
+
"descriptive": "2 kolonner"
|
|
29
|
+
},
|
|
30
|
+
"single": {
|
|
31
|
+
"descriptive": "1 kolonne"
|
|
32
|
+
},
|
|
33
|
+
"title": "Kolonner"
|
|
34
|
+
},
|
|
35
|
+
"fontFamily": {
|
|
36
|
+
"humanist": {
|
|
37
|
+
"compact": "Humanist",
|
|
38
|
+
"descriptive": "Humanist sans-serif"
|
|
39
|
+
},
|
|
40
|
+
"modern": {
|
|
41
|
+
"compact": "Moderne",
|
|
42
|
+
"descriptive": "Moderne serif"
|
|
43
|
+
},
|
|
44
|
+
"monospace": "Monospace",
|
|
45
|
+
"oldStyle": {
|
|
46
|
+
"compact": "Gammeldags",
|
|
47
|
+
"descriptive": "Gammeldags serif"
|
|
48
|
+
},
|
|
49
|
+
"publisher": "Bogens Skrifttype",
|
|
50
|
+
"sans": "Sans-serif",
|
|
51
|
+
"title": "Skrifttype"
|
|
52
|
+
},
|
|
53
|
+
"fontSize": "Skriftstørrelse",
|
|
54
|
+
"fontWeight": {
|
|
55
|
+
"bold": "Federe",
|
|
56
|
+
"normal": "Normal",
|
|
57
|
+
"title": "Skrift tykkelse"
|
|
58
|
+
},
|
|
59
|
+
"hyphens": {
|
|
60
|
+
"label": "Aktiver bindestreger",
|
|
61
|
+
"title": "Bindestreg"
|
|
62
|
+
},
|
|
63
|
+
"layout": {
|
|
64
|
+
"paginated": "Sideopdelt",
|
|
65
|
+
"scrolled": "Scrollbar",
|
|
66
|
+
"title": "Layout"
|
|
67
|
+
},
|
|
68
|
+
"letterSpacing": "Tegn afstand",
|
|
69
|
+
"lineHeight": {
|
|
70
|
+
"default": "Normal",
|
|
71
|
+
"large": "Løs",
|
|
72
|
+
"medium": "Balanceret",
|
|
73
|
+
"small": "Tæt",
|
|
74
|
+
"title": "Linjehøjde"
|
|
75
|
+
},
|
|
76
|
+
"paragraphIndent": "Afsnitsindrykning",
|
|
77
|
+
"paragraphSpacing": "Afsnitsafstand",
|
|
78
|
+
"publisherStyles": {
|
|
79
|
+
"label": "Brug original formatering"
|
|
80
|
+
},
|
|
81
|
+
"spacing": {
|
|
82
|
+
"presets": {
|
|
83
|
+
"accessible": "Tilgængelig",
|
|
84
|
+
"balanced": "Balanceret",
|
|
85
|
+
"custom": "Brugerdefineret",
|
|
86
|
+
"default": "Normal",
|
|
87
|
+
"loose": "Løs",
|
|
88
|
+
"tight": "Tæt",
|
|
89
|
+
"title": "Forudindstillinger"
|
|
90
|
+
},
|
|
91
|
+
"title": "Afstande"
|
|
92
|
+
},
|
|
93
|
+
"text": "Tekst",
|
|
94
|
+
"textAlign": {
|
|
95
|
+
"default": "Normal",
|
|
96
|
+
"justify": "Udfyld",
|
|
97
|
+
"left": "Venstre",
|
|
98
|
+
"right": "Højre",
|
|
99
|
+
"title": "Tekst justering"
|
|
100
|
+
},
|
|
101
|
+
"textNormalization": {
|
|
102
|
+
"label": "Fjern al tekstformatering",
|
|
103
|
+
"title": "Normalisering af tekst"
|
|
104
|
+
},
|
|
105
|
+
"themes": {
|
|
106
|
+
"auto": "Automatisk",
|
|
107
|
+
"contrast1": "Kontrast 1",
|
|
108
|
+
"contrast2": "Kontrast 2",
|
|
109
|
+
"contrast3": "Kontrast 3",
|
|
110
|
+
"dark": "Mørk",
|
|
111
|
+
"light": "Lys",
|
|
112
|
+
"paper": "Papir",
|
|
113
|
+
"sepia": "Sepia",
|
|
114
|
+
"title": "Temaer"
|
|
115
|
+
},
|
|
116
|
+
"title": "Visningsindstillinger",
|
|
117
|
+
"wordSpacing": "Ordafstand",
|
|
118
|
+
"zoom": "Zoom"
|
|
119
|
+
},
|
|
120
|
+
"progression": {
|
|
121
|
+
"percentage": "{{ percentage }}%",
|
|
122
|
+
"positionsLeftInChapter_other": "{{ count }} tilbage i nuværende kapitel",
|
|
123
|
+
"positionsLeftInPublication_other": "{{ count }} tilbage i bogen",
|
|
124
|
+
"positionsLeft_other": "{{ count }} tilbage",
|
|
125
|
+
"range": "{{ start }}–{{ end }}",
|
|
126
|
+
"xOfY": {
|
|
127
|
+
"compact": "{{ x }} af {{ y }}",
|
|
128
|
+
"descriptive": "{{ x }} af {{ y }} ({{ z }})"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
"tableOfContents": {
|
|
132
|
+
"emptyState": {
|
|
133
|
+
"description": "Der blev ikke fundet nogen indholdsfortegnelse for denne bog."
|
|
134
|
+
},
|
|
135
|
+
"title": "Indholdsfortegnelse"
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
@@ -1,130 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"reader": {
|
|
3
|
-
"settings": {
|
|
4
|
-
"column": {
|
|
5
|
-
"one": "1 kolonne",
|
|
6
|
-
"title": "Kolonner",
|
|
7
|
-
"two": "2 kolonner",
|
|
8
|
-
"auto": "Auto"
|
|
9
|
-
},
|
|
10
|
-
"reset": "Nulstil",
|
|
11
|
-
"tooltip": "Indstillinger",
|
|
12
|
-
"trigger": "Menu for indstillinger",
|
|
13
|
-
"close": "Luk indstillinger",
|
|
14
|
-
"heading": "Visningsindstillinger",
|
|
15
|
-
"themes": {
|
|
16
|
-
"title": "Temaer",
|
|
17
|
-
"auto": "Automatisk",
|
|
18
|
-
"light": "Lys",
|
|
19
|
-
"sepia": "Sepia",
|
|
20
|
-
"paper": "Papir",
|
|
21
|
-
"dark": "Mørk",
|
|
22
|
-
"contrast1": "Kontrast 1",
|
|
23
|
-
"contrast2": "Kontrast 2",
|
|
24
|
-
"contrast3": "Kontrast 3"
|
|
25
|
-
},
|
|
26
|
-
"zoom": {
|
|
27
|
-
"title": "Zoom",
|
|
28
|
-
"increase": "Forøg zoom",
|
|
29
|
-
"decrease": "Reducer zoom"
|
|
30
|
-
},
|
|
31
|
-
"fontSize": {
|
|
32
|
-
"title": "Skriftstørrelse",
|
|
33
|
-
"increase": "Forøg skriftstørrelse",
|
|
34
|
-
"decrease": "Reducer skriftstørrelse"
|
|
35
|
-
},
|
|
36
|
-
"fontFamily": {
|
|
37
|
-
"title": "Skrifttype",
|
|
38
|
-
"labels": {
|
|
39
|
-
"publisher": "Bogens skrifttype",
|
|
40
|
-
"oldStyle": "Gammeldags serif",
|
|
41
|
-
"modern": "Moderne serif",
|
|
42
|
-
"sans": "Sans-serif",
|
|
43
|
-
"humanist": "Humanist sans-serif",
|
|
44
|
-
"monospace": "Monospace"
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
"fontWeight": {
|
|
48
|
-
"title": "Skrift tykkelse",
|
|
49
|
-
"default": "Normal",
|
|
50
|
-
"bolder": "Federe",
|
|
51
|
-
"increase": "Forøg skrift tykkelse",
|
|
52
|
-
"decrease": "Reducer skrift tykkelse"
|
|
53
|
-
},
|
|
54
|
-
"normalizeText": {
|
|
55
|
-
"title": "Normalisering af tekst",
|
|
56
|
-
"label": "Fjern al tekstformatering"
|
|
57
|
-
},
|
|
58
|
-
"align": {
|
|
59
|
-
"title": "Tekst justering",
|
|
60
|
-
"publisher": "Normal",
|
|
61
|
-
"left": "Venstre",
|
|
62
|
-
"justify": "Udfyld",
|
|
63
|
-
"right": "Højre"
|
|
64
|
-
},
|
|
65
|
-
"hyphens": {
|
|
66
|
-
"title": "Bindestreg",
|
|
67
|
-
"label": "Aktiver bindestreger"
|
|
68
|
-
},
|
|
69
|
-
"text": {
|
|
70
|
-
"title": "Tekst",
|
|
71
|
-
"advanced": {
|
|
72
|
-
"tooltip": "Flere indstillinger",
|
|
73
|
-
"trigger": "Flere formaterings-indstillinger"
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
"lineHeight": {
|
|
77
|
-
"title": "Linjehøjde",
|
|
78
|
-
"publisher": "Normal",
|
|
79
|
-
"small": "Tæt",
|
|
80
|
-
"medium": "Balanceret",
|
|
81
|
-
"large": "Løs"
|
|
82
|
-
},
|
|
83
|
-
"paraSpacing": {
|
|
84
|
-
"title": "Afsnitsafstand",
|
|
85
|
-
"increase": "Forøg afsnitsafstand",
|
|
86
|
-
"decrease": "Reducer afsnitsafstand"
|
|
87
|
-
},
|
|
88
|
-
"paraIndent": {
|
|
89
|
-
"title": "Afsnitsindrykning",
|
|
90
|
-
"increase": "Forøg afsnitsindrykning",
|
|
91
|
-
"decrease": "Reducer afsnitsindrykning"
|
|
92
|
-
},
|
|
93
|
-
"wordSpacing": {
|
|
94
|
-
"title": "Ordafstand",
|
|
95
|
-
"increase": "Forøg ordafstand",
|
|
96
|
-
"decrease": "Reducer ordafstand"
|
|
97
|
-
},
|
|
98
|
-
"letterSpacing": {
|
|
99
|
-
"title": "Tegn afstand",
|
|
100
|
-
"increase": "Forøg afstand mellem tegn",
|
|
101
|
-
"decrease": "Reducer afstand mellem tegn"
|
|
102
|
-
},
|
|
103
|
-
"publisherStyles": {
|
|
104
|
-
"label": "Brug original formatering"
|
|
105
|
-
},
|
|
106
|
-
"spacing": {
|
|
107
|
-
"title": "Afstande",
|
|
108
|
-
"advanced": {
|
|
109
|
-
"tooltip": "Flere indstillinger",
|
|
110
|
-
"trigger": "Flere afstands-indstillinger"
|
|
111
|
-
},
|
|
112
|
-
"presets": {
|
|
113
|
-
"title": "Forudindstillinger",
|
|
114
|
-
"publisher": "Normal",
|
|
115
|
-
"tight": "Tæt",
|
|
116
|
-
"balanced": "Balanceret",
|
|
117
|
-
"loose": "Løs",
|
|
118
|
-
"accessible": "Tilgængelig",
|
|
119
|
-
"custom": "Brugerdefineret"
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
|
-
"layout": {
|
|
123
|
-
"title": "Layout",
|
|
124
|
-
"scrolled": "Scrollbar",
|
|
125
|
-
"paginated": "Sideopdelt"
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
3
|
"app": {
|
|
129
4
|
"loading": "Indlæser",
|
|
130
5
|
"publicationWrapper": "Du er nu i den åbnede bog.",
|
|
@@ -149,8 +24,6 @@
|
|
|
149
24
|
},
|
|
150
25
|
"progression": {
|
|
151
26
|
"wrapper": "Nuværende position",
|
|
152
|
-
"of": "{{ current }} af {{ reference }}",
|
|
153
|
-
"positionsLeft": "{{ count }} tilbage i {{ reference }}",
|
|
154
27
|
"referenceFallback": "nuværende kapitel",
|
|
155
28
|
"pubFallback": "bogen"
|
|
156
29
|
},
|
|
@@ -171,10 +44,6 @@
|
|
|
171
44
|
"fullscreen": {
|
|
172
45
|
"trigger": "Vis over indholdet",
|
|
173
46
|
"tooltip": "Overlay"
|
|
174
|
-
},
|
|
175
|
-
"close": {
|
|
176
|
-
"trigger": "Luk",
|
|
177
|
-
"tooltip": "Luk"
|
|
178
47
|
}
|
|
179
48
|
},
|
|
180
49
|
"back": {
|
|
@@ -182,14 +51,8 @@
|
|
|
182
51
|
}
|
|
183
52
|
},
|
|
184
53
|
"navigation": {
|
|
185
|
-
"goForward": "Naviger frem",
|
|
186
|
-
"goBackward": "Naviger tilbage",
|
|
187
54
|
"scroll": {
|
|
188
|
-
"wrapper": "Naviger igennem bogen"
|
|
189
|
-
"prevLabel": "Forrige",
|
|
190
|
-
"nextLabel": "Næste",
|
|
191
|
-
"prevA11yLabel": "Gå til forrige kapitel eller sektion",
|
|
192
|
-
"nextA11yLabel": "Gå til næste kapitel eller sektion"
|
|
55
|
+
"wrapper": "Naviger igennem bogen"
|
|
193
56
|
}
|
|
194
57
|
},
|
|
195
58
|
"fullscreen": {
|
|
@@ -198,24 +61,10 @@
|
|
|
198
61
|
"close": "Afslut fuldskærmstilstand"
|
|
199
62
|
},
|
|
200
63
|
"toc": {
|
|
201
|
-
"
|
|
202
|
-
"trigger": "Indholdsfortegnelse",
|
|
203
|
-
"close": "Luk indholdsfortegnelse",
|
|
204
|
-
"heading": "Indholdsfortegnelse",
|
|
205
|
-
"entries": "Punkter i indholdsfortegnelsen",
|
|
206
|
-
"empty": "Der blev ikke fundet nogen indholdsfortegnelse for denne bog.",
|
|
207
|
-
"search": {
|
|
208
|
-
"label": "Søg",
|
|
209
|
-
"placeholder": "Søg",
|
|
210
|
-
"clear": "Nulstil"
|
|
211
|
-
}
|
|
64
|
+
"entries": "Punkter i indholdsfortegnelsen"
|
|
212
65
|
},
|
|
213
66
|
"jumpToPosition": {
|
|
214
|
-
"tooltip": "Gå til…",
|
|
215
|
-
"trigger": "Gå til position",
|
|
216
|
-
"heading": "Gå til position",
|
|
217
67
|
"go": "Gå",
|
|
218
|
-
"close": "Luk gå til position",
|
|
219
68
|
"label": "Vælg en position fra {{ positionStart }} til {{ positionEnd }}:"
|
|
220
69
|
},
|
|
221
70
|
"overflowMenu": {
|
|
@@ -227,6 +76,20 @@
|
|
|
227
76
|
"tooltip": "Vis flere handlinger",
|
|
228
77
|
"trigger": "Vis handlinger"
|
|
229
78
|
}
|
|
79
|
+
},
|
|
80
|
+
"settings": {
|
|
81
|
+
"text": {
|
|
82
|
+
"advanced": {
|
|
83
|
+
"tooltip": "Flere indstillinger",
|
|
84
|
+
"trigger": "Flere formaterings-indstillinger"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"spacing": {
|
|
88
|
+
"advanced": {
|
|
89
|
+
"tooltip": "Flere indstillinger",
|
|
90
|
+
"trigger": "Flere afstands-indstillinger"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
230
93
|
}
|
|
231
94
|
}
|
|
232
95
|
}
|