VNDBTranslatorLib_

VNDB优先原文和中文化的库

当前为 2022-06-04 提交的版本,查看 最新版本

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/445990/1057567/VNDBTranslatorLib_.js

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

/**-------------------------------数据部分[700行]-------------------------------------*/
/*通用主map,作用在全局*/
let mainMap = {
    /**左侧栏[常驻]*/
    /*菜单*/
    "Support VNDB": "赞助 VNDB",
    "Patreon": "Patreon",
    "SubscribeStar": "SubscribeStar",
    "Menu": "菜单",
    "Home": "首页",
    "Visual novels": "视觉小说",
    "Tags": "标签",
    "Releases": "版本",
    "Producers": "制作人",
    "Staff": "工作人员",
    "Characters": "人物",
    "Traits": "特征",
    "Users": "用户",
    "Recent changes": "最近更改",
    "Discussion board": "讨论区",
    "FAQ": "常见问题",
    "Random visual novel": "随机视觉小说",
    "Dumps": "转储",
    "API": "API",
    "Query": "查询",
    "Search": "搜索",
    "search": "搜索",
    /*我的*/
    "My Profile": "我的个人资料",
    "My Visual Novel List": "我的视觉小说列表",
    "My Votes": "我的评分",
    "My Wishlist": "我的愿望单",
    "My Notifications": "我的通知",
    "My Recent Changes": "我的最近更改",
    "My Tags": "我的标签",
    "Image Flagging": "图片标记",
    "Add Visual Novel": "添加视觉小说",
    "Add Producer": "添加制作人",
    "Add Staff": "添加工作人员",
    "Logout": "退出登录",
    /*未登陆状态*/
    "User menu": "用户菜单",
    "Login": "登录",
    "Password reset": "重置密码",
    "Register": "注册",

    /*数据库统计*/
    "Database Statistics": "数据库统计",
    "Visual Novels": "视觉小说",

    /** 标题和,底部[常驻] */
    "the visual novel database": "视觉小说数据库",
    "about us": "关于我们",

    /** 额外map提升*/
    /*个人页相关*/
    "Arabic": "阿拉伯语",
    "Bulgarian": "保加利亚语",
    "Catalan": "加泰罗尼亚语",
    "Chinese": "中文",
    "Chinese (simplified)": "中文(简体)",
    "Chinese (traditional)": "中文(繁体)",
    "Croatian": "克罗地亚语",
    "Czech": "捷克语",
    "Danish": "丹麦语",
    "Dutch": "荷兰语",
    "English": "英语",
    "Esperanto": "世界语",
    "Finnish": "芬兰语",
    "French": "法语",
    "German": "德语",
    "Greek": "希腊语",
    "Hebrew": "希伯来语",
    "Hindi": "印地语",
    "Hungarian": "匈牙利语",
    "Indonesian": "印尼语",
    "Irish": "爱尔兰语",
    "Italian": "意大利语",
    "Japanese": "日语",
    "Korean": "韩语",
    "Latin": "拉丁语",
    "Latvian": "拉脱维亚语",
    "Lithuanian": "立陶宛语",
    "Macedonian": "马其顿语",
    "Malay": "马来语",
    "Norwegian": "挪威语",
    "Persian": "波斯语",
    "Polish": "波兰语",
    "Portuguese (Brazil)": "葡萄牙语(巴西)",
    "Portuguese (Portugal)": "葡萄牙语(葡萄牙)",
    "Romanian": "罗马尼亚语",
    "Russian": "俄语",
    "Scottish Gaelic": "苏格兰盖尔语",
    "Slovak": "斯洛伐克语",
    "Slovene": "斯洛文尼亚语",
    "Spanish": "西班牙语",
    "Swedish": "瑞典语",
    "Tagalog": "塔加洛语",
    "Thai": "泰语",
    "Turkish": "土耳其语",
    "Ukrainian": "乌克兰语",
    "Urdu": "乌尔都语",
    "Vietnamese": "越南语",

    /*评分说明*/
    "masterpiece": "杰作|超神作",
    "excellent": "极好|神作",
    "so-so": "一般般|不过不失",
    "very good": "很好|力荐",
    "good": "好|推荐",
    "decent": "不错|还行",
    "weak": "不太行|较差",
    "bad": "糟糕|差",
    "awful": "很坏|很差",
    "worst ever": "最差|不忍直视",

    "Vote stats": "评分统计",
    "Recent votes": "最近评分",
    "show all": "显示全部",

    "Report an issue on this page.": "在此页面上报告问题。",

};
/**
 * 用以替换title的值,若mainMap有则会自动替换,不需要再重复在这写一遍
 * @type {{Object}}
 */
let titleMap={

};

/** 特殊全局map,用以替换变动的文本节点[正则],
 * value出现的%%$1%%为需要继续翻译值
 * vlaue出现的%%@@$1@@%%将$1转小写,然后继续翻译值
 * */
