vault backup: 2026-05-03 20:37:58

This commit is contained in:
2026-05-03 20:37:58 +08:00
parent 4fb34c6f38
commit 83502d0874
37 changed files with 2411 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
---
title: UMG本地化
date: 2026-05-03 00:00:00
excerpt: 平台感知的多语言文本系统(平台后缀、语言 ID
tags:
- ARC
- UI
- UMG
- Localization
rating: ⭐
---
# UMG 本地化
返回 [[UI]]
## 概述
ARC 引擎为 UMG 文本系统添加了平台感知的本地化机制,允许同一文本 ID 在不同平台上显示不同内容(例如按钮提示文本因平台不同而变化)。
## 平台后缀系统
文本 ID 查找时自动追加平台后缀:
| 平台 | 后缀 |
|------|------|
| PS5 | `_PS5` |
| Xbox Series X | `_XSX` |
| 其他 | 无后缀(使用默认文本) |
查找顺序:
1. 先查 `TextID_PS5`(或 `_XSX`
2. 找不到则回退到 `TextID`
## 语言 ID
新增 CVar `sg_REDLanguageID`,允许运行时切换语言而不依赖系统语言设置:
```cpp
static TAutoConsoleVariable<int32> CVarREDLanguageID(
TEXT("sg.REDLanguageID"),
0,
TEXT("Override language ID for RED localization"));
```
## 自定义 L10N 加载
`Source/Runtime/Core/` 中的本地化文件加载逻辑支持自定义 L10N 目录。
## 兼容性
`UOldRichTextBlockDecorator` 兼容层确保旧版富文本格式在新系统中正常工作。
## 修改文件列表
涉及 `Source/Runtime/UMG/` 下约 12 个文件,主要覆盖:
- `TextBlock` 相关 — 平台后缀查找
- `TextWidgetTypes` — 垂直对齐(与 [[Slate扩展]] 配合)
- `RichTextBlockDecorator` — 兼容层
- `WidgetComponent` — 修改