Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
TRANSLATIONS
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
TRANSLATIONS
http://ftp.erm.tu-cottbus.de/ultravnc/TRANSLATIONS/
We first gonna start on the viewer translations.
Code is changed, viewer is split in 2 parts
vncviewer.exe + lang.dll
Status:
English OK
French OK (only review needed)
German: new strings are still in english, need to be replaced by german. (85% done)
other 0%
Howto
+ 1) VC: all translantions are in the vncviewer.rc.
The only thing that need translation is this file. Also check if the buttons are correct sized, German text seems often longer then english. With VC you can create the dll and test it.
+ 2) LocalizeRC (freeware)
This tool export the vncviewer.rc to a txt file. After translation this txt can be back imported and saved as new vncviewer.rc.
No visualization.
+ 3) Resource Hacker (freeware)
Whit this tool you can edit .res
(http://ftp.erm.tu-cottbus.de/ultravnc/T ... viewer.res)
or .dll resources and export them back as .res. We can recreate a .rc file from the .res.
The tool is graphical, show the dalogs.
As final result, we need the vncviewer.rc or .res
Even a non programmer can give some help.
If you start on a translation, please give a replay to this Sticky.
It make no sense that 2 people start on the same translations.
Even when you have done only 20% and find it to time consuming, send us your work, we can add it on the site and perhpas someone else can continue.
We first gonna start on the viewer translations.
Code is changed, viewer is split in 2 parts
vncviewer.exe + lang.dll
Status:
English OK
French OK (only review needed)
German: new strings are still in english, need to be replaced by german. (85% done)
other 0%
Howto
+ 1) VC: all translantions are in the vncviewer.rc.
The only thing that need translation is this file. Also check if the buttons are correct sized, German text seems often longer then english. With VC you can create the dll and test it.
+ 2) LocalizeRC (freeware)
This tool export the vncviewer.rc to a txt file. After translation this txt can be back imported and saved as new vncviewer.rc.
No visualization.
+ 3) Resource Hacker (freeware)
Whit this tool you can edit .res
(http://ftp.erm.tu-cottbus.de/ultravnc/T ... viewer.res)
or .dll resources and export them back as .res. We can recreate a .rc file from the .res.
The tool is graphical, show the dalogs.
As final result, we need the vncviewer.rc or .res
Even a non programmer can give some help.
If you start on a translation, please give a replay to this Sticky.
It make no sense that 2 people start on the same translations.
Even when you have done only 20% and find it to time consuming, send us your work, we can add it on the site and perhpas someone else can continue.
it's so nice to see a good application become famous worldwide and get translated.
by the way, i strongly wish you could remember about [topic=539]this thread[/topic], again.
the new translation plan must include well consideration about word order.
unless so, a major amount of people will have to face weird translation of the software.
Ultr@VNC is localhost to connecting...
Ultr@VNC shell32.dll successfully has sent.
imagine there're only those crazy sentences above or language that you totally don't understand, on the software.
thanks.
by the way, i strongly wish you could remember about [topic=539]this thread[/topic], again.
the new translation plan must include well consideration about word order.
unless so, a major amount of people will have to face weird translation of the software.
Ultr@VNC is localhost to connecting...
Ultr@VNC shell32.dll successfully has sent.
imagine there're only those crazy sentences above or language that you totally don't understand, on the software.
thanks.
Lizard
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
When i understand right,
For non western languages there can be a wordorder problem
when a sentence is composed with a %s.
This will only affect composed messages...
But i have no idea how i can fix this kind of problems without making a seperate exe and even then, my language knowledge is to little to put the %s in the correct insertion place.
For non western languages there can be a wordorder problem
when a sentence is composed with a %s.
This will only affect composed messages...
But i have no idea how i can fix this kind of problems without making a seperate exe and even then, my language knowledge is to little to put the %s in the correct insertion place.
in an ordinary multi-language program there would be external language file(s) named like "uvnc_en.US.lng" or whatever, to load text from. the program loads list of text and applies them dynamically.
there might be included english language file as "default language" in the resource file of the EXE, for the case there's no language file found externally. this is good idea when a compact software like VNC, needs to be small and still works itself without any additional file. also that "localized version" which has specific language file as default, can be easily created by replacing appropriate item in the resource file.
well, i don't think there will be word order problems with "%s" expression.
now let's think about generating and translating the sentence below:
here "Shell32.dll" is a variable.
at this moment Ultr@VNC performs
but this can happen only in languages in which the "object" comes in the last of sentence.
when in a language the filename has to come first, this item can no longer be translated naturally.
the best solution for this is using "%s" expression.
this is apparently better, because here truly ANYTHING, including language and word order, can be modified except the contents of filename.
excuse me about such long post.
i know this kind of stuff should rather be discussed after ver1.0, anyway.
there might be included english language file as "default language" in the resource file of the EXE, for the case there's no language file found externally. this is good idea when a compact software like VNC, needs to be small and still works itself without any additional file. also that "localized version" which has specific language file as default, can be easily created by replacing appropriate item in the resource file.
well, i don't think there will be word order problems with "%s" expression.
now let's think about generating and translating the sentence below:
Code: Select all
"failed to delete Shell32.dll"
"Shell32.dll couldn't be deleted"
at this moment Ultr@VNC performs
Code: Select all
"failed to delete " + filename
when in a language the filename has to come first, this item can no longer be translated naturally.
the best solution for this is using "%s" expression.
Code: Select all
"failed to delete %s", filename
"%s couldn't be deleted", filename
excuse me about such long post.
i know this kind of stuff should rather be discussed after ver1.0, anyway.
Lizard
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
Rudi:
I tested the spanish translation. I don't know why, but some words don't get translated ... maybe my fault, sorry.
I corrected the rc file, download it from www.ingeniasoftware.com.ar/vncviewer_sp.rc
There are some phrases that simply doesn't appear inside the rc file: on the menu, "View Only" , on the FT dialog, "Name", "Size", "Modified", "Desktop", "My Documents", "Network Favorites", "Removable", "Local Disk", "Network Mapped Drive", etc. ...
... maybe they are hard coded ?
And just a little detail ... the FT's History dates format is MM/DD/YY ... maybe this should respect the Windows local configuration (in my case DD/MM/YYYY)
HTH
I tested the spanish translation. I don't know why, but some words don't get translated ... maybe my fault, sorry.
I corrected the rc file, download it from www.ingeniasoftware.com.ar/vncviewer_sp.rc
There are some phrases that simply doesn't appear inside the rc file: on the menu, "View Only" , on the FT dialog, "Name", "Size", "Modified", "Desktop", "My Documents", "Network Favorites", "Removable", "Local Disk", "Network Mapped Drive", etc. ...
... maybe they are hard coded ?
And just a little detail ... the FT's History dates format is MM/DD/YY ... maybe this should respect the Windows local configuration (in my case DD/MM/YYYY)
HTH
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
that was just my personal opinion for post-1.0.ai-soft wrote:I'm translating it to italian, but:
now they already have the existing translation framework, and some translation have been made with it.
you don't have to think about my **** right now, why don't you go ahead for Italian translation
[mod=494,1127740303]replaced bad word with ****[/mod]
Last edited by lizard on 2005-09-26 13:11, edited 2 times in total.
Lizard
Translations can be done several ways
1) seperate exe
2) seperate resource dlls
3) txt files
1) require no code changes, but hard to maintain
2) Little code changes
3) require a lot changes.
-To use text files, all calls to dialog boxes need to be replaced.
Instead of opening a dialog, you need to open the dialog and initialize the sub elements with the text from the file.
-Text files does not allow the use of specific fonts. Using a resource dll, you can also change the font to a language specific font.
-Resources does not only contain the text, but also the size of
windows and buttons. It is not necessary that a word or sentence have the same size in all languages. Using seperate dll, you can adapt the dialog layout to the string sizes or other fonts.
With LOcalizeRC you always can export the .rc as text file.
Translation comes down to translating this file.
1) seperate exe
2) seperate resource dlls
3) txt files
1) require no code changes, but hard to maintain
2) Little code changes
3) require a lot changes.
-To use text files, all calls to dialog boxes need to be replaced.
Instead of opening a dialog, you need to open the dialog and initialize the sub elements with the text from the file.
-Text files does not allow the use of specific fonts. Using a resource dll, you can also change the font to a language specific font.
-Resources does not only contain the text, but also the size of
windows and buttons. It is not necessary that a word or sentence have the same size in all languages. Using seperate dll, you can adapt the dialog layout to the string sizes or other fonts.
With LOcalizeRC you always can export the .rc as text file.
Translation comes down to translating this file.
use unicode, unicode API and unicode font.Anonymous wrote:-To use text files, all calls to dialog boxes need to be replaced.
Instead of opening a dialog, you need to open the dialog and initialize the sub elements with the text from the file.
-Text files does not allow the use of specific fonts. Using a resource dll, you can also change the font to a language specific font.
use MessageBox*W instead of MessageBox*A.
yeah... that's the problem.Anonymous wrote:-Resources does not only contain the text, but also the size of
windows and buttons. It is not necessary that a word or sentence have the same size in all languages. Using seperate dll, you can adapt the dialog layout to the string sizes or other fonts.
can dialogs generated from resource file be changed its size from the program dynamically?
Lizard
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
You are correct about a standard Messagebox...
But for a custom dialog box the font is embedded
Instead of opening the custom dialog
You need to open it, find the handles to all buttons, static text ....sendmessage new text. Possible this can also be done for fonts and sizes. If you resize, you also need some nice algorithm to auto resize all others.....
1 line of code would become 100...200, depending on the complexity of the custom dialog
It is just a lot easyer to work with language resource dll's.
For unicode, all need to be reviewed.
No chars...tchars mix, different behaviour on 9.x systems
Perhaps for V2
But for a custom dialog box the font is embedded
Code: Select all
---------
IDD_FTCONFIRM_DLG DIALOG DISCARDABLE 0, 0, 178, 86
STYLE DS_SYSMODAL | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION
CAPTION "Dialog"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "Yes",IDC_YES_B,4,65,39,14
PUSHBUTTON "No",IDC_NO_B,92,65,40,14
LTEXT "Confirm message here",IDC_FTPCONFIRMCOMMENT,4,8,163,53
PUSHBUTTON "Yes for All",IDC_YESALL_B,46,65,40,14
PUSHBUTTON "No for all",IDC_NOALL_B,135,65,39,14
END
----------------------
You need to open it, find the handles to all buttons, static text ....sendmessage new text. Possible this can also be done for fonts and sizes. If you resize, you also need some nice algorithm to auto resize all others.....
1 line of code would become 100...200, depending on the complexity of the custom dialog
It is just a lot easyer to work with language resource dll's.
For unicode, all need to be reviewed.
No chars...tchars mix, different behaviour on 9.x systems
Perhaps for V2
As we are on this matter, in addition to the hard coded messages which need to be resourcable, I also advise you to change the size labels for the max it can visually handle. It is a little difficult to translate some English expressions using small labels.
Best regards,
Carlos Macao
PS: I am assuming you've received my files.
Best regards,
Carlos Macao
PS: I am assuming you've received my files.
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
I want to translate it to Chinese (Simplified)!
I have a project about translating to Chinese!
I know but I don't think this is a good approach, because there is no way to synchronize my rc modifications(resources visual info are saved on rc) each time you change the same rc. As opposed to text modifications which are simple to synchronize with LocalizeRC. Am I correct?Rudi De Vos wrote:CMacao,
The seperate dlls allow resizing from labels and buttons per
language. Only take me a few minutes, all is done via some graphical VC++ interface.
Carlos Macao
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
True, but for time being...
rc-> text can be done without loosing info
but if we current use a text file, there is no way to easy add
some other info.
Syncronize with an easy tool as LocalizeRC is NOT easy..
Try, add an extra label in the english rc.
Syncronize with an old french ini, all lines moves one label.
The ini file is to simple, it should save info as
LabelA,"TextA" and not "TextA"
rc-> text can be done without loosing info
but if we current use a text file, there is no way to easy add
some other info.
Syncronize with an easy tool as LocalizeRC is NOT easy..
Try, add an extra label in the english rc.
Syncronize with an old french ini, all lines moves one label.
The ini file is to simple, it should save info as
LabelA,"TextA" and not "TextA"
I don't see any problem. First I download the new rc, then I update my ini file, after that I compare the new and the old Ini file with a tool like http://winmerge.sourceforge.net. Shifted lines are easy to deal this way.Rudi De Vos wrote:Synchronize with an easy tool as LocalizeRC is NOT easy..
Try, add an extra label in the english rc.
Synchronize with an old french ini, all lines moves one label.
I think the current method I've described is simple and works(tried without problems between rc-17 and rc-19), the only precaution I mentioned has to be with the size of the labels, which must be correctly aligned and expanded to the max visual size.The ini file is to simple, it should save info as LabelA,"TextA" and not "TextA"
Carlos Macao
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
Viewer is current available in
English
French
German --->about 10 lines still need some translation
Spanish
Portugese
http://ftp.erm.tu-cottbus.de/ultravnc/T ... NS/VIEWER/
English
French
German --->about 10 lines still need some translation
Spanish
Portugese
http://ftp.erm.tu-cottbus.de/ultravnc/T ... NS/VIEWER/
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
- Rudi De Vos
- Admin & Developer
- Posts: 6863
- Joined: 2004-04-23 10:21
- Contact:
Hi!
Great to see that some tough guys are doing the translation-job
Since I'm new to UltraVNC and found it the best free VNC-tool I like to have it completely in German.
Could anybody tell me when a complete German version of RC19.4 may be available?
BTW: if you need some help I could also do parts of the translation - if you tell me how (maybe with ResourceHacker?)...
Thanks for your good work
cool400
Great to see that some tough guys are doing the translation-job
Since I'm new to UltraVNC and found it the best free VNC-tool I like to have it completely in German.
Could anybody tell me when a complete German version of RC19.4 may be available?
BTW: if you need some help I could also do parts of the translation - if you tell me how (maybe with ResourceHacker?)...
Thanks for your good work
cool400