33 <s-tab mode =" fixed" v-model.lazy =" tab" >
44 <s-tab-item value =" derivate" >
55 <div slot =" text" class =" tab-text" >
6- 切线设置
6+ {{ t("data.derivate.title") }}
77 <Transition name =" badge" >
88 <s-badge class =" tab-badge" v-if =" derivateEnabled" ></s-badge >
99 </Transition >
1010 </div >
1111 </s-tab-item >
1212 <s-tab-item value =" secant" >
1313 <div slot =" text" class =" tab-text" >
14- 割线设置
14+ {{ t("data.secant.title") }}
1515 <Transition name =" badge" >
1616 <s-badge class =" tab-badge" v-if =" secantEnabled" ></s-badge >
1717 </Transition >
2626 :class =" { enabled: derivateEnabled }"
2727 >
2828 <div class =" field no-opacity" >
29- <div class =" label" >启用切线显示 </div >
29+ <div class =" label" >{{ t("data.derivate.enable") }} </div >
3030 <s-switch type =" checkbox" v-model.lazy =" derivateEnabled" ></s-switch >
3131 </div >
3232 <div class =" field main-fn" >
3333 <span class =" label wide styled" >y'=</span >
3434 <FunctionField class =" styled fn" label =" f'(x)" v-model =" derivateFn" />
3535 </div >
3636 <div class =" field" >
37- <div class =" label" >切点位置 </div >
37+ <div class =" label" >{{ t("data.derivate.point") }} </div >
3838 <s-segmented-button v-model.lazy =" derivFollowMouseStr" >
3939 <s-segmented-button-item value =" followMouse" >
40- 跟随鼠标
40+ {{ t("data.derivate.followMouse") }}
4141 </s-segmented-button-item >
4242 <s-segmented-button-item value =" manual" >
43- 指定切点
43+ {{ t("data.derivate.manual") }}
4444 </s-segmented-button-item >
4545 </s-segmented-button >
4646 </div >
4747 <s-fold :folded =" derivFollowMouse" class =" derivate-x-coord-fold" >
4848 <div class =" field x-coord-field" >
49- <div class =" label" >切点横坐标 </div >
49+ <div class =" label" >{{ t("data.derivate.sepcify") }} </div >
5050 <s-text-field
51- class =" x-coord styled"
51+ class =" x-coord styled-inner "
5252 type =" number"
53- label =" x "
53+ : label =" t('data.derivate.xcoord') "
5454 v-model =" derivateX"
5555 ></s-text-field >
5656 </div >
6060 <!-- secant -->
6161 <div class =" content" v-else :class =" { enabled: secantEnabled }" >
6262 <div class =" field no-opacity" >
63- <div class =" label" >启用割线显示 </div >
63+ <div class =" label" >{{ t("data.secant.enable") }} </div >
6464 <s-switch type =" checkbox" v-model.lazy =" secantEnabled" ></s-switch >
6565 </div >
6666 <div class =" secants" >
7272 v-model =" item.followMouse"
7373 class =" secant-checkbox"
7474 >
75- 跟随鼠标
75+ {{ t("data.secant.followMouse") }}
7676 </s-checkbox >
7777 <s-text-field
7878 class =" sec-coord styled-inner"
111111 })
112112 "
113113 >
114- <s-icon slot =" start" name =" add" /> 添加
114+ <s-icon slot =" start" name =" add" /> {{ t("data.secant.add") }}
115115 </s-button >
116116 </div >
117117 </div >
@@ -126,6 +126,10 @@ import AnimatedList from "@/ui/animated/animatedList.vue";
126126import AnimatedListItem from " @/ui/animated/animatedListItem.vue" ;
127127import SIconDelete from " @/ui/icons/delete.vue" ;
128128
129+ import { useI18n } from " vue-i18n" ;
130+ import { I18nSchema } from " @/i18n" ;
131+ const { t } = useI18n <{ message: I18nSchema }>();
132+
129133const props = defineProps <{
130134 self: PrivateDataTypes .Linear ;
131135}>();
@@ -270,9 +274,11 @@ watchEffect(() => {
270274 width : 2.2em ;
271275 }
272276 }
273- .x-coord.styled {
277+ .x-coord.styled-inner {
278+ max-width : 12em ;
279+ }
280+ .x-coord.styled-inner ::part (input ) {
274281 font-size : 20px ;
275- max-width : 10em ;
276282 }
277283 .derivate-x-coord-fold {
278284 margin-top : -0.8em ;
0 commit comments