本期视频发布于 2022 年。文中的技术状态、个人经历与观点均为当时情况。
一个已经在国内运行的产品,要进入另一个市场,需要改多少东西?龙熠的回答从语言开始,却很快延伸到时间、货币、文化、隐私和团队协作。国际化的难处,既在于技术系统默认了太多本地习惯,也在于研发团队未必能直接接触真正使用产品的人。
当期海报介绍她是滴滴前国际化客户端 TL。她在访谈中说明,当时已经加入腾讯,带领包含 iOS、Android 和前端开发者的平台团队。近半小时的技术分享之后,是近五十分钟的一对一对谈;对话从团队职责一路展开到早期挫折、工作选择、学习方式和管理中的遗憾。
国际化先拆掉假设,本地化再填入具体答案
龙熠先区分全球化、国际化、本地化和翻译。它们有联系,却不是同一件事。她借用跨国餐饮品牌的例子说明:品牌可以保持整体一致,但进入不同市场时,名称、菜单和服务安排仍需调整。翻译只是其中一部分,产品还要适应当地的使用方式。
她还把四个词写成 G11N、I18N、L10N、T9N,数字表示首尾字母之间省略的字母数。这样记缩写的目的,是避免把“把中文翻成英文”误当成出海项目的全部工作。她提出一个看似只有三步的流程:先改造国际化底座,再针对目标市场本地化,最后投放产品。真正复杂的,恰恰是中间每一步隐含了多少此前不必考虑的前提。
落实到软件,国际化改造首先需要拆掉写死的前提:默认所有人都使用简体中文、人民币和同一个时区,会让后续市场适配处处受限。系统应当为变化留下能力,再为目标市场配置具体语言、格式和规则。因此,只完成国际化底座,也不等于产品已经适合任何一个海外市场。
这一区分也与 W3C 的工作定义相符:国际化让产品更容易被本地化,本地化则满足具体目标市场的语言、文化与其他要求。W3C:国际化与本地化
语言、文字与地区,不能只用一个国家字段代替
同一个国家可能使用多种语言,同一种语言也会在不同地区形成不同习惯。用户的位置不自动决定界面语言,产品需要把语言、书写系统和地区分别理解,再用合适的 locale 信息连接内容与配置。
她在屏幕上并列写出中国大陆的简体中文、美国英语、加拿大法语区等 locale。即便都使用拉丁字母,美国英语与加拿大法语也不能归为同一种内容配置。转成从右向左的语言时,文字阅读顺序、前进和后退箭头、图片方向及整体布局都需要检查;只把文字靠右不能完成适配。
语法差异进一步打破了简单替换字符串的想法。有的语言区分语法性别,有的需要不同复数形式;大小写、标点和句子结构也不完全相同。中文里只需换一个名词的句子,在另一种语言里可能连动词形式都要变化。相似的逗号也可能是不同字符,西班牙语的疑问与感叹标点则有自己的用法。把文案拆成零散片段拼起来,很容易忽略这些关系。
龙熠用俄语示例说明:中文里说“杂志放在桌上”“书放在桌上”“信放在桌上”,句式几乎不变;在有语法性别的语言中,句中别的词也可能随名词变化。她自己不读这些俄语句子,因此展示它们是为了说明代码不能把完整句子拆成几个固定片段简单拼接,而不是提供一份可直接采用的翻译表。
复用语言规则,也给界面留出变化的空间
在实现上,龙熠建议前后端保存并传递 locale,根据它下发内容、选择资源和处理方向。复杂语法不必每个业务重新发明,应当利用平台提供的本地化与复数机制,并查阅 CLDR 等语言数据。字符编码和排序也需要明确:英文按字母排序,与中文按拼音组织内容,是不同的产品预期。
布局适配从一个非常具体的现象出发。她拿同一应用的中英文界面作对照:中文一排放五个短标签仍能读清,英文换上较长词后,多个位置只剩省略号。另一款外卖应用选择更疏的排列,让每个标签得到更多空间。问题不是哪一款设计绝对正确,而是同一套布局是否能容纳目标语言。
她提出给文字留出空间,结合内容宽度安排布局,避免将文字烘焙进图片;图文混排、有方向性的素材,以及不同屏幕尺寸,都需要单独观察效果。某种语言下漂亮的环绕排版,换一种文字未必成立。国际化因此会反过来影响设计系统,而不是只在开发末尾增加几份翻译文件。
时间、数字与货币,都有显示之外的语义
日期、时间、历法、时区、夏令时和一周的起始日,是分享里的另一组问题。即使同样表示一天,年月日的顺序、分隔符和使用的历法也可能不同。龙熠强调存储口径要统一,并讨论用 UTC 处理时间的思路;对于已经积累大量历史数据的系统,迁移还要照顾现有用户与旧数据,不能只改一个字段格式就认为已经完成国际化。
她还提醒,时区并非总以整小时为单位,夏令时规则也可能因国家或地区变化。对于已有大量按北京时间存储的数据,不能为了“统一 UTC”就直接改写旧字段的含义;先确定现有口径与转换边界,再考虑迁移。
数值同样不能只看屏幕上的形状。小数点和分组符可能使用不同字符,数字的书写系统、千或万的缩写习惯也不一致。货币符号尤其容易产生歧义:不同币种可能共享相似符号,金额必须与货币类型一起解释,不能把一个符号或裸数字当成完整数据。她还提醒开发者关注数据范围和存储容量,避免进入新市场后才发现原有字段容不下实际金额。
她特别拿货币标记提醒研发:人民币的国际代码是 CNY;¥ 一类符号也可能对应别的币种,美元符号同样不能单独确定是哪一个国家的钱。因此数据层应保存明确的币种,再按展示场景格式化金额。若只存一串已经排好格式的文字,后续换市场、做汇率或汇总时,就失去了判断原始金额语义的依据。
讲者将 Unicode、UTF-8 和 ICU 放在这套改造中讨论,并特别提到 MySQL 的字符集选择。按 MySQL 8.0 文档,utf8mb4 支持基本多文种平面及补充字符,而 utf8mb3 只支持前者。不能仅凭名字中出现“UTF-8”,就假设整条存储链路已经支持所有需要的字符。 · MySQL 官方说明
本地体验还包括姓名、地址、文化与无障碍
电话、地址和姓名的结构,也是国内产品容易带出默认假设的地方。龙熠还把无障碍使用纳入市场适配的考虑:进入一个地区,不能只检查文案是否读得懂,也要考虑当地用户能否真正操作产品。
文化部分讨论地图、地区名称、节日祝福、手势和品牌文字。某个词、数字或动作在自己的生活环境中十分自然,在别的环境里却可能产生不同理解。她用轻松的例子提醒团队,不要把本地语境下的直觉直接移植出去。对此更实用的理解是,向具体市场的人确认内容如何被读懂,而不是记住一张把整个国家的人都归为同一种习惯的禁忌表。
隐私能力要进入产品、数据与流程
龙熠把合规问题拆成三层。产品层需要能够向用户说明信息如何使用,并提供与适用规则相匹配的注销、删除、导出或设置入口;数据层要贯穿采集、传输、存储、使用和销毁;流程层还包括异常响应、内部信息安全管理和必要的处置流程。
儿童信息、敏感信息、用户画像与最小化采集,是她特别提出的议题。其工程含义是,隐私不能只靠最后补一段声明:如果底层没有删除、访问控制或识别数据去向的能力,产品承诺就很难兑现。分享还讨论了 Cookie 提示与同意机制,提醒客户端和前端团队把相关行为纳入设计。
这些是当时的工程经验概述。GDPR 的适用范围、处罚条件与上限各有具体条文;Cookie 也存在按用途区分的规则与例外,不能将录播中的简化说法理解为全球所有 Cookie 都适用同一种同意要求。GDPR 正文 · CNIL 关于 Cookie 的说明
跨境数据则把问题带回系统链路。即使业务研发没有主动复制数据,第三方 SDK、跨境服务和 CDN 仍可能改变信息实际经过的位置。她建议在接入层监控流向,在客户端扫描、分析第三方组件行为,并弄清 CDN 处理了哪些数据。图片也可能含有敏感信息,不能因为它不是用户表记录就忽略。工程侧先要看见链路,具体能否传输仍取决于地点、数据类型和适用规则。
国际化平台的价值,是让接入方少记规则
技术分享最后,龙熠提出一个方向:让业务同学不必先成为国际化专家,也能正确接入。语言、格式、翻译、隐私能力和机房等问题,可以尽量通过统一配置与基础设施维护,降低各团队重复理解和实现的成本。
随着市场数量增多,条件分支也会膨胀,测试很容易成为瓶颈。因此,国际化研发除了提供能力,还应该帮助测试团队验证不同语言、地区与配置组合。平台的收益不只是封装一段代码,也在于让大家更容易知道当前产品在各种环境下会如何表现。
龙熠的目标是让接入方不必记住每个市场的零散规则:一个业务团队填写适用语言和地区后,平台提供相应的文本、格式和基础能力。她随即指出这会把压力转给测试:语言、方向、日期、货币和隐私配置组合起来,人工逐个点屏幕很难覆盖。国际化平台若能帮助生成、检查和复现这些配置,才算真正降低团队使用它的成本。
管理角色变了,技术敏感度仍要保留
一对一访谈从龙熠当时的工作开始。她带领跨客户端和前端的平台团队,更多精力用于团队协调、技术方向和代码评审,业务代码写得少了,但仍会通过 Demo 尝试技术。
她回顾,自己从 2015 年下半年开始带团队。最初容易觉得很多事情都能解决,之后经历熟悉和倦怠,再往后反而意识到管理还有大量需要学习的内容:既要理解技术与业务,也要有同理心,把事情真正推动下去。
主持人问她怎样兼顾管理与技术。龙熠先反问团队处于什么阶段:若刚接手陌生团队,成员还不信任负责人,应先花时间建立关系和共同目标;待协作稳定,再给自己留出持续接触代码与新技术的空间。她承认杂事常突然出现,无法保证每天按固定比例切割时间。
她不要求管理者一定承接一线业务需求,却认为亲手写 Demo、尝试新技术,能让技术判断更有实感。作为平台团队负责人,她平时也参与技术方向讨论和代码评审,因此即便业务代码写得少了,仍要保持足够的技术敏感度。
从数字媒体到研发,成长并非一路计划好的
龙熠与主持人是大学同学。聊到进入行业的过程,她说明自己学的是数字媒体技术,课程中也有绘画,并非一开始就确定要成为程序员。接触比赛等机会时,最初更多是觉得可以试试、玩一玩,而不是已有明确的职业路线图。
早期在武汉工作时,一次来自工作的认可,让她觉得自己也许可以在研发这条路上走得更远。后来到北京,却经历了不那么顺利的阶段。她开始重新问自己,是不适合这个行业,还是仍然喜欢,只是需要换一种环境和方向。
加入滴滴后,她把自己的成长与组织发展联系起来:遇到什么挑战,就努力解决什么问题。她没有把这段经历包装成可复刻的成功步骤,也反复承认机会与运气的作用。到 2022 年加入腾讯时,她更愿意把它视为重新认识自己的开始——尊重自己的长处、局限和真正想做的事情,不再要求每个选择都精准踩在最佳时点。
乐观、好奇与反思,不必变成对自己的苛责
主持人请她概括帮助自己度过困难的因素,龙熠给出乐观、好奇心和反思。乐观让人保留继续尝试的空间;好奇心让人愿意理解事情为什么如此;反思则帮助下一次做得更好,而不是为了证明过去的自己一直正确。
她也给反思加了一层个人边界:如果已经认识到自己的某种性格,并不认为需要彻底改变,就不必把成长理解为不断扭曲自己。持续逼迫自己成为另一个人,未必能够执行下去。
主持人提起自己大学毕业后创业失利的经历,用它回应龙熠的“乐观”并不是没有低谷。他又说自己会回看几年前的判断,确认是否真的改变过看问题的方法。龙熠的“反思”也有边界:知道自己某个习惯会带来问题,可以在下一次尝试调整;若一种性格并不需要改,没必要为了符合某个理想形象反复责备自己。
把笔记变成知识,也给尚未确定的选择留位置
当话题转向如何成为优秀开发者,龙熠首先淡化性别标签,认为开发者需要的基本素质相通。她最想补上的习惯之一,是更早开始认真记笔记:年轻时觉得很多信息都记得住,后来才发现,记忆无法代替长期整理。
她把材料分成三个层次:先放进 Inbox,收集杂乱的信息;定期整理成可以归类的 Notes;再提炼为相互关联、需要时能够调用的 Knowledge。这个过程的目的,不是把所有看过的内容存下来,而是帮助形成更有结构的理解。
这个方法对应她对早年学习的遗憾:当时以为看过就能记住,后来才发现,输入越来越多时,单靠记忆很难重新找到一条想法。主持人随后追问怎样更快认清自己,把谈话从整理材料引向对偏好的辨认。
另一个建议是认识自己的性格与偏好。例如走专家路线还是管理路线,不能只看外界认为哪条更好。她用一个简单的方法降低选择压力:明确特别喜欢和特别讨厌的事情,剩下暂时归入“不讨厌”。那些还没想清楚的事情,可以先留着、试着做,不必急着给人生每个方向都下结论。
成长不只取决于拿到了什么任务
直播间的讨论引出了“要不要挑活”。龙熠不赞成为了成长,一直等待更体面、更容易体现技术含量的任务。她更关心的是,为什么同样的事情反复发生,能否用更好的方法把它完成,逐步提高效率,腾出精力处理更多问题。
主持人把这个观点放回业务开发与架构的比较:同一项业务,不同经验的人可以做出不同质量的设计,任务名称并不自动决定能学到什么。龙熠也谈到自己面试时见过不同方向的选择,有人希望从业务转到架构,也有人希望反过来。她的关注点是一个人能够把什么做好,而不是只把某类岗位当成更高级的身份。
快速发展的组织带来空间,也带来不确定性
聊到较早加入滴滴的经历,龙熠认为优势与劣势是同时存在的。组织增长快,个人可能有机会承担更多事情;但公司也可能发展不及预期。相比成熟组织,早期团队的培训、制度和指导方式未必完整,成员需要适应这种环境。
她把自己的选择与喜欢挑战的性格联系起来,并没有给出“越早加入越好”的统一答案。两人用投资作了不少轻松类比,实际讨论仍然落在风险偏好:机会和不确定性往往一起出现,选择要与自己愿意承受的环境相匹配。
国际化最难的部分,是离真实用户很远
回到工作挑战,龙熠坦言,人在国内、业务在海外,很难完整感知用户正在经历什么。即使有当地运营团队传回信息,研发仍需要理解问题背后的场景。文化差异也不是掌握英语就能解决,不同地区甚至未必主要使用英语。
出差习惯、个人生活偏好、与不同背景的人沟通,都会影响团队协作。她更希望找到愿意共同做这件事的人,并以更深的同理心理解用户,而不是假设存在一个纯技术方案,能一次解决所有市场的困难。
主持人用此前做外卖业务的经验作对照:那时可以亲自骑车体验送餐流程,遇到问题也较容易看见具体场景。转向海外业务后,他发现离真实用户很远,即使城市团队或管理链路传回一句“这里不好用”,研发还得追问它发生在什么场景。龙熠认可这种难处,也承认国际化不可能只靠英语能力或某个统一技术方案解决。
跨地域管理,以信任和共同目标作为前提
龙熠把跨地域管理的重点放在信任与目标上。团队不在同一个地方,双方先要相信彼此,再明确事情要做到什么程度、如何共同推进。
她用很具体的反问回应“远程同事怎么管理”:难道每天看监控,确认每个人几点进办公室吗?她说自己通常批准团队成员的请假,重心放在事先说清目标与责任,再由成员安排时间。这是她对自己团队的管理方式,不是对所有组织的人事制度作规定。主持人则把它联系到负责人的另一项工作:让分散在不同城市的同事知道共同目标是什么。
随后,龙熠主动补充,管理理念说出来很容易,执行却会遇到很多困难。她更愿意把负责人看成团队中的一种职能分工,而不是天然高于其他同事的位置。这也让讨论从方法回到关系:目标需要共同理解,信任需要在实际合作中建立。
对过去负责,也接受无法重做的遗憾
谈到管理中的失误,龙熠说,曾经有一些事情反复在脑海里出现,总觉得当时可以更成熟、更努力,或做出更好的结果。后来她逐渐接受,即使出发点是好的,结果也不会完全由一个人掌控。
她所说的放过自己,不是取消反思,而是在理解当时的能力与条件后,不再用无法重做的过去持续惩罚自己。主持人也回应了从觉得自己无所不能,到接受普通人局限的变化。
换工作不是达到某个固定年限后的动作
谈到离开滴滴,龙熠解释,自己在那里工作多年,生活和工作已经很熟悉,而她希望接触新的东西。她从来没有把程序员理解为一生只能拥有的一种身份,对之后的人生仍然保留别的可能性。
早期她也曾给自己规定一份工作应该做满几年,后来发现这些框架并不能代替真实判断。她认真对待工作,但是否继续留下,需要结合内心意愿、实际处境和分析过程。到腾讯尝试新的环境,在她的描述里首先来自好奇与想学习,并不是一套为所有人规定跳槽频率的方法。
主持人把这理解为尊重自己真正想要的东西。两人没有把职业规划简化成某种职位序列,而是关注一个选择是否还能让人有投入的意愿,以及新的环境能带来哪些尚未经历过的东西。
给团队成长空间,也给自己的未来留余地
最后谈团队和个人规划,龙熠没有给出明确的晋升时间表。她更想先把当下的工作做好,在新的组织中理解没接触过的东西。对于团队,她希望成员能够获得技术成长、清楚做事的目标,有成就感,并在自己能够影响的范围内得到合理对待。
她也把这种想法放在 2022 年的行业环境中理解:机会并不总会像高速增长时期那样持续出现,负责人需要认识自己的能力边界。更大的团队、晋升和新的职责可以成为机会,但如果只盯着这些结果,反而可能忽略眼前真正值得做的事情。
对谈收尾时,两位老同学再次聊起大学时期一起参加活动的记忆,也想象十年之后再交流时,会不会已经拥有不同的话题。龙熠仍然回到乐观和开放:人会变化,机会也会变化,不需要现在就把未来的每个阶段锁死。
从产品适配到个人选择,这两段对话都在提醒人先看清默认假设:用户不一定按自己的习惯生活,团队成员不一定需要同一种管理方式,自己也不一定必须沿着早已画好的路径前进。理解这些差异,才有机会把系统、协作和工作做得更合适。

