UltraVNC Translation Guide
UltraVNC supports multiple languages through resource (.rc) files. These files contain all the text you see in the application — menus, dialogs, buttons, messages, and more. By translating these files, you help millions of users around the world use UltraVNC in their native language.
How translations work
UltraVNC loads language DLLs at runtime. Each language has its own .rc file that gets compiled into a DLL. When a user selects a language, the application loads the corresponding DLL and all text appears in that language.
There are two components that need translation:
UltraVNC Viewer (vncviewer.rc) — the client application used to connect to remote computers.
UltraVNC Server (winvnc.rc) — the server application running on the remote computer.
What you need to translate
Each .rc file contains two types of translatable text:
String tables — These are simple text entries like error messages, menu items, and status messages. They look like this:
IDS_L2 "Send Ctrl+Alt+Del to host"IDS_L9 "Close Connection"IDS_L43 "Connecting..."
You translate the text inside the quotes, keeping the ID name (IDS_L2, etc.) unchanged.
Dialog captions and labels — These are the titles and text inside dialog windows:
CAPTION "UltraVNC Viewer - Connection Settings"LTEXT "Password:", IDC_STATIC, 10, 20, 40, 8
Again, only translate the text in quotes. Do not change anything else — IDs, numbers, and keywords must stay as they are.
How you can help
We provide you with the English .rc files as a starting point. You simply:
1. Open the .rc file in any text editor (Notepad++, VS Code, etc.)
2. Find the English text inside quotes
3. Replace it with the translation in your language
4. Save the file (keep UTF-8 with BOM encoding)
5. Send us the translated .rc files
That's it! We handle the rest — building the DLL, integrating it into the project, and shipping it with UltraVNC.
Current translations
The following languages are currently available. If you speak one of these, you can help keep the translation up to date:
| Language | Viewer | Server | Status |
|---|---|---|---|
| Chinese Simplified (简体中文) | vncviewer.rc | winvnc.rc | Complete |
| Chinese Traditional (繁體中文) | vncviewer.rc | winvnc.rc | Complete |
| French (Français) | vncviewer.rc | winvnc.rc | Complete |
| German (Deutsch) | vncviewer.rc | winvnc.rc | Complete |
| Spanish (Español) | vncviewer.rc | winvnc.rc | Complete |
When we add new features or change text, existing translations may need updating. We will provide the updated English .rc file and highlight what changed so you only need to translate the new or modified strings.
Adding a new language
Want to add a language that's not listed above? Great! Here's what we need from you:
1. The translated vncviewer.rc file (for the viewer)
2. The translated winvnc.rc file (for the server)
We will set up the build project, assign the correct language codes, and include your translation in the next release. Your name will be credited in the release notes.
Contact
To contribute a translation or update an existing one, please visit the UltraVNC forum or contact us through the project website. We appreciate every contribution.
Thank you for helping make UltraVNC accessible to everyone!
