Skip to content

Commit 6001294

Browse files
committed
chore: more translations
1 parent af52e31 commit 6001294

File tree

11 files changed

+65
-31
lines changed

11 files changed

+65
-31
lines changed

lang/en/menu.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
11
{
2-
"menu": "MENU"
2+
"menu": "Menu",
3+
"menu.title": "MENU",
4+
"changelog": "UnderScript Change Log",
5+
"updates": "Check for updates",
6+
"gamelog": "Game Patch Notes",
7+
"reload": "Reload Cards",
8+
"settings": "Settings",
9+
"settings.note": "Settings temporarily unavailable",
10+
"streamer.on": "Streamer Mode: On",
11+
"streamer.off": "Streamer Mode: Off",
12+
"surrender": "Surrender",
13+
"surrender.note": "You can't surrender before turn 5."
314
}

lang/en/settings.json

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
{
2+
"announce": "Announcement",
3+
"announce.friendsOnly": "Friends Only",
4+
"announce.notSelf": "Ignore Self",
25
"autocomplete": "Visual Autocomplete",
36
"autocomplete.friends": "Autocomplete: Online Friends Only",
47
"large.avatar": "Large Icon mode",
58
"category.announce.draw": "Legendary Draw",
69
"category.announce.user": "Legendary User",
10+
"category.announce.winstreak": "Winstreak",
711
"category.chat.commands": "Commands",
812
"category.chat.ignored": "Ignored Users",
913
"category.chat.links": "Trusted Domains",
1014
"category.chat.ping": "Ping Me",
15+
"category.streamer": "Streamer Mode",
1116
"disable.broadcast": "Disable Broadcast Toast",
1217
"disable.command": "Disable $1 command",
1318
"disable.emote": "Disable $1",
@@ -16,13 +21,18 @@
1621
"disable.links": "Use Original Link Detection",
1722
"disable.ping": "Disable Chat Ping {{STYLE:highlight|(highlighting)}}",
1823
"ignoreChat": "Behavior",
19-
"announce": "Announcement",
20-
"announce.friendsOnly": "Friends Only",
21-
"announce.notSelf": "Ignore Self",
24+
"note.refresh": "Will require you to refresh the page.",
2225
"page.chat": "Chat",
26+
"page.plugins": "Plugins",
2327
"ping.global": "Only open chats",
2428
"ping.on": "On",
2529
"ping.toast": "Enable ping toasts",
2630
"safelink": "Enabled",
27-
"safelink.trust": "Trust $1"
31+
"safelink.trust": "Trust $1",
32+
"streamer": "Enable?",
33+
"streamer.note": "Enables a button on the menu, streamer mode is \"off\" by default.",
34+
"streamer.option.1": "Yes",
35+
"streamer.option.2": "Yes (silent)",
36+
"streamer.option.3": "No",
37+
"title": "UnderScript Configuration"
2838
}

lang/en/toast.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
"broadcast": "[INFO] Undercards Broadcast Message",
33
"dismiss": "Dismiss",
44
"ignore": "You've ignored $1",
5+
"menu": "UnderScript has a menu, press ESC to open it!",
56
"ping": "UnderScript has custom notifications! You can change them however you like.",
67
"ping.remove": "Remove @underscript!",
78
"ping.settings": "Open settings",
9+
"streamer": "Streamer Mode Active",
810
"game.request": "Request Permission",
911
"game.request.allowed": "Notifications allowed",
1012
"game.request.denied": "Notifications denied",

src/base/chat/winstreak.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,25 @@ import * as settings from 'src/utils/settings/index.js';
33
import { global } from 'src/utils/global.js';
44
import { toast as SimpleToast } from 'src/utils/2.toasts.js';
55
import isFriend from 'src/utils/isFriend.js';
6+
import Translation from 'src/structures/constants/translation';
7+
8+
const category = Translation.Setting('category.announce.winstreak');
69

710
const setting = settings.register({
8-
name: 'Announcement',
11+
name: Translation.Setting('announce'),
912
key: 'underscript.winstreak',
1013
options: ['Chat', 'Toast', 'Both', 'Hidden'],
1114
default: 'Both',
1215
type: 'select',
1316
page: 'Chat',
14-
category: 'Winstreak',
17+
category,
1518
});
1619

1720
const friends = settings.register({
18-
name: 'Friends Only',
21+
name: Translation.Setting('announce.friendsOnly'),
1922
key: 'underscript.winstreak.friendsOnly',
2023
page: 'Chat',
21-
category: 'Winstreak',
24+
category,
2225
});
2326