let specialMap = {
    /*转小写再匹配map,范围太广不使用*/
    // "^([a-zA-Z -]+)$":"%%@@$1@@%%",
    /** 游戏详情页,评分统计 /v\d+ */
    "^(\\d+) vote[s]? total, average ([\\d.]+) \\(([a-zA-Z -]+)\\)$": "总共$1票, 平均分$2 (%%$3%%)",
    /** 讨论  */
    "^discussions \\((\\d+)\\)$": "讨论 ($1)",
};


/*额外map,作用在指定页面*/
let otherPageRules = [
    {
        /*作用页说明*/
        name: '个人页相关',
        /*正则表达式*/
        regular: /\/u\d+/i,
        /*mainMap k->v*/
        map: {
            /** 用户页顶栏   /ID */
            "edit": "编辑",
            "list": "列表",
            "votes": "评分",
            "wishlist": "愿望单",
            "reviews": "评论",
            "posts": "帖子",
            "history": "历史",
            /** 个人资料页   /ID */
            "Username": "用户名",
            "Registered": "注册日期",
            "Edits": "编辑",
            "Votes": "评分",
            "Browse votes »": "浏览评分 »",
            "Play times": "游戏时间",
            "List stats": "列表统计",
            "Browse list »": "浏览列表 »",
            "Reviews": "评论",
            "Browse reviews »": "浏览评论 »",
            "Browse tags »":"浏览标签 »",
            "Images": "图片",
            "Browse image votes »": "浏览图片投票 »",
            "Forum stats": "论坛统计",
            "Browse posts »": "浏览帖子 »",
            "Vote statistics": "评分统计",
            // "Vote stats": "评分统计",
            // "Recent votes": "最近评分",
            // "show all": "显示全部",
            /** 编辑页 /ID/edit */
            "My Account": "我的账号",
            "Account settings": "账号设置",
            "change": "修改",
            "E-Mail": "电子邮箱",
            "Change password": "更改密码",
            "Preferences": "偏好",
            "NSFW": "NSFW",
            "Hide sexually suggestive or explicit images": "隐藏性暗示或色情图片",
            "Hide all images": "隐藏所有图片",
            "Hide only sexually explicit images": "只隐藏色情图片",
            "Don't hide suggestive or explicit images": "不隐藏性暗示或色情图片",
            "Hide violent or brutal images": "隐藏暴力或残暴图片",
            "Hide only brutal images": "只隐藏残暴的图片",
            "Don't hide violent or brutal images": "不隐藏暴力或残暴的图片",
            "Show sexual traits by default on character pages": "默认情况下在人物页面上显示性特征",
            "Title language": "标题语言",
            "Add language": "添加语言",
            "Original language": "原始语言",
            "romanized": "罗马化",
            "Alternative title": "副标题",
            "The alternative title is displayed below the main title and as tooltip for links.": "副标题显示在主标题下方,并作为链接的提示",
            /*语言相关已提升至主map*/
            "remove": "移除",
            "Show all tags by default on visual novel pages (don't summarize)": "在视觉小说页面上默认显示所有标签(不汇总)",
            "Default tag categories on visual novel pages:": "视觉小说页面上默认显示的标签类别:",
            "Content": "内容",
            "Sexual content": "色情内容",
            "Technical": "技术相关",
            "Spoiler level": "剧透级别",
            "Hide spoilers": "隐藏剧透",
            "Show only minor spoilers": "仅显示轻微剧透",
            "Show all spoilers": "显示所有剧透",
            "Skin": "皮肤",
            "AIR (sky blue)": "AIR(天蓝)",
            "Angelic Serenade (dark blue)": "エンジェリックセレナーデ 天使小夜曲(深蓝色)",
            "EIeL (peach-orange)": "電脳妖精エルファン (桃橙色)",
            "Eien no Aselia (falu red)": "永遠のアセリア 永远的艾塞莉娅 (法鲁红)",
            "Ever17 (bondi blue)": "ever17 (邦迪蓝)",
            "Fate/stay night (pale carmine)": "fate/stay night (淡胭脂红)",
            "Fate/stay night (seal brown)": "fate/stay night (海豹棕)",
            "Gekkou no Carnevale (black)": "月光のカルネヴァーレ 月光嘉年华(黑色)",
            "Higanbana no Saku Yoru ni (maroon)": "彼岸花の咲く夜に 彼岸花盛开之夜 (栗色)",
            "Higurashi no Naku Koro ni (orange)": "ひぐらしのなく頃に 寒蝉鸣泣之时 (橙色)",
            "Little Busters! (lemon chiffon)": "リトルバスターズ! little busters! (柠檬雪纺)",
            "Little Busters! (pink)": "リトルバスターズ! little busters! (粉色)",
            "Neon (black)": "荧光 (黑色)",
            "Primitive Link (pale chestnut)": "プリミティブ リンク primitive link (淡栗子)",
            "Saya no Uta (dark scarlet)": "沙耶の唄 沙耶之歌 (深红)",
            "Seinarukana (white)": "聖なるかな -The Spirit of Eternity Sword 2- (白色)",
            "Sora no Iro, Mizu no Iro (turquoise)": "そらのいろ、みずのいろ 空之色,水之色 (绿松石)",
            "Teal (teal)": "青色 (青色)",
            "Touhou (grey)": "东方 (灰色)",
            "Tsukihime (black)": "月姫 (黑色)",
            "Tsukihime (midnight blue)": "月姫 (午夜蓝)",
            "Custom CSS": "自定义CSS",
            "Public profile": "公开资料",
            "You can add": "您可以添加",
            "character traits": "性格特征",
            "to your account. These will be displayed on your public profile.": "到您的帐户。这些资料会公开显示。",
            "No results": "无结果",
            "Add trait...": "添加特征...",
            "Submit": "提交",
            /*在选择后出现的新文本:*/
            "Only if original title": "仅当是原始标题时",
            "Only if official title": "仅当是官方标题时",
            "Include non-official titles": "也包括非官方标题",
            "New username": "新用户名",
            "You may only change your username once a day. Your old username(s) will be displayed on your profile for a month after the change.": "您每天只能更改一次用户名。更改用户名后,旧用户名会在个人资料中显示一个月。",
            "Old password": "旧密码",
            "New password": "新密码",
            "Repeat": "重复新密码",

            /** 列表页 /ID/ulist?vnlist=1 */
            "My list": "我的列表",
            "ALL": "显示全部",
            "Voted": "已评分",
            "No label": "无标签",
            "Multi-select": "多选",
            "Update filters": "更新过滤器",
            /*标签管理*/
            "Manage labels": "标签管理",
            "How to use labels": "如何使用标签",
            "You can assign multiple labels to a visual novel": "您可以为视觉小说分配多个标签",
            "You can create custom labels or just use the built-in labels": "您可以创建自定义标签或仅使用内置标签",
            "Private labels will not be visible to other users": "其他用户看不见私有标签",
            "Your vote and notes will be public when at least one non-private label has been assigned to the visual novel": "当视觉小说分配了至少一个非私有标签时,您的评分和笔记将是公开状态",
            "VNs": "VN数量",
            "Label": "标签",
            "Private": "私有性",
            "New label": "新建标签 ",
            "Save changes": "保存更改",
            "private": "私有",
            "built-in": "内置的",
            "applied when you vote": "当你评分时更新",
            /*保存为默认值*/
            "Save as default": "保存为默认值",
            "This will change the default label selection, visible columns and table sorting options for the selected page to the currently applied settings.": "这将把所选页面的默认标签选择、可见列和排序方式更改为当前的设置。",
            "The saved view will also apply to users visiting your lists.": "保存的视图也会应用于访问您列表的用户。",
            "(If you just changed the label filters, make sure to hit \"Update filters\" before saving)": "(如果您刚刚更改了标签过滤器,请在保存默认设置之前点击\"更新过滤器\")",
            "Save": "保存",
            /*导出*/
            "Export": "导出",
            "Export your list": "导出您的列表",
            "This function will export all visual novels and releases in your list, even those marked as private (there is currently no import function, more export options may be added later).": "此功能将导出您列表中的所有视觉小说和发行版本,包括标签为私有的(目前没有导入功能,以后可能会添加更多导出选项)",
            "Download XML export.": "下载XML导出.",
            /*显示选项*/
            "display options": "显示选项",
            "Order by": "排序方式",
            "Results": "显示数量",
            "Update": "更新",
            "Visible": "可见",
            "columns": "列",
            /*排序标记*/
            "Title": "标题",
            "Vote date": "评分时间",
            "Vote": "评分",
            "Rating": "评价",
            "Labels": "标签",
            "Added": "添加时间",
            "Modified": "修改时间",
            "Start date": "开始日期",
            "Finish date": "完成日期",
            "Release date": "发布日期",
            /*标签状态*/
            "Playing": "在玩",
            "Finished": "玩过",
            "Stalled": "搁置",
            "Dropped": "抛弃",
            "Wishlist": "愿望单",
            "Blacklist": "黑名单",


            /*Opt*/
            "Opt": "选择",
            'Notes': '笔记',
            'Remove VN': '删除 VN',
            '-- add release --': '--添加版本--',
            'Add release': '添加版本',
            /*版本,状态*/
            "Obtained": "已得到",
            "Unknown": "未知",
            "Pending": "待定",
            "On loan": "外借",
            "Deleted": "已删除",
            /*翻页按钮*/
            "next ›": "下一页 ›",
            "last »": "尾页 »",
            "« first":"« 首页",
            "‹ previous":"‹ 上一页",
            /*其他动态信息*/
            "Loading releases...":"正在加载版本...",
            "Keep label": "保留标签",
            "Delete label but keep VNs in my list": "删除标签,但保留VN在我的列表中",
            "Delete label and VNs with only this label": "删除标签,也删除只有这个标签的所有VN",
            "Delete label and all VNs with this label": "删除标签,也删除带有这个标签的所有VN",
            "WARNING: ":"警告: ",
            "Your vote is still public if you assign a non-private label to the visual novel.":"如果你给视觉小说指定了非私有标签,你的评分仍然是公开的。",
            /** 评论*/
            "You have not submitted any reviews yet.": "您还没有提交任何评论。",
            /** 帖子*/
            "My posts": "我的帖子",
            "You have not posted anything on the forums yet.": "您还没有在论坛上发布任何内容。",
            /** 历史*/
            "Docs": "文档",
            "All": "全部",
            "Only changes to existing items": "仅更改的项目",
            "Only newly created items": "仅新创建的项目",
            "Only public items": "仅限公共项目",
            "Only deleted": "仅删除",
            "Only unapproved": "仅未批准",
            "Rev.": "修订版.",
            "Date": "日期",
            "User": "用户",
            "Page": "页面",
            /** 我的通知 /notifies*/
            "My notifications": "我的通知",
            "Unread notifications": "未读通知",
            "All notifications": "所有通知",
            "No notifications!": "没有通知!",
            "Settings": "设置",
            "Notify me about edits of database entries I contributed to.": "通知关于我参与的数据库条目的编辑。",
            "Notify me about replies to threads I posted in.": "通知关于我发布的主题的回复。",
            "Notify me about comments to my reviews.": "通知关于我的评论的评论。",
            "Notify me about site announcements.": "通知有关站点公告的信息。",
        },
        titleMap:{
            "This item is public": "此项是公开的",
        },
        specialMap: {
            /** 个人资料页   /ID */
            "^(.+)'s profile$": "$1 的个人资料",
            "^(\\d+)h$": "$1小时",
            "^(\\d+)m$": "$1分钟",
            "^from (\\d+) submitted play times.$": ",来自$1个游戏.",
            "^(\\d+) release[s]? of (\\d+) visual novels.$": "$1个版本,$2部视觉小说.",
            "^(\\d+) review[s]?.":"$1个评论.",
            "^(\\d+) vote[s]? on (\\d+) distinct tag[s]? and (\\d+) visual novel[s]?.":"在$2个不同标签和$3部视觉小说上投了$1票。",
            "^(\\d+) images flagged.$": "标记了$1个图片.",
            "^(\\d+) post[s]?, (\\d+) new thread[s]?.": "$1个帖子, $2个新主题.",
            /*评分统计*/
            "^(\\d+) votes, ([\\d.]+) average.$": "$1个评分, 平均$2分.",
            "^(\\d+) votes total, average ([\\d.]+)$": "$1个评分, 平均$2分",
            /*他人主页*/
            "^(\\d+)h from (\\d+) submitted play times.$": "$1小时,来自$1个游戏.",
            /** 列表页 /ID/ulist?vnlist=1 */
            /*排序头*/
            "^([a-zA-Z ]+) ▴$":"%%$1%% ▴",
            /*评分说明(下拉列表,选择分数时)*/
            "^(\\d+) \\(([a-zA-Z -]+)\\)$": "$1 (%%$2%%)",
            /** 评论*/
            "^Reviews by (.+)$": "$1的评论",
            /** 历史*/
            "^Edit history of (.+)$": "$1的编辑历史",
        },
    },
    {
        name: '登录|注册|重置密码',
        regular: /\/u\/(login|newpass|register)/i,
        map: {
            /*登陆页*/
            "Username": "用户名",
            "No account yet?": "还没有账号?",
            "Password": "密码",
            "Forgot your password?": "忘记密码?",
            "Submit": "提交",
            /*重置密码*/
            "E-Mail": "电子邮箱",
            "Forgot Password": "忘记密码",
            "Forgot your password and can't login to VNDB anymore?": "忘记密码,登录不了VNDB?",
            "Don't worry! Just give us the email address you used to register on VNDB": "别担心!只需提供您在VNDB上注册时的电子邮箱地址",
            "and we'll send you instructions to set a new password within a few minutes!": "我们将在几分钟内向您发送设置新密码的说明!",
            /*注册账号*/
            "Create an account": "创建账号",
            "Preferred username. Must be between 2 and 15 characters long and consist entirely of alphanumeric characters or a dash.": "首选用户名。长度必须在2到15个字符之间,由字母数字或-组成。",
            "Names that look like database identifiers (i.e. a single letter followed by several numbers) are also disallowed.": "看起来像数据库标识符的名称(即一个字母后跟几个数字)也不允许使用。",
            "A valid address is required in order to activate and use your account.": "需要有效地址才能激活和使用您的帐户。",
            "Other than that, your address is only used in case you lose your password,": "除此之外,您的地址仅在您丢失密码的情况下使用,",
            "we will never send spam or newsletters unless you explicitly ask us for it or we get hacked.": "我们永远不会发送垃圾信息或时事通讯,除非您明确要求我们这样做,要不就是我们被黑客攻击了。",
            "Anti-bot question: How many visual novels do we have in the database? (Hint: look to your left)": "反机器人问题:数据库中有多少视觉小说?(提示:向左看)",
            "Answer": "回答",
        },
        titleMap:{
        },
        specialMap: {

        },
    },
    {
        name:'首页右侧主板',
        regular:/^\/$/i,
        map:{
            "The Visual Novel Database": "视觉小说数据库",
            "VNDB.org strives to be a comprehensive database for information about visual novels.": "VNDB.org致力于成为一个全面的视觉小说信息数据库。",
            "This website is built as a wiki, meaning that anyone can freely add\n                  and contribute information to the database, allowing us to create the\n                  largest, most accurate and most up-to-date visual novel database on the web.": "这个网站是作为一个维基建立的,这意味着任何人都可以自由地向数据库添加和贡献信息,这让我们能够创建网络上最大、最准确和最新的视觉小说数据库。",
            "Recent Changes": "最近更改",
            "Announcements": "公告",
            "VNDB": "VNDB",
            "DB Discussions": "数据库讨论",
            "Forums": "论坛",
            "VN Discussions": "VN讨论",
            "Latest Reviews": "最新评论",
            "Upcoming Releases": "即将发布的版本",
            "Just Released": "刚刚发布的版本",
        },
        titleMap:{
        },
        specialMap:{

        },
    },
    {
        name:'讨论板|讨论区',
        regular:/^\/t\/.+/i,
        map:{
            /** 自己的讨论*/
            "Index": "主页",
            "All boards": "全部板块",
            "VNDB discussions": "VNDB 讨论",
            "General discussions": "一般讨论",
            "Start a new thread": "创建一个新帖子",
            "An empty board": "空的板块",
            "Nobody's started a discussion on this board yet. Why not": "还没有人在这块板上开始讨论。为什么不",
            "create a new thread": "创建一个新帖子",
            "yourself?": ",由你自己?",
            /** 全部讨论*/
            "Search!": "搜索!",
            "Topic": "主题",
            "Replies": "回复",
            "Starter": "发表人",
            "Last post": "最近回复",
            "Discussion board index":"讨论区主页",
            /* 主题标题标签*/
            "[poll]":"[投票]",
            /** 创建一个新帖子*/
            "Create new thread": "创建新帖子",
            "Thread title": "帖子标题",
            "Boards": "板块",
            "You can link this thread to multiple boards. Every visual novel, producer and user in the database has its own board,": "你可以将这个帖子链接到多个版块。数据库中的每个视觉小说、制片人和用户都有自己的版块,",
            "but you can also use the \"General Discussions\" and \"VNDB Discussions\" boards for threads that do not fit at a particular database entry.": "但您也可以使用\"一般讨论\"或\"VNDB讨论\"板来处理不适合特定数据库条目的帖子。",
            "Add boards...": "添加板块...",
            "Message": "信息",
            "(English please!)": "(请用英语!)",
            "Formatting": "可用的格式代码",
            "Edit": "编辑",
            "Preview": "预览",
            "Add poll": "添加投票",
            /*一些表单提示信息*/
            "Please add at least one board.": "请添加至少一个板块。",
            "The form contains errors, please fix these before submitting.": "表单包含错误,请在提交前修复这些错误。",
            "List contains duplicates.":"列表包含重复项",
            /*投票*/
            "Poll question": "投票问题",
            "Options": "选项",
            "Add option": "添加选项",
            "Number of options people are allowed to choose.": "允许用户选择的选项数量。",
            /* 查看其他人的帖子*/
            "Posted in": "发表于",
            "report": "举报",
            "Quick reply": "快速回复",
        },
        titleMap:{

        },
        specialMap:{
            /** 自己的讨论*/
            "^Related discussions for (.+)$": "$1的相关讨论",
            /** 创建一个新帖子*/
            /*投票*/
            "^Option #(\\d+)$": "选项 #$1",

        },
    },
    {
        name:'我的标签|标签',
        regular:/^\/g\/links/i,
        map:{
            /*我的标签*/
            "Tag link browser": "标签链接浏览器",
            "Active filters:": "活动过滤器:",
            "] User:": "] 用户:",
            "No tag votes matching the requested filters.": "没有与要求的过滤器匹配的标签评分。",
            /*表头*/
            "Click the arrow before a user, tag or VN to add it as a filter.": "单击用户、标签或视觉小说之前的箭头,可以将其添加为筛选器。",
            "Tag": "标签",
            "Spoiler": "剧透",
            "Visual novel": "视觉小说",
            "Note": "笔记",
            /*剧透级别*/
            "minor spoiler": "轻微剧透",
            "no spoiler": "没有剧透",
            "major spoiler": "严重剧透",
        },
        titleMap:{},
        specialMap:{},
    },
    {
        name:'举报页面',
        regular:/^\/report/i,
        map:{
            "Submit report": "提交举报",
            "Subject": "主题",
            "Comment": "评论",
            "Your report will be forwarded to a moderator.": "您的举报将转发给版主。",
            "Keep in mind that not every report will be acted upon, we may decide that the problem you reported is still within acceptable limits.": "请记住,并非每个举报都会被处理,我们可能会认为您举报的问题仍在可接受的范围内。",
            "We generally do not provide feedback on reports, but a moderator may decide to contact you for clarification.": "我们通常不会对举报提供反馈,但版主可能会决定与您联系以进行解释。",
            "Reason": "理由",
            "-- Select --": "-- 选择 --",
            "Spam": "垃圾邮件",
            "Links to piracy or illegal content": "盗版或非法内容链接",
            "Off-topic": "与主题无关",
            "Unwelcome behavior": "不受欢迎的行为",
            "Unmarked spoilers": "没有标记剧透",
            "Other": "其他",
        },
        titleMap:{},
        specialMap:{},
    },
    {
        name:'特征页|标签页|作品详情页|用户主页',
        regular:/^\/(i|g|v\d+$|u\d+$)/i,
        map:{
            /*大类*/
            "Hair":"毛发",
            "Eyes":"眼睛",
            "Body":"身体",
            "Clothes":"服装",
            "Items":"物品",
            "Personality":"性格",
            "Role":"角色",
            "Engages in (Sexual)":"主动(性)",
            "Subject of (Sexual)":"被动(性)",
            "Engages in":"主动",
            "Subject of":"被动",
            /*细分*/
            "Sexual Content":"色情内容",
            // "ADV":"ADV",
            "Male Protagonist":"男性主角",
            "Penetrative Sex":"插入式做爱",
            "No Sexual Content":"无色情内容",
            "Student":"学生",
            "Multiple Endings":"多分支结局",
            "High Sexual Content":"大量的性爱场景",
            "Fantasy":"奇幻",
            "Romance":"恋爱",
            "Female Protagonist":"女性主角",
            "Drama":"戏剧",
            "Nukige":"拔作",
            "Non-penetrative Sex":"非插入式做爱",
            "Protagonist with a Face":"主角露过正脸",
            "Blowjob":"阴茎口交",
            "Group Sex":"群交",
            "Student Heroine":"女主角是学生",
            "Darker Sexual Contents":"更黑暗的色情内容",
            "Sexual Harassment":"性骚扰",
            "Defloration":"破处场景",
            "Rape":"强奸",
            "School":"学校",
            "Other Gameplay Elements":"其他游戏类可玩性",
            "High School Student":"高中生",
            "Fictional Beings":"虚构物种",
            "Doggy Style":"狗交式体位",
            // "BDSM":"BDSM",
            "Earth":"游戏背景地球",
            "Cowgirl":"女上位体位",
            "Big Breast Sizes Heroine":"大胸女主角",
            "Sexual Devices":"性玩具",
            "High School Student Heroine":"高中生女主角",
            "Customization":"捏人或自定义物品",
            "Comedy":"喜剧",
            "Bad Ending(s)":"坏结局",
            "Modern Day":"游戏背景现代",
            "Anal Penetration":"肛门插入",
            "Student Protagonist":"学生主角",
            "Group Sex of One Male and Several Females":"一男多女群交",
            "Linear Plot":"无分支/选项无影响",
            "Nameable Character(s)":"角色可命名",
            "Nameable Protagonist":"主角可命名",
            "Incest":"乱伦",
            "Boobjob":"乳交",
            "Missionary Position":"男上位体位",
            "Otome Game":"乙女类游戏",
            "Health Issues":"角色身体健康问题",
            "Cunnilingus":"舔穴",
            "Mystery":"悬疑",
            "Single Blowjob":"单人阴茎口交",
            "Non-human Heroine":"非人类女主角",
            "Single Ending":"单结局",
            "Outdoor Sex":"户外做爱",
            "Changing Perspective":"视角切换",
            "Modern Day Earth":"游戏背景现代地球",
            "Psychological Problems":"角色心理健康问题",
            "Handjob":"阴茎手交",
            "Organizations":"组织",
            "Bondage":"捆绑",
            "Heroine with Big Breasts":"大胸女主角",
            "Masturbation":"自慰",
            "Sex in Public Places":"公共场所做爱",
            "Group Sex of One Female and Several Males":"一女多男群交",
            "Fingering":"指交",
            "Crime":"犯罪情节",
            "Science Fiction":"科幻",
            "Voice Acting":"配音",
            "Lesbian Sex":"女性之间做爱",
            "Standing Sex":"站立式体位",
            "Naked Sprites":"裸体立绘",
            "Sitting Sex":"坐姿做爱",
            "Only a Single Heroine":"单女主角",
            "Adult Heroine":"成人女主角",
            "Loli Heroine":"萝莉女主角",
            "Sixty-nine":"69式体位",
            "Branching Plot":"分支剧情",
            "Monsters":"怪物",
            "Relationship Problems":"感情危机",
            "Adult Protagonist":"成人主角",
            "Kinetic Novel":"视觉小说(无选项)",
            "Multiple Penetration":"多重插入",
            "Vibrators":"振动棒",
            "Event CGs":"事件CG",
            "Pregnancy":"怀孕",
            "Protagonist's Sister as a Heroine":"主角的姐姐或妹妹为女主角",
            "Anal Sex":"肛交",
            "Heroine with Glasses":"眼镜娘女主角",
            "Quickie Fix Position":"站立后入",
            "Fighting Heroine":"有武力的女主角",
            "Mythical Setting":"取材自神话传说",
            "Only Virgin Heroines":"全处女主角",
            "Harem Ending":"后宫结局",
            "Brother/Sister Incest":"兄弟姐妹间做爱",
            "Protagonist's Childhood Friend as a Heroine":"幼驯染女主角",
            "Other Perspectives":"其他人视角",
            "Blood-related Incest":"近亲乱伦",
            "Modern Day Japan":"游戏背景现代日本",
            "Sex with Protagonist Only":"仅主角有性爱场景",
            "Side Portraits":"文本框旁副立绘",
            "Divine Beings":"神话生物",
            "Bukkake":"精液沐浴",
            "Violence":"暴力",
            "Twin Tail Heroine":"双马尾女主角",
            "Pregnant Sex":"孕交",
            "Immortal Heroine":"永生的女主角",
            "Jealousy":"嫉妒感情",
            "High School":"高中",
            "Tsundere Heroine":"傲娇女主角",
            "Protagonist with a Sprite":"主角有立绘",
            "High School Student Protagonist":"高中生主角",
            "Action":"动作元素",
            "Sex With Monsters":"与虚构生物做爱场景",
            "Single Boobjob":"单人乳交",
            "Bathroom Sex":"浴室做爱",
            "Urination Fetish":"排尿性爱",
            "Early Sexual Content":"游戏前期出现性内容",
            "Footjob":"足交",
            "Heroine with Sexual Experience":"有过性经验的女主角",
            "Protagonist's Younger Sister as a Heroine":"妹妹女主角",
            "Life and Death Drama":"生死攸的戏剧",
            "Lactation During Sex":"做爱时泌乳",
            "Past":"游戏背景为过去",
            "Unlockable Routes":"可解锁路线",
            "Boy x Boy Romance":"男性和男性的恋爱",
            "Sex with Tentacles":"与触手做爱",
            "Monster Rape":"怪物强奸",
            "Sex with Others":"有角色和非主角的人做爱的场景",
            "Protagonist with Voice Acting":"有配音的主角",
            "Fighting Protagonist":"主角有武力",
            "Under the Same Roof":"同居",
            "Fan-fiction":"同人小说",
            "Sounds of Copulation":"做爱的音效",
            "Male on Male Sex":"男性对男性的性行为",
            "Dark Skinned Characters":"黑皮角色",
            "Christian Mythology":"基督教神话",
            "Gender Bending":"异装/跨性别",
            "Female Ejaculation":"潮吹",
            "Ahegao":"啊嘿颜",
            "Twin Blowjob":"两人共同口交",
            "Lolicon":"萝莉性爱场景和主题",
            "Single Handjob":"单人手交",
            "Tentacle Rape":"触手强奸",
            "Vaginal Fingering":"阴道指交",
            "Map Movement":"地图移动",
            "Reverse Cowgirl":"反转女上位体位",
            "Impregnation":"受精怀孕",
            "Protagonist's Blood-related Sister as a Heroine":"实姐实妹作为女主角",
            "Intercrural Sex":"跨性别做爱",
            "Game Jam":"游戏竞赛中开发",
            "More Than Seven Endings":"多于七个结局",
            "Simulation Game":"SLG",
            "Multiple Protagonists":"可选择多主角",
            "Photographic Assets":"静态资源",
            "Leader Heroine":"领导者女主角",
            "Blood-related Brother/Sister Incest":"血亲兄弟姐妹乱伦",
            "3D Graphics":"3D图形",
            "Slice of Life":"日常片段",
            "NVL":"文本占据大部分画面",
            "Horror":"恐怖",
            "Teacher Heroine":"教师女主角",
            "Combat":"搏斗",
            "Heroine with Health Issues":"有健康问题的女主角",
            "Photographic Backgrounds":"照片背景",
            "Married Heroine":"已婚女主角",
            "Sex Industry":"性产业",
            "Demons":"恶魔",
            "Anal Toys":"肛门玩具",
            "Sexual Slavery":"性奴隶",
            "Undead":"不死生物",
            "Single Footjob":"单人足交",
            "Few Choices":"选项少",
            "Gang Bang":"轮奸",
            "Heroine with Zettai Ryouiki":"有绝对领域的女主角",
            "Kemonomimi":"兽耳",
            "Protagonist's Full Sister as a Heroine":"同父同母的妹妹女主角",
            "Adult Hero":"成年人英雄",
            "Girl x Girl Romance":"女性和女性的恋爱",
            "Unavoidable Rape":"不可避的强奸剧情",
            "Magic":"魔法",
            "Non-human Protagonist":"非人类主角",
            "Perverted Heroine":"变态女主角",
            "Fictional World":"架空世界",
            "Colored Name-tags":"姓名彩色标识",
            "Sex in Water":"水中做爱",
            "Netorare":"NTR",
            "One True End":"唯一真结局",
            "Ponytail Heroine":"马尾女主角",
            "Threesome":"3p做爱",
            "Pre-rendered 3D Graphics":"非实时渲染3D",
            "Vaginal + Anal Penetration":"双重插入",
            "Vaginal Masturbation":"阴道/阴蒂自慰",
            "Domicile":"住所里",
            "Ojousama Heroine":"大小姐女主角",
            "Divine Heroine":"神话生物女主角",
            "Protagonist with Health Issues":"有健康问题的主角",
            "Bad Endings with Story":"BadEnd有剧情",
            "University Student":"大学生",
            "Non-blood-related Incest":"非血缘乱伦",
            "Dildos":"假阴茎"
        },
        titleMap:{},
        specialMap:{
            /*匹配审批页*/
            "^([A-Za-z \(\)]+?) /$":"%%$1%% /",
        },
    },
    {
        name:'评论|他人的评论列表',
        regular:/^\/w/i,
        map:{
            /*列表页*/
            "Type": "类型",
            "Review": "评论",
            "C#":"评论",
            "Last comment": "最后评论",
            "Full": "完全",
            "Mini": "迷你",
            /*评论详情页*/
            "Was this review helpful?": "此评论对您有用吗?",
            "yes": "是",
            "no": "否",
            "Comments": "评论",
        },
        titleMap:{},
        specialMap:{
            /*评论详情页*/
            "Vote: (\\d+)": "评分: $1",
            "(\\d+) points": "$1个得分",
        },
    },
    {
        name:'封面插件翻译',
        regular:/^\/(v$|u\d+)/i,
        map:{
            /*VNDB封面插件翻译*/
            "Always Show the VN Info": "始终显示 VN 信息",
            "Show NSFW Covers": "显示 NSFW 封面",
            "Disable tooltip": "禁用工具提示",
            "Skip Additional Info": "跳过附加信息",
            "Async Cover": "异步封面",
            "Query Mode": "查询方式",
            "Legacy View": "旧版视图",
            /*封面上的文字*/
            "Status:": "状态:",
            "Release(s):": "版本:",
            "Rating:": "评价:",
            "Cast date:": "	添加时间:",
            "No English translation": "没有英文翻译",
            "Has English translation": "有英文翻译",
            "Has partial English translation": "有部分英文翻译",
            "English translation planned":"有英语翻译的计划",
            "Translation Planned.":"翻译计划完成",
            "Translation Available.":"翻译可用",
            "No Translation Available":"没有可用的翻译",
            "Length unknown.": "长度未知.",
            "[ Read more... ]": "[阅读更多...]",
        },
        titleMap:{},
        specialMap:{},
    },
    {
        name:'规则说明',
        regular:/^\//i,
        map:{},
        titleMap:{},
        specialMap:{},
    },
];

/** ---------------------------map处理---------------------------*/
let pathname = window.location.pathname;
otherPageRules.forEach((item) => {
    //当regular是正则才执行
    if (item.regular !== undefined && item.regular instanceof RegExp) {
        if (item.regular.test(pathname)) {
            //添加到主map,若存在重复项则覆盖主map
            Object.assign(mainMap, item.map);
            //添加特殊map
            Object.assign(specialMap, item.specialMap);
            //添加titleMap
            Object.assign(titleMap, item.titleMap);
            console.log(item.name + ',规则匹配:' + pathname + '->' + item.regular);
        }
    }
});
/*object转Map, 正则new效率原因,先new出来*/
(function () {
    let tempMap = new Map();
    let k = Object.getOwnPropertyNames(specialMap);
    for (let i = 0, len = k.length; i < len; i++) {
        try {
            tempMap.set(new RegExp(k[i]), specialMap[k[i]]);
        } catch (e) {
            console.log('"' + k[i] + '"不是一个合法正则表达式');
        }
    }
    specialMap = tempMap;
})();
/** ----------------------------END----------------------------*/