即使已翻译,私有类别描述仍保留英文

你好 :slight_smile: 晚上好,
希望一切顺利!

我刚刚发现,在我的论坛中,私密分类页面描述的本地化功能没有按预期工作。

事实上,即使所有分类描述都已翻译成各种语言并正确添加到分类设置中,更改语言设置后,描述仍然保留在原始语言(在我的案例中是英语),而不是使用其翻译版本。

需要注意的是,我指出的问题仅涉及:

  • 私密分类 - 常规/公开分类按预期正常工作。
  • 分类的描述 - 置顶主题和其他元素按预期正常工作。

有人遇到过同样的问题吗?有什么我可以做的来解决这个问题吗?

非常感谢您的帮助和支持,
祝好 :slight_smile:

嗯,我很难重现这个问题。

你当前的设置是什么样的?是否有主题组件在此处覆盖?是名称和描述都没有被翻译吗?

我理解,如果我没有提供足够的信息,我很抱歉。

我遇到的问题出现在私有类别的类别横幅内容上(我将类别横幅作为主题组件)。当我访问各个类别页面时,公共类别的类别横幅(包括标题和描述)已正确翻译,但私有类别的横幅语言始终为英语,无论用户选择哪种语言。

我不确定我可能有哪些特定设置会导致此问题。

希望这有帮助。谢谢!

大家晚上好,

补充我之前评论的内容,一种“复现”此问题的方法是使用 Discourse Meta 的某个私有分类(例如 Staff 或其他)进行测试。请按照以下步骤操作:

  1. 进入你有权限访问的某个私有分类。
  2. 确保存在多个翻译版本(例如:“编辑此分类” > “本地化”选项卡 > 分类名称和描述的主要语言(我设置为“英语”),然后为所有支持的语言环境设置本地化)。
  3. 返回私有分类的主页(你可以看到带有标题和描述的分类横幅)。
  4. 使用右上角的语言切换器更改语言。在我的情况下,无论选择哪种语言,它都保持为英语。

就我而言,此问题仅适用于私有分类。公共分类的表现符合预期。

只有我遇到这种故障吗?

希望这能提供更多帮助,谢谢!

嘿,即使在 Meta 的员工分类或主题组件本身中,我也无法复现这个问题。

我认为可能还有其他问题在发生。

你可以用这个数据查询器查询试试吗?

  SELECT
    c.locale AS cat_locale,
    cl.locale AS loc_locale,
    c.name AS cat_name,
    cl.name AS loc_name,
    c.description AS cat_description,
    cl.description AS loc_description
  FROM categories c
  LEFT JOIN category_localizations cl
    ON cl.category_id = c.id
  WHERE c.read_restricted = TRUE
  ORDER BY c.id, cl.locale

另外,你使用的是最新的核心版本和最新的主题组件版本吗?

:slight_smile: 非常感谢您的帮助,您无法复现该问题促使我深入思考我这边到底出了什么错。

然后我突发奇想试了一下:(i) 进入我私有分类的本地化配置(其中标题/描述已翻译成多种语言);(ii) 删除一个词/重写一个随机句子以“强制”触发某种更改;(iii) 保存更改……结果奇迹般地,问题消失了。

我记得之前有一次 Discourse 更新,其中包含与翻译相关的内容,并建议执行一个“rake”命令来传播更改(忘了具体上下文)。由于我的实例比较新,分类数量有限,而且我尽量避开使用命令行,所以我当时决定手动逐个更新每个分类(而不是通过 rake 自动化方式一次性处理所有分类),结果我肯定忘了处理那些私有分类 :smiley:

不管怎样,现在问题已经解决了 :slight_smile:

祝好 :slight_smile: