讨论巴西葡萄牙语(pt_BR)的翻译

根据 Translation and proofreading disabled for some languages 上的建议,我在此发布一些被改为(在我看来)不如以前好的字符串。

一些示例:js.actions_codes.{autoclosed,closed,archived,pinned,pinned_globally,visible},来自 Update translations · discourse/discourse@4b9390b · GitHub

js.action_codes.closed 为例:
之前显示为 “(renato) 4 天前关闭”,现在显示为:

  1. 动词被翻译为过去分词而非一般过去时
    考虑到这些动词位于用户头像之后,我将其理解为“(用户)(动词)(时间)”,因此之前的版本看起来更自然。

  2. 主题/帖子不需要性别变位,因此带有女性变体后缀 (a)fechado(a) 没有意义。

  3. 带有 “em” 前缀的 {when} 变量生成了一些奇怪的结果,如截图所示,特别是因为这些日期总是过去的。

也许第 3 点可以单独提出请求:当日期在过去时,{when} 例如是 “4 天前”;当日期在未来时,则只是 “4 天”。因此,使用 “em” 作为前缀适用于未来日期,但在过去日期时显得奇怪;而移除 “em” 在过去日期时没问题,但在未来日期时又显得奇怪。

也许最理想(但会破坏兼容性)的解决方案是:让 {when} 在未来日期时自动添加 “em” 前缀,就像目前它在过去日期时自动添加 “atrás” 后缀一样。然而,也存在一些例外情况,例如 js.badges.granted_on 被翻译为 “于 {date} 授予”,会生成类似 “于 6 天前授予” 的字符串,给人未来日期的错误印象;但在超出相对日期范围时(例如 “于 3 月 19 日授予”)则没有问题。

谢谢。

3 个赞

天哪,这太糟糕了……

@gerhard,我们可以转发这条反馈吗?

3 个赞

@renato 感谢您的反馈。我已将其转交给翻译人员。

3 个赞

你好 @gerhard

我认为这些字符串不应包含“atrás”后缀,基本上应恢复为这些更改之前的状态。当日期为过去且以相对形式显示时,后缀已经存在,而对于绝对日期来说,加上后缀是不合理的。

生产环境中的一些示例:


此外,还有一些字符串插入了时间变量,使用当前的方法无法在所有场景下正确翻译,例如之前提到的 js.badges.granted_on。它包含 {date} 变量,该变量可能解析为“11 d”(相对时间,缺少 {when} 中隐含的“atrás”后缀)或“24 mai”(绝对时间)。因此,当前 pt_BR 中该键的值“Concedido em {date}"对于相对时间变体是不正确的(而且我个人认为没有任何值能同时适用于这两种情况)。

2 个赞

另一个例子:js.topic.status_update_notice 被修改为在 {timeLeft} 变量前添加了 “em”,导致现在出现重复:“此主题将在 7 天后自动删除”。

2 个赞

看起来我们需要在代码中做一些调整,以处理相对日期和绝对日期。否则,这些字符串很难正确翻译。我们内部已将其列入待办事项。

5 个赞