-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLocale.lua
More file actions
305 lines (294 loc) · 14.6 KB
/
Copy pathLocale.lua
File metadata and controls
305 lines (294 loc) · 14.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
local MM = _G.MacroMaker
local enUS = {
UI_BYTES_FMT = "%d / %d Bytes",
UI_NO_FIXED_TARGET = "No fixed target",
UI_CONDITIONS_NONE = "Conditions: none",
UI_CONDITIONS_FMT = "Conditions: %s",
UI_COMMAND_SELECTED = "Command selected. Now click the desired spell.",
UI_SEARCH_HINT = "Search: spell, command, or category",
UI_PENDING_COMMAND_FMT = "Pending: %s → select a spell",
UI_SELECTED_COMMAND_FMT = "Selected: %s",
UI_NO_COMMAND = "no command",
UI_ACCOUNT_CHARACTER_SLOTS_FMT = "Account %d/36 • Character %d/18",
UI_PASSIVE = "Passive",
UI_RESULTS_FMT = "%d results",
UI_DELETE_CONFIRM_FMT = "Delete the macro |cffffffff%s|r?",
UI_TITLE = "Macro Maker",
UI_SUBTITLE = "Ascension WoW • 3.3.5a • Click wizard + text editor",
UI_SAVED_MACROS = "Saved macros",
UI_NEW_MACRO = "New Macro",
UI_MACRO_FALLBACK = "Macro",
UI_EDIT_HINT = "Left-click: edit",
UI_DRAG_DISABLED_COMBAT = "Dragging is disabled during combat.",
UI_DRAG_HINT = "Drag: drop onto an action bar",
UI_LIST_HELP = "Click: edit • Drag: action bar",
UI_NAME = "Name",
UI_CHARACTER_ONLY = "Character only (new macros)",
UI_LIMIT_FMT = "Limit: %d",
UI_LIMIT_NOTE = "Ascension supports 511 bytes as of June 25, 2026. Switch to 255 for an older client.",
UI_SAVE = "Save",
UI_DELETE = "Delete",
UI_BUILDER = "Builder",
UI_MACRO_TEXT = "Macro text",
UI_COMMANDS = "Commands",
UI_SPELLS = "Spells",
UI_TEMPLATES = "Templates",
UI_ALL = "All",
UI_TARGET = "Target",
UI_CONDITIONS = "Conditions",
UI_SELECT = "Select …",
UI_CLEAR_ALL = "Clear all",
UI_ADD_LINE = "Add line",
UI_AUTO_TOOLTIP = "Add #showtooltip for spells",
UI_RESTRICTIONS_NOTE = "Note: Macros can only use supported conditionals; they cannot automatically evaluate cooldowns, health, or procs.",
ERROR_NAME_REQUIRED = "Please enter a name.",
ERROR_NAME_TOO_LONG = "The name may contain no more than 16 characters.",
ERROR_BODY_EMPTY = "The macro is empty.",
ERROR_BODY_TOO_LONG_FMT = "The body uses %d of %d bytes.",
ERROR_SAVE_FAILED_FMT = "Save failed: %s",
ERROR_DELETE_COMBAT = "Macros cannot be deleted during combat.",
ERROR_DELETE_FAILED_FMT = "Delete failed: %s",
ERROR_SELECT_MACRO = "Please select a macro first.",
ERROR_MACRO_MISSING = "The selected macro no longer exists.",
ERROR_DRAG_COMBAT = "Macros cannot be dragged to an action bar during combat.",
ERROR_PICKUP_UNSUPPORTED = "This client does not support PickupMacro.",
ERROR_STANCE_UNIDENTIFIED = "The client did not identify this spell unambiguously as a stance or form. Please select a spell from the stance bar.",
ERROR_ESC_MENU_FMT = "ESC menu registration failed: %s",
STATUS_SAVE_QUEUED = "Save queued; it will run after combat ends.",
STATUS_MACRO_UPDATED = "Macro updated.",
STATUS_MACRO_CREATED = "Macro created.",
WARN_MACRO_RESELECT = "The macro was saved but could not be selected again.",
WARN_BODY_TRUNCATED_FMT = "Warning: The client truncated the body to %d bytes. Please update Ascension or use the 255-byte profile.",
}
local deDE = {
UI_BYTES_FMT = "%d / %d Bytes",
UI_NO_FIXED_TARGET = "Kein festes Ziel",
UI_CONDITIONS_NONE = "Bedingungen: keine",
UI_CONDITIONS_FMT = "Bedingungen: %s",
UI_COMMAND_SELECTED = "Befehl ausgewählt. Klicke jetzt die gewünschte Fähigkeit an.",
UI_SEARCH_HINT = "Suche: Fähigkeit, Befehl oder Kategorie",
UI_PENDING_COMMAND_FMT = "Vorgemerkt: %s → Fähigkeit wählen",
UI_SELECTED_COMMAND_FMT = "Ausgewählt: %s",
UI_NO_COMMAND = "kein Befehl",
UI_ACCOUNT_CHARACTER_SLOTS_FMT = "Account %d/36 • Charakter %d/18",
UI_PASSIVE = "Passiv",
UI_RESULTS_FMT = "%d Treffer",
UI_DELETE_CONFIRM_FMT = "Das Makro |cffffffff%s|r wirklich löschen?",
UI_TITLE = "Macro Maker",
UI_SUBTITLE = "Ascension WoW • 3.3.5a • Klick-Wizard + Texteditor",
UI_SAVED_MACROS = "Gespeicherte Makros",
UI_NEW_MACRO = "Neues Makro",
UI_MACRO_FALLBACK = "Makro",
UI_EDIT_HINT = "Linksklick: bearbeiten",
UI_DRAG_DISABLED_COMBAT = "Ziehen ist während des Kampfes deaktiviert.",
UI_DRAG_HINT = "Ziehen: auf einer Aktionsleiste ablegen",
UI_LIST_HELP = "Klick: bearbeiten • Ziehen: Aktionsleiste",
UI_NAME = "Name",
UI_CHARACTER_ONLY = "Nur für diesen Charakter (neue Makros)",
UI_LIMIT_FMT = "Limit: %d",
UI_LIMIT_NOTE = "Ascension unterstützt seit dem 25. Juni 2026 511 Bytes. Für einen älteren Client auf 255 umschalten.",
UI_SAVE = "Speichern",
UI_DELETE = "Löschen",
UI_BUILDER = "Baukasten",
UI_MACRO_TEXT = "Makrotext",
UI_COMMANDS = "Befehle",
UI_SPELLS = "Fähigkeiten",
UI_TEMPLATES = "Vorlagen",
UI_ALL = "Alle",
UI_TARGET = "Ziel",
UI_CONDITIONS = "Bedingungen",
UI_SELECT = "Auswählen …",
UI_CLEAR_ALL = "Alle entfernen",
UI_ADD_LINE = "Zeile hinzufügen",
UI_AUTO_TOOLTIP = "#showtooltip für Fähigkeiten ergänzen",
UI_RESTRICTIONS_NOTE = "Hinweis: Makros können nur unterstützte Bedingungen verwenden; Cooldowns, Lebenspunkte oder Procs lassen sich nicht automatisch auswerten.",
ERROR_NAME_REQUIRED = "Bitte gib einen Namen ein.",
ERROR_NAME_TOO_LONG = "Der Name darf höchstens 16 Zeichen enthalten.",
ERROR_BODY_EMPTY = "Das Makro ist leer.",
ERROR_BODY_TOO_LONG_FMT = "Der Inhalt verwendet %d von %d Bytes.",
ERROR_SAVE_FAILED_FMT = "Speichern fehlgeschlagen: %s",
ERROR_DELETE_COMBAT = "Makros können während des Kampfes nicht gelöscht werden.",
ERROR_DELETE_FAILED_FMT = "Löschen fehlgeschlagen: %s",
ERROR_SELECT_MACRO = "Bitte wähle zuerst ein Makro aus.",
ERROR_MACRO_MISSING = "Das ausgewählte Makro existiert nicht mehr.",
ERROR_DRAG_COMBAT = "Makros können während des Kampfes nicht auf eine Aktionsleiste gezogen werden.",
ERROR_PICKUP_UNSUPPORTED = "Dieser Client unterstützt PickupMacro nicht.",
ERROR_STANCE_UNIDENTIFIED = "Der Client konnte diese Fähigkeit nicht eindeutig als Haltung oder Form erkennen. Bitte wähle eine Fähigkeit aus der Haltungsleiste.",
ERROR_ESC_MENU_FMT = "Registrierung im ESC-Menü fehlgeschlagen: %s",
STATUS_SAVE_QUEUED = "Speichern vorgemerkt; der Vorgang wird nach dem Kampf ausgeführt.",
STATUS_MACRO_UPDATED = "Makro aktualisiert.",
STATUS_MACRO_CREATED = "Makro erstellt.",
WARN_MACRO_RESELECT = "Das Makro wurde gespeichert, konnte aber nicht erneut ausgewählt werden.",
WARN_BODY_TRUNCATED_FMT = "Warnung: Der Client hat den Inhalt auf %d Bytes gekürzt. Bitte aktualisiere Ascension oder verwende das 255-Byte-Profil.",
}
local deText = {
["Display"] = "Anzeige",
["Spell tooltip"] = "Tooltip für Fähigkeit",
["Spell icon"] = "Symbol für Fähigkeit",
["Select this command, then click a spell."] = "Wähle diesen Befehl und klicke danach eine Fähigkeit an.",
["Spells & Items"] = "Fähigkeiten & Gegenstände",
["Cast spell"] = "Fähigkeit wirken",
["Cast sequence"] = "Zaubersequenz",
["reset=target/10 Spell 1, Spell 2"] = "reset=target/10 Fähigkeit 1, Fähigkeit 2",
["Random spell"] = "Zufällige Fähigkeit",
["Spell 1, Spell 2"] = "Fähigkeit 1, Fähigkeit 2",
["Use item"] = "Gegenstand benutzen",
["Item name or slot"] = "Gegenstandsname oder Platz",
["Random item"] = "Zufälliger Gegenstand",
["Item 1, Item 2"] = "Gegenstand 1, Gegenstand 2",
["Equip item"] = "Gegenstand anlegen",
["Item name"] = "Gegenstandsname",
["Equip in slot"] = "Auf Platz anlegen",
["Slot Item name"] = "Platz Gegenstandsname",
["Equipment set"] = "Ausrüstungsset",
["Set name"] = "Setname",
["Combat & Status"] = "Kampf & Status",
["Check and switch stance"] = "Haltung prüfen und wechseln",
["Detects the stance number from the spell selected next."] = "Erkennt die Haltungsnummer anhand der anschließend gewählten Fähigkeit.",
["Start auto attack"] = "Automatischen Angriff starten",
["Stop auto attack"] = "Automatischen Angriff stoppen",
["Stop casting"] = "Zauberwirken stoppen",
["Stop macro here"] = "Makro hier stoppen",
["Cancel aura"] = "Aura entfernen",
["Select this command, then click the aura spell."] = "Wähle diesen Befehl und klicke danach die Aura als Fähigkeit an.",
["Cancel form"] = "Form verlassen",
["Dismount"] = "Absitzen",
["Target & Focus"] = "Ziel & Fokus",
["Assist target"] = "Ziel unterstützen",
["Unit name"] = "Einheitenname",
["Select target"] = "Ziel auswählen",
["Name"] = "Name",
["Target exact name"] = "Exakten Namen anvisieren",
["Exact name"] = "Exakter Name",
["Next enemy"] = "Nächster Gegner",
["Next friendly unit"] = "Nächste verbündete Einheit",
["Next enemy player"] = "Nächster feindlicher Spieler",
["Next friendly player"] = "Nächster verbündeter Spieler",
["Last target"] = "Letztes Ziel",
["Last enemy"] = "Letzter Gegner",
["Last friendly unit"] = "Letzte verbündete Einheit",
["Next party target"] = "Nächstes Gruppenziel",
["Next raid target"] = "Nächstes Schlachtzugziel",
["Set focus"] = "Fokus setzen",
["Clear focus"] = "Fokus löschen",
["Clear target"] = "Ziel abwählen",
["Pet"] = "Begleiter",
["Pet attack"] = "Begleiter angreifen lassen",
["Pet follow"] = "Begleiter folgen lassen",
["Pet stay"] = "Begleiter warten lassen",
["Pet passive"] = "Begleiter passiv",
["Pet defensive"] = "Begleiter defensiv",
["Pet aggressive"] = "Begleiter aggressiv",
["Enable autocast"] = "Autocast aktivieren",
["Disable autocast"] = "Autocast deaktivieren",
["Pet ability"] = "Begleiterfähigkeit",
["Action Bars & UI"] = "Aktionsleisten & UI",
["Click button"] = "Schaltfläche anklicken",
["Change action bar"] = "Aktionsleiste wechseln",
["Swap action bars"] = "Aktionsleisten tauschen",
["Talent specialization"] = "Talentspezialisierung",
["1 or 2"] = "1 oder 2",
["Chat & Advanced"] = "Chat & Erweitert",
["Say"] = "Sagen",
["Yell"] = "Schreien",
["Whisper"] = "Flüstern",
["Message"] = "Nachricht",
["Name Message"] = "Name Nachricht",
["Party"] = "Gruppe",
["Raid"] = "Schlachtzug",
["Raid warning"] = "Schlachtzugswarnung",
["Guild"] = "Gilde",
["Emote"] = "Emote",
["Text"] = "Text",
["Run Lua"] = "Lua ausführen",
["Lua code (does not bypass restrictions)"] = "Lua-Code (umgeht keine Schutzregeln)",
["Console command"] = "Konsolenbefehl",
["CVar Value"] = "CVar Wert",
["Custom slash command"] = "Eigener Slash-Befehl",
["/command arguments"] = "/befehl argumente",
["Mouseover"] = "Mouseover",
["Target"] = "Ziel",
["Focus"] = "Fokus",
["Player"] = "Spieler",
["Target of target"] = "Ziel des Ziels",
["Party member 1"] = "Gruppenmitglied 1",
["Raid member 1"] = "Schlachtzugsmitglied 1",
["Arena opponent 1"] = "Arenagegner 1",
["Cursor position (Ascension)"] = "Cursorposition (Ascension)",
["friendly"] = "verbündet",
["hostile"] = "feindlich",
["exists"] = "existiert",
["dead"] = "tot",
["alive"] = "lebendig",
["in combat"] = "im Kampf",
["out of combat"] = "außerhalb des Kampfes",
["no modifier"] = "keine Modifikatortaste",
["stealthed"] = "getarnt",
["mounted"] = "aufgesessen",
["flying"] = "fliegend",
["flyable"] = "Fliegen möglich",
["swimming"] = "schwimmend",
["indoors"] = "drinnen",
["outdoors"] = "draußen",
["in group"] = "in einer Gruppe",
["not grouped"] = "nicht in einer Gruppe",
["party"] = "Gruppe",
["raid"] = "Schlachtzug",
["pet active"] = "Begleiter aktiv",
["in form/stance 1"] = "in Form/Haltung 1",
["not in form/stance 1"] = "nicht in Form/Haltung 1",
["specialization 1"] = "Spezialisierung 1",
["specialization 2"] = "Spezialisierung 2",
["channeling"] = "kanalisierend",
["vehicle UI"] = "Fahrzeug-UI",
["Switch stance + ability"] = "Haltung wechseln + Fähigkeit",
["Show current stance ID"] = "Aktuelle Haltungs-ID anzeigen",
["Mouseover heal"] = "Mouseover-Heilung",
["Focus interrupt"] = "Fokus unterbrechen",
["Modifier: Focus / Target"] = "Modifikator: Fokus / Ziel",
["Ground spell at cursor"] = "Bodenzauber am Cursor",
["Attack + ability"] = "Angriff + Fähigkeit",
["Trinkets + Cooldown"] = "Schmuckstücke + Cooldown",
["Heal/Damage"] = "Heilung/Schaden",
["#showtooltip\n/cast [stance:1] ABILITY; STANCE"] = "#showtooltip\n/cast [stance:1] FÄHIGKEIT; HALTUNG",
["/run print(\"Macro stance:\", GetShapeshiftForm(true) or 0)"] = "/run print(\"Makro-Haltung:\", GetShapeshiftForm(true) or 0)",
["#showtooltip\n/cast [@mouseover,help,nodead][help,nodead][@player] SPELL"] = "#showtooltip\n/cast [@mouseover,help,nodead][help,nodead][@player] FÄHIGKEIT",
["#showtooltip\n/cast [@focus,harm,nodead][] SPELL"] = "#showtooltip\n/cast [@focus,harm,nodead][] FÄHIGKEIT",
["#showtooltip\n/cast [mod:shift,@focus,harm,nodead][] SPELL"] = "#showtooltip\n/cast [mod:shift,@focus,harm,nodead][] FÄHIGKEIT",
["#showtooltip\n/cast [@cursor] SPELL"] = "#showtooltip\n/cast [@cursor] FÄHIGKEIT",
["#showtooltip\n/castsequence reset=target/10 SPELL 1, SPELL 2"] = "#showtooltip\n/castsequence reset=target/10 FÄHIGKEIT 1, FÄHIGKEIT 2",
["#showtooltip\n/startattack\n/cast ABILITY"] = "#showtooltip\n/startattack\n/cast FÄHIGKEIT",
["#showtooltip\n/use 13\n/use 14\n/cast COOLDOWN"] = "#showtooltip\n/use 13\n/use 14\n/cast ABKLINGZEIT",
["#showtooltip\n/cast [help,nodead] HEAL; [harm,nodead] DAMAGE"] = "#showtooltip\n/cast [help,nodead] HEILUNG; [harm,nodead] SCHADEN",
["Category %d"] = "Kategorie %d",
}
local clientLocale = GetLocale and GetLocale() or "enUS"
local activeLocale = clientLocale == "deDE" and "deDE" or "enUS"
MM.clientLocale = clientLocale
MM.activeLocale = activeLocale
MM.Locales = { enUS = enUS, deDE = deDE }
MM.L = activeLocale == "deDE" and deDE or enUS
setmetatable(MM.L, {
__index = function(_, key)
return enUS[key] or key
end,
})
function MM:Format(key, ...)
local template = self.L[key]
local ok, value = pcall(string.format, template, ...)
return ok and value or template
end
function MM:Text(english, ...)
local text = self.activeLocale == "deDE" and deText[english] or nil
text = text or english
if select("#", ...) == 0 then return text end
local ok, value = pcall(string.format, text, ...)
return ok and value or text
end
function MM:NormalizeSearch(text)
text = tostring(text or "")
text = string.gsub(text, "Ä", "ä")
text = string.gsub(text, "Ö", "ö")
text = string.gsub(text, "Ü", "ü")
return string.lower(text)
end