Files
MaaAssistantArknights/website/apps/web/package.json
Lucien Shaw bb735b6ee7 feat: 为官网首页添加多语言支持 (#13943)
* build: 引入react i18n组件

* i18n: 加载多语言支持模块

* i18n: 添加语言切换按钮

* i18n: 添加网页下载按钮多语言支持

* build: 更新typescript依赖

* fix: 修复callback导致语言切换不生效的问题

* i18n: 完成首页所有元素的多语言支持

* chore: 删除冗余代码

* i18n: 优化了语言切换按钮的交互逻辑并添加多语言占位符

* chore: 规范了部分代码的格式并删除冗余代码

* i18n: ko-kr

* chore: kr 미러 to mirror

* fix: 修复检测和切换语言的问题

* chore: 调整了尾注用户协议部分的显示方式

* refactor: 更改首页尾注的显示方式

* style: 统一Trans元素为self-close样式

* i18n: zh-tw

* fix: 修复换行和块之间的空格问题并补上缺失的翻译

* feat: 更改首页语言也会同步更改文档按钮对应的链接

* refactor: 将弃用的MutableRefObject替换为RefObject

* feat: 语言切换按钮的选项使用对应的语言渲染

* feat: 统一管理所有语言信息并开放读取语言接口

* fix: 去除按钮在鼠标悬停时出现的下划线

* style: 统一不使用行尾分号

* build: 更新部分依赖

* fix: 修正不成对的Trans块对应的本地化文本

* feat: 移动设备横屏浏览时出现垂直滚动条

移动设备横屏时,可能仍能出现下载按钮,全部展开时可能过高,此时出现垂直滚动条,方便用户浏览所有内容

* i18n: JP

* fix: 强制隐藏下载链接容器的水平滚动条

* fix: 将下载链接容器设置为占满宽度

* i18n: JP edits

* fix: 修复滚动条引起的上端裁切问题

* feat: action按钮组根据实际宽度调整布局

不再依靠md:xxx的固定阈值区分小屏和中屏及以上,而是根据不同语言的按钮宽度动态计算是否溢出,从而决定排布方式

* feat: 使用上下文管理布局

使用layoutStateContext来管理布局相关状态,主要是宽度溢出检测

* fix: Copilot 说我们是小驼峰

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* perf: Copilot 说我们不再需要下划线和它的偏移
我还是第一次知道这里下划线这么难看

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: 把别的按钮样式抄到语言切换按钮上

* style: 复活 Prettier

这 Prettier 什么鬼情况
我没有要求你把所有文件都格式化,我不是恶魔,后面忘了,总之我可能得狠狠恢复你了。真的。
所以这缩进怎么又 2 又 4 的

* chore: Auto update by pre-commit hooks [skip changelog]

* refactor: 更改副标题和尾注的元素class以优化动画和显示

* style: 将typescript代码文件的缩进统一为2

* fix: 改正测速进行中的i18n key

* refactor: 删除link类的下划线css定义

* build: 更新prettier依赖和相关配置

* style: prettier美化

* chore: 尝试规避github ci找不到插件的错误

* chore: Auto update by pre-commit hooks [skip changelog]

* refactor: 使用.prettierrc.js管理官网相关文件的美化配置

* refactor: 暂时取消自动import排序美化

* fix: 下载按钮动画问题

* feat: 响应式设计测量宽度时,临时隐藏相关元素

* style: prettier

* refactor: 下载按钮组居中对齐

* feat: 让系统架构提示动画从上到下

* refactor: 优化第二行按钮动画

* refactor: 优化协议部分文本动画

* i18n: 为一句过长的日语添加换行符

* fix: 修复进度条样式

* refactor: 不将i18n作为触发器

* chore: 首页图片资源文件路径变更

* chore: 添加多语言图片占位

* i18n: 首页图片支持多语言切换

* chore: 更新日文的首页截图

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 在首页的文档链接后补全斜杠

* chore: 更新prettier的EOL设置

* style: prettier美化

* chore: pre-commit复活

* refactor: 统一languageFilename变量名

* refactor: 移除加载截图模块的dead code

* i18n: 为mirrorchyan的跳转链接添加多语言支持

mirrorchyan提供简中和英语,因此其他语言需要fallback到二者之一。
- 繁体中文跳转到简体中文
- 日语和韩语跳转到英文

* fix: dead code删除不彻底

* i18n: 去除除了简中以外的”海外源“字样

* i18n: 规范化简中和繁中的locale文本

* i18n:调整英文文本的语法和表达

* i18n: 规范化日文文本

* chore: prettier

* i18n: KR screenshot

* i18n: txwy screenshot

* chore: Auto update by pre-commit hooks [skip changelog]

* i18n: zh-tw tweak

* refactor: mirror酱相关的两处key更名

* docs: 优化中文和英文的部分语句表达方式

Linux 下载那句我怎么看怎么觉得怪
我想改成 `下载完成(Linux 版本仅包含动态库与资源文件)` `Download completed (Linux version includes dynamic libraries and resource files only)`
但感觉改完也很怪

感觉不如把这俩直接换成 CLI 的下载

* i18n: fix version info loading error message and pluralize downloads for zh-cn

* chore: update en-us screens dark and light

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: focus

* chore: Auto update by pre-commit hooks [skip changelog]

* refactor: 去除多余类型标记

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: HX3N <scarlet7518@gmail.com>
Co-authored-by: momomochi987 <as99us301@gmail.com>
Co-authored-by: Manicsteiner <Manicsteiner@outlook.com>
Co-authored-by: Rbqwow <55343783+Rbqwow@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-09-17 21:19:07 +08:00

59 lines
1.9 KiB
JSON

{
"name": "website",
"version": "1.0.0",
"description": "Maa website - main website",
"main": "index.js",
"repository": "https://github.com/MaaAssistantArknights/maa-website",
"license": "AGPL-3.0-or-later",
"scripts": {
"dev": "vite",
"dev:home": "vite",
"build": "tsc && vite build",
"lint:js": "eslint --ext \".js,.jsx,.ts,.tsx\"",
"lint:prettier": "prettier --check .",
"lint": "yarn lint:js && yarn lint:prettier",
"lintfix": "prettier --write --list-different . && yarn lint:js --fix"
},
"dependencies": {
"@iconify/icons-mdi": "^1.2.48",
"@iconify/react": "^3.2.2",
"@octokit/types": "^6.41.0",
"@react-three/drei": "^10.7.4",
"@react-three/fiber": "^9.3.0",
"@react-three/postprocessing": "^3.0.4",
"@sentry/react": "^9.46.0",
"clsx": "^1.2.1",
"framer-motion": "^12.23.12",
"i18next": "^25.4.2",
"i18next-browser-languagedetector": "^8.2.0",
"moment": "^2.30.1",
"postprocessing": "^6.37.7",
"react": "^19.1.1",
"react-dom": "^19.1.1",
"react-ga-neo": "^2.2.0",
"react-i18next": "^15.7.3",
"react-use": "^17.6.0",
"swr": "^2.3.6",
"three": "^0.177.0",
"unfetch": "^4.2.0",
"vite": "^6.3.5"
},
"devDependencies": {
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
"@types/node": "^20.19.11",
"@types/react": "^19.1.12",
"@types/react-dom": "^19.1.9",
"@types/three": "^0.177.0",
"@vitejs/plugin-react": "^4.7.0",
"autoprefixer": "^10.4.21",
"eslint": "^9.34.0",
"eslint-config-prettier": "^8.10.2",
"eslint-plugin-react": "^7.37.5",
"postcss": "^8.5.6",
"prettier": "^3.6.2",
"rollup-plugin-analyzer": "^4.0.0",
"tailwindcss": "^3.4.17",
"typescript": "^5.9.2"
}
}