feat: bylaw translation

This commit is contained in:
KUN1007 2023-10-23 00:15:54 +08:00
parent ffa77aba3d
commit 7c90e9f824
4 changed files with 216 additions and 91 deletions

View file

@ -5,9 +5,8 @@ import { saveImage, getImage } from './useLocalforage'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
// 使用设置面板的 store // 使用设置面板的 store
const settingsStore = useKUNGalgameSettingsStore()
const { showKUNGalgameBackground, showKUNGalgameCustomBackground } = const { showKUNGalgameBackground, showKUNGalgameCustomBackground } =
storeToRefs(settingsStore) storeToRefs(useKUNGalgameSettingsStore())
// 从后端获取背景图片数据 // 从后端获取背景图片数据
const fetchGetBackground = async (imageName: string): Promise<Blob> => { const fetchGetBackground = async (imageName: string): Promise<Blob> => {

View file

@ -1,13 +1,12 @@
<script setup lang="ts"> <script setup lang="ts">
import KUNGalgameFooter from '@/components/KUNGalgameFooter.vue' import KUNGalgameFooter from '@/components/KUNGalgameFooter.vue'
// store
import { useKUNGalgameSettingsStore } from '@/store/modules/settings' import { useKUNGalgameSettingsStore } from '@/store/modules/settings'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { computed } from 'vue' import { computed } from 'vue'
// 使 store
const settingsStore = useKUNGalgameSettingsStore() const { showKUNGalgamePageWidth, showKUNGalgameLanguage } = storeToRefs(
const { showKUNGalgamePageWidth } = storeToRefs(settingsStore) useKUNGalgameSettingsStore()
)
const bylawPageWidth = computed(() => { const bylawPageWidth = computed(() => {
return showKUNGalgamePageWidth.value.Bylaw + '%' return showKUNGalgamePageWidth.value.Bylaw + '%'
}) })
@ -15,37 +14,156 @@ const bylawPageWidth = computed(() => {
<template> <template>
<div class="root"> <div class="root">
<!-- 总容器 -->
<div class="container"> <div class="container">
<!-- 文章容器 --> <!-- en -->
<div class="content"> <div class="article" v-if="showKUNGalgameLanguage === 'en'">
<div class="title-0">· 执行条例试行</div> <div class="title-0">Operating Regulations (Trial)</div>
<div class="tips"> <div class="tips">
<p> <p>
tips: Tips: These are operating regulations, indicating implementation.
这是执行条例目的是让论坛的运行机制更加透明并不是规矩我们<span The purpose is to make the forum's operation mechanism more
>没有规矩</span transparent. These are not rules. We have
> <span>
<RouterLink to="/kungalgame">no rules</RouterLink>
</span>
</p> </p>
</div> </div>
<!-- 萌萌点 -->
<div class="moemoepoint">
<div class="title-1">Moemoepoints</div>
<div class="gain">
<div class="title-2">- Methods of Earning</div>
<ul>
<li>
1. Every registered user initially has 1007 moemoepoints
</li>
<li>
2. Automatically receive random 1-7 moemoepoints when logging in
each day
</li>
<li>
3. When a user's topic/reply/comment is liked, they earn 1
moemoepoint
</li>
<li>
4. When someone replies to a user's topic, the user earns 2
moemoepoints
</li>
<li>
5. When someone comments on a user's reply, both the original
poster and the person being commented on earn 1 moemoepoint
</li>
<li>
6. When a user's topic/reply is promoted, they earn 7
moemoepoints
</li>
</ul>
</div>
<div class="deduct">
<div class="title-2">- Deduction Methods</div>
<ul>
<li>
1. Users' non-moemoepoint behavior will be deducted 7, 17, 77,
177, or 777 moemoepoints based on the severity
</li>
<li>
2. If a single topic is disliked 10 times, and upon review, it's
valid, 100 moemoepoints will be deducted
</li>
<li>
3. Each time a user promotes a topic, they will be deducted 17
moemoepoints; promoting a topic can be repeated
</li>
</ul>
</div>
</div>
<div class="kungalgamer">
<div class="title-1">Users</div>
<ul>
<li>
<strong
>1. Users with less than 1000 moemoepoints will have their
accounts deleted</strong
>
</li>
<li>
2. Users with less than 1100 moemoepoints cannot use the "Promote
Topic" feature
</li>
<li>
3. Being "disliked" 10 times in a row will result in account
deletion (we hope for less criticism and more praise)
</li>
</ul>
</div>
<div class="topic">
<div class="title-1">Topics</div>
<ul>
<li>
1. All topics on the homepage are in a "dynamic promotion state."
Once a topic is affected by "likes," "comments," or "topic
promotion," it will be pinned
</li>
<li>
2. Formula for topic popularity calculation: Popularity = Views ×
0.1 Comments × 2 + Likes × 2 + Topic Promotions × 50 - Dislikes ×
5
</li>
<li>
3. A topic that is promoted will receive a "glowing" style within
10 hours
</li>
<li>
4. Once a single topic has received 10 "dislikes," the topic will
be automatically hidden and subject to administrative review
</li>
<li>
5. Every night at 12:00, the topic pool will be cleared for the
day, leaving the 17 topics with the highest popularity values from
the previous day. If popularity values are tied, all will be
promoted
</li>
</ul>
</div>
<br />
<br />
<br />
</div>
<!-- chinese translation -->
<div class="article" v-if="showKUNGalgameLanguage === 'zh'">
<div class="title-0">执行条例试行</div>
<div class="tips">
<p>
tips: 这是执行条例
代表已经落实目的是让论坛的运行机制更加透明并不是规矩我们
<span>
<RouterLink to="/kungalgame">没有规矩</RouterLink>
</span>
</p>
</div>
<div class="moemoepoint"> <div class="moemoepoint">
<div class="title-1">萌萌点</div> <div class="title-1">萌萌点</div>
<!-- 获取方法 -->
<div class="gain"> <div class="gain">
<div class="title-2">- 获取方法</div> <div class="title-2">- 获取方法</div>
<ul> <ul>
<li>1. 每个注册用户初始拥有 1007 萌萌点</li> <li>1. 每个注册用户初始拥有 1007 萌萌点 </li>
<li>2. 每天登录自动获得随机 1 ~ 7 萌萌点</li> <li>2. 每天登录自动获得随机 1 ~ 7 萌萌点</li>
<li>3. 用户的话题 / 回复 / 评论被点赞可以获得 1 萌萌点</li> <li>3. 用户的话题 / 回复 / 评论被点赞可以获得 1 萌萌点 </li>
<li>4. 有人回复用户的话题用户将会获得 2 点萌萌点</li> <li>4. 有人回复用户的话题用户将会获得 2 点萌萌点 </li>
<li> <li>
5. 有人评论用户的回复楼主和被评论的回复人都会获得 1 萌萌点 5. 有人评论用户的回复楼主和被评论的回复人都会获得 1 萌萌点
</li> </li>
<li>6. 用户的话题 / 回复被推将会获得 7 点萌萌点</li> <li>6. 用户的话题 / 回复被推将会获得 7 点萌萌点 </li>
</ul> </ul>
</div> </div>
<!-- 扣除方法 -->
<div class="deduct"> <div class="deduct">
<div class="title-2">- 扣除方法</div> <div class="title-2">- 扣除方法</div>
<ul> <ul>
@ -54,34 +172,35 @@ const bylawPageWidth = computed(() => {
点萌萌点 点萌萌点
</li> </li>
<li>2. 单个话题每被踩 10 若审核无误扣除 100 萌萌点</li> <li>2. 单个话题每被踩 10 若审核无误扣除 100 萌萌点</li>
<li>3. 用户推话题一次将会被扣除 17 萌萌点可以重复推话题</li> <li>3. 用户推话题一次将会被扣除 17 萌萌点可以重复推话题 </li>
</ul> </ul>
</div> </div>
</div> </div>
<!-- 用户 -->
<div class="kungalgamer"> <div class="kungalgamer">
<div class="title-1">用户</div> <div class="title-1">用户</div>
<ul> <ul>
<li><strong>1. 萌萌点低于 1000 的用户将会被删除账户</strong></li> <li><strong>1. 萌萌点低于 1000 的用户将会被删除账户</strong></li>
<li>2. 萌萌点低于 1100 的用户无法使用推话题功能</li> <li>2. 萌萌点低于 1100 的用户无法使用推话题功能 </li>
<li> <li>
3. 连续 10 次将会被删除账户我们希望少一点批评多一点赞美 3. 连续 10 次将会被删除账户我们希望少一点批评多一点赞美
</li> </li>
</ul> </ul>
</div> </div>
<!-- 话题 -->
<div class="topic"> <div class="topic">
<div class="title-1">话题</div> <div class="title-1">话题</div>
<ul> <ul>
<li> <li>
1. 1.
每个位于主页的话题处于动态推送状态一旦该话题受到包括点赞评论推话题的影响时该话题将会被置顶 每个位于主页的话题处于动态推送状态一旦该话题受到包括点赞评论推话题的影响时该话题将会被置顶
</li> </li>
<li> <li>
2. 话题热度值计算公式热度值 = 10 + 评论数 × 3 + 点赞数 × 7 + 2. 话题热度值计算公式热度值 = 浏览数 × 0.1 评论数 × 2 + 点赞数 ×
推话题数 × 1007 发表经过小时数 / 3 × 7 2 + 推话题数 × 50 × 5
</li> </li>
<li>3. 话题热度值超过 1007 会获得流光样式</li> <li>3. 话题被推 10 小时内会获得流光样式 </li>
<li> <li>
4. 一旦单个话题的数量达到 10该话题会被系统屏蔽交由管理审核 4. 一旦单个话题的数量达到 10该话题会被系统屏蔽交由管理审核
</li> </li>
@ -95,7 +214,7 @@ const bylawPageWidth = computed(() => {
<br /> <br />
<br /> <br />
</div> </div>
<!-- 版权 -->
<KUNGalgameFooter style="position: absolute; bottom: 2%" /> <KUNGalgameFooter style="position: absolute; bottom: 2%" />
</div> </div>
</div> </div>
@ -103,12 +222,12 @@ const bylawPageWidth = computed(() => {
<style lang="scss" scoped> <style lang="scss" scoped>
.root { .root {
height: 100vh; height: 100%;
min-height: calc(100vh - 65px);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
min-height: 1100px;
} }
/* 总容器 */
.container { .container {
/* 居中 */ /* 居中 */
margin: 0 auto; margin: 0 auto;
@ -127,8 +246,8 @@ const bylawPageWidth = computed(() => {
align-items: center; align-items: center;
position: relative; position: relative;
} }
/* 文章容器 */
.content { .article {
width: 100%; width: 100%;
height: 100%; height: 100%;
padding: 10px; padding: 10px;
@ -137,58 +256,65 @@ const bylawPageWidth = computed(() => {
background-color: var(--kungalgame-trans-white-2); background-color: var(--kungalgame-trans-white-2);
box-shadow: var(--shadow); box-shadow: var(--shadow);
} }
/* 一级标题 */
.title-0 { .title-0 {
font-size: 30px; font-size: 30px;
margin: 17px 0; margin: 17px 0;
display: flex;
justify-content: center;
} }
/* 提示消息 */
.tips { .tips {
border-top: 2px solid var(--kungalgame-blue-4); border-top: 2px solid var(--kungalgame-blue-4);
padding-top: 10px; padding-top: 10px;
margin-bottom: 47px; margin-bottom: 47px;
}
/* 规则跳转页面 */ span {
.tips span {
cursor: pointer; cursor: pointer;
color: var(--kungalgame-blue-4);
border-bottom: 1px solid var(--kungalgame-blue-4); border-bottom: 1px solid var(--kungalgame-blue-4);
a {
color: var(--kungalgame-blue-4);
} }
/* 二级标题 */ }
}
.title-1 { .title-1 {
font-size: 25px; font-size: 25px;
margin: 20px 0; margin: 20px 0;
border-left: 4px solid var(--kungalgame-blue-4); border-left: 4px solid var(--kungalgame-blue-4);
text-indent: 1em; text-indent: 1em;
} }
/* 三级标题 */
.title-2 { .title-2 {
font-size: 17px; font-size: 17px;
/* 文字缩进 */
text-indent: 1em; text-indent: 1em;
} }
/* 萌萌点 */
.moemoepoint ul { .moemoepoint ul {
margin: 10px 0; margin: 10px 0;
margin-left: 40px; margin-left: 40px;
}
.moemoepoint ul li { li {
margin: 5px 0; margin: 5px 0;
} }
/* 用户 */ }
.kungalgamer > ul { .kungalgamer > ul {
margin-left: 20px; margin-left: 20px;
}
.kungalgamer > ul li { li {
margin: 5px 0; margin: 5px 0;
} }
/* 话题 */ }
.topic > ul { .topic > ul {
margin-left: 20px; margin-left: 20px;
}
.topic > ul li { li {
margin: 5px 0; margin: 5px 0;
} }
}
@media (max-width: 1000px) { @media (max-width: 1000px) {
.container { .container {

View file

@ -492,13 +492,7 @@ const kungalgamePageWidth = computed(() => {
</div> </div>
<KUNGalgameFooter <KUNGalgameFooter
style=" style="width: 100%; bottom: 0; display: flex; justify-content: center"
width: 100%;
position: relative;
bottom: -3%;
display: flex;
justify-content: center;
"
/> />
</div> </div>
</div> </div>
@ -506,22 +500,21 @@ const kungalgamePageWidth = computed(() => {
<style lang="scss" scoped> <style lang="scss" scoped>
.root { .root {
height: 1500px; height: 100%;
min-height: calc(100vh + 65px);
} }
/* 内容区容器 */
.content-container { .content-container {
background-color: var(--kungalgame-trans-white-5); background-color: var(--kungalgame-trans-white-5);
border-radius: 7px; border-radius: 7px;
/* 固定高度 */ height: 100vh;
height: 1300px;
transition: all 0.2s; transition: all 0.2s;
width: v-bind(kungalgamePageWidth); width: v-bind(kungalgamePageWidth);
max-width: 1300px; max-width: 1300px;
/* 居中 */
margin: auto; margin: auto;
padding: 5px; padding: 5px;
} }
/* 内容区 */
.content { .content {
height: 100%; height: 100%;
overflow-y: scroll; overflow-y: scroll;
@ -539,16 +532,16 @@ const kungalgamePageWidth = computed(() => {
background: var(--kungalgame-blue-4); background: var(--kungalgame-blue-4);
border-radius: 2px; border-radius: 2px;
} }
/* 兼容火狐 */ position: relative;
scrollbar-width: thin; scrollbar-width: thin;
scrollbar-color: var(--kungalgame-blue-4) var(--kungalgame-blue-1); /* Firefox 64+ */ scrollbar-color: var(--kungalgame-blue-4) var(--kungalgame-blue-1); /* Firefox 64+ */
} }
/* 文章区距离侧边的距离 */
.article { .article {
width: 100%; width: 100%;
margin-left: 30px; margin-left: 30px;
} }
/* 网站标题的字体颜色 */
h1, h1,
h2, h2,
h3, h3,
@ -583,7 +576,6 @@ strong {
text-transform: uppercase; text-transform: uppercase;
} }
/* 被划出来的链接字体 */
.skip { .skip {
border-bottom: 1.5px solid var(--kungalgame-blue-4); border-bottom: 1.5px solid var(--kungalgame-blue-4);
cursor: pointer; cursor: pointer;
@ -615,5 +607,9 @@ strong {
h1 { h1 {
margin: 20px auto; margin: 20px auto;
} }
h2 {
font-size: 20px;
}
} }
</style> </style>

View file

@ -3,27 +3,29 @@ import { Icon } from '@iconify/vue'
</script> </script>
<template> <template>
<!-- 更新的内容 -->
<div class="article-next"> <div class="article-next">
<div class="describe"> <div class="describe">
<div>{{ $tm('update.update') }}</div> <div>{{ $tm('update.update') }}</div>
<p>1. 添加数据统计页面</p>
<p>2. 修复关于我们页面布局</p> <!-- Next update feat -->
<p>3. 其他细节修复</p> <p>Moe Moe Moe!</p>
</div> </div>
<!-- 更新预览 -->
<!-- Update preview -->
<div class="preview"> <div class="preview">
<div>{{ $tm('update.info') }}</div> <div>{{ $tm('update.info') }}</div>
<a <a
class="github" class="github"
href="https://github.com/KUN1007/KUNGalGame-vue" href="https://github.com/KUN1007/KUNGalGame-vue"
target="_blank" target="_blank"
>{{ $tm('update.visit') }}</a
> >
{{ $tm('update.visit') }}
</a>
<a href="https://github.com/KUN1007/KUNGalGame-vue" target="_blank"> <a href="https://github.com/KUN1007/KUNGalGame-vue" target="_blank">
<Icon class="icon" icon="raphael:github" <Icon class="icon" icon="raphael:github"
/></a> /></a>
</div> </div>
<!-- 预计更新时间 --> <!-- 预计更新时间 -->
<div class="time"> <div class="time">
<span>{{ $tm('update.time') }}: 2019/10/7</span> <span>{{ $tm('update.time') }}: 2019/10/7</span>
@ -39,15 +41,17 @@ import { Icon } from '@iconify/vue'
justify-content: center; justify-content: center;
} }
/* 更新信息 */ /* 更新信息 */
.describe > div { .describe {
div {
font-size: 20px; font-size: 20px;
margin: 10px; margin: 10px;
margin-bottom: 30px; margin-bottom: 30px;
} }
/* 单个更新信息 */ p {
.describe > p {
text-indent: 2em; text-indent: 2em;
} }
}
/* 更新预览 */ /* 更新预览 */
.preview { .preview {
margin-top: 70px; margin-top: 70px;
@ -65,7 +69,7 @@ import { Icon } from '@iconify/vue'
border-bottom: 2px solid var(--kungalgame-blue-4); border-bottom: 2px solid var(--kungalgame-blue-4);
} }
} }
/* 预计更新时间 */
.time { .time {
margin-top: 20px; margin-top: 20px;
display: flex; display: flex;