软件有效期如何实现_如何实现软件本地化:软件本地化流程的十条守则

08f8194d2a5adc8dbdde7fdf78a71245.gif

唐能译牛: 软件本地化,是指将软件产品的用户界面和辅助材料,从其原产国语言向另一种语言转化,使之适应某一外国语言和文化的过程。软件翻译和本地化是将软件产品推向全球市场的必要环节。 唐能翻译提供的软件本地化服务(包括APP)有软件翻译(用户界面、帮助文档/指南/手册、图片、包装、市场资料的翻译等),软件工程(编译、界面/菜单/对话框的调整),排版,软件测试。 45e312524e4890a02324fc27a683206e.png

人们经常将本地化和翻译混为一谈,而两者本应是相辅相成的。不过,虽然这两者之间有相同之处,但软件本地化流程相对要复杂得多。要让产品或内容适应特定的地区或市场,往往少不了要对图像、布局、格式等各种细节进行调整,更不必说还要满足目标市场的法律要求、数据合规性、设备偏好,以及顺应技术趋势。

 

鉴于需要考虑的细微文化差异众多,一些看似微不足道的元素往往被忽略,但倘若要向尽可能广泛的受众提供至臻完美的产品,那么对这些元素的处理至关重要。那么,该从何处入手呢?以下介绍了需要特别留意的重要软件本地化优秀做法和误区。

将本地化视为一项战略

15700ec76b7b32e8ae15c03b7046b68d.png首先,要清楚软件本地化将如何支持您的整体目标,这一点十分重要。为避免本地化失败,请在需求分析和设计阶段格外小心,并确保所有利益相关者就目标市场、语言和各自的独特问题达成一致。

将软件本地化流程视为一项战略,而非任务,以在全球范围内谋求成功。如果您从一开始就将全球化就绪作为目标,则在面对新的市场机遇时,您就免去了重新设计产品的苦恼。

设计时别忘了考虑本地化

6d62525e40dafa5c9c5358ce8c937f74.png

  本地化友好型设计有助于减少进度拖延和成本超支。其源代码和结构能有效防范以下问题:
  • 源文件漏洞重复出现在目标文件中

  • 可避免的翻译错误

  • 常见的软件本地化错误,包括功能错误、显示错误、缩写错误、过度本地化和本地化不足

建议:使用模板来确保一致的品牌形象。需要确保设计已经本地化就绪?测试、测试、再测试。准本地化是一种实用的 QA 测试形式,它通过揭示潜在翻译问题(例如,特殊字符或字符串长度引起的用户界面 (UI) 布局问题)帮助减少风险。

构建一个国际化对象库

d7fd214cb8db7d2401824718290d51e3.png

请谨记:国际化可以助推本地化的实现。当您致力于将软件本地化为多种语言时,构建国际化对象库可以让您不必进行返工。这些对象包括:
  • 用户界面设计元素

  • 排序和搜索功能

  • 多字节字符支持(面向亚洲语言)

  • 双向或从右到左阅读支持(阿拉伯语和希伯来语)

  • 地址、数字、日期和货币格式

 

避免源文本过长

753da548f60c0284c3f332475c3f61ef.png

所有语言都有不同的句式结构和复数规则,表达同一想法时,使用的词语数量也不尽相同。 为了尽量减少翻译问题,源内容应该简洁明了,并且具备以下特点:
  • 句式简短

  • 尽可能使用标准的英文语序

  • 不使用包含众多连续名词的短语(名词字符串)

  • 不使用同义词;一个术语对应一个概念

  • 不使用缩写;缩写需要额外的翻译,并且会丢失派生含义

建议 :除了避免使用同义词之外,还要避免将名词“动词化”。也就是说,不要在不同的语境中重复使用相同的文字。英文中的许多单词既可以作名词,也可以作动词:例如,file、share 和 design。确定文字的单一用法,并在使用时保持统一。

规划文字占用空间

2a761fe4a1d437d8e1b8f5d585504199.png

  据估计,英文共包括 100 多万个单词,而其他大多数语言的单词数量则不足 50 万。因此,将英文翻译成其他语言时,字符串长度可能会扩展或缩减。例如,英文的“Have a nice day!”翻译成德语为“Ich wünsche Ihnen einen schönen Tag!”:长度增加了 125%。将英文翻译成亚洲语言,长度则会缩短。 至少要规划 30-35% 的扩展空间,并考虑空格的使用。同样地,请尽量保持源文本简短,并采用与格式和措辞相关的其他软件本地化优秀做法。

