| View previous topic :: View next topic |
| Author |
Message |
Rudi De Vos Admin & Developer
Joined: 2004-04-23 10:21 Posts: 3930 Topics: 212
|
#1| Posted: 2004-11-28 14:05 Post subject: 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/TRANSLATIONS/VIEWER/ENGLISH/Release/vncviewer.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. |
|
| Back to top |
|
 |
CMacao
Joined: 2004-11-26 11:18 Posts: 8 Topics: 1 Location: Portugal
|
#2| Posted: 2004-11-28 19:09 Post subject: |
|
|
| Quote: | | If you start on a translation, please give a replay to this Sticky. |
As I said on another post I have both VncViewer and WinVnc translated for Portuguese Standard, so I am going to send it to you.
Carlos Macao |
|
| Back to top |
|
 |
Sergio
Joined: 2004-05-22 20:02 Posts: 113 Topics: 3
|
#3| Posted: 2004-11-29 13:10 Post subject: |
|
|
I am translating it to spanish ... it feels good to be able to help you in some way ...  |
|
| Back to top |
|
 |
rmoller
Joined: 2004-08-20 09:32 Posts: 100 Topics: 6
|
#4| Posted: 2004-11-29 13:42 Post subject: |
|
|
| I wish to translate to Danish |
|
| Back to top |
|
 |
lizard Former moderator
Joined: 2004-05-03 07:43 Posts: 193 Topics: 3
|
#5| Posted: 2004-11-29 14:32 Post subject: |
|
|
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 this thread, 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 |
|
| Back to top |
|
 |
Rudi De Vos Admin & Developer
Joined: 2004-04-23 10:21 Posts: 3930 Topics: 212
|
#6| Posted: 2004-11-29 14:54 Post subject: |
|
|
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. |
|
| Back to top |
|
 |
Sergio
Joined: 2004-05-22 20:02 Posts: 113 Topics: 3
|
|
| Back to top |
|
 |
lizard Former moderator
Joined: 2004-05-03 07:43 Posts: 193 Topics: 3
|
#8| Posted: 2004-11-29 16:48 Post subject: |
|
|
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:
| Code: | "failed to delete Shell32.dll"
"Shell32.dll couldn't be deleted" |
here "Shell32.dll" is a variable.
at this moment Ultr@VNC performs
| Code: | "failed to delete " + filename |
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.
| Code: | "failed to delete %s", filename
"%s couldn't be deleted", filename |
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. _________________ Lizard |
|
| Back to top |
|
 |
Rudi De Vos Admin & Developer
Joined: 2004-04-23 10:21 Posts: 3930 Topics: 212
|
#9| Posted: 2004-11-29 22:36 Post subject: |
|
|
Updated Spanish viewer dll.
.res converted to .rc and project files added
To test, copy spanish.dll as lang.dll in the viewer directory |
|
| Back to top |
|
 |
Sergio
Joined: 2004-05-22 20:02 Posts: 113 Topics: 3
|
#10| Posted: 2004-11-30 01:25 Post subject: |
|
|
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 |
|
| Back to top |
|
 |
Rudi De Vos Admin & Developer
Joined: 2004-04-23 10:21 Posts: 3930 Topics: 212
|
#11| Posted: 2004-11-30 09:23 Post subject: |
|
|
The res convertion to rc is done electronic.
The eng and spanish res -> are mapped in a lib file
The lib file is use to translate the eng rc
Could be some translation are lost during the process.
Yep, some new strings are still hardcoded.
We need to check them...
Rdv |
|
| Back to top |
|
 |
ai-soft
Joined: 2004-11-30 10:10 Posts: 2
|
#12| Posted: 2004-11-30 10:18 Post subject: |
|
|
I'm translating it to italian, but:
| lizard wrote: |
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.
...
|
|
|
| Back to top |
|
 |
lizard Former moderator
Joined: 2004-05-03 07:43 Posts: 193 Topics: 3
|
|
| Back to top |
|
 |
Guest
|
#14| Posted: 2004-11-30 12:49 Post subject: |
|
|
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. |
|
| Back to top |
|
 |
lizard Former moderator
Joined: 2004-05-03 07:43 Posts: 193 Topics: 3
|
#15| Posted: 2004-11-30 12:56 Post subject: |
|
|
| 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 unicode, unicode API and unicode font.
use MessageBox*W instead of MessageBox*A.
| 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. |
yeah... that's the problem.
can dialogs generated from resource file be changed its size from the program dynamically? _________________ Lizard |
|
| Back to top |
|
 |
Rudi De Vos Admin & Developer
Joined: 2004-04-23 10:21 Posts: 3930 Topics: 212
|
#16| Posted: 2004-11-30 15:40 Post subject: |
|
|
You are correct about a standard Messagebox...
But for a custom dialog box the font is embedded
| Code: | ---------
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
---------------------- |
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 |
|
| Back to top |
|
 |
CMacao
Joined: 2004-11-26 11:18 Posts: 8 Topics: 1 Location: Portugal
|
#17| Posted: 2004-11-30 16:10 Post subject: |
|
|
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. |
|
| Back to top |
|
 |
lizard Former moderator
Joined: 2004-05-03 07:43 Posts: 193 Topics: 3
|
#18| Posted: 2004-11-30 17:29 Post subject: |
|
|
| Rudi De Vos wrote: | For unicode, all need to be reviewed.
No chars...tchars mix, different behaviour on 9.x systems
Perhaps for V2 |
sounds so much work!
i'll try to be helping with the code by then. _________________ Lizard |
|
| Back to top |
|
 |
Rudi De Vos Admin & Developer
Joined: 2004-04-23 10:21 Posts: 3930 Topics: 212
|
#19| Posted: 2004-11-30 21:17 Post subject: |
|
|
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. |
|
| Back to top |
|
 |
alfei
Joined: 2004-11-16 07:28 Posts: 7 Topics: 3
|
#20| Posted: 2004-12-01 14:35 Post subject: I want to translate it to Chinese (Simplified)! |
|
|
| I have a project about translating to Chinese! |
|
| Back to top |
|
 |
|