Decompiled source of Valheim Mastery v0.16.28

plugins/ValheimMastery/ValheimMastery.dll

Decompiled a day ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.RegularExpressions;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using MagicaCloth2;
using Newtonsoft.Json;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using UnityEngine.Rendering;
using UnityEngine.UI;
using ValheimMastery.Combat;
using ValheimMastery.Progression;

[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: CompilationRelaxations(8)]
[assembly: AssemblyVersion("0.0.0.0")]
namespace ValheimMastery.Progression
{
	public static class ConstructionBuildHistory
	{
		public const int Version = 2;

		private const string Prefix = "org.valheim.mastery.skill.construction.site.v2.";

		public static string SiteKey(long world, string prefab, float x, float y, float z)
		{
			return "org.valheim.mastery.skill.construction.site.v2." + world.ToString(CultureInfo.InvariantCulture) + ":" + Cell(x) + ":" + Cell(y) + ":" + Cell(z) + ":" + prefab;
		}

		private static string Cell(float coordinate)
		{
			return Math.Round((double)coordinate * 100.0, MidpointRounding.AwayFromZero).ToString(CultureInfo.InvariantCulture);
		}

		public static bool Record(IDictionary<string, string> data, string site, bool explicitlyRebuilt)
		{
			bool result = explicitlyRebuilt || data.ContainsKey(site);
			data[site] = "1";
			data.Remove("org.valheim.mastery.skill.construction.rebuildDebt");
			return result;
		}

		public static bool CanCountProjectPart(bool rebuilt, int version, bool counted, double placed, double start)
		{
			if (!counted && start > 0.0 && placed >= start)
			{
				if (rebuilt)
				{
					return version < 2;
				}
				return true;
			}
			return false;
		}
	}
	public static class MasteryText
	{
		public static Func<bool> UseGerman = () => true;

		private static readonly Dictionary<string, string> Catalog = CreateCatalog();

		private static readonly Dictionary<char, List<string>> Index = CreateIndex();

		private static readonly Dictionary<string, string> Cache = new Dictionary<string, string>(StringComparer.Ordinal);

		public static int Count => Catalog.Count;

		public static bool Has(string text)
		{
			if (text != null)
			{
				return Catalog.ContainsKey(text);
			}
			return false;
		}

		private static Dictionary<char, List<string>> CreateIndex()
		{
			Dictionary<char, List<string>> dictionary = new Dictionary<char, List<string>>();
			foreach (string key in Catalog.Keys)
			{
				if (key.Length != 0)
				{
					if (!dictionary.TryGetValue(key[0], out var value))
					{
						value = new List<string>();
						dictionary[key[0]] = value;
					}
					value.Add(key);
				}
			}
			foreach (List<string> value2 in dictionary.Values)
			{
				value2.Sort((string a, string b) => b.Length.CompareTo(a.Length));
			}
			return dictionary;
		}

		public static string T(string text)
		{
			if (string.IsNullOrEmpty(text) || UseGerman())
			{
				return text;
			}
			return English(text);
		}

		public static string[] T(string[] values)
		{
			if (values == null || UseGerman())
			{
				return values;
			}
			string[] array = new string[values.Length];
			for (int i = 0; i < values.Length; i++)
			{
				array[i] = English(values[i]);
			}
			return array;
		}

		private static bool Word(char c)
		{
			if (!char.IsLetterOrDigit(c) && c != '_')
			{
				return c == '$';
			}
			return true;
		}

		public static string English(string text)
		{
			if (string.IsNullOrEmpty(text))
			{
				return text;
			}
			if (Catalog.TryGetValue(text, out var value) || Cache.TryGetValue(text, out value))
			{
				return value;
			}
			StringBuilder stringBuilder = new StringBuilder(text.Length);
			int num = 0;
			while (num < text.Length)
			{
				string text2 = null;
				if (Index.TryGetValue(text[num], out var value2))
				{
					foreach (string item in value2)
					{
						int num2 = num + item.Length;
						if (num2 <= text.Length && (!Word(item[0]) || num <= 0 || !Word(text[num - 1])) && (!Word(item[item.Length - 1]) || num2 >= text.Length || !Word(text[num2])) && string.CompareOrdinal(text, num, item, 0, item.Length) == 0)
						{
							text2 = item;
							break;
						}
					}
				}
				if (text2 != null)
				{
					stringBuilder.Append(Catalog[text2]);
					num += text2.Length;
				}
				else if (text[num] == '<' || text[num] == '$')
				{
					int i = num + 1;
					if (text[num] == '<')
					{
						int num3 = text.IndexOf('>', i);
						if (num3 >= 0)
						{
							i = num3 + 1;
						}
					}
					else
					{
						for (; i < text.Length && Word(text[i]); i++)
						{
						}
					}
					stringBuilder.Append(text, num, i - num);
					num = i;
				}
				else
				{
					stringBuilder.Append(text[num++]);
				}
			}
			value = stringBuilder.ToString();
			if (Cache.Count >= 2048)
			{
				Cache.Clear();
			}
			Cache[text] = value;
			return value;
		}

