- { t("Settings.Arrows") }
+ {t("Settings.Arrows")}
- { t("Settings.Arrows.Desc") }
+ {t("Settings.Arrows.Desc")}
@@ -146,9 +146,9 @@ export default function Page() {
className={classes.item}
>
- { t("Settings.SnapArrows") }
+ {t("Settings.SnapArrows")}
- { t("Settings.SnapArrows.Desc") }
+ {t("Settings.SnapArrows.Desc")}
@@ -161,9 +161,9 @@ export default function Page() {
className={classes.item}
>
- { t("Settings.ConsecutiveArrows") }
+ {t("Settings.ConsecutiveArrows")}
- { t("Settings.ConsecutiveArrows.Desc") }
+ {t("Settings.ConsecutiveArrows.Desc")}
@@ -175,9 +175,9 @@ export default function Page() {
className={classes.item}
>
- { t("Settings.AutoPromition") }
+ {t("Settings.AutoPromition")}
- { t("Settings.AutoPromition.Desc") }
+ {t("Settings.AutoPromition.Desc")}
@@ -189,9 +189,9 @@ export default function Page() {
className={classes.item}
>
- { t("Settings.Coordinates") }
+ {t("Settings.Coordinates")}
- { t("Settings.Coordinates.Desc") }
+ {t("Settings.Coordinates.Desc")}
@@ -203,9 +203,9 @@ export default function Page() {
className={classes.item}
>
- { t("Settings.AutoSave") }
+ {t("Settings.AutoSave")}
- { t("Settings.AutoSave.Desc") }
+ {t("Settings.AutoSave.Desc")}
@@ -218,9 +218,9 @@ export default function Page() {
className={classes.item}
>
- { t("Settings.PreviewBoard") }
+ {t("Settings.PreviewBoard")}
- { t("Settings.PreviewBoard.Desc") }
+ {t("Settings.PreviewBoard.Desc")}
@@ -232,9 +232,9 @@ export default function Page() {
className={classes.item}
>
- { t("Settings.ScrollThroughMoves") }
+ {t("Settings.ScrollThroughMoves")}
- { t("Settings.ScrollThroughMoves.Desc") }
+ {t("Settings.ScrollThroughMoves.Desc")}
diff --git a/src/index.tsx b/src/index.tsx
index 152d9c6f..368b8c49 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -9,16 +9,14 @@ import { initReactI18next } from "react-i18next";
import { en_US } from "./translation/en_US";
import { zh_CN } from "./translation/zh_CN";
-i18n
- .use(initReactI18next)
- .init({
- resources: {
- en: en_US,
- zh_CN: zh_CN
- },
- lng: "zh_CN",
- fallbackLng: "en"
- })
+i18n.use(initReactI18next).init({
+ resources: {
+ en: en_US,
+ zh_CN: zh_CN,
+ },
+ lng: "zh_CN",
+ fallbackLng: "en",
+});
dayjs.extend(customParseFormat);
diff --git a/src/translation/en_US.ts b/src/translation/en_US.ts
index e3d512c4..fdc66f10 100644
--- a/src/translation/en_US.ts
+++ b/src/translation/en_US.ts
@@ -1,324 +1,348 @@
-export const en_US = {
- translation: {
- "Common.On": "ON",
- "Common.Off": "OFF",
- "Common.Name": "Name",
- "Common.Description": "Description",
- "Common.Version": "Version",
- "Common.Enabled": "Enabled",
- "Common.Remove": "Remove",
- "Common.Delete": "Delete",
- "Common.Add": "Add",
- "Common.Open": "Open",
- "Common.Create": "Create",
- "Common.Save": "Save",
- "Common.Download": "Download",
- "Common.Local": "Local",
- "Common.Install": "Install",
- "Common.Installed": "Installed",
- "Common.Downloading": "Downloading",
- "Common.Extracting": "Extracting",
- "Common.Error": "Error",
- "Common.AddNew": "Add New",
- "Common.OpenFolder": "Open folder in file explorer",
- "Common.Unknown": "Unknown",
- "Common.Cancel": "Cancel",
- "Common.CannotUndo": "This action cannot be undone.",
- "Common.NameAlreadyUsed": "Name is required",
- "Common.RequireName": "Name already used",
- "Common.RequirePath": "Path is required",
- "Common.PGNFile": "PGN file",
- "Common.PGNGame": "PGN Game",
- "Common.Size": "Size",
- "Common.GeneralSettings": "General settings",
- "Common.Data": "Data",
- "Common.Games": "Games",
- "Common.Edit": "Edit",
- "Common.EnterFileName": "Enter your filename",
- "Common.Next": "Next",
- "Common.Skip": "Skip",
- "Common.Reset": "Reset",
- "Common.Incorrect": "Incorrect",
- "Common.Run": "Run",
- "Common.Stop": "Stop",
- "Common.Engine": "Engine",
- "Common.Checkmate": "Checkmate",
- "Common.Stalemate": "Stalemate",
- "Common.WHITE": "WHITE",
- "Common.BLACK": "BLACK",
-
- "GoMode.Time": "Time",
- "GoMode.Depth": "Depth",
- "GoMode.Nodes": "Nodes",
- "GoMode.Infinite": "Infinite",
-
- "Annotate.Brilliant": "Brilliant",
- "Annotate.Good": "Good",
- "Annotate.Interesting": "Interesting",
- "Annotate.Dubious": "Dubious",
- "Annotate.Mistake": "Mistake",
- "Annotate.Blunder": "Blunder",
- "Annotate.WhiteWinning": "White is winning",
- "Annotate.WhiteAdvantage": "White has a clear advantage",
- "Annotate.WhiteEdge": "White has a slight advantage",
- "Annotate.Equal": "Equal position",
- "Annotate.Unclear": "Unclear position",
- "Annotate.BlackEdge": "Black has a slight advantage",
- "Annotate.BlackAdvantage": "Black has a clear advantage",
- "Annotate.BlackWinning": "Black is winning",
- "Annotate.Novelty": "Novelty",
- "Annotate.Development": "Development",
- "Annotate.Initiative": "Initiative",
- "Annotate.Attack": "Attack",
- "Annotate.Counterplay": "Counterplay",
- "Annotate.WithCompensation": "With compensation",
- "Annotate.TimeTrouble": "Time Trouble",
- "Annotate.WithIdea": "With the idea",
- "Annotate.OnlyMove": "Only move",
- "Annotate.Zugzwang": "Zugzwang",
-
- "RichText.Bold": "Bold",
- "RichText.Italic": "Italic",
- "RichText.Underline": "Underline",
- "RichText.Strike": "Strikethrough",
- "RichText.ClearFormatting": "Clear formatting",
- "RichText.H1": "Heading 1",
- "RichText.H2": "Heading 2",
- "RichText.H3": "Heading 3",
- "RichText.H4": "Heading 4",
- "RichText.Quote": "Blockquote",
- "RichText.HLine": "Horizontal line",
- "RichText.BulletList": "Bullet list",
- "RichText.NumberedList": "Ordered list",
- "RichText.Link": "Link",
- "RichText.RemoveLink": "Remove link",
-
- "TimeControl.UltraBullet": "UltraBullet",
- "TimeControl.Bullet": "Bullet",
- "TimeControl.Blitz": "Blitz",
- "TimeControl.Rapid": "Rapid",
- "TimeControl.Classical": "Classical",
- "TimeControl.Correspondence": "Correspondence",
-
- "Menu.File": "File",
- "Menu.File.NewTab": "New Tab",
- "Menu.File.OpenFile": "Open File",
- "Menu.File.Exit": "Exit",
- "Menu.View": "View",
- "Menu.View.Reload": "Reload",
- "Menu.Help": "Help",
- "Menu.Help.Documentation": "Documentation",
- "Menu.Help.ClearSavedData": "Clear saved data",
- "Menu.Help.OpenLogs": "Open Logs",
- "Menu.Help.CheckUpdate": "Check for updates",
- "Menu.Help.About": "About",
-
- "SideBar.Board": "Board",
- "SideBar.User": "User",
- "SideBar.Files": "Files",
- "SideBar.Databases": "Databases",
- "SideBar.Engines": "Engines",
- "SideBar.Settings": "Settings",
-
- "Tab.NewTab": "New Tab",
-
- "Home.Card.PlayChess.Title": "Play Chess",
- "Home.Card.PlayChess.Desc": "Play against an engine or a friend",
- "Home.Card.PlayChess.Button": "Play",
- "Home.Card.AnalysisBoard.Title": "Analysis Board",
- "Home.Card.AnalysisBoard.Desc": "Analyze a game or position",
- "Home.Card.AnalysisBoard.Button": "Open",
- "Home.Card.ImportGame.Title": "Import Game",
- "Home.Card.ImportGame.Desc": "Import a game from a PGN",
- "Home.Card.ImportGame.Button": "Import",
- "Home.Card.Puzzle.Title": "Puzzles",
- "Home.Card.Puzzle.Desc": "Train your chess skills",
- "Home.Card.Puzzle.Button": "Train",
-
- "Board.Tabs.Practice": "Practice",
- "Board.Tabs.Analysis": "Analysis",
- "Board.Tabs.Database": "Database",
- "Board.Tabs.Annotate": "Annotate",
- "Board.Tabs.Info": "Info",
- "Board.Practice.Train": "Train",
- "Board.Practice.Build": "Build",
- "Board.Practice.NoPositionForTrain1": "There are no position to practice. Start by adding moves to this PGN file.",
- "Board.Practice.NoPositionForTrain2": "You'll need to change to Analysis mode to be able to add moves.",
- "Board.Practice.SeeAnser": "See Answer",
- "Board.Practice.Practiced": "Practiced",
- "Board.Practice.Due": "Due",
- "Board.Practice.Unseen": "Unseen",
- "Board.Practice.ShowAll": "Show all positions",
- "Board.Practice.ShowLogs": "Show logs",
- "Board.Practice.PracticedAll1": "You have practiced all positions.",
- "Board.Practice.PracticedAll2": "The next review is on",
- "Board.Practice.CorrectMoveWas": "The correct move was {{move}}",
- "Board.Analysis.Engines": "Engines",
- "Board.Analysis.Report": "Report",
- "Board.Analysis.Logs": "Logs",
- "Board.Analysis.Summary": "Summary",
- "Board.Analysis.InactiveEngine": "Engine isn't enabled",
- "Board.Analysis.SyncGlobally": "Sync globally",
- "Board.Analysis.KillEngine": "Kill engine",
- "Board.Analysis.GenerateReport": "Generate report",
- "Board.Analysis.ReportGenerated": "Report generated",
- "Board.Analysis.GeneratingReport": "Generating report",
- "Board.Analysis.NotAnalysed": "Not analysed",
- "Board.Analysis.EngineRequired": "Engine is required",
- "Board.Analysis.RefDBRequired": "No reference database selected. Select one first in the databases page",
- "Board.Analysis.Time": "Time (ms)",
- "Board.Analysis.Reversed": "Reversed analysis",
- "Board.Analysis.Reversed.Desc": "Analyze the game in starting from the last move.",
- "Board.Analysis.AnnotateNovelties": "Annotate Novelties",
- "Board.Analysis.AnnotateNovelties.Desc": "Add a comment to the first position that is not in the reference database.",
- "Board.Analysis.Analyze": "Analyze",
- "Board.Analysis.Advantage": "Advantage",
- "Board.Analysis.Accuracy": "Accuracy",
- "Board.Database.Local": "Local",
- "Board.Database.LichessAll": "Lichess All",
- "Board.Database.LichessMaster": "Lichess Masters",
- "Board.Database.Matches": "{{matches}} matches",
- "Board.Database.Stats": "Stats",
- "Board.Database.Games": "Games",
- "Board.Database.Options": "Options",
- "Board.Database.NoReference1": "No reference database selected.",
- "Board.Database.NoReference2": "Please",
- "Board.Database.SelectReference": "add a database",
- "Board.Database.NoReference3": "first and mark it as the reference.",
- "Board.Database.TimeControl": "Time control",
- "Board.Database.AverageRating": "Average rating",
- "Board.Annotate.WriteHere": "Write here...",
-
- "Engines.Title": "Your Engines",
- "Engines.Settings.NoEngine": "No engine selected",
- "Engines.Settings.SearchSettings": "Search settings",
- "Engines.Settings.AdvancedSettings": "Advanced settings",
- "Engines.Settings.NumOfLines": "Number of lines",
- "Engines.Settings.NumOfCores": "Number of cores",
- "Engines.Settings.SizeOfHash": "Size of Hash",
- "Engines.Settings.EditJSON": "Edit JSON",
- "Engines.Settings.Reset": "Reset to default",
- "Engines.Add.Title": "Add Engine",
- "Engines.Add.Cloud": "Cloud",
- "Engines.Add.ErrorFetch": "Failed to fetch the engine's info from the server.",
- "Engines.Add.BinaryFile": "Binary file",
- "Engines.Add.BinaryFile.Desc": "Click to select the binary file",
- "Engines.Add.Name": "Name",
- "Engines.Add.Name.Autodetect": "Autodetect",
- "Engines.Add.Elo.Desc": "Engine's Elo",
- "Engines.Add.ImageFile": "Image file",
- "Engines.Add.ImageFile.Desc": "Click to select the image file (recommended size: 60x60)",
- "Engines.Remove.Title": "Remove Engine",
- "Engines.Remove.Message": "Are you sure you want to remove this engine from En Croissant?",
-
- "Databases.Title": "Your Databases",
- "Databases.Card.Games": "Games",
- "Databases.Card.Players": "Players",
- "Databases.Card.Storage": "Storage",
- "Databases.Add.Title": "Add Database",
- "Databases.Add.Web": "Web",
- "Databases.Add.ErrorFetch": "Failed to fetch the database's info from the server.",
- "Databases.Add.ClickToSelectPGN": "Click to select the PGN file",
- "Databases.Add.Convert": "Convert",
- "Databases.Settings.ReferenceDatabase": "Reference Database",
- "Databases.Settings.Indexed": "Indexed",
- "Databases.Settings.Indexed.Desc": "Indexes are used to speed up the search process, but they take up extra space.",
- "Databases.Settings.Events": "Events",
- "Databases.Settings.Explore": "Explore",
- "Databases.Settings.AdvancedTools": "Advanced tools",
- "Databases.Settings.MergePlayers": "Merge Players",
- "Databases.Settings.MergePlayers.Desc": "Replace all occurrences of the first player with the second player in the database.",
- "Databases.Settings.Merge": "Merge",
- "Databases.Settings.BatchDelete": "Batch Delete",
- "Databases.Settings.BatchDelete.Desc": "These actions will irreversibly remove games from the database. Use with caution.",
- "Databases.Settings.RemoveDup": "Remove Duplicates",
- "Databases.Settings.RemoveEmpty": "Remove Empty Games",
- "Databases.Settings.Actions": "Actions",
- "Databases.Settings.AddGames": "Add Games",
- "Databases.Settings.ExportPGN": "Export to PGN",
- "Databases.Delete.Title": "Delete Database",
- "Databases.Delete.Message": "Are you sure you want to delete this database?",
-
- "Files.Title": "Files",
- "Files.FileType": "File type",
- "Files.FileType.Game": "Game",
- "Files.FileType.Repertoire": "Repertoire",
- "Files.FileType.Tournament": "Tournament",
- "Files.FileType.Puzzle": "Puzzle",
- "Files.FileType.Other": "Other",
- "Files.FileType.Folder": "Folder",
- "Files.Delete.Title": "Delete file",
- "Files.Delete.Message": "Are you sure you want to delete {{fileName}}?",
- "Files.EditMetadata": "Edit Metadata",
- "Files.Edit.Title": "Edit file",
- "Files.Create.Title": "Create file",
- "Files.Search": "Search for files",
-
- "Settings.Board": "Board",
- "Settings.Inputs": "Inputs",
- "Settings.OpeningReport": "Opening Report",
- "Settings.Anarchy": "Anarchy",
- "Settings.Appearance": "Appearance",
- "Settings.Sound": "Sound",
- "Settings.Keybinds": "Keybinds",
- "Settings.Directories": "Directories",
-
- "Settings.Board.Desc": "Customize the analysis board and game controls",
- "Settings.PieceDest": "Piece Destinations",
- "Settings.PieceDest.Desc": "Show possible moves for each piece",
- "Settings.Arrows": "Arrows",
- "Settings.Arrows.Desc": "Show best move arrows",
- "Settings.SnapArrows": "Snap Arrows",
- "Settings.SnapArrows.Desc": "Snap arrows to valid moves",
- "Settings.ConsecutiveArrows": "Consecutive Arrows",
- "Settings.ConsecutiveArrows.Desc": "Show multiple arrows for the best line, if it involves moving the same piece several times",
- "Settings.AutoPromition": "Auto Promotion",
- "Settings.AutoPromition.Desc": "Automatically promote to a queen when a pawn reaches the last rank",
- "Settings.Coordinates": "Coordinates",
- "Settings.Coordinates.Desc": "Show coordinates on the board",
- "Settings.AutoSave": "Auto Save",
- "Settings.AutoSave.Desc": "Auto save to file after each move",
- "Settings.PreviewBoard": "Preview Board",
- "Settings.PreviewBoard.Desc": "Show a preview of the board when hovering over a move in the engine analysis",
- "Settings.ScrollThroughMoves": "Scroll Through Moves",
- "Settings.ScrollThroughMoves.Desc": "Enable or disable scrolling through moves on the chessboard",
- "Settings.Inputs.Desc": "Customize the input settings",
- "Settings.Inputs.TextInput": "Text Move Input",
- "Settings.Inputs.TextInput.Desc": "Enter moves in text format",
- "Settings.Inputs.SpellCheck": "Spell Check",
- "Settings.Inputs.SpellCheck.Desc": "Enable or disable spell check on text inputs",
- "Settings.OpeningReport.Desc": "Customize the opening report settings",
- "Settings.OpeningReport.PercentCoverage": "Percent Coverage",
- "Settings.OpeningReport.PercentCoverage.Desc": "Percentage of moves covered in each position",
- "Settings.OpeningReport.MinGames": "Minimum Games",
- "Settings.OpeningReport.MinGames.Desc": "Minimum number of games in each position for it to be considered",
- "Settings.Anarchy.Desc": "Fun options",
- "Settings.Anarchy.ForcedEnCroissant": "Forced En Croissant",
- "Settings.Anarchy.ForcedEnCroissant.Desc": "Forces you to play En Croissant, if it's a legal move.",
- "Settings.Appearance.Desc": "Customize the look of the app",
- "Settings.Appearance.Theme": "Theme",
- "Settings.Appearance.Theme.Desc": "Overall color scheme",
- "Settings.Appearance.Theme.Light": "Light",
- "Settings.Appearance.Theme.Dark": "Dark",
- "Settings.Appearance.TitleBar": "Title Bar",
- "Settings.Appearance.TitleBar.Desc": "Choose between native or custom title bar",
- "Settings.Appearance.TitleBar.Native": "Native",
- "Settings.Appearance.TitleBar.Custom": "Custom",
- "Settings.Appearance.FontSize": "Font Size",
- "Settings.Appearance.FontSize.Desc": "Overall font size",
- "Settings.Appearance.PieceSet": "Piece Set",
- "Settings.Appearance.PieceSet.Desc": "Pieces used on the boards",
- "Settings.Appearance.BoardImage": "Board Image",
- "Settings.Appearance.BoardImage.Desc": "Image used as the background of the board",
- "Settings.Appearance.AccentColor": "Accent Color",
- "Settings.Appearance.AccentColor.Desc": "Main color of the app",
- "Settings.Sound.Desc": "Customize the sound settings",
- "Settings.Sound.Volume": "Volume",
- "Settings.Sound.Volume.Desc": "Overall volume",
- "Settings.Sound.Collection": "Sound collection",
- "Settings.Sound.Collection.Desc": "Collection of sounds used",
- "Settings.Directories.Desc": "Customize the directories used by the app",
- "Settings.Directories.Files": "Files directory",
- "Settings.Directories.Files.Desc": "This is where your games in the Files page are stored",
- }
-}
+export const en_US = {
+ translation: {
+ "Common.On": "ON",
+ "Common.Off": "OFF",
+ "Common.Name": "Name",
+ "Common.Description": "Description",
+ "Common.Version": "Version",
+ "Common.Enabled": "Enabled",
+ "Common.Remove": "Remove",
+ "Common.Delete": "Delete",
+ "Common.Add": "Add",
+ "Common.Open": "Open",
+ "Common.Create": "Create",
+ "Common.Save": "Save",
+ "Common.Download": "Download",
+ "Common.Local": "Local",
+ "Common.Install": "Install",
+ "Common.Installed": "Installed",
+ "Common.Downloading": "Downloading",
+ "Common.Extracting": "Extracting",
+ "Common.Error": "Error",
+ "Common.AddNew": "Add New",
+ "Common.OpenFolder": "Open folder in file explorer",
+ "Common.Unknown": "Unknown",
+ "Common.Cancel": "Cancel",
+ "Common.CannotUndo": "This action cannot be undone.",
+ "Common.NameAlreadyUsed": "Name is required",
+ "Common.RequireName": "Name already used",
+ "Common.RequirePath": "Path is required",
+ "Common.PGNFile": "PGN file",
+ "Common.PGNGame": "PGN Game",
+ "Common.Size": "Size",
+ "Common.GeneralSettings": "General settings",
+ "Common.Data": "Data",
+ "Common.Games": "Games",
+ "Common.Edit": "Edit",
+ "Common.EnterFileName": "Enter your filename",
+ "Common.Next": "Next",
+ "Common.Skip": "Skip",
+ "Common.Reset": "Reset",
+ "Common.Incorrect": "Incorrect",
+ "Common.Run": "Run",
+ "Common.Stop": "Stop",
+ "Common.Engine": "Engine",
+ "Common.Checkmate": "Checkmate",
+ "Common.Stalemate": "Stalemate",
+ "Common.WHITE": "WHITE",
+ "Common.BLACK": "BLACK",
+
+ "GoMode.Time": "Time",
+ "GoMode.Depth": "Depth",
+ "GoMode.Nodes": "Nodes",
+ "GoMode.Infinite": "Infinite",
+
+ "Annotate.Brilliant": "Brilliant",
+ "Annotate.Good": "Good",
+ "Annotate.Interesting": "Interesting",
+ "Annotate.Dubious": "Dubious",
+ "Annotate.Mistake": "Mistake",
+ "Annotate.Blunder": "Blunder",
+ "Annotate.WhiteWinning": "White is winning",
+ "Annotate.WhiteAdvantage": "White has a clear advantage",
+ "Annotate.WhiteEdge": "White has a slight advantage",
+ "Annotate.Equal": "Equal position",
+ "Annotate.Unclear": "Unclear position",
+ "Annotate.BlackEdge": "Black has a slight advantage",
+ "Annotate.BlackAdvantage": "Black has a clear advantage",
+ "Annotate.BlackWinning": "Black is winning",
+ "Annotate.Novelty": "Novelty",
+ "Annotate.Development": "Development",
+ "Annotate.Initiative": "Initiative",
+ "Annotate.Attack": "Attack",
+ "Annotate.Counterplay": "Counterplay",
+ "Annotate.WithCompensation": "With compensation",
+ "Annotate.TimeTrouble": "Time Trouble",
+ "Annotate.WithIdea": "With the idea",
+ "Annotate.OnlyMove": "Only move",
+ "Annotate.Zugzwang": "Zugzwang",
+
+ "RichText.Bold": "Bold",
+ "RichText.Italic": "Italic",
+ "RichText.Underline": "Underline",
+ "RichText.Strike": "Strikethrough",
+ "RichText.ClearFormatting": "Clear formatting",
+ "RichText.H1": "Heading 1",
+ "RichText.H2": "Heading 2",
+ "RichText.H3": "Heading 3",
+ "RichText.H4": "Heading 4",
+ "RichText.Quote": "Blockquote",
+ "RichText.HLine": "Horizontal line",
+ "RichText.BulletList": "Bullet list",
+ "RichText.NumberedList": "Ordered list",
+ "RichText.Link": "Link",
+ "RichText.RemoveLink": "Remove link",
+
+ "TimeControl.UltraBullet": "UltraBullet",
+ "TimeControl.Bullet": "Bullet",
+ "TimeControl.Blitz": "Blitz",
+ "TimeControl.Rapid": "Rapid",
+ "TimeControl.Classical": "Classical",
+ "TimeControl.Correspondence": "Correspondence",
+
+ "Menu.File": "File",
+ "Menu.File.NewTab": "New Tab",
+ "Menu.File.OpenFile": "Open File",
+ "Menu.File.Exit": "Exit",
+ "Menu.View": "View",
+ "Menu.View.Reload": "Reload",
+ "Menu.Help": "Help",
+ "Menu.Help.Documentation": "Documentation",
+ "Menu.Help.ClearSavedData": "Clear saved data",
+ "Menu.Help.OpenLogs": "Open Logs",
+ "Menu.Help.CheckUpdate": "Check for updates",
+ "Menu.Help.About": "About",
+
+ "SideBar.Board": "Board",
+ "SideBar.User": "User",
+ "SideBar.Files": "Files",
+ "SideBar.Databases": "Databases",
+ "SideBar.Engines": "Engines",
+ "SideBar.Settings": "Settings",
+
+ "Tab.NewTab": "New Tab",
+
+ "Home.Card.PlayChess.Title": "Play Chess",
+ "Home.Card.PlayChess.Desc": "Play against an engine or a friend",
+ "Home.Card.PlayChess.Button": "Play",
+ "Home.Card.AnalysisBoard.Title": "Analysis Board",
+ "Home.Card.AnalysisBoard.Desc": "Analyze a game or position",
+ "Home.Card.AnalysisBoard.Button": "Open",
+ "Home.Card.ImportGame.Title": "Import Game",
+ "Home.Card.ImportGame.Desc": "Import a game from a PGN",
+ "Home.Card.ImportGame.Button": "Import",
+ "Home.Card.Puzzle.Title": "Puzzles",
+ "Home.Card.Puzzle.Desc": "Train your chess skills",
+ "Home.Card.Puzzle.Button": "Train",
+
+ "Board.Tabs.Practice": "Practice",
+ "Board.Tabs.Analysis": "Analysis",
+ "Board.Tabs.Database": "Database",
+ "Board.Tabs.Annotate": "Annotate",
+ "Board.Tabs.Info": "Info",
+ "Board.Practice.Train": "Train",
+ "Board.Practice.Build": "Build",
+ "Board.Practice.NoPositionForTrain1":
+ "There are no position to practice. Start by adding moves to this PGN file.",
+ "Board.Practice.NoPositionForTrain2":
+ "You'll need to change to Analysis mode to be able to add moves.",
+ "Board.Practice.SeeAnser": "See Answer",
+ "Board.Practice.Practiced": "Practiced",
+ "Board.Practice.Due": "Due",
+ "Board.Practice.Unseen": "Unseen",
+ "Board.Practice.ShowAll": "Show all positions",
+ "Board.Practice.ShowLogs": "Show logs",
+ "Board.Practice.PracticedAll1": "You have practiced all positions.",
+ "Board.Practice.PracticedAll2": "The next review is on",
+ "Board.Practice.CorrectMoveWas": "The correct move was {{move}}",
+ "Board.Analysis.Engines": "Engines",
+ "Board.Analysis.Report": "Report",
+ "Board.Analysis.Logs": "Logs",
+ "Board.Analysis.Summary": "Summary",
+ "Board.Analysis.InactiveEngine": "Engine isn't enabled",
+ "Board.Analysis.SyncGlobally": "Sync globally",
+ "Board.Analysis.KillEngine": "Kill engine",
+ "Board.Analysis.GenerateReport": "Generate report",
+ "Board.Analysis.ReportGenerated": "Report generated",
+ "Board.Analysis.GeneratingReport": "Generating report",
+ "Board.Analysis.NotAnalysed": "Not analysed",
+ "Board.Analysis.EngineRequired": "Engine is required",
+ "Board.Analysis.RefDBRequired":
+ "No reference database selected. Select one first in the databases page",
+ "Board.Analysis.Time": "Time (ms)",
+ "Board.Analysis.Reversed": "Reversed analysis",
+ "Board.Analysis.Reversed.Desc":
+ "Analyze the game in starting from the last move.",
+ "Board.Analysis.AnnotateNovelties": "Annotate Novelties",
+ "Board.Analysis.AnnotateNovelties.Desc":
+ "Add a comment to the first position that is not in the reference database.",
+ "Board.Analysis.Analyze": "Analyze",
+ "Board.Analysis.Advantage": "Advantage",
+ "Board.Analysis.Accuracy": "Accuracy",
+ "Board.Database.Local": "Local",
+ "Board.Database.LichessAll": "Lichess All",
+ "Board.Database.LichessMaster": "Lichess Masters",
+ "Board.Database.Matches": "{{matches}} matches",
+ "Board.Database.Stats": "Stats",
+ "Board.Database.Games": "Games",
+ "Board.Database.Options": "Options",
+ "Board.Database.NoReference1": "No reference database selected.",
+ "Board.Database.NoReference2": "Please",
+ "Board.Database.SelectReference": "add a database",
+ "Board.Database.NoReference3": "first and mark it as the reference.",
+ "Board.Database.TimeControl": "Time control",
+ "Board.Database.AverageRating": "Average rating",
+ "Board.Annotate.WriteHere": "Write here...",
+
+ "Engines.Title": "Your Engines",
+ "Engines.Settings.NoEngine": "No engine selected",
+ "Engines.Settings.SearchSettings": "Search settings",
+ "Engines.Settings.AdvancedSettings": "Advanced settings",
+ "Engines.Settings.NumOfLines": "Number of lines",
+ "Engines.Settings.NumOfCores": "Number of cores",
+ "Engines.Settings.SizeOfHash": "Size of Hash",
+ "Engines.Settings.EditJSON": "Edit JSON",
+ "Engines.Settings.Reset": "Reset to default",
+ "Engines.Add.Title": "Add Engine",
+ "Engines.Add.Cloud": "Cloud",
+ "Engines.Add.ErrorFetch":
+ "Failed to fetch the engine's info from the server.",
+ "Engines.Add.BinaryFile": "Binary file",
+ "Engines.Add.BinaryFile.Desc": "Click to select the binary file",
+ "Engines.Add.Name": "Name",
+ "Engines.Add.Name.Autodetect": "Autodetect",
+ "Engines.Add.Elo.Desc": "Engine's Elo",
+ "Engines.Add.ImageFile": "Image file",
+ "Engines.Add.ImageFile.Desc":
+ "Click to select the image file (recommended size: 60x60)",
+ "Engines.Remove.Title": "Remove Engine",
+ "Engines.Remove.Message":
+ "Are you sure you want to remove this engine from En Croissant?",
+
+ "Databases.Title": "Your Databases",
+ "Databases.Card.Games": "Games",
+ "Databases.Card.Players": "Players",
+ "Databases.Card.Storage": "Storage",
+ "Databases.Add.Title": "Add Database",
+ "Databases.Add.Web": "Web",
+ "Databases.Add.ErrorFetch":
+ "Failed to fetch the database's info from the server.",
+ "Databases.Add.ClickToSelectPGN": "Click to select the PGN file",
+ "Databases.Add.Convert": "Convert",
+ "Databases.Settings.ReferenceDatabase": "Reference Database",
+ "Databases.Settings.Indexed": "Indexed",
+ "Databases.Settings.Indexed.Desc":
+ "Indexes are used to speed up the search process, but they take up extra space.",
+ "Databases.Settings.Events": "Events",
+ "Databases.Settings.Explore": "Explore",
+ "Databases.Settings.AdvancedTools": "Advanced tools",
+ "Databases.Settings.MergePlayers": "Merge Players",
+ "Databases.Settings.MergePlayers.Desc":
+ "Replace all occurrences of the first player with the second player in the database.",
+ "Databases.Settings.Merge": "Merge",
+ "Databases.Settings.BatchDelete": "Batch Delete",
+ "Databases.Settings.BatchDelete.Desc":
+ "These actions will irreversibly remove games from the database. Use with caution.",
+ "Databases.Settings.RemoveDup": "Remove Duplicates",
+ "Databases.Settings.RemoveEmpty": "Remove Empty Games",
+ "Databases.Settings.Actions": "Actions",
+ "Databases.Settings.AddGames": "Add Games",
+ "Databases.Settings.ExportPGN": "Export to PGN",
+ "Databases.Delete.Title": "Delete Database",
+ "Databases.Delete.Message":
+ "Are you sure you want to delete this database?",
+
+ "Files.Title": "Files",
+ "Files.FileType": "File type",
+ "Files.FileType.Game": "Game",
+ "Files.FileType.Repertoire": "Repertoire",
+ "Files.FileType.Tournament": "Tournament",
+ "Files.FileType.Puzzle": "Puzzle",
+ "Files.FileType.Other": "Other",
+ "Files.FileType.Folder": "Folder",
+ "Files.Delete.Title": "Delete file",
+ "Files.Delete.Message": "Are you sure you want to delete {{fileName}}?",
+ "Files.EditMetadata": "Edit Metadata",
+ "Files.Edit.Title": "Edit file",
+ "Files.Create.Title": "Create file",
+ "Files.Search": "Search for files",
+
+ "Settings.Board": "Board",
+ "Settings.Inputs": "Inputs",
+ "Settings.OpeningReport": "Opening Report",
+ "Settings.Anarchy": "Anarchy",
+ "Settings.Appearance": "Appearance",
+ "Settings.Sound": "Sound",
+ "Settings.Keybinds": "Keybinds",
+ "Settings.Directories": "Directories",
+
+ "Settings.Board.Desc": "Customize the analysis board and game controls",
+ "Settings.PieceDest": "Piece Destinations",
+ "Settings.PieceDest.Desc": "Show possible moves for each piece",
+ "Settings.Arrows": "Arrows",
+ "Settings.Arrows.Desc": "Show best move arrows",
+ "Settings.SnapArrows": "Snap Arrows",
+ "Settings.SnapArrows.Desc": "Snap arrows to valid moves",
+ "Settings.ConsecutiveArrows": "Consecutive Arrows",
+ "Settings.ConsecutiveArrows.Desc":
+ "Show multiple arrows for the best line, if it involves moving the same piece several times",
+ "Settings.AutoPromition": "Auto Promotion",
+ "Settings.AutoPromition.Desc":
+ "Automatically promote to a queen when a pawn reaches the last rank",
+ "Settings.Coordinates": "Coordinates",
+ "Settings.Coordinates.Desc": "Show coordinates on the board",
+ "Settings.AutoSave": "Auto Save",
+ "Settings.AutoSave.Desc": "Auto save to file after each move",
+ "Settings.PreviewBoard": "Preview Board",
+ "Settings.PreviewBoard.Desc":
+ "Show a preview of the board when hovering over a move in the engine analysis",
+ "Settings.ScrollThroughMoves": "Scroll Through Moves",
+ "Settings.ScrollThroughMoves.Desc":
+ "Enable or disable scrolling through moves on the chessboard",
+ "Settings.Inputs.Desc": "Customize the input settings",
+ "Settings.Inputs.TextInput": "Text Move Input",
+ "Settings.Inputs.TextInput.Desc": "Enter moves in text format",
+ "Settings.Inputs.SpellCheck": "Spell Check",
+ "Settings.Inputs.SpellCheck.Desc":
+ "Enable or disable spell check on text inputs",
+ "Settings.OpeningReport.Desc": "Customize the opening report settings",
+ "Settings.OpeningReport.PercentCoverage": "Percent Coverage",
+ "Settings.OpeningReport.PercentCoverage.Desc":
+ "Percentage of moves covered in each position",
+ "Settings.OpeningReport.MinGames": "Minimum Games",
+ "Settings.OpeningReport.MinGames.Desc":
+ "Minimum number of games in each position for it to be considered",
+ "Settings.Anarchy.Desc": "Fun options",
+ "Settings.Anarchy.ForcedEnCroissant": "Forced En Croissant",
+ "Settings.Anarchy.ForcedEnCroissant.Desc":
+ "Forces you to play En Croissant, if it's a legal move.",
+ "Settings.Appearance.Desc": "Customize the look of the app",
+ "Settings.Appearance.Theme": "Theme",
+ "Settings.Appearance.Theme.Desc": "Overall color scheme",
+ "Settings.Appearance.Theme.Light": "Light",
+ "Settings.Appearance.Theme.Dark": "Dark",
+ "Settings.Appearance.TitleBar": "Title Bar",
+ "Settings.Appearance.TitleBar.Desc":
+ "Choose between native or custom title bar",
+ "Settings.Appearance.TitleBar.Native": "Native",
+ "Settings.Appearance.TitleBar.Custom": "Custom",
+ "Settings.Appearance.FontSize": "Font Size",
+ "Settings.Appearance.FontSize.Desc": "Overall font size",
+ "Settings.Appearance.PieceSet": "Piece Set",
+ "Settings.Appearance.PieceSet.Desc": "Pieces used on the boards",
+ "Settings.Appearance.BoardImage": "Board Image",
+ "Settings.Appearance.BoardImage.Desc":
+ "Image used as the background of the board",
+ "Settings.Appearance.AccentColor": "Accent Color",
+ "Settings.Appearance.AccentColor.Desc": "Main color of the app",
+ "Settings.Sound.Desc": "Customize the sound settings",
+ "Settings.Sound.Volume": "Volume",
+ "Settings.Sound.Volume.Desc": "Overall volume",
+ "Settings.Sound.Collection": "Sound collection",
+ "Settings.Sound.Collection.Desc": "Collection of sounds used",
+ "Settings.Directories.Desc": "Customize the directories used by the app",
+ "Settings.Directories.Files": "Files directory",
+ "Settings.Directories.Files.Desc":
+ "This is where your games in the Files page are stored",
+ },
+};
diff --git a/src/translation/zh_CN.ts b/src/translation/zh_CN.ts
index b9b029f1..1a1e0dfe 100644
--- a/src/translation/zh_CN.ts
+++ b/src/translation/zh_CN.ts
@@ -1,324 +1,336 @@
-export const zh_CN = {
- translation: {
- "Common.On": "开",
- "Common.Off": "关",
- "Common.Name": "名称",
- "Common.Description": "描述",
- "Common.Version": "版本",
- "Common.Enabled": "启用",
- "Common.Remove": "移除",
- "Common.Delete": "删除",
- "Common.Download": "下载",
- "Common.Local": "本地",
- "Common.Add": "添加",
- "Common.Open": "打开",
- "Common.Create": "创建",
- "Common.Save": "保存",
- "Common.Install": "安装",
- "Common.Installed": "已安装",
- "Common.Downloading": "下载中",
- "Common.Extracting": "解压中",
- "Common.Error": "错误",
- "Common.AddNew": "新增",
- "Common.OpenFolder": "在文件管理器中打开文件夹",
- "Common.Unknown": "未知",
- "Common.Cancel": "取消",
- "Common.CannotUndo": "这一操作无法撤销",
- "Common.NameAlreadyUsed": "名称已被使用",
- "Common.RequireName": "必须填写名称",
- "Common.RequirePath": "必须填写路径",
- "Common.PGNFile": "PGN 文件",
- "Common.PGNGame": "对局 PGN",
- "Common.Size": "大小",
- "Common.GeneralSettings": "通用设置",
- "Common.Data": "数据",
- "Common.Games": "对局",
- "Common.Edit": "编辑",
- "Common.EnterFileName": "输入文件名",
- "Common.Next": "下一个",
- "Common.Skip": "跳过",
- "Common.Reset": "重置",
- "Common.Incorrect": "不正确",
- "Common.Run": "运行",
- "Common.Stop": "停止",
- "Common.Engine": "引擎",
- "Common.Checkmate": "将杀",
- "Common.Stalemate": "无子可动",
- "Common.WHITE": "白方",
- "Common.BLACK": "黑方",
-
- "GoMode.Time": "时间",
- "GoMode.Depth": "深度",
- "GoMode.Nodes": "局面数",
- "GoMode.Infinite": "无限",
-
- "Annotate.Brilliant": "Brilliant",
- "Annotate.Good": "Good",
- "Annotate.Interesting": "Interesting",
- "Annotate.Dubious": "Dubious",
- "Annotate.Mistake": "Mistake",
- "Annotate.Blunder": "Blunder",
- "Annotate.WhiteWinning": "白胜",
- "Annotate.WhiteAdvantage": "白大优",
- "Annotate.WhiteEdge": "白略优",
- "Annotate.Equal": "均势",
- "Annotate.Unclear": "局势不明",
- "Annotate.BlackEdge": "黑略优",
- "Annotate.BlackAdvantage": "黑大优",
- "Annotate.BlackWinning": "黑胜",
- "Annotate.Novelty": "新奇着法",
- "Annotate.Development": "发展",
- "Annotate.Initiative": "主动",
- "Annotate.Attack": "进攻",
- "Annotate.Counterplay": "反击",
- "Annotate.WithCompensation": "优势补偿",
- "Annotate.TimeTrouble": "无暇多虑",
- "Annotate.WithIdea": "有想法",
- "Annotate.OnlyMove": "唯一着法",
- "Annotate.Zugzwang": "楚茨文克",
-
- "RichText.Bold": "粗体",
- "RichText.Italic": "斜体",
- "RichText.Underline": "下划线",
- "RichText.Strike": "删除线",
- "RichText.ClearFormatting": "清除格式",
- "RichText.H1": "一级标题",
- "RichText.H2": "二级标题",
- "RichText.H3": "三级标题",
- "RichText.H4": "四级标题",
- "RichText.Quote": "引用",
- "RichText.HLine": "水平分隔",
- "RichText.BulletList": "无序列表",
- "RichText.NumberedList": "有序列表",
- "RichText.Link": "链接",
- "RichText.RemoveLink": "移除链接",
-
- "TimeControl.UltraBullet": "UltraBullet",
- "TimeControl.Bullet": "超超快棋",
- "TimeControl.Blitz": "超快棋",
- "TimeControl.Rapid": "快棋",
- "TimeControl.Classical": "慢棋",
- "TimeControl.Correspondence": "通讯棋",
-
- "Menu.File": "文件",
- "Menu.File.NewTab": "新建标签页",
- "Menu.File.OpenFile": "打开文件",
- "Menu.File.Exit": "退出",
- "Menu.View": "视图",
- "Menu.View.Reload": "刷新",
- "Menu.Help": "帮助",
- "Menu.Help.Documentation": "文档",
- "Menu.Help.ClearSavedData": "清除数据",
- "Menu.Help.OpenLogs": "打开日志",
- "Menu.Help.CheckUpdate": "检查更新",
- "Menu.Help.About": "关于",
-
- "SideBar.Board": "棋盘",
- "SideBar.User": "用户",
- "SideBar.Files": "文件",
- "SideBar.Databases": "数据库",
- "SideBar.Engines": "引擎",
- "SideBar.Settings": "设置",
-
- "Tab.NewTab": "新标签页",
-
- "Home.Card.PlayChess.Title": "开始对局",
- "Home.Card.PlayChess.Desc": "和朋友或者引擎对弈",
- "Home.Card.PlayChess.Button": "开始对局",
- "Home.Card.AnalysisBoard.Title": "分析面板",
- "Home.Card.AnalysisBoard.Desc": "分析棋局或者局面",
- "Home.Card.AnalysisBoard.Button": "打开面板",
- "Home.Card.ImportGame.Title": "导入棋局",
- "Home.Card.ImportGame.Desc": "从 PGN 文件导入棋局",
- "Home.Card.ImportGame.Button": "导入棋局",
- "Home.Card.Puzzle.Title": "谜题",
- "Home.Card.Puzzle.Desc": "训练你的棋战技巧",
- "Home.Card.Puzzle.Button": "开始训练",
-
- "Board.Tabs.Practice": "练习",
- "Board.Tabs.Analysis": "分析",
- "Board.Tabs.Database": "数据库",
- "Board.Tabs.Annotate": "评注",
- "Board.Tabs.Info": "信息",
- "Board.Practice.Train": "训练",
- "Board.Practice.Build": "构建",
- "Board.Practice.NoPositionForTrain1": "没有可供练习的局面,请先向 PGN 文件中添加着法。",
- "Board.Practice.NoPositionForTrain2": "你需要切换到分析模式来向 PGN 文件中添加着法。",
- "Board.Practice.SeeAnser": "查看答案",
- "Board.Practice.Practiced": "已练习",
- "Board.Practice.Due": "需复习",
- "Board.Practice.Unseen": "未学习",
- "Board.Practice.ShowAll": "显示所有局面",
- "Board.Practice.ShowLogs": "显示日志",
- "Board.Practice.PracticedAll1": "你已经练习了所有的局面",
- "Board.Practice.PracticedAll2": "下次复习将在",
- "Board.Practice.CorrectMoveWas": "正确的着法是 {{move}}",
- "Board.Analysis.Engines": "引擎",
- "Board.Analysis.Report": "报告",
- "Board.Analysis.Logs": "日志",
- "Board.Analysis.Summary": "总结",
- "Board.Analysis.InactiveEngine": "引擎未启用",
- "Board.Analysis.SyncGlobally": "全局同步",
- "Board.Analysis.KillEngine": "杀死引擎",
- "Board.Analysis.GenerateReport": "生成报告",
- "Board.Analysis.ReportGenerated": "报告已生成",
- "Board.Analysis.GeneratingReport": "正在生成报告",
- "Board.Analysis.NotAnalysed": "尚未分析",
- "Board.Analysis.EngineRequired": "请指定一个引擎",
- "Board.Analysis.RefDBRequired": "没有参考数据库,请在数据库页面选择一个参考数据库",
- "Board.Analysis.Time": "时间 (ms)",
- "Board.Analysis.Reversed": "反向分析",
- "Board.Analysis.Reversed.Desc": "从最后一步开始分析",
- "Board.Analysis.AnnotateNovelties": "评注新奇着法",
- "Board.Analysis.AnnotateNovelties.Desc": "在不在参考数据库中的第一个着法上添加注释",
- "Board.Analysis.Analyze": "分析",
- "Board.Analysis.Advantage": "优势",
- "Board.Analysis.Accuracy": "精度",
- "Board.Database.Local": "本地",
- "Board.Database.LichessAll": "Lichess 全部对局",
- "Board.Database.LichessMaster": "Lichess 大师对局",
- "Board.Database.Matches": "{{matches}} 个匹配的对局",
- "Board.Database.Stats": "统计",
- "Board.Database.Games": "对局",
- "Board.Database.Options": "选项",
- "Board.Database.NoReference1": "没有参考数据库",
- "Board.Database.NoReference2": "请先",
- "Board.Database.SelectReference": "添加一个数据库",
- "Board.Database.NoReference3": "并将其作为参考",
- "Board.Database.TimeControl": "时间控制",
- "Board.Database.AverageRating": "平均等级分",
- "Board.Annotate.WriteHere": "在这里写评注...",
-
- "Engines.Title": "引擎管理",
- "Engines.Settings.NoEngine": "没有选中的引擎",
- "Engines.Settings.SearchSettings": "搜索设置",
- "Engines.Settings.AdvancedSettings": "高级设置",
- "Engines.Settings.NumOfLines": "分支数量",
- "Engines.Settings.NumOfCores": "CPU 核心数量",
- "Engines.Settings.SizeOfHash": "Hash 大小",
- "Engines.Settings.EditJSON": "编辑 JSON",
- "Engines.Settings.Reset": "重置为默认",
- "Engines.Add.Title": "添加引擎",
- "Engines.Add.Cloud": "云引擎",
- "Engines.Add.ErrorFetch": "无法从服务器获取引擎信息",
- "Engines.Add.BinaryFile": "二进制文件",
- "Engines.Add.BinaryFile.Desc": "点击选择二进制文件",
- "Engines.Add.Name": "名称",
- "Engines.Add.Name.Autodetect": "自动检测",
- "Engines.Add.Elo.Desc": "引擎的 Elo 等级分",
- "Engines.Add.ImageFile": "图片文件",
- "Engines.Add.ImageFile.Desc": "点击选择图片文件 (推荐尺寸: 60x60)",
- "Engines.Remove.Title": "移除引擎",
- "Engines.Remove.Message": "你确定要从 En Croissant 中移除这个引擎吗?",
-
- "Databases.Title": "数据库管理",
- "Databases.Card.Games": "对局数量",
- "Databases.Card.Players": "棋手数量",
- "Databases.Card.Storage": "磁盘使用",
- "Databases.Add.Title": "添加数据库",
- "Databases.Add.Web": "网络数据库",
- "Databases.Add.ErrorFetch": "无法从服务器获取数据库信息",
- "Databases.Add.ClickToSelectPGN": "点击选择 PGN 文件",
- "Databases.Add.Convert": "转换",
- "Databases.Settings.ReferenceDatabase": "作为参考数据库",
- "Databases.Settings.Indexed": "建立索引",
- "Databases.Settings.Indexed.Desc": "索引可以加速搜索,但会占用额外的磁盘空间",
- "Databases.Settings.Events": "赛事数量",
- "Databases.Settings.Explore": "查看对局",
- "Databases.Settings.AdvancedTools": "高级工具",
- "Databases.Settings.MergePlayers": "合并棋手",
- "Databases.Settings.MergePlayers.Desc": "将数据库中第一位棋手替换为第二位棋手",
- "Databases.Settings.Merge": "合并",
- "Databases.Settings.BatchDelete": "批量删除",
- "Databases.Settings.BatchDelete.Desc": "这会不可逆地从数据库中删除对局,小心地使用",
- "Databases.Settings.RemoveDup": "删除重复对局",
- "Databases.Settings.RemoveEmpty": "删除空对局",
- "Databases.Settings.Actions": "动作",
- "Databases.Settings.AddGames": "添加对局",
- "Databases.Settings.ExportPGN": "导出为 PGN",
- "Databases.Delete.Title": "删除数据库",
- "Databases.Delete.Message": "你确定要删除这个数据库吗?",
-
- "Files.Title": "文件",
- "Files.FileType": "文件类型",
- "Files.FileType.Game": "对局",
- "Files.FileType.Repertoire": "开局库",
- "Files.FileType.Tournament": "锦标赛",
- "Files.FileType.Puzzle": "谜题",
- "Files.FileType.Other": "其他",
- "Files.FileType.Folder": "文件夹",
- "Files.Delete.Title": "删除文件",
- "Files.Delete.Message": "你确定要删除文件 {{fileName}}?",
- "Files.EditMetadata": "编辑元数据",
- "Files.Edit.Title": "编辑文件",
- "Files.Create.Title": "新建文件",
- "Files.Search": "搜索文件",
-
- "Settings.Board": "棋盘",
- "Settings.Inputs": "输入",
- "Settings.OpeningReport": "开局报告",
- "Settings.Anarchy": "安那其",
- "Settings.Appearance": "外观",
- "Settings.Sound": "声音",
- "Settings.Keybinds": "快捷键",
- "Settings.Directories": "目录",
-
- "Settings.Board.Desc": "自定义分析面板和游戏控制",
- "Settings.PieceDest": "棋子目的地",
- "Settings.PieceDest.Desc": "显示棋子可以到达的位置",
- "Settings.Arrows": "箭头",
- "Settings.Arrows.Desc": "用箭头显示最佳着法",
- "Settings.SnapArrows": "吸附箭头",
- "Settings.SnapArrows.Desc": "将箭头吸附到合法的移动上",
- "Settings.ConsecutiveArrows": "连续箭头",
- "Settings.ConsecutiveArrows.Desc": "如果最佳着法中会多次移动同一个棋子,显示多个箭头",
- "Settings.AutoPromition": "自动升变",
- "Settings.AutoPromition.Desc": "兵抵达底线时自动升变为后",
- "Settings.Coordinates": "坐标",
- "Settings.Coordinates.Desc": "在棋盘上显示坐标",
- "Settings.AutoSave": "自动保存",
- "Settings.AutoSave.Desc": "每走一步棋都自动保存棋局",
- "Settings.PreviewBoard": "预览棋盘",
- "Settings.PreviewBoard.Desc": "在引擎分析中,当鼠标悬停在着法上时显示一个预览棋盘",
- "Settings.ScrollThroughMoves": "滚动着法",
- "Settings.ScrollThroughMoves.Desc": "在引擎分析中,用鼠标滚轮在着法之间快速切换",
- "Settings.Inputs.Desc": "自定义输入选项",
- "Settings.Inputs.TextInput": "文本输入着法",
- "Settings.Inputs.TextInput.Desc": "以文本方式输入着法",
- "Settings.Inputs.SpellCheck": "拼写检查",
- "Settings.Inputs.SpellCheck.Desc": "启用或禁用文本输入的拼写检查",
- "Settings.OpeningReport.Desc": "自定义开局报告",
- "Settings.OpeningReport.PercentCoverage": "覆盖率百分比",
- "Settings.OpeningReport.PercentCoverage.Desc": "每个局面中的着法覆盖率百分比",
- "Settings.OpeningReport.MinGames": "最小对局数",
- "Settings.OpeningReport.MinGames.Desc": "每个局面中被考虑的最小对局数",
- "Settings.Anarchy.Desc": "有趣的选项",
- "Settings.Anarchy.ForcedEnCroissant": "强制 En Croissant",
- "Settings.Anarchy.ForcedEnCroissant.Desc": "如果 En Croissant 是合法的着法,强制走出这一着",
- "Settings.Appearance.Desc": "自定义应用程序的外观",
- "Settings.Appearance.Theme": "主题",
- "Settings.Appearance.Theme.Desc": "总体的颜色主题",
- "Settings.Appearance.Theme.Light": "亮",
- "Settings.Appearance.Theme.Dark": "暗",
- "Settings.Appearance.TitleBar": "标题栏",
- "Settings.Appearance.TitleBar.Desc": "使用原生或自定义标题栏",
- "Settings.Appearance.TitleBar.Native": "Native",
- "Settings.Appearance.TitleBar.Custom": "Custom",
- "Settings.Appearance.FontSize": "字体大小",
- "Settings.Appearance.FontSize.Desc": "应用程序中的字体大小",
- "Settings.Appearance.PieceSet": "棋子",
- "Settings.Appearance.PieceSet.Desc": "棋盘上使用的棋子",
- "Settings.Appearance.BoardImage": "棋盘图案",
- "Settings.Appearance.BoardImage.Desc": "棋盘背景图案",
- "Settings.Appearance.AccentColor": "主题色",
- "Settings.Appearance.AccentColor.Desc": "应用程序的主题色",
- "Settings.Sound.Desc": "自定义声音选项",
- "Settings.Sound.Volume": "音量",
- "Settings.Sound.Volume.Desc": "总音量",
- "Settings.Sound.Collection": "声音集",
- "Settings.Sound.Collection.Desc": "使用的声音集",
- "Settings.Directories.Desc": "自定义应用程序使用的目录",
- "Settings.Directories.Files": "文件目录",
- "Settings.Directories.Files.Desc": "这是你在文件页面中的对局存储的位置",
- }
-}
+export const zh_CN = {
+ translation: {
+ "Common.On": "开",
+ "Common.Off": "关",
+ "Common.Name": "名称",
+ "Common.Description": "描述",
+ "Common.Version": "版本",
+ "Common.Enabled": "启用",
+ "Common.Remove": "移除",
+ "Common.Delete": "删除",
+ "Common.Download": "下载",
+ "Common.Local": "本地",
+ "Common.Add": "添加",
+ "Common.Open": "打开",
+ "Common.Create": "创建",
+ "Common.Save": "保存",
+ "Common.Install": "安装",
+ "Common.Installed": "已安装",
+ "Common.Downloading": "下载中",
+ "Common.Extracting": "解压中",
+ "Common.Error": "错误",
+ "Common.AddNew": "新增",
+ "Common.OpenFolder": "在文件管理器中打开文件夹",
+ "Common.Unknown": "未知",
+ "Common.Cancel": "取消",
+ "Common.CannotUndo": "这一操作无法撤销",
+ "Common.NameAlreadyUsed": "名称已被使用",
+ "Common.RequireName": "必须填写名称",
+ "Common.RequirePath": "必须填写路径",
+ "Common.PGNFile": "PGN 文件",
+ "Common.PGNGame": "对局 PGN",
+ "Common.Size": "大小",
+ "Common.GeneralSettings": "通用设置",
+ "Common.Data": "数据",
+ "Common.Games": "对局",
+ "Common.Edit": "编辑",
+ "Common.EnterFileName": "输入文件名",
+ "Common.Next": "下一个",
+ "Common.Skip": "跳过",
+ "Common.Reset": "重置",
+ "Common.Incorrect": "不正确",
+ "Common.Run": "运行",
+ "Common.Stop": "停止",
+ "Common.Engine": "引擎",
+ "Common.Checkmate": "将杀",
+ "Common.Stalemate": "无子可动",
+ "Common.WHITE": "白方",
+ "Common.BLACK": "黑方",
+
+ "GoMode.Time": "时间",
+ "GoMode.Depth": "深度",
+ "GoMode.Nodes": "局面数",
+ "GoMode.Infinite": "无限",
+
+ "Annotate.Brilliant": "Brilliant",
+ "Annotate.Good": "Good",
+ "Annotate.Interesting": "Interesting",
+ "Annotate.Dubious": "Dubious",
+ "Annotate.Mistake": "Mistake",
+ "Annotate.Blunder": "Blunder",
+ "Annotate.WhiteWinning": "白胜",
+ "Annotate.WhiteAdvantage": "白大优",
+ "Annotate.WhiteEdge": "白略优",
+ "Annotate.Equal": "均势",
+ "Annotate.Unclear": "局势不明",
+ "Annotate.BlackEdge": "黑略优",
+ "Annotate.BlackAdvantage": "黑大优",
+ "Annotate.BlackWinning": "黑胜",
+ "Annotate.Novelty": "新奇着法",
+ "Annotate.Development": "发展",
+ "Annotate.Initiative": "主动",
+ "Annotate.Attack": "进攻",
+ "Annotate.Counterplay": "反击",
+ "Annotate.WithCompensation": "优势补偿",
+ "Annotate.TimeTrouble": "无暇多虑",
+ "Annotate.WithIdea": "有想法",
+ "Annotate.OnlyMove": "唯一着法",
+ "Annotate.Zugzwang": "楚茨文克",
+
+ "RichText.Bold": "粗体",
+ "RichText.Italic": "斜体",
+ "RichText.Underline": "下划线",
+ "RichText.Strike": "删除线",
+ "RichText.ClearFormatting": "清除格式",
+ "RichText.H1": "一级标题",
+ "RichText.H2": "二级标题",
+ "RichText.H3": "三级标题",
+ "RichText.H4": "四级标题",
+ "RichText.Quote": "引用",
+ "RichText.HLine": "水平分隔",
+ "RichText.BulletList": "无序列表",
+ "RichText.NumberedList": "有序列表",
+ "RichText.Link": "链接",
+ "RichText.RemoveLink": "移除链接",
+
+ "TimeControl.UltraBullet": "UltraBullet",
+ "TimeControl.Bullet": "超超快棋",
+ "TimeControl.Blitz": "超快棋",
+ "TimeControl.Rapid": "快棋",
+ "TimeControl.Classical": "慢棋",
+ "TimeControl.Correspondence": "通讯棋",
+
+ "Menu.File": "文件",
+ "Menu.File.NewTab": "新建标签页",
+ "Menu.File.OpenFile": "打开文件",
+ "Menu.File.Exit": "退出",
+ "Menu.View": "视图",
+ "Menu.View.Reload": "刷新",
+ "Menu.Help": "帮助",
+ "Menu.Help.Documentation": "文档",
+ "Menu.Help.ClearSavedData": "清除数据",
+ "Menu.Help.OpenLogs": "打开日志",
+ "Menu.Help.CheckUpdate": "检查更新",
+ "Menu.Help.About": "关于",
+
+ "SideBar.Board": "棋盘",
+ "SideBar.User": "用户",
+ "SideBar.Files": "文件",
+ "SideBar.Databases": "数据库",
+ "SideBar.Engines": "引擎",
+ "SideBar.Settings": "设置",
+
+ "Tab.NewTab": "新标签页",
+
+ "Home.Card.PlayChess.Title": "开始对局",
+ "Home.Card.PlayChess.Desc": "和朋友或者引擎对弈",
+ "Home.Card.PlayChess.Button": "开始对局",
+ "Home.Card.AnalysisBoard.Title": "分析面板",
+ "Home.Card.AnalysisBoard.Desc": "分析棋局或者局面",
+ "Home.Card.AnalysisBoard.Button": "打开面板",
+ "Home.Card.ImportGame.Title": "导入棋局",
+ "Home.Card.ImportGame.Desc": "从 PGN 文件导入棋局",
+ "Home.Card.ImportGame.Button": "导入棋局",
+ "Home.Card.Puzzle.Title": "谜题",
+ "Home.Card.Puzzle.Desc": "训练你的棋战技巧",
+ "Home.Card.Puzzle.Button": "开始训练",
+
+ "Board.Tabs.Practice": "练习",
+ "Board.Tabs.Analysis": "分析",
+ "Board.Tabs.Database": "数据库",
+ "Board.Tabs.Annotate": "评注",
+ "Board.Tabs.Info": "信息",
+ "Board.Practice.Train": "训练",
+ "Board.Practice.Build": "构建",
+ "Board.Practice.NoPositionForTrain1":
+ "没有可供练习的局面,请先向 PGN 文件中添加着法。",
+ "Board.Practice.NoPositionForTrain2":
+ "你需要切换到分析模式来向 PGN 文件中添加着法。",
+ "Board.Practice.SeeAnser": "查看答案",
+ "Board.Practice.Practiced": "已练习",
+ "Board.Practice.Due": "需复习",
+ "Board.Practice.Unseen": "未学习",
+ "Board.Practice.ShowAll": "显示所有局面",
+ "Board.Practice.ShowLogs": "显示日志",
+ "Board.Practice.PracticedAll1": "你已经练习了所有的局面",
+ "Board.Practice.PracticedAll2": "下次复习将在",
+ "Board.Practice.CorrectMoveWas": "正确的着法是 {{move}}",
+ "Board.Analysis.Engines": "引擎",
+ "Board.Analysis.Report": "报告",
+ "Board.Analysis.Logs": "日志",
+ "Board.Analysis.Summary": "总结",
+ "Board.Analysis.InactiveEngine": "引擎未启用",
+ "Board.Analysis.SyncGlobally": "全局同步",
+ "Board.Analysis.KillEngine": "杀死引擎",
+ "Board.Analysis.GenerateReport": "生成报告",
+ "Board.Analysis.ReportGenerated": "报告已生成",
+ "Board.Analysis.GeneratingReport": "正在生成报告",
+ "Board.Analysis.NotAnalysed": "尚未分析",
+ "Board.Analysis.EngineRequired": "请指定一个引擎",
+ "Board.Analysis.RefDBRequired":
+ "没有参考数据库,请在数据库页面选择一个参考数据库",
+ "Board.Analysis.Time": "时间 (ms)",
+ "Board.Analysis.Reversed": "反向分析",
+ "Board.Analysis.Reversed.Desc": "从最后一步开始分析",
+ "Board.Analysis.AnnotateNovelties": "评注新奇着法",
+ "Board.Analysis.AnnotateNovelties.Desc":
+ "在不在参考数据库中的第一个着法上添加注释",
+ "Board.Analysis.Analyze": "分析",
+ "Board.Analysis.Advantage": "优势",
+ "Board.Analysis.Accuracy": "精度",
+ "Board.Database.Local": "本地",
+ "Board.Database.LichessAll": "Lichess 全部对局",
+ "Board.Database.LichessMaster": "Lichess 大师对局",
+ "Board.Database.Matches": "{{matches}} 个匹配的对局",
+ "Board.Database.Stats": "统计",
+ "Board.Database.Games": "对局",
+ "Board.Database.Options": "选项",
+ "Board.Database.NoReference1": "没有参考数据库",
+ "Board.Database.NoReference2": "请先",
+ "Board.Database.SelectReference": "添加一个数据库",
+ "Board.Database.NoReference3": "并将其作为参考",
+ "Board.Database.TimeControl": "时间控制",
+ "Board.Database.AverageRating": "平均等级分",
+ "Board.Annotate.WriteHere": "在这里写评注...",
+
+ "Engines.Title": "引擎管理",
+ "Engines.Settings.NoEngine": "没有选中的引擎",
+ "Engines.Settings.SearchSettings": "搜索设置",
+ "Engines.Settings.AdvancedSettings": "高级设置",
+ "Engines.Settings.NumOfLines": "分支数量",
+ "Engines.Settings.NumOfCores": "CPU 核心数量",
+ "Engines.Settings.SizeOfHash": "Hash 大小",
+ "Engines.Settings.EditJSON": "编辑 JSON",
+ "Engines.Settings.Reset": "重置为默认",
+ "Engines.Add.Title": "添加引擎",
+ "Engines.Add.Cloud": "云引擎",
+ "Engines.Add.ErrorFetch": "无法从服务器获取引擎信息",
+ "Engines.Add.BinaryFile": "二进制文件",
+ "Engines.Add.BinaryFile.Desc": "点击选择二进制文件",
+ "Engines.Add.Name": "名称",
+ "Engines.Add.Name.Autodetect": "自动检测",
+ "Engines.Add.Elo.Desc": "引擎的 Elo 等级分",
+ "Engines.Add.ImageFile": "图片文件",
+ "Engines.Add.ImageFile.Desc": "点击选择图片文件 (推荐尺寸: 60x60)",
+ "Engines.Remove.Title": "移除引擎",
+ "Engines.Remove.Message": "你确定要从 En Croissant 中移除这个引擎吗?",
+
+ "Databases.Title": "数据库管理",
+ "Databases.Card.Games": "对局数量",
+ "Databases.Card.Players": "棋手数量",
+ "Databases.Card.Storage": "磁盘使用",
+ "Databases.Add.Title": "添加数据库",
+ "Databases.Add.Web": "网络数据库",
+ "Databases.Add.ErrorFetch": "无法从服务器获取数据库信息",
+ "Databases.Add.ClickToSelectPGN": "点击选择 PGN 文件",
+ "Databases.Add.Convert": "转换",
+ "Databases.Settings.ReferenceDatabase": "作为参考数据库",
+ "Databases.Settings.Indexed": "建立索引",
+ "Databases.Settings.Indexed.Desc":
+ "索引可以加速搜索,但会占用额外的磁盘空间",
+ "Databases.Settings.Events": "赛事数量",
+ "Databases.Settings.Explore": "查看对局",
+ "Databases.Settings.AdvancedTools": "高级工具",
+ "Databases.Settings.MergePlayers": "合并棋手",
+ "Databases.Settings.MergePlayers.Desc":
+ "将数据库中第一位棋手替换为第二位棋手",
+ "Databases.Settings.Merge": "合并",
+ "Databases.Settings.BatchDelete": "批量删除",
+ "Databases.Settings.BatchDelete.Desc":
+ "这会不可逆地从数据库中删除对局,小心地使用",
+ "Databases.Settings.RemoveDup": "删除重复对局",
+ "Databases.Settings.RemoveEmpty": "删除空对局",
+ "Databases.Settings.Actions": "动作",
+ "Databases.Settings.AddGames": "添加对局",
+ "Databases.Settings.ExportPGN": "导出为 PGN",
+ "Databases.Delete.Title": "删除数据库",
+ "Databases.Delete.Message": "你确定要删除这个数据库吗?",
+
+ "Files.Title": "文件",
+ "Files.FileType": "文件类型",
+ "Files.FileType.Game": "对局",
+ "Files.FileType.Repertoire": "开局库",
+ "Files.FileType.Tournament": "锦标赛",
+ "Files.FileType.Puzzle": "谜题",
+ "Files.FileType.Other": "其他",
+ "Files.FileType.Folder": "文件夹",
+ "Files.Delete.Title": "删除文件",
+ "Files.Delete.Message": "你确定要删除文件 {{fileName}}?",
+ "Files.EditMetadata": "编辑元数据",
+ "Files.Edit.Title": "编辑文件",
+ "Files.Create.Title": "新建文件",
+ "Files.Search": "搜索文件",
+
+ "Settings.Board": "棋盘",
+ "Settings.Inputs": "输入",
+ "Settings.OpeningReport": "开局报告",
+ "Settings.Anarchy": "安那其",
+ "Settings.Appearance": "外观",
+ "Settings.Sound": "声音",
+ "Settings.Keybinds": "快捷键",
+ "Settings.Directories": "目录",
+
+ "Settings.Board.Desc": "自定义分析面板和游戏控制",
+ "Settings.PieceDest": "棋子目的地",
+ "Settings.PieceDest.Desc": "显示棋子可以到达的位置",
+ "Settings.Arrows": "箭头",
+ "Settings.Arrows.Desc": "用箭头显示最佳着法",
+ "Settings.SnapArrows": "吸附箭头",
+ "Settings.SnapArrows.Desc": "将箭头吸附到合法的移动上",
+ "Settings.ConsecutiveArrows": "连续箭头",
+ "Settings.ConsecutiveArrows.Desc":
+ "如果最佳着法中会多次移动同一个棋子,显示多个箭头",
+ "Settings.AutoPromition": "自动升变",
+ "Settings.AutoPromition.Desc": "兵抵达底线时自动升变为后",
+ "Settings.Coordinates": "坐标",
+ "Settings.Coordinates.Desc": "在棋盘上显示坐标",
+ "Settings.AutoSave": "自动保存",
+ "Settings.AutoSave.Desc": "每走一步棋都自动保存棋局",
+ "Settings.PreviewBoard": "预览棋盘",
+ "Settings.PreviewBoard.Desc":
+ "在引擎分析中,当鼠标悬停在着法上时显示一个预览棋盘",
+ "Settings.ScrollThroughMoves": "滚动着法",
+ "Settings.ScrollThroughMoves.Desc":
+ "在引擎分析中,用鼠标滚轮在着法之间快速切换",
+ "Settings.Inputs.Desc": "自定义输入选项",
+ "Settings.Inputs.TextInput": "文本输入着法",
+ "Settings.Inputs.TextInput.Desc": "以文本方式输入着法",
+ "Settings.Inputs.SpellCheck": "拼写检查",
+ "Settings.Inputs.SpellCheck.Desc": "启用或禁用文本输入的拼写检查",
+ "Settings.OpeningReport.Desc": "自定义开局报告",
+ "Settings.OpeningReport.PercentCoverage": "覆盖率百分比",
+ "Settings.OpeningReport.PercentCoverage.Desc":
+ "每个局面中的着法覆盖率百分比",
+ "Settings.OpeningReport.MinGames": "最小对局数",
+ "Settings.OpeningReport.MinGames.Desc": "每个局面中被考虑的最小对局数",
+ "Settings.Anarchy.Desc": "有趣的选项",
+ "Settings.Anarchy.ForcedEnCroissant": "强制 En Croissant",
+ "Settings.Anarchy.ForcedEnCroissant.Desc":
+ "如果 En Croissant 是合法的着法,强制走出这一着",
+ "Settings.Appearance.Desc": "自定义应用程序的外观",
+ "Settings.Appearance.Theme": "主题",
+ "Settings.Appearance.Theme.Desc": "总体的颜色主题",
+ "Settings.Appearance.Theme.Light": "亮",
+ "Settings.Appearance.Theme.Dark": "暗",
+ "Settings.Appearance.TitleBar": "标题栏",
+ "Settings.Appearance.TitleBar.Desc": "使用原生或自定义标题栏",
+ "Settings.Appearance.TitleBar.Native": "Native",
+ "Settings.Appearance.TitleBar.Custom": "Custom",
+ "Settings.Appearance.FontSize": "字体大小",
+ "Settings.Appearance.FontSize.Desc": "应用程序中的字体大小",
+ "Settings.Appearance.PieceSet": "棋子",
+ "Settings.Appearance.PieceSet.Desc": "棋盘上使用的棋子",
+ "Settings.Appearance.BoardImage": "棋盘图案",
+ "Settings.Appearance.BoardImage.Desc": "棋盘背景图案",
+ "Settings.Appearance.AccentColor": "主题色",
+ "Settings.Appearance.AccentColor.Desc": "应用程序的主题色",
+ "Settings.Sound.Desc": "自定义声音选项",
+ "Settings.Sound.Volume": "音量",
+ "Settings.Sound.Volume.Desc": "总音量",
+ "Settings.Sound.Collection": "声音集",
+ "Settings.Sound.Collection.Desc": "使用的声音集",
+ "Settings.Directories.Desc": "自定义应用程序使用的目录",
+ "Settings.Directories.Files": "文件目录",
+ "Settings.Directories.Files.Desc": "这是你在文件页面中的对局存储的位置",
+ },
+};
diff --git a/src/utils/annotation.ts b/src/utils/annotation.ts
index a9125ccb..e363895e 100644
--- a/src/utils/annotation.ts
+++ b/src/utils/annotation.ts
@@ -77,20 +77,64 @@ export const ANNOTATION_INFO: Record = {
"?!": { group: "basic", name: "Dubious", color: "yellow", nag: 6 },
"?": { group: "basic", name: "Mistake", color: "orange", nag: 2 },
"??": { group: "basic", name: "Blunder", color: "red", nag: 4 },
- "+-": { group: "advantage", name: "White is winning", translationKey: "WhiteWinning", nag: 18 },
- "±": { group: "advantage", name: "White has a clear advantage", translationKey: "WhiteAdvantage", nag: 16 },
- "⩲": { group: "advantage", name: "White has a slight advantage", translationKey: "WhiteEdge", nag: 14 },
- "=": { group: "advantage", name: "Equal position", translationKey: "Equal", nag: 10 },
- "∞": { group: "advantage", name: "Unclear position", translationKey: "Unclear", nag: 13 },
- "⩱": { group: "advantage", name: "Black has a slight advantage", translationKey: "BlackEdge", nag: 15 },
- "∓": { group: "advantage", name: "Black has a clear advantage", translationKey: "BlackAdvantage", nag: 17 },
- "-+": { group: "advantage", name: "Black is winning", translationKey: "BlackWinning", nag: 19 },
+ "+-": {
+ group: "advantage",
+ name: "White is winning",
+ translationKey: "WhiteWinning",
+ nag: 18,
+ },
+ "±": {
+ group: "advantage",
+ name: "White has a clear advantage",
+ translationKey: "WhiteAdvantage",
+ nag: 16,
+ },
+ "⩲": {
+ group: "advantage",
+ name: "White has a slight advantage",
+ translationKey: "WhiteEdge",
+ nag: 14,
+ },
+ "=": {
+ group: "advantage",
+ name: "Equal position",
+ translationKey: "Equal",
+ nag: 10,
+ },
+ "∞": {
+ group: "advantage",
+ name: "Unclear position",
+ translationKey: "Unclear",
+ nag: 13,
+ },
+ "⩱": {
+ group: "advantage",
+ name: "Black has a slight advantage",
+ translationKey: "BlackEdge",
+ nag: 15,
+ },
+ "∓": {
+ group: "advantage",
+ name: "Black has a clear advantage",
+ translationKey: "BlackAdvantage",
+ nag: 17,
+ },
+ "-+": {
+ group: "advantage",
+ name: "Black is winning",
+ translationKey: "BlackWinning",
+ nag: 19,
+ },
N: { name: "Novelty", translationKey: "Novelty", nag: 146 },
"↑↑": { name: "Development", translationKey: "Development", nag: 32 },
"↑": { name: "Initiative", translationKey: "Initiative", nag: 36 },
"→": { name: "Attack", translationKey: "Attack", nag: 40 },
"⇆": { name: "Counterplay", translationKey: "Counterplay", nag: 132 },
- "=∞": { name: "With compensation", translationKey: "WithCompensation", nag: 44 },
+ "=∞": {
+ name: "With compensation",
+ translationKey: "WithCompensation",
+ nag: 44,
+ },
"⊕": { name: "Time Trouble", translationKey: "TimeTrouble", nag: 138 },
"∆": { name: "With the idea", translationKey: "WithIdea", nag: 140 },
"□": { name: "Only move", translationKey: "OnlyMove", nag: 7 },