不要错用图标

622f330484ba61cf2a54b0b8b9f35efe.png

当然,软件本地化优秀做法不只是关注文字表达。针对不同的文化,同样的视觉材料也具有不同的内涵。没有文字的图标具备优势,因为它们需要翻译的内容更少,并且可以降低成本。但请记住,并不是所有符号都是通用或中立的。 例如,美式风格的邮箱并不适用于许多其他文化。务必做好调查,避免使用手、脚、动物等图像,也不要使用其他可能会有意想不到或令人反感的含义的符号。

使用 UTF-8 编码

47d98e7afb8e673d90b5555cc23f315e.png

大多数现代技术默认使用 UTF-8(最广泛采用的 Unicode 格式)。著名的信息处理专家 Ken Lunde 博士将 UTF-8 形容为“全世界首个智能字符编码”。所有主流硬件和软件公司均支持 Unicode,而且 XML、Java 和 Javascript 等标准都要求使用 Unicode。使用 UTF-8 可确保轻松准确地翻译成所有语言,尤其是亚洲 CJKV(中文、日语、韩语和越南语)语言。

不要对文本或标点符号进行硬编码

87744303a72adcb1d04a48dc0c9fd70e.png 

当准备进行本地化时,必须将硬编码文本(或嵌入源代码中的文本)提取出来进行单独翻译。您的语言服务提供商 (LSP) 可以运行语法分析器来识别可翻译文本,但最好是在设计环节尽可能地减少这项工作。使用单独的资源文件(例如针对标题、产品名称和错误消息的资源文件)和资源注解以消除翻译错误。 建议 :借助硬编码化的字序或词序以及占位符将单独的字符串拼接起来以缩减字符串的大小,这种做法颇令人心动。但这经常会导致字符串被误译和造成本地化错误,因为不同语言之间的语序和语法规则各不相同。为解决此问题,只需不惜一切代价避免这种做法即可。

咨询本地化专家

02403e8d214ed4fce6b86540e02ff4c2.png

 

除了针对 Android、iOS 和 Windows 开发提供的本地化清单之外,您的 LSP 还可为您提供深刻见解和优化的流程,帮您省时、省钱、省力。在启动软件本地化流程之前,请思考对提供商提出的的特定问题,以确保建立成功的合作关系。 建议 :请记得为您的 LSP 提供“保留不译” (DNT) 清单,以防止过度本地化或本地化不足。如果错译的字符串在程序中具备关键功能,本地化过度或不足都会影响代码功能。

只是满足预期还不够,应该超出期望

7947f229f85a6a49f622c2dd8f15341c.png

最后一点,任何小细节都值得仔细留意。从最简单的移动应用程序到复杂的多用户系统,本地化是推动软件销量和接受度的关键。 使用“全球化二八定律”来衡量您的工作,即对本地客户行为和全球客户行为的考虑二八开。只要真正了解本地市场并将文化敏感元素融入设计和开发中,您不仅会满足用户的期望,而且还将改变他们的体验。借助在设计上已经全球化就绪的软件开发,一定能够释放全球市场机遇。 转自“莱博智 Lionbridge”微信公众号,欢迎前往订阅! 810dc2959b243c3cf2cb2bc81bdc96c2.gif唐能翻译荣获2020全球亚太语言服务商第二十七强「唐能•人物专访」2020跨年晚会人声鼎沸,而我在安静地回忆
「唐能•人物专访」我愿和整个团队共同迎接未知的语言服务事业的未来!「唐能•人物专访」一个拥抱科技的圆脸高冷文科女孩「唐能•人物专访」论一个“乙方”的自我认知

「唐能•人物专访」律法昭昭,扬眉吐气

「唐能•人物专访」少问“怎么办”,多想办法解决问题

「唐能•人物专访」三十而已,何须迷茫

「唐能•最佳实践」“一带一路”企业俄语笔译服务实践「唐能风采」唐能翻译参加2020亚洲制药产业大会「唐能风采」唐能翻译为某世界500强企业提供云同传服务「唐能•品牌故事」“小角色,大力气”—记上海国际电影节中的唐能人「唐能•行业分享」在中环,探索财经翻译的未来「唐能•行业分享」再说创译 Creative Translation「唐能风采」唐能翻译与喜茶达成长期合作,来一杯“灵感之茶”么?「唐能•翻译界核心玩家」为电竞世界冠军翻译是什么体验?全文 | 2020全球语言技术全景图......

