Skip to content
This repository was archived by the owner on Sep 11, 2023. It is now read-only.

Commit a64d025

Browse files
committed
tidy translations up a bit
1 parent 62f7351 commit a64d025

File tree

3 files changed

+298
-286
lines changed

3 files changed

+298
-286
lines changed

Interop/TranslationProvider.cs

Lines changed: 8 additions & 286 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
using System;
22
using System.Collections.Generic;
33
using System.IO;
4+
using System.Linq;
45
using System.Windows;
56
using System.Xml;
67
using SPCode.Utils;
8+
using static SPCode.Utils.DefaultTranslations;
79

810
namespace SPCode.Interop;
911

@@ -14,8 +16,7 @@ public class TranslationProvider
1416

1517
public bool IsDefault = true;
1618

17-
18-
private readonly Dictionary<string, string> language = new(StringComparer.OrdinalIgnoreCase);
19+
private readonly Dictionary<string, string> LangDict = new(StringComparer.OrdinalIgnoreCase);
1920

2021
/// <summary>
2122
/// Gets the translation of the specified phrase.
@@ -24,7 +25,7 @@ public class TranslationProvider
2425
/// <returns></returns>
2526
public string Get(string phrase)
2627
{
27-
return language.ContainsKey(phrase) ? language[phrase] : string.Empty;
28+
return LangDict.ContainsKey(phrase) ? LangDict[phrase] : "<empty>";
2829
}
2930

