fbpx
Welcome, Guest
Username: Password: Remember me

TOPIC: Translations

Translations 1 month 3 days ago #9873

  robert's Avatar Topic Author robert Offline Posts: 1072
The X# runtime contains string tables that are derived from the original string tables from VO.
These string tables can be found in the folder github.com/X-Sharp/XSharpPublic/tree/fea...XSharp.Core/Language

The file Generic.resx contains (as the name indicates) the generic string table, which is the English string table.
This table is used when a translation for a specific language is missing.

Other resx files are available for several other languages.

Some of these only contain the day names and month names. Others are more complete.

We are looking for volunteers that help us add missing strings to various language string tables.
If you want to help, follow these steps:
- announce here which language you are going to work on, so we will not duplicate the work
- download Generic.resx
- download Your language.resx
- use an UTF8 editor to edit the entries (VS for example)
- correct existing entries. We may have corrupted some strings when translating from Ansi to Unicode
- compare the two files and locate missing entries. For example all string tables are missing the last 3 entries ERRORDIALOG_TITLE, ERRORDIALOG_CLOSE and ERRORDIALOG_COPY which were added today.
- Copy the relevant section over from Generic.resx and translate the string between <value> and </value>. Please use HTML encoding for special characters such as <, > and & like you can see in the last entry where the ampersand is encoded as &. Make sure that special characters are UTF8 encoded.
- Send us the changed resource file so we can include it in the next build.

Please note that there are some older strings in the table that are not (yet) used in X#. We are planning to cleanup the table in the coming months.

Thanks in advance.

Robert
XSharp Development Team
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.

Please Log in or Create an account to join the conversation.

Translations 1 month 3 days ago #9877

  wriedmann's Avatar wriedmann Away Posts: 1671
Hi Robert,
if needed, I can do Italian and German. Unfortunately I don't speak other languages <g>.

Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
This email address is being protected from spambots. You need JavaScript enabled to view it.
www.riedmann.it - docs.xsharp.it

Please Log in or Create an account to join the conversation.

Translations 1 month 3 days ago #9878

  lumberjack's Avatar lumberjack Offline Posts: 513
Hi Robert,

I can do Afrikaans, but alas, I have NEVER seen anybody in SA trying to use an Afrikaans Windows/Office or trying even to code in it... We as a nation basically stick to the English versions of software... :)
______________________
Johan Nel
George, South Africa

Please Log in or Create an account to join the conversation.

Translations 1 month 3 days ago #9881

  robert's Avatar Topic Author robert Offline Posts: 1072
Johan,

Maybe you can spell check / grammar check the Generic/English version ?

Robert
XSharp Development Team
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.

Please Log in or Create an account to join the conversation.

Translations 1 month 3 days ago #9884

  FFF's Avatar FFF Offline Posts: 633
Wolfgang,
seeing your time-invest in X#, i might take over the german version...;)

Karl
Regards
Karl

Please Log in or Create an account to join the conversation.

Translations 1 month 3 days ago #9885

  ic2's Avatar ic2 Offline Posts: 525
We can do Dutch if you like.

We have a lot of other existing translations which may -partly- be useful. E.g. I see that there are (DOS) errors included - we have those from some other public source.

Questions:
1 When should it be done?
2 What if a language seems to have lots of translations already? E.g. Spanish. Our German, French and Spanish translation tables were originally (wo)men made and later only machine translations.

Dick

Please Log in or Create an account to join the conversation.

Last edit: by ic2.

Translations 1 month 3 days ago #9886

  Jamal's Avatar Jamal Offline Posts: 130
Robert,

I can help with Arabic.resx but I do not see it listed. If you wish I can create one if you are not limiting it to the languages listed in your post.

Jamal

Please Log in or Create an account to join the conversation.

Translations 1 month 2 days ago #9900

  robert's Avatar Topic Author robert Offline Posts: 1072
