Greasy Fork

Greasy Fork is available in English.

汉化huggingface 菜单汉化

汉化 huggingface界面的部分菜单及内容

当前为 2023-08-25 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name        汉化huggingface 菜单汉化
// @description  汉化 huggingface界面的部分菜单及内容
// @namespace   Violentmonkey Scripts
// @match       https://huggingface.co/
// @match      https://huggingface.co/*
// @grant       none
// @author       sec
// @version     1.2
// ==/UserScript==

(function() {
    'use strict';

    const i18n = new Map([
      ['Settings', '设置'],
      ['Get', '获取'],
      ['Organizations','组织'],
      ['Create New', '新建'],
      ['Resources', '资源'],
      ['Hub guide', '中枢指南'],
      ['Transformers doc', 'Transformers文档'],
      ['Forum', '论坛'],
      ['Tasks', '任务'],
      ['Course', '课程'],
        ['Light theme', '光明主题'],
        ['All', '全部'],
        ['Models', '模型'],
        ['Datasets', '数据集'],
        ['Spaces', '空间'],
        ['Community', '社区'],
        ['Likes', '喜欢'],
        ['Updated', '更新于'],
        ['minutes ago', '分钟前'],
        ['No application file', '没有应用文件'],
        ['Liked a space', '喜欢一个空间'],
        ['months ago', '个月前'],
        ['Liked a model', '喜欢一个模型'],
        ['days ago', '天前'],
        ['Hugging Face is way more fun with friends and colleagues! ', '与朋友和同事一起加入Hugging Face更快乐!'],
        ['Join an organization', '加入一个组织'],
        ['Search models, datasets, users...', '搜索模型、数据集、用户...'],
        ['Docs', '文档'],
        ['Solutions', '解决方案'],
        ['Pricing', '定价'],
        ['Profile', '概述'],
        ['Inbox', '收件箱'],
        ['Dark theme', '黑暗主题'],
        ['System theme', '系统主题'],
        ['Trending', '趋势'],
        ['last 7 days', '最近7天'],
        ['Privacy', '隐私保护'],
        ['Team', '团队'],
        ['Jobs', '工作机会'],
        ['TOS', '服务条款'],
        ['Website', '网站'],
        ['Metrics', '指标'],
        ['Languages', '语言'],
        ['Blog', '博客'],
        ['HF Store', '商店'],
        ['Classrooms', '教室'],
        ['Dismiss this message', '不再提醒'],
        ['about 1 hour ago', '大约1小时前'],
        ['about 2 hours ago', '大约2小时前'],
        ['about 3 hours ago', '大约3小时前'],
        ['about 4 hours ago', '大约4小时前'],
        ['about 5 hours ago', '大约5小时前'],
        ['about 6 hours ago', '大约6小时前'],
        ['about 7 hours ago', '大约7小时前'],
        ['about 8 hours ago', '大约8小时前'],
        ['about 9 hours ago', '大约9小时前'],
        ['about 10 hours ago', '大约10小时前'],
        ['about 11 hours ago', '大约11小时前'],
        ['about 12 hours ago', '大约12小时前'],
        ['about 13 hours ago', '大约13小时前'],
        ['about 14 hours ago', '大约14小时前'],
        ['about 15 hours ago', '大约15小时前'],
        ['about 16 hours ago', '大约16小时前'],
        ['about 17 hours ago', '大约17小时前'],
        ['about 18 hours ago', '大约18小时前'],
        ['about 19 hours ago', '大约19小时前'],
        ['about 20 hours ago', '大约20小时前'],
        ['about 21 hours ago', '大约21小时前'],
        ['about 22 hours ago', '大约22小时前'],
        ['about 23 hours ago', '大约23小时前'],
        ['Notifications', '通知'],
        ['New Model', '新模型'],
        ['New Dataset', '新数据集'],
        ['New Space', '新空间'],
        ['Create organization', '创建组织'],
        ['Sign Out', '退出登录'],
        ['Profile', '帐户简介'],
        ['Account', '帐户'],
        ['Organizations', '组织'],
        ['Billing', '计费'],
        ['Access Tokens', '访问令牌'],
        ['GPG Keys', 'GPG密钥'],
        ['Notifications', '通知'],
        ['Theme', '主题'],
        ['Profile Settings', '简介设置'],
        ['Full name', '全名'],
        ['Avatar', '头像'],
        ['Homepage', '主页'],
        ['(optional)', '(可选)'],
        ['Research interests', '研究兴趣'],
         ['GitHub username', 'GitHub用户名'],
        ['Twitter username', '推特账户'],
        ['Save changes', '保存更改'],
        ['Username', '用户名'],
        ['Primary email', '主要电子邮件'],
        ['We will use this email to communicate with you. This is also the email to use to authenticate on hf.co.', '我们将使用此电子邮件与您沟通。这也是用于在hf.co网站上进行认证的电子邮件。'],
        ['Password', '密码'],
        ['Enter new password', '输入新密码'],
        ['Additional emails', '额外的电子邮件'],
        ['Link additional emails to your account to join your organizations easily and', '将其他的电子邮件链接到你的账户,以便轻松地加入你的组织和'],
        ['Delete your account', '删除您的帐户'],
        ['Delete your HF account permanently, this action is irreversible. 全部 your repositories (models, datasets, & 空间) will be deleted.', '永久删除您的HF帐户,此操作是不可逆转的。您的全部存储库(模型,数据集,和空间)将被删除。'],
        ['Delete my account', '删除我的账户'],
        ['You are not a member of any organization.', '你不是任何组织的成员。'],
        ['Overview', '概述'],
        ['Payment information', '支付信息'],
        ['PRO Subscription', '专业版订阅'],
        ['Using HF paid services', '使用HF付费服务'],
        ['You need to add a payment method to get started.', '您需要添加一个支付方式才能开始使用。'],
        ['Update payment information', '更新支付信息'],
        ['Access tokens programmatically authenticate your identity to the Hugging Face Hub, allowing applications to perform specific actions specified by the scope of permissions (read, write, or admin) granted', '访问令牌以编程方式对您的身份进行认证,允许应用程序执行由授予的权限范围(读、写或管理)指定的具体行动。'],
        ['Notification', '通知'],
        ['Participating and mentions', '参与和提及'],
        ['Email', '电子邮件'],
        ['Web', '网页'],
        ['New activity on watched orgs/users', '被关注的组织/用户的新活动'],
        ['Watch settings ', '观察设置 '],
        ['Choose on which organizations/users to get notified on new discussions and PRs', '选择哪些组织/用户获得新的讨论和公告的通知'],
        ['repositories ', '仓库'],
        ['Other notifications (email only)', '其他的通知(仅电子邮件)'],
        ['New features and announcements', '新功能和公告'],
        ['Requests to join your organization', '要求加入你的组织'],
        ['Most Downloads', '最多下载'],
        ['Recently Updated', '最近更新'],
        ['Most 喜欢', '最多喜欢'],
        ['Libraries', '图书馆'],
        ['Licenses', '许可证'],
        ['Fine-Grained', '细致的'],
        ['Multilinguality', '多语言性'],
        ['Sizes', '大小'],
        ['Alphabetical', '按字母顺序排列'],
        ['Documentations', '文档资料'],
        ['Expert Acceleration Program', '专家加速计划'],
        ['Accelerate your ML roadmap', '加快你的ML路线图'],
        ['Private Hub', '私人枢纽'],
        ['Build ML collaboratively', '协同建立ML'],
        ['Inference Endpoints', '推导端点'],
        ['Deploy models in minutes', '几分钟内部署模型'],
        ['AutoTrain', '自动训练'],
        ['Create ML models without code', '无需代码即可创建ML模型'],
        ['Hardware', '硬件设施'],
        ['Scale with dedicated hardware', '使用专用硬件进行扩展'],
        ['None yet', '尚无'],
        ['Edit profile', '编辑个人资料'],
        ['a space', '空间'],
        ['Jan', '1月'],
        ['Feb', '2月'],
        ['Mar', '3月'],
        ['Apr', '4月'],
        ['May', '5月'],
        ['Jun', '6月'],
        ['Jul', '7月'],
        ['Aug', '8月'],
        ['Sep', '9月'],
        ['Oct', '10月'],
        ['Nov', '11月'],
        ['Dec', '12月'],
        ['Activity', '的活动内容'],
      ['Models', '模型'],
['Datasets', '数据集'],
['Spaces', '空间'],
['Community', '社区'],
['Likes', '喜欢'],
['Organizations', '组织机构'],
['Resources', '资源'],
['Learn', '学习'],
['Updated a model', '更新了一个模型'],
['1 day ago', '1 天前'],
['No recent user activity to display', '没有显示最近的用户活动'],
['Multimodal', '多模式'],
['Multimodal', '多模态'],
['Feature Extraction', '特征提取'],
['Text-to-Image', '文本到图像'],
['Image-to-Text', '图像到文本'],
['Text-to-Video', '文本到视频'],
['Visual Question Answering', '视觉问题解答'],
['Document Question Answering', '文档问题解答'],
['Graph Machine 学习ing', '图形机器学习'],
['Computer Vision', '计算机视觉'],
['Depth Estimation', '深度估计'],
['Image Classification', '图像分类'],
['Object Detection', '物体检测'],
['Image Segmentation', '图像分割'],
['Image-to-Image', '图像到图像'],
['Unconditional Image Generation', '无条件图像生成'],
['Video Classification', '视频分类'],
['Zero-Shot Image Classification', '零镜头图像分类'],
['Natural Language Processing', '自然语言处理'],
['Text Classification', '文本分类'],
['Token Classification', '令牌分类'],
['Table Question Answering', '表格问题解答'],
['Question Answering', '问题解答'],
['Zero-Shot Classification', '零点分类'],
['Translation', '翻译'],
['Summarization', '总结'],
['Conversational', '对话'],
['Text Generation', '文本生成'],
['Text2Text Generation', '文本对文本生成'],
['Fill-Mask', '填充掩码'],
['Sentence Similarity', '句子相似性'],
['Audio', '音频'],
['Text-to-Speech', '文本到语音'],
['Automatic Speech Recognition', '自动语音识别'],
['Audio-to-Audio', '音频到音频'],
['Audio Classification', '音频分类'],
['Voice 的活动内容 Detection', '语音的内容检测'],
['Tabular', '表格'],
['Tabular Classification', '表格式分类'],
['Tabular Regression', '表格式回归'],
['Reinforcement 学习ing', 'Reinforcement 学习'],
['Reinforcement 学习ing', '强化学习'],
['Robotics', '机器人'],
['Search models, datasets, users...', '搜索模型、数据集、用户...'],
['Pricing', '定价'],
['Discover amazing ML apps made by the community!', '发现社区制作的神奇 ML 应用程序!'],
['learn more about 空间.', '了解有关空间的更多信息。'],
['Search Spaces', '搜索空间'],
['空间 of the week', '本周空间'],
['LoRA the Explorer', '探险家 LoRA'],
['IDEFICS Playground', 'IDEFICS 游乐场'],
['Organization Leaderboard', '组织排行榜'],
['The Tokenizer Playground', '代币器游乐场'],
['Candle Yolo', '烛光晚餐'],
['Llama2 With Gradio Chat', '带有 Gradio 聊天功能的 Llama2'],
['chansung', 'Chansung'],
['TCO Calculator', '总拥有成本计算器'],
['mithril-security', 'Mithril-security'],
['running apps, trending first', '运行应用程序,趋势先行'],
['Seamless M4T', '无缝 M4T'],
['Open LLM Leaderboard', '开放式 LLM 排行榜'],
['LoRA the Explorer', '探险家 LoRA'],
['Image To Story', '图片转至故事'],
['sanchit-gandhi', 'sanchit-gandhi'],
['MTEB Leaderboard', 'MTEB 排行榜'],
['音频LDM2 Text2音频 Text2Music Generation', '音频 LDM2 Text2 音频 Text2Music Generation'],
['Username', '用户名'],
['Primary email', '主要电子邮件'],
['We will use this email to communicate with you. This is also the email to use to authenticate on hf.co.', '我们将使用此电子邮件与您联系。这也是在 hf.co 上进行身份验证时使用的电子邮件。'],
['Old password', '旧密码'],
['New Password', '新密码'],
['Enter new password', '输入新密码'],
['Confirm your new password', '确认新密码'],
['Confirm new password', '确认新密码'],
['将其他的电子邮件链接到你的账户,以便轻松地加入你的组织和 identify git commits you make.', '将其他的电子邮件链接到你的账户,以便轻松地加入你的组织和识别你的 git 提交。'],
['Delete your account', '删除账户'],
['Delete your HF account permanently, this action is irreversible. All your repositories (models, datasets, & Spaces) will be deleted.', '永久删除您的 HF 账户,此操作不可逆。您的所有资源库(模型、数据集和 Spaces)都将被删除。'],


    ])

    replaceText(document.body)

    const bodyObserver = new MutationObserver(mutations => {
      mutations.forEach(mutation => {
        mutation.addedNodes.forEach(addedNode => replaceText(addedNode))
      })
    })
    bodyObserver.observe(document.body, { childList: true, subtree: true })

    function replaceText(node) {
      nodeForEach(node).forEach(htmlnode => {
        i18n.forEach((value, index) => {
          // includes可直接使用 === 以提高匹配精度
          const textReg = new RegExp(index, 'g')
          if (htmlnode instanceof Text && htmlnode.nodeValue.includes(index))
            htmlnode.nodeValue = htmlnode.nodeValue.replace(textReg, value)
          else if (htmlnode instanceof HTMLInputElement && htmlnode.value.includes(index))
            htmlnode.value = htmlnode.value.replace(textReg, value)
        })
      })
    }

    function nodeForEach(node) {
      const list = []
      if (node.childNodes.length === 0) list.push(node)
      else {
        node.childNodes.forEach(child => {
          if (child.childNodes.length === 0) list.push(child)
          else list.push(...nodeForEach(child))
        })
      }
      return list
    }
})();