Bug 1807333

Summary: [cockpit-appstream] Pages oops in Chinese, Korean, or Japanese language
Product: Red Hat Enterprise Linux 8 Reporter: Xianghua Chen <xchen>
Component: cockpit-appstreamAssignee: Matej Marušák <mmarusak>
Status: CLOSED ERRATA QA Contact: Xianghua Chen <xchen>
Severity: high Docs Contact:
Priority: high    
Version: 8.2CC: kkrothap, lijli, lmiksik, mmarusak, mpitt, psatpute, qe-i18n-bugs, wshi, ymao, yunyang
Target Milestone: rcKeywords: i18n, Regression, Translation
Target Release: 8.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1807856 (view as bug list) Environment:
Last Closed: 2020-04-28 15:43:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Xianghua Chen 2020-02-26 06:43:09 UTC
Description of problem:
There will be an Oops when checking the volume under storage pool with luanguage setting to Chinese

Version-Release number of selected component (if applicable):
cockpit-machines-211.2-1.el8.noarch
libvirt-dbus-1.2.0-3.module+el8.1.0+4066+0f1aadab.x86_64

Browser: 
Chrome 79.0.3945.88 (Official Build) (64-bit)

How reproducible:
100%

Steps to Reproduce:
1. Enter Storage Pools page, prepare an storage and create few volumes under it.
2. Change the language of cockpit to Chinese:
Press F12, check "Disable cache" under Network
Click user name on top right corner,Click "Display language",choose Chinese(should be 中文(中国))
You can see the web console is refreshed automatically and shown in Chinese.
3. Enter Storage Pools again, unfold the storage pool prepared in step1, check the "checkbox" of the volumes.

Actual results:
The page will be blank and there will be an Oops on top right corner.

Uncaught TypeError: n.replace is not a function
    at Object.e [as format] (cockpit.js:1116)
    at Zx.render (machines.js:129)
    at Qa (machines.js:108)
    at Xa (machines.js:108)
    at Ss (machines.js:108)
    at ml (machines.js:108)
    at fl (machines.js:108)
    at ol (machines.js:108)
    at machines.js:108
    at t.unstable_runWithPriority (machines.js:116)

Expected results:
The volumes can be choosen and deleted. 

Additional info:

Comment 1 Matej Marušák 2020-02-27 10:25:48 UTC
This is most likely related to our problem with semicolons in plural forms.
And indeed it differs between rhel-8-2[1] and master[2].

[1] https://github.com/cockpit-project/cockpit-weblate/blob/rhel-8.2/zh_CN.po
[2] https://github.com/cockpit-project/cockpit-weblate/blob/master/zh_CN.po

It is reproducible on any page just by visiting it.

Comment 3 Matej Marušák 2020-02-27 10:40:29 UTC
Fixed in https://github.com/cockpit-project/cockpit/pull/13627

Comment 4 Martin Pitt 2020-02-27 11:00:56 UTC
Thanks Matej! Asking for exception+, this definitively needs to be fixed for 8.2.

Comment 14 Xianghua Chen 2020-03-13 08:50:22 UTC
Verified with package:
cockpit-machines-211.3-1.el8.noarch
libvirt-dbus-1.2.0-3.module+el8.1.0+4066+0f1aadab.x86_64

Steps:
1. Enter Storage Pools page, prepare an storage and create few volumes under it.
2. Change the language of cockpit to Chinese:
Press F12, check "Disable cache" under Network
Click user name on top right corner,Click "Display language",choose Chinese(should be 中文(中国))
You can see the web console is refreshed automatically and shown in Chinese.
3. Enter Storage Pools again, unfold the storage pool prepared in step1, check the "checkbox" of the volumes.

There is no Oops in top right corner, and the checkbox of the volumes can be checked successfully.

Comment 16 errata-xmlrpc 2020-04-28 15:43:08 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:1639