Discussion

54
Views
Kensho Tsuchihashi (KenshoTsuchihashi)
PEGA
Project Delivery Leader
Pegasystems Inc.
JP
KenshoTsuchihashi Member since 2010 139 posts
PEGA
Posted: March 17, 2021
Last activity: March 17, 2021
Posted: 17 Mar 2021 5:55 EDT
Last activity: 17 Mar 2021 21:25 EDT

English lower case character becomes upper case with Japanese language pack

Hi,

 

Since some customers were confused with this reported issue, I am sharing its root cause and how to fix the issue.

 

  • Issue

1. Create a property that contains English lower case characters. The source can be anything (local list in the property, or database table).

Dropdown property

2. Place the property on screen and test it after Japanese language pack is installed. Your operator locale must be "ja_JP". You should be able to observe that any lower case characters become upper case by itself, except for B, C, and D.

Lower case characters become upper case

 

  • Root cause

This is because in Japanese language pack, there are field values in "Pega-EndUserUI_ja" ruleset for all English characters excluding B, C, and D. You can list them up by following query in the DBMS. For some reason, localized values for B, C, and D are blank.

SQL> select pylabel, pylocalizedvalue, pyfieldname, pyruleset from rules.pr4_fieldvalue where pylabel in ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'J', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z') and pyfieldname = 'pyCaption' order by pylabel

Field Values

After talking to engineering team, it was determined that these field values will be fixed in the future Japanese language pack (probably in 8.6).

 

  • How to fix it

In the meantime, you can still perform a local change if you are using an old version prior to 8.6. Override these field value in your ruleset and disable it. Unlike regular rule, localized ruleset is a bit tricky. Follow the below steps.

1. First, create your own localized ruleset.

Localized ruleset

2. Add it to the Production Ruleset in your access group.

Production Ruleset

3. You may want to locate the original field value rule in Pega-EndUserUI_ja:08-01-01 to do "Save As", but it is actually pretty hard to find it than you think. In that case, you can simply create a new field value from scratch and it is still supposed to be override, as long as the rule identifier is the same.

Identifier A
Field Name pyCaption
Apply to @baseclass
Ruleset MyApp_ja

Creating Field Value

4. Make the translated text to be blank. Or you can also make the availability "Blocked" from "Available".

Overriding Field Value

5. Do the same steps for all other English characters except for B, C, and D.

6. Remove Production Ruleset from your access group. If you forget this, the changes will not be reflected and you will be confused. Testing operator's locale must be "ja_JP".

7. You may still be tricked by the same result - you should also delete cache files under temp directory in the app server and restart system. Otherwise it may not take effect.

Field Value Cache

8. If everything is configured correctly, the change will be reflected as below.

Successful result

 

Thanks,

 

***Edited by Moderator Marissa to update Support Case Details; add the Developer Knowledge Share tag***
Pega Platform 8.4.1 User Experience Support Case Created