snap升级后,一是变成中文了,二是下载进度一行行的闪,完全乱套了, 怎么回事?如何修复?
snap 2.51.4 后怎么变成这样子了?
- wystone1
- 帖子: 54
- 注册时间: 2018-02-25 12:43
- 系统: ubuntu 20.04 LTS
- astolia
- 论坛版主
- 帖子: 6513
- 注册时间: 2008-09-18 13:11
Re: snap 2.51.4 后怎么变成这样子了?
都是增加了中文语言文件导致的问题。
以前在同一行不断刷新显示是通过输出回车符,把光标移动到到当前行的开头,再重新输出一整行内容实现的。
它要把下载进度显示到一行的最右端,需要准确计算一行的宽度,来确定中间需要放多少个空格。而现在有了中文语言文件,要输出部分文字是中文字符,它又没有把中文字符的宽度考虑进去(终端下面计算多语言文本的宽度本身就很难),中间的空格放多了,导致实际输出了两行。在这种情况下再输出回车符,光标就只移动到了第二行的开头,显示效果就是你上图的样子了。
这只是显示问题,并不会对功能有任何影响。
真觉得碍眼的话,设置环境变量export LC_MESSAGES="en_US.UTF-8",再去运行snap
以前在同一行不断刷新显示是通过输出回车符,把光标移动到到当前行的开头,再重新输出一整行内容实现的。
它要把下载进度显示到一行的最右端,需要准确计算一行的宽度,来确定中间需要放多少个空格。而现在有了中文语言文件,要输出部分文字是中文字符,它又没有把中文字符的宽度考虑进去(终端下面计算多语言文本的宽度本身就很难),中间的空格放多了,导致实际输出了两行。在这种情况下再输出回车符,光标就只移动到了第二行的开头,显示效果就是你上图的样子了。
这只是显示问题,并不会对功能有任何影响。
真觉得碍眼的话,设置环境变量export LC_MESSAGES="en_US.UTF-8",再去运行snap