唐能翻译+


中国翻译行业10大影响力品牌;全球亚太地区27强语言服务商;

18年工匠打磨    唐能翻译+,成就全球化

a357c49290a80f069c3d8622ea2e0139.png

让我知道你在看 306edcadd349061214be0e77fbfe3487.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
请不要用于商业或谋取非法利益!只限于学习交流!有关时间限制使用和软件注册的设计!procedure Tgcdzsys_grjs.FormCreate(Sender: TObject);var Reg:Tregistry; //自定义注册表变量 NowDate,FirstDate:TDateTime;//自定义时间变量 KeyName,TempCode,TempName,TempStr:string; //自定义字符串变量 Same:Integer; //自定义整数变量 NumberOfDays:Real;begin //SB.Panels[0].Text:=‘ 工程地质勘察应用系统‘; //SB.Panels[1].Text:=‘ Email: Grjs_2001@163.com 或 Grjs_2004@126.com‘; NoRegistry:=true; NowDate:=date; //取得运行时系统日期 try //创建注册表,有该键则读取,无则创建 Reg:=Tregistry.Create ; Reg.RootKey :=Hkey_local_machine; KeyName:=‘SoftwaregrjsExample‘; if Reg.OpenKey(KeyName,true) then begin TempName:=Reg.ReadString(‘UsrName‘); TempCode:=Reg.ReadString(‘Passwd‘); //读取用户名,注册号 try FirstDate:=Reg.ReadDate(‘Date‘); //非第一次则读入第一次运行时间 except FirstDate:=NowDate; Reg.WriteDate(‘Date‘,NowDate); //若为第一次运行,则写入系统日期 end; end; Reg.CloseKey; finally Reg.Free; end; TempStr:=Encrypt(TempName); //通过自定义函数Encrypt()来获取密码 Same:=CompareText(TempStr,TempCode); //比较密码 if TempName<>‘‘ then if Same=0 then NoRegistry:=false; //验证密码,通过NoRegistry为false if NoRegistry then begin //若未注册... NumberOfDays:=Nowdate-FirstDate; SpareDays:=Round(10-NumberOfDays); ShowMessage(‘你已经剩下‘+FloatToStr(SpareDays)+‘天的使用时间了!请尽快注册!‘); if((NumberOfDays>10) or (NumberOfDays<-1)) then begin ShowMessage(‘程序未注册超过试用期或更改系统时间,将终止运行!‘); Application.Terminate;//超过10天,则禁止运行 end; end;end;function Tgcdzsys_grjs.Encrypt(TempStr:string):string;var Str1:String; i,j:Integer;begin Str1:=‘‘; for i:=1 to Length(TempStr) do begin //密码匹配方式 j:=(i*i*i*i mod (i+30))+(i*i mod (i+20))+i*3+1; Str1:=Str1+chr(ord(TempStr[i])+j); end; Result:=Str1;end;procedure Tgcdzsys_grjs.DBBhelphgrjsClick(Sender: TObject);var InptName,InptCode,RealCode:String; Same:Integer; Reg:Tregistry; Keyname:String;begin if NoRegistry then //未注册时做 begin RealCode:=‘‘; InptName:= InputBox(‘注册‘, ‘输入你的名字‘, ‘‘); if InptName<>‘‘ then begin InptCode:= InputBox(‘注册‘, ‘输入注册号‘, ‘‘); RealCode:=Encrypt(InptName); Same:=CompareText(RealCode,InptCode); if (Same<>0) then ShowMessage(‘注册号码不对,注册未成功!‘) else begin //密码匹配时做:把用户名、密码写入注册表 Try Reg:=Tregistry.Create ; //激发注册表 Reg.RootKey :=hkey_local_machine;//注册表路径 KeyName:=‘SoftwaregrjsExample‘;//创建新的注册文件 if Reg.OpenKey(KeyName,true) then begin Reg.WriteString(‘Passwd‘,InptCode); //注册密码 Reg.WriteString(‘UsrName‘,InptName);//注册用户名 end; Reg.CloseKey ; //关闭 finally Reg.Free; //释放注册表 end; NoRegistry:=false;//可修改注册后的界面 end; end; end;end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值