Repository navigation
Translation Guide
Creating translations for DLSS Swapper does not require you to install any additional tools and does not require any developer knowledge. Starting with DLSS Swapper v1.1.7.2 there is a new feature called the translation toolbox. Its purpose is to help you create custom translations of DLSS Swapper without needing anything other than a copy of DLSS Swapper.
Note
If you want to create/modify the .resw files directly in other tools, please feel free to do so.
Translation toolbox can be launched by going to DLSS Swapper > Settings > scroll down to Language > clicking Open translation toolbox. This will open a new window that looks like this.
Source language is used for you to select the source language you want to translate from. This will default to "English (United States)". It is preferred you translate directly from this language but the option is there to translate from another language you know better.
Translation progress helps track the current translation status. This is useful when combined with Load existing translation to see the status of existing translations. That is covered in updating existing translations.
From left to right the options in the top right are.
Help will open this document.
Load Existing is used to load any translation that comes with DLSS Swapper. This is very useful to update existing translations.
Load/Save is used to load/save a copy of your current translation progress so you don't need to translate the entire app at once.
Publish will create a .resw file in a zip ready to submit.
Reload App will make your current translation progress live in the current running instance of the app. This lets you preview your progress in real time without having additional developer tools or knowledge of how the app internals work.
Below this there is a grid with 4 columns. This contains all the text data used throughout the app.
Key is the key used internally. This helps group sections of translations together. For example keys starting with GamesPage_ are displayed on page that shows all of your games in a big grid, while keys starting with SettingsPage_ is displayed on the settings page. There is general use strings prefixed with General_ which may be used anywhere.
Comment is a developer note with additional information on the entry. Sometimes translations will have {0} in it which gets substituted out with another value. For example the translation "{0} is still processing. Please wait for the loading indicator to complete before opening." has a comment of "{0} is the selected game title."
Source translation contains the text that you are translating from. As mentioned earlier it is preferred if you use English (United States) as the source translation. If something gets translated from English to Chinese to Japanese to Spanish and then back to English it likely is not going to have the full original meaning.
New translation is an input filed where you can input new text. The box will have a red border if no text is present, making it easier to see entries that are missing data. You can press return to move onto the next entry or shift+return to add a new line.
Note
To create a new line in a translation press shift+return.
To create a new translation open the translation toolbox in its own window, keeping DLSS Swapper still accessible. From the translation toolbox you can slowly work your way through the rows to translate the entries. Press Reload app to see the translations appear live in DLSS Swapper.
Periodically use the Save feature to save your translations to ensure nothing is lost if the application is unintentionally closed. If you are unable to translate 100% of that app that is ok. Any translations are appreciated!
When you are finished you can Publish your translation file and get ready submit your translation.
If a translation is incomplete or contains a typo you can update just that one entry without making a whole translation from scratch. It is best to make sure you are using the latest version of DLSS Swapper to ensure you are updating the latest translations.
To update an existing translation open the translation toolbox in its own window, keeping DLSS Swapper still accessible. From the translation toolbox click Load Existing and select the current translation you would like to update. Keep in mind that Load Existing loads translations compiled into DLSS Swapper, where as Load will load a saved work in progress translation.
Update whatever entries you want to update and press Reload app to see the translations appear live in DLSS Swapper. If you are unable to update the translation to 100% complete 100% that is ok. Any translations are appreciated!
Note
When creating a translation that only has minor changes (eg. en-AU from en-US) you do not need to try get to 100% translation as many of the keys are the same, and it is only localisation changes (eg. "favourite" vs "favorite")
Periodically use the Save feature to save your translations to ensure nothing is lost if the application is unintentionally closed.
When you are finished you can Publish your translation file and get ready submit your translation.
There are two ways to submit translations. The first way is by creating a pull request. This is preferred as it is much easier to bring in the changes and ensure you get full contribution status for the work you did.
However not everyone is a developer, or has ever heard of git. I don't expect them to have to learn these things just to create translations. For those people you can submit your translations by creating a new issue. Doing so still helps, however you may not be able to be marked as a contributor (TBD: Maybe I can co-author a PR, will see).
Once you have your published your translation file here are the steps required to get it into DLSS Swapper.
- Branch from
main, namedfeature/<something about this translation> - Go to the
src\Translationsdirectory - If you are updating an existing translation:
- Go to the folder with the language code you are updating
- Extract the
Resources.reswfrom your published zip file and overwrite the file in this existing folder
- If creating a new translation:
- Create a new folder with the language code for your new language (eg.
en-AU) - Extract the
Resources.reswfrom your published zip file and place in this new folder - Open
LanguageManager.cs(located insrc\Helpers\) - Find the method called
GetKnownLanguages - Update it with your language code (please keep in alphabetical order)
- Find the method called
GetLanguageName - Update it with a new entry that to set the display name of the language in the settings page (please keep in alphabetical order)
- Create a new folder with the language code for your new language (eg.
- Run the app and test the new translation works
- Commit the code
- Create a pull request
For non-developers they may find it easier to create a new issue and submit their zipped publish translation file. To do that please create a new issue of type ๐ Translation submission.
Attach your published translation zip file and any other relevant information and we will work on getting this merged in.
WIP - But this section is for developing DLSS Swapper features and how to add new texts.
test sidebar