Skip to content

Commit b4384be

Browse files
committed
Add localization phrases for Fancybox
1 parent 2752c1a commit b4384be

File tree

7 files changed

+165
-62
lines changed

7 files changed

+165
-62
lines changed

com.woltlab.wcf/templates/shared_imageViewer.tpl

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,36 @@
11
{if !$__imageViewerLoaded|isset}
22
<script data-eager="true">
3+
{jsphrase name='wcf.fancybox.image_error'}
4+
{jsphrase name='wcf.fancybox.move_up'}
5+
{jsphrase name='wcf.fancybox.move_down'}
6+
{jsphrase name='wcf.fancybox.move_left'}
7+
{jsphrase name='wcf.fancybox.move_right'}
8+
{jsphrase name='wcf.fancybox.zoom_in'}
9+
{jsphrase name='wcf.fancybox.zoom_out'}
10+
{jsphrase name='wcf.fancybox.toggle_full'}
11+
{jsphrase name='wcf.fancybox.toggle_1to1'}
12+
{jsphrase name='wcf.fancybox.iterate_zoom'}
13+
{jsphrase name='wcf.fancybox.rotate_ccw'}
14+
{jsphrase name='wcf.fancybox.rotate_cw'}
15+
{jsphrase name='wcf.fancybox.flip_x'}
16+
{jsphrase name='wcf.fancybox.flip_y'}
17+
{jsphrase name='wcf.fancybox.reset'}
18+
{jsphrase name='wcf.fancybox.error'}
19+
{jsphrase name='wcf.fancybox.next'}
20+
{jsphrase name='wcf.fancybox.prev'}
21+
{jsphrase name='wcf.fancybox.goto'}
22+
{jsphrase name='wcf.fancybox.download'}
23+
{jsphrase name='wcf.fancybox.toggle_fullscreen'}
24+
{jsphrase name='wcf.fancybox.toggle_expand'}
25+
{jsphrase name='wcf.fancybox.toggle_thumbs'}
26+
{jsphrase name='wcf.fancybox.toggle_autoplay'}
27+
{jsphrase name='wcf.fancybox.close'}
28+
{jsphrase name='wcf.fancybox.next'}
29+
{jsphrase name='wcf.fancybox.prev'}
30+
{jsphrase name='wcf.fancybox.modal'}
31+
{jsphrase name='wcf.fancybox.element_not_found'}
32+
{jsphrase name='wcf.fancybox.iframe_error'}
33+
334
{
435
let stylesheet = document.getElementById("fancybox-stylesheet");
536
if (stylesheet === null) {
Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import { Fancybox, CarouselSlide, FancyboxInstance } from "@fancyapps/ui";
22
import { getPageOverlayContainer } from "WoltLabSuite/Core/Helper/PageOverlay";
3+
import { getPhrase } from "WoltLabSuite/Core/Language";
34

4-
const LOCALES = { de: "de_DE", en: "en_EN" };
5-
6-
void setDefaultConfig();
5+
setDefaultConfig();
76

87
export function setup() {
98
Fancybox.bind("[data-fancybox]");
@@ -19,9 +18,9 @@ export function showFancybox(userSlides?: Array<CarouselSlide>): FancyboxInstanc
1918
return Fancybox.show(userSlides);
2019
}
2120

22-
async function setDefaultConfig(): Promise<void> {
21+
function setDefaultConfig(): void {
2322
const defaultConfig = Fancybox.getDefaults();
24-
defaultConfig.l10n = await getLocalization();
23+
defaultConfig.l10n = getLocalization();
2524
defaultConfig.parentEl = getPageOverlayContainer();
2625
defaultConfig.Carousel = {
2726
Video: {
@@ -30,14 +29,35 @@ async function setDefaultConfig(): Promise<void> {
3029
};
3130
}
3231

33-
export async function getLocalization(): Promise<Record<string, string>> {
34-
let locale = document.documentElement.lang;
35-
36-
if (!Object.prototype.hasOwnProperty.call(LOCALES, locale)) {
37-
locale = "en";
38-
}
39-
40-
const code = LOCALES[locale];
41-
42-
return (await import(`@fancyapps/ui/l10n/${code}`))[code];
32+
export function getLocalization(): Record<string, string> {
33+
return {
34+
IMAGE_ERROR: getPhrase("wcf.fancybox.image_error"),
35+
MOVE_UP: getPhrase("wcf.fancybox.move_up"),
36+
MOVE_DOWN: getPhrase("wcf.fancybox.move_down"),
37+
MOVE_LEFT: getPhrase("wcf.fancybox.move_left"),
38+
MOVE_RIGHT: getPhrase("wcf.fancybox.move_right"),
39+
ZOOM_IN: getPhrase("wcf.fancybox.zoom_in"),
40+
ZOOM_OUT: getPhrase("wcf.fancybox.zoom_out"),
41+
TOGGLE_FULL: getPhrase("wcf.fancybox.toggle_full"),
42+
TOGGLE_1TO1: getPhrase("wcf.fancybox.toggle_1to1"),
43+
ITERATE_ZOOM: getPhrase("wcf.fancybox.iterate_zoom"),
44+
ROTATE_CCW: getPhrase("wcf.fancybox.rotate_ccw"),
45+
ROTATE_CW: getPhrase("wcf.fancybox.rotate_cw"),
46+
FLIP_X: getPhrase("wcf.fancybox.flip_x"),
47+
FLIP_Y: getPhrase("wcf.fancybox.flip_y"),
48+
RESET: getPhrase("wcf.fancybox.reset"),
49+
ERROR: getPhrase("wcf.fancybox.error"),
50+
GOTO: getPhrase("wcf.fancybox.goto"),
51+
DOWNLOAD: getPhrase("wcf.fancybox.download"),
52+
TOGGLE_EXPAND: getPhrase("wcf.fancybox.toggle_expand"),
53+
TOGGLE_FULLSCREEN: getPhrase("wcf.fancybox.toggle_fullscreen"),
54+
TOGGLE_THUMBS: getPhrase("wcf.fancybox.toggle_thumbs"),
55+
TOGGLE_AUTOPLAY: getPhrase("wcf.fancybox.toggle_autoplay"),
56+
CLOSE: getPhrase("wcf.fancybox.close"),
57+
NEXT: getPhrase("wcf.fancybox.next"),
58+
PREV: getPhrase("wcf.fancybox.prev"),
59+
MODAL: getPhrase("wcf.fancybox.modal"),
60+
ELEMENT_NOT_FOUND: getPhrase("wcf.fancybox.element_not_found"),
61+
IFRAME_ERROR: getPhrase("wcf.fancybox.iframe_error"),
62+
};
4363
}

wcfsetup/install/files/js/3rdParty/fancybox/l10n/de_DE.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

wcfsetup/install/files/js/3rdParty/fancybox/l10n/en_EN.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

wcfsetup/install/files/js/WoltLabSuite/Core/Component/Image/Viewer.js

Lines changed: 35 additions & 45 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

wcfsetup/install/lang/de.xml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4070,6 +4070,38 @@ Dateianhänge:
40704070
<item name="wcf.global.form.password.button.show"><![CDATA[Kennwort anzeigen]]></item>
40714071
<item name="wcf.global.form.error.invalidCssClassName"><![CDATA[Der eingegebene Wert ist keine gültige CSS-Klasse.]]></item>
40724072
</category>
4073+
<category name="wcf.fancybox">
4074+
<item name="wcf.fancybox.image_error"><![CDATA[Dieses Bild konnte nicht geladen werden.]]></item>
4075+
<item name="wcf.fancybox.move_up"><![CDATA[Nach oben bewegen]]></item>
4076+
<item name="wcf.fancybox.move_down"><![CDATA[Nach unten bewegen]]></item>
4077+
<item name="wcf.fancybox.move_left"><![CDATA[Nach links bewegen]]></item>
4078+
<item name="wcf.fancybox.move_right"><![CDATA[Nach rechts bewegen]]></item>
4079+
<item name="wcf.fancybox.zoom_in"><![CDATA[Vergrößern]]></item>
4080+
<item name="wcf.fancybox.zoom_out"><![CDATA[Verkleinern]]></item>
4081+
<item name="wcf.fancybox.toggle_full"><![CDATA[Zoomstufe umschalten]]></item>
4082+
<item name="wcf.fancybox.toggle_1to1"><![CDATA[Zoomstufe umschalten]]></item>
4083+
<item name="wcf.fancybox.iterate_zoom"><![CDATA[Zoomstufe umschalten]]></item>
4084+
<item name="wcf.fancybox.rotate_ccw"><![CDATA[Gegen den Uhrzeigersinn rotieren]]></item>
4085+
<item name="wcf.fancybox.rotate_cw"><![CDATA[Im Uhrzeigersinn drehen]]></item>
4086+
<item name="wcf.fancybox.flip_x"><![CDATA[Horizontal drehen]]></item>
4087+
<item name="wcf.fancybox.flip_y"><![CDATA[Vertikal spiegeln]]></item>
4088+
<item name="wcf.fancybox.reset"><![CDATA[Zurücksetzen]]></item>
4089+
<item name="wcf.fancybox.error"><![CDATA[Etwas ist schiefgelaufen.]]></item>
4090+
<item name="wcf.fancybox.next"><![CDATA[Nächste Seite]]></item>
4091+
<item name="wcf.fancybox.prev"><![CDATA[Vorherige Seite]]></item>
4092+
<item name="wcf.fancybox.goto"><![CDATA[Gehe zu Seite #%d]]></item>
4093+
<item name="wcf.fancybox.download"><![CDATA[Herunterladen]]></item>
4094+
<item name="wcf.fancybox.toggle_fullscreen"><![CDATA[Vollbildmodus umschalten]]></item>
4095+
<item name="wcf.fancybox.toggle_expand"><![CDATA[Umschalten zwischen Vollbildmodus]]></item>
4096+
<item name="wcf.fancybox.toggle_thumbs"><![CDATA[Miniaturbilder umschalten]]></item>
4097+
<item name="wcf.fancybox.toggle_autoplay"><![CDATA[Diashow umschalten]]></item>
4098+
<item name="wcf.fancybox.close"><![CDATA[Schließen]]></item>
4099+
<item name="wcf.fancybox.next"><![CDATA[Weiter]]></item>
4100+
<item name="wcf.fancybox.prev"><![CDATA[Zurück]]></item>
4101+
<item name="wcf.fancybox.modal"><![CDATA[{if LANGUAGE_USE_INFORMAL_VARIANT}Du kannst{else}Sie können{/if} diesen Dialog mit der ESC-Taste schließen]]></item>
4102+
<item name="wcf.fancybox.element_not_found"><![CDATA[HTML Element nicht gefunden]]></item>
4103+
<item name="wcf.fancybox.iframe_error"><![CDATA[Fehler beim Laden der Seite]]></item>
4104+
</category>
40734105
<category name="wcf.form">
40744106
<item name="wcf.form.field.className"><![CDATA[Klasse]]></item>
40754107
<item name="wcf.form.field.className.description.interface"><![CDATA[Die angegebene Klasse (ohne Backslash als erstes Zeichen) muss das Interface <kbd>{$interface}</kbd> implementieren.]]></item>

wcfsetup/install/lang/en.xml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4016,6 +4016,38 @@ Attachments:
40164016
<item name="wcf.global.form.password.button.show"><![CDATA[Show Password]]></item>
40174017
<item name="wcf.global.form.error.invalidCssClassName"><![CDATA[The value entered is not a valid CSS class.]]></item>
40184018
</category>
4019+
<category name="wcf.fancybox">
4020+
<item name="wcf.fancybox.image_error"><![CDATA[This image couldn't be loaded.]]></item>
4021+
<item name="wcf.fancybox.move_up"><![CDATA[Move up]]></item>
4022+
<item name="wcf.fancybox.move_down"><![CDATA[Move down]]></item>
4023+
<item name="wcf.fancybox.move_left"><![CDATA[Move left]]></item>
4024+
<item name="wcf.fancybox.move_right"><![CDATA[Move right]]></item>
4025+
<item name="wcf.fancybox.zoom_in"><![CDATA[Zoom in]]></item>
4026+
<item name="wcf.fancybox.zoom_out"><![CDATA[Zoom out]]></item>
4027+
<item name="wcf.fancybox.toggle_full"><![CDATA[Toggle zoom level]]></item>
4028+
<item name="wcf.fancybox.toggle_1to1"><![CDATA[Toggle zoom level]]></item>
4029+
<item name="wcf.fancybox.iterate_zoom"><![CDATA[Toggle zoom level]]></item>
4030+
<item name="wcf.fancybox.rotate_ccw"><![CDATA[Rotate counterclockwise]]></item>
4031+
<item name="wcf.fancybox.rotate_cw"><![CDATA[Rotate clockwise]]></item>
4032+
<item name="wcf.fancybox.flip_x"><![CDATA[Flip horizontally]]></item>
4033+
<item name="wcf.fancybox.flip_y"><![CDATA[Flip vertically]]></item>
4034+
<item name="wcf.fancybox.reset"><![CDATA[Reset]]></item>
4035+
<item name="wcf.fancybox.error"><![CDATA[Something went wrong.]]></item>
4036+
<item name="wcf.fancybox.next"><![CDATA[Next page]]></item>
4037+
<item name="wcf.fancybox.prev"><![CDATA[Previous page]]></item>
4038+
<item name="wcf.fancybox.goto"><![CDATA[Go to page #%d]]></item>
4039+
<item name="wcf.fancybox.download"><![CDATA[Download]]></item>
4040+
<item name="wcf.fancybox.toggle_fullscreen"><![CDATA[Toggle full-screen mode]]></item>
4041+
<item name="wcf.fancybox.toggle_expand"><![CDATA[Toggle full-size mode]]></item>
4042+
<item name="wcf.fancybox.toggle_thumbs"><![CDATA[Toggle thumbnails]]></item>
4043+
<item name="wcf.fancybox.toggle_autoplay"><![CDATA[Toggle slideshow]]></item>
4044+
<item name="wcf.fancybox.close"><![CDATA[Close]]></item>
4045+
<item name="wcf.fancybox.next"><![CDATA[Next]]></item>
4046+
<item name="wcf.fancybox.prev"><![CDATA[Previous]]></item>
4047+
<item name="wcf.fancybox.modal"><![CDATA[You can close this modal content with the ESC key]]></item>
4048+
<item name="wcf.fancybox.element_not_found"><![CDATA[HTML Element Not Found]]></item>
4049+
<item name="wcf.fancybox.iframe_error"><![CDATA[Error Loading Page]]></item>
4050+
</category>
40194051
<category name="wcf.form">
40204052
<item name="wcf.form.field.className"><![CDATA[Class]]></item>
40214053
<item name="wcf.form.field.className.description.interface"><![CDATA[The entered class (without leading backslash) must implement the interface <kbd>{$interface}</kbd>.]]></item>

0 commit comments

Comments
 (0)