CSGO Demo Manager is an application to manage replays from the game Counter-Strike: Global Offensive. You can download the last release from https://csgo-demo-manager.com.
You can follow @CSGODemoManager on Twitter to keep updated on releases.
More screenshots and video are available at https://csgo-demo-manager.com.
- Generate data from demos (kills, deaths, round stats, damages...)
- Watch demos (Highlights / Lowlights from any perspective, rounds, stuffs...)
- Export data to Excel / JSON
- Comment your demos
- Generate heatmaps (Kills, shots, smokes...)
- Track VAC ban (A BOT send Windows notifications in background)
- Manage demos location
- Watch rounds from an animated map overview
- Display damages by hitbox
- Track your stats (overall stats and graphs)
- HLAE integration
- Download your last matchmaking demos
- Download demos from share codes
- Generate videos from demos
- Install Telerik UI for WPF. If you don't have a license, install the trial version, it will display a trial message from time to time.
- Clone the repository and open the solution in Visual Studio 2022
- (optional) Copy / paste your Steam API key into the file
"steam_api_key.txt"
. If you don't have a Steam API key, suspects features will not work and players avatar will not be fetched. - Build and start the
Manager
project
- Download the Resharper CLI and extract it
./cleanupcode.exe --profile=format "path/to/CSGO Demos Manager.sln"
To format the code and also apply syntax styles, use the profile --profile=format-syntax
Please follow the AngularJS commit conventions.
If you want to say thank you, please feel free to make a donation. Thank you!
The application translation is done with the resources based system Microsoft Multilingual App Toolkit.
To translate the application in a specific language, the only files that you have to edit are XLIFF
files (.xlf
). Those files are located in the folder MultilingualResources
of each project.
The following projects have their own translations files:
Core
Bot
Manager
Services
For example, if you want to translate the app in Spanish, you will have to edit the following files:
Core.es.xlf
(fromCore
project)Services.es.xlf
(fromServices
project)Manager.es.xlf
(fromManager
project)Bot.es.xlf
(fromBot
project)
Please check GitHub issues to see if someone is already translating the app in your language and if it's not the case, create an issue to inform that you are working on it.
- Install Git
- Install Multilingual App Toolkit v4 or the
XLIFF
file editor of your choice - Fork the repository and clone it on your computer
- Edit the
.xlf
files of your language (don't forget to update the resources status:Needs review
if you are not sure,Final
otherwise) - (Optional) Test your changes in the app by building it
- (Optional) Add your nickname to the translators.
- Commit and push your changes
- Create a pull request
-
If your language files are missing, please create an issue, I will add all necessary files.
-
Some resources are displayed in the xlf editor but are not translatable. You can use the editor filter to hide it.
-
If you want to test your translations before commiting files, you have to setup your system to be able to build the application by yourself. Please follow the build instructions from the readme file.
-
Sometimes it's not easy to guess exactly where a string is used, I added some comments visible from the xlf editor to help you.
-
Some strings contains characters such as "{0}" or "{1}". These are placeholder for variables.
Example:
The string resource "DialogDemosHaveBeenDownloaded" is in English "{0} demo(s) have been downloaded.". It means that {0} will be replaced by the number of demos downloaded. For example "8 demo(s) have been downloaded."
-
XLIFF files have the ability to set a "status" to strings. By default the status is "New", when you are sure about your translation, you can change the status to "Final". If you are not sure, please set the status to "Needs Review".
-
Since English is the fallback language, if an existing resource from the English files changed, all others resources languages files are updated and the changed resources are set to "Needs review". You are free to check if some resources of your language have the status "Needs review" and create a pull request with the final translation.