Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Array question - EXTENT 2 INITIAL["ONE":U, "TWO":U]

Status
Not open for further replies.

modfather

MIS
Feb 15, 2000
75
US
I have some code that I ran across that says:

DEF VAR myArray AS CHAR EXTENT 2
INITIAL["ONE":U, "TWO":U].

What does the ":U" mean? I can't find any documentation that tells. I've been using Progress WAY too long to not know this - haha. Oh well, I've been stuck in the 90's with version 7 and a bit of 8 until recently... Condolence cards will be accepted.

Thanks for any help!
Steve
 
Hi Steve

You've forgotten your TranMan!

':U' makes the string untranslatable in the translation manager, so that string literals which are hardcoded (usually program switches) don't come up in the list of things which need translating in to the user-facing language, thus avoiding somebody inadvertently changing that little test which the programmer had intended to be

if v_entry = "ONE" then ...

in to

if v_entry = "UNO" then ... :-(

DO use :U for strings which are private to the program logic so should be left well alone by the translator.

DON'T use :U if you are going to test user input against a string, whereby you do want to check if your English user had input "ONE" or your Italian user had input "UNO" and do something as a result of that.

I think early in V7 anyone who thought their app might one day be translated in to an international version started putting :U everywhere in readiness, and the UIB started putting :U on a lot of strings automatically, but I wonder how many of those apps ever did get translated...

HTH

EARTHDWELLER (V7.0.12 onwards, and boy did it hurt...)
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top