		private static Dictionary<string, string> CreateCatalog()
		{
			Dictionary<string, string> dictionary = new Dictionary<string, string>(StringComparer.Ordinal);
			dictionary.Add("\nBoegen, Staebe, nichtmetallische Ausruestung und saemtliche Pfeile/Bolzen gehoeren zu Handwerk.", "\nBows, staves, non-metal equipment and all arrows/bolts belong to Crafting.");
			dictionary.Add("\nCape ab 100: weitere 10% kuerzere Herstellung. Kein Effekt auf Essen oder Traenke.", "\nCape at 100: another 10% shorter production time. No effect on food or potions.");
			dictionary.Add("\nDarin +", "\nIncludes +");
			dictionary.Add("\nErzrausch mit Cape/Spitzhacke: ", "\nOre rush with cape/pickaxe: ");
			dictionary.Add("\nErzschmelzen: fertige Barren geben dem Einfueller Schmiede-XP, auch nach erneutem Einloggen.", "\nSmelting: finished bars award Smithing XP to the player who loaded the ore, even after logging in again.");
			dictionary.Add("\nHoehere Level verbessern Faellschaden und Ertrag. Cape: getragen +10% Ertrag.", "\nHigher levels improve chopping damage and yield. Cape: +10% yield while worn.");
			dictionary.Add("\nHolzfaellerrausch mit Cape/Axt: ", "\nLumber rush with cape/axe: ");
			dictionary.Add("\nKern-/Edelholz 10, Uralte Rinde 20, Yggdrasilholz 50, Eschenholz 60. Passende Axt weiterhin erforderlich.", "\nCore/fine wood 10, ancient bark 20, Yggdrasil wood 50, ashwood 60. Appropriate axe still required.");
			dictionary.Add("\nLaufender Altauftrag: XP seit dem Update erfasst.", "\nExisting contract: XP tracked since the update.");
			dictionary.Add("\nNahrung wird danach addiert.", "\nFood is added afterwards.");
			dictionary.Add("\nNatuerlich gewachsene Baeume und ihre Staemme; keine Bauwerke, Holzstapel oder Baumstuempfe.", "\nNaturally grown trees and their logs; no buildings, wood stacks or stumps.");
			dictionary.Add("\nRechtsklick: öffnen. Überlauf fällt auf den Boden.", "\nRight-click: open. Overflow drops to the ground.");
			dictionary.Add("\nRezeptwissen, Materialien, Werkbankstufe und Weltfortschritt bleiben erforderlich.", "\nRecipe knowledge, materials, station level and world progression are still required.");
			dictionary.Add("\nSchleichen: Agility bestimmt Tarnwirkung und Ausdauerverbrauch nach Vanilla.", "\nSneaking: Agility determines stealth and stamina cost using vanilla scaling.");
			dictionary.Add("\nSchwimmkosten skalieren nach Vanilla. Nahrung gibt zusaetzliche Ausdauer.", "\nSwimming costs scale as in vanilla. Food adds extra stamina.");
			dictionary.Add("\nSerienbelohnung: +", "\nStreak reward: +");
			dictionary.Add("\nUpgrades: +2 benoetigte Level je Qualitaetsstufe (maximal 99).", "\nUpgrades: +2 required levels per quality tier (maximum 99).");
			dictionary.Add("\nWachstum: ", "\nGrowth: ");
			dictionary.Add("\nWerkzeuganforderungen bleiben bestehen. Hoeheres Level verbessert den Ertrag aelterer Tiers.", "\nTool requirements still apply. Higher levels improve yield from earlier tiers.");
			dictionary.Add("\nWildschwein, Hirsch, Wolf, Lox und Hase: Kadaver mit E ausweiden. Regulärer Loot bleibt erhalten; nach 5 Minuten fällt er ohne Hunter-XP heraus. Keine Zucht-/Zähm-XP.\nCoop: ein XP-Topf nach Schadensanteil. F2 wählt Fährtensinn, Q aktiviert. Jagdtagebuch am Baumeisterbrett.\nCape: Alt+F1 ohne Hammer oder Angel, 30s Jagdmeister, 6min Cooldown.", "\nBoar, deer, wolf, lox and hare: press E to harvest carcasses. Normal loot is retained; after 5 minutes it drops without Hunter XP. No breeding/taming XP.\nCo-op: one XP pool shared by damage contribution. F2 selects Tracking sense, Q activates it. Hunting journal at the construction board.\nCape: Alt+F1 without hammer or rod, Huntmaster for 30s, 6min cooldown.");
			dictionary.Add("\nXP erst bei erfolgreicher Ernte, nach Art und Menge inklusive Bonusloot.\nPflanzengates gelten beim Anbau; Ernten, Weitergeben und Verarbeiten bleiben frei.\nRasterpflanzen: 2 ab 10, 4 ab 50, 6 ab 100; linke Alt-Taste fuer einzeln. Weinreben einzeln.\nSammelernte: 20% ab 60, +4 Prozentpunkte/Level, 100% ab 80; keine Kettenreaktion.\nZaehmen: +20% Geschwindigkeit je 20 Level; bester Farmer im 15m-Umkreis.\nEinmalige Zaehm-XP nach Beitrag; Schlacht-XP nur fuer ausgewachsene Nachzucht/aufgezogene Huehner. Kein Jungtier-/Wildtier-XP. Saatgutbonus nur fuer nach dem Update ausgewachsene Pflanzen mit Saatgut-Rezept.\nCape ab 100: +10 Prozentpunkte Ertragschance.", "\nXP is awarded on successful harvest, by species and quantity including bonus loot.\nPlanting gates apply only to planting; harvesting, sharing and processing remain free.\nGrid planting: 2 at 10, 4 at 50, 6 at 100; Left Alt plants individually. Vines are planted individually.\nArea harvest: 20% at 60, +4 percentage points/level, 100% at 80; no chain reactions.\nTaming: +20% speed per 20 levels; best farmer within 15m.\nOne-time taming XP by contribution; slaughter XP only for mature bred animals/raised chickens. No juvenile/wild animal XP. Seed bonus only for plants grown after the update with a seed recipe.\nCape at 100: +10 percentage points bonus yield chance.");
			dictionary.Add("\nXP fuer echte Schiffsstrecke, gleich fuer Ruder und Mitfahrer. Schiffboni vom Steuermann, Kartenradius persoenlich.\nCape am Ruder: Umschalt links + F1, 60s Rueckenwind, 6min Cooldown.", "\nXP for actual ship travel, equal for helmsman and passengers. Ship bonuses come from the helmsman; map radius is personal.\nCape at the helm: Left Shift + F1, 60s tailwind, 6min cooldown.");
			dictionary.Add("\nXP fuer erfolgreich hergestellte Produkte und Aufwertungen; Reparieren gibt keine XP.", "\nXP for successfully crafted products and upgrades; repairs grant no XP.");
			dictionary.Add("\nXP fuer fertige Flaschen inklusive Bonus. Metbasen geben keine XP. Trankwerte bleiben fest.\nMaterialersparnis 5/10/15/20/25% ab 20/40/60/80/100. Cape beim Befuellen: weitere 10% kuerzer, eine garantierte Bonusflasche.", "\nXP for finished bottles including bonuses. Mead bases grant no XP. Potion stats stay fixed.\nMaterial saving 5/10/15/20/25% at 20/40/60/80/100. Cape when filling: another 10% shorter, one guaranteed bonus bottle.");
			dictionary.Add("\nXP fuer fertige Portionen; am Feuer erst bei Abnahme. Verbranntes: ein Drittel. Lebensmittelwerte bleiben fest.\nMaterialersparnis: 5/10/15/20/25% ab Level 20/40/60/80/100. Bonusportionen geben volle XP.\nKoch-Cape: beim Einsetzen vor Verbrennen schuetzen.", "\nXP for finished servings; at a fire, only on collection. Burnt food: one third. Food stats remain fixed.\nMaterial saving: 5/10/15/20/25% at levels 20/40/60/80/100. Bonus servings grant full XP.\nCooking cape: wear when placing food to prevent burning.");
			dictionary.Add("\nXP fuer gueltige Auftragskills. Coop: volle XP in 70m; Marken beim Abschluss. Jagdinstinkt ab 60, Cape-Berserk ab 100.", "\nXP for valid contract kills. Co-op: full XP within 70m; tokens on completion. Hunting instinct from 60, cape berserk from 100.");
			dictionary.Add("\nXP fuer tatsaechlich erzeugtes Holz, inklusive Bonusloot. Keine Treffer-XP.", "\nXP for actual wood drops, including bonus loot. No XP per hit.");
			dictionary.Add("\nXP für neue Bauteile, Projekte und Bauaufträge. Wiederaufbau: 25% Bau-XP. Abreißen und Reparieren allein geben keine XP.\nMaterialersparnis 5/10/15/20/25% ab 20/40/60/80/100. Kostenlose Bauteile geben keine Rohstoffe zurück. Bekannte Baurezepte bleiben beim Import nutzbar.\nBaumeisterbrett: Baugebiet festlegen, Projekt wählen. Cape mit Hammer: Alt+F1 repariert einmal das gesamte definierte Gebiet; 30s Bauen ohne Ausdauer, 6min CD.", "\nXP for new building pieces, projects and work orders. Rebuilding: 25% building XP. Demolishing or repairing alone grants no XP.\nMaterial saving 5/10/15/20/25% at 20/40/60/80/100. Free pieces do not return resources. Known building recipes remain usable after import.\nConstruction board: define an area and choose a project. Cape with hammer: Alt+F1 repairs the entire defined area once; no building stamina cost for 30s, 6min CD.");
			dictionary.Add("\nXP nur fuer echte wilde Beeren, Pilze und Kraeuter inklusive Bonusfunden. Keine Pflueck-Gates.\nAngebaute Pflanzen geben Landwirtschaft-XP. Wegwerfen und Aufheben gibt keine Sammel-XP.\nReicher Fund: zwei weitere Exemplare derselben Ressource.\nSammlersinn [", "\nXP only for wild berries, mushrooms and herbs, including bonus finds. No gathering gates.\nCultivated plants grant Farming XP. Dropping and picking up items grants no Foraging XP.\nRich find: two extra units of the same resource.\nForaging sense [");
			dictionary.Add("\nXP nur fuer tatsaechliche Erz-/Steindrops, einschliesslich Bonusloot.", "\nXP only for actual ore/stone drops, including bonus loot.");
			dictionary.Add("\nXP nur für wirklich gelandete Angelfänge nach Art und Qualität. Bonusfisch gibt doppelte XP. Keine XP durch Aufheben oder Wiederfangen weggeworfener Fische.\nKeine Fischart-Levelgates; passender Köder bleibt nötig. Fischgründe: gemeinsamer Bestand, Erholung nach einem Spieltag.\nF2 wählt Fischersinn, Q aktiviert. Fangbuch am Baumeisterbrett. Cape mit Angel: Alt+F1 für 30s, 6min CD.", "\nXP only for landed rod catches, by species and quality. Bonus fish grant double XP. No XP for picking up or recatching discarded fish.\nNo species level gates; matching bait is still required. Fishing grounds: shared stocks, recovery after one in-game day.\nF2 selects Fishing sense, Q activates it. Fishing journal at the construction board. Cape with rod: Alt+F1 for 30s, 6min CD.");
			dictionary.Add("\nXP: Sprinten, Schwimmen, bewegte Spruenge, Ausweichen und Schleichen nahe unalarmierten Gegnern.", "\nXP: running, swimming, moving jumps, dodging and sneaking near unaware enemies.");
			dictionary.Add("\n[Umschalt + Benutzen] Serienkochen: bis ", "\n[Shift + Use] Batch cooking: up to ");
			dictionary.Add(" (+0,5 je Magielevel; Nahrung zusätzlich)", " (+0.5 per Magic level; food adds more)");
			dictionary.Add(" (aktuell ", " (current ");
			dictionary.Add(" (angebaut)", " (cultivated)");
			dictionary.Add(" (ohne Sterne/Multiplikator). Abschluss: +20% Auftrags-XP und ", " (before stars/multiplier). Completion: +20% contract XP and ");
			dictionary.Add(" 100 (aktuell ", " 100 (current ");
			dictionary.Add(" Abschluss-XP (20 %) · Serie: ", " completion XP (20%) · Streak: ");
			dictionary.Add(" Abschlussmarken. Weltfortschritt erforderlich.", " completion tokens. World progression required.");
			dictionary.Add(" An der Werkbank: vorhandenen Max Cape über Stil umfärben (getragenen bevorzugt). Acht Farben, identische Boni.", " At a workbench: recolour an existing Max Cape using Style (equipped cape preferred). Eight colours, identical bonuses.");
			dictionary.Add(" Auftrags-XP insgesamt · +", " total contract XP · +");
			dictionary.Add(" Basis-Marken.\nCoop: beide volle gleiche XP; beim letzten Kill beide innerhalb 70m fuer gleiche Abschlussmarken. Beitritt vor dem ersten Kill.", " base tokens.\nCo-op: both receive full equal XP; both must be within 70m on the last kill for equal completion tokens. Join before the first kill.");
			dictionary.Add(" Basis-XP", " base XP");
			dictionary.Add(" Basis-XP bei Qualität 1. Qualitätsfaktoren: 1 / 1,5 / 2 / 3 / 4. Passender Köder, kein Levelgate.", " base XP at quality 1. Quality multipliers: 1 / 1.5 / 2 / 3 / 4. Requires matching bait; no level gate.");
			dictionary.Add(" Basis-XP pro Meter fuer jedes Besatzungsmitglied.", " base XP per metre for every crew member.");
			dictionary.Add(" Basis-XP pro tatsaechlich geernteter Einheit. Kultivierter Anbau gehoert zu Landwirtschaft.", " base XP per unit actually harvested. Cultivated crops belong to Farming.");
			dictionary.Add(" Basis-XP; Rohzutaten geben noch keine XP.", " base XP; raw ingredients do not grant XP yet.");
			dictionary.Add(" Felder absenken · ", " cells to lower · ");
			dictionary.Add(" Felder. Ausdauer regeneriert zwischen den Arbeitsschritten.", " cells. Stamina regenerates between steps.");
			dictionary.Add(" Harz.", " resin.");
			dictionary.Add(" Hirschfelle + ", " deer hides + ");
			dictionary.Add(" Kampfminuten. Coop nutzt den hoechsten aktiven Bonus fuer beide; keine Addition.", " combat minutes. Co-op uses the highest active bonus for both players; bonuses do not stack.");
			dictionary.Add(" Kein Jagd-Levelgate. Gezähmte/gezüchtete Tiere zählen zu Farming.", " No Hunter level gate. Tamed/bred animals count towards Farming.");
			dictionary.Add(" Kisten vorgemerkt: Inventarplatz freimachen.", " crates pending: free inventory space.");
			dictionary.Add(" Marken (enthalten)", " tokens (included)");
			dictionary.Add(" Material-Meilenstein ", " Material milestone ");
			dictionary.Add(" Meter. Bereiche anderer Baubretter dürfen sich nicht überlappen.", " metres. Areas of different construction boards must not overlap.");
			dictionary.Add(" Minuten.", " minutes.");
			dictionary.Add(" Minuten. Kultivierter Boden und ausreichend Platz erforderlich.", " minutes. Requires cultivated soil and sufficient space.");
			dictionary.Add(" Nachbarabschnitte derselben Ader, je 15% Schaden (2m).", " adjacent sections of the same deposit, 15% damage each (2m).");
			dictionary.Add(" Noch ", " Remaining: ");
			dictionary.Add(" Qualität", " quality");
			dictionary.Add(" Sekunden verbleibend.", " seconds remaining.");
			dictionary.Add(" Slayer-Testmarken hinzugefuegt. Guthaben: ", " Slayer test tokens added. Balance: ");
			dictionary.Add(" Spieltagen, wenn der Bereich frei ist.", " in-game days, if the area is clear.");
			dictionary.Add(" Stein. Hacke und Spitzhacke im Inventar; Ausdauer und Hackenhaltbarkeit werden pro Feld verbraucht. Keine Terrain-XP oder Drops.", " stone. Keep a hoe and pickaxe in your inventory; stamina and hoe durability are consumed per cell. No terrain XP or drops.");
			dictionary.Add(" Teile", " pieces");
			dictionary.Add(" Tierstufe", " creature tier");
			dictionary.Add(" XP bis zum naechsten Level", " XP to next level");
			dictionary.Add(" XP nur für tatsächliche Ernte.", " XP only for actual harvests.");
			dictionary.Add(" XP zum nächsten Level", " XP to next level");
			dictionary.Add(" abgeschlossene Aufträge · Serie: ", " completed contracts · Streak: ");
			dictionary.Add(" alte Testkit-Capes entfernt; reguläre Capes werden auf Level 100 gecraftet.", " old test kit capes removed; regular capes are crafted at level 100.");
			dictionary.Add(" anheben · ", " to raise · ");
			dictionary.Add(" auf den Boden", " to the ground");
			dictionary.Add(" benötigt", " requires");
			dictionary.Add(" entstehen 2 ", " produces two ");
			dictionary.Add(" erforderlich (aktuell ", " required (current ");
			dictionary.Add(" erforderlich.", " required.");
			dictionary.Add(" freie Plaetze", " empty slots");
			dictionary.Add(" fuer diesen Testcharakter auf Level ", " for this test character set to level ");
			dictionary.Add(" ins Inventar", " into inventory");
			dictionary.Add(" m · Weltfortschritt: ", " m · World progression: ");
			dictionary.Add(" noch nicht bereit, ", " not ready, ");
			dictionary.Add(" pflanzen", " planting");
			dictionary.Add(" und ", " and ");
			dictionary.Add(" und Mastery Cape", " and Mastery Cape");
			dictionary.Add(" und Verteidigung ", " and Defence ");
			dictionary.Add(" weitere Freischaltungen – siehe Skilldetails.", " more unlocks – see skill details.");
			dictionary.Add(" zum Herstellen/Aufwerten erforderlich.", " required to craft/upgrade.");
			dictionary.Add(" zum Pflanzen erforderlich (aktuell ", " required to plant (current ");
			dictionary.Add(" zum Schmelzen erforderlich.", " required to smelt.");
			dictionary.Add(" zum Steuern", " to steer");
			dictionary.Add(" zum Steuern erforderlich. Mitfahren bleibt frei.", " required to steer. Passengers have no level requirement.");
			dictionary.Add(" zum Zubereiten erforderlich.", " required to prepare.");
			dictionary.Add(" zum Zubereiten. Essen und Weitergeben bleiben frei.", " to prepare. Eating and sharing have no level requirement.");
			dictionary.Add(" zum Zubereiten. Trinken und Weitergeben bleiben frei.", " to prepare. Drinking and sharing have no level requirement.");
			dictionary.Add(" · Abschluss-XP: ", " · Completion XP: ");
			dictionary.Add(" · Alt+E: eigenen Plan abbrechen", " · Alt+E: cancel own blueprint");
			dictionary.Add(" · Bild↑/Bild↓: drehen · E: setzen · Esc: abbrechen\n", " · Page Up/Page Down: rotate · E: place · Esc: cancel\n");
			dictionary.Add(" · Kapazitaet ", " · Capacity ");
			dictionary.Add(" · Rekord ", " · Record ");
			dictionary.Add(" · Rezept dauerhaft freischalten", " · Permanently unlock recipe");
			dictionary.Add(" · Schulterplatz · Bonus nur getragen.", " · Shoulder slot · Bonus only while worn.");
			dictionary.Add(" · abgeschlossen", " · completed");
			dictionary.Add(" — noch ", " — remaining: ");
			dictionary.Add("% (doppelte XP).", "% (double XP).");
			dictionary.Add("% (ohne Ueberladung)", "% (not overloaded)");
			dictionary.Add("% Chance auf keinen Materialverbrauch", "% chance to consume no materials");
			dictionary.Add("% Chance auf keinen Rezeptmaterialverbrauch", "% chance to consume no recipe materials");
			dictionary.Add("% Genauigkeit. Slayer ", "% accuracy. Slayer ");
			dictionary.Add("% Schaden, +", "% damage, +");
			dictionary.Add("% Sofortschmelzen", "% instant smelting");
			dictionary.Add("% der Basiskosten", "% of base cost");
			dictionary.Add("% doppelter Ertrag und XP bei ", "% double yield and XP for ");
			dictionary.Add("% von Vanilla-Basiszeit.", "% of vanilla base time.");
			dictionary.Add("%; doppelter ", "%; double ");
			dictionary.Add("%; voller Brennstoffbedarf.", "%; full fuel cost.");
			dictionary.Add("+0,25 natürliche Regeneration je Tick", "+0.25 natural regeneration per tick");
			dictionary.Add("+10 Traglast", "+10 carry weight");
			dictionary.Add("+10% Verwertung. Alt+F1 ohne Hammer/Angel: 30s doppelte Verwertungsgeschwindigkeit und +25% Ausbeute. 6min Cooldown.", "+10% carcass yield. Alt+F1 without hammer/rod: double harvesting speed and +25% yield for 30s. 6min cooldown.");
			dictionary.Add("+10% Verwertung; 20% schneller ausweiden", "+10% carcass yield; 20% faster harvesting");
			dictionary.Add("+10% Zugkraft; 15% Köderrückgewinnung", "+10% pull; 15% bait recovery");
			dictionary.Add("+15% Verwertung; Fährtensinn 80m / 20s / 30s", "+15% carcass yield; Tracking sense 80m / 20s / 30s");
			dictionary.Add("+1m Baureichweite, halber Hammerverschleiß. Alt+F1 mit Hammer: einmalige Reparatur des gesamten am Baubrett definierten Gebiets, 30s keine Bauausdauer. 6min Cooldown.", "+1m build range, half hammer wear. Alt+F1 with hammer: repair the entire area defined at the construction board once; no building stamina cost for 30s. 6min cooldown.");
			dictionary.Add("+2,5m Baureichweite; Meister-Bauaufträge", "+2.5m build range; master work orders");
			dictionary.Add("+20% Verwertung; 40% schneller ausweiden; Trophäen x1,3", "+20% carcass yield; 40% faster harvesting; trophies x1.3");
			dictionary.Add("+20% Zugkraft; 20% Köderrückgewinnung; Sinn 45m / 20s", "+20% pull; 20% bait recovery; sense 45m / 20s");
			dictionary.Add("+25% Verwertung; Cape: +10% Ausbeute, 30s Jagdmeister (Alt+F1), 6min CD", "+25% carcass yield; cape: +10% yield, 30s Huntmaster (Alt+F1), 6min CD");
			dictionary.Add("+25% Zugkraft; Fischersinn 60m / 25s", "+25% pull; Fishing sense 60m / 25s");
			dictionary.Add("+30% Abbauschaden, 25% weniger Spitzhacken-Ausdauer. Nur mit Bergbau-Cape.", "+30% mining damage, 25% less pickaxe stamina cost. Requires Mining cape.");
			dictionary.Add("+30% Fällschaden, 25% weniger Axt-Ausdauer. Nur mit Holzfäller-Cape. Kein zusätzlicher Kampfschaden.", "+30% chopping damage, 25% less axe stamina cost. Requires Woodcutting cape. No extra combat damage.");
			dictionary.Add("+5% Verwertung; Trophäenchance x1,1", "+5% carcass yield; trophy chance x1.1");
			dictionary.Add(", Gegenstelle ", ", remote ");
			dictionary.Add(", nach Bauleistung geteilt.", ", shared by building contribution.");
			dictionary.Add("-10% Einholkosten. Alt+F1 mit Angel: 30s +50% Zug und -50% Einholkosten. 6min Cooldown.", "-10% reeling cost. Alt+F1 with fishing rod: +50% pull and -50% reeling cost for 30s. 6min cooldown.");
			dictionary.Add("-Saatgut", " seeds");
			dictionary.Add("-Sporen", " spores");
			dictionary.Add(". 1 Saatgut → 3 ", ". 1 seed → 3 ");
			dictionary.Add(". Am Baumeisterbrett auswählen; native Baurezepte und Materialien bleiben nötig.", ". Select at the construction board; native building recipes and materials are still required.");
			dictionary.Add(". Aus 1 ", ". One ");
			dictionary.Add(". Mit Hammer auf einen Entwurf zeigen und E drücken.", ". Aim at a ghost piece with your hammer and press E.");
			dictionary.Add(". Noch nichts geändert. Mit mastery_importconfirm einmalig übernehmen.", ". No changes made yet. Use mastery_importconfirm to import once.");
			dictionary.Add(". Rezept und Materialien weiterhin erforderlich.", ". Recipe knowledge and materials are still required.");
			dictionary.Add(". XP erst bei der Ernte.", ". XP is awarded on harvest only.");
			dictionary.Add(". XP erst fuer den fertigen Barren; Ofen, Brennstoff und Erz weiterhin erforderlich.", ". XP is awarded for finished bars only; furnace, fuel and ore are still required.");
			dictionary.Add(". Zierformen haben dieselben Werte.", ". Cosmetic forms have identical stats.");
			dictionary.Add("1 Himbeere einsetzen", "Insert 1 raspberry");
			dictionary.Add("10% Chance auf eine weitere Ressource pro gesammelter Einheit.", "10% chance of an extra resource per gathered unit.");
			dictionary.Add("10% Doppelfang mit doppelten XP; 25% Köderrückgewinnung", "10% double catch with double XP; 25% bait recovery");
			dictionary.Add("10% Köderrückgewinnung bei Fang", "10% bait recovery on catch");
			dictionary.Add("10% Materialersparnis, 20% Bonusflaschen und 20% kuerzere Gaerzeit.", "10% material saving, 20% bonus bottles and 20% shorter fermentation.");
			dictionary.Add("10% Saatgut-Rueckgewinnung; weiterer Ertragsbonus; 40% schnelleres Zaehmen.", "10% seed recovery; additional yield bonus; 40% faster taming.");
			dictionary.Add("10% bessere Manoevrierbarkeit und Beschleunigung.", "10% better manoeuvrability and acceleration.");
			dictionary.Add("10% mehr Abbauschaden", "10% more mining damage");
			dictionary.Add("10% mehr Faellschaden", "10% more chopping damage");
			dictionary.Add("10% schneller rudern.", "10% faster rowing.");
			dictionary.Add("10% schneller unter Segeln.", "10% faster under sail.");
			dictionary.Add("15% Doppelfang; Cape: -10% Einholkosten, 30s +50% Zug / -50% Kosten, Alt+F1, 6min CD", "15% double catch; cape: -10% reeling costs, +50% pull / -50% cost for 30s, Alt+F1, 6min CD");
			dictionary.Add("15% Materialersparnis, 30% Bonusflaschen und 30% kuerzere Gaerzeit.", "15% material saving, 30% bonus bottles and 30% shorter fermentation.");
			dictionary.Add("15% groesserer persoenlicher Kartenradius an Bord.", "15% greater personal map exploration radius on board.");
			dictionary.Add("15% mehr Regeneration beim Gehen/Stehen ausserhalb des Kampfes", "15% more regeneration while walking/standing outside combat");
			dictionary.Add("2% Chance auf einen reichen Fund (+2 derselben Ressource).", "2% chance of a rich find (+2 of the same resource).");
			dictionary.Add("20% Ertragschance; Sammlersinn auf Q, 15m / 5s, 30s Abklingzeit.", "20% bonus yield chance; Foraging sense on Q, 15m / 5s, 30s cooldown.");
			dictionary.Add("20% Materialersparnis; 10 Reparaturen in 6m", "20% material saving; 10 repairs within 6m");
			dictionary.Add("20% Sammelernte-Chance, +4 Prozentpunkte je Level bis 100% bei 80; 2,5m/bis 8 weitere Pflanzen; 15% Saatgut; 60% schnelleres Zaehmen.", "20% area harvest chance, +4 percentage points per level up to 100% at 80; 2.5m/up to 8 extra plants; 15% seed chance; 60% faster taming.");
			dictionary.Add("20% kuerzere Verarbeitung und 20% Bonusportionen.", "20% shorter processing time and 20% bonus servings.");
			dictionary.Add("20% schneller schwimmen und 20% weniger Fallschaden", "20% faster swimming and 20% less fall damage");
			dictionary.Add("24% kuerzere Herstellungszeit", "24% shorter production time");
			dictionary.Add("25% Materialersparnis, 50% Bonusflaschen, 50% kuerzere Gaerzeit. Cape: weitere 10% kuerzer und eine garantierte Zusatzflasche pro Charge.", "25% material saving, 50% bonus bottles, 50% shorter fermentation. Cape: another 10% shorter and one guaranteed extra bottle per batch.");
			dictionary.Add("25% Materialersparnis; Cape: ganzes Baugebiet reparieren, 30s Bauen ohne Ausdauer, Alt+F1, 6min CD", "25% material saving; cape: repair entire building area, no building stamina cost for 30s, Alt+F1, 6min CD");
			dictionary.Add("25% weniger Ausdauer bei Gegenwehr", "25% less stamina cost when fish struggle");
			dictionary.Add("3 Ertrag nach etwa ", "3 yield after approximately ");
			dictionary.Add("30% Ertragschance, 4% reicher Fund; Sammlersinn 25m / 7s.", "30% bonus yield chance, 4% rich find; Foraging sense 25m / 7s.");
			dictionary.Add("30% kuerzere Verarbeitung und 30% Bonusportionen.", "30% shorter processing time and 30% bonus servings.");
			dictionary.Add("36% kuerzere Herstellungszeit", "36% shorter production time");
			dictionary.Add("4 m Bauschutz: bestehendes Gebäude / Pflanze im Änderungsbereich.", "4m building protection: existing building / plant within the modification area.");
			dictionary.Add("40% Ertragschance; Sammlersinn 35m / 10s.", "40% bonus yield chance; Foraging sense 35m / 10s.");
			dictionary.Add("5% weniger Spitzhacken-Ausdauer", "5% lower pickaxe stamina cost");
			dictionary.Add("50% Ertragschance; Sammlersinn 50m / 12s. Cape halbiert dessen Abklingzeit auf 15s.", "50% bonus yield chance; Foraging sense 50m / 12s. Cape halves its cooldown to 15s.");
			dictionary.Add("50% kuerzere Verarbeitung und 50% Bonusportionen. Mit Koch-Cape eingesetztes Essen verbrennt nicht.", "50% shorter processing time and 50% bonus servings. Food placed while wearing the Cooking cape does not burn.");
			dictionary.Add("6% Chance auf einen reichen Fund.", "6% chance of a rich find.");
			dictionary.Add("60% kuerzere Herstellungszeit; Cape: weitere 10% kuerzer", "60% shorter production time; cape: another 10% shorter");
			dictionary.Add("7% Chance auf kompletten Aderbruch; Bergbau-Cape: +10% Ertrag und Erzrausch", "7% chance of full vein collapse; Mining cape: +10% yield and Ore rush");
			dictionary.Add("7% Chance auf kompletten Aderbruch; Bergbau-Cape: +10% Ertrag; Erzrausch: 20s, 6min Cooldown", "7% chance of full vein collapse; Mining cape: +10% yield; Ore rush: 20s, 6min cooldown");
			dictionary.Add(": +0,25 natürliche Regeneration je Tick", ": +0.25 natural regeneration per tick");
			dictionary.Add(": +10 Traglast", ": +10 carry weight");
			dictionary.Add(": Meisterschaft aktiv – 30 Sekunden", ": mastery active – 30 seconds");
			dictionary.Add(": Rezeptmaterialien gespart!", ": recipe materials saved!");
			dictionary.Add(": Zoom und Munitionsrückgewinnung", ": zoom and ammo recovery");
			dictionary.Add(": nichts gefunden. Keine Abklingzeit.", ": nothing found. No cooldown.");
			dictionary.Add(": wechseln", ": switch");
			dictionary.Add("; 20s +30% Abbauschaden, -25% Ausdauer, 6min Cooldown.", "; +30% mining damage, -25% stamina cost for 20s, 6min cooldown.");
			dictionary.Add("; 20s +30% Faellschaden, -25% Axt-Ausdauer, 6min Cooldown.", "; +30% chopping damage, -25% axe stamina cost for 20s, 6min cooldown.");
			dictionary.Add("; Cape reduziert Herstellungszeit zusaetzlich um 10%", "; cape reduces production time by a further 10%");
			dictionary.Add("; etwa ", "; approximately ");
			dictionary.Add("Abbau", "Mining");
			dictionary.Add("Abbauanforderung. Zusätzlich ist die passende Spitzhacke erforderlich.", "Mining requirement. The appropriate pickaxe is also required.");
			dictionary.Add("Abscheulichkeiten", "Abominations");
			dictionary.Add("Agility-Meisterschaftsumhang", "Agility skillcape");
			dictionary.Add("Aktion nicht moeglich.", "Action unavailable.");
			dictionary.Add("Aktiver Style-Bonus", "Active style bonus");
			dictionary.Add("Aktiviert nur die ausgewaehlte Ortung. F2 wechselt den Modus.", "Activates only the selected sense. F2 switches modes.");
			dictionary.Add("Aktuell: ", "Current: ");
			dictionary.Add("Aktuelle Werte", "Current stats");
			dictionary.Add("Alchemie", "Alchemy");
			dictionary.Add("Alchemie-Charge", "Alchemy batch");
			dictionary.Add("Alchemie-Meisterschaftsumhang", "Alchemy skillcape");
			dictionary.Add("Alle", "All");
			dictionary.Add("Alle Freischaltungen", "All unlocks");
			dictionary.Add("Am Auftragsboard interagieren.", "Interact with the contract board.");
			dictionary.Add("Anbauanforderung. Ernte, Weitergabe und Verarbeitung sind frei; Biom, Boden, Platz und Saatgut bleiben erforderlich.", "Planting requirement. Harvesting, sharing and processing have no level gate; biome, soil, space and seeds are still required.");
			dictionary.Add("Ancient Staff: nächsten freigeschalteten Barrage-Zauber auswählen.", "Ancient Staff: select the next unlocked Barrage spell.");
			dictionary.Add("Anforderung nur zum Steuern. Mitfahren bleibt frei; Baumaterialien und Weltfortschritt bleiben erforderlich. ", "Requirement applies only to steering. Passengers have no level gate; building materials and world progression are still required. ");
			dictionary.Add("Anforderung zum Herstellen/Brauen; Trinken bleibt frei. XP erst fuer fertige Flaschen. Bonusflaschen geben volle XP, Trankwerte bleiben fest.", "Requirement for crafting/brewing; drinking has no level gate. XP is awarded for finished bottles only. Bonus bottles grant full XP; potion stats stay fixed.");
			dictionary.Add("Anforderung zum Zubereiten. Essen und Weitergabe sind frei. Fertige Portion: ", "Preparation requirement. Eating and sharing have no level gate. Finished serving: ");
			dictionary.Add("Angel-Meisterschaftsumhang", "Fishing skillcape");
			dictionary.Add("Angeln", "Fishing");
			dictionary.Add("Angriff", "Attack");
			dictionary.Add("Angriffs-Meisterschaftsumhang", "Attack skillcape");
			dictionary.Add("Anthrazit", "Anthracite");
			dictionary.Add("Anzahl muss zwischen 1 und 1000000 liegen.", "Amount must be between 1 and 1000000.");
			dictionary.Add("AoE: 1 Nachbarabschnitt, 15% Schaden", "AoE: 1 adjacent section, 15% damage");
			dictionary.Add("AoE: 2 Nachbarabschnitte, je 15% Schaden", "AoE: 2 adjacent sections, 15% damage each");
			dictionary.Add("Arkanwerkstatt", "Arcane workshop");
			dictionary.Add("Aschenkrähe", "Ash crow");
			dictionary.Add("Aschenlande und 48% kuerzere Herstellungszeit", "Ashlands and 48% shorter production time");
			dictionary.Add("Aschenlande-Rezepte; 40% kuerzer, 40% Bonusportionen; Serienkochen bis 6 freie Plaetze.", "Ashlands recipes; 40% shorter, 40% bonus servings; batch cooking up to 6 empty slots.");
			dictionary.Add("Aschland-Ausbauhof", "Ashlands expansion yard");
			dictionary.Add("Ashlands-Magie", "Ashlands magic");
			dictionary.Add("Auf einen Standort zeigen.", "Aim at a location.");
			dictionary.Add("Auftraege, Coop, Slayer-Shop und Prestige.", "Contracts, co-op, Slayer shop and prestige.");
			dictionary.Add("Auftrag abbrechen (XP bleiben, Serie endet)", "Cancel contract (keep XP, end streak)");
			dictionary.Add("Auftragsfokus · +10% Slayer-XP / 15 aktive Kampfminuten · 40 Marken", "Contract focus · +10% Slayer XP / 15 active combat minutes · 40 tokens");
			dictionary.Add("Auftragsgegner", "Contract targets");
			dictionary.Add("Auftragssinn", "Contract sense");
			dictionary.Add("Auftragsziele in 80m sichtbar; -15% Angriffsausdauer bei anvisiertem Auftragsziel.", "Contract targets visible within 80m; -15% attack stamina cost when aiming at a contract target.");
			dictionary.Add("Auftragsziele: +50% Max Hit und garantierte Genauigkeit.", "Contract targets: +50% max hit and guaranteed accuracy.");
			dictionary.Add("Aufträge", "Contracts");
			dictionary.Add("Aufträge und Belohnungen", "Contracts and rewards");
			dictionary.Add("Ausdauer", "Stamina");
			dictionary.Add("Ausdauer oder Hammerhaltbarkeit fehlt.", "Not enough stamina or hammer durability.");
			dictionary.Add("Ausgeschmückt", "Ornate");
			dictionary.Add("Ausrüstung", "Equipment");
			dictionary.Add("Ausrüstung und Freischaltungen", "Equipment and unlocks");
			dictionary.Add("Ausrüstungsanforderung · ", "Equipment requirement · ");
			dictionary.Add("Ausweichen", "Dodging");
			dictionary.Add("Ausweiden", "Harvest carcass");
			dictionary.Add("Ausweiden hier durch Gebietsschutz gesperrt.", "Area protection prevents harvesting here.");
			dictionary.Add("Ausweiden unterbrochen: ", "Carcass harvesting interrupted: ");
			dictionary.Add("Auszeichnung deiner Slayer-Meisterschaft.", "A tribute to your Slayer mastery.");
			dictionary.Add("BAUMEISTER · BAUKUNST", "BUILDER · CONSTRUCTION");
			dictionary.Add("BERSERK! 30 Sekunden gegen Auftragsziele.", "BERSERK! 30 seconds against contract targets.");
			dictionary.Add("Backhaus", "Bakery");
			dictionary.Add("Baeren", "Bears");
			dictionary.Add("Bannstab", "Bane staff");
			dictionary.Add("Barren", "bars");
			dictionary.Add("Barrenertrag", "bar yield");
			dictionary.Add("Basis-Eitr", "Base Eitr");
			dictionary.Add("Basis-XP bei Qualität 1. Qualitätsfaktoren: 1 / 1,5 / 2 / 3 / 4. Passender Köder, kein Levelgate.", "Base XP at quality 1. Quality multipliers: 1 / 1.5 / 2 / 3 / 4. Requires matching bait; no level gate.");
			dictionary.Add("Bauauftrag beginnen / fortsetzen", "Start / resume work order");
			dictionary.Add("Bauauftrag benötigt 10 ", "Work order requires 10 ");
			dictionary.Add("Bauauftrag unterbrochen. Reservierte Materialien bleiben für den nächsten Versuch erhalten.", "Work order interrupted. Reserved materials are retained for the next attempt.");
			dictionary.Add("Bauaufträge", "Work orders");
			dictionary.Add("Baubrett", "Construction board");
			dictionary.Add("Bauen erfordert Construction ", "Building requires Construction ");
			dictionary.Add("Bauernhof mit vier Beeten", "Farm with four garden beds");
			dictionary.Add("Baugebiet", "Building area");
			dictionary.Add("Baugebiet festlegen", "Set building area");
			dictionary.Add("Baugebiet und Aufträge", "Building area and orders");
			dictionary.Add("Baugebiet, Projekte und Bauaufträge. E: öffnen.", "Building area, projects and work orders. E: open.");
			dictionary.Add("Baukunst", "Construction");
			dictionary.Add("Baukunst-Meisterschaftsumhang", "Construction skillcape");
			dictionary.Add("Baum, Erz, Fels oder Grab im Änderungsbereich.", "Tree, ore, rock or grave within the modification area.");
			dictionary.Add("Baumeisterbrett", "Construction board");
			dictionary.Add("Bauplan nicht gesetzt: Das Baumeisterbrett ist für den Host nicht verfügbar. Brett erneut öffnen und versuchen.", "Blueprint not placed: construction board unavailable to the host. Reopen the board and try again.");
			dictionary.Add("Bauplan nicht gesetzt: Der Host hat das Gelände am Standort noch nicht geladen. Der Host muss zum Standort kommen; danach erneut versuchen.", "Blueprint not placed: the host has not loaded the terrain at this location. Ask the host to approach, then try again.");
			dictionary.Add("Bauplan nicht gesetzt: Der Host hat deinen Bereich noch nicht geladen. Der Host muss in deine Nähe kommen; danach erneut versuchen.", "Blueprint not placed: the host has not loaded your area. Ask the host to approach, then try again.");
			dictionary.Add("Bauplan: ", "Blueprint: ");
			dictionary.Add("Baupläne", "Blueprints");
			dictionary.Add("Baupläne · echte Bauteile, gemeinsam mit Hammer + E errichten. Beete bleiben frei zum Kultivieren und Pflanzen.", "Blueprints · build real pieces together using hammer + E. Garden beds stay clear for cultivation and planting.");
			dictionary.Add("Bauprojekte", "Projects");
			dictionary.Add("Bauteil-Rezept noch nicht freigeschaltet.", "Building piece recipe not unlocked yet.");
			dictionary.Add("Bauteile für Aufträge bearbeiten: 10 Holz (ab 1), Stein (20), Edelholz (50), schwarzer Marmor (90). Produkte werden im Auftrag verbraucht; keine erneute Handwerks-/Schmiede-XP. Materialersparnis gilt auch hier.", "Process parts for work orders: 10 wood (level 1), stone (20), fine wood (50), black marble (90). Products are consumed by the order; no additional Crafting/Smithing XP. Material saving also applies here.");
			dictionary.Add("Bearbeitung: ", "Processing: ");
			dictionary.Add("Bebaute Flächen bleiben geschützt. Bestätigte Bodenänderungen bleiben beim Entfernen des Entwurfs bestehen.", "Built-up areas remain protected. Confirmed terrain changes remain when removing the blueprint.");
			dictionary.Add("Beeren- und Kräutergarten", "Berry and herb garden");
			dictionary.Add("Befestigung", "Fortification");
			dictionary.Add("Belegt: Gebäude, Pflanze, Grab, Baum oder Felsen im Grundriss.", "Occupied: building, plant, grave, tree or rock within the footprint.");
			dictionary.Add("Belohnungen", "Rewards");
			dictionary.Add("Benötigt Mastery ", "Requires Mastery ");
			dictionary.Add("Bergbau", "Mining");
			dictionary.Add("Bergbau-Meisterschaft: Aderbruch!", "Mining mastery: vein collapse!");
			dictionary.Add("Bergbau-Meisterschaftsumhang", "Mining skillcape");
			dictionary.Add("Berserk (Strg + F1): 30 Sekunden +50% Max Hit und garantierte Genauigkeit gegen aktive Auftragsziele. Roar-Emote; 6 Minuten Cooldown. Nur getragen.", "Berserk (Ctrl + F1): +50% max hit and guaranteed accuracy against active contract targets for 30 seconds. Roar emote; 6 minute cooldown. Only while worn.");
			dictionary.Add("Berserk aktivieren, sobald dein Charakter frei handeln kann.", "Activate Berserk when your character can act freely.");
			dictionary.Add("Bestiarium", "Bestiary");
			dictionary.Add("Bestückt", "Baited");
			dictionary.Add("Blaubeere", "Blueberry");
			dictionary.Add("Blaubeeren; Rasterpflanzen mit 2 Pflanzen pro Aktion.", "blueberries; grid planting with 2 plants per action.");
			dictionary.Add("Blauer Pilz", "Blue mushroom");
			dictionary.Add("Block entfernen: ", "Unblock: ");
			dictionary.Add("Block-Ausdauerkosten", "Block stamina cost");
			dictionary.Add("Blockieren (100)", "Block target (100)");
			dictionary.Add("Blutkrone", "Blood crown");
			dictionary.Add("Blutspuren und Verletzungszustand; Trophäen x1,2", "Blood trails and injury status; trophies x1.2");
			dictionary.Add("Boden", "Floor");
			dictionary.Add("Boden/Wand/Dach aus schwarzem Marmor oder höher.", "Floors/walls/roofs made of black marble or higher-tier materials.");
			dictionary.Add("Bossangebote umgestellt; gilt beim naechsten Angebotswechsel.", "Boss offers toggled; takes effect on the next offer refresh.");
			dictionary.Add("Bossangebote: ", "Boss offers: ");
			dictionary.Add("Bossangebote: an", "Boss offers: on");
			dictionary.Add("Bossangebote: aus", "Boss offers: off");
			dictionary.Add("Bossauftraege; Prestige (3 Punkte)", "Boss contracts; prestige (3 points)");
			dictionary.Add("Brechbeere", "Bukeperry");
			dictionary.Add("Breite 10–160m", "Width 10–160m");
			dictionary.Add("Cape: noch ", "Cape: remaining ");
			dictionary.Add("Combat-Ausrüstungssperren sind derzeit deaktiviert. Angezeigt werden die hinterlegten Anforderungen.", "Combat equipment gates are currently disabled. Configured requirements are shown.");
			dictionary.Add("Constructioncape aktivieren (Alt + F1 mit Hammer)", "Activate Construction cape (Alt + F1 with hammer)");
			dictionary.Add("Coop beitreten: ", "Join co-op: ");
			dictionary.Add("Coop · volle XP innerhalb 70m vom Ziel", "Co-op · full XP within 70m of the target");
			dictionary.Add("Coop-Auftrag fuer zwei Spieler", "Co-op contract for two players");
			dictionary.Add("Coop: Partner kann vor dem ersten Kill beitreten", "Co-op: partner can join before the first kill");
			dictionary.Add("Dach", "Roof");
			dictionary.Add("Deep-North-Magie", "Deep North magic");
			dictionary.Add("Defence Mastery rettet dich vor dem tödlichen Treffer!", "Defence Mastery saves you from a lethal hit!");
			dictionary.Add("Deine aktuellen Werte", "Your current stats");
			dictionary.Add("Dekor", "Decoration");
			dictionary.Add("Der Aelteste", "The Elder");
			dictionary.Add("Der Charakter besitzt bereits Mastery-Fortschritt; Import würde ihn überschreiben.", "This character already has Mastery progress; importing would overwrite it.");
			dictionary.Add("Der Charakter verwendet ein nicht unterstütztes Save-Schema.", "This character uses an unsupported save schema.");
			dictionary.Add("Der Köcherplatz ist bereits belegt.", "The quiver slot is already occupied.");
			dictionary.Add("Der Mastery-Köcher konnte nicht in seinen Platz verschoben werden.", "The Mastery quiver could not be moved into its slot.");
			dictionary.Add("Der Uralte", "The Elder");
			dictionary.Add("Deutlicher Bisshinweis", "Clear bite notification");
			dictionary.Add("Die Koenigin", "The Queen");
			dictionary.Add("Die Königin", "The Queen");
			dictionary.Add("Diese Kiste enthält keine gültige Lieferung.", "This crate contains no valid delivery.");
			dictionary.Add("Distel", "Thistle");
			dictionary.Add("Dorf-Baupläne sind vorübergehend deaktiviert.", "Village blueprints are temporarily disabled.");
			dictionary.Add("Dorf-Holztor", "Village wooden gate");
			dictionary.Add("Dorfplatz", "Village square");
			dictionary.Add("Dorfweg", "Village path");
			dictionary.Add("Drachen", "Drakes");
			dictionary.Add("Drakkar steuern.", "steer a drakkar.");
			dictionary.Add("Dritter Blockplatz", "Third block slot");
			dictionary.Add("Dunkles Erz aus den Ebenen. Im Hochofen zu Schwarzmetall schmelzen. Bergbau 40 und Eisenspitzhacke zum Abbauen.", "Dark ore from the Plains. Smelt in a blast furnace to produce black metal. Requires Mining 40 and an iron pickaxe to mine.");
			dictionary.Add("Ebenen-Rezepte; Serienkochen bis 4 freie Plaetze.", "Plains recipes; batch cooking up to 4 empty slots.");
			dictionary.Add("Ebenenauftraege", "Plains contracts");
			dictionary.Add("Edelholz und Teer; 10% Materialersparnis", "Fine wood and tar; 10% material saving");
			dictionary.Add("Effektiv", "Effective");
			dictionary.Add("Effektive Accuracy", "Effective Accuracy");
			dictionary.Add("Effektive Attack", "Effective Attack");
			dictionary.Add("Effektive Defence", "Effective Defence");
			dictionary.Add("Effektive Magic", "Effective Magic");
			dictionary.Add("Effektive Strength", "Effective Strength");
			dictionary.Add("Ein Kisteninhalt ist derzeit nicht verfügbar. Kiste bleibt erhalten.", "A crate item is currently unavailable. The crate has been retained.");
			dictionary.Add("Ein leichter Köcher für erfahrene Fernkämpfer. Freigeschaltet mit Mastery Fernkampf 25.", "A light quiver for experienced archers. Unlocked at Mastery Ranged 25.");
			dictionary.Add("Eisen und +5% Ertrag", "Iron and +5% yield");
			dictionary.Add("Eisen/Sumpf und 12% kuerzere Herstellungszeit", "Iron/Swamp and 12% shorter production time");
			dictionary.Add("Eisenverstärkung; +1m Baureichweite", "Iron reinforcement; +1m build range");
			dictionary.Add("Eitr-/Blutkosten", "Eitr/blood costs");
			dictionary.Add("Elfenbein", "Ivory");
			dictionary.Add("Endgame-Baustoffe; 15% Materialersparnis; 5 Reparaturen in 4m", "Endgame materials; 15% material saving; 5 repairs within 4m");
			dictionary.Add("Erfordert Slayer ", "Requires Slayer ");
			dictionary.Add("Erholung beginnt ausserhalb des Kampfes 0,5s frueher", "recovery starts 0.5s earlier outside combat");
			dictionary.Add("Erholung beim Gehen/Stehen ausserhalb Kampf", "Recovery while walking/standing outside combat");
			dictionary.Add("Erholungspause ausserhalb Kampf", "Recovery delay outside combat");
			dictionary.Add("Erster Blockplatz", "First block slot");
			dictionary.Add("Ertrag", "Yield");
			dictionary.Add("Erwarteter Roh-Treffer", "Expected raw hit");
			dictionary.Add("Erzkiste", "Ore crate");
			dictionary.Add("Erzrausch", "Ore rush");
			dictionary.Add("Erzrausch bereit in ", "Ore rush ready in ");
			dictionary.Add("Erzrausch! 20 Sekunden, +30% Abbauschaden, -25% Ausdauer.", "Ore rush! 20 seconds, +30% mining damage, -25% stamina cost.");
			dictionary.Add("Erzrausch: Bergbau 100, getragenes Bergbau-Cape und Spitzhacke erforderlich.", "Ore rush requires Mining 100, an equipped Mining cape and a pickaxe.");
			dictionary.Add("Eschenholz und weitere +5% Holzertrag", "Ashwood and another +5% wood yield");
			dictionary.Add("Faellanforderung. Zusaetzlich bleibt die passende Axt erforderlich.", "Woodcutting requirement. The appropriate axe is also required.");
			dictionary.Add("Faellen", "Chopping");
			dictionary.Add("Fallschaden", "Fall damage");
			dictionary.Add("Fangbuch", "Fishing journal");
			dictionary.Add("Favorit entfernen: ", "Remove preferred target: ");
			dictionary.Add("Fellkiste", "Hide crate");
			dictionary.Add("Fernkampf", "Ranged");
			dictionary.Add("Fernkampf-Meisterschaftsumhang", "Ranged skillcape");
			dictionary.Add("Fertigkeiten öffnen → Skill anklicken für alle Details", "Open skills → click a skill for full details");
			dictionary.Add("Festungshof", "Fortress courtyard");
			dictionary.Add("Fisch", "Fish");
			dictionary.Add("Fisch beißt! Jetzt anschlagen.", "Fish biting! Set the hook now.");
			dictionary.Add("Fischersinn", "Fishing sense");
			dictionary.Add("Fischersinn zeigt Art/Qualität; 15% weniger Ausdauer bei Gegenwehr", "Fishing sense shows species/quality; 15% less stamina cost when fish struggle");
			dictionary.Add("Fischersinn: 30m / 15s / 30s CD", "Fishing sense: 30m / 15s / 30s CD");
			dictionary.Add("Flaechenabbau freigeschaltet", "Area mining unlocked");
			dictionary.Add("Flammetall, +5% Ertrag und weitere 5% weniger Ausdauer", "Flametal, +5% yield and another 5% lower stamina cost");
			dictionary.Add("Floss", "Raft");
			dictionary.Add("Fokus verbleibend: ", "Focus remaining: ");
			dictionary.Add("Frei sammelbar in der Wildnis; ", "Freely gatherable in the wild; ");
			dictionary.Add("Freie Architektur: zählt neue, noch stehende Bauteile passender Kategorien im Gebiet ab Projektstart. Wiederaufbau gibt 25% Bau-XP, keinen erneuten Projektbonus.", "Freeform building: counts new, still-standing pieces of the required categories in this area from project start. Rebuilding grants 25% building XP, without another project bonus.");
			dictionary.Add("Freigeschaltet", "Unlocked");
			dictionary.Add("Freischaltungen", "Unlocks");
			dictionary.Add("Frostwiderstand, mittlere Heilung und Schwimmtrank; 5% Materialersparnis, 10% Bonusflaschen, 10% kuerzere Gaerzeit.", "frost resistance, medium healing and swimming mead; 5% material saving, 10% bonus bottles, 10% shorter fermentation.");
			dictionary.Add("Fuenfter Blockplatz", "Fifth block slot");
			dictionary.Add("Fuling-Berserker", "Fuling berserkers");
			dictionary.Add("Fulinge", "Fulings");
			dictionary.Add("Funktional", "Functional");
			dictionary.Add("Fährtensinn", "Tracking sense");
			dictionary.Add("Fährtensinn 100m / 25s / 22,5s; drei Fallen", "Tracking sense 100m / 25s / 22.5s; three traps");
			dictionary.Add("Fährtensinn 60m / 16s / 37,5s; Art und Sterne", "Tracking sense 60m / 16s / 37.5s; species and stars");
			dictionary.Add("Fährtensinn: 40m / 12s / 45s CD", "Tracking sense: 40m / 12s / 45s CD");
			dictionary.Add("Fällen", "Chopping");
			dictionary.Add("Gaerzeit", "Fermentation time");
			dictionary.Add("Gartenparzelle", "Garden plot");
			dictionary.Add("Gartenweg", "Garden path");
			dictionary.Add("Gebietsreparatur angefordert: das gesamte festgelegte Rechteck wird geprüft.", "Area repair requested: checking the entire defined rectangle.");
			dictionary.Add("Gebirgs-Rezepte (unter anderem Zwiebelsuppe und Wolfsspiesse).", "Mountain recipes (including onion soup and wolf skewers).");
			dictionary.Add("Gegen Auftragsziele: +", "Against contract targets: +");
			dictionary.Add("Gegnerortung", "Target sense");
			dictionary.Add("Gegnerortung: Auftragsziele markiert.", "Target sense: contract targets marked.");
			dictionary.Add("Gelber Pilz", "Yellow mushroom");
			dictionary.Add("Gelände nicht vollständig geladen.", "Terrain not fully loaded.");
			dictionary.Add("Gelände noch nicht geladen.", "Terrain not loaded yet.");
			dictionary.Add("Gelände oder Übergangsrand außerhalb des Baugebiets.", "Terrain or transition edge outside the building area.");
			dictionary.Add("Gelände prüfen / vorbereiten: ", "Check / prepare terrain: ");
			dictionary.Add("Gelände vorbereiten", "Prepare terrain");
			dictionary.Add("Gelände vorbereitet.", "Terrain prepared.");
			dictionary.Add("Gelände wurde inzwischen verändert. Erneut prüfen.", "Terrain has changed. Check again.");
			dictionary.Add("Gelände: ", "Terrain: ");
			dictionary.Add("Geländeanpassung überschreitet 2 m.", "Terrain adjustment exceeds 2m.");
			dictionary.Add("Geländearbeit anhalten", "Pause terrain work");
			dictionary.Add("Geländeauftrag ist zu groß. Einzelne Gebäudepläne verwenden.", "Terrain job is too large. Use individual building blueprints.");
			dictionary.Add("Gemeinschaft", "Community");
			dictionary.Add("Gerste, Flachs, Moltebeeren und Rasterpflanzen mit 4 Pflanzen.", "barley, flax, cloudberries and grid planting with 4 plants.");
			dictionary.Add("Gerstenwein, Leichtfuss, Ratatosk und Todeskito-Abwehr.", "barley wine, lightfoot, Ratatosk and deathsquito repellent.");
			dictionary.Add("Geräteschuppen", "Tool shed");
			dictionary.Add("Geschützter Standort.", "Protected location.");
			dictionary.Add("Geschütztes Gelände.", "Protected terrain.");
			dictionary.Add("Gesperrt", "Locked");
			dictionary.Add("Giftpilz", "Toadstool");
			dictionary.Add("Giftwiderstandsmet.", "poison resistance mead.");
			dictionary.Add("Gold", "Gold");
			dictionary.Add("Graulinge", "Greylings");
			dictionary.Add("Grauzwerge", "Greydwarves");
			dictionary.Add("Große Halle mit Thronsaal", "Great hall with throne room");
			dictionary.Add("Große Schmiede", "Large forge");
			dictionary.Add("Großer Hafen", "Large harbour");
			dictionary.Add("Großer Schmelzhof", "Large smelting yard");
			dictionary.Add("Grund-Eitr", "Base Eitr");
			dictionary.Add("Grundausdauer", "Base stamina");
			dictionary.Add("Grün = Level erreicht", "Green = level reached");
			dictionary.Add("Guenstige Winde", "Favourable winds");
			dictionary.Add("Guenstige Winde bereit in ", "Favourable winds ready in ");
			dictionary.Add("Guenstige Winde! 60 Sekunden Rueckenwind.", "Favourable winds! 60 seconds of tailwind.");
			dictionary.Add("Guenstige Winde: Segel-Cape am Ruder; 60 Sekunden Rueckenwind, 6 Minuten Cooldown.", "Favourable winds: Sailing cape at the helm; 60 seconds of tailwind, 6 minute cooldown.");
			dictionary.Add("Guenstige Winde: am Ruder mit Umschalt links + F1 (konfigurierbar) 60 Sekunden Rueckenwind. 6 Minuten Cooldown. Nicht mit Moder stapelbar. Nur getragen.", "Favourable winds: at the helm, press Left Shift + F1 (configurable) for a 60 second tailwind. 6 minute cooldown. Does not stack with Moder. Only while worn.");
			dictionary.Add("Guenstige Winde: getragenes Segel-Meisterschaftscape und Platz am Ruder erforderlich.", "Favourable winds requires an equipped Sailing cape and a place at the helm.");
			dictionary.Add("Hacke und einsatzbereite Spitzhacke benötigt.", "Requires a hoe and a usable pickaxe.");
			dictionary.Add("Hafen", "Harbour");
			dictionary.Add("Hafen / Brücke: Gelände bleibt unverändert. Pfähle auf tragfähigen Grund bauen.", "Harbour / bridge: terrain stays unchanged. Build posts on solid ground.");
			dictionary.Add("Hafenböden müssen über Wasser stehen.", "Harbour floors must be above water.");
			dictionary.Add("Hafenlager", "Harbour warehouse");
			dictionary.Add("Hafer, Poteitr, Gruenkohl, Preiselbeeren, Straussenfarn und weitere Pilze pflanzen.", "plant oats, poteitr, kale, lingonberries, fiddleheads and more mushrooms.");
			dictionary.Add("Halle", "Hall");
			dictionary.Add("Hallen-/Hafenprojekte; +2m Baureichweite", "Hall/harbour projects; +2m build range");
			dictionary.Add("Handwerk", "Crafting");
			dictionary.Add("Handwerks-Meisterschaftsumhang", "Crafting skillcape");
			dictionary.Add("Herrenhaus", "Manor");
			dictionary.Add("Herstellen/Aufwerten", "Craft/upgrade");
			dictionary.Add("Herstellen: Qualitaet 1. Aufwerten: +2 Level je Qualitaetsstufe, maximal 99. Materialien, Rezept und Station bleiben erforderlich.", "Crafting: quality 1. Upgrading: +2 levels per quality tier, capped at 99. Materials, recipe knowledge and station are still required.");
			dictionary.Add("Herstellzeit", "Production time");
			dictionary.Add("Himbeere", "Raspberry");
			dictionary.Add("Hochofenhof", "Blast furnace yard");
			dictionary.Add("Holzfaell-Meisterschaftsumhang", "Woodcutting skillcape");
			dictionary.Add("Holzfaellen", "Woodcutting");
			dictionary.Add("Holzfaellerrausch", "Lumber rush");
			dictionary.Add("Holzfällen", "Woodcutting");
			dictionary.Add("Holzfällerrausch", "Lumber rush");
			dictionary.Add("Holzfällerrausch bereit in ", "Lumber rush ready in ");
			dictionary.Add("Holzfällerrausch! 20 Sekunden, +30% Fällschaden, -25% Axt-Ausdauer.", "Lumber rush! 20 seconds, +30% chopping damage, -25% axe stamina cost.");
			dictionary.Add("Holzfällerrausch: Holzfällen 100, getragenes Holzfäller-Cape und Axt erforderlich.", "Lumber rush requires Woodcutting 100, an equipped Woodcutting cape and an axe.");
			dictionary.Add("Holzkiste", "Wood crate");
			dictionary.Add("Holzlager", "Wood store");
			dictionary.Add("Holzwachtturm", "Wooden watchtower");
			dictionary.Add("Höchstens 32 offene Baupläne je Gebiet.", "Maximum of 32 unfinished blueprints per area.");
			dictionary.Add("Höhenunterschied über 2 m. Standort wechseln oder vorher vorbereiten.", "Height difference exceeds 2m. Choose another location or prepare the terrain first.");
			dictionary.Add("Hühnerhof", "Chicken yard");
			dictionary.Add("Im Inventar: Q ortet aktive Auftragsziele. F2 wechselt die Ortung; auch am Board waehlbar.", "In inventory: Q locates active contract targets. F2 switches senses; also selectable at the board.");
			dictionary.Add("Im am Baubrett definierten Baugebiet aktivieren.", "Activate inside the area defined at the construction board.");
			dictionary.Add("Inhalt", "Contents");
			dictionary.Add("Jaegerkompass", "Hunter's compass");
			dictionary.Add("Jagd", "Hunter");
			dictionary.Add("Jagd-Meisterschaftsumhang", "Hunter skillcape");
			dictionary.Add("Jagdinstinkt", "Hunting instinct");
			dictionary.Add("Jagdinstinkt ab 60: Alt + Q. Cape-Berserk: Strg + F1. Tasten konfigurierbar.", "Hunting instinct from 60: Alt + Q. Cape berserk: Ctrl + F1. Keys are configurable.");
			dictionary.Add("Jagdinstinkt ab Slayer 60.", "Hunting instinct requires Slayer 60.");
			dictionary.Add("Jagdinstinkt! 60 Sekunden.", "Hunting instinct! 60 seconds.");
			dictionary.Add("Jagdinstinkt: 60s Ortung/80m und -15% Auftrags-Ausdauer; Aschlande", "Hunting instinct: 60s tracking/80m and -15% stamina cost against contract targets; Ashlands");
			dictionary.Add("Jagdtagebuch", "Hunting journal");
			dictionary.Add("Jotun-Bläschen", "Jotun puffs");
			dictionary.Add("Jotunpuffs und Magierkappen pflanzen.", "plant jotun puffs and magecaps.");
			dictionary.Add("Jägerkompass im Inventar oder Slayer 60 erforderlich.", "Requires a hunter's compass in your inventory or Slayer 60.");
			dictionary.Add("Kadaver", "Carcass");
			dictionary.Add("Kampf-Ausdauerkosten", "Combat stamina costs");
			dictionary.Add("Kampf-Ausdauerregen", "Combat stamina regeneration");
			dictionary.Add("Karve steuern. Mitfahren ist auf allen Schiffen frei.", "steer a karve. Passengers have no level gate on any ship.");
			dictionary.Add("Kaufen", "Buy");
			dictionary.Add("Kein Fallschaden und Agility-Cape", "no fall damage and Agility cape");
			dictionary.Add("Kein Fallschaden; Agility-Cape: getragen 5% weniger Bewegungskosten", "No fall damage; Agility cape: 5% lower movement costs while worn");
			dictionary.Add("Kein aktiver Slayer-Auftrag.", "No active Slayer contract.");
			dictionary.Add("Kein freier Inventarplatz für den Köcher.", "No free inventory space for the quiver.");
			dictionary.Add("Keine gesperrten Freischaltungen mehr.", "No locked unlocks remaining.");
			dictionary.Add("Keine offenen Materialkosten.", "No outstanding material costs.");
			dictionary.Add("Kernholz und Edelholz", "Core wood and fine wood");
			dictionary.Add("Kernholz; +0,5m Baureichweite", "Core wood; +0.5m build range");
			dictionary.Add("Kiste geöffnet: ", "Crate opened: ");
			dictionary.Add("Kisten per Rechtsklick im Inventar öffnen. Höchstens drei Materialarten; Überlauf landet auf dem Boden.", "Right-click crates in your inventory to open them. Up to three material types; overflow drops to the ground.");
			dictionary.Add("Kleine Schmiede", "Small forge");
			dictionary.Add("Kleiner Bootsanleger", "Small landing pier");
			dictionary.Add("Klicken oder Controller-Bestätigen öffnet Details. Schließen / Esc / B: zurück zur Skillliste.", "Click or confirm with a controller to open details. Close / Esc / B: return to the skill list.");
			dictionary.Add("Knochenkrone", "Bone crown");
			dictionary.Add("Knochenwanst", "Bonemass");
			dictionary.Add("Koch-Meisterschaftsumhang", "Cooking skillcape");
			dictionary.Add("Kochen", "Cooking");
			dictionary.Add("Kochhaus", "Kitchen");
			dictionary.Add("Krähe", "Crow");
			dictionary.Add("Kräuterkiste", "Herb crate");
			dictionary.Add("Kupfer und Zinn", "Copper and tin");
			dictionary.Add("Köcher", "Quiver");
			dictionary.Add("Köcher zum Herstellen und Ausrüsten freigeschaltet.", "Quiver unlocked for crafting and equipping.");
			dictionary.Add("Köderfalle", "Baited trap");
			dictionary.Add("Königsblau", "Royal blue");
			dictionary.Add("Lager", "Storage");
			dictionary.Add("Lagererweiterung", "Storage extension");
			dictionary.Add("Lagerhaus", "Warehouse");
			dictionary.Add("Landwirtschaft", "Farming");
			dictionary.Add("Landwirtschafts-Meisterschaftsumhang", "Farming skillcape");
			dictionary.Add("Langhaus", "Longhouse");
			dictionary.Add("Langschiff", "Longship");
			dictionary.Add("Langschiff steuern.", "steer a longship.");
			dictionary.Add("Lebenspunkte", "Hitpoints");
			dictionary.Add("Lebenspunkte-Meisterschaftsumhang", "Hitpoints skillcape");
			dictionary.Add("Lederköcher", "Leather quiver");
			dictionary.Add("Lederköcher freigeschaltet", "leather quiver unlocked");
			dictionary.Add("Leer", "Empty");
			dictionary.Add("Leichter Schritt - 15% schneller schleichen", "Light step - 15% faster sneaking");
			dictionary.Add("Level 100: 25% Materialersparnis, 50% Bonusflaschen, 50% kuerzere Gaerzeit. Cape: weitere 10% kuerzer und eine garantierte Zusatzflasche pro Charge.", "Level 100: 25% material saving, 50% bonus bottles, 50% shorter fermentation. Cape: another 10% shorter and one guaranteed extra bottle per batch.");
			dictionary.Add("Level 100: 50% Ertragschance; Sammlersinn 50m / 12s. Cape halbiert dessen Abklingzeit auf 15s.", "Level 100: 50% bonus yield chance; Foraging sense 50m / 12s. Cape halves its cooldown to 15s.");
			dictionary.Add("Level 100: 50% kuerzere Verarbeitung und 50% Bonusportionen. Mit Koch-Cape eingesetztes Essen verbrennt nicht.", "Level 100: 50% shorter processing time and 50% bonus servings. Food placed while wearing the Cooking cape does not burn.");
			dictionary.Add("Level 100: Kein Fallschaden und Agility-Cape", "Level 100: no fall damage and Agility cape");
			dictionary.Add("Level 100: Mastery Cape und Cape-Perk", "Level 100: Mastery Cape and cape perk");
			dictionary.Add("Level 100: Mastery Cape und Magie-Perk", "Level 100: Mastery Cape and Magic perk");
			dictionary.Add("Level 100: Rasterpflanzen mit 6 Pflanzen; Sammelernte 4,5m/bis 24, 25% Saatgut; doppelte Zaehmgeschwindigkeit. Cape: +10 Prozentpunkte Ertragschance.", "Level 100: grid planting with 6 plants; area harvest 4.5m/up to 24, 25% seed chance; double taming speed. Cape: +10 percentage points bonus yield chance.");
			dictionary.Add("Level 100: insgesamt 25% schneller rudern. Cape: Guenstige Winde am Ruder, 60 Sekunden Rueckenwind, 6 Minuten Cooldown.", "Level 100: a total of 25% faster rowing. Cape: Favourable winds at the helm, 60 seconds of tailwind, 6 minute cooldown.");
			dictionary.Add("Level 10: Blaubeeren; Rasterpflanzen mit 2 Pflanzen pro Aktion.", "Level 10: blueberries; grid planting with 2 plants per action.");
			dictionary.Add("Level 10: Giftwiderstandsmet.", "Level 10: poison resistance mead.");
			dictionary.Add("Level 10: Karve steuern. Mitfahren ist auf allen Schiffen frei.", "Level 10: steer a karve. Passengers have no level gate on any ship.");
			dictionary.Add("Level 10: Wald-Rezepte (unter anderem Karottensuppe und Beerenmarmelade).", "Level 10: Black Forest recipes (including carrot soup and queen's jam).");
			dictionary.Add("Level 20: 10% Chance auf eine weitere Ressource pro gesammelter Einheit.", "Level 20: 10% chance of an extra resource per gathered unit.");
			dictionary.Add("Level 20: 10% schneller rudern.", "Level 20: 10% faster rowing.");
			dictionary.Add("Level 20: Ashlands-Magie", "Level 20: Ashlands magic");
			dictionary.Add("Level 20: Frostwiderstand, mittlere Heilung und Schwimmtrank; 5% Materialersparnis, 10% Bonusflaschen, 10% kuerzere Gaerzeit.", "Level 20: frost resistance, medium healing and swimming mead; 5% material saving, 10% bonus bottles, 10% shorter fermentation.");
			dictionary.Add("Level 20: Rueben, Disteln, gelbe Pilze, Brechbeeren; Wachstumsanzeige, +3 Prozentpunkte Ertragschance und 20% schnelleres Zaehmen.", "Level 20: turnips, thistles, yellow mushrooms, bukeperries; growth display, +3 percentage points bonus yield chance and 20% faster taming.");
			dictionary.Add("Level 20: Springen kostet 10% weniger Ausdauer", "Level 20: jumping costs 10% less stamina");
			dictionary.Add("Level 20: Sumpf-Rezepte; 10% kuerzere Verarbeitung, 10% Bonusportionen; Serienkochen bis 2 freie Plaetze.", "Level 20: Swamp recipes; 10% shorter processing time, 10% bonus servings; batch cooking up to 2 empty slots.");
			dictionary.Add("Level 25: Lederköcher freigeschaltet", "Level 25: leather quiver unlocked");
			dictionary.Add("Level 30: 2% Chance auf einen reichen Fund (+2 derselben Ressource).", "Level 30: 2% chance of a rich find (+2 of the same resource).");
			dictionary.Add("Level 30: Langschiff steuern.", "Level 30: steer a longship.");
			dictionary.Add("Level 30: Leichter Schritt - 15% schneller schleichen", "Level 30: Light step - 15% faster sneaking");
			dictionary.Add("Level 35: Gebirgs-Rezepte (unter anderem Zwiebelsuppe und Wolfsspiesse).", "Level 35: Mountain recipes (including onion soup and wolf skewers).");
			dictionary.Add("Level 35: Zwiebeln pflanzen.", "Level 35: plant onions.");
			dictionary.Add("Level 35: mittlerer Ausdauertrank, Trollstaerke und Tiergefluester.", "Level 35: medium stamina mead, troll strength and animal whispers.");
			dictionary.Add("Level 40: 10% Materialersparnis, 20% Bonusflaschen und 20% kuerzere Gaerzeit.", "Level 40: 10% material saving, 20% bonus bottles and 20% shorter fermentation.");
			dictionary.Add("Level 40: 10% Saatgut-Rueckgewinnung; weiterer Ertragsbonus; 40% schnelleres Zaehmen.", "Level 40: 10% seed recovery; additional yield bonus; 40% faster taming.");
			dictionary.Add("Level 40: 10% bessere Manoevrierbarkeit und Beschleunigung.", "Level 40: 10% better manoeuvrability and acceleration.");
			dictionary.Add("Level 40: 20% Ertragschance; Sammlersinn auf Q, 15m / 5s, 30s Abklingzeit.", "Level 40: 20% bonus yield chance; Foraging sense on Q, 15m / 5s, 30s cooldown.");
			dictionary.Add("Level 40: 20% kuerzere Verarbeitung und 20% Bonusportionen.", "Level 40: 20% shorter processing time and 20% bonus servings.");
			dictionary.Add("Level 40: Deep-North-Magie", "Level 40: Deep North magic");
			dictionary.Add("Level 40: Erholung beginnt ausserhalb des Kampfes 0,5s frueher", "Level 40: recovery starts 0.5s earlier outside combat");
			dictionary.Add("Level 50: 15% groesserer persoenlicher Kartenradius an Bord.", "Level 50: 15% greater personal map exploration radius on board.");
			dictionary.Add("Level 50: Ebenen-Rezepte; Serienkochen bis 4 freie Plaetze.", "Level 50: Plains recipes; batch cooking up to 4 empty slots.");
			dictionary.Add("Level 50: Gerste, Flachs, Moltebeeren und Rasterpflanzen mit 4 Pflanzen.", "Level 50: barley, flax, cloudberries and grid planting with 4 plants.");
			dictionary.Add("Level 50: Gerstenwein, Leichtfuss, Ratatosk und Todeskito-Abwehr.", "Level 50: barley wine, lightfoot, Ratatosk and deathsquito repellent.");
			dictionary.Add("Level 60: 15% Materialersparnis, 30% Bonusflaschen und 30% kuerzere Gaerzeit.", "Level 60: 15% material saving, 30% bonus bottles and 30% shorter fermentation.");
			dictionary.Add("Level 60: 20% Sammelernte-Chance, +4 Prozentpunkte je Level bis 100% bei 80; 2,5m/bis 8 weitere Pflanzen; 15% Saatgut; 60% schnelleres Zaehmen.", "Level 60: 20% area harvest chance, +4 percentage points per level up to 100% at 80; 2.5m/up to 8 extra plants; 15% seed chance; 60% faster taming.");
			dictionary.Add("Level 60: 20% schneller schwimmen und 20% weniger Fallschaden", "Level 60: 20% faster swimming and 20% less fall damage");
			dictionary.Add("Level 60: 30% Ertragschance, 4% reicher Fund; Sammlersinn 25m / 7s.", "Level 60: 30% bonus yield chance, 4% rich find; Foraging sense 25m / 7s.");
			dictionary.Add("Level 60: 30% kuerzere Verarbeitung und 30% Bonusportionen.", "Level 60: 30% shorter processing time and 30% bonus servings.");
			dictionary.Add("Level 60: insgesamt 20% schneller rudern.", "Level 60: a total of 20% faster rowing.");
			dictionary.Add("Level 65: Jotunpuffs und Magierkappen pflanzen.", "Level 65: plant jotun puffs and magecaps.");
			dictionary.Add("Level 65: Nebellande-Rezepte und Eitr-Gerichte.", "Level 65: Mistlands recipes and Eitr dishes.");
			dictionary.Add("Level 65: starke Heilung, laengere Ausdauer und Eitr-Met.", "Level 65: major healing, lingering stamina and Eitr mead.");
			dictionary.Add("Level 70: Drakkar steuern.", "Level 70: steer a drakkar.");
			dictionary.Add("Level 80: 15% mehr Regeneration beim Gehen/Stehen ausserhalb des Kampfes", "Level 80: 15% more regeneration while walking/standing outside combat");
			dictionary.Add("Level 80: 40% Ertragschance; Sammlersinn 35m / 10s.", "Level 80: 40% bonus yield chance; Foraging sense 35m / 10s.");
			dictionary.Add("Level 80: Aschenlande-Rezepte; 40% kuerzer, 40% Bonusportionen; Serienkochen bis 6 freie Plaetze.", "Level 80: Ashlands recipes; 40% shorter, 40% bonus servings; batch cooking up to 6 empty slots.");
			dictionary.Add("Level 80: Weinreben, 100% Sammelernte 3,5m/bis 16, 20% Saatgut, weiterer Ertragsbonus; 80% schnelleres Zaehmen.", "Level 80: vines, 100% area harvest 3.5m/up to 16, 20% seed chance, additional yield bonus; 80% faster taming.");
			dictionary.Add("Level 80: insgesamt 20% bessere Manoevrierbarkeit/Beschleunigung und 30% groesserer Kartenradius.", "Level 80: a total of 20% better manoeuvrability/acceleration and 30% greater map exploration radius.");
			dictionary.Add("Level 80: laengere Heilung/Eitr und Berserkir; 20% Materialersparnis, 40% Bonusflaschen, 40% kuerzere Gaerzeit.", "Level 80: lingering healing/Eitr and berserkir; 20% material saving, 40% bonus bottles, 40% shorter fermentation.");
			dictionary.Add("Level 90: 10% schneller unter Segeln.", "Level 90: 10% faster under sail.");
			dictionary.Add("Level 90: 6% Chance auf einen reichen Fund.", "Level 90: 6% chance of a rich find.");
			dictionary.Add("Level 90: Hafer, Poteitr, Gruenkohl, Preiselbeeren, Straussenfarn und weitere Pilze pflanzen.", "Level 90: plant oats, poteitr, kale, lingonberries, fiddleheads and more mushrooms.");
			dictionary.Add("Level 90: Rezepte des Tiefen Nordens.", "Level 90: Deep North recipes.");
			dictionary.Add("Level allein schaltet keine Rezepte frei. Werkzeuge, Materialien und Weltfortschritt bleiben erforderlich.", "Level alone does not unlock recipes. Tools, materials and world progression are still required.");
			dictionary.Add("Level erreicht", "Level reached");
			dictionary.Add("Loxhof", "Lox enclosure");
			dictionary.Add("Löwenzahn", "Dandelion");
			dictionary.Add("Magie", "Magic");
			dictionary.Add("Magie-Meisterschaftsumhang", "Magic skillcape");
			dictionary.Add("Magierhut", "Magecap");
			dictionary.Add("Marken", "Tokens");
			dictionary.Add("Markenlimit erreicht.", "Token limit reached.");
			dictionary.Add("Marmorhof", "Marble courtyard");
			dictionary.Add("Mastery Cape und Cape-Perk", "Mastery Cape and cape perk");
			dictionary.Add("Mastery Cape und Cape-Perk freigeschaltet", "Mastery Cape and cape perk unlocked");
			dictionary.Add("Mastery Cape und Magie-Perk", "Mastery Cape and Magic perk");
			dictionary.Add("Mastery-Köcher abgelegt.", "Mastery quiver unequipped.");
			dictionary.Add("Mastery-Köcher ausgerüstet. Munition bleibt im Inventar.", "Mastery quiver equipped. Ammunition stays in your inventory.");
			dictionary.Add("Mastery-Köcher ausgerüstet: drei Munitionsplätze aktiv.", "Mastery quiver equipped: three ammo slots active.");
			dictionary.Add("Mastery-Lederköcher", "Mastery leather quiver");
			dictionary.Add("Mastery: Bestehender Kampffortschritt automatisch übernommen. ", "Mastery: existing combat progress automatically imported. ");
			dictionary.Add("Mastery: Level muss zwischen 1 und 100 liegen.", "Mastery: level must be between 1 and 100.");
			dictionary.Add("Mastery: Unbekannter oder noch nicht implementierter Skill.", "Mastery: unknown or unimplemented skill.");
			dictionary.Add("Mastery: Vanilla-Werte haben sich geändert; bitte Vorschau erneut ausführen.", "Mastery: vanilla values have changed; run the preview again.");
			dictionary.Add("Mastery: Zuerst mastery_importpreview für diesen Charakter ausführen.", "Mastery: first run mastery_importpreview for this character.");
			dictionary.Add("Materialersparnis", "Material saving");
			dictionary.Add("Materialien fehlen oder Werkstation außer Reichweite.", "Missing materials or crafting station out of range.");
			dictionary.Add("Max Cape benötigt alle 20 Meisterschaften auf Level 100.", "Max Cape requires all 20 skills at level 100.");
			dictionary.Add("Max Cape · Alle 20 Meisterschaften auf Level 100. Vereint beim Tragen sämtliche Skillcape-Boni und aktiven Cape-Fähigkeiten. Yggdrasils Siegel leuchten nacheinander auf. F2 wechselt die Ortung, Q aktiviert sie. Aktive Cape-Fähigkeiten verwenden ihre bisherigen Tasten und Cooldowns. Keine Änderung deiner Skilllevel.", "Max Cape · All 20 skills at level 100. Combines every skillcape bonus and active cape ability while worn. Yggdrasil's seals light up in sequence. F2 selects a sense; Q activates it. Active cape powers retain their individual keys and cooldowns. Does not change your skill levels.");
			dictionary.Add("Maximum level erreicht", "Maximum level reached");
			dictionary.Add("Meilenstein", "Milestone");
			dictionary.Add("Meilensteine", "Milestones");
			dictionary.Add("Meisterbau", "Masterwork");
			dictionary.Add("Meisterdorf", "Master village");
			dictionary.Add("Meisterschaft", "Mastery");
			dictionary.Add("Meisterschaft aktiv – 30 Sekunden", "mastery active – 30 seconds");
			dictionary.Add("Meisterschaft erreicht", "Mastery achieved");
			dictionary.Add("Meisterschaft im Fernkampf. Verbessert die Rückgewinnung physischer und elementarer Munition.", "Mastery of Ranged. Improves recovery of physical and elemental ammunition.");
			dictionary.Add("Meisterschaft im Handwerk. Getragen weitere 10% kuerzere Herstellungs- und Aufwertungszeit fuer Handwerksrezepte, einschliesslich Munition.", "Mastery of Crafting. Reduces crafting and upgrade time for crafting recipes, including ammunition, by a further 10% while worn.");
			dictionary.Add("Meisterschaft im Holzfaellen. Getragen 10% zusaetzlicher Holzertrag. Holzfaellerrausch (Umschalt links + F1, konfigurierbar): mit Axt 20s +30% Faellschaden und -25% Axt-Ausdauer; 6min Cooldown. Kein zusaetzlicher Kampfschaden.", "Mastery of Woodcutting. Grants 10% extra wood yield while worn. Lumber rush (Left Shift + F1, configurable): while holding an axe, +30% chopping damage and -25% axe stamina cost for 20s; 6min cooldown. No extra combat damage.");
			dictionary.Add("Meisterschaft im Kochen. Mit diesem Umhang eingesetztes Essen verbrennt nicht mehr am Feuer oder im Ofen.", "Mastery of Cooking. Food placed on a fire or in an oven while wearing this cape will not burn.");
			dictionary.Add("Meisterschaft im Sammeln. Getragen halbiert sich die Abklingzeit des Sammlersinns von 30 auf 15 Sekunden.", "Mastery of Foraging. Halves the cooldown of Foraging sense from 30 to 15 seconds while worn.");
			dictionary.Add("Meisterschaft im Schmieden. Getragen weitere 10% kuerzere Herstellungs- und Aufwertungszeit fuer Schmiederezepte. Ofenlaufzeiten bleiben unveraendert.", "Mastery of Smithing. Reduces crafting and upgrade time for smithing recipes by a further 10% while worn. Furnace processing times are unchanged.");
			dictionary.Add("Meisterschaft in Agility. Sprinten, Springen, Schwimmen, Schleichen und Ausweichen kosten beim Tragen 5% weniger Ausdauer.", "Mastery of Agility. Running, jumping, swimming, sneaking and dodging cost 5% less stamina while worn.");
			dictionary.Add("Meisterschaft in Alchemie. Beim Befuellen getragen: weitere 10% kuerzere Gaerzeit und eine garantierte Zusatzflasche pro Charge.", "Mastery of Alchemy. Wear when filling: a further 10% shorter fermentation time and one guaranteed extra bottle per batch.");
			dictionary.Add("Meisterschaft in Angriff. Getragene Nahkampfwaffen verlieren 25% weniger Haltbarkeit.", "Mastery of Attack. Equipped melee weapons lose 25% less durability.");
			dictionary.Add("Meisterschaft in Bergbau. Getragen 10% zusaetzlicher Ressourcenertrag. Erzrausch (Umschalt links + F1, konfigurierbar): 20s +30% Abbauschaden und -25% Spitzhacken-Ausdauer; 6min Cooldown.", "Mastery of Mining. Grants 10% extra resource yield while worn. Ore rush (Left Shift + F1, configurable): +30% mining damage and -25% pickaxe stamina cost for 20s; 6min cooldown.");
			dictionary.Add("Meisterschaft in Landwirtschaft. Getragen +10 Prozentpunkte Ertragschance bei der Ernte kultivierter Pflanzen.", "Mastery of Farming. Adds 10 percentage points to bonus yield chance when harvesting cultivated plants while worn.");
			dictionary.Add("Meisterschaft in Lebenspunkten. Verdoppelt die natürliche Lebensregeneration.", "Mastery of Hitpoints. Doubles natural health regeneration.");
			dictionary.Add("Meisterschaft in Magie. Verringert Eitr- und Blutkosten von Magie um weitere 10%.", "Mastery of Magic. Reduces the Eitr and blood costs of magic by a further 10%.");
			dictionary.Add("Meisterschaft in Stärke. Erhöht die maximale Traglast um 50.", "Mastery of Strength. Increases maximum carry weight by 50.");
			dictionary.Add("Meisterschaft in Verteidigung. Rettet einmal je 6 Minuten vor einem tödlichen Treffer.", "Mastery of Defence. Prevents a lethal hit once every 6 minutes.");
			dictionary.Add("Meisterschaft: 25% Materialersparnis", "Mastery: 25% material saving");
			dictionary.Add("Meisterschaft: Cape beim Befuellen fuer weitere 10% kuerzere Gaerzeit und eine garantierte Zusatzflasche. Trankwerte bleiben fest.", "Mastery: wear cape when filling for another 10% shorter fermentation and one guaranteed extra bottle. Potion stats remain fixed.");
			dictionary.Add("Meisterschaft: Guenstige Winde mit getragenem Cape am Ruder; 60 Sekunden Rueckenwind, 6 Minuten Cooldown. Nicht mit Moder stapelbar.", "Mastery: Favourable winds while wearing the cape at the helm; 60 seconds of tailwind, 6 minute cooldown. Does not stack with Moder.");
			dictionary.Add("Meisterschaft: Koch-Cape schuetzt beim Einsetzen vor Verbrennen. 50% kuerzer, 50% Bonusportionen.", "Mastery: Cooking cape prevents burning when worn while placing food. 50% shorter processing time, 50% bonus servings.");
			dictionary.Add("Meisterschaft: Sammlersinn 50m / 12s; getragenes Sammel-Cape halbiert die Abklingzeit auf 15s.", "Mastery: Foraging sense 50m / 12s; wearing the Foraging cape halves the cooldown to 15s.");
			dictionary.Add("Meisterschaftsumhang und Cape-Bonus", "Skillcape and cape bonus");
			dictionary.Add("Met- und Alchemiehaus", "Mead and alchemy house");
			dictionary.Add("Mit dem Kultivator pflanzen. Landwirtschaft ", "Plant using the cultivator. Farming ");
			dictionary.Add("Mit einer Himbeere bestücken: tötet ein wildes Schwein, einen Hasen oder gelandeten Vogel. Schweine und Hasen anschließend ausweiden.", "Bait with one raspberry: kills a wild boar, hare or landed bird. Harvest boar and hare carcasses afterwards.");
			dictionary.Add("Moder sorgt bereits fuer Rueckenwind.", "Moder is already providing a tailwind.");
			dictionary.Add("Moltebeere", "Cloudberry");
			dictionary.Add("Munition", "Ammo");
			dictionary.Add("Möwe", "Gull");
			dictionary.Add("Mühlenhof", "Mill yard");
			dictionary.Add("Nach Eikthyr verfügbar", "Available after Eikthyr");
			dictionary.Add("Nachtjaeger", "Night hunter");
			dictionary.Add("Nahkampf-Style", "Melee style");
			dictionary.Add("Native Pilzkultur, ursprüngliche Biom- und Wachstumsregeln.", "Native mushroom crop; original biome and growth rules.");
			dictionary.Add("Nebellande", "Mistlands");
			dictionary.Add("Nebellande-Rezepte und Eitr-Gerichte.", "Mistlands recipes and Eitr dishes.");
			dictionary.Add("Neue Angebote (Serie zurücksetzen) · ", "New offers (reset streak) · ");
			dictionary.Add("Neue Baukenntnis; importierte bekannte Rezepte bleiben freigeschaltet. Native Materialien und Stationen weiterhin nötig.", "New building knowledge; imported known recipes stay unlocked. Native materials and stations are still required.");
			dictionary.Add("Neuer Cape-Perk nach Werkzeug: Hammer = Baugebiet; Angel = Angeln; sonst Jagdmeister. Nur ein Perk pro Tastendruck, auch mit Max Cape.", "Contextual cape power by tool: hammer = building area; rod = fishing; otherwise Huntmaster. One power per keypress, including with Max Cape.");
			dictionary.Add("Noch ausstehende Gutschrift an Mitbauer: ", "Pending credit for fellow builders: ");
			dictionary.Add("Noch gesperrt", "Still locked");
			dictionary.Add("Noch gesperrte optionale Ausstattung wird ausgelassen; sie kann später frei ergänzt werden.", "Locked optional furnishings are omitted; add them freely later.");
			dictionary.Add("Nordhalle", "Northern hall");
			dictionary.Add("Nur Entwurf entfernen: ", "Remove blueprint only: ");
			dictionary.Add("Nur gesperrte", "Locked only");
			dictionary.Add("Nächster Meilenstein", "Next milestone");
			dictionary.Add("Originale Slayer-Ausruestung. Freischaltung am Auftragsboard. Slayer ", "Original Slayer equipment. Unlock at the contract board. Slayer ");
			dictionary.Add("Ortung", "Sense");
			dictionary.Add("Palisade · 2 m", "Palisade · 2 m");
			dictionary.Add("Palisade · 4 m", "Palisade · 4 m");
			dictionary.Add("Palisade · 8 m", "Palisade · 8 m");
			dictionary.Add("Pfeilen", "arrows");
			dictionary.Add("Pfeilertrag", "arrow yield");
			dictionary.Add("Pilzgarten", "Mushroom garden");
			dictionary.Add("Plan nicht aktiv.", "Blueprint inactive.");
			dictionary.Add("Pläne in diesem Baugebiet", "Blueprints in this building area");
			dictionary.Add("Portalhof", "Portal courtyard");
			dictionary.Add("Praezision: Genauigkeit +2/3/5%", "Precision: accuracy +2/3/5%");
			dictionary.Add("Preiselbeere", "Lingonberry");
			dictionary.Add("Prestige (9); hoehere Bossauftraege", "Prestige (9); higher-tier boss contracts");
			dictionary.Add("Prunkbanner", "Prestige banner");
			dictionary.Add("Punkte zuruecksetzen · 25 Marken", "Reset points · 25 tokens");
			dictionary.Add("Purpur", "Purple");
			dictionary.Add("Quartiermeister: Marken inkl. Serie +30/60/100%", "Quartermaster: tokens including streak +30/60/100%");
			dictionary.Add("Rasterpflanzen mit 6 Pflanzen; Sammelernte 4,5m/bis 24, 25% Saatgut; doppelte Zaehmgeschwindigkeit. Cape: +10 Prozentpunkte Ertragschance.", "grid planting with 6 plants; area harvest 4.5m/up to 24, 25% seed chance; double taming speed. Cape: +10 percentage points bonus yield chance.");
			dictionary.Add("Rauchwölkchen", "Smoke puffs");
			dictionary.Add("Rechteck um dieses Brett (Nord/Süd und Ost/West). Alle Gebäude, Mauern und Stege darin gehören zum Baugebiet. Keine Radius-Reparatur.", "Rectangle around this board (north/south and east/west). All buildings, walls and piers inside belong to the building area. Repairs cover this area, not a radius.");
			dictionary.Add("Regeneration", "Regeneration");
			dictionary.Add("Regeneration je 10s", "Regeneration per 10s");
			dictionary.Add("Regenerationspause", "Regeneration delay");
			dictionary.Add("Ressourcen", "Resources");
			dictionary.Add("Ressourcenkisten", "Resource crates");
			dictionary.Add("Rezept ab Level 100", "Recipe from level 100");
			dictionary.Add("Rezepte des Tiefen Nordens.", "Deep North recipes.");
			dictionary.Add("Rezeptmaterialien gespart!", "recipe materials saved!");
			dictionary.Add("Rohbau", "Structure");
			dictionary.Add("Rohbau-Rezept noch gesperrt: ", "Structural recipe still locked: ");
			dictionary.Add("Rot", "Red");
			dictionary.Add("Roter Pilz", "Red mushroom");
			dictionary.Add("Rueben, Disteln, gelbe Pilze, Brechbeeren; Wachstumsanzeige, +3 Prozentpunkte Ertragschance und 20% schnelleres Zaehmen.", "turnips, thistles, yellow mushrooms, bukeperries; growth display, +3 percentage points bonus yield chance and 20% faster taming.");
			dictionary.Add("Rueckenwind fuer dein gesteuertes Schiff. Nur mit getragenem Segel-Cape am Ruder.", "Tailwind for the ship you are steering. Requires an equipped Sailing cape at the helm.");
			dictionary.Add("Runenbannklinge", "Runebane blade");
			dictionary.Add("Rüstung", "Armor");
			dictionary.Add("SLAYER · AUFTRAGSBOARD", "SLAYER · CONTRACT BOARD");
			dictionary.Add("SLAYER – AUFTRAG ABGESCHLOSSEN", "SLAYER – CONTRACT COMPLETE");
			dictionary.Add("Saatgut/Sporen: Werkbank Stufe 1, eine Zutat ergibt zwei Portionen. Mit Kultivator pflanzen; ", "Seeds/spores: workbench level 1, one ingredient produces two portions. Plant using a cultivator; ");
			dictionary.Add("Samenportionen", "portions of seeds");
			dictionary.Add("Sammel-Meisterschaftsumhang", "Foraging skillcape");
			dictionary.Add("Sammeln", "Foraging");
			dictionary.Add("Sammlersinn", "Foraging sense");
			dictionary.Add("Sammlersinn ab Sammeln Level 40.", "Foraging sense requires Foraging level 40.");
			dictionary.Add("Schaden erlitten", "Damage taken");
			dictionary.Add("Scharfer Blick: Ortungsdauer +10/20/30%", "Keen eye: sense duration +10/20/30%");
			dictionary.Add("Schleichen", "Sneaking");
			dictionary.Add("Schleichtempo", "Sneaking speed");
			dictionary.Add("Schliessen", "Close");
			dictionary.Add("Schließen", "Close");
			dictionary.Add("Schmelzen zu ", "Smelt into ");
			dictionary.Add("Schmelzhof", "Smelting yard");
			dictionary.Add("Schmiede-Meisterschaftsumhang", "Smithing skillcape");
			dictionary.Add("Schmieden", "Smithing");
			dictionary.Add("Schreckenshelm (Zierform); Slayercape: Berserk 30s, +50% Max Hit, garantierte Genauigkeit gegen Auftragsziele; 6min CD", "Dread helmet (cosmetic); Slayer cape: Berserk for 30s, +50% max hit, guaranteed accuracy against contract targets; 6min CD");
			dictionary.Add("Schwarz", "Black");
			dictionary.Add("Schwarz / Weiss / Rot", "Black / White / Red");
			dictionary.Add("Schwarzer Marmor", "Black marble");
			dictionary.Add("Schwarzer Marmor; +1,5m Baureichweite", "Black marble; +1.5m build range");
			dictionary.Add("Schwarzmetall/Ebenen", "Black metal/Plains");
			dictionary.Add("Schwarzmetallader (Bergbau 40)", "Black metal deposit (Mining 40)");
			dictionary.Add("Schwarzmetallerz", "Black metal ore");
			dictionary.Add("Schwarzmetallerz und weitere +5% Ertrag", "Black metal ore and another +5% yield");
			dictionary.Add("Schwarzwald-Auftraege", "Black Forest contracts");
			dictionary.Add("Schwimmen", "Swimming");
			dictionary.Add("Schwimmtempo", "Swimming speed");
			dictionary.Add("Seelenjaegerbogen", "Soulhunter bow");
			dictionary.Add("Segel-Meisterschaftsumhang", "Sailing skillcape");
			dictionary.Add("Segeln", "Sailing");
			dictionary.Add("Seltene Ziele; erstes Wunschziel", "Rare targets; first preferred target");
			dictionary.Add("Serienbonus: 10 / 30 / 50 / 100 Aufträge → +10 / +30 / +50 / +100 Marken", "Streak bonus: 10 / 30 / 50 / 100 contracts → +10 / +30 / +50 / +100 tokens");
			dictionary.Add("Silber und Obsidian", "Silver and obsidian");
			dictionary.Add("Silber/Gebirge", "Silver/Mountains");
			dictionary.Add("Skelette", "Skeletons");
			dictionary.Add("Slayer 60: Jagdinstinkt.", "Slayer 60: Hunting instinct.");
			dictionary.Add("Slayer-Auftragsboard", "Slayer contract board");
			dictionary.Add("Slayer-Belohnungskiste. Rechtsklick im Inventar zum Öffnen. Höchstens drei Materialarten; Überlauf fällt auf den Boden.", "Slayer reward crate. Right-click in your inventory to open. Up to three material types; overflow drops to the ground.");
			dictionary.Add("Slayer-Board (Fernzugriff ab Level 60).", "Slayer board (remote access from level 60).");
			dictionary.Add("Slayer-Marken", "Slayer tokens");
			dictionary.Add("Slayer-Meisterschaftsumhang", "Slayer skillcape");
			dictionary.Add("Slayer-Prunkbanner", "Slayer prestige banner");
			dictionary.Add("Slayer-Rohstoffbuendel", "Slayer resource bundle");
			dictionary.Add("Slayer-Schattenkapuze", "Slayer shadow hood");
			dictionary.Add("Slayer-Schreckenshelm", "Slayer dread helmet");
			dictionary.Add("Slayer-Trophaeensockel", "Slayer trophy pedestal");
			dictionary.Add("Slayer-XP pro Kill: ", "Slayer XP per kill: ");
			dictionary.Add("Slayercape getragen erforderlich.", "Requires an equipped Slayer cape.");
			dictionary.Add("Slayercape: 30s Berserk.", "Slayer cape: 30s Berserk.");
			dictionary.Add("Slayercape: Berserk gegen Auftragsziele.", "Slayer cape: Berserk against contract targets.");
			dictionary.Add("Slayerhelm I", "Slayer helmet I");
			dictionary.Add("Slayerhelm I; Slayer-Waffenrezepte", "Slayer helmet I; Slayer weapon recipes");
			dictionary.Add("Slayerhelm II", "Slayer helmet II");
			dictionary.Add("Slayerhelm II; Nebellande; Prestige (6)", "Slayer helmet II; Mistlands; prestige (6)");
			dictionary.Add("Slayerhelm III", "Slayer helmet III");
			dictionary.Add("Smaragdgrün", "Emerald green");
			dictionary.Add("Sofortschmelzen", "Instant smelting");
			dictionary.Add("Speichern fehlgeschlagen; keine Marken gutgeschrieben.", "Saving failed; no tokens were credited.");
			dictionary.Add("Spieler gestorben", "Player died");
			dictionary.Add("Spieler nicht mehr verfügbar", "Player no longer available");
			dictionary.Add("Spitzhacken-Ausdauerbonus", "Pickaxe stamina bonus");
			dictionary.Add("Sporenportionen", "portions of spores");
			dictionary.Add("Springen", "Jumping");
			dictionary.Add("Springen kostet 10% weniger Ausdauer", "jumping costs 10% less stamina");
			dictionary.Add("Sprint-/Dodge-Kosten", "Running/dodge costs");
			dictionary.Add("Sprinten", "Running");
			dictionary.Add("Sprinttempo", "Running speed");
			dictionary.Add("Sprungkosten", "Jump cost");
			dictionary.Add("Sprungkraft", "Jump force");
			dictionary.Add("Spurensucher: Ortungsradius +10/20/30%", "Tracker: sense radius +10/20/30%");
			dictionary.Add("Stab-Power", "Staff power");
			dictionary.Add("Staerke", "Strength");
			dictionary.Add("Stallhof", "Stable yard");
			dictionary.Add("Standort frei. Gelände bleibt bis zur separaten Bestätigung unverändert.", "Location clear. Terrain stays unchanged until separately confirmed.");
			dictionary.Add("Standort ist mehr als 35 m entfernt.", "Location is more than 35m away.");
			dictionary.Add("Starten", "Start");
			dictionary.Add("Stein fehlt. Erneut prüfen und fortsetzen.", "Missing stone. Check again and resume.");
			dictionary.Add("Stein; 5% Materialersparnis", "Stone; 5% material saving");
			dictionary.Add("Steinbrücke", "Stone bridge");
			dictionary.Add("Steingolems", "Stone golems");
			dictionary.Add("Steinkiste", "Stone crate");
			dictionary.Add("Steinmauer · 2 m", "Stone wall · 2 m");
			dictionary.Add("Steinmauer · 4 m", "Stone wall · 4 m");
			dictionary.Add("Steinmauer · 8 m", "Stone wall · 8 m");
			dictionary.Add("Steintorhaus", "Stone gatehouse");
			dictionary.Add("Steinwachtturm", "Stone watchtower");
			dictionary.Add("Sterne", "Stars");
			dictionary.Add("Straußenfarn", "Fiddlehead");
			dictionary.Add("Stärke", "Strength");
			dictionary.Add("Stärke-Meisterschaftsumhang", "Strength skillcape");
			dictionary.Add("Sucher", "Seekers");
			dictionary.Add("Sumpf-Rezepte; 10% kuerzere Verarbeitung, 10% Bonusportionen; Serienkochen bis 2 freie Plaetze.", "Swamp recipes; 10% shorter processing time, 10% bonus servings; batch cooking up to 2 empty slots.");
			dictionary.Add("Sumpfauftraege", "Swamp contracts");
			dictionary.Add("Tagebücher", "Journals");
			dictionary.Add("Testmarken nur als lokaler Host mit devcommands in einer geladenen Welt.", "Test tokens require a local host with devcommands in a loaded world.");
			dictionary.Add("Tiefe 10–160m", "Depth 10–160m");
			dictionary.Add("Tiefer Norden", "Deep North");
			dictionary.Add("Tierkoppel", "Animal pen");
			dictionary.Add("Traglast", "Carry weight");
			dictionary.Add("Traglast-Bonus", "Carry weight bonus");
			dictionary.Add("Trolle", "Trolls");
			dictionary.Add("Trophäenkiste", "Trophy crate");
			dictionary.Add("Träger", "Support");
			dictionary.Add("Tür", "Door");
			dictionary.Add("Umfärben", "Recolour");
			dictionary.Add("Unterbrechung bewahrt reservierte Materialien, Fortschritt der Bearbeitung beginnt erneut. In 3m am Brett bleiben.", "Interruptions retain reserved materials, but processing progress starts over. Stay within 3m of the board.");
			dictionary.Add("Unterstand", "Shelter");
			dictionary.Add("Uralte Rinde und +5% Holzertrag", "Ancient bark and +5% wood yield");
			dictionary.Add("Valheim Mastery fehlt auf der Gegenseite oder antwortet nicht.", "Valheim Mastery is missing on the other peer or is not responding.");
			dictionary.Add("Valheim-Mastery-Build oder Kampfeinstellungen stimmen nicht überein.", "Valheim Mastery build or combat settings do not match.");
			dictionary.Add("Valheim-Mastery-Version passt nicht: lokal ", "Valheim Mastery version mismatch: local ");
			dictionary.Add("Verhandler: Wechsel/Block-Kosten -5/10/15%", "Negotiator: reroll/block costs -5/10/15%");
			dictionary.Add("Verkohlte", "Charred");
			dictionary.Add("Vermächtnis Yggdrasils", "Legacy of Yggdrasil");
			dictionary.Add("Vermächtnis Yggdrasils [Test]", "Legacy of Yggdrasil [Test]");
			dictionary.Add("Versammlungshalle", "Meeting hall");
			dictionary.Add("Versorger: Rohstoffpakete +10/20/30%", "Supplier: resource packs +10/20/30%");
			dictionary.Add("Verteidigung", "Defence");
			dictionary.Add("Verteidigungs-Meisterschaftsumhang", "Defence skillcape");
			dictionary.Add("Verteilt: ", "Allocated: ");
			dictionary.Add("Vier offensive Barrage-Zauber. F3 wechselt freigeschaltete Zauber. Magie 86 / 88 / 92 / 94. Benötigt Eitr; Flächenwirkung trifft nur feindliche Kreaturen.", "Four offensive Barrage spells. F3 cycles unlocked spells. Magic 86 / 88 / 92 / 94. Requires Eitr; area effects only hit hostile creatures.");
			dictionary.Add("Vierter Blockplatz", "Fourth block slot");
			dictionary.Add("Vogel", "Bird");
			dictionary.Add("Vollstrecker: Schaden +2/3/5%", "Executioner: damage +2/3/5%");
			dictionary.Add("Vorkommen regenerieren nach ", "Deposits regenerate after ");
			dictionary.Add("Vorschau geprüft: Bodenänderungen ausdrücklich anwenden", "Preview checked: apply terrain changes");
			dictionary.Add("Vorschau: ", "Preview: ");
			dictionary.Add("Wald-Handwerk", "Black Forest crafting");
			dictionary.Add("Wald-Rezepte (unter anderem Karottensuppe und Beerenmarmelade).", "Black Forest recipes (including carrot soup and queen's jam).");
			dictionary.Add("Wand", "Wall");
			dictionary.Add("Wasser / Gelände zu tief für die 6 m Pfähle.", "Water / terrain too deep for the 6m posts.");
			dictionary.Add("Wechselt Sammlersinn, Auftragsgegner, Jagdinstinkt, Fährtensinn und Fischersinn. Bei F2 liegt die Vanilla-Verbindungsanzeige auf Umschalt+F2.", "Cycles Foraging sense, contract targets, Hunting instinct, Tracking sense and Fishing sense. When bound to F2, vanilla connection information moves to Shift+F2.");
			dictionary.Add("Weinreben, 100% Sammelernte 3,5m/bis 16, 20% Saatgut, weiterer Ertragsbonus; 80% schnelleres Zaehmen.", "vines, 100% area harvest 3.5m/up to 16, 20% seed chance, additional yield bonus; 80% faster taming.");
			dictionary.Add("Weiss / Schwarz / Rot", "White / Black / Red");
			dictionary.Add("Weiter", "Next");
			dictionary.Add("Weiteren Talentpunkt kaufen · 100 Marken (max. 11)", "Buy another talent point · 100 tokens (max. 11)");
			dictionary.Add("Weiß", "White");
			dictionary.Add("Werkstatt", "Workshop");
			dictionary.Add("Wildfährte", "Wildlife tracks");
			dictionary.Add("Wildtier", "Wild animal");
			dictionary.Add("Wildtier-Kadaver", "Wildlife carcass");
			dictionary.Add("Woelfe", "Wolves");
			dictionary.Add("Wohnen", "Housing");
			dictionary.Add("Wohnhof mit Garten", "Homestead with garden");
			dictionary.Add("Wohnhütte", "Cottage");
			dictionary.Add("Wolfshof", "Wolf enclosure");
			dictionary.Add("Woodcutting-Cape: +10% Holzertrag und Holzfaellerrausch (20s +30% Faellschaden, -25% Axt-Ausdauer; 6min Cooldown)", "Woodcutting cape: +10% wood yield and Lumber rush (+30% chopping damage, -25% axe stamina cost for 20s; 6min cooldown)");
			dictionary.Add("Wunschauftrag (50 Marken); Schattenkapuze (Zierform)", "Chosen contract (50 tokens); shadow hood (cosmetic)");
			dictionary.Add("Wunschauftrag: ", "Choose contract: ");
			dictionary.Add("Wunschliste: +1/2/3 Favoriten", "Wishlist: +1/2/3 preferred targets");
			dictionary.Add("Wunschziel (50)", "Prefer target (50)");
			dictionary.Add("Yggdrasilholz", "Yggdrasil wood");
			dictionary.Add("Zaehigkeit: Auftrags-Schaden erlitten -2/4/6%", "Tenacity: damage taken from contract targets -2/4/6%");
			dictionary.Add("Zoom und Munitionsrückgewinnung", "zoom and ammo recovery");
			dictionary.Add("Zum Ausweiden näher an den Kadaver gehen.", "Move closer to the carcass to harvest it.");
			dictionary.Add("Zum Bauen den Hammer ausrüsten.", "Equip a hammer to build.");
			dictionary.Add("Zurück", "Back");
			dictionary.Add("Zwei tödliche Köderfallen: Wildschweine, Hasen, gelandete Vögel", "Two lethal baited traps: wild boars, hares, landed birds");
			dictionary.Add("Zweiter Blockplatz; vier Angebote", "Second block slot; four offers");
			dictionary.Add("Zwiebeln pflanzen.", "plant onions.");
			dictionary.Add("[E] Bauteil errichten · ", "[E] Build piece · ");
			dictionary.Add("]: markiert erntereife Wildressourcen, sammelt nichts automatisch.\n30s Abklingzeit, mit getragenem Sammel-Cape 15s. Autolaufen unbelegt.", "]: marks ripe wild resources; does not gather automatically.\n30s cooldown, 15s with equipped Foraging cape. Auto-run is unbound.");
			dictionary.Add("aktiv", "active");
			dictionary.Add("beim Ausweiden. Sterne: x1,5 / x2.", "on carcass harvest. Stars: x1.5 / x2.");
			dictionary.Add("beim Erlegen; normale Federdrops bleiben erhalten.", "on kill; normal feather drops are retained.");
			dictionary.Add("bereit", "ready");
			dictionary.Add("bereit in ", "ready in ");
			dictionary.Add("erschöpft", "depleted");
			dictionary.Add("gesund", "healthy");
			dictionary.Add("insgesamt 20% bessere Manoevrierbarkeit/Beschleunigung und 30% groesserer Kartenradius.", "a total of 20% better manoeuvrability/acceleration and 30% greater map exploration radius.");
			dictionary.Add("insgesamt 20% schneller rudern.", "a total of 20% faster rowing.");
			dictionary.Add("insgesamt 25% schneller rudern. Cape: Guenstige Winde am Ruder, 60 Sekunden Rueckenwind, 6 Minuten Cooldown.", "a total of 25% faster rowing. Cape: Favourable winds at the helm, 60 seconds of tailwind, 6 minute cooldown.");
			dictionary.Add("laengere Heilung/Eitr und Berserkir; 20% Materialersparnis, 40% Bonusflaschen, 40% kuerzere Gaerzeit.", "lingering healing/Eitr and berserkir; 20% material saving, 40% bonus bottles, 40% shorter fermentation.");
			dictionary.Add("mittlerer Ausdauertrank, Trollstaerke und Tiergefluester.", "medium stamina mead, troll strength and animal whispers.");
			dictionary.Add("nichts gefunden. Keine Abklingzeit.", "nothing found. No cooldown.");
			dictionary.Add("nächstes Nahkampf-Waffentier", "next melee weapon tier");
			dictionary.Add("nächstes Rüstungs-/Schildtier",