## 数据来源
<https://store.steampowered.com/appreviews/2358720?json=1&language=japanese> 这个非官方的 API 虽然能用,但抓的评论不全,只获取了 Steam [商品界面](https://store.steampowered.com/app/2358720/_/?l=japanese)显示的评论。
要想获取所有评价,得点商品详情页面评论区最下方的「查看更多评价」按钮,跳转到社区页面,比如:<https://steamcommunity.com/app/2358720/reviews/?browsefilter=toprated&filterLanguage=japanese> ,但这个页面没有非官方的 API,只能手动爬取了。
可以复制下面的代码,打开浏览器控制台,然后粘贴回车。
提醒:尽量把浏览器本身的界面控制在类似手机的宽度,不然下面的代码获取不到任何内容。
另外,爬取完成控制台会有提示,而且也会自动下载,提示「已加载评测卡片数量:」时等着就好。
```JS
(async () => {
console.log("🚀 自动化滚动抓取脚本已启动,请保持标签页活跃...");
// 配置项
const MAX_REVIEWS = 8000; // 预期抓取的最大评论数(可自行修改)
console.log(`最大抓取评论数:${MAX_REVIEWS}`);
const SCROLL_DELAY = 1500; // 每次滚动后等待加载的延迟时间(毫秒),网速慢可以改大
let lastHeight = document.body.scrollHeight;
let noChangeCount = 0;
let totalFetched = 0;
// 辅助函数:延迟
const delay = ms => new Promise(res => setTimeout(res, ms));
// 1. 自动化滚动循环
while (totalFetched < MAX_REVIEWS && noChangeCount < 10) {
// 滚动到页面底部
window.scrollTo(0, document.body.scrollHeight);
await delay(SCROLL_DELAY);
// 计算当前已经加载了多少个卡片
const currentCards = document.querySelectorAll('.apphub_Card, .review_box, [id^="ReviewContent"]');
totalFetched = currentCards.length;
console.log(`⏳ 已加载评测卡片数量: ${totalFetched}...`);
// 检查滚动条高度是否有变化,如果连续多次没变化,说明到头了
let newHeight = document.body.scrollHeight;
if (newHeight === lastHeight) {
noChangeCount++;
} else {
noChangeCount = 0;
lastHeight = newHeight;
}
// 顺便触发一下 Steam 的“加载更多”按钮(如果有的话)
const loadMoreBtn = document.querySelector('#expanded_reviews_more_ Michael, .shared_DialogButton, .auth_button');
if (loadMoreBtn && loadMoreBtn.offsetHeight > 0) {
loadMoreBtn.click();
await delay(1000);
}
}
console.log("🏁 滚动结束,开始解析 DOM 数据...");
// 2. 开始抓取与清洗数据
const finalCards = document.querySelectorAll('.apphub_Card, .review_box, [id^="ReviewContent"]');
const data = [];
finalCards.forEach((card, index) => {
// 提取游玩时长
let hours = 0;
const cardText = card.textContent || "";
const hoursMatch = cardText.match(/(?:总时数\s*)?([0-9.]+)\s*(?:小时|hrs|時間)/i);
if (hoursMatch && hoursMatch[1]) {
hours = parseFloat(hoursMatch[1]);
}
// 提取评论文本
const contentElem = card.querySelector('.content, .apphub_CardTextContent');
let reviewText = contentElem ? contentElem.textContent.trim() : cardText.replace(/[\r\n]+/g, ' ').trim();
reviewText = reviewText.replace(/\s+/g, ' ');
if (!reviewText || hours === 0) return;
// 日本和中国用户对本地化评价的敏感词库
const mentionsTranslation = /翻訳|日本語訳|ローカライズ|誤字|脱字|テキスト|乱文|日本語訳が|機械翻訳|翻译|汉化|本地化/i.test(reviewText);
data.push({
id: index + 1,
hours_played: hours,
review_text: reviewText,
mentions_translation: mentionsTranslation
});
});
console.log(`\x1b[32m✔ 自动化抓取完成!共收集到 ${data.length} 条有效评论。\x1b[0m`);
// 3. 自动触发下载 JSON 文件
const blob = new Blob([JSON.stringify(data, null, 2)], { type: 'application/json' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = `steam_reviews_auto_${data.length}.json`;
a.click();
URL.revokeObjectURL(url);
})();
```
## 2P Games:独立游戏不是做不好本地化的理由
写这篇博客的起因其实是为了测试 [[LunaTranslator]],入手了当时正好在风口浪尖的《哀鸿:城破十日记》和[[《饿殍:明末千里行》]]。
然后又碰巧在[[圈圈的翻译社区]] 看到负责这两个游戏海外发行的团队「[2P Games](https://2pgames.net/)」的[播客](https://b23.tv/7PQljg8),提到「苏丹的游戏说是一个语种花了200万」,所以专门花时间比较了中日文翻译,进而想分析下 Steam 日本区的评价。
注:本人大学是日语专业,英语基本还给高中老师了,所以暂时只分析日语。
[饿殍:明末千里行 日语评论区](https://steamcommunity.com/app/2593370/reviews/?browsefilter=toprated&filterLanguage=japanese)
总评价数:279
提及本地化的评价数:59
提及率: 21.15%
[《哀鸿:城破十日记》 日语评论区](https://steamcommunity.com/app/3220060/reviews/?browsefilter=toprated&filterLanguage=japanese)
总评价数:26(注:该游戏 2026 年 4 月初上线)
提及本地化的评价数:16
提及率: 61.53%
[苏丹的游戏 日语评论区](https://steamcommunity.com/app/3117820/reviews/?browsefilter=toprated&filterLanguage=japanese)
总评价数:247
提及本地化的评价数:71
提及率:28.74 %
总结:除极个别评价外,几乎没有表扬的,但也没有骂的,更多的就是「就事论事」地「批评」:你们的本地化不是不能读,但机翻味太重了,而且有不少都是错别字和漏译等低级错误——这就不是能力问题,而是态度问题了,我大三笔译课上有同学被老师这么批评,差点哭出来……
另外,由于时间关系,我没有分析完[他们负责发行的所有游戏](https://store.steampowered.com/publisher/2pgames?l=japanese&flavor=all_released),有兴趣的同学可以研究研究。但分析了上面三个,再结合我的实际游玩体验,我只想说:
嵇零哥哥,要不咱加点钱换家公司吧,不然他们可能真的会毁了《龙族:最后的旅行》(日语版)啊😭。注:关于这个游戏,请参考制作人的这篇文章 [[《龙族:最后的旅行》制作杂谈一:十年后,复活我的白月光]] [原文链接](https://zhuanlan.zhihu.com/p/1939302763428287354)
诶……我也真心希望 2P Games 团队到时候能用优秀的日语译文打肿我的脸,求你们了,支棱一次吧!😭
你们要是找不到译员,就让我来吧,我校对过一位日语母语者翻译的龙族三日语版,还算熟悉背景,应该不会干成上面那样。关于我的校对,可参考:[[《龙族三·黑月之潮》的中日双语对照版:最适合中国二次元的日语泛读入门材料]]。
## 国产游戏本地化:路漫漫其修远兮,愿(制作人和译员)上下而求索
我其实不怎么玩游戏,所以就先只分析《空洞骑士:丝之歌》(我知道这个不是国产游戏)和[[黑神话]]了。
### 《空洞骑士:丝之歌》
[空洞骑士:丝之歌 简体中文评论区](https://steamcommunity.com/app/1030300/reviews/?browsefilter=toprated&filterLanguage=schinese#scrollTop=371206000)
总评价数:2000 (注: Steam 上显示的简体中文总评论近 10 万,我懒得全抓,只看了前 2000 条)
提及本地化的评价数:465
提及率: 23.25 %
唉!唉!唉!「前事不忘,后事之师」,希望国产游戏制作人引以为戒吧。
只看提及率, 2P Games 和《空洞骑士:丝之歌》的第一版翻译得坐一桌,所以还没被骂上热搜还真是有点奇怪,可能还是日本区用户太苛刻了吧……
### 《黑神话:悟空》
[黑神话:悟空 日语评论区](https://steamcommunity.com/app/2358720/reviews/?browsefilter=toprated&filterLanguage=japanese)
总评价数:647
提及本地化的评价数:36
提及率: 5.56%
几乎都是好评,但大多数评价与其说是夸赞,倒不如说是「原来中国游戏也能做好本地化呀」,结合上面对 2P Games 的分析,我倒是能理解为什么日本网友会有这样的想法了。
只有一个评价提到了翻译错误,但也表示能做到这样已经很不错了。另外,有好几个评价都提到 2024 年 8 月正式发售时「影神图」还有部分没翻译完,但也都表示了理解,这说明玩家是尊重「好翻译」的,没有必要为了赶工而用机翻。
如果对黑神话的日语本地化有兴趣,可以查看这两篇相关文章:[[借《黑神话》给老外恶补中文?幕后团队:该他们接受我们的文化了]] [原文链接](https://mp.weixin.qq.com/s?__biz=MjM5OTc2ODUxMw==&mid=2649944535&idx=1&sn=6cd55bafd36122359e674885d027ebcd&sharer_shareinfo=57eadbfda7475d425792e67430ced152&sharer_shareinfo_first=57eadbfda7475d425792e67430ced152#rd) 和 [[知乎讨论:《黑神话:悟空》在游戏出海的过程中,各语言的翻译文本都有什么有趣的细节?]] [原文链接](https://www.zhihu.com/question/665455651/answer/3607941715)。
另外,如果有兴趣欣赏译文,可以看看[黑神话音频文件与台词对话文本速查表—全网首发模组制作工具【黑神话悟空解包】](https://www.bilibili.com/video/BV1iqtCeyEyF/)分享的[台词文本音频对照表](https://pan.baidu.com/s/1q-PCAeCPPcptSNhd78_D0A?pwd=5555),我个人读完的最大感受就是:日语版的译者真的尽力了,希望黑猴的日语本地化能给其他国产游戏带个好头。
## 国外游戏本地化
[赛博朋克 2077 日语评论区](https://steamcommunity.com/app/1091500/reviews/?browsefilter=toprated&filterLanguage=japanese)
总评价数:970
提及本地化的评价数:51
提及率:5.26%
总体感觉:除了表扬优秀的翻译质量,还感谢尊重原作近乎「出口成章」的口语风格。
由于我只玩过这个,所以就只看了这个的评论区。
## 《文字游戏》:国产游戏本地化的「奇迹」
总评价数:68
提及本地化的评价数:29
提及率:42 %
虽然媒体报道[[一个“不可能被翻译”的中文游戏,做出了被赞为“奇迹”的外语版]] [原文链接](https://zhuanlan.zhihu.com/p/1963620752851969308) 对这个的评价很高,但总评价数和上面的没法比,可能是因为这个题材太过小众了(我其实已经买来吃灰好久了,但一直没启动 233),不过好在提及率不错,而且大家都在表扬本地化。
## 《女性交流》:日本游戏本地化的「奇葩」
[女性交流 中文评论区](https://steamcommunity.com/app/2095090/reviews/?browsefilter=toprated&filterLanguage=schinese)
总评价数:174
提及本地化的评价数:90(注:基于关键字「汉化」统计)
提及率:51.72%
就算只看提及率,这也是游戏本地化难以逾越的高峰,而且更重要的是,即使提及率如此高,评论区还是清一色的好评。
~~也不排除是因为聊绅士话题,评论区才这么和谐。~~
除了题材和玩法本身让玩家非常关注译文质量,可能也是因为译者投入了大量心血,甚至还专门开发了一个工具,详情可参考这篇[[如何用暴力计算翻译谐音梗——游戏《女性交流》翻译笔记]] [原文链接](https://zhuanlan.zhihu.com/p/1957143907134603895)。
不知道两位译员老师看到对方负责的游戏会不会会心一笑:这两个游戏的核心玩法都是字面意义上的「文字游戏」,而且评论区的数据也很接近,从某种程度上来说,两位老师也算是双向奔赴了。
## 我们的功绩无人知晓,我们的失败众所周知:Our failures are known. Our successes are not.
虽然只是随手分析了几个游戏,但也能大概看出:相比于游戏玩法、机制、画面,本地化一般只有做得非常好,或者非常烂才会引起玩家的反馈。
《黑神话:悟空》 和《赛博朋克:2077》的本地化都是我知道的非常成功的本地化案例,但也只有 5% 的评论提及了本地化……
## LGA:Localization Game Awards | 游戏本地化大奖
为了确保我们心爱的游戏都能有优秀的本地化,我们能做的事情……~~就是成为偶像,啊,搞错了,~~是设立「游戏本地化大奖」( Localization Game Awards, 简称 LGA) !
相比于让游戏玩家主动投票,或者让相关从业人员互相投票捧臭脚,还是直接基于游戏商店评论区的真实数据更公平,~~也更有节目效果~~:
最佳影响力奖:获得最多「条」本地化相关「正」面评价的游戏
最烂影响力奖:获得最多「条」本地化相关「负」面评价的游戏
注:考虑到只统计条数,独立游戏可能比较吃亏,可以单独设立赛道。另外,公布获奖游戏时一定要公布评价条数和提及率~~看热闹不嫌事大😅~~。
最佳质量奖和最烂质量奖:结合文本情感分析工具,给所有本地化相关评价打分,然后计算单个游戏总分,得分最高的游戏就是「最佳质量奖」,反之,「最烂质量奖」。
为了增加公信力~~节目效果~~,不建议采用 5 分制,而是 ± 5 分,即负面评价是 -1 ,正面评价 +1 分,用算法按评价力度赋 1-5 分。
另外,为了凸显本地化的重要性,公布最终结果时可以备注「+ ( 0 × 不涉及的本地化的评价数)」。
既然是颁奖,当然得邀请上述获奖游戏的本地化负责人发表获奖感言了(奸笑)。
所有获奖人除了发表演讲,还可以提名一个具体案例作为最佳本地化案例奖交给评委会,评委会公布所有获奖人提名的案例和提名理由后,由玩家投票决定谁是最佳本地化案例奖。这个奖项主要是为了促进行业交流发展,所以不要求获奖人从自己负责过的游戏挑选,也不必局限于单纯的翻译,重点在于「分享案例」。
考虑到获奖者的人身安全,就不要求他们提名最烂本地化案例奖了。~~当然如果他们主动分享,那也不是不能考虑~~
最后,我并非游戏行业的从业者,也不是从事游戏本地化的译员,就是个臭打游戏的~~单纯想看乐子~~,真颁奖了记得发我直播链接,我一定认真学习🫡!