More translations

This commit is contained in:
Blipz 2026-03-24 12:42:13 +01:00
parent 0b69c1882b
commit 7eeb1f76c3
11 changed files with 407 additions and 236 deletions

View file

@ -6,7 +6,7 @@ const HTMLPlugin: Plugin = {
name: "html-plugin", name: "html-plugin",
async onEnd(keys: Map<string, ExtractedKey>) { async onEnd(keys: Map<string, ExtractedKey>) {
const content = await readFile("src/index.html", "utf-8"); const content = await readFile("src/index.html", "utf-8");
const matches = content.matchAll(/data-(?:text|tip)="([^"]+)"/g); const matches = content.matchAll(/data-(?:html|text|tip)="([^"]+)"/g);
for (const match of matches) { for (const match of matches) {
const key = match[1]; const key = match[1];
keys.set(key, {key, defaultValue: key}); keys.set(key, {key, defaultValue: key});

View file

@ -1,8 +1,24 @@
{ {
"{{adjective}} {{noun}}": "{{adjective}} {{noun}}", "{{adjective}} {{noun}}": "{{adjective}} {{noun}}",
"{{noun}} of {{complement}}": "{{noun}} of {{complement}}", "{{noun}} of {{complement}}": "{{noun}} of {{complement}}",
"{{provinceName}} {{provinceForm}}": "{{provinceName}} {{provinceForm}}",
"<u>B</u>iomes": "<u>B</u>iomes",
"<u>C</u>ultures": "<u>C</u>ultures",
"<u>G</u>rid": "<u>G</u>rid",
"<u>H</u>eightmap": "<u>H</u>eightmap",
"<u>I</u>cons": "<u>I</u>cons",
"<u>L</u>abels": "<u>L</u>abels",
"<u>M</u>ilitary": "<u>M</u>ilitary",
"<u>P</u>rovinces": "<u>P</u>rovinces",
"<u>R</u>eligions": "<u>R</u>eligions",
"<u>S</u>tates": "<u>S</u>tates",
"<u>T</u>emperature": "<u>T</u>emperature",
"<u>W</u>ind Rose": "<u>W</u>ind Rose",
"<u>Z</u>ones": "<u>Z</u>ones",
"3D scene": "3D scene",
"About": "About", "About": "About",
"Activate/deactivate group": "Activate/deactivate group", "Activate/deactivate group": "Activate/deactivate group",
"Add": "Add",
"Add a custom biome": "Add a custom biome", "Add a custom biome": "Add a custom biome",
"Add a font": "Add a font", "Add a font": "Add a font",
"Add a new burg. Hold Shift to add multiple": "Add a new burg. Hold Shift to add multiple", "Add a new burg. Hold Shift to add multiple": "Add a new burg. Hold Shift to add multiple",
@ -28,6 +44,7 @@
"Ambush: surprise attack": "Ambush: surprise attack", "Ambush: surprise attack": "Ambush: surprise attack",
"Analyze namesbase to get a validity and quality overview": "Analyze namesbase to get a validity and quality overview", "Analyze namesbase to get a validity and quality overview": "Analyze namesbase to get a validity and quality overview",
"Anchor Icons": "Anchor Icons", "Anchor Icons": "Anchor Icons",
"Antique": "Antique",
"Antique big": "Antique big", "Antique big": "Antique big",
"Antique small": "Antique small", "Antique small": "Antique small",
"Apply a filter": "Apply a filter", "Apply a filter": "Apply a filter",
@ -46,6 +63,7 @@
"Auto-assign colors using generator scheme (for exported colored heightmaps)": "Auto-assign colors using generator scheme (for exported colored heightmaps)", "Auto-assign colors using generator scheme (for exported colored heightmaps)": "Auto-assign colors using generator scheme (for exported colored heightmaps)",
"Automatically add river starting from clicked cell. Hold Shift to add multiple": "Automatically add river starting from clicked cell. Hold Shift to add multiple", "Automatically add river starting from clicked cell. Hold Shift to add multiple": "Automatically add river starting from clicked cell. Hold Shift to add multiple",
"Autonomy": "Autonomy", "Autonomy": "Autonomy",
"Autosave interval": "Autosave interval",
"Average area": "Average area", "Average area": "Average area",
"Average discharge": "Average discharge", "Average discharge": "Average discharge",
"Average forces rate per state": "Average forces rate per state", "Average forces rate per state": "Average forces rate per state",
@ -55,6 +73,7 @@
"Average number of people in crew (used for total personnel calculation)": "Average number of people in crew (used for total personnel calculation)", "Average number of people in crew (used for total personnel calculation)": "Average number of people in crew (used for total personnel calculation)",
"Average population": "Average population", "Average population": "Average population",
"Average War Alert": "Average War Alert", "Average War Alert": "Average War Alert",
"Azgaar assistant": "Azgaar assistant",
"Banner": "Banner", "Banner": "Banner",
"Barony": "Barony", "Barony": "Barony",
"Baroque": "Baroque", "Baroque": "Baroque",
@ -70,11 +89,15 @@
"Blobs to add, use hyphen to get a random number in range": "Blobs to add, use hyphen to get a random number in range", "Blobs to add, use hyphen to get a random number in range": "Blobs to add, use hyphen to get a random number in range",
"Blockade phase. Prepare or hold the blockade": "Blockade phase. Prepare or hold the blockade", "Blockade phase. Prepare or hold the blockade": "Blockade phase. Prepare or hold the blockade",
"Boarding phase. Melee units go aboard": "Boarding phase. Melee units go aboard", "Boarding phase. Melee units go aboard": "Boarding phase. Melee units go aboard",
"Body filter": "Body filter",
"Body opacity": "Body opacity",
"Boeotian": "Boeotian", "Boeotian": "Boeotian",
"Bombardment phase. Attack enemy with machinery units": "Bombardment phase. Attack enemy with machinery units", "Bombardment phase. Attack enemy with machinery units": "Bombardment phase. Attack enemy with machinery units",
"Bor<u>d</u>ers": "Bor<u>d</u>ers",
"Borders": "Borders", "Borders": "Borders",
"Brotherhood": "Brotherhood", "Brotherhood": "Brotherhood",
"Bubble": "Bubble", "Bubble": "Bubble",
"Burg": "Burg",
"Burg average yearly temperature": "Burg average yearly temperature", "Burg average yearly temperature": "Burg average yearly temperature",
"Burg emblem. Click to edit": "Burg emblem. Click to edit", "Burg emblem. Click to edit": "Burg emblem. Click to edit",
"Burg height above mean sea level": "Burg height above mean sea level", "Burg height above mean sea level": "Burg height above mean sea level",
@ -82,8 +105,12 @@
"Burg icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Burg icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Burg icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Burg icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"Burg map preview": "Burg map preview", "Burg map preview": "Burg map preview",
"Burg preview generator": "Burg preview generator", "Burg preview generator": "Burg preview generator",
"Burgs": "Burgs",
"Burgs displayed": "Burgs displayed", "Burgs displayed": "Burgs displayed",
"Burgs number": "Burgs number",
"Butt": "Butt", "Butt": "Butt",
"C<u>e</u>lls": "C<u>e</u>lls",
"C<u>o</u>ordinates": "C<u>o</u>ordinates",
"Calculated size of image if combined": "Calculated size of image if combined", "Calculated size of image if combined": "Calculated size of image if combined",
"Caliphate": "Caliphate", "Caliphate": "Caliphate",
"Cancel assignment": "Cancel assignment", "Cancel assignment": "Cancel assignment",
@ -91,6 +118,7 @@
"Cancel the conversion. Previous heightmap will be restored": "Cancel the conversion. Previous heightmap will be restored", "Cancel the conversion. Previous heightmap will be restored": "Cancel the conversion. Previous heightmap will be restored",
"Cancel the creation": "Cancel the creation", "Cancel the creation": "Cancel the creation",
"Canton": "Canton", "Canton": "Canton",
"Canvas size": "Canvas size",
"Canvas size. Can be changed in general options on new map generation": "Canvas size. Can be changed in general options on new map generation", "Canvas size. Can be changed in general options on new map generation": "Canvas size. Can be changed in general options on new map generation",
"Captaincy": "Captaincy", "Captaincy": "Captaincy",
"Cells": "Cells", "Cells": "Cells",
@ -101,6 +129,7 @@
"Change height for all cells": "Change height for all cells", "Change height for all cells": "Change height for all cells",
"Change Iceberg size": "Change Iceberg size", "Change Iceberg size": "Change Iceberg size",
"Change tool power. Shortcut: + to increase; to decrease": "Change tool power. Shortcut: + to increase; to decrease", "Change tool power. Shortcut: + to increase; to decrease": "Change tool power. Shortcut: + to increase; to decrease",
"Charts": "Charts",
"Check if unit is separate and can be stacked only with units of the same type": "Check if unit is separate and can be stacked only with units of the same type", "Check if unit is separate and can be stacked only with units of the same type": "Check if unit is separate and can be stacked only with units of the same type",
"Check to fit burg styles (icon and label size) to the submap scale": "Check to fit burg styles (icon and label size) to the submap scale", "Check to fit burg styles (icon and label size) to the submap scale": "Check to fit burg styles (icon and label size) to the submap scale",
"Check to not allow system to automatically hide labels": "Check to not allow system to automatically hide labels", "Check to not allow system to automatically hide labels": "Check to not allow system to automatically hide labels",
@ -236,6 +265,7 @@
"Confederation": "Confederation", "Confederation": "Confederation",
"Config markers generation options": "Config markers generation options", "Config markers generation options": "Config markers generation options",
"Configure burg groups": "Configure burg groups", "Configure burg groups": "Configure burg groups",
"Configure World": "Configure World",
"Configure world and map size and climate settings": "Configure world and map size and climate settings", "Configure world and map size and climate settings": "Configure world and map size and climate settings",
"Conglomerate": "Conglomerate", "Conglomerate": "Conglomerate",
"Connect your Dropbox account to be able to load maps from it": "Connect your Dropbox account to be able to load maps from it", "Connect your Dropbox account to be able to load maps from it": "Connect your Dropbox account to be able to load maps from it",
@ -249,6 +279,7 @@
"Copy selected relief icon": "Copy selected relief icon", "Copy selected relief icon": "Copy selected relief icon",
"Council": "Council", "Council": "Council",
"County": "County", "County": "County",
"Create": "Create",
"Create a new group for this coastline": "Create a new group for this coastline", "Create a new group for this coastline": "Create a new group for this coastline",
"Create a new group for this label": "Create a new group for this label", "Create a new group for this label": "Create a new group for this label",
"Create a new regiment or fleet": "Create a new regiment or fleet", "Create a new regiment or fleet": "Create a new regiment or fleet",
@ -261,11 +292,14 @@
"Culture-random": "Culture-random", "Culture-random": "Culture-random",
"Culture-specific": "Culture-specific", "Culture-specific": "Culture-specific",
"Cultures": "Cultures", "Cultures": "Cultures",
"Cultures number": "Cultures number",
"Cultures set": "Cultures set",
"Cultures: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Cultures: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Cultures: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Cultures: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"Curved": "Curved", "Curved": "Curved",
"Custom": "Custom", "Custom": "Custom",
"Custom (not saved)": "Custom (not saved)", "Custom (not saved)": "Custom (not saved)",
"Custom name": "Custom name", "Custom name": "Custom name",
"Dark Fantasy": "Dark Fantasy",
"Dawn": "Dawn", "Dawn": "Dawn",
"Deanery": "Deanery", "Deanery": "Deanery",
"Defenders morale: ": "Defenders morale: ", "Defenders morale: ": "Defenders morale: ",
@ -286,6 +320,7 @@
"Define the size of relief icons. All relief icons will be regenerated": "Define the size of relief icons. All relief icons will be regenerated", "Define the size of relief icons. All relief icons will be regenerated": "Define the size of relief icons. All relief icons will be regenerated",
"Define transparency of fill color": "Define transparency of fill color", "Define transparency of fill color": "Define transparency of fill color",
"Define transparency of temperature leyer. Set to 0 to make it fully transparent": "Define transparency of temperature leyer. Set to 0 to make it fully transparent", "Define transparency of temperature leyer. Set to 0 to make it fully transparent": "Define transparency of temperature leyer. Set to 0 to make it fully transparent",
"degree Celsius (°C)": "degree Celsius (°C)",
"degree Delisle (°De)": "degree Delisle (°De)", "degree Delisle (°De)": "degree Delisle (°De)",
"degree Fahrenheit (°F)": "degree Fahrenheit (°F)", "degree Fahrenheit (°F)": "degree Fahrenheit (°F)",
"degree Newton (°N)": "degree Newton (°N)", "degree Newton (°N)": "degree Newton (°N)",
@ -302,6 +337,7 @@
"Diamond": "Diamond", "Diamond": "Diamond",
"Diarchy": "Diarchy", "Diarchy": "Diarchy",
"Diocese": "Diocese", "Diocese": "Diocese",
"Diplomacy": "Diplomacy",
"Display brushes panel": "Display brushes panel", "Display brushes panel": "Display brushes panel",
"Displayed layers and layers order:": "Displayed layers and layers order:", "Displayed layers and layers order:": "Displayed layers and layers order:",
"Disrupt (randomize) heights a bit": "Disrupt (randomize) heights a bit", "Disrupt (randomize) heights a bit": "Disrupt (randomize) heights a bit",
@ -349,6 +385,7 @@
"Duchy": "Duchy", "Duchy": "Duchy",
"Earldom": "Earldom", "Earldom": "Earldom",
"Easterling": "Easterling", "Easterling": "Easterling",
"Edit": "Edit",
"Edit biomes style in Style Editor": "Edit biomes style in Style Editor", "Edit biomes style in Style Editor": "Edit biomes style in Style Editor",
"Edit burg groups": "Edit burg groups", "Edit burg groups": "Edit burg groups",
"Edit coastline group style in Style Editor": "Edit coastline group style in Style Editor", "Edit coastline group style in Style Editor": "Edit coastline group style in Style Editor",
@ -378,22 +415,26 @@
"Edit zones style in Style Editor": "Edit zones style in Style Editor", "Edit zones style in Style Editor": "Edit zones style in Style Editor",
"Elevate brush: drag to gradually increase height of cells in radius by Power value": "Elevate brush: drag to gradually increase height of cells in radius by Power value", "Elevate brush: drag to gradually increase height of cells in radius by Power value": "Elevate brush: drag to gradually increase height of cells in radius by Power value",
"Elevation profile": "Elevation profile", "Elevation profile": "Elevation profile",
"Emblem shape": "Emblem shape",
"Emblems": "Emblems", "Emblems": "Emblems",
"Emblems: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Emblems: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Emblems: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Emblems: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"Emirate": "Emirate", "Emirate": "Emirate",
"Empire": "Empire", "Empire": "Empire",
"End battle: apply current results and close the screen": "End battle: apply current results and close the screen", "End battle: apply current results and close the screen": "End battle: apply current results and close the screen",
"English": "English",
"Enter API key. Note: the Generator doesn't store the key or any generated data": "Enter API key. Note: the Generator doesn't store the key or any generated data", "Enter API key. Note: the Generator doesn't store the key or any generated data": "Enter API key. Note: the Generator doesn't store the key or any generated data",
"Enter custom form name": "Enter custom form name", "Enter custom form name": "Enter custom form name",
"Enter style preset name": "Enter style preset name", "Enter style preset name": "Enter style preset name",
"Eparchy": "Eparchy", "Eparchy": "Eparchy",
"Equirectangular projection is used: distortion is maximum on poles. Use map with aspect ratio 2:1 for best result": "Equirectangular projection is used: distortion is maximum on poles. Use map with aspect ratio 2:1 for best result", "Equirectangular projection is used: distortion is maximum on poles. Use map with aspect ratio 2:1 for best result": "Equirectangular projection is used: distortion is maximum on poles. Use map with aspect ratio 2:1 for best result",
"Erebor": "Erebor", "Erebor": "Erebor",
"European": "European",
"Evaporation from lake surface. If evaporation > supply, the lake water is saline. If difference is high, the lake becomes dry": "Evaporation from lake surface. If evaporation > supply, the lake water is saline. If difference is high, the lake becomes dry", "Evaporation from lake surface. If evaporation > supply, the lake water is saline. If difference is high, the lake becomes dry": "Evaporation from lake surface. If evaporation > supply, the lake water is saline. If difference is high, the lake becomes dry",
"Evening": "Evening", "Evening": "Evening",
"Examples. Click to re-generate": "Examples. Click to re-generate", "Examples. Click to re-generate": "Examples. Click to re-generate",
"Exarchate": "Exarchate", "Exarchate": "Exarchate",
"Execute the template": "Execute the template", "Execute the template": "Execute the template",
"Export": "Export",
"Fantasy world Meridian length relative to real-world Earth (20k km)": "Fantasy world Meridian length relative to real-world Earth (20k km)", "Fantasy world Meridian length relative to real-world Earth (20k km)": "Fantasy world Meridian length relative to real-world Earth (20k km)",
"Fantasy1": "Fantasy1", "Fantasy1": "Fantasy1",
"Fantasy2": "Fantasy2", "Fantasy2": "Fantasy2",
@ -439,7 +480,9 @@
"Generate random name for the lake": "Generate random name for the lake", "Generate random name for the lake": "Generate random name for the lake",
"Generate random name for the river": "Generate random name for the river", "Generate random name for the river": "Generate random name for the river",
"Generate route name": "Generate route name", "Generate route name": "Generate route name",
"Generator settings:": "Generator settings:",
"Generic": "Generic", "Generic": "Generic",
"Globe": "Globe",
"Gondor": "Gondor", "Gondor": "Gondor",
"Gonfalon": "Gonfalon", "Gonfalon": "Gonfalon",
"Google font": "Google font", "Google font": "Google font",
@ -449,7 +492,11 @@
"Gray paper": "Gray paper", "Gray paper": "Gray paper",
"Grid": "Grid", "Grid": "Grid",
"Grid: click to toggle, drag to raise or lower. Ctrl + click to edit layer style and select type": "Grid: click to toggle, drag to raise or lower. Ctrl + click to edit layer style and select type", "Grid: click to toggle, drag to raise or lower. Ctrl + click to edit layer style and select type": "Grid: click to toggle, drag to raise or lower. Ctrl + click to edit layer style and select type",
"Growth rate": "Growth rate",
"Guidon": "Guidon", "Guidon": "Guidon",
"Halo blur": "Halo blur",
"Halo opacity": "Halo opacity",
"Halo width": "Halo width",
"Heater": "Heater", "Heater": "Heater",
"Heightmap": "Heightmap", "Heightmap": "Heightmap",
"Heightmap edit mode": "Heightmap edit mode", "Heightmap edit mode": "Heightmap edit mode",
@ -472,6 +519,7 @@
"Hide the group selection": "Hide the group selection", "Hide the group selection": "Hide the group selection",
"Hide the label offset section": "Hide the label offset section", "Hide the label offset section": "Hide the label offset section",
"Hide the letter spacing section": "Hide the letter spacing section", "Hide the letter spacing section": "Hide the letter spacing section",
"High Fantasy": "High Fantasy",
"High Island": "High Island", "High Island": "High Island",
"Highland": "Highland", "Highland": "Highland",
"Hill: small blob": "Hill: small blob", "Hill: small blob": "Hill: small blob",
@ -483,7 +531,6 @@
"ia": "ia", "ia": "ia",
"Ice": "Ice", "Ice": "Ice",
"Icebergs and glaciers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Icebergs and glaciers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Icebergs and glaciers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Icebergs and glaciers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"Icons": "Icons",
"If height is greater or equal to X and less or equal to Y, then perform an operation Z with operand V": "If height is greater or equal to X and less or equal to Y, then perform an operation Z with operand V", "If height is greater or equal to X and less or equal to Y, then perform an operation Z with operand V": "If height is greater or equal to X and less or equal to Y, then perform an operation Z with operand V",
"Image scale relative to image size (e.g. 5x)": "Image scale relative to image size (e.g. 5x)", "Image scale relative to image size (e.g. 5x)": "Image scale relative to image size (e.g. 5x)",
"Imamah": "Imamah", "Imamah": "Imamah",
@ -491,6 +538,7 @@
"Increases the polygon count to smooth the sharp points. Please note that it can take some time to calculate": "Increases the polygon count to smooth the sharp points. Please note that it can take some time to calculate", "Increases the polygon count to smooth the sharp points. Please note that it can take some time to calculate": "Increases the polygon count to smooth the sharp points. Please note that it can take some time to calculate",
"Indented 3": "Indented 3", "Indented 3": "Indented 3",
"Inherit": "Inherit", "Inherit": "Inherit",
"Interface size": "Interface size",
"Invert heightmap along the axes": "Invert heightmap along the axes", "Invert heightmap along the axes": "Invert heightmap along the axes",
"Iran small": "Iran small", "Iran small": "Iran small",
"Iron Hills": "Iron Hills", "Iron Hills": "Iron Hills",
@ -506,6 +554,7 @@
"Kingdom": "Kingdom", "Kingdom": "Kingdom",
"Kite": "Kite", "Kite": "Kite",
"Kiwiroo": "Kiwiroo", "Kiwiroo": "Kiwiroo",
"Label": "Label",
"Labels": "Labels", "Labels": "Labels",
"Labels: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Labels: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Labels: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Labels: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"Lake": "Lake", "Lake": "Lake",
@ -523,6 +572,7 @@
"Landing: amphibious attack": "Landing: amphibious attack", "Landing: amphibious attack": "Landing: amphibious attack",
"Landmass": "Landmass", "Landmass": "Landmass",
"Landmass area in selected units": "Landmass area in selected units", "Landmass area in selected units": "Landmass area in selected units",
"Language": "Language",
"Layers": "Layers", "Layers": "Layers",
"Layers preset:": "Layers preset:", "Layers preset:": "Layers preset:",
"Layers reduction rate. Increase to improve performance": "Layers reduction rate. Increase to improve performance", "Layers reduction rate. Increase to improve performance": "Layers reduction rate. Increase to improve performance",
@ -535,8 +585,8 @@
"Line simplification rate. Increase to slightly improve performance": "Line simplification rate. Increase to slightly improve performance", "Line simplification rate. Increase to slightly improve performance": "Line simplification rate. Increase to slightly improve performance",
"Line: select two points to change heights along the line": "Line: select two points to change heights along the line", "Line: select two points to change heights along the line": "Line: select two points to change heights along the line",
"Linear": "Linear", "Linear": "Linear",
"Load": "Load",
"Load fully-functional map (.map or .gz formats)": "Load fully-functional map (.map or .gz formats)", "Load fully-functional map (.map or .gz formats)": "Load fully-functional map (.map or .gz formats)",
"Load Google Translate and select language. Note that automatic translation can break some page functional. In this case reset the language back to English or refresh the page": "Load Google Translate and select language. Note that automatic translation can break some page functional. In this case reset the language back to English or refresh the page",
"Load image to convert": "Load image to convert", "Load image to convert": "Load image to convert",
"Load map file (.map or .gz) file from URL. Note that the server should allow CORS": "Load map file (.map or .gz) file from URL. Note that the server should allow CORS", "Load map file (.map or .gz) file from URL. Note that the server should allow CORS": "Load map file (.map or .gz) file from URL. Note that the server should allow CORS",
"Load map file (.map or .gz) from your Dropbox": "Load map file (.map or .gz) from your Dropbox", "Load map file (.map or .gz) from your Dropbox": "Load map file (.map or .gz) from your Dropbox",
@ -555,14 +605,19 @@
"Manually re-assign provinces": "Manually re-assign provinces", "Manually re-assign provinces": "Manually re-assign provinces",
"Map coordinates on globe": "Map coordinates on globe", "Map coordinates on globe": "Map coordinates on globe",
"Map generation settings. Generate a new map to apply the settings": "Map generation settings. Generate a new map to apply the settings", "Map generation settings. Generate a new map to apply the settings": "Map generation settings. Generate a new map to apply the settings",
"Map name": "Map name",
"Map presentation in 3D scene. Works best for heightmap. Cannot be used for editing": "Map presentation in 3D scene. Works best for heightmap. Cannot be used for editing", "Map presentation in 3D scene. Works best for heightmap. Cannot be used for editing": "Map presentation in 3D scene. Works best for heightmap. Cannot be used for editing",
"Map seed": "Map seed",
"Map seed number. Press 'Enter' to apply. Seed produces the same map only if canvas size and options are the same": "Map seed number. Press 'Enter' to apply. Seed produces the same map only if canvas size and options are the same", "Map seed number. Press 'Enter' to apply. Seed produces the same map only if canvas size and options are the same": "Map seed number. Press 'Enter' to apply. Seed produces the same map only if canvas size and options are the same",
"Map settings (new map to apply):": "Map settings (new map to apply):",
"Mar<u>k</u>ers": "Mar<u>k</u>ers",
"Marble big": "Marble big", "Marble big": "Marble big",
"Marble Blue": "Marble Blue", "Marble Blue": "Marble Blue",
"Marble Blue big": "Marble Blue big", "Marble Blue big": "Marble Blue big",
"Marble small": "Marble small", "Marble small": "Marble small",
"Marches": "Marches", "Marches": "Marches",
"Margrave": "Margrave", "Margrave": "Margrave",
"Marker": "Marker",
"Marker element size in pixels": "Marker element size in pixels", "Marker element size in pixels": "Marker element size in pixels",
"Marker icon": "Marker icon", "Marker icon": "Marker icon",
"Marker icon shift (by X and by Y axis), percent. Set to 50 to position icon in center": "Marker icon shift (by X and by Y axis), percent. Set to 50 to position icon in center", "Marker icon shift (by X and by Y axis), percent. Set to 50 to position icon in center": "Marker icon shift (by X and by Y axis), percent. Set to 50 to position icon in center",
@ -597,10 +652,12 @@
"Multiply all heights in range by factor": "Multiply all heights in range by factor", "Multiply all heights in range by factor": "Multiply all heights in range by factor",
"Municipality": "Municipality", "Municipality": "Municipality",
"Names data: a comma separated list of source names used for names generation": "Names data: a comma separated list of source names used for names generation", "Names data: a comma separated list of source names used for names generation": "Names data: a comma separated list of source names used for names generation",
"Namesbase": "Namesbase",
"Nautical league (nlg)": "Nautical league (nlg)", "Nautical league (nlg)": "Nautical league (nlg)",
"Nautical mile (nmi)": "Nautical mile (nmi)", "Nautical mile (nmi)": "Nautical mile (nmi)",
"Naval": "Naval", "Naval": "Naval",
"Naval Battle: naval units combat": "Naval Battle: naval units combat", "Naval Battle: naval units combat": "Naval Battle: naval units combat",
"New Map": "New Map",
"New Map!": "New Map!", "New Map!": "New Map!",
"Night": "Night", "Night": "Night",
"No": "No", "No": "No",
@ -609,6 +666,7 @@
"Noldor": "Noldor", "Noldor": "Noldor",
"Nomadic": "Nomadic", "Nomadic": "Nomadic",
"Noon": "Noon", "Noon": "Noon",
"Notes": "Notes",
"Number of burgs in group": "Number of burgs in group", "Number of burgs in group": "Number of burgs in group",
"Number of columns": "Number of columns", "Number of columns": "Number of columns",
"Number of lake inlet rivers": "Number of lake inlet rivers", "Number of lake inlet rivers": "Number of lake inlet rivers",
@ -620,6 +678,7 @@
"Old French": "Old French", "Old French": "Old French",
"Old World": "Old World", "Old World": "Old World",
"Oligarchy": "Oligarchy", "Oligarchy": "Oligarchy",
"Onload behavior": "Onload behavior",
"Open Battle Simulation Tutorial": "Open Battle Simulation Tutorial", "Open Battle Simulation Tutorial": "Open Battle Simulation Tutorial",
"Open burg map in a new tab": "Open burg map in a new tab", "Open burg map in a new tab": "Open burg map in a new tab",
"Open Image Converter": "Open Image Converter", "Open Image Converter": "Open Image Converter",
@ -632,6 +691,7 @@
"Open Template Editor Tutorial": "Open Template Editor Tutorial", "Open Template Editor Tutorial": "Open Template Editor Tutorial",
"Open wiki article scale and distance to know about grid scale": "Open wiki article scale and distance to know about grid scale", "Open wiki article scale and distance to know about grid scale": "Open wiki article scale and distance to know about grid scale",
"Options": "Options", "Options": "Options",
"Oriental": "Oriental",
"Oval": "Oval", "Oval": "Oval",
"Pangea": "Pangea", "Pangea": "Pangea",
"Parish": "Parish", "Parish": "Parish",
@ -656,11 +716,14 @@
"Place icons in a bulk": "Place icons in a bulk", "Place icons in a bulk": "Place icons in a bulk",
"Places of interest": "Places of interest", "Places of interest": "Places of interest",
"Plaster": "Plaster", "Plaster": "Plaster",
"Points number": "Points number",
"Polish": "Polish", "Polish": "Polish",
"Political map": "Political map", "Political map": "Political map",
"Populate with letters that can be used twice in a row (geminates)": "Populate with letters that can be used twice in a row (geminates)", "Populate with letters that can be used twice in a row (geminates)": "Populate with letters that can be used twice in a row (geminates)",
"Populatio<u>n</u>": "Populatio<u>n</u>",
"Population": "Population", "Population": "Population",
"Population map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Population map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Population map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Population map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"Precipit<u>a</u>tion": "Precipit<u>a</u>tion",
"Precipitation": "Precipitation", "Precipitation": "Precipitation",
"Precipitation map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Precipitation map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Precipitation map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Precipitation map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"Prefecture": "Prefecture", "Prefecture": "Prefecture",
@ -676,6 +739,7 @@
"Provinces": "Provinces", "Provinces": "Provinces",
"Provinces displayed": "Provinces displayed", "Provinces displayed": "Provinces displayed",
"Provinces map": "Provinces map", "Provinces map": "Provinces map",
"Provinces ratio": "Provinces ratio",
"Provinces: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Provinces: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Provinces: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Provinces: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"Pure landmass": "Pure landmass", "Pure landmass": "Pure landmass",
"Pursue phase. Mounted units excel": "Pursue phase. Mounted units excel", "Pursue phase. Mounted units excel": "Pursue phase. Mounted units excel",
@ -700,6 +764,7 @@
"Refresh the Editor": "Refresh the Editor", "Refresh the Editor": "Refresh the Editor",
"Refresh the overview screen": "Refresh the overview screen", "Refresh the overview screen": "Refresh the overview screen",
"Refresh the Overview screen": "Refresh the Overview screen", "Refresh the Overview screen": "Refresh the Overview screen",
"Regenerate": "Regenerate",
"Regenerate burg names based on assigned culture": "Regenerate burg names based on assigned culture", "Regenerate burg names based on assigned culture": "Regenerate burg names based on assigned culture",
"Regenerate diplomatical relations": "Regenerate diplomatical relations", "Regenerate diplomatical relations": "Regenerate diplomatical relations",
"Regenerate emblem": "Regenerate emblem", "Regenerate emblem": "Regenerate emblem",
@ -713,11 +778,13 @@
"Regiment type (land or naval). Click to change": "Regiment type (land or naval). Click to change", "Regiment type (land or naval). Click to change": "Regiment type (land or naval). Click to change",
"Region": "Region", "Region": "Region",
"Release all provinces. It will make all provinces with burgs independent": "Release all provinces. It will make all provinces with burgs independent", "Release all provinces. It will make all provinces with burgs independent": "Release all provinces. It will make all provinces with burgs independent",
"Relie<u>f</u>": "Relie<u>f</u>",
"Relief": "Relief", "Relief": "Relief",
"Relief and biome icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Relief and biome icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Relief and biome icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Relief and biome icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"Relief Icons": "Relief Icons", "Relief Icons": "Relief Icons",
"Religions": "Religions", "Religions": "Religions",
"Religions map": "Religions map", "Religions map": "Religions map",
"Religions number": "Religions number",
"Religions: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Religions: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Religions: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Religions: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"Relocate burg. Click on map to move the burg": "Relocate burg. Click on map to move the burg", "Relocate burg. Click on map to move the burg": "Relocate burg. Click on map to move the burg",
"Remove all provinces. States will remain as they are": "Remove all provinces. States will remain as they are", "Remove all provinces. States will remain as they are": "Remove all provinces. States will remain as they are",
@ -743,13 +810,15 @@
"Rename burgs in bulk": "Rename burgs in bulk", "Rename burgs in bulk": "Rename burgs in bulk",
"Render cells below the sea level (with height less than 20)": "Render cells below the sea level (with height less than 20)", "Render cells below the sea level (with height less than 20)": "Render cells below the sea level (with height less than 20)",
"Render heightmap data as a small monochrome image": "Render heightmap data as a small monochrome image", "Render heightmap data as a small monochrome image": "Render heightmap data as a small monochrome image",
"Rendering": "Rendering",
"Rendering order: higher values are rendered on top": "Rendering order: higher values are rendered on top", "Rendering order: higher values are rendered on top": "Rendering order: higher values are rendered on top",
"Republic": "Republic", "Republic": "Republic",
"Rescaler: change height if condition is fulfilled": "Rescaler: change height if condition is fulfilled", "Rescaler: change height if condition is fulfilled": "Rescaler: change height if condition is fulfilled",
"Reservation": "Reservation", "Reservation": "Reservation",
"Reset diplomatical relations of selected state to Neutral": "Reset diplomatical relations of selected state to Neutral", "Reset diplomatical relations of selected state to Neutral": "Reset diplomatical relations of selected state to Neutral",
"Reset language to English": "Reset language to English",
"Reset map zoom": "Reset map zoom", "Reset map zoom": "Reset map zoom",
"Reset to defaults": "Reset to defaults",
"Reset Zoom": "Reset Zoom",
"Restore default canvas size": "Restore default canvas size", "Restore default canvas size": "Restore default canvas size",
"Restore default namesbase": "Restore default namesbase", "Restore default namesbase": "Restore default namesbase",
"Restore default theme color: pale magenta": "Restore default theme color: pale magenta", "Restore default theme color: pale magenta": "Restore default theme color: pale magenta",
@ -758,6 +827,7 @@
"Restore the defaults and re-define biomes based on current moisture and temperature": "Restore the defaults and re-define biomes based on current moisture and temperature", "Restore the defaults and re-define biomes based on current moisture and temperature": "Restore the defaults and re-define biomes based on current moisture and temperature",
"Retreat phase. Units strength reduced": "Retreat phase. Units strength reduced", "Retreat phase. Units strength reduced": "Retreat phase. Units strength reduced",
"Rhombille grid": "Rhombille grid", "Rhombille grid": "Rhombille grid",
"Ri<u>v</u>ers": "Ri<u>v</u>ers",
"River": "River", "River": "River",
"River discharge (flux power)": "River discharge (flux power)", "River discharge (flux power)": "River discharge (flux power)",
"River drainage basin (watershed)": "River drainage basin (watershed)", "River drainage basin (watershed)": "River drainage basin (watershed)",
@ -768,6 +838,7 @@
"Rivers": "Rivers", "Rivers": "Rivers",
"Rivers number": "Rivers number", "Rivers number": "Rivers number",
"Rivers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Rivers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Rivers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Rivers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"Ro<u>u</u>tes": "Ro<u>u</u>tes",
"Roll dice to update random factor": "Roll dice to update random factor", "Roll dice to update random factor": "Roll dice to update random factor",
"Roman": "Roman", "Roman": "Roman",
"Round": "Round", "Round": "Round",
@ -777,6 +848,7 @@
"Rulers": "Rulers", "Rulers": "Rulers",
"Rulers: click to toggle, drag to move, click on label to delete. Ctrl + click to edit layer style": "Rulers: click to toggle, drag to move, click on label to delete. Ctrl + click to edit layer style", "Rulers: click to toggle, drag to move, click on label to delete. Ctrl + click to edit layer style": "Rulers: click to toggle, drag to move, click on label to delete. Ctrl + click to edit layer style",
"Satrapy": "Satrapy", "Satrapy": "Satrapy",
"Save": "Save",
"Save biomes-related data as a text file (.csv)": "Save biomes-related data as a text file (.csv)", "Save biomes-related data as a text file (.csv)": "Save biomes-related data as a text file (.csv)",
"Save burgs-related data as a text file (.csv)": "Save burgs-related data as a text file (.csv)", "Save burgs-related data as a text file (.csv)": "Save burgs-related data as a text file (.csv)",
"Save current JSON as a new style preset": "Save current JSON as a new style preset", "Save current JSON as a new style preset": "Save current JSON as a new style preset",
@ -828,6 +900,7 @@
"Select Dune icon": "Select Dune icon", "Select Dune icon": "Select Dune icon",
"Select element group": "Select element group", "Select element group": "Select element group",
"Select element id": "Select element id", "Select element id": "Select element id",
"Select element:": "Select element:",
"Select emblem shape. Can be changed indivudually in Emblem editor": "Select emblem shape. Can be changed indivudually in Emblem editor", "Select emblem shape. Can be changed indivudually in Emblem editor": "Select emblem shape. Can be changed indivudually in Emblem editor",
"Select file and create a link to share with your friends": "Select file and create a link to share with your friends", "Select file and create a link to share with your friends": "Select file and create a link to share with your friends",
"Select filter for element. Please note filters may cause performance issues!": "Select filter for element. Please note filters may cause performance issues!", "Select filter for element. Please note filters may cause performance issues!": "Select filter for element. Please note filters may cause performance issues!",
@ -844,6 +917,7 @@
"Select Hill icon": "Select Hill icon", "Select Hill icon": "Select Hill icon",
"Select how many distance units are in one pixel": "Select how many distance units are in one pixel", "Select how many distance units are in one pixel": "Select how many distance units are in one pixel",
"Select icon": "Select icon", "Select icon": "Select icon",
"Select interface language": "Select interface language",
"Select lake type (group)": "Select lake type (group)", "Select lake type (group)": "Select lake type (group)",
"Select line interpolation type": "Select line interpolation type", "Select line interpolation type": "Select line interpolation type",
"Select marker type for newly added markers.": "Select marker type for newly added markers.", "Select marker type for newly added markers.": "Select marker type for newly added markers.",
@ -1009,19 +1083,21 @@
"Shows whether there is already a preset with this name": "Shows whether there is already a preset with this name", "Shows whether there is already a preset with this name": "Shows whether there is already a preset with this name",
"Siege: burg blockade and storming": "Siege: burg blockade and storming", "Siege: burg blockade and storming": "Siege: burg blockade and storming",
"Simple": "Simple", "Simple": "Simple",
"Size variety": "Size variety",
"Skirmish phase. Ranged units excel": "Skirmish phase. Ranged units excel", "Skirmish phase. Ranged units excel": "Skirmish phase. Ranged units excel",
"Smooth 6": "Smooth 6", "Smooth 6": "Smooth 6",
"Smooth 9": "Smooth 9", "Smooth 9": "Smooth 9",
"Smooth all heights a bit": "Smooth all heights a bit", "Smooth all heights a bit": "Smooth all heights a bit",
"Smooth brush: drag to level height of cells in radius to height of adjacent cells": "Smooth brush: drag to level height of cells in radius to height of adjacent cells", "Smooth brush: drag to level height of cells in radius to height of adjacent cells": "Smooth brush: drag to level height of cells in radius to height of adjacent cells",
"Smooth the map replacing cell heights by an average values of its neighbors": "Smooth the map replacing cell heights by an average values of its neighbors", "Smooth the map replacing cell heights by an average values of its neighbors": "Smooth the map replacing cell heights by an average values of its neighbors",
"Soided paper vertical": "Soided paper vertical",
"Soiled paper horizontal": "Soiled paper horizontal", "Soiled paper horizontal": "Soiled paper horizontal",
"Soiled paper vertical": "Soiled paper vertical",
"Sortie phase. Make a sortie from besieged town. Melee units excel": "Sortie phase. Make a sortie from besieged town. Melee units excel", "Sortie phase. Make a sortie from besieged town. Melee units excel": "Sortie phase. Make a sortie from besieged town. Melee units excel",
"Spain small": "Spain small", "Spain small": "Spain small",
"Spanish": "Spanish", "Spanish": "Spanish",
"Speak the examples. You can change voice and language in options": "Speak the examples. You can change voice and language in options", "Speak the examples. You can change voice and language in options": "Speak the examples. You can change voice and language in options",
"Speak the name. You can change voice and language in options": "Speak the name. You can change voice and language in options", "Speak the name. You can change voice and language in options": "Speak the name. You can change voice and language in options",
"Speaker voice": "Speaker voice",
"Split map into smaller png tiles and download as zip archive": "Split map into smaller png tiles and download as zip archive", "Split map into smaller png tiles and download as zip archive": "Split map into smaller png tiles and download as zip archive",
"Split regiment into 2 separate ones": "Split regiment into 2 separate ones", "Split regiment into 2 separate ones": "Split regiment into 2 separate ones",
"Square": "Square", "Square": "Square",
@ -1029,6 +1105,7 @@
"Square grid": "Square grid", "Square grid": "Square grid",
"Squared": "Squared", "Squared": "Squared",
"Squarish": "Squarish", "Squarish": "Squarish",
"Standard": "Standard",
"Standard 3": "Standard 3", "Standard 3": "Standard 3",
"Standard 4": "Standard 4", "Standard 4": "Standard 4",
"Standard view mode that allows to edit the map": "Standard view mode that allows to edit the map", "Standard view mode that allows to edit the map": "Standard view mode that allows to edit the map",
@ -1040,6 +1117,7 @@
"State borders: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "State borders: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "State borders: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "State borders: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"State form name": "State form name", "State form name": "State form name",
"State full name": "State full name", "State full name": "State full name",
"State labels": "State labels",
"State name. Click to sort": "State name. Click to sort", "State name. Click to sort": "State name. Click to sort",
"State population. Click to sort": "State population. Click to sort", "State population. Click to sort": "State population. Click to sort",
"State short name": "State short name", "State short name": "State short name",
@ -1053,6 +1131,8 @@
"Strait: centered vertical or horizontal depression": "Strait: centered vertical or horizontal depression", "Strait: centered vertical or horizontal depression": "Strait: centered vertical or horizontal depression",
"Style": "Style", "Style": "Style",
"Style JSON is getting formed based the current settings, but can be entered manually": "Style JSON is getting formed based the current settings, but can be entered manually", "Style JSON is getting formed based the current settings, but can be entered manually": "Style JSON is getting formed based the current settings, but can be entered manually",
"Style preset:": "Style preset:",
"Submap": "Submap",
"Submit to Reddit": "Submit to Reddit", "Submit to Reddit": "Submit to Reddit",
"Sultanat": "Sultanat", "Sultanat": "Sultanat",
"Support Ukraine": "Support Ukraine", "Support Ukraine": "Support Ukraine",
@ -1062,6 +1142,7 @@
"Taklamakan": "Taklamakan", "Taklamakan": "Taklamakan",
"Targe": "Targe", "Targe": "Targe",
"Targe2": "Targe2", "Targe2": "Targe2",
"Te<u>x</u>ture": "Te<u>x</u>ture",
"Temperature": "Temperature", "Temperature": "Temperature",
"Temperature controls response randomness; higher values mean more creativity, lower values mean more predictability": "Temperature controls response randomness; higher values mean more creativity, lower values mean more predictability", "Temperature controls response randomness; higher values mean more creativity, lower values mean more predictability": "Temperature controls response randomness; higher values mean more creativity, lower values mean more predictability",
"Temperature map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Temperature map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Temperature map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Temperature map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
@ -1072,7 +1153,8 @@
"Texture": "Texture", "Texture": "Texture",
"Texture overlay: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Texture overlay: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Texture overlay: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Texture overlay: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"The {{noun}}": "The {{noun}}", "The {{noun}}": "The {{noun}}",
"The selected layer is not visible. Toogle it on to see style changes effect": "The selected layer is not visible. Toogle it on to see style changes effect", "The selected layer is not visible. Toggle it on to see style changes effect": "The selected layer is not visible. Toggle it on to see style changes effect",
"Theme color": "Theme color",
"Theocracy": "Theocracy", "Theocracy": "Theocracy",
"Timber Cut big": "Timber Cut big", "Timber Cut big": "Timber Cut big",
"Timber Cut small": "Timber Cut small", "Timber Cut small": "Timber Cut small",
@ -1088,6 +1170,7 @@
"Toggle wireframe mode": "Toggle wireframe mode", "Toggle wireframe mode": "Toggle wireframe mode",
"Tool settings that don't affect maps. Changes are getting applied immediately": "Tool settings that don't affect maps. Changes are getting applied immediately", "Tool settings that don't affect maps. Changes are getting applied immediately": "Tool settings that don't affect maps. Changes are getting applied immediately",
"Tools": "Tools", "Tools": "Tools",
"Tooltip size": "Tooltip size",
"Total burgs number": "Total burgs number", "Total burgs number": "Total burgs number",
"Total cells number": "Total cells number", "Total cells number": "Total cells number",
"Total land area": "Total land area", "Total land area": "Total land area",
@ -1100,6 +1183,8 @@
"Total population": "Total population", "Total population": "Total population",
"Trade Company": "Trade Company", "Trade Company": "Trade Company",
"Trade routes: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Trade routes: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Trade routes: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Trade routes: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"Transform": "Transform",
"Transparency": "Transparency",
"Triangle": "Triangle", "Triangle": "Triangle",
"Triangle grid (horizontal)": "Triangle grid (horizontal)", "Triangle grid (horizontal)": "Triangle grid (horizontal)",
"Triangle grid (vertical)": "Triangle grid (vertical)", "Triangle grid (vertical)": "Triangle grid (vertical)",
@ -1142,6 +1227,7 @@
"United Republic": "United Republic", "United Republic": "United Republic",
"United States": "United States", "United States": "United States",
"United Tribes": "United Tribes", "United Tribes": "United Tribes",
"Units": "Units",
"Update the scene": "Update the scene", "Update the scene": "Update the scene",
"Upload a namesbase from PC, extending the current set": "Upload a namesbase from PC, extending the current set", "Upload a namesbase from PC, extending the current set": "Upload a namesbase from PC, extending the current set",
"Upload a namesbase from PC, replacing the current set": "Upload a namesbase from PC, replacing the current set", "Upload a namesbase from PC, replacing the current set": "Upload a namesbase from PC, replacing the current set",
@ -1155,6 +1241,7 @@
"Versta (vr)": "Versta (vr)", "Versta (vr)": "Versta (vr)",
"Vesica Piscis": "Vesica Piscis", "Vesica Piscis": "Vesica Piscis",
"Viceroyalty": "Viceroyalty", "Viceroyalty": "Viceroyalty",
"View mode:": "View mode:",
"Vignette": "Vignette", "Vignette": "Vignette",
"Vignette (border fading): click to toggle. Ctrl + click to edit style": "Vignette (border fading): click to toggle. Ctrl + click to edit style", "Vignette (border fading): click to toggle. Ctrl + click to edit style": "Vignette (border fading): click to toggle. Ctrl + click to edit style",
"Vignette rectangle position (in percents)": "Vignette rectangle position (in percents)", "Vignette rectangle position (in percents)": "Vignette rectangle position (in percents)",
@ -1176,6 +1263,7 @@
"Withdrawal phase. Naval units try to escape enemy fleet": "Withdrawal phase. Naval units try to escape enemy fleet", "Withdrawal phase. Naval units try to escape enemy fleet": "Withdrawal phase. Naval units try to escape enemy fleet",
"X axis position in percentage (minX-maxX or X)": "X axis position in percentage (minX-maxX or X)", "X axis position in percentage (minX-maxX or X)": "X axis position in percentage (minX-maxX or X)",
"Y axis position in percentage (minY-maxY or Y)": "Y axis position in percentage (minY-maxY or Y)", "Y axis position in percentage (minY-maxY or Y)": "Y axis position in percentage (minY-maxY or Y)",
"Year and era": "Year and era",
"Zone area": "Zone area", "Zone area": "Zone area",
"Zone cells count": "Zone cells count", "Zone cells count": "Zone cells count",
"Zone description": "Zone description", "Zone description": "Zone description",
@ -1183,6 +1271,7 @@
"Zone type": "Zone type", "Zone type": "Zone type",
"Zones": "Zones", "Zones": "Zones",
"Zones: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Zones: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style", "Zones: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "Zones: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style",
"Zoom extent": "Zoom extent",
"Zoom map and center view in the burg": "Zoom map and center view in the burg", "Zoom map and center view in the burg": "Zoom map and center view in the burg",
"Сhase phase. Naval units pursue and rarely shell enemy fleet": "Сhase phase. Naval units pursue and rarely shell enemy fleet" "Сhase phase. Naval units pursue and rarely shell enemy fleet": "Сhase phase. Naval units pursue and rarely shell enemy fleet"
} }

View file

@ -1,18 +1,34 @@
{ {
"{{adjective}} {{noun}}": "{{noun}} {{adjective, gender}}", "{{adjective}} {{noun}}": "{{noun}} {{adjective, gender}}",
"{{noun}} of {{complement}}": "{{noun}} {{complement, of}}", "{{noun}} of {{complement}}": "{{noun}} {{complement, of}}",
"{{provinceName}} {{provinceForm}}": "{{provinceForm}} {{provinceName, of}}",
"<u>B</u>iomes": "<u>B</u>iomes",
"<u>C</u>ultures": "<u>C</u>ultures",
"<u>G</u>rid": "<u>G</u>rille",
"<u>H</u>eightmap": "Altitude",
"<u>I</u>cons": "<u>I</u>cônes",
"<u>L</u>abels": "<u>L</u>ibellés",
"<u>M</u>ilitary": "Ar<u>m</u>ées",
"<u>P</u>rovinces": "<u>P</u>rovinces",
"<u>R</u>eligions": "<u>R</u>eligions",
"<u>S</u>tates": "État<u>s</u>",
"<u>T</u>emperature": "<u>T</u>empérature",
"<u>W</u>ind Rose": "Rose des vents",
"<u>Z</u>ones": "<u>Z</u>ones",
"3D scene": "Scène 3D",
"About": "À propos", "About": "À propos",
"Activate/deactivate group": "", "Activate/deactivate group": "",
"Add a custom biome": "", "Add": "Ajouter",
"Add a font": "", "Add a custom biome": "Ajouter un biome personnalisé",
"Add a font": "Ajouter une police",
"Add a new burg. Hold Shift to add multiple": "", "Add a new burg. Hold Shift to add multiple": "",
"Add a new marker. Hold Shift to add multiple": "", "Add a new marker. Hold Shift to add multiple": "",
"Add a new province. Hold Shift to add multiple": "", "Add a new province. Hold Shift to add multiple": "",
"Add additional marker of that type": "", "Add additional marker of that type": "",
"Add an Iceberg (click on map)": "", "Add an Iceberg (click on map)": "",
"Add new namesbase": "", "Add new namesbase": "",
"Add new Regiment": "", "Add new Regiment": "Ajouter un nouveau régiment",
"Add new zone layer": "", "Add new zone layer": "Ajouter un nouveau calque de zone",
"Add or subtract value from all heights in range": "", "Add or subtract value from all heights in range": "",
"Add regiment to the battle": "", "Add regiment to the battle": "",
"Add route group": "", "Add route group": "",
@ -28,13 +44,14 @@
"Ambush: surprise attack": "", "Ambush: surprise attack": "",
"Analyze namesbase to get a validity and quality overview": "", "Analyze namesbase to get a validity and quality overview": "",
"Anchor Icons": "", "Anchor Icons": "",
"Antique": "",
"Antique big": "", "Antique big": "",
"Antique small": "", "Antique small": "",
"Apply a filter": "", "Apply a filter": "Appliquer un filtre",
"Apply assignment": "", "Apply assignment": "",
"Apply current assignment": "", "Apply current assignment": "",
"Archipelago": "Archipel", "Archipelago": "Archipel",
"Area": "", "Area": "Superficie",
"Atoll": "Atoll", "Atoll": "Atoll",
"Attach regiment to another one (include this regiment to another one)": "", "Attach regiment to another one (include this regiment to another one)": "",
"Attack foreign regiment": "", "Attack foreign regiment": "",
@ -46,6 +63,7 @@
"Auto-assign colors using generator scheme (for exported colored heightmaps)": "", "Auto-assign colors using generator scheme (for exported colored heightmaps)": "",
"Automatically add river starting from clicked cell. Hold Shift to add multiple": "", "Automatically add river starting from clicked cell. Hold Shift to add multiple": "",
"Autonomy": "", "Autonomy": "",
"Autosave interval": "Intervalle de sauvegarde",
"Average area": "", "Average area": "",
"Average discharge": "", "Average discharge": "",
"Average forces rate per state": "", "Average forces rate per state": "",
@ -55,6 +73,7 @@
"Average number of people in crew (used for total personnel calculation)": "", "Average number of people in crew (used for total personnel calculation)": "",
"Average population": "", "Average population": "",
"Average War Alert": "", "Average War Alert": "",
"Azgaar assistant": "Assistant Azgaar",
"Banner": "", "Banner": "",
"Barony": "Baronnie", "Barony": "Baronnie",
"Baroque": "Baroque", "Baroque": "Baroque",
@ -70,11 +89,15 @@
"Blobs to add, use hyphen to get a random number in range": "", "Blobs to add, use hyphen to get a random number in range": "",
"Blockade phase. Prepare or hold the blockade": "", "Blockade phase. Prepare or hold the blockade": "",
"Boarding phase. Melee units go aboard": "", "Boarding phase. Melee units go aboard": "",
"Body filter": "",
"Body opacity": "",
"Boeotian": "Béotien", "Boeotian": "Béotien",
"Bombardment phase. Attack enemy with machinery units": "", "Bombardment phase. Attack enemy with machinery units": "",
"Bor<u>d</u>ers": "Frontières",
"Borders": "Frontières", "Borders": "Frontières",
"Brotherhood": "Confrérie", "Brotherhood": "Confrérie",
"Bubble": "", "Bubble": "",
"Burg": "",
"Burg average yearly temperature": "", "Burg average yearly temperature": "",
"Burg emblem. Click to edit": "", "Burg emblem. Click to edit": "",
"Burg height above mean sea level": "", "Burg height above mean sea level": "",
@ -82,8 +105,12 @@
"Burg icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Burg icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Burg map preview": "", "Burg map preview": "",
"Burg preview generator": "", "Burg preview generator": "",
"Burgs": "",
"Burgs displayed": "", "Burgs displayed": "",
"Burgs number": "",
"Butt": "", "Butt": "",
"C<u>e</u>lls": "C<u>e</u>llules",
"C<u>o</u>ordinates": "C<u>o</u>ordonnées",
"Calculated size of image if combined": "", "Calculated size of image if combined": "",
"Caliphate": "Califat", "Caliphate": "Califat",
"Cancel assignment": "", "Cancel assignment": "",
@ -91,6 +118,7 @@
"Cancel the conversion. Previous heightmap will be restored": "", "Cancel the conversion. Previous heightmap will be restored": "",
"Cancel the creation": "", "Cancel the creation": "",
"Canton": "Canton", "Canton": "Canton",
"Canvas size": "Taille du canevas",
"Canvas size. Can be changed in general options on new map generation": "", "Canvas size. Can be changed in general options on new map generation": "",
"Captaincy": "Capitainerie", "Captaincy": "Capitainerie",
"Cells": "Cellules", "Cells": "Cellules",
@ -101,6 +129,7 @@
"Change height for all cells": "", "Change height for all cells": "",
"Change Iceberg size": "", "Change Iceberg size": "",
"Change tool power. Shortcut: + to increase; to decrease": "", "Change tool power. Shortcut: + to increase; to decrease": "",
"Charts": "",
"Check if unit is separate and can be stacked only with units of the same type": "", "Check if unit is separate and can be stacked only with units of the same type": "",
"Check to fit burg styles (icon and label size) to the submap scale": "", "Check to fit burg styles (icon and label size) to the submap scale": "",
"Check to not allow system to automatically hide labels": "", "Check to not allow system to automatically hide labels": "",
@ -236,6 +265,7 @@
"Confederation": "Confédération", "Confederation": "Confédération",
"Config markers generation options": "", "Config markers generation options": "",
"Configure burg groups": "", "Configure burg groups": "",
"Configure World": "",
"Configure world and map size and climate settings": "", "Configure world and map size and climate settings": "",
"Conglomerate": "Conglomérat", "Conglomerate": "Conglomérat",
"Connect your Dropbox account to be able to load maps from it": "", "Connect your Dropbox account to be able to load maps from it": "",
@ -249,6 +279,7 @@
"Copy selected relief icon": "", "Copy selected relief icon": "",
"Council": "Conseil", "Council": "Conseil",
"County": "Comté", "County": "Comté",
"Create": "Créer",
"Create a new group for this coastline": "", "Create a new group for this coastline": "",
"Create a new group for this label": "", "Create a new group for this label": "",
"Create a new regiment or fleet": "", "Create a new regiment or fleet": "",
@ -261,11 +292,14 @@
"Culture-random": "", "Culture-random": "",
"Culture-specific": "", "Culture-specific": "",
"Cultures": "Cultures", "Cultures": "Cultures",
"Cultures number": "",
"Cultures set": "Ensemble de cultures",
"Cultures: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Cultures: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Curved": "", "Curved": "",
"Custom": "", "Custom": "",
"Custom (not saved)": "", "Custom (not saved)": "",
"Custom name": "", "Custom name": "",
"Dark Fantasy": "",
"Dawn": "Aube", "Dawn": "Aube",
"Deanery": "Doyenné", "Deanery": "Doyenné",
"Defenders morale: ": "", "Defenders morale: ": "",
@ -286,12 +320,13 @@
"Define the size of relief icons. All relief icons will be regenerated": "", "Define the size of relief icons. All relief icons will be regenerated": "",
"Define transparency of fill color": "", "Define transparency of fill color": "",
"Define transparency of temperature leyer. Set to 0 to make it fully transparent": "", "Define transparency of temperature leyer. Set to 0 to make it fully transparent": "",
"degree Delisle (°De)": "", "degree Celsius (°C)": "degré Celsius (°C)",
"degree Fahrenheit (°F)": "", "degree Delisle (°De)": "degré Delisle (°De)",
"degree Newton (°N)": "", "degree Fahrenheit (°F)": "degré Fahrenheit (°F)",
"degree Rankine (°R)": "", "degree Newton (°N)": "degré Newton (°N)",
"degree Réaumur (°Ré)": "", "degree Rankine (°R)": "degré Rankine (°R)",
"degree Rømer (°Rø)": "", "degree Réaumur (°Ré)": "degré Réaumur (°Ré)",
"degree Rømer (°Rø)": "degré Rømer (°Rø)",
"Department": "Département", "Department": "Département",
"Dependency": "Dépendance", "Dependency": "Dépendance",
"Depress brush: drag to gradually decrease height of cells in radius by Power value": "", "Depress brush: drag to gradually decrease height of cells in radius by Power value": "",
@ -302,8 +337,9 @@
"Diamond": "", "Diamond": "",
"Diarchy": "Diarchie", "Diarchy": "Diarchie",
"Diocese": "Diocèse", "Diocese": "Diocèse",
"Diplomacy": "Diplomatie",
"Display brushes panel": "", "Display brushes panel": "",
"Displayed layers and layers order:": "", "Displayed layers and layers order:": "Calques affichés et ordre des calques",
"Disrupt (randomize) heights a bit": "", "Disrupt (randomize) heights a bit": "",
"Disrupt brush: drag to randomize height of cells in radius based on Power value": "", "Disrupt brush: drag to randomize height of cells in radius based on Power value": "",
"Distance between grid cell centers (in map scale)": "", "Distance between grid cell centers (in map scale)": "",
@ -349,6 +385,7 @@
"Duchy": "Duché", "Duchy": "Duché",
"Earldom": "Comté", "Earldom": "Comté",
"Easterling": "", "Easterling": "",
"Edit": "Éditer",
"Edit biomes style in Style Editor": "", "Edit biomes style in Style Editor": "",
"Edit burg groups": "", "Edit burg groups": "",
"Edit coastline group style in Style Editor": "", "Edit coastline group style in Style Editor": "",
@ -378,22 +415,26 @@
"Edit zones style in Style Editor": "", "Edit zones style in Style Editor": "",
"Elevate brush: drag to gradually increase height of cells in radius by Power value": "", "Elevate brush: drag to gradually increase height of cells in radius by Power value": "",
"Elevation profile": "", "Elevation profile": "",
"Emblem shape": "Forme des emblèmes",
"Emblems": "Emblèmes", "Emblems": "Emblèmes",
"Emblems: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Emblems: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Emirate": "Émirat", "Emirate": "Émirat",
"Empire": "Empire", "Empire": "Empire",
"End battle: apply current results and close the screen": "", "End battle: apply current results and close the screen": "",
"English": "",
"Enter API key. Note: the Generator doesn't store the key or any generated data": "", "Enter API key. Note: the Generator doesn't store the key or any generated data": "",
"Enter custom form name": "", "Enter custom form name": "",
"Enter style preset name": "", "Enter style preset name": "",
"Eparchy": "Éparchie", "Eparchy": "Éparchie",
"Equirectangular projection is used: distortion is maximum on poles. Use map with aspect ratio 2:1 for best result": "", "Equirectangular projection is used: distortion is maximum on poles. Use map with aspect ratio 2:1 for best result": "",
"Erebor": "", "Erebor": "",
"European": "",
"Evaporation from lake surface. If evaporation > supply, the lake water is saline. If difference is high, the lake becomes dry": "", "Evaporation from lake surface. If evaporation > supply, the lake water is saline. If difference is high, the lake becomes dry": "",
"Evening": "Soir", "Evening": "Soir",
"Examples. Click to re-generate": "", "Examples. Click to re-generate": "",
"Exarchate": "Exarchat", "Exarchate": "Exarchat",
"Execute the template": "", "Execute the template": "",
"Export": "Exporter",
"Fantasy world Meridian length relative to real-world Earth (20k km)": "", "Fantasy world Meridian length relative to real-world Earth (20k km)": "",
"Fantasy1": "", "Fantasy1": "",
"Fantasy2": "", "Fantasy2": "",
@ -439,7 +480,9 @@
"Generate random name for the lake": "", "Generate random name for the lake": "",
"Generate random name for the river": "", "Generate random name for the river": "",
"Generate route name": "", "Generate route name": "",
"Generator settings:": "",
"Generic": "", "Generic": "",
"Globe": "",
"Gondor": "", "Gondor": "",
"Gonfalon": "", "Gonfalon": "",
"Google font": "", "Google font": "",
@ -449,7 +492,11 @@
"Gray paper": "", "Gray paper": "",
"Grid": "Grille", "Grid": "Grille",
"Grid: click to toggle, drag to raise or lower. Ctrl + click to edit layer style and select type": "", "Grid: click to toggle, drag to raise or lower. Ctrl + click to edit layer style and select type": "",
"Growth rate": "Taux de croissance",
"Guidon": "", "Guidon": "",
"Halo blur": "Flou du halo",
"Halo opacity": "Opacité du halo",
"Halo width": "Largeur du halo",
"Heater": "", "Heater": "",
"Heightmap": "Altitude", "Heightmap": "Altitude",
"Heightmap edit mode": "", "Heightmap edit mode": "",
@ -472,6 +519,7 @@
"Hide the group selection": "", "Hide the group selection": "",
"Hide the label offset section": "", "Hide the label offset section": "",
"Hide the letter spacing section": "", "Hide the letter spacing section": "",
"High Fantasy": "",
"High Island": "", "High Island": "",
"Highland": "", "Highland": "",
"Hill: small blob": "", "Hill: small blob": "",
@ -483,7 +531,6 @@
"ia": "ie", "ia": "ie",
"Ice": "Glace", "Ice": "Glace",
"Icebergs and glaciers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Icebergs and glaciers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Icons": "Icônes",
"If height is greater or equal to X and less or equal to Y, then perform an operation Z with operand V": "", "If height is greater or equal to X and less or equal to Y, then perform an operation Z with operand V": "",
"Image scale relative to image size (e.g. 5x)": "", "Image scale relative to image size (e.g. 5x)": "",
"Imamah": "Imamat", "Imamah": "Imamat",
@ -491,6 +538,7 @@
"Increases the polygon count to smooth the sharp points. Please note that it can take some time to calculate": "", "Increases the polygon count to smooth the sharp points. Please note that it can take some time to calculate": "",
"Indented 3": "", "Indented 3": "",
"Inherit": "", "Inherit": "",
"Interface size": "Taille de l'interface",
"Invert heightmap along the axes": "", "Invert heightmap along the axes": "",
"Iran small": "", "Iran small": "",
"Iron Hills": "", "Iron Hills": "",
@ -506,6 +554,7 @@
"Kingdom": "Royaume", "Kingdom": "Royaume",
"Kite": "", "Kite": "",
"Kiwiroo": "", "Kiwiroo": "",
"Label": "Libellé",
"Labels": "Libellés", "Labels": "Libellés",
"Labels: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Labels: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Lake": "Lac", "Lake": "Lac",
@ -517,12 +566,13 @@
"Lake shore length in selected units": "", "Lake shore length in selected units": "",
"Lake water supply. If supply > evaporation and there is an outlet, the lake water is fresh. If supply is very low, the lake becomes dry": "", "Lake water supply. If supply > evaporation and there is an outlet, the lake water is fresh. If supply is very low, the lake becomes dry": "",
"Lakes": "Lacs", "Lakes": "Lacs",
"Land": "", "Land": "Terre",
"Landgrave": "Landgraviat", "Landgrave": "Landgraviat",
"Landing phase. Amphibious attack. Units are vulnerable against prepared defense": "", "Landing phase. Amphibious attack. Units are vulnerable against prepared defense": "",
"Landing: amphibious attack": "", "Landing: amphibious attack": "",
"Landmass": "Terres émergées", "Landmass": "Terres émergées",
"Landmass area in selected units": "", "Landmass area in selected units": "",
"Language": "Langue",
"Layers": "Calques", "Layers": "Calques",
"Layers preset:": "Préréglage de calques", "Layers preset:": "Préréglage de calques",
"Layers reduction rate. Increase to improve performance": "", "Layers reduction rate. Increase to improve performance": "",
@ -535,8 +585,8 @@
"Line simplification rate. Increase to slightly improve performance": "", "Line simplification rate. Increase to slightly improve performance": "",
"Line: select two points to change heights along the line": "", "Line: select two points to change heights along the line": "",
"Linear": "", "Linear": "",
"Load": "Charger",
"Load fully-functional map (.map or .gz formats)": "", "Load fully-functional map (.map or .gz formats)": "",
"Load Google Translate and select language. Note that automatic translation can break some page functional. In this case reset the language back to English or refresh the page": "",
"Load image to convert": "", "Load image to convert": "",
"Load map file (.map or .gz) file from URL. Note that the server should allow CORS": "", "Load map file (.map or .gz) file from URL. Note that the server should allow CORS": "",
"Load map file (.map or .gz) from your Dropbox": "", "Load map file (.map or .gz) from your Dropbox": "",
@ -555,14 +605,19 @@
"Manually re-assign provinces": "", "Manually re-assign provinces": "",
"Map coordinates on globe": "", "Map coordinates on globe": "",
"Map generation settings. Generate a new map to apply the settings": "", "Map generation settings. Generate a new map to apply the settings": "",
"Map name": "Nom de la carte",
"Map presentation in 3D scene. Works best for heightmap. Cannot be used for editing": "", "Map presentation in 3D scene. Works best for heightmap. Cannot be used for editing": "",
"Map seed": "",
"Map seed number. Press 'Enter' to apply. Seed produces the same map only if canvas size and options are the same": "", "Map seed number. Press 'Enter' to apply. Seed produces the same map only if canvas size and options are the same": "",
"Map settings (new map to apply):": "",
"Mar<u>k</u>ers": "Marqueurs",
"Marble big": "", "Marble big": "",
"Marble Blue": "", "Marble Blue": "",
"Marble Blue big": "", "Marble Blue big": "",
"Marble small": "", "Marble small": "",
"Marches": "Marche", "Marches": "Marche",
"Margrave": "Margraviat", "Margrave": "Margraviat",
"Marker": "",
"Marker element size in pixels": "", "Marker element size in pixels": "",
"Marker icon": "", "Marker icon": "",
"Marker icon shift (by X and by Y axis), percent. Set to 50 to position icon in center": "", "Marker icon shift (by X and by Y axis), percent. Set to 50 to position icon in center": "",
@ -597,10 +652,12 @@
"Multiply all heights in range by factor": "", "Multiply all heights in range by factor": "",
"Municipality": "Municipalité", "Municipality": "Municipalité",
"Names data: a comma separated list of source names used for names generation": "", "Names data: a comma separated list of source names used for names generation": "",
"Namesbase": "",
"Nautical league (nlg)": "Lieue nautique (nlg)", "Nautical league (nlg)": "Lieue nautique (nlg)",
"Nautical mile (nmi)": "Mile nautique (nmi)", "Nautical mile (nmi)": "Mile nautique (nmi)",
"Naval": "Naval", "Naval": "Naval",
"Naval Battle: naval units combat": "", "Naval Battle: naval units combat": "",
"New Map": "Nouvelle carte",
"New Map!": "Nouvelle carte !", "New Map!": "Nouvelle carte !",
"Night": "Nuit", "Night": "Nuit",
"No": "", "No": "",
@ -609,6 +666,7 @@
"Noldor": "", "Noldor": "",
"Nomadic": "", "Nomadic": "",
"Noon": "Midi", "Noon": "Midi",
"Notes": "Notes",
"Number of burgs in group": "", "Number of burgs in group": "",
"Number of columns": "", "Number of columns": "",
"Number of lake inlet rivers": "", "Number of lake inlet rivers": "",
@ -620,6 +678,7 @@
"Old French": "", "Old French": "",
"Old World": "", "Old World": "",
"Oligarchy": "Oligarchie", "Oligarchy": "Oligarchie",
"Onload behavior": "",
"Open Battle Simulation Tutorial": "", "Open Battle Simulation Tutorial": "",
"Open burg map in a new tab": "", "Open burg map in a new tab": "",
"Open Image Converter": "", "Open Image Converter": "",
@ -632,6 +691,7 @@
"Open Template Editor Tutorial": "", "Open Template Editor Tutorial": "",
"Open wiki article scale and distance to know about grid scale": "", "Open wiki article scale and distance to know about grid scale": "",
"Options": "Options", "Options": "Options",
"Oriental": "",
"Oval": "", "Oval": "",
"Pangea": "Pangée", "Pangea": "Pangée",
"Parish": "", "Parish": "",
@ -656,11 +716,14 @@
"Place icons in a bulk": "", "Place icons in a bulk": "",
"Places of interest": "Lieux d'intérêt", "Places of interest": "Lieux d'intérêt",
"Plaster": "", "Plaster": "",
"Points number": "Nombre de points",
"Polish": "", "Polish": "",
"Political map": "Carte politique", "Political map": "Carte politique",
"Populate with letters that can be used twice in a row (geminates)": "", "Populate with letters that can be used twice in a row (geminates)": "",
"Populatio<u>n</u>": "Populatio<u>n</u>",
"Population": "Population", "Population": "Population",
"Population map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Population map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Precipit<u>a</u>tion": "Précipit<u>a</u>tion",
"Precipitation": "Précipitation", "Precipitation": "Précipitation",
"Precipitation map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Precipitation map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Prefecture": "Préfecture", "Prefecture": "Préfecture",
@ -676,6 +739,7 @@
"Provinces": "Provinces", "Provinces": "Provinces",
"Provinces displayed": "", "Provinces displayed": "",
"Provinces map": "Carte des provinces", "Provinces map": "Carte des provinces",
"Provinces ratio": "",
"Provinces: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Provinces: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Pure landmass": "Terres émergées", "Pure landmass": "Terres émergées",
"Pursue phase. Mounted units excel": "", "Pursue phase. Mounted units excel": "",
@ -700,6 +764,7 @@
"Refresh the Editor": "", "Refresh the Editor": "",
"Refresh the overview screen": "", "Refresh the overview screen": "",
"Refresh the Overview screen": "", "Refresh the Overview screen": "",
"Regenerate": "Regénérer",
"Regenerate burg names based on assigned culture": "", "Regenerate burg names based on assigned culture": "",
"Regenerate diplomatical relations": "", "Regenerate diplomatical relations": "",
"Regenerate emblem": "", "Regenerate emblem": "",
@ -713,11 +778,13 @@
"Regiment type (land or naval). Click to change": "", "Regiment type (land or naval). Click to change": "",
"Region": "Région", "Region": "Région",
"Release all provinces. It will make all provinces with burgs independent": "", "Release all provinces. It will make all provinces with burgs independent": "",
"Relie<u>f</u>": "Relie<u>f</u>",
"Relief": "Relief", "Relief": "Relief",
"Relief and biome icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Relief and biome icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Relief Icons": "", "Relief Icons": "",
"Religions": "Religions", "Religions": "Religions",
"Religions map": "Carte des religions", "Religions map": "Carte des religions",
"Religions number": "Nombre de religions",
"Religions: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Religions: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Relocate burg. Click on map to move the burg": "", "Relocate burg. Click on map to move the burg": "",
"Remove all provinces. States will remain as they are": "", "Remove all provinces. States will remain as they are": "",
@ -743,13 +810,15 @@
"Rename burgs in bulk": "", "Rename burgs in bulk": "",
"Render cells below the sea level (with height less than 20)": "", "Render cells below the sea level (with height less than 20)": "",
"Render heightmap data as a small monochrome image": "", "Render heightmap data as a small monochrome image": "",
"Rendering": "Rendu",
"Rendering order: higher values are rendered on top": "", "Rendering order: higher values are rendered on top": "",
"Republic": "République", "Republic": "République",
"Rescaler: change height if condition is fulfilled": "", "Rescaler: change height if condition is fulfilled": "",
"Reservation": "Réserve", "Reservation": "Réserve",
"Reset diplomatical relations of selected state to Neutral": "", "Reset diplomatical relations of selected state to Neutral": "",
"Reset language to English": "",
"Reset map zoom": "", "Reset map zoom": "",
"Reset to defaults": "",
"Reset Zoom": "Réinit Zoom",
"Restore default canvas size": "", "Restore default canvas size": "",
"Restore default namesbase": "", "Restore default namesbase": "",
"Restore default theme color: pale magenta": "", "Restore default theme color: pale magenta": "",
@ -758,6 +827,7 @@
"Restore the defaults and re-define biomes based on current moisture and temperature": "", "Restore the defaults and re-define biomes based on current moisture and temperature": "",
"Retreat phase. Units strength reduced": "", "Retreat phase. Units strength reduced": "",
"Rhombille grid": "", "Rhombille grid": "",
"Ri<u>v</u>ers": "Fleu<u>v</u>es",
"River": "Fleuve", "River": "Fleuve",
"River discharge (flux power)": "", "River discharge (flux power)": "",
"River drainage basin (watershed)": "", "River drainage basin (watershed)": "",
@ -766,17 +836,19 @@
"River source additional width. Default value is 0": "", "River source additional width. Default value is 0": "",
"River width multiplier. Default value is 1": "", "River width multiplier. Default value is 1": "",
"Rivers": "Fleuves", "Rivers": "Fleuves",
"Rivers number": "", "Rivers number": "Nombre de fleuves",
"Rivers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Rivers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Ro<u>u</u>tes": "Ro<u>u</u>tes",
"Roll dice to update random factor": "", "Roll dice to update random factor": "",
"Roman": "", "Roman": "",
"Round": "", "Round": "",
"Route length in selected units": "", "Route length in selected units": "",
"Routes": "Routes", "Routes": "Routes",
"Routes number": "", "Routes number": "Nombre de routes",
"Rulers": "Règles", "Rulers": "Règles",
"Rulers: click to toggle, drag to move, click on label to delete. Ctrl + click to edit layer style": "", "Rulers: click to toggle, drag to move, click on label to delete. Ctrl + click to edit layer style": "",
"Satrapy": "Satrapie", "Satrapy": "Satrapie",
"Save": "Sauver",
"Save biomes-related data as a text file (.csv)": "", "Save biomes-related data as a text file (.csv)": "",
"Save burgs-related data as a text file (.csv)": "", "Save burgs-related data as a text file (.csv)": "",
"Save current JSON as a new style preset": "", "Save current JSON as a new style preset": "",
@ -828,6 +900,7 @@
"Select Dune icon": "", "Select Dune icon": "",
"Select element group": "", "Select element group": "",
"Select element id": "", "Select element id": "",
"Select element:": "",
"Select emblem shape. Can be changed indivudually in Emblem editor": "", "Select emblem shape. Can be changed indivudually in Emblem editor": "",
"Select file and create a link to share with your friends": "", "Select file and create a link to share with your friends": "",
"Select filter for element. Please note filters may cause performance issues!": "", "Select filter for element. Please note filters may cause performance issues!": "",
@ -844,6 +917,7 @@
"Select Hill icon": "", "Select Hill icon": "",
"Select how many distance units are in one pixel": "", "Select how many distance units are in one pixel": "",
"Select icon": "", "Select icon": "",
"Select interface language": "",
"Select lake type (group)": "", "Select lake type (group)": "",
"Select line interpolation type": "", "Select line interpolation type": "",
"Select marker type for newly added markers.": "", "Select marker type for newly added markers.": "",
@ -1009,19 +1083,21 @@
"Shows whether there is already a preset with this name": "", "Shows whether there is already a preset with this name": "",
"Siege: burg blockade and storming": "", "Siege: burg blockade and storming": "",
"Simple": "", "Simple": "",
"Size variety": "",
"Skirmish phase. Ranged units excel": "", "Skirmish phase. Ranged units excel": "",
"Smooth 6": "", "Smooth 6": "",
"Smooth 9": "", "Smooth 9": "",
"Smooth all heights a bit": "", "Smooth all heights a bit": "",
"Smooth brush: drag to level height of cells in radius to height of adjacent cells": "", "Smooth brush: drag to level height of cells in radius to height of adjacent cells": "",
"Smooth the map replacing cell heights by an average values of its neighbors": "", "Smooth the map replacing cell heights by an average values of its neighbors": "",
"Soided paper vertical": "",
"Soiled paper horizontal": "", "Soiled paper horizontal": "",
"Soiled paper vertical": "",
"Sortie phase. Make a sortie from besieged town. Melee units excel": "", "Sortie phase. Make a sortie from besieged town. Melee units excel": "",
"Spain small": "", "Spain small": "",
"Spanish": "", "Spanish": "",
"Speak the examples. You can change voice and language in options": "", "Speak the examples. You can change voice and language in options": "",
"Speak the name. You can change voice and language in options": "", "Speak the name. You can change voice and language in options": "",
"Speaker voice": "Voix du locuteur",
"Split map into smaller png tiles and download as zip archive": "", "Split map into smaller png tiles and download as zip archive": "",
"Split regiment into 2 separate ones": "", "Split regiment into 2 separate ones": "",
"Square": "", "Square": "",
@ -1029,6 +1105,7 @@
"Square grid": "", "Square grid": "",
"Squared": "", "Squared": "",
"Squarish": "", "Squarish": "",
"Standard": "",
"Standard 3": "", "Standard 3": "",
"Standard 4": "", "Standard 4": "",
"Standard view mode that allows to edit the map": "", "Standard view mode that allows to edit the map": "",
@ -1040,12 +1117,13 @@
"State borders: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "State borders: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"State form name": "", "State form name": "",
"State full name": "", "State full name": "",
"State labels": "Libellés d'état",
"State name. Click to sort": "", "State name. Click to sort": "",
"State population. Click to sort": "", "State population. Click to sort": "",
"State short name": "", "State short name": "",
"State-specific": "", "State-specific": "",
"States": "États", "States": "États",
"States number": "", "States number": "Nombre d'états",
"States: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "States: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Stone big": "", "Stone big": "",
"Stone small": "", "Stone small": "",
@ -1053,6 +1131,8 @@
"Strait: centered vertical or horizontal depression": "", "Strait: centered vertical or horizontal depression": "",
"Style": "Style", "Style": "Style",
"Style JSON is getting formed based the current settings, but can be entered manually": "", "Style JSON is getting formed based the current settings, but can be entered manually": "",
"Style preset:": "Préréglage de style :",
"Submap": "Sous-carte",
"Submit to Reddit": "", "Submit to Reddit": "",
"Sultanat": "Sultanat", "Sultanat": "Sultanat",
"Support Ukraine": "", "Support Ukraine": "",
@ -1062,6 +1142,7 @@
"Taklamakan": "", "Taklamakan": "",
"Targe": "", "Targe": "",
"Targe2": "", "Targe2": "",
"Te<u>x</u>ture": "Te<u>x</u>ture",
"Temperature": "Température", "Temperature": "Température",
"Temperature controls response randomness; higher values mean more creativity, lower values mean more predictability": "", "Temperature controls response randomness; higher values mean more creativity, lower values mean more predictability": "",
"Temperature map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Temperature map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
@ -1072,7 +1153,8 @@
"Texture": "Texture", "Texture": "Texture",
"Texture overlay: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Texture overlay: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"The {{noun}}": "{{noun, the}}", "The {{noun}}": "{{noun, the}}",
"The selected layer is not visible. Toogle it on to see style changes effect": "", "The selected layer is not visible. Toggle it on to see style changes effect": "",
"Theme color": "Couleur de thème",
"Theocracy": "Théocracie", "Theocracy": "Théocracie",
"Timber Cut big": "", "Timber Cut big": "",
"Timber Cut small": "", "Timber Cut small": "",
@ -1088,18 +1170,21 @@
"Toggle wireframe mode": "", "Toggle wireframe mode": "",
"Tool settings that don't affect maps. Changes are getting applied immediately": "", "Tool settings that don't affect maps. Changes are getting applied immediately": "",
"Tools": "Outils", "Tools": "Outils",
"Tooltip size": "Taille des info-bulles",
"Total burgs number": "", "Total burgs number": "",
"Total cells number": "", "Total cells number": "",
"Total land area": "", "Total land area": "",
"Total land cells number": "", "Total land cells number": "",
"Total map area": "", "Total map area": "Superficie totale de la carte",
"Total map population": "", "Total map population": "Population totale de la carte",
"Total military forces": "", "Total military forces": "",
"Total military personnel (considering crew). Click to sort": "", "Total military personnel (considering crew). Click to sort": "",
"Total military personnel (not considering crew). Click to sort": "", "Total military personnel (not considering crew). Click to sort": "",
"Total population": "", "Total population": "Population totale",
"Trade Company": "Compagnie Commerciale", "Trade Company": "Compagnie Commerciale",
"Trade routes: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Trade routes: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Transform": "",
"Transparency": "Transparence",
"Triangle": "", "Triangle": "",
"Triangle grid (horizontal)": "", "Triangle grid (horizontal)": "",
"Triangle grid (vertical)": "", "Triangle grid (vertical)": "",
@ -1142,6 +1227,7 @@
"United Republic": "République Unie", "United Republic": "République Unie",
"United States": "États Unis", "United States": "États Unis",
"United Tribes": "Tribus Unies", "United Tribes": "Tribus Unies",
"Units": "Unités",
"Update the scene": "", "Update the scene": "",
"Upload a namesbase from PC, extending the current set": "", "Upload a namesbase from PC, extending the current set": "",
"Upload a namesbase from PC, replacing the current set": "", "Upload a namesbase from PC, replacing the current set": "",
@ -1155,6 +1241,7 @@
"Versta (vr)": "", "Versta (vr)": "",
"Vesica Piscis": "", "Vesica Piscis": "",
"Viceroyalty": "Vice-royauté", "Viceroyalty": "Vice-royauté",
"View mode:": "Mode de vue",
"Vignette": "Vignette", "Vignette": "Vignette",
"Vignette (border fading): click to toggle. Ctrl + click to edit style": "", "Vignette (border fading): click to toggle. Ctrl + click to edit style": "",
"Vignette rectangle position (in percents)": "", "Vignette rectangle position (in percents)": "",
@ -1176,13 +1263,15 @@
"Withdrawal phase. Naval units try to escape enemy fleet": "", "Withdrawal phase. Naval units try to escape enemy fleet": "",
"X axis position in percentage (minX-maxX or X)": "", "X axis position in percentage (minX-maxX or X)": "",
"Y axis position in percentage (minY-maxY or Y)": "", "Y axis position in percentage (minY-maxY or Y)": "",
"Zone area": "", "Year and era": "Année et ère",
"Zone area": "Superficie de la zone",
"Zone cells count": "", "Zone cells count": "",
"Zone description": "", "Zone description": "Description de la zone",
"Zone population": "", "Zone population": "Population de la zone",
"Zone type": "", "Zone type": "Type de zone",
"Zones": "Zones", "Zones": "Zones",
"Zones: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "", "Zones: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style": "",
"Zoom extent": "",
"Zoom map and center view in the burg": "", "Zoom map and center view in the burg": "",
"Сhase phase. Naval units pursue and rarely shell enemy fleet": "" "Сhase phase. Naval units pursue and rarely shell enemy fleet": ""
} }

View file

@ -220,7 +220,7 @@ oceanLayers
.attr("height", graphHeight); .attr("height", graphHeight);
document.addEventListener("DOMContentLoaded", async () => { document.addEventListener("DOMContentLoaded", async () => {
if (window.locale !== "en") await i18n; await initLocale();
if (!location.hostname) { if (!location.hostname) {
const wiki = "https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Run-FMG-locally"; const wiki = "https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Run-FMG-locally";
alertMessage.innerHTML = /* html */ `Fantasy Map Generator cannot run serverless. Follow the <a href="${wiki}" target="_blank">instructions</a> on how you can easily run a local web-server`; alertMessage.innerHTML = /* html */ `Fantasy Map Generator cannot run serverless. Follow the <a href="${wiki}" target="_blank">instructions</a> on how you can easily run a local web-server`;

View file

@ -149,6 +149,7 @@ optionsContent.addEventListener("change", event => {
else if (id === "eraInput") changeEra(); else if (id === "eraInput") changeEra();
else if (id === "stateLabelsModeInput") options.stateLabelsMode = value; else if (id === "stateLabelsModeInput") options.stateLabelsMode = value;
else if (id === "azgaarAssistant") toggleAssistant(); else if (id === "azgaarAssistant") toggleAssistant();
else if (id === "language") changeLanguage(value);
}); });
optionsContent.addEventListener("click", event => { optionsContent.addEventListener("click", event => {
@ -162,8 +163,6 @@ optionsContent.addEventListener("click", event => {
else if (id === "translateExtent") toggleTranslateExtent(event.target); else if (id === "translateExtent") toggleTranslateExtent(event.target);
else if (id === "speakerTest") testSpeaker(); else if (id === "speakerTest") testSpeaker();
else if (id === "themeColorRestore") restoreDefaultThemeColor(); else if (id === "themeColorRestore") restoreDefaultThemeColor();
else if (id === "loadGoogleTranslateButton") loadGoogleTranslate();
else if (id === "resetLanguage") resetLanguage();
}); });
function mapSizeInputChange() { function mapSizeInputChange() {
@ -462,44 +461,6 @@ function changeDialogsTheme(themeColor, transparency) {
}); });
} }
function loadGoogleTranslate() {
const script = document.createElement("script");
script.src = "https://translate.google.com/translate_a/element.js?cb=initGoogleTranslate";
script.onload = () => {
byId("loadGoogleTranslateButton")?.remove();
// replace mapLayers underline <u> with bare text to avoid translation issue
document
.getElementById("mapLayers")
.querySelectorAll("li")
.forEach(el => {
const text = el.innerHTML.replace(/<u>(.+)<\/u>/g, "$1");
el.innerHTML = text;
});
};
document.head.appendChild(script);
}
function initGoogleTranslate() {
new google.translate.TranslateElement(
{pageLanguage: "en", layout: google.translate.TranslateElement.InlineLayout.VERTICAL},
"google_translate_element"
);
}
function resetLanguage() {
const languageSelect = document.querySelector("#google_translate_element select");
if (!languageSelect.value) return;
languageSelect.value = "en";
languageSelect.handleChange(new Event("change"));
// do once again to actually reset the language
languageSelect.value = "en";
languageSelect.handleChange(new Event("change"));
}
function changeZoomExtent(value) { function changeZoomExtent(value) {
if (+zoomExtentMin.value > +zoomExtentMax.value) { if (+zoomExtentMin.value > +zoomExtentMax.value) {
[zoomExtentMin.value, zoomExtentMax.value] = [zoomExtentMax.value, zoomExtentMin.value]; [zoomExtentMin.value, zoomExtentMax.value] = [zoomExtentMax.value, zoomExtentMin.value];
@ -562,6 +523,8 @@ function applyStoredOptions() {
if (stored("tooltipSize")) changeTooltipSize(stored("tooltipSize")); if (stored("tooltipSize")) changeTooltipSize(stored("tooltipSize"));
if (stored("regions")) changeStatesNumber(stored("regions")); if (stored("regions")) changeStatesNumber(stored("regions"));
if (stored("language")) changeLanguage(stored("language"));
else changeLanguage("en");
uiSize.max = uiSize.max = getUImaxSize(); uiSize.max = uiSize.max = getUImaxSize();
if (stored("uiSize")) changeUiSize(+stored("uiSize")); if (stored("uiSize")) changeUiSize(+stored("uiSize"));
@ -696,6 +659,10 @@ function changeEra() {
options.era = eraInput.value; options.era = eraInput.value;
} }
function changeLanguage(value) {
options.language = value;
}
async function openTemplateSelectionDialog() { async function openTemplateSelectionDialog() {
const HeightmapSelectionDialog = await import("../dynamic/heightmap-selection.js?v=1.96.00"); const HeightmapSelectionDialog = await import("../dynamic/heightmap-selection.js?v=1.96.00");
HeightmapSelectionDialog.open(); HeightmapSelectionDialog.open();

View file

@ -500,7 +500,7 @@
> >
<li <li
id="toggleTexture" id="toggleTexture"
data-text="Texture" data-html="Te<u>x</u>ture"
data-tip="Texture overlay: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Texture overlay: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="X" data-shortcut="X"
onclick="toggleTexture(event)" onclick="toggleTexture(event)"
@ -509,7 +509,7 @@
</li> </li>
<li <li
id="toggleHeight" id="toggleHeight"
data-text="Heightmap" data-html="<u>H</u>eightmap"
data-tip="Heightmap: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Heightmap: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="H" data-shortcut="H"
onclick="toggleHeight(event)" onclick="toggleHeight(event)"
@ -518,7 +518,7 @@
</li> </li>
<li <li
id="toggleBiomes" id="toggleBiomes"
data-text="Biomes" data-html="<u>B</u>iomes"
data-tip="Biomes: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Biomes: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="B" data-shortcut="B"
onclick="toggleBiomes(event)" onclick="toggleBiomes(event)"
@ -527,7 +527,7 @@
</li> </li>
<li <li
id="toggleCells" id="toggleCells"
data-text="Cells" data-html="C<u>e</u>lls"
data-tip="Cells structure: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Cells structure: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="E" data-shortcut="E"
onclick="toggleCells(event)" onclick="toggleCells(event)"
@ -536,7 +536,7 @@
</li> </li>
<li <li
id="toggleGrid" id="toggleGrid"
data-text="Grid" data-html="<u>G</u>rid"
data-tip="Grid: click to toggle, drag to raise or lower. Ctrl + click to edit layer style and select type" data-tip="Grid: click to toggle, drag to raise or lower. Ctrl + click to edit layer style and select type"
data-shortcut="G" data-shortcut="G"
onclick="toggleGrid(event)" onclick="toggleGrid(event)"
@ -545,7 +545,7 @@
</li> </li>
<li <li
id="toggleCoordinates" id="toggleCoordinates"
data-text="Coordinates" data-html="C<u>o</u>ordinates"
data-tip="Coordinate grid: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Coordinate grid: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="O" data-shortcut="O"
onclick="toggleCoordinates(event)" onclick="toggleCoordinates(event)"
@ -554,7 +554,7 @@
</li> </li>
<li <li
id="toggleCompass" id="toggleCompass"
data-text="Wind Rose" data-html="<u>W</u>ind Rose"
data-tip="Wind (Compass) Rose: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Wind (Compass) Rose: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="W" data-shortcut="W"
onclick="toggleCompass(event)" onclick="toggleCompass(event)"
@ -563,7 +563,7 @@
</li> </li>
<li <li
id="toggleRivers" id="toggleRivers"
data-text="Rivers" data-html="Ri<u>v</u>ers"
data-tip="Rivers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Rivers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="V" data-shortcut="V"
onclick="toggleRivers(event)" onclick="toggleRivers(event)"
@ -572,7 +572,7 @@
</li> </li>
<li <li
id="toggleRelief" id="toggleRelief"
data-text="Relief" data-html="Relie<u>f</u>"
data-tip="Relief and biome icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Relief and biome icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="F" data-shortcut="F"
onclick="toggleRelief(event)" onclick="toggleRelief(event)"
@ -581,7 +581,7 @@
</li> </li>
<li <li
id="toggleReligions" id="toggleReligions"
data-text="Religions" data-html="<u>R</u>eligions"
data-tip="Religions: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Religions: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="R" data-shortcut="R"
onclick="toggleReligions(event)" onclick="toggleReligions(event)"
@ -590,7 +590,7 @@
</li> </li>
<li <li
id="toggleCultures" id="toggleCultures"
data-text="Cultures" data-html="<u>C</u>ultures"
data-tip="Cultures: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Cultures: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="C" data-shortcut="C"
onclick="toggleCultures(event)" onclick="toggleCultures(event)"
@ -599,7 +599,7 @@
</li> </li>
<li <li
id="toggleStates" id="toggleStates"
data-text="States" data-html="<u>S</u>tates"
data-tip="States: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="States: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="S" data-shortcut="S"
onclick="toggleStates(event)" onclick="toggleStates(event)"
@ -608,7 +608,7 @@
</li> </li>
<li <li
id="toggleProvinces" id="toggleProvinces"
data-text="Provinces" data-html="<u>P</u>rovinces"
data-tip="Provinces: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Provinces: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="P" data-shortcut="P"
onclick="toggleProvinces(event)" onclick="toggleProvinces(event)"
@ -617,7 +617,7 @@
</li> </li>
<li <li
id="toggleZones" id="toggleZones"
data-text="Zones" data-html="<u>Z</u>ones"
data-tip="Zones: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Zones: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="Z" data-shortcut="Z"
onclick="toggleZones(event)" onclick="toggleZones(event)"
@ -626,7 +626,7 @@
</li> </li>
<li <li
id="toggleBorders" id="toggleBorders"
data-text="Borders" data-html="Bor<u>d</u>ers"
data-tip="State borders: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="State borders: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="D" data-shortcut="D"
onclick="toggleBorders(event)" onclick="toggleBorders(event)"
@ -635,7 +635,7 @@
</li> </li>
<li <li
id="toggleRoutes" id="toggleRoutes"
data-text="Routes" data-html="Ro<u>u</u>tes"
data-tip="Trade routes: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Trade routes: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="U" data-shortcut="U"
onclick="toggleRoutes(event)" onclick="toggleRoutes(event)"
@ -644,7 +644,7 @@
</li> </li>
<li <li
id="toggleTemperature" id="toggleTemperature"
data-text="Temperature" data-html="<u>T</u>emperature"
data-tip="Temperature map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Temperature map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="T" data-shortcut="T"
onclick="toggleTemperature(event)" onclick="toggleTemperature(event)"
@ -653,7 +653,7 @@
</li> </li>
<li <li
id="togglePopulation" id="togglePopulation"
data-text="Population" data-html="Populatio<u>n</u>"
data-tip="Population map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Population map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="N" data-shortcut="N"
onclick="togglePopulation(event)" onclick="togglePopulation(event)"
@ -671,7 +671,7 @@
</li> </li>
<li <li
id="togglePrecipitation" id="togglePrecipitation"
data-text="Precipitation" data-html="Precipit<u>a</u>tion"
data-tip="Precipitation map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Precipitation map: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="A" data-shortcut="A"
onclick="togglePrecipitation(event)" onclick="togglePrecipitation(event)"
@ -689,7 +689,7 @@
</li> </li>
<li <li
id="toggleBurgIcons" id="toggleBurgIcons"
data-text="Icons" data-html="<u>I</u>cons"
data-tip="Burg icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Burg icons: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="I" data-shortcut="I"
onclick="toggleBurgIcons(event)" onclick="toggleBurgIcons(event)"
@ -698,7 +698,7 @@
</li> </li>
<li <li
id="toggleLabels" id="toggleLabels"
data-text="Labels" data-html="<u>L</u>abels"
data-tip="Labels: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Labels: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="L" data-shortcut="L"
onclick="toggleLabels(event)" onclick="toggleLabels(event)"
@ -707,7 +707,7 @@
</li> </li>
<li <li
id="toggleMilitary" id="toggleMilitary"
data-text="Military" data-html="<u>M</u>ilitary"
data-tip="Military forces: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Military forces: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="M" data-shortcut="M"
onclick="toggleMilitary(event)" onclick="toggleMilitary(event)"
@ -716,7 +716,7 @@
</li> </li>
<li <li
id="toggleMarkers" id="toggleMarkers"
data-text="Markers" data-html="Mar<u>k</u>ers"
data-tip="Markers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style" data-tip="Markers: click to toggle, drag to raise or lower the layer. Ctrl + click to edit layer style"
data-shortcut="K" data-shortcut="K"
onclick="toggleMarkers(event)" onclick="toggleMarkers(event)"
@ -757,22 +757,24 @@
<div class="tip">Ctrl + click to edit layer style</div> <div class="tip">Ctrl + click to edit layer style</div>
<div id="viewMode" data-tip="Set view node"> <div id="viewMode" data-tip="Set view node">
<p>View mode:</p> <p data-text="View mode:">View mode:</p>
<button data-tip="Standard view mode that allows to edit the map" id="viewStandard" class="pressed"> <button data-text="Standard" data-tip="Standard view mode that allows to edit the map" id="viewStandard" class="pressed">
Standard Standard
</button> </button>
<button <button
data-text="3D scene"
data-tip="Map presentation in 3D scene. Works best for heightmap. Cannot be used for editing" data-tip="Map presentation in 3D scene. Works best for heightmap. Cannot be used for editing"
id="viewMesh" id="viewMesh"
> >
3D scene 3D scene
</button> </button>
<button data-tip="Project map on globe. Cannot be used for editing" id="viewGlobe">Globe</button> <button data-text="Globe" data-tip="Project map on globe. Cannot be used for editing" id="viewGlobe">Globe</button>
</div> </div>
</div> </div>
<div id="styleContent" class="tabcontent"> <div id="styleContent" class="tabcontent">
<p <p
data-text="Style preset:"
data-tip="Select a style preset. State labels may required regeneration if font is changed" data-tip="Select a style preset. State labels may required regeneration if font is changed"
style="display: inline-block" style="display: inline-block"
> >
@ -799,7 +801,7 @@
onclick="requestRemoveStylePreset()" onclick="requestRemoveStylePreset()"
></button> ></button>
<p data-tip="Select an element to edit its style" style="display: inline-block">Select element:</p> <p data-text="Select element:" data-tip="Select an element to edit its style" style="display: inline-block">Select element:</p>
<select <select
data-tip="Select an element to edit its style (list is ordered alphabetically)" data-tip="Select an element to edit its style (list is ordered alphabetically)"
id="styleElementSelect" id="styleElementSelect"
@ -845,7 +847,7 @@
<table id="styleElements"> <table id="styleElements">
<caption <caption
id="styleIsOff" id="styleIsOff"
data-tip="The selected layer is not visible. Toogle it on to see style changes effect" data-tip="The selected layer is not visible. Toggle it on to see style changes effect"
> >
Ensure the element visibility is toggled on! Ensure the element visibility is toggled on!
</caption> </caption>
@ -974,7 +976,7 @@
<option value="./images/textures/folded-paper-small.jpg" data-text="Folded paper small">Folded paper small</option> <option value="./images/textures/folded-paper-small.jpg" data-text="Folded paper small">Folded paper small</option>
<option value="./images/textures/gray-paper.jpg" data-text="Gray paper">Gray paper</option> <option value="./images/textures/gray-paper.jpg" data-text="Gray paper">Gray paper</option>
<option value="./images/textures/soiled-paper.jpg" data-text="Soiled paper horizontal">Soiled paper horizontal</option> <option value="./images/textures/soiled-paper.jpg" data-text="Soiled paper horizontal">Soiled paper horizontal</option>
<option value="./images/textures/soiled-paper-vertical.jpg" data-text="Soided paper vertical">Soided paper vertical</option> <option value="./images/textures/soiled-paper-vertical.jpg" data-text="Soiled paper vertical">Soiled paper vertical</option>
<option value="./images/textures/plaster.jpg" data-text="Plaster">Plaster</option> <option value="./images/textures/plaster.jpg" data-text="Plaster">Plaster</option>
<option value="./images/textures/ocean.jpg" data-text="Ocean">Ocean</option> <option value="./images/textures/ocean.jpg" data-text="Ocean">Ocean</option>
<option value="./images/textures/antique-small.jpg" data-text="Antique small">Antique small</option> <option value="./images/textures/antique-small.jpg" data-text="Antique small">Antique small</option>
@ -1396,14 +1398,14 @@
<tbody id="styleStates" style="display: block"> <tbody id="styleStates" style="display: block">
<tr data-tip="Set states fill opacity. 0: invisible, 1: solid"> <tr data-tip="Set states fill opacity. 0: invisible, 1: solid">
<td>Body opacity</td> <td data-text="Body opacity">Body opacity</td>
<td> <td>
<slider-input id="styleStatesBodyOpacity" min="0" max="1" step="0.01"></slider-input> <slider-input id="styleStatesBodyOpacity" min="0" max="1" step="0.01"></slider-input>
</td> </td>
</tr> </tr>
<tr data-tip="Select filter for states fill. Please note filters may cause performance issues!"> <tr data-tip="Select filter for states fill. Please note filters may cause performance issues!">
<td>Body filter</td> <td data-text="Body filter">Body filter</td>
<td><select id="styleStatesBodyFilter" /></td> <td><select id="styleStatesBodyFilter" /></td>
</tr> </tr>
@ -1414,21 +1416,21 @@
</tr> </tr>
<tr data-tip="Set states halo effect width"> <tr data-tip="Set states halo effect width">
<td>Halo width</td> <td data-text="Halo width">Halo width</td>
<td> <td>
<slider-input id="styleStatesHaloWidth" min="0" max="30" step="0.1"></slider-input> <slider-input id="styleStatesHaloWidth" min="0" max="30" step="0.1"></slider-input>
</td> </td>
</tr> </tr>
<tr data-tip="Set states halo effect opacity. 0: invisible, 1: solid"> <tr data-tip="Set states halo effect opacity. 0: invisible, 1: solid">
<td>Halo opacity</td> <td data-text="Halo opacity">Halo opacity</td>
<td> <td>
<slider-input id="styleStatesHaloOpacity" min="0" max="1" step="0.01"></slider-input> <slider-input id="styleStatesHaloOpacity" min="0" max="1" step="0.01"></slider-input>
</td> </td>
</tr> </tr>
<tr data-tip="Select halo effect power (blur). Set to 0 to make it solid line" style="margin-bottom: 1em"> <tr data-tip="Select halo effect power (blur). Set to 0 to make it solid line" style="margin-bottom: 1em">
<td>Halo blur</td> <td data-text="Halo blur">Halo blur</td>
<td> <td>
<slider-input id="styleStatesHaloBlur" min="0" max="10" step="0.01"></slider-input> <slider-input id="styleStatesHaloBlur" min="0" max="10" step="0.01"></slider-input>
</td> </td>
@ -1613,7 +1615,7 @@
</div> </div>
<div id="optionsContent" class="tabcontent"> <div id="optionsContent" class="tabcontent">
<p data-tip="Map generation settings. Generate a new map to apply the settings"> <p data-text="Map settings (new map to apply):" data-tip="Map generation settings. Generate a new map to apply the settings">
Map settings (new map to apply): Map settings (new map to apply):
</p> </p>
<table> <table>
@ -1623,7 +1625,7 @@
<td> <td>
<i data-tip="Restore default canvas size" id="restoreDefaultCanvasSize" class="icon-ccw"></i> <i data-tip="Restore default canvas size" id="restoreDefaultCanvasSize" class="icon-ccw"></i>
</td> </td>
<td>Canvas size</td> <td data-text="Canvas size">Canvas size</td>
<td> <td>
<input id="mapWidthInput" class="paired" type="number" min="240" value="960" /> <input id="mapWidthInput" class="paired" type="number" min="240" value="960" />
<span>x</span> <span>x</span>
@ -1643,7 +1645,7 @@
class="icon-hourglass-1" class="icon-hourglass-1"
></i> ></i>
</td> </td>
<td>Map seed</td> <td data-text="Map seed">Map seed</td>
<td> <td>
<input id="optionsSeed" class="long" type="number" min="1" max="999999999" step="1" /> <input id="optionsSeed" class="long" type="number" min="1" max="999999999" step="1" />
</td> </td>
@ -1662,7 +1664,7 @@
<td> <td>
<i data-locked="0" id="lock_points" class="icon-lock-open"></i> <i data-locked="0" id="lock_points" class="icon-lock-open"></i>
</td> </td>
<td>Points number</td> <td data-text="Points number">Points number</td>
<td> <td>
<input <input
id="pointsInput" id="pointsInput"
@ -1683,7 +1685,7 @@
<td> <td>
<i data-locked="0" id="lock_mapName" class="icon-lock-open"></i> <i data-locked="0" id="lock_mapName" class="icon-lock-open"></i>
</td> </td>
<td>Map name</td> <td data-text="Map name">Map name</td>
<td> <td>
<input <input
id="mapName" id="mapName"
@ -1703,7 +1705,7 @@
<td> <td>
<i data-locked="0" id="lock_year" data-ids="year,era" class="icon-lock-open"></i> <i data-locked="0" id="lock_year" data-ids="year,era" class="icon-lock-open"></i>
</td> </td>
<td>Year and era</td> <td data-text="Year and era">Year and era</td>
<td> <td>
<input <input
id="yearInput" id="yearInput"
@ -1732,7 +1734,7 @@
<td> <td>
<i data-locked="0" id="lock_template" class="icon-lock-open"></i> <i data-locked="0" id="lock_template" class="icon-lock-open"></i>
</td> </td>
<td>Heightmap</td> <td data-text="Heightmap">Heightmap</td>
<td id="templateInputContainer" class="pointer"> <td id="templateInputContainer" class="pointer">
<select id="templateInput" data-stored="template" style="pointer-events: none"></select> <select id="templateInput" data-stored="template" style="pointer-events: none"></select>
</td> </td>
@ -1743,7 +1745,7 @@
<td> <td>
<i data-locked="0" id="lock_cultures" class="icon-lock-open"></i> <i data-locked="0" id="lock_cultures" class="icon-lock-open"></i>
</td> </td>
<td>Cultures number</td> <td data-text="Cultures number">Cultures number</td>
<td> <td>
<input id="culturesInput" data-stored="cultures" type="range" min="1" /> <input id="culturesInput" data-stored="cultures" type="range" min="1" />
</td> </td>
@ -1756,17 +1758,17 @@
<td> <td>
<i data-locked="0" id="lock_culturesSet" class="icon-lock-open"></i> <i data-locked="0" id="lock_culturesSet" class="icon-lock-open"></i>
</td> </td>
<td>Cultures set</td> <td data-text="Cultures set">Cultures set</td>
<td> <td>
<select id="culturesSet" data-stored="culturesSet"> <select id="culturesSet" data-stored="culturesSet">
<option value="world" data-max="32" data-text="All-world" selected>All-world</option> <option value="world" data-max="32" data-text="All-world" selected>All-world</option>
<option value="european" data-max="15">European</option> <option value="european" data-max="15" data-text="European">European</option>
<option value="oriental" data-max="13">Oriental</option> <option value="oriental" data-max="13" data-text="Oriental">Oriental</option>
<option value="english" data-max="10">English</option> <option value="english" data-max="10" data-text="English">English</option>
<option value="antique" data-max="10">Antique</option> <option value="antique" data-max="10" data-text="Antique">Antique</option>
<option value="highFantasy" data-max="17">High Fantasy</option> <option value="highFantasy" data-max="17" data-text="High Fantasy">High Fantasy</option>
<option value="darkFantasy" data-max="18">Dark Fantasy</option> <option value="darkFantasy" data-max="18" data-text="Dark Fantasy">Dark Fantasy</option>
<option value="random" data-max="100">Random</option> <option value="random" data-max="100" data-text="Random">Random</option>
</select> </select>
</td> </td>
<td></td> <td></td>
@ -1776,7 +1778,7 @@
<td> <td>
<i data-locked="0" id="lock_statesNumber" class="icon-lock-open"></i> <i data-locked="0" id="lock_statesNumber" class="icon-lock-open"></i>
</td> </td>
<td>States number</td> <td data-text="States number">States number</td>
<td colspan="2"> <td colspan="2">
<slider-input id="statesNumber" data-stored="statesNumber" min="0" max="100"></slider-input> <slider-input id="statesNumber" data-stored="statesNumber" min="0" max="100"></slider-input>
</td> </td>
@ -1786,7 +1788,7 @@
<td> <td>
<i data-locked="0" id="lock_provincesRatio" class="icon-lock-open"></i> <i data-locked="0" id="lock_provincesRatio" class="icon-lock-open"></i>
</td> </td>
<td>Provinces ratio</td> <td data-text="Provinces ratio">Provinces ratio</td>
<td colspan="2"> <td colspan="2">
<slider-input id="provincesRatio" data-stored="provincesRatio" min="0" max="100"></slider-input> <slider-input id="provincesRatio" data-stored="provincesRatio" min="0" max="100"></slider-input>
</td> </td>
@ -1796,7 +1798,7 @@
<td> <td>
<i data-locked="0" id="lock_sizeVariety" class="icon-lock-open"></i> <i data-locked="0" id="lock_sizeVariety" class="icon-lock-open"></i>
</td> </td>
<td>Size variety</td> <td data-text="Size variety">Size variety</td>
<td colspan="2"> <td colspan="2">
<slider-input id="sizeVariety" data-stored="sizeVariety" min="0" max="10" step=".1"></slider-input> <slider-input id="sizeVariety" data-stored="sizeVariety" min="0" max="10" step=".1"></slider-input>
</td> </td>
@ -1806,7 +1808,7 @@
<td> <td>
<i data-locked="0" id="lock_growthRate" class="icon-lock-open"></i> <i data-locked="0" id="lock_growthRate" class="icon-lock-open"></i>
</td> </td>
<td>Growth rate</td> <td data-text="Growth rate">Growth rate</td>
<td colspan="2"> <td colspan="2">
<slider-input id="growthRate" data-stored="growthRate" min=".1" max="2" step=".1"></slider-input> <slider-input id="growthRate" data-stored="growthRate" min=".1" max="2" step=".1"></slider-input>
</td> </td>
@ -1816,7 +1818,7 @@
<td> <td>
<i data-locked="0" id="lock_manors" class="icon-lock-open"></i> <i data-locked="0" id="lock_manors" class="icon-lock-open"></i>
</td> </td>
<td>Burgs number</td> <td data-text="Burgs number">Burgs number</td>
<td> <td>
<input id="manorsInput" data-stored="manors" type="range" min="0" max="1000" step="1" value="1000" /> <input id="manorsInput" data-stored="manors" type="range" min="0" max="1000" step="1" value="1000" />
</td> </td>
@ -1831,7 +1833,7 @@
<td> <td>
<i data-locked="0" id="lock_religionsNumber" class="icon-lock-open"></i> <i data-locked="0" id="lock_religionsNumber" class="icon-lock-open"></i>
</td> </td>
<td>Religions number</td> <td data-text="Religions number">Religions number</td>
<td colspan="2"> <td colspan="2">
<slider-input <slider-input
id="religionsNumber" id="religionsNumber"
@ -1847,7 +1849,7 @@
<td> <td>
<i data-locked="0" id="lock_stateLabelsMode" class="icon-lock-open"></i> <i data-locked="0" id="lock_stateLabelsMode" class="icon-lock-open"></i>
</td> </td>
<td>State labels</td> <td data-text="State labels">State labels</td>
<td> <td>
<select id="stateLabelsModeInput" data-stored="stateLabelsMode"> <select id="stateLabelsModeInput" data-stored="stateLabelsMode">
<option value="auto" data-text="Auto">Auto</option> <option value="auto" data-text="Auto">Auto</option>
@ -1859,7 +1861,7 @@
</tr> </tr>
</table> </table>
<p data-tip="Tool settings that don't affect maps. Changes are getting applied immediately"> <p data-text="Generator settings:" data-tip="Tool settings that don't affect maps. Changes are getting applied immediately">
Generator settings: Generator settings:
</p> </p>
<table> <table>
@ -1867,7 +1869,7 @@
data-tip="Set user interface size. Please note browser zoom also affects interface size (Ctrl + or Ctrl - to change)" data-tip="Set user interface size. Please note browser zoom also affects interface size (Ctrl + or Ctrl - to change)"
> >
<td></td> <td></td>
<td>Interface size</td> <td data-text="Interface size">Interface size</td>
<td colspan="2"> <td colspan="2">
<slider-input id="uiSize" data-stored="uiSize" min=".6" max="3" step=".1"></slider-input> <slider-input id="uiSize" data-stored="uiSize" min=".6" max="3" step=".1"></slider-input>
</td> </td>
@ -1875,7 +1877,7 @@
<tr data-tip="Set tooltip size"> <tr data-tip="Set tooltip size">
<td></td> <td></td>
<td>Tooltip size</td> <td data-text="Tooltip size">Tooltip size</td>
<td colspan="2"> <td colspan="2">
<slider-input id="tooltipSize" data-stored="tooltipSize" min="1" max="32" value="14"></slider-input> <slider-input id="tooltipSize" data-stored="tooltipSize" min="1" max="32" value="14"></slider-input>
</td> </td>
@ -1885,7 +1887,7 @@
<td> <td>
<i data-tip="Restore default theme color: pale magenta" id="themeColorRestore" class="icon-ccw"></i> <i data-tip="Restore default theme color: pale magenta" id="themeColorRestore" class="icon-ccw"></i>
</td> </td>
<td>Theme color</td> <td data-text="Theme color">Theme color</td>
<td> <td>
<input id="themeHueInput" type="range" min="0" max="359" /> <input id="themeHueInput" type="range" min="0" max="359" />
</td> </td>
@ -1896,7 +1898,7 @@
<tr data-tip="Set dialog and tool windows transparency"> <tr data-tip="Set dialog and tool windows transparency">
<td></td> <td></td>
<td>Transparency</td> <td data-text="Transparency">Transparency</td>
<td colspan="2"> <td colspan="2">
<slider-input id="transparencyInput" data-stored="transparency" min="0" max="100"></slider-input> <slider-input id="transparencyInput" data-stored="transparency" min="0" max="100"></slider-input>
</td> </td>
@ -1904,7 +1906,7 @@
<tr data-tip="Set autosave interval in minutes. Set 0 to disable autosave. Map is saved to browser memory"> <tr data-tip="Set autosave interval in minutes. Set 0 to disable autosave. Map is saved to browser memory">
<td></td> <td></td>
<td>Autosave interval</td> <td data-text="Autosave interval">Autosave interval</td>
<td> <td>
<input <input
id="autosaveIntervalInput" id="autosaveIntervalInput"
@ -1931,7 +1933,7 @@
<tr data-tip="Set what Generator should do on load"> <tr data-tip="Set what Generator should do on load">
<td></td> <td></td>
<td>Onload behavior</td> <td data-text="Onload behavior">Onload behavior</td>
<td> <td>
<select id="onloadBehavior" data-stored="onloadBehavior"> <select id="onloadBehavior" data-stored="onloadBehavior">
<option value="random" data-text="Generate random map" selected>Generate random map</option> <option value="random" data-text="Generate random map" selected>Generate random map</option>
@ -1943,7 +1945,7 @@
<tr data-tip="Toggle Azgaar Assistant (help bubble on the bottom right corner)"> <tr data-tip="Toggle Azgaar Assistant (help bubble on the bottom right corner)">
<td></td> <td></td>
<td>Azgaar assistant</td> <td data-text="Azgaar assistant">Azgaar assistant</td>
<td> <td>
<select id="azgaarAssistant" data-stored="azgaarAssistant"> <select id="azgaarAssistant" data-stored="azgaarAssistant">
<option value="show" data-text="Show" selected>Show</option> <option value="show" data-text="Show" selected>Show</option>
@ -1954,7 +1956,7 @@
<tr data-tip="Select speech synthesis voice to pronounce generated names"> <tr data-tip="Select speech synthesis voice to pronounce generated names">
<td></td> <td></td>
<td>Speaker voice</td> <td data-text="Speaker voice">Speaker voice</td>
<td> <td>
<select id="speakerVoice" data-stored="speakerVoice"></select> <select id="speakerVoice" data-stored="speakerVoice"></select>
</td> </td>
@ -1967,7 +1969,7 @@
<td> <td>
<i data-locked="0" id="lock_emblemShape" class="icon-lock"></i> <i data-locked="0" id="lock_emblemShape" class="icon-lock"></i>
</td> </td>
<td>Emblem shape</td> <td data-text="Emblem shape">Emblem shape</td>
<td> <td>
<select id="emblemShape" data-stored="emblemShape"> <select id="emblemShape" data-stored="emblemShape">
<optgroup label="Diversiform"> <optgroup label="Diversiform">
@ -2044,7 +2046,7 @@
<td> <td>
<i data-tip="Restore default zoom extent: [1, 20]" id="zoomExtentDefault" class="icon-ccw"></i> <i data-tip="Restore default zoom extent: [1, 20]" id="zoomExtentDefault" class="icon-ccw"></i>
</td> </td>
<td>Zoom extent</td> <td data-text="Zoom extent">Zoom extent</td>
<td> <td>
<span data-tip="Mimimal possible zoom level (should be > 0)">min</span> <span data-tip="Mimimal possible zoom level (should be > 0)">min</span>
<input <input
@ -2080,7 +2082,7 @@
<tr data-tip="Select rendering model. Try to set to 'optimized' if you face performance issues"> <tr data-tip="Select rendering model. Try to set to 'optimized' if you face performance issues">
<td></td> <td></td>
<td>Rendering</td> <td data-text="Rendering">Rendering</td>
<td> <td>
<select id="shapeRendering" data-stored="shapeRendering"> <select id="shapeRendering" data-stored="shapeRendering">
<option value="geometricPrecision" data-text="Best quality">Best quality</option> <option value="geometricPrecision" data-text="Best quality">Best quality</option>
@ -2091,15 +2093,15 @@
</tr> </tr>
<tr <tr
data-tip="Load Google Translate and select language. Note that automatic translation can break some page functional. In this case reset the language back to English or refresh the page" data-tip="Select interface language"
> >
<td></td>
<td data-text="Language">Language</td>
<td> <td>
<i data-tip="Reset language to English" id="resetLanguage" class="icon-ccw"></i> <select id="language" data-stored="language">
</td> <option value="en" selected>English</option>
<td>Language</td> <option value="fr">Français</option>
<td> </select>
<button id="loadGoogleTranslateButton">Init Google Translate</button>
<div id="google_translate_element"></div>
</td> </td>
<td></td> <td></td>
</tr> </tr>
@ -2108,6 +2110,7 @@
<div> <div>
<button <button
id="configureWorld" id="configureWorld"
data-text="Configure World"
data-tip="Click to open world configurator to setup map position on Globe and World climate" data-tip="Click to open world configurator to setup map position on Globe and World climate"
onclick="editWorld()" onclick="editWorld()"
> >
@ -2115,6 +2118,7 @@
</button> </button>
<button <button
id="optionsReset" id="optionsReset"
data-text="Reset to defaults"
data-tip="Click to restore default options and reload the page" data-tip="Click to restore default options and reload the page"
onclick="cleanupData()" onclick="cleanupData()"
> >
@ -2124,86 +2128,91 @@
</div> </div>
<div id="toolsContent" class="tabcontent"> <div id="toolsContent" class="tabcontent">
<div class="separator">Edit</div> <div class="separator" data-text="Edit">Edit</div>
<div class="grid"> <div class="grid">
<button id="editBiomesButton" data-tip="Click to open Biomes Editor" data-shortcut="Shift + B"> <button id="editBiomesButton" data-text="Biomes" data-tip="Click to open Biomes Editor" data-shortcut="Shift + B">
Biomes Biomes
</button> </button>
<button id="overviewBurgsButton" data-tip="Click to open Burgs Overview" data-shortcut="Shift + T"> <button id="overviewBurgsButton" data-text="Burgs" data-tip="Click to open Burgs Overview" data-shortcut="Shift + T">
Burgs Burgs
</button> </button>
<button id="editCulturesButton" data-tip="Click to open Cultures Editor" data-shortcut="Shift + C"> <button id="editCulturesButton" data-text="Cultures" data-tip="Click to open Cultures Editor" data-shortcut="Shift + C">
Cultures Cultures
</button> </button>
<button <button
id="editDiplomacyButton" id="editDiplomacyButton"
data-text="Diplomacy"
data-tip="Click to open Diplomatical relationships Editor" data-tip="Click to open Diplomatical relationships Editor"
data-shortcut="Shift + D" data-shortcut="Shift + D"
> >
Diplomacy Diplomacy
</button> </button>
<button id="editEmblemButton" data-tip="Click to open Emblem Editor" data-shortcut="Shift + Y"> <button id="editEmblemButton" data-text="Emblems" data-tip="Click to open Emblem Editor" data-shortcut="Shift + Y">
Emblems Emblems
</button> </button>
<button <button
id="editHeightmapButton" id="editHeightmapButton"
data-text="Heightmap"
data-tip="Click to open Heightmap customization menu" data-tip="Click to open Heightmap customization menu"
data-shortcut="Shift + H" data-shortcut="Shift + H"
> >
Heightmap Heightmap
</button> </button>
<button id="overviewMarkersButton" data-tip="Click to open Markers Overview" data-shortcut="Shift + K"> <button id="overviewMarkersButton" data-text="Markers" data-tip="Click to open Markers Overview" data-shortcut="Shift + K">
Markers Markers
</button> </button>
<button <button
id="overviewMilitaryButton" id="overviewMilitaryButton"
data-text="Military"
data-tip="Click to open Military Forces Overview" data-tip="Click to open Military Forces Overview"
data-shortcut="Shift + M" data-shortcut="Shift + M"
> >
Military Military
</button> </button>
<button id="editNamesBaseButton" data-tip="Click to open Namesbase Editor" data-shortcut="Shift + N"> <button id="editNamesBaseButton" data-text="Namesbase" data-tip="Click to open Namesbase Editor" data-shortcut="Shift + N">
Namesbase Namesbase
</button> </button>
<button id="editNotesButton" data-tip="Click to open Notes Editor" data-shortcut="Shift + O">Notes</button> <button id="editNotesButton" data-text="Notes" data-tip="Click to open Notes Editor" data-shortcut="Shift + O">Notes</button>
<button id="editProvincesButton" data-tip="Click to open Provinces Editor" data-shortcut="Shift + P"> <button id="editProvincesButton" data-text="Provinces" data-tip="Click to open Provinces Editor" data-shortcut="Shift + P">
Provinces Provinces
</button> </button>
<button id="editReligions" data-tip="Click to open Religions Editor" data-shortcut="Shift + R"> <button id="editReligions" data-text="Religions" data-tip="Click to open Religions Editor" data-shortcut="Shift + R">
Religions Religions
</button> </button>
<button id="overviewRiversButton" data-tip="Click to open Rivers Overview" data-shortcut="Shift + V"> <button id="overviewRiversButton" data-text="Rivers" data-tip="Click to open Rivers Overview" data-shortcut="Shift + V">
Rivers Rivers
</button> </button>
<button id="overviewRoutesButton" data-tip="Click to open Routes Overview" data-shortcut="Shift + U"> <button id="overviewRoutesButton" data-text="Routes" data-tip="Click to open Routes Overview" data-shortcut="Shift + U">
Routes Routes
</button> </button>
<button id="editStatesButton" data-tip="Click to open States Editor" data-shortcut="Shift + S"> <button id="editStatesButton" data-text="States" data-tip="Click to open States Editor" data-shortcut="Shift + S">
States States
</button> </button>
<button id="editUnitsButton" data-tip="Click to open Units Editor" data-shortcut="Shift + Q">Units</button> <button id="editUnitsButton" data-text="Units" data-tip="Click to open Units Editor" data-shortcut="Shift + Q">Units</button>
<button id="editZonesButton" data-tip="Click to open Zones Editor" data-shortcut="Shift + Z">Zones</button> <button id="editZonesButton" data-text="Zones" data-tip="Click to open Zones Editor" data-shortcut="Shift + Z">Zones</button>
</div> </div>
<div class="separator">Regenerate</div> <div class="separator" data-text="Regenerate">Regenerate</div>
<div id="regenerateFeature" class="grid"> <div id="regenerateFeature" class="grid">
<button <button
id="regenerateBurgs" id="regenerateBurgs"
data-text="Burgs"
data-tip="Click to regenerate all unlocked burgs and routes. States will remain as they are. Note: burgs are only generated in populated areas with culture assigned" data-tip="Click to regenerate all unlocked burgs and routes. States will remain as they are. Note: burgs are only generated in populated areas with culture assigned"
> >
Burgs Burgs
</button> </button>
<button id="regenerateCultures" data-tip="Click to regenerate non-locked cultures">Cultures</button> <button id="regenerateCultures" data-text="Cultures" data-tip="Click to regenerate non-locked cultures">Cultures</button>
<button id="regenerateEmblems" data-tip="Click to regenerate all emblems">Emblems</button> <button id="regenerateEmblems" data-text="Emblems" data-tip="Click to regenerate all emblems">Emblems</button>
<button id="regenerateIce" data-tip="Click to regenerate icebergs and glaciers">Ice</button> <button id="regenerateIce" data-text="Ice" data-tip="Click to regenerate icebergs and glaciers">Ice</button>
<button <button
id="regenerateStateLabels" id="regenerateStateLabels"
data-text="State labels"
data-tip="Click to update state labels placement based on current borders" data-tip="Click to update state labels placement based on current borders"
> >
State Labels State labels
</button> </button>
<button id="regenerateMarkers" data-tip="Click to regenerate unlocked markers"> <button id="regenerateMarkers" data-tip="Click to regenerate unlocked markers">
Markers <i id="configRegenerateMarkers" class="icon-cog" data-tip="Click to set number multiplier"></i> <span data-text="Markers">Markers</span> <i id="configRegenerateMarkers" class="icon-cog" data-tip="Click to set number multiplier"></i>
</button> </button>
<button <button
id="regenerateMilitary" id="regenerateMilitary"
@ -2211,44 +2220,49 @@
> >
Military Military
</button> </button>
<button id="regeneratePopulation" data-tip="Click to recalculate rural and urban population"> <button id="regeneratePopulation" data-text="Population" data-tip="Click to recalculate rural and urban population">
Population Population
</button> </button>
<button <button
id="regenerateProvinces" id="regenerateProvinces"
data-text="Provinces"
data-tip="Click to regenerate non-locked provinces. States will remain as they are" data-tip="Click to regenerate non-locked provinces. States will remain as they are"
> >
Provinces Provinces
</button> </button>
<button <button
id="regenerateReliefIcons" id="regenerateReliefIcons"
data-text="Relief"
data-tip="Click to regenerate all relief icons based on current cell biome and elevation" data-tip="Click to regenerate all relief icons based on current cell biome and elevation"
> >
Relief Relief
</button> </button>
<button id="regenerateReligions" data-tip="Click to regenerate non-locked religions">Religions</button> <button id="regenerateReligions" data-text="Religions" data-tip="Click to regenerate non-locked religions">Religions</button>
<button id="regenerateRivers" data-tip="Click to regenerate all rivers (restore default state)"> <button id="regenerateRivers" data-text="Rivers" data-tip="Click to regenerate all rivers (restore default state)">
Rivers Rivers
</button> </button>
<button id="regenerateRoutes" data-tip="Click to regenerate all unlocked routes">Routes</button> <button id="regenerateRoutes" data-text="Routes" data-tip="Click to regenerate all unlocked routes">Routes</button>
<button <button
id="regenerateStates" id="regenerateStates"
data-text="States"
data-tip="Click to regenerate non-locked states. Emblems and military forces will be regenerated as well, burgs will remain as they are, but capitals will be different" data-tip="Click to regenerate non-locked states. Emblems and military forces will be regenerated as well, burgs will remain as they are, but capitals will be different"
> >
States States
</button> </button>
<button <button
id="regenerateZones" id="regenerateZones"
data-text="Zones"
data-tip="Click to regenerate zones. Hold Ctrl and click to set zones number multiplier" data-tip="Click to regenerate zones. Hold Ctrl and click to set zones number multiplier"
> >
Zones Zones
</button> </button>
</div> </div>
<div class="separator">Add</div> <div class="separator" data-text="Add">Add</div>
<div id="addFeature" class="grid"> <div id="addFeature" class="grid">
<button <button
id="addBurgTool" id="addBurgTool"
data-text="Burg"
data-tip="Click on map to place a burg. Hold Shift to add multiple" data-tip="Click on map to place a burg. Hold Shift to add multiple"
data-shortcut="Shift + 1" data-shortcut="Shift + 1"
> >
@ -2256,6 +2270,7 @@
</button> </button>
<button <button
id="addLabel" id="addLabel"
data-text="Label"
data-tip="Click on map to place label. Hold Shift to add multiple" data-tip="Click on map to place label. Hold Shift to add multiple"
data-shortcut="Shift + 2" data-shortcut="Shift + 2"
> >
@ -2263,6 +2278,7 @@
</button> </button>
<button <button
id="addMarker" id="addMarker"
data-text="Marker"
data-tip="Click on map to place a marker. Hold Shift to add multiple" data-tip="Click on map to place a marker. Hold Shift to add multiple"
data-shortcut="Shift + 5" data-shortcut="Shift + 5"
> >
@ -2270,6 +2286,7 @@
</button> </button>
<button <button
id="addRiver" id="addRiver"
data-text="River"
data-tip="Click on map to place a river. Hold Shift to add multiple" data-tip="Click on map to place a river. Hold Shift to add multiple"
data-shortcut="Shift + 3" data-shortcut="Shift + 3"
> >
@ -2278,13 +2295,14 @@
<button id="addRoute" data-tip="Open route creation dialog" data-shortcut="Shift + 4">Route</button> <button id="addRoute" data-tip="Open route creation dialog" data-shortcut="Shift + 4">Route</button>
</div> </div>
<div class="separator">Show</div> <div class="separator" data-text="Show">Show</div>
<div class="grid"> <div class="grid">
<button id="overviewCellsButton" data-tip="Click to open Cell details view" data-shortcut="Shift + E"> <button id="overviewCellsButton" data-text="Cells" data-tip="Click to open Cell details view" data-shortcut="Shift + E">
Cells Cells
</button> </button>
<button <button
id="overviewChartsButton" id="overviewChartsButton"
data-text="Charts"
data-tip="Click to open Charts to overview cells data" data-tip="Click to open Charts to overview cells data"
data-shortcut="Shift + A" data-shortcut="Shift + A"
> >
@ -2292,10 +2310,10 @@
</button> </button>
</div> </div>
<div class="separator">Create</div> <div class="separator" data-text="Create">Create</div>
<div class="grid"> <div class="grid">
<button id="openSubmapTool" data-tip="Click to generate a submap from the current viewport">Submap</button> <button id="openSubmapTool" data-text="Submap" data-tip="Click to generate a submap from the current viewport">Submap</button>
<button id="openTransformTool" data-tip="Click to transform the map">Transform</button> <button id="openTransformTool" data-text="Transform" data-tip="Click to transform the map">Transform</button>
</div> </div>
</div> </div>
@ -2515,11 +2533,11 @@
</div> </div>
<div id="sticked"> <div id="sticked">
<button id="newMapButton" data-tip="Generate a new map based on options" data-shortcut="F2">New Map</button> <button id="newMapButton" data-text="New Map" data-tip="Generate a new map based on options" data-shortcut="F2">New Map</button>
<button id="exportButton" data-tip="Select format to download image or export map data">Export</button> <button id="exportButton" data-text="Export" data-tip="Select format to download image or export map data">Export</button>
<button id="saveButton" data-tip="Save fully-functional map file">Save</button> <button id="saveButton" data-text="Save" data-tip="Save fully-functional map file">Save</button>
<button id="loadButton" data-tip="Load fully-functional map (.map or .gz formats)">Load</button> <button id="loadButton" data-text="Load" data-tip="Load fully-functional map (.map or .gz formats)">Load</button>
<button id="zoomReset" data-tip="Reset map zoom" data-shortcut="0 (zero)">Reset Zoom</button> <button id="zoomReset" data-text="Reset Zoom" data-tip="Reset map zoom" data-shortcut="0 (zero)">Reset Zoom</button>
</div> </div>
</div> </div>
</div> </div>
@ -5338,7 +5356,7 @@
<div> <div>
<label>Temperature scale:</label> <label>Temperature scale:</label>
<select id="temperatureScale" data-stored="temperatureScale"> <select id="temperatureScale" data-stored="temperatureScale">
<option value="°C" date-text="degree Celsius (°C)" selected>degree Celsius (°C)</option> <option value="°C" data-text="degree Celsius (°C)" selected>degree Celsius (°C)</option>
<option value="°F" data-text="degree Fahrenheit (°F)">degree Fahrenheit (°F)</option> <option value="°F" data-text="degree Fahrenheit (°F)">degree Fahrenheit (°F)</option>
<option value="K" data-text="Kelvin (K)">Kelvin (K)</option> <option value="K" data-text="Kelvin (K)">Kelvin (K)</option>
<option value="°R" data-text="degree Rankine (°R)">degree Rankine (°R)</option> <option value="°R" data-text="degree Rankine (°R)">degree Rankine (°R)</option>

View file

@ -2,54 +2,54 @@ import i18next from "i18next";
import i18nextHTTPBackend from "i18next-http-backend"; import i18nextHTTPBackend from "i18next-http-backend";
import { isVowel } from "../utils"; import { isVowel } from "../utils";
window.locale = "fr";
function updateLabels() { function updateLabels() {
for (const label of document.querySelectorAll("[data-text]")) { for (const label of document.querySelectorAll("[data-html]")) {
const translation = i18next.t(label.getAttribute("data-text")); const translation = i18next.t(label.getAttribute("data-html") as string);
if (translation) label.innerHTML = translation; if (translation) label.innerHTML = translation;
} }
for (const label of document.querySelectorAll("[data-text]")) {
const translation = i18next.t(label.getAttribute("data-text") as string);
if (translation) label.textContent = translation;
}
for (const tip of document.querySelectorAll("[data-tip]")) { for (const tip of document.querySelectorAll("[data-tip]")) {
const translation = i18next.t(tip.getAttribute("data-tip")); const translation = i18next.t(tip.getAttribute("data-tip") as string);
if (translation) tip.setAttribute("data-tip", translation); if (translation) tip.setAttribute("data-tip", translation);
} }
} }
window.i18n = i18next.use(i18nextHTTPBackend).init( function addFormatters() {
{ i18next.services.formatter?.add("gender", (value, lng, options) => {
lng: window.locale, if (lng !== "fr") return value;
//debug: true, else if (options.gender === "feminine") {
backend: { return value.endsWith("en") ? `${value}ne` : `${value}e`;
loadPath: "locales/{{lng}}/lang.json", } else return value;
});
i18next.services.formatter?.add("of", (value, lng) => {
if (lng !== "fr") return value;
else if (isVowel(value[0].toLowerCase())) return `d'${value}`;
else return `de ${value}`;
});
i18next.services.formatter?.add("the", (value, lng, options) => {
if (lng !== "fr") return value;
else if (isVowel(value[0].toLowerCase())) return `L'${value}`;
else if (options.gender === "feminine") return `La ${value}`;
else return `Le ${value}`;
});
}
window.initLocale = async () => {
await i18next.use(i18nextHTTPBackend).init(
{
lng: options.language,
backend: {
loadPath: "locales/{{lng}}/lang.json",
},
}, },
}, () => {
() => { addFormatters();
if (document.readyState === "complete") {
updateLabels(); updateLabels();
} else { },
document.addEventListener("DOMContentLoaded", () => { );
updateLabels(); };
});
}
},
);
i18next.services.formatter.add("gender", (value, lng, options) => {
if (lng !== "fr") return value;
else if (options.gender === "feminine") {
return value.endsWith("en") ? `${value}ne` : `${value}e`;
} else return value;
});
i18next.services.formatter.add("of", (value, lng, options) => {
if (lng !== "fr") return value;
else if (isVowel(value[0].toLowerCase())) return `d'${value}`;
else return `de ${value}`;
});
i18next.services.formatter.add("the", (value, lng, options) => {
if (lng !== "fr") return value;
else if (isVowel(value[0].toLowerCase())) return `L'${value}`;
else if (options.gender === "feminine") return `La ${value}`;
else return `Le ${value}`;
});

View file

@ -1,5 +1,6 @@
import Alea from "alea"; import Alea from "alea";
import { max } from "d3"; import { max } from "d3";
import i18next from "i18next";
import { import {
byId, byId,
gauss, gauss,
@ -141,7 +142,10 @@ class ProvinceModule {
: Names.getState(Names.getCultureShort(c), c); : Names.getState(Names.getCultureShort(c), c);
const formName = rw(form); const formName = rw(form);
form[formName] += 10; form[formName] += 10;
const fullName = `${name} ${formName}`; const fullName = i18next.t("{{provinceName}} {{provinceForm}}", {
provinceName: name,
provinceForm: i18next.t(formName),
});
const color = getMixedColor(s.color!); const color = getMixedColor(s.color!);
const kinship = nameByBurg ? 0.8 : 0.4; const kinship = nameByBurg ? 0.8 : 0.4;
const type = Burgs.getType(center, burg.port); const type = Burgs.getType(center, burg.port);
@ -321,7 +325,10 @@ class ProvinceModule {
return rw(this.forms["Wild"]); return rw(this.forms["Wild"]);
})(); })();
const fullName = `${name} ${formName}`; const fullName = i18next.t("{{provinceName}} {{provinceForm}}", {
provinceName: name,
provinceForm: i18next.t(formName),
});
const dominion = colony const dominion = colony
? P(0.95) ? P(0.95)

View file

@ -831,7 +831,7 @@ class StatesModule {
"Marches", "Marches",
]; ];
if (!state.formName) return state.name; if (!state.formName) return state.name;
const stateGender = gender[window.locale]?.[state.formName]; const stateGender = gender[options.language as string]?.[state.formName];
if (!state.name && state.formName) if (!state.name && state.formName)
return i18next.t("The {{noun}}", { return i18next.t("The {{noun}}", {
noun: i18next.t(state.formName), noun: i18next.t(state.formName),

View file

@ -89,4 +89,5 @@ declare global {
var scale: number; var scale: number;
var changeFont: () => void; var changeFont: () => void;
var getFriendlyHeight: (coords: [number, number]) => string; var getFriendlyHeight: (coords: [number, number]) => string;
var initLocale: () => void;
} }

View file

@ -1,7 +1,7 @@
import { last } from "./arrayUtils"; import { last } from "./arrayUtils";
import { P } from "./probabilityUtils"; import { P } from "./probabilityUtils";
export const gender = { export const gender: Record<string, Record<string, string>> = {
fr: {}, fr: {},
}; };
@ -34,7 +34,7 @@ export const trimVowels = (string: string, minLength: number = 3) => {
* @returns The adjective form of the noun. * @returns The adjective form of the noun.
*/ */
export const getAdjective = (nounToBeAdjective: string) => { export const getAdjective = (nounToBeAdjective: string) => {
const adjectivizationRules = { const adjectivizationRules: Record<string, any> = {
en: [ en: [
{ {
name: "guo", name: "guo",
@ -329,7 +329,7 @@ export const getAdjective = (nounToBeAdjective: string) => {
}, },
], ],
}; };
for (const rule of adjectivizationRules[window.locale]) { for (const rule of adjectivizationRules[options.language]) {
if (P(rule.probability) && rule.condition.test(nounToBeAdjective)) { if (P(rule.probability) && rule.condition.test(nounToBeAdjective)) {
return rule.action(nounToBeAdjective); return rule.action(nounToBeAdjective);
} }