💡 Unity本地化包(
com.unity.localization)可通过五个步骤为任意Unity游戏添加越南语支持(语言环境代码vi):安装包、添加vi语言环境、创建字符串表集合、填写译文、绑定LocalizedString组件。两个关键注意点:TextMeshPro字体图集必须包含越南语全部134个以上的变音符字形,UI容器宽度须比英语版本多预留15到30个百分比的空间。
要点
- 通过Package Manager安装
com.unity.localization;越南语语言环境代码为vi(BCP 47);Google Play完整支持vi语言的商店页面展示。 - 字符串表集合支持原生XLIFF导出,可直接发送给翻译人员,无需共享Unity项目。
- 将TextMeshPro切换为Dynamic图集模式,确保运行时正确渲染越南语全部134个以上的变音符字形。
- 翻译前先运行伪本地化测试,提前发现UI文字溢出问题:越南语字符串平均比英语长约20%。
- 机器翻译可用于开发阶段的占位文本;正式上线前须由越南语母语玩家进行情境审校,核对游戏术语与文化适配。
越南手游市场与越南语本地化的商业价值
越南拥有超过7700万互联网用户,手游市场增速强劲。Google Play将越南语(vi)列为商店页面与应用内语言环境检测的完整支持语言。使用越南语设备的玩家期望游戏界面与其母语匹配,无法阅读母语界面的玩家流失速度更快。
全球有9700万越南语使用者,添加越南语是真实的营收决策,而非锦上添花。中国游戏公司是进入越南市场的手游最大来源,从上线首日即提供越南语版本的游戏,在越南市场的第7天和第30天留存率往往明显更高。
如何安装Unity本地化包并添加越南语语言环境?
打开Window > Package Manager,切换至Unity Registry,搜索"Localization"并安装com.unity.localization(需Unity 2021.3 LTS或更高版本)。前往Edit > Project Settings > Localization,点击Add Locale,勾选Vietnamese (vi)并确认。Unity将在项目中创建vi语言环境资源文件。
将默认语言环境设置为英语en,并将vi添加为支持的语言环境。System Locale Selector会自动检测Android、iOS和Windows设备的系统语言。如需在Editor中强制切换至越南语进行测试,可使用以下代码:
// C# - 强制切换至vi语言环境进行测试
LocalizationSettings.SelectedLocale =
LocalizationSettings.AvailableLocales.GetLocale("vi");
如何为越南语构建字符串表集合并导出XLIFF文件?
字符串表集合以每行一个字符串、每列一个语言环境的形式存储文本。通过Window > Asset Management > Localization Tables打开,点击New Table Collection,选择包含vi在内的语言环境,并为集合命名。面向越南语的最佳实践:
- 键名规范:使用点分隔路径(
ui.button.start、hud.label.hp、dlg.npc.guard.line_001),不使用空格。 - 复数处理:越南语没有语法复数形式。英语需要
{count:plural:apple|{} apples}的Smart String,越南语通常只需一种形式,大幅简化了多语言字符串的配置。 - 预加载:为HUD和核心UI表格启用预加载,确保字符串在第一帧即可使用。
- XLIFF导出:前往Window > Asset Management > Localization Tables > Export,选择XLIFF 1.2或2.0,设置源语言为
en、目标语言为vi,将.xliff文件发送给翻译人员或CAT工具(Trados、memoQ、Smartcat)。导入译好的文件后重建Addressables即可发布。翻译人员无需接触Unity项目。
为什么TextMeshPro字体图集设置对越南语变音符至关重要?
越南语使用拉丁字母加上六个声调符号(声锐、声平、声问、声波、声重、平调),叠加在元音上,形成134个以上不同的字形变体。基于ASCII字符集构建的静态TMP图集将为ả、ụ、ễ、ồ等字母显示方块或问号。
推荐解决方案:在Font Asset Creator中将TMP字体资源的图集填充模式设置为Dynamic(动态)。Unity将在运行时按需渲染字形,覆盖越南语完整的Unicode范围。对于对加载时间敏感的正式构建版本,可从字符串表导出字符集(Window > Localization Tables > Export Character Set),再基于该精确字符集烘焙静态TMP图集,从而实现零字形缺失且无运行时开销。
Unity游戏越南语本地化有哪些常见文本问题?
- 变音符缺失:缺少越南语字形的静态TMP图集将把ô渲染为o、把ắ渲染为a,导致文本无法辨读。解决方案:使用动态图集,或基于字符串表导出的字符集烘焙静态图集。
- UI文字溢出:英语"Start"(5个字符)对应越南语"Bắt đầu"(7个字符)。解决方案:发送翻译前先运行伪本地化测试。该工具会膨胀字符串以模拟长度扩展,提前标记过窄的容器。
- 硬编码字符串:脚本中任何
.text = "Start Game"写法都会绕过字符串表。请将所有硬编码字符串替换为LocalizedString引用。 - 编码损坏:以Windows-1252格式保存XLIFF文件的工具会静默损坏越南语变音符。Unity原生XLIFF流程默认使用UTF-8;请确保翻译人员也以UTF-8格式导出文件。
- 语言环境回退缺失:无
vi值且未配置回退的键会显示为空字符串。请在Localization Settings中设置回退语言环境。
哪些工作可以内部完成,哪些时候需要聘请越南语游戏本地化专家?
技术团队完全可以内部处理:包安装、语言环境配置、字符串表结构、XLIFF导出、TMP字体图集配置、伪本地化测试以及开发阶段的机器翻译占位文本。
聘请越南语母语游戏翻译人员在以下情况下能带来切实回报:
- 涉及类型专属术语时。机器翻译几乎每次都会选错RPG技能名称、MOBA物品和卡牌游戏机制的语体,因为这些术语有越南玩家约定俗成的说法,而MT系统并不可靠地掌握这些知识。
- 对话中有文字游戏、文化引用或地域习语,需要意译而非直译。
- Google Play和App Store的商店页面文案需要让越南玩家读起来自然流畅,而非明显的机器翻译。
- 需要在实体设备上进行本地化质量测试(LQA)时。只有母语玩家才能发现那些书面上看起来正确、但在实际游戏语境中听起来不对的错误。
如需将英语或中文游戏进行越南语本地化,Dao Huy的游戏翻译服务涵盖术语管理、情境审校和LQA测试。
常见问题
能否直接用DeepL或Google翻译处理Unity的XLIFF文件?
机器翻译可为占位文本提供可用的初稿,但在游戏术语语体方面几乎总会出错。RPG技能名称、MOBA物品和系统提示常常被翻译为生硬或错误的越南语。建议在上线前由越南语母语玩家对情境字符串进行审校。
哪些Unity版本支持com.unity.localization?
Unity 2021.3 LTS及更高版本:2022.x、2023.x和Unity 6。通过Package Manager从Unity Registry安装。除安装软件包和打开Localization Settings添加语言环境外,无需额外配置步骤。
越南语在TextMeshPro中需要启用从右到左的文字支持吗?
不需要。越南语是从左到右书写的语言。它使用带声调符号的拉丁派生字母,而非从右到左的文字系统。TextMeshPro的标准LTR布局可直接使用,无需任何RTL配置更改。
如何在Unity Editor中测试越南语字符串而无需实体设备?
打开Window > Asset Management > Localization Scene Controls,将活动语言环境设置为vi并启用Track Changes。所有LocalizedString组件将在Editor中实时更新,无需设备即可检查字符串适配情况和变音符渲染。
Unity语言环境代码应使用vi还是vi-VN?
使用vi。W3C i18n指南建议尽量使用最短的BCP 47标签。越南语各地区书面文字变体之间没有需要使用vi-VN子标签的显著差异。Google Play也将vi作为越南语商店页面的标准语言代码。
参考来源
- Unity本地化包文档([email protected]) - 语言环境设置、字符串表、XLIFF导出、伪本地化。验证于2026年11月。
- Google Play支持的语言列表(vi = 越南语) - 确认vi语言商店本地化支持。验证于2026年11月。
- Unicode CLDR越南语语言环境数据(vi) - 字符集、变音符、数字系统。验证于2026年11月。
- W3C国际化 - 语言标签(BCP 47) - vi与vi-VN的选用指南。验证于2026年11月。
作者:Đào Huy(Lucas),越南语译员与本地化专家(英、中、法译越)。 See translation services →

