gtranslator 的问题不太清楚,有可能是 gtranslator 的 bug,或者 po 文件的字符串属性的标注问题,导致把字符串当成 C 的 
printf 字符串来识别了。

zh_CN 的 locale 下,%b 应该是“1月”,%B 应该是“一月”,可以用 date +%b%B 命令验证。这部分的定义在 glibc 的 
localedata 
源码里:https://sourceware.org/git/?p=glibc.git;a=blob;f=localedata/locales/zh_CN

如果 evolution 显示的时间不好看,应该先看看 po 文件里有没有可以翻译的时间格式字符串。比如以前 mate-screensaver 
里的时间格式字符串“%A, %B %e”就没有翻译,这样锁屏界面的时间格式就是“星期一, 二月 
 3”。我改成了“%-m月%-d日%A”,就会显示成“2月3日星期一”了。如果没有这种字符串,应该考虑向上游提 issue。

On Monday, February 3, 2025 at 2:24:36 PM UTC+8 [email protected] wrote:

>
> 其实我也有这个问题,之前我用gtranslator给gnome部分软件翻译的时候突然发现%m和%d两种日期格式占位符无法通过文件验证了,不确定是gnu那边做了修改还是出了bug?
> 我不确定%b格式在中文区域中的表现形式,但我确定原发件人说的问题是有可能存在的,因为evolution就存在这个问题。%b格式在英文中是完整名称的简写如Nov
>  
> Dec这些,但在中文中到底是一月还是1月亦或是01月我就不确定了。
>
>
>
>
>
>
> -------- 原始邮件 --------
> 发件人: Wenbin Lv <[email protected]>
> 日期: 2025年2月3日周一 01:39
> 收件人: i18n-zh <[email protected]>
> 主 题: Re: 关于 coreutils 中 ls 命令的日期显示格式
>
> Hello,
>
> ls -l 命令的时间格式是我在 2022 年修改的,当时发了封邮件征求意见( 
> https://groups.google.com/g/i18n-zh/c/FAVbnR1jGQo/m/miAVoHLaAwAJ 
> ),不过没有人回复。当时比较担心脚本兼容性问题和长度过长的问题,好在改完以后没有人抱怨出了这两种问题。
>
> 目前的翻译应该不会显示成“一月 3日 12:03”,应该是“ 1月 3日 12:03”(如果你那边显示成“一月”的话,可能是 
> bug?),这个写法在中文里应该已经足够自然。具体效果是:
>
> 中文:
> -rwxr-xr-x  1 lwb lwb     171 2021年12月12日 weather.sh
> drwxr-xr-x 40 lwb lwb    4096 10月23日 01:31 webwml
> 英文:
> -rwxr-xr-x  1 lwb lwb     171 Dec 12  2021 weather.sh
> drwxr-xr-x 40 lwb lwb    4096 Oct 23 01:31 webwml
>
> 如果要让两种时间格式的“xx月xx日”对齐,就无法按自然的中文语序显示时间(比如要改成“01:31 
> 10月23日”)。如果要统一改成一个格式,就和英文原文显示的信息不一致(大部分人应该希望能显示刚刚修改的文件是在几点几分修改的,同时也希望能看到几年前修改的文件是在哪年修改的)。如果统一把年月日时分全显示出来,长度就太长了。所以我觉得目前的版本就挺好,不需要修改。如果你有更好的显示方式,可以提出来。如果有比较小众的需求,可以使用“--time-style”选项或“TIME_STYLE”环境变量进行定制(参见“ls
>  
> --help”)。
>
> Regards,
> Wenbin Lv
>
> On Sunday, February 2, 2025 at 1:22:08 AM UTC+8 Funda Wang wrote:
>
> Hello,
>
> 当前coreutils中的 ls -l 命令默认读取以下字符串用于显示文件时间:
>
> #. TRANSLATORS: ls output needs to be aligned for ease of reading,
> #. so be wary of using variable width fields from the locale.
> #. Note %b is handled specially by ls and aligned correctly.
> #. Note also that specifying a width as in %5b is erroneous as strftime
> #. will count bytes rather than characters in multibyte locales.
> #: src/ls.c:810
> msgid "%b %e  %Y"
> msgstr "%Y年%b%e日"
>
> #. TRANSLATORS: ls output needs to be aligned for ease of reading,
> #. so be wary of using variable width fields from the locale.
> #. Note %b is handled specially by ls and aligned correctly.
> #. Note also that specifying a width as in %5b is erroneous as strftime
> #. will count bytes rather than characters in multibyte locales.
> #: src/ls.c:823
> msgid "%b %e %H:%M"
> msgstr "%b%e日 %H:%M"
>
> 不知这个翻译是否有修改的计划。因为默认六个月内会显示为:一月 3日 
> 12:03,这真的太难看了,且六个月内的文件和六个月以上的文件的时间格式有较大差异。
>
> Regards
>
> -- 
> 您收到此邮件是因为您订阅了Google群组上的“i18n-zh”群组。
> 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到[email protected]。
> 如需查看此讨论,请访问 
> https://groups.google.com/d/msgid/i18n-zh/4d9e3b3f-f651-4d2f-9687-a5f78328f3f0n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/i18n-zh/4d9e3b3f-f651-4d2f-9687-a5f78328f3f0n%40googlegroups.com?utm_medium=email&utm_source=footer>
> 。
>
>

-- 
您收到此邮件是因为您订阅了 Google 群组的“i18n-zh”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到[email protected]。
如需查看此讨论,请访问 
https://groups.google.com/d/msgid/i18n-zh/6e88c2ad-86ca-4b3d-bff9-4e6492960989n%40googlegroups.com。

回复