/* us uk germany denmark france netherlands netherlands spain italy sweden norway finland japan protugal brazil canada taiwan poland poland hungaria israel arab. china */
/* WARP4 WARP3 */
/* determine which list to search */
SELECT
WHEN (LENGTH(SearchString) = 1) THEN SearchPos = WORDPOS(SearchString, TRANSLATE(LanguageTag));
WHEN (LENGTH(SearchString) = 3) THEN SearchPos = WORDPOS(SearchString, TRANSLATE(LanguageAbbr));
OTHERWISE NOP;
END;
IF (SearchPos = 0) THEN
/* use default language code,if language not known */
SearchPos = 1;
/* make second check for languages, that have not a unique language tag */
IF (WORD(LanguageZMsg, SearchPos) \= '*') THEN
DO
/* read the zero message of the system and remove spaces*/
ZeroMsg = LEFT(SPACE(SysGetMessage(0), 0), 5);
/* check the language again */
SearchPos = WORDPOS(ZeroMsg, LanguageZMsg);
IF (SearchPos = 0) THEN
/* use non existing language code,if language not known */
SearchPos = 1;
END;
/* now determine result */
SELECT
WHEN (LENGTH(SearchString) = 1) THEN SearchResult = WORD(LanguageAbbr, SearchPos);
WHEN (LENGTH(SearchString) = 3) THEN SearchResult = WORD(LanguageTag, SearchPos);