2427
const toasts = {

src/base/game/surrender.menu.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import eventManager from 'src/utils/eventManager.js';
22
import { global } from 'src/utils/global.js';
33
import onPage from 'src/utils/onPage.js';
44
import * as menu from 'src/utils/menu.js';
5+
import Translation from 'src/structures/constants/translation';
56

67
onPage('Game', () => {
78
// Unbind the "surrender" hotkey
@@ -13,12 +14,12 @@ onPage('Game', () => {
1314
}
1415
// Add the "surrender" menu button
1516
menu.addButton({
16-
text: 'Surrender',
17+
text: Translation.Menu('surrender'),
1718
enabled: canSurrender,
1819
top: true,
1920
note: () => {
2021
if (!canSurrender()) {
21-
return `You can't surrender before turn 5.`;
22+
return Translation.Menu('surrender.note');
2223
}
2324
return undefined;
2425
},

src/base/streamer/0.streamer.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,20 @@ import * as settings from 'src/utils/settings/index.js';
33
import * as api from 'src/utils/4.api.js';
44
import { toast } from 'src/utils/2.toasts.js';
55
import * as menu from 'src/utils/menu.js';
6+
import Translation from 'src/structures/constants/translation';
67

78
const silent = 'Yes (silent)';
89
const disabled = 'No';
10+
const data = [
11+
[Translation.Setting('streamer.option.1'), 'Yes'],
12+
[Translation.Setting('streamer.option.2'), silent],
13+
[Translation.Setting('streamer.option.3'), disabled],
14+
];
915
const mode = settings.register({
10-
name: 'Enable?',
16+
name: Translation.Setting('streamer'),
1117
key: 'underscript.streamer',
12-
note: 'Enables a button on the menu, streamer mode is "off" by default.',
13-
options: ['Yes', silent, disabled],
18+
note: Translation.Setting('streamer.note'),
19+
data,
1420
default: disabled,
1521
onChange: (val) => {
1622
if (val === disabled) {

src/hooks/z-jQuery.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ import eventManager from 'src/utils/eventManager.js';
33
// Attempt to detect jQuery
44
eventManager.on(':preload', () => {
55
if (typeof jQuery === 'undefined') return;
6-
eventManager.singleton.emit('jQuery');
6+
eventManager.singleton.emit('jQuery', jQuery);
77
});

src/structures/constants/translation.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,8 @@ export interface TranslationWithArgs<N extends number> extends TranslationBase {
4545
export default class Translation extends Constant implements TranslationBase {
4646
static RECONNECTING = this.Chat('reconnecting');
4747

48-
static MENU_TITLE = this.Menu('menu');
49-
5048
static CATEGORY_CHAT_COMMAND = this.Setting('category.chat.commands');
5149
static CATEGORY_CHAT_IGNORED = this.Setting('category.chat.ignored');
52-
static CATEGORY_LEGEND = this.Setting('category.chat.legend');
5350

5451
static DISABLE_COMMAND_SETTING = this.Setting('disable.command', 1);
5552

@@ -71,7 +68,7 @@ export default class Translation extends Constant implements TranslationBase {
7168
this.args = args;
7269
}
7370

74-
get key() {
71+
get key(): string {
7572
return this.valueOf();
7673
}
7774

src/utils/menu.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ function init() {
4242
role: 'Menu',
4343
})
4444
.append(
45-
`<div class="menu-header"><span class="menu-close right">&times;</span>${Translation.MENU_TITLE}</div>`,
45+
`<div class="menu-header"><span class="menu-close right">&times;</span>${Translation.Menu('menu.title')}</div>`,
4646
body,
4747
`<div class="menu-footer"><a href="https://git.io/fxysg" target="_blank">UnderScript</a> v${scriptVersion} <a href="https://discord.gg/D8DFvrU" target="_blank"><img id="usdiscord" src="images/social/discord.png" alt="discord"></a></div>`,
4848
))
@@ -152,7 +152,7 @@ eventManager.on(':load', () => {
152152
if (btn) btn.addEventListener('click', () => open());
153153

154154
toast = infoToast({
155-
text: 'UnderScript has a menu, press ESC to open it!',
155+
text: Translation.Toast('menu'),
156156
onClose: (reason) => {
157157
toast = null;
158158
// return reason !== 'opened';

src/utils/settings/RegisteredSetting.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
import Translation from 'src/structures/constants/translation';
12
import EventEmitter from '../eventEmitter.js';
23
import { translateText } from '../translate.js';
34
import SettingType from './types/setting.js';
45

6+
const refresh = Translation.Setting('note.refresh');
7+
58
export default class RegisteredSetting {
69
/** @type {string} */
710
#key;
@@ -33,7 +36,7 @@ export default class RegisteredSetting {
3336
#refresh;
3437
/** @type {function(any, any): void} */
3538
#onChange;
36-
/** @type {EventEmitter} */
39+
/** @type {typeof EventEmitter} */
3740
#events;
3841

3942
constructor({
@@ -51,7 +54,7 @@ export default class RegisteredSetting {
5154
note,
5255
onChange,
5356
page,
54-
refresh,
57+
refresh: refreshText,
5558
remove,
5659
reset,
5760
type,
@@ -70,7 +73,7 @@ export default class RegisteredSetting {
7073
this.#reset = reset;
7174
this.#data = data;
7275
this.#note = note;
73-
this.#refresh = refresh;
76+
this.#refresh = refreshText;
7477
this.#events = events;
7578
if (typeof onChange === 'function') {
7679
this.#onChange = onChange;
@@ -139,13 +142,12 @@ export default class RegisteredSetting {
139142
const notes = [];
140143

141144
const note = this.#value(this.#note);
142-
if (typeof note === 'string') {
143-
notes.push(note);
145+
if (note) {
146+
notes.push(translateText(note));
144147
}
145148

146149
if (this.#value(this.#refresh)) {
147-
// TODO: Translation file
148-
notes.push('Will require you to refresh the page.');
150+
notes.push(refresh);
149151
}
150152

151153
return notes.join('<br>');

0 commit comments

Comments
 (0)