Jamal,
Having an Arabic translation would be nice. What would be the sort order attached to the translation when running in SetCollation(#Clipper) ?

Robert
XSharp Development Team
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.

Please Log in or Create an account to join the conversation.

Translations 1 month 2 days ago #9901

  robert's Avatar Topic Author robert Offline Posts: 1072
Dick,
1) The sooner the better. It would be nice if I could include it in the GA release of August
2) If there are missing translations and you have suggestions to add them, please let me know. I think I will ask Fabrice to do the French translations. And for German we already have 2 volunteers, but nobody has offered to do the Spanish translation yet.

Robert
XSharp Development Team
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.

Please Log in or Create an account to join the conversation.

Translations 1 month 2 days ago #9903

  orangesocks's Avatar orangesocks Offline Posts: 35
Hi,
if you need help with the italian translation count me in.
Regards
Giuseppe

Please Log in or Create an account to join the conversation.

Translations 1 month 2 days ago #9905

  bondadoso's Avatar bondadoso Offline Posts: 1
Hi, I'm going to find time to do the translation into Spanish, I do not know if I can have it finished by August but I'll try to move forward.

Please Log in or Create an account to join the conversation.

Translations 1 month 1 day ago #9906

  Jamal's Avatar Jamal Offline Posts: 130
Robert,

I am not sure what you mean by your question. Could you please explain further?

robert wrote: Jamal,
Having an Arabic translation would be nice. What would be the sort order attached to the translation when running in SetCollation(#Clipper) ?

Robert

Please Log in or Create an account to join the conversation.

Translations 1 month 1 day ago #9908

  robert's Avatar Topic Author robert Offline Posts: 1072
Jamal,
Translations in VO are selected with SetNatDLL().
The nation DLL not only contains the translations but also the sorting rules for string comparisons when the program uses SetCollation(#Clipper). These sorting rules are the equivalent of the nation OBJ files that were linked in with Clipper.
The international version of Clipper had obj files like ntxger.obj, ntxdut.obj etc. In VO these are represented as the nation DLLs in the Nations folder in your VO28 installation.

The "Generic" rule simply sorts characters by their OEM byte number. But other rules change the sort order. For example accented characters (in the upper half of the ascii table) could be sorted between the unaccented characters in the lower half of the ascii table.

Robert
XSharp Development Team
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.

Please Log in or Create an account to join the conversation.

Translations 1 month 1 day ago #9909

  Karl-Heinz's Avatar Karl-Heinz Offline Posts: 317
Guys,

in the nation resources there is the define range:

RT_MSG_DOSERR_0

upto

RT_MSG_DOSERR_258

i wrote a util that lists the error text values that are currently stored in a nation resource. Also listed are the error text values acoording the OS you are running. Maybe it´s of some help to detect e.g. wrong error text descriptions within a nation resource.

FUNCTION Start( ) AS VOID
LOCAL i AS INT
LOCAL h AS INTPTR   

	SetNatDLL( "german" )  // select e.g. "Dutch" ,  "Italian" etc.  instead
	
	IF ( h := FCreate ( "Errortext.txt" ) ) != F_ERROR

		FOR i := 0 UPTO 258
		
			? PadL ( i , 3 , " " ) , System.ComponentModel.Win32Exception{ i }.Message  // error text value acoording the OS you are running.
	    	? PadL ( i , 3 , " " ) , DosErrString ( (DWORD) i )  // error text value stored in the selected nation resource. 
		    ? 
	    

			FPutS ( h,PadL ( i , 3 , " " ) +  "  " + System.ComponentModel.Win32Exception{ i }.Message ) 
	    	FPutS ( h, PadL ( i , 3 , " " ) + "  " + DosErrString ( (DWORD) i ) )
	    	FPutS ( h , "" ) 
		    
		NEXT 
		
		FClose ( h ) 
		
	ENDIF		
	
 
RETURN

regards
Karl-Heinz

Please Log in or Create an account to join the conversation.

Translations 1 month 1 day ago #9912

  robert's Avatar Topic Author robert Offline Posts: 1072
Karl-Heinz,
I can also change the runtime to read the error from the OS for the error messages RT_MSG_DOSERR_0 n to RT_MSG_DOSERR_258. Then we can remove these from the string table.
Would that be a good idea ?
Of course this would not allow to show a German message on a US English windows for these messages.

Robert
XSharp Development Team
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.

Please Log in or Create an account to join the conversation.

Translations 1 month 1 day ago #9913

  FFF's Avatar FFF Offline Posts: 633
Robert,
"sooner the better": means, we should/could start now? If so, a list who does what might be helpful ;)

Karl
Regards
Karl

Please Log in or Create an account to join the conversation.

Translations 1 month 1 day ago #9914

  Karl-Heinz's Avatar Karl-Heinz Offline Posts: 317

robert wrote: Karl-Heinz,
I can also change the runtime to read the error from the OS for the error messages RT_MSG_DOSERR_0 n to RT_MSG_DOSERR_258. Then we can remove these from the string table.
Would that be a good idea ?
Of course this would not allow to show a German message on a US English windows for these messages.

Robert

There are tons of error codes

docs.microsoft.com/en-us/windows/win32/d...-error-codes--0-499-

and because the nation resource error codes are limited to 258 it´s IMO a good idea to remove it completely from the nation resource. Though i´m always using in a VO app setnatdll("German" ), i never use the german.dll error text values. With VO i´m using a enhanced DosErrString()

FUNCTION DosErrString  (nDosErr  AS DWORD) AS STRING PASCAL

//  
// Überschreibt die VO-eigene DosErrString()
//  
// _DLL FUNCTION DosErrString  (nDosErr  AS DWORD)  AS STRING PASCAL:VO28RUN.DosErrString
//

LOCAL cErrorText AS STRING
 
	cErrorText := GetSystemMessage(nDosErr )  

	IF Empty ( cErrorText ) 
		cErrorText := "Unbekannter Fehler" 
		
	ENDIF
	
	RETURN  cErrorText

GetSystemMessage () is a VO function that is still available in the X# World ;-), but it might be replaced with Win32Exception{ id }.Message - if there are no better ways to retrieve a error text.

What do others think ?

regards
Karl-Heinz

Please Log in or Create an account to join the conversation.

Translations 1 month 1 day ago #9915

  robert's Avatar Topic Author robert Offline Posts: 1072
Karl,

FFF wrote: Robert,
"sooner the better": means, we should/could start now? If so, a list who does what might be helpful ;)