3031
/// <summary>
@@ -34,7 +35,7 @@ public string Get(string phrase)
3435
/// <param name="Initial"></param>
3536
public void LoadLanguage(string lang, bool Initial = false)
3637
{
37-
FillToEnglishDefaults();
38+
DefaultLangDict.Keys.ToList().ForEach(x => LangDict[x] = DefaultLangDict[x]);
3839
var languageList = new List<string>();
3940
var languageIDList = new List<string>();
4041
languageList.Add("English");
@@ -46,7 +47,7 @@ public void LoadLanguage(string lang, bool Initial = false)
4647
try
4748
{
4849
var document = new XmlDocument();
49-
document.Load("lang_0_spcode.xml");
50+
document.Load(Constants.LanguagesFile);
5051
if (document.ChildNodes.Count < 1)
5152
{
5253
throw new Exception("No Root-Node: \"translations\" found");
@@ -78,7 +79,7 @@ public void LoadLanguage(string lang, bool Initial = false)
7879
}
7980
var nn = node.Name.ToLowerInvariant();
8081
var nv = node.InnerText;
81-
language[nn] = nv;
82+
LangDict[nn] = nv;
8283
}
8384
}
8485
}
@@ -92,284 +93,5 @@ public void LoadLanguage(string lang, bool Initial = false)
9293
}
9394
AvailableLanguages = languageList.ToArray();
9495
AvailableLanguageIDs = languageIDList.ToArray();
95-
}
96-
97-
/// <summary>
98-
/// Fills to default English phrases.
99-
/// </summary>
100-
private void FillToEnglishDefaults()
101-
{
102-
language.Clear();
103-
language.Add("File", "File");
104-
language.Add("Language", "English");
105-
language.Add("ServerRunning", "Server running");
106-
language.Add("Saving", "Saving");
107-
language.Add("SavingUFiles", "Save all unsaved files?");
108-
language.Add("CompileAll", "Compile all");
109-
language.Add("CompileCurrent", "Compile current");
110-
language.Add("Copy", "Copy");
111-
language.Add("UploadFTP", "FTP Upload");
112-
language.Add("StartServer", "Start server");
113-
language.Add("Replace", "Replace");
114-
language.Add("ReplaceAll", "Replace all");
115-
language.Add("OpenNewFile", "Open new file");
116-
language.Add("NoFileOpened", "No files opened");
117-
language.Add("NoFileOpenedCap", "None of the selected files could be opened.");
118-
language.Add("SaveFileAs", "Save file as");
119-
language.Add("SaveFollow", "Save following files");
120-
language.Add("ChDecomp", "Select plugin to decompile");
121-
language.Add("Decompiling", "Decompiling");
122-
language.Add("EditConfig", "Edit Configurations");
123-
language.Add("FoundInOff", "Found in offset {0} with length {1}");
124-
language.Add("FoundNothing", "Found nothing");
125-
language.Add("ReplacedOff", "Replaced in offset {0}");
126-
language.Add("ReplacedOcc", "Replaced {0} occurrences in {1} documents");
127-
language.Add("OccFound", "occurrences found");
128-
language.Add("EmptyPatt", "Empty search pattern");
129-
language.Add("NoValidRegex", "No valid regex pattern");
130-
language.Add("FailedCheck", "Failed to check");
131-
language.Add("ErrorUpdate", "Error while checking for updates.");
132-
language.Add("VersUpToDate", "Version up to date");
133-
language.Add("VersionYour", "Your program version {0} is up to date.");
134-
language.Add("Details", "Details");
135-
language.Add("Compiling", "Compiling");
136-
language.Add("Error", "Error");
137-
language.Add("SPCompNotStarted", "The spcomp.exe compiler did not start correctly.");
138-
language.Add("SPCompNotFound", "The spcomp.exe compiler could not be found.");
139-
language.Add("Copied", "Copied");
140-
language.Add("Deleted", "Deleted");
141-
language.Add("FailCopy", "Failed to copy");
142-
language.Add("NoFilesCopy", "No files copied");
143-
language.Add("Uploaded", "Uploaded");
144-
language.Add("ErrorUploadFile", "Error while uploading file: {0} to {1}");
145-
language.Add("ErrorUpload", "Error while uploading files");
146-
language.Add("Done", "Done");
147-
language.Add("FileStr", "File");
148-
language.Add("New", "New");
149-
language.Add("NewTemplate", "New from Template");
150-
language.Add("Open", "Open");
151-
language.Add("Save", "Save");
152-
language.Add("SaveAll", "Save all");
153-
language.Add("SaveAs", "Save as");
154-
language.Add("Close", "Close");
155-
language.Add("CloseAll", "Close all");
156-
language.Add("Build", "Build");
157-
language.Add("CopyPlugins", "Copy Plugins");
158-
language.Add("SendRCON", "Send RCON Commands");
159-
language.Add("Config", "Configuration");
160-
language.Add("Edit", "Edit");
161-
language.Add("Undo", "Undo");
162-
language.Add("Redo", "Redo");
163-
language.Add("Cut", "Cut");
164-
language.Add("Paste", "Paste");
165-
language.Add("Folding", "Foldings");
166-
language.Add("FoldingsExpand", "Expand all");
167-
language.Add("FoldingsCollapse", "Collapse all");
168-
language.Add("CommentLine", "Comment selection");
169-
language.Add("UncommentLine", "Uncomment selection");
170-
language.Add("SelectAll", "Select all");
171-
language.Add("SearchReplace", "Find & Replace");
172-
language.Add("Tools", "Tools");
173-
language.Add("Options", "Options");
174-
language.Add("SearchDefinition", "Parsed from include directory");
175-
language.Add("NewAPIWeb", "API Reference");
176-
language.Add("BetaAPIWeb", "(BETA) API Reference");
177-
language.Add("Reformatter", "Syntax reformatter");
178-
language.Add("ReformatCurrent", "Reformat current");
179-
language.Add("ReformatAll", "Reformat all");
180-
language.Add("Decompile", "Decompile");
181-
language.Add("ReportBugGit", "Report bug on GitHub");
182-
language.Add("CheckUpdates", "Check for updates");
183-
language.Add("About", "About");
184-
language.Add("FileName", "File Name");
185-
language.Add("Line", "Line");
186-
language.Add("TypeStr", "Type");
187-
language.Add("NormalSearch", "Normal search");
188-
language.Add("MatchWholeWords", "Match whole words");
189-
language.Add("AdvancSearch", "Advanced search");
190-
language.Add("RegexSearch", "Regex search");
191-
language.Add("CurrDoc", "Current document");
192-
language.Add("AllDoc", "All open documents");
193-
language.Add("Find", "Find");
194-
language.Add("Count", "Count");
195-
language.Add("CaseSen", "Case sensitive");
196-
language.Add("MultilineRegex", "Multiline Regex");
197-
language.Add("ErrorFileLoadProc", "Error while loading and processing the file.");
198-
language.Add("NotDissMethod", "Could not disassemble method {0}: {1}");
199-
language.Add("DFileChanged", "{0} has changed.");
200-
language.Add("FileChanged", "File changed");
201-
language.Add("FileTryReload", "Try reloading file?");
202-
language.Add("DSaveError", "An error occured while saving.");
203-
language.Add("SaveError", "Save error");
204-
language.Add("SavingFile", "Saving file");
205-
language.Add("PtAbb", "pt");
206-
language.Add("ColAbb", "Col");
207-
language.Add("LnAbb", "Ln");
208-
language.Add("LenAbb", "Len");
209-
language.Add("SPEditCap", "a lightweight SourcePawn editor");
210-
language.Add("WrittenBy", "written by: {0}");
211-
language.Add("License", "License");
212-
language.Add("PeopleInv", "People involved");
213-
language.Add("Preview", "Preview");
214-
language.Add("ConfigWrongPars", "The config was not able to parse a sourcepawn definition.");
215-
language.Add("NoName", "no name");
216-
language.Add("PosLen", "(pos: {0} - len: {1})");
217-
language.Add("InheritedFrom", "inherited from");
218-
language.Add("MethodFrom", "Method from");
219-
language.Add("PropertyFrom", "Property from");
220-
language.Add("Search", "Search");
221-
language.Add("Delete", "Delete");
222-
language.Add("Name", "Name");
223-
language.Add("ScriptDir", "Scripting directories");
224-
language.Add("DelimiedWi", "delimit with");
225-
language.Add("CopyDir", "Copy directory");
226-
language.Add("ServerExe", "Server executable");
227-
language.Add("serverStartArgs", "Server-start arguments");
228-
language.Add("PreBuildCom", "Pre-Build commandline");
229-
language.Add("PostBuildCom", "Post-Build commandline");
230-
language.Add("OptimizeLvl", "Optimization level");
231-
language.Add("VerboseLvl", "Verbose level");
232-
language.Add("AutoCopy", "Auto copy after compile");
233-
language.Add("AutoUpload", "Auto upload .smx after Compile");
234-
language.Add("AutoRCON", "Send RCON Commands after Compile");
235-
language.Add("DeleteOldSMX", "Delete old .smx after copy");
236-
language.Add("FTPHost", "FTP host");
237-
language.Add("FTPUser", "FTP user");
238-
language.Add("FTPPw", "FTP password");
239-
language.Add("FTPDir", "FTP directory");
240-
language.Add("ComEditorDir", "Directory of the SPEdit binary");
241-
language.Add("ComScriptDir", "Directory of the Compiling script");
242-
language.Add("ComCopyDir", "Directory where the smx should be copied");
243-
language.Add("ComScriptFile", "Full Directory and Name of the script");
244-
language.Add("ComScriptName", "File Name of the script");
245-
language.Add("ComPluginFile", "Full Directory and Name of the compiled script");
246-
language.Add("ComPluginName", "File Name of the compiled script");
247-
language.Add("RConEngine", "RCon server engine");
248-
language.Add("RConIP", "RCon server IP");
249-
language.Add("RconPort", "RCon server port");
250-
language.Add("RconPw", "RCon server password");
251-
language.Add("RconCom", "RCon Server commands");
252-
language.Add("ComPluginsReload", "Reloads all compiled plugins");
253-
language.Add("ComPluginsLoad", "Loads all compiled plugins");
254-
language.Add("ComPluginsUnload", "Unloads all compiled plugins");
255-
language.Add("NewConfig", "New config");
256-
language.Add("CannotDelConf", "Cannot delete config");
257-
language.Add("YCannotDelConf", "You cannot delete the default config.");
258-
language.Add("SelectExe", "Select executable");
259-
language.Add("CMDLineCom", "Commandline variables");
260-
language.Add("RConCMDLineCom", "Rcon commandline variables");
261-
language.Add("ResetOptions", "Reset options");
262-
language.Add("ResetOptQues", "Are you sure, you want to reset the options?");
263-
language.Add("RestartEditor", "Restart Editor");
264-
language.Add("YRestartEditor", "You have to restart the editor for the changes to have effect.");
265-
language.Add("RestartEdiFullEff", "Restart editor to take full effect...");
266-
language.Add("RestartEdiEff", "Restart editor to take effect...");
267-
language.Add("Program", "Program");
268-
language.Add("HardwareAcc", "Use hardware acceleration (if available)");
269-
language.Add("UIAnim", "UI animations");
270-
language.Add("OpenInc", "Auto open includes");
271-
language.Add("OpenIncRec", "Open Includes Recursively");
272-
language.Add("AutoUpdate", "Search automatically for updates");
273-
language.Add("ShowToolbar", "Show toolbar");
274-
language.Add("DynamicISAC", "Dynamic Autocomplete/Intellisense");
275-
language.Add("DarkTheme", "Dark theme");
276-
language.Add("ThemeColor", "Theme Color");
277-
language.Add("LanguageStr", "Language");
278-
language.Add("Editor", "Editor");
279-
language.Add("FontSize", "Font size");
280-
language.Add("ScrollSpeed", "Scroll speed");
281-
language.Add("WordWrap", "Word wrap");
282-
language.Add("AggIndentation", "Aggressive Indentation");
283-
language.Add("ReformatAfterSem", "Reformatting line after semicolon");
284-
language.Add("TabsToSpace", "Replace tabs with spaces");
285-
language.Add("AutoCloseBrack", "Auto close brackets");
286-
language.Add("AutoCloseStrChr", "Auto close Strings, Chars");
287-
language.Add("ShowSpaces", "Show spaces");
288-
language.Add("ShowTabs", "Show tabs");
289-
language.Add("IndentationSize", "Indentation size");
290-
language.Add("FontFamily", "Font");
291-
language.Add("SyntaxHigh", "Syntax Highlighting");
292-
language.Add("HighDeprecat", "Highlight deprecated (<1.7) syntax - NOT SUPPORTED");
293-
language.Add("Compile", "Compile");
294-
language.Add("AutoSaveMin", "Auto save (min)");
295-
language.Add("OBTextFile", "File Directory");
296-
language.Add("OBTextConfig", "Config Directory");
297-
language.Add("CopyingFiles", "Copying files");
298-
language.Add("FTPUploading", "Uploading files");
299-
language.Add("RCONCommand", "Sending RCON Commands");
300-
language.Add("JavaInstallCheck", "Checking for Java installation");
301-
language.Add("JavaNotFoundTitle", "Java was not found");
302-
language.Add("JavaNotFoundMessage",
303-
"SPCode needs Java to decompile plugins, but it couldn't get it to work properly - " +
304-
"perhaps due to an absent or incorrect Java installation. " +
305-
"Do you wish to download and install it now?");
306-
language.Add("JavaOutdatedTitle", "Java version found is outdated");
307-
language.Add("JavaOutdatedMessage",
308-
"SPCode requires Java 11 SDK or later to decompile plugins. " +
309-
"We found an outdated version in your system. " +
310-
"Do you wish to download and upgrade it now?");
311-
language.Add("FailedToDecompile", "failed to decompile");
312-
language.Add("DownloadingJava", "Downloading Java");
313-
language.Add("FetchingJava", "Fetching installation file from https://adoptopenjdk.net...");
314-
language.Add("AmountCompleted", "completed");
315-
language.Add("AmountDownloaded", "downloaded");
316-
language.Add("JavaOpened", "Java installation file opened");
317-
language.Add("JavaSuggestRestart", "After installing Java, it is highly recommended to restart SPCode.");
318-
language.Add("JavaDownErrorTitle", "Java download error");
319-
language.Add("JavaDownErrorMessage", "SPCode could not download Java by itself. Would you like to download it manually?");
320-
language.Add("JavaOpenedBrowser", "Java download link opened in browser");
321-
language.Add("ErrorSavingConfigs", "Could not save the current configs state");
322-
language.Add("DuplicateConfigNames", "You cannot have 2 configs or more with the same name.");
323-
language.Add("EmptyConfigNames", "You cannot have configs with an empty name.");
324-
language.Add("DefaultValues", "Default values");
325-
language.Add("WantToUpdate", "Do you want to update?");
326-
language.Add("VersionAvailable", "Version {0} is available for download!");
327-
language.Add("Yes", "Yes");
328-
language.Add("No", "No");
329-
language.Add("ViewGithub", "View on GitHub");
330-
language.Add("UpdatingTo", "Updating to {0}");
331-
language.Add("DownloadingUpdater", "Downloading updater...");
332-
language.Add("StartingUpdater", "Starting updater...");
333-
language.Add("Add", "Add");
334-
language.Add("Remove", "Remove");
335-
language.Add("HardwareEncryption", "Hardware encryption");
336-
language.Add("CheckingUpdates", "Checking for updates");
337-
language.Add("GoToLine", "Go to line");
338-
language.Add("GoToOffset", "Go to offset");
339-
language.Add("Go", "Go");
340-
language.Add("Hotkey", "Hotkey");
341-
language.Add("Command", "Command");
342-
language.Add("DeleteLine", "Delete line");
343-
language.Add("MoveLineDown", "Move line down");
344-
language.Add("MoveLineUp", "Move line up");
345-
language.Add("DupeLineDown", "Duplicate line down");
346-
language.Add("DupeLineUp", "Duplicate line up");
347-
language.Add("InUse", "In use!");
348-
language.Add("Reserved", "Reserved!");
349-
language.Add("TransformUppercase", "Transform to uppercase");
350-
language.Add("TransformLowercase", "Transform to lowercase");
351-
language.Add("OpenFileLocation", "Open file location");
352-
language.Add("OpenDirLocation", "Open directory location");
353-
language.Add("Rename", "Rename");
354-
language.Add("Accept", "Accept");
355-
language.Add("Cancel", "Cancel");
356-
language.Add("EmptyName", "Empty name!");
357-
language.Add("NameAlreadyExists", "File name taken!");
358-
language.Add("Empty", "Empty");
359-
language.Add("SearchFiles", "Search files");
360-
language.Add("SearchResults", "Search results");
361-
language.Add("NoResultsThisDir", "No results on this directory!");
362-
language.Add("FileNotSupported", "File not supported!");
363-
language.Add("FileWillBeExcluded", "The file will be excluded from the file browser once renamed.");
364-
language.Add("ExpandAllDirs", "Expand all directories");
365-
language.Add("CollapseAllDirs", "Collapse all directories");
366-
language.Add("RefreshOB", "Reload current directory");
367-
language.Add("EnableRPC", "Enable Discord Rich Presence");
368-
language.Add("EnableRPCTime", "Show elapsed time");
369-
language.Add("EnableRPCFile", "Show current file");
370-
language.Add("TemplateExists", "Template name already exists");
371-
language.Add("IllegalCharacters", "Illegal characters");
372-
language.Add("ReopenLastClosedTab", "Reopen the last closed tab");
373-
language.Add("DefaultTaken", "Default taken!");
374-
}
96+
}
37597
}

Spcode.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@
179179
</Compile>
180180
<Compile Include="UI\Components\EditorElement\Highlighting\BracketHighlightHelpers.cs" />
181181
<Compile Include="UI\Components\EditorElement\Highlighting\BracketSearchResult.cs" />
182+
<Compile Include="Utils\DefaultTranslations.cs" />
182183
<Compile Include="Utils\Models\ComboboxItem.cs" />
183184
<Compile Include="Utils\Models\Config.cs" />
184185
<Compile Include="Utils\Constants.cs" />

0 commit comments

Comments
 (0)