MULTI-Lingual applications.

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

MULTI-Lingual applications.

ThSITC
One of the *new* features in NetRexx I'm currenlty trying to implement is
MULTI lingual support.

This support will be done as follows::

Support of the ability to *maintain* (with a utility) the tranlsation of
all warning, error, informational, *and* other *messages*
to the user.

I've implemented a set of basic Functions in package
Rexx2Ntrx.Rexx2RT.RexxMsg, and am now underway
to introcude the follolwing functionality in NetRexx(3) programs:

     if (a=13) then error 'unexpected value' a 'at this point'

     etc, etc.

You might NOTE (when you like) that I'm using 'error' with a blank
operator (as COMMAND's in classic Rexx)

My current implementation, to enable this, would imply to use the USES
phrase in the class definition, as follows:

class myclass USES ReyMsg, ReyFile -- for instance

when the USES class is used, any static method name (formerly called
ROUTINE/FUNCION) may be used as a
so called ACTION.

The ACTIONS available are loaded dynamically when the USES phrase is
used, into core, at compile/interpreter time.

When option MULTI is NOT used, then this message becomes:
When now, for instance, OPTION MULTI is used, the the error message
above does become

     if (a=13) then ReyMsg.error('unexpected value #1 at this point',a)

The hash sign, followed by an unsigned integer, is used to indicate the
parameter in the error message.

When option MULTI is used, then this will become:

    if (a=13) then ReyMulti.error(123,a)   -- where the error-number is
assigned by ReyC.

Got the feature?

Also, all Text Literals in the program will be put out to an EXTERNAL
file, named xxxxx_EN.txt
and the Text Literals will be read in at the start of the program.

This would allow for instance, to translate all the Text Literals used
from xxxx_EN.txt  *TO* xxxx_DE.txt,
and thus the same NetRexx program may be run with *german* Literal's,
warnings error-messages etc.


What do you say to this language enhancement proposal (PUZZLE ;-)

Thomas.



-
-
Thomas Schneider (www.thsitc.com)
_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Thomas Schneider, Vienna, Austria (Europe) :-)

www.thsitc.com
www.db-123.com
Reply | Threaded
Open this post in threaded view
|

Re: MULTI-Lingual applications.

alansam
This "problem" was solved many years ago in Java via ResourceBundle.  AS NetRexx can take advantage of the wealth of the Java library why reinvent the wheel and overburden the language in the process?

A.

On 28 April 2011 12:02, Thomas Schneider <[hidden email]> wrote:
One of the *new* features in NetRexx I'm currenlty trying to implement is
MULTI lingual support.

This support will be done as follows::

Support of the ability to *maintain* (with a utility) the tranlsation of all warning, error, informational, *and* other *messages*
to the user.

I've implemented a set of basic Functions in package Rexx2Ntrx.Rexx2RT.RexxMsg, and am now underway
to introcude the follolwing functionality in NetRexx(3) programs:

   if (a=13) then error 'unexpected value' a 'at this point'

   etc, etc.

You might NOTE (when you like) that I'm using 'error' with a blank operator (as COMMAND's in classic Rexx)

My current implementation, to enable this, would imply to use the USES phrase in the class definition, as follows:

class myclass USES ReyMsg, ReyFile -- for instance

when the USES class is used, any static method name (formerly called ROUTINE/FUNCION) may be used as a
so called ACTION.

The ACTIONS available are loaded dynamically when the USES phrase is used, into core, at compile/interpreter time.

When option MULTI is NOT used, then this message becomes:
When now, for instance, OPTION MULTI is used, the the error message above does become

   if (a=13) then ReyMsg.error('unexpected value #1 at this point',a)

The hash sign, followed by an unsigned integer, is used to indicate the parameter in the error message.

When option MULTI is used, then this will become:

  if (a=13) then ReyMulti.error(123,a)   -- where the error-number is assigned by ReyC.

Got the feature?

Also, all Text Literals in the program will be put out to an EXTERNAL file, named xxxxx_EN.txt
and the Text Literals will be read in at the start of the program.

This would allow for instance, to translate all the Text Literals used from xxxx_EN.txt  *TO* xxxx_DE.txt,
and thus the same NetRexx program may be run with *german* Literal's, warnings error-messages etc.


What do you say to this language enhancement proposal (PUZZLE ;-)

Thomas.



-
-
Thomas Schneider (www.thsitc.com)
_______________________________________________
Ibm-netrexx mailing list
[hidden email]




--
Can't tweet, won't tweet!

_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Alan

--
Needs more cowbell.
Reply | Threaded
Open this post in threaded view
|

Re: MULTI-Lingual applications.

ThSITC
Hi ALAN,
   *as I do think my approach would be MUCH more HUMAN*

Ir does allow you to develop your program in ENGLISH, or GERMAN, and, at the final compilation, you
do invoke option MULTI, *and the (my) compiler, does the rest ...

I've been the author of EURO:MULTI  (a FORTRAN 77 Preprocessor) some more than 20 years ago
at General Electric Information Services (GEISCO), and it has been used by a LOT of companies
worldwide.

Trust me...

Thomas.
=========================================================================================
Am 28.04.2011 21:42, schrieb Alan Sampson:
This "problem" was solved many years ago in Java via ResourceBundle.  AS NetRexx can take advantage of the wealth of the Java library why reinvent the wheel and overburden the language in the process?

A.

On 28 April 2011 12:02, Thomas Schneider <[hidden email]> wrote:
One of the *new* features in NetRexx I'm currenlty trying to implement is
MULTI lingual support.

This support will be done as follows::

Support of the ability to *maintain* (with a utility) the tranlsation of all warning, error, informational, *and* other *messages*
to the user.

I've implemented a set of basic Functions in package Rexx2Ntrx.Rexx2RT.RexxMsg, and am now underway
to introcude the follolwing functionality in NetRexx(3) programs:

   if (a=13) then error 'unexpected value' a 'at this point'

   etc, etc.

You might NOTE (when you like) that I'm using 'error' with a blank operator (as COMMAND's in classic Rexx)

My current implementation, to enable this, would imply to use the USES phrase in the class definition, as follows:

class myclass USES ReyMsg, ReyFile -- for instance

when the USES class is used, any static method name (formerly called ROUTINE/FUNCION) may be used as a
so called ACTION.

The ACTIONS available are loaded dynamically when the USES phrase is used, into core, at compile/interpreter time.

When option MULTI is NOT used, then this message becomes:
When now, for instance, OPTION MULTI is used, the the error message above does become

   if (a=13) then ReyMsg.error('unexpected value #1 at this point',a)

The hash sign, followed by an unsigned integer, is used to indicate the parameter in the error message.

When option MULTI is used, then this will become:

  if (a=13) then ReyMulti.error(123,a)   -- where the error-number is assigned by ReyC.

Got the feature?

Also, all Text Literals in the program will be put out to an EXTERNAL file, named xxxxx_EN.txt
and the Text Literals will be read in at the start of the program.

This would allow for instance, to translate all the Text Literals used from xxxx_EN.txt  *TO* xxxx_DE.txt,
and thus the same NetRexx program may be run with *german* Literal's, warnings error-messages etc.


What do you say to this language enhancement proposal (PUZZLE ;-)

Thomas.



-
-
Thomas Schneider (www.thsitc.com)
_______________________________________________
Ibm-netrexx mailing list
[hidden email]




--
Can't tweet, won't tweet!


--
Thomas Schneider (www.thsitc.com)

_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Thomas Schneider, Vienna, Austria (Europe) :-)

www.thsitc.com
www.db-123.com