Karl


Yes, you can start now.
So far I have the following names:
GermanWolfgang, Karl
ItalianWolfgang, Giuseppe
Generic - EnglishJohan & Karl-Heinz (DOS errors)
DutchDick
FrenchFabrice
ArabJamal
SpanishAntonio

I suggest we delete the DOS errors and retrieve them in the way that Karl-Heinz suggested.
And I really don't want to be responsible for coordinating things here (I am going on a holiday this weekend)
Most of you know each other, so please coordinate this yourselves.
If you have something finished, send it to Chris while I am away.

Robert
XSharp Development Team
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.

Please Log in or Create an account to join the conversation.

Last edit: by robert.

Translations 1 month 1 day ago #9916

  ic2's Avatar ic2 Offline Posts: 525
Quick question:

If I click each of the 2 resource files it opens in the website; I can not download it. Can I just copy the page content in Textpad (they write they use urft8, see link below), edit it there and mail it to Robert/Chris? Or do I lose something this way?

I'll await the confirmation that the string table has been updates without DOS messages.

Dick

www.texpad.com/support/generic/languages/encoding

Please Log in or Create an account to join the conversation.

Translations 1 month 1 day ago #9917

  ic2's Avatar ic2 Offline Posts: 525
Oh and who is doing Klingon?

E.g. "selected text" is according to Bing:
wIv bIngDaq ghItlh leghlu'

It had an official language code in www.loc.gov/standards/iso639-2/php/code_list.php :P

Dick

Please Log in or Create an account to join the conversation.