2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

俸俸伲购美病

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
大萌字.svg
萌娘百科欢迎您参与完善本条目☆Kira~
欢迎正在阅读这个条目的您协助编辑本条目。编辑前请阅读Wiki入门条目编辑规范,并查找相关资料。萌娘百科祝您在本站度过愉快的时光。
Fenfengnigoumeibing.jpg
基本资料
用语名称 俸俸伲购美病
用语出处 《英雄传说 空之轨迹SC》简体中文版玲的台词乱码
相关条目 这是何等的灵压啊老头滚动条踢牙老奶奶bug父马可亲

fèng购美病出自《英雄传说 空之轨迹SC》简体中文版中的翻译乱码。

简介

日本Falcom的RPG游戏《英雄传说 空之轨迹SC》在中国发行了简体中文版,代理商为北京娱乐通科技发展有限公司。

娱乐通的汉化版出现了许多翻译问题,包括翻译错误、翻译乱码。

其中,“歼灭天使”玲的一句台词“嘿嘿嘿,还好啦。”因为乱码而显示成了“俸俸伲 购美病”。

玲说这句话的时候,那一副笑呵呵的表情,配上这句错误台词令人捧腹大笑。这段台词属于主线剧情,正常游戏流程中必然能看到,显示出娱乐通对文本缺乏最基本的测试与质量控制,由此引发玩家强烈不满和吐槽。恰好台词最后一字为“病”,娱乐通的忽视游戏质量的态度便被讽刺为“俸俸伲购美病”发病,并由此“病”代指游戏汉化中出现的不该有的错误,表达对游戏汉化质量的不满。

错误代码技术分析

“嘿嘿嘿,还好啦。”显示为“俸俸伲�购美病”是由于该句的代码丢失了第一个字节“BA”。移码突变[1]

以下为两句话使用GBK编码(每个汉字对应两个字节)的对比。

  • 正常代码应为:
BA D9 BA D9 BA D9 A3 AC BB B9 BA C3 C0 B2 A1 A3
  • 开头的BA因为某种原因丢失后,就变成:
D9 BA D9 BA D9 A3 AC BB B9 BA C3 C0 B2 A1 A3

通过编程重现

执行本节代码须知
  • 若无特别说明,代码的执行环境是“简体中文 Windows 系统”。目前不保证在“非 Windows 系统”和/或“非简体中文语言环境”下的执行结果。
  • 若无特别说明,如果需要先将代码保存成文件再执行,文件编码是“简体中文GBK”(代码页为936)。
    • 某些编程语言允许在源代码文件的头几行以注释的形式指定文件的编码,比如 Python 和 Ruby。
      • Python举例: 如果文件编码为 utf-8,那么就在文件的第一行或第二行写上 "# coding: utf-8"。
      • Ruby举例:如果文件编码为 utf-8,那么就在文件的第一行或第二行写上 "# encoding: utf-8"。
      • 如果不指定,运行时有可能出现编码转换相关的错误。

Python 2.x

>>> seq = u'嘿嘿嘿,还好啦。'.encode('gbk')

>>> print seq[1:7].decode('gbk'), seq[9:].decode('gbk', errors='ignore')
俸俸伲 购美病

Python 3.x

>>> seq = '嘿嘿嘿,还好啦。'.encode('gbk')

>>> seq[1:7].decode('gbk'), seq[9:].decode('gbk', errors='ignore')
('俸俸伲', '购美病')

C

#include <stdio.h>
#include <string.h>

int main(){
    char str[20];
    memset(str,'\0',sizeof(str));
    strcpy(str,"嘿嘿嘿,还好啦。");
    int i;
    for(i=1;i<20;i++)putchar(str[i]);
    return 0;
}

/* 编译并执行该程序,输出如下内容:

俸俸伲购美病

*/
其他编程语言

AutoHotkey

  • 注:如果安装 AutoHotkey 时将默认解释器设置成了Unicode版,需使用ANSI版解释器(即:AutoHotkeyA32.exe)才能得到正确的输出。
s := "嘿嘿嘿,还好啦。"
s1 := SubStr(s, 2, 6)
s2 := SubStr(s, 10, 6)
MsgBox %s1% %s2%  ; 显示“俸俸伲 购美病”

Lua

s = "嘿嘿嘿,还好啦。"
print(s:sub(2,7), s:sub(10, -2))      -- 输出:“俸俸伲  购美病”

Node.js

  • 注:
    • 需要“iconv-lite”库。安装命令:npm install iconv-lite
    • 将以下代码保存成文件时,文件编码必须为“utf-8”。
let iconv = require('iconv-lite');
let buf = iconv.encode('嘿嘿嘿,还好啦。', 'gbk');
const f = function (a, b) { return iconv.decode(buf.slice(a,b), 'gbk'); };
console.log( f(1,7), f(9,-1) );  // 输出:“俸俸伲 购美病”

Ruby

  • 注:若要在Windows平台下使用“irb”程序运行以下代码,最好加上“-Eutf-8”参数(也就是执行“irb -Eutf-8”),否则可能出现“SyntaxError ((irb):1: invalid multibyte char (GBK))”错误。
s = "嘿嘿嘿,还好啦。".encode(Encoding::GBK).force_encoding(Encoding::ASCII_8BIT)
puts s[1..6].force_encoding(Encoding::GBK), s[9..-2].force_encoding(Encoding::GBK)
# 输出:
# 俸俸伲
# 购美病

Vimscript

  • 将以下代码保存成文件时,文件编码必须与 Vim 的 "encoding" 选项的值一致。
let s = iconv('嘿嘿嘿,还好啦。', &enc, 'cp936')
echo iconv(s[1:6], 'cp936', &enc) iconv(s[9:-2], 'cp936', &enc)
" 输出:“俸俸伲 购美病”

其他

而其他具有代表性的翻译错误还有“星之在处”(原文为星の在り処,这很明显犯了君日本语本当上手类错误,也可能是直接没做翻译)、“先不说我美丽的羽毛”、“游戏士”(原文为遊撃士,这对文字做简化也能看出是游击士,可能系笔误)等,有玩家甚至将这些汉化错误编成了歌谣传唱。

娱乐通于2007年9月到2008年2月间先后发布的3版修正补丁,已经修正了游戏中的基本所有汉化错误。

后继

同系列的《英雄传说 闪之轨迹III》繁体中文版再次出现严重的翻译质量问题。日语“山津波”被翻译为“山里的海啸”。

这次翻译严重错误的锅不归娱乐通和之后代理国行零碧轨的欢乐百世,因为繁体中文版的翻译是另一家公司在做

山里的海啸

讽刺的是,患有俸俸伲购美病的前辈,《英雄传说 空之轨迹SC》简体中文版在翻译过程中也遇到了这个词语,并且前辈正确地将“山津波”翻译成了“山崩”。

于是此处可以表明,娱乐通在翻译信达雅上的问题不大,其问题更体现在缺乏测试、校对和版本控制上。将游戏所有补丁打全后,不难看出娱乐通在翻译上的水平其实十分优秀。

外部链接

  1. 碱基对增添、缺失非整3倍个(一个密码子的碱基对数)会导致后面的密码子都改变。