@ledvance/base 1.3.91 → 1.3.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/AdvanceCard.tsx +1 -0
- package/src/components/AdvanceList.tsx +73 -47
- package/src/components/Cell.tsx +49 -29
- package/src/components/Popup.tsx +2 -2
- package/src/components/rect-color-and-bright-picker/Thumb.tsx +16 -9
- package/src/composeLayout.tsx +15 -10
- package/src/i18n/strings.ts +46 -46
package/package.json
CHANGED
|
@@ -1,57 +1,92 @@
|
|
|
1
|
-
import React, { useCallback } from 'react'
|
|
2
|
-
import { FlatList, StyleSheet, View, Image } from 'react-native'
|
|
3
|
-
import AdvanceCard, { AdvancedData } from './AdvanceCard'
|
|
4
|
-
import Spacer from './Spacer'
|
|
5
1
|
import { useNavigation } from '@react-navigation/core'
|
|
2
|
+
import React, { useCallback } from 'react'
|
|
3
|
+
import { FlatList, Image, StyleSheet, View } from 'react-native'
|
|
6
4
|
import { Utils } from 'tuya-panel-kit'
|
|
7
5
|
import { getMicrophoneAccess } from '../api/native'
|
|
6
|
+
import AdvanceCard, { AdvancedData } from './AdvanceCard'
|
|
7
|
+
import Spacer from './Spacer'
|
|
8
8
|
|
|
9
9
|
const { convertX: cx } = Utils.RatioUtils
|
|
10
10
|
|
|
11
11
|
const MusicRouterKey = ['ui_biz_music', 'group_ui_biz_music']
|
|
12
12
|
|
|
13
13
|
export interface AdvanceListProps {
|
|
14
|
-
advanceData
|
|
15
|
-
onAdvanceItemClick?: (advanceData: AdvancedData, index: number) => void | undefined
|
|
14
|
+
advanceData?: AdvancedData[]
|
|
16
15
|
}
|
|
17
16
|
|
|
18
17
|
function AdvanceList(props: AdvanceListProps) {
|
|
19
18
|
const navigation = useNavigation()
|
|
20
19
|
|
|
21
|
-
const { advanceData
|
|
20
|
+
const { advanceData = [] } = props
|
|
22
21
|
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
if(
|
|
29
|
-
|
|
30
|
-
if(!res) return
|
|
31
|
-
navigation.navigate(item.router.key, item.router.params)
|
|
32
|
-
})
|
|
33
|
-
}else{
|
|
34
|
-
if (!onAdvanceItemClick || onAdvanceItemClick(item, index)) {
|
|
35
|
-
navigation.navigate(item.router.key, item.router.params)
|
|
36
|
-
}
|
|
22
|
+
const handleNavigate = useCallback(
|
|
23
|
+
async (item: AdvancedData) => {
|
|
24
|
+
try {
|
|
25
|
+
if (MusicRouterKey.includes(item.router.key)) {
|
|
26
|
+
const hasPermission = await getMicrophoneAccess()
|
|
27
|
+
if (hasPermission) {
|
|
28
|
+
navigation.navigate(item.router.key as any, item.router.params)
|
|
37
29
|
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
)
|
|
30
|
+
} else if (item.onPress) {
|
|
31
|
+
item.onPress()
|
|
32
|
+
} else {
|
|
33
|
+
navigation.navigate(item.router.key as any, item.router.params)
|
|
34
|
+
}
|
|
35
|
+
} catch (error) {
|
|
36
|
+
console.warn('Failed to check microphone access or navigate:', error)
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
[navigation]
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
const renderItem = useCallback(
|
|
43
|
+
({ item }: { item: AdvancedData; index: number }) => (
|
|
44
|
+
<View style={styles.item}>
|
|
45
|
+
<AdvanceCard
|
|
46
|
+
data={item}
|
|
47
|
+
onPress={async () => {
|
|
48
|
+
await handleNavigate(item)
|
|
49
|
+
}}
|
|
50
|
+
>
|
|
51
|
+
{item.icons && (
|
|
52
|
+
<View style={styles.iconContainer}>
|
|
53
|
+
<Image source={typeof item.icons === 'string' ? { uri: item.icons } : item.icons} style={styles.iconImage}/>
|
|
54
|
+
</View>
|
|
55
|
+
)}
|
|
56
|
+
</AdvanceCard>
|
|
57
|
+
</View>
|
|
58
|
+
),
|
|
59
|
+
[handleNavigate]
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
const keyExtractor = useCallback((item: AdvancedData, index: number) => {
|
|
63
|
+
return item.dp?.code ?? `key-${index}`
|
|
64
|
+
}, [])
|
|
49
65
|
|
|
50
|
-
|
|
66
|
+
// 改为普通函数组件提升性能
|
|
67
|
+
const Header = () => <Spacer height={cx(10)}/>
|
|
68
|
+
const Separator = () => <Spacer/>
|
|
69
|
+
const Footer = () => <Spacer height={cx(30)}/>
|
|
51
70
|
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
71
|
+
const styles = StyleSheet.create({
|
|
72
|
+
container: {
|
|
73
|
+
marginHorizontal: cx(14),
|
|
74
|
+
},
|
|
75
|
+
item: {
|
|
76
|
+
flex: 0.5,
|
|
77
|
+
justifyContent: 'center',
|
|
78
|
+
alignItems: 'center',
|
|
79
|
+
},
|
|
80
|
+
iconContainer: {
|
|
81
|
+
height: cx(118),
|
|
82
|
+
justifyContent: 'center' as const,
|
|
83
|
+
alignItems: 'center' as const,
|
|
84
|
+
},
|
|
85
|
+
iconImage: {
|
|
86
|
+
width: cx(80),
|
|
87
|
+
height: cx(80),
|
|
88
|
+
}
|
|
89
|
+
})
|
|
55
90
|
|
|
56
91
|
return (
|
|
57
92
|
<FlatList
|
|
@@ -63,19 +98,10 @@ function AdvanceList(props: AdvanceListProps) {
|
|
|
63
98
|
keyExtractor={keyExtractor}
|
|
64
99
|
ListHeaderComponent={Header}
|
|
65
100
|
ItemSeparatorComponent={Separator}
|
|
66
|
-
ListFooterComponent={Footer}
|
|
101
|
+
ListFooterComponent={Footer}
|
|
102
|
+
/>
|
|
67
103
|
)
|
|
68
104
|
}
|
|
69
105
|
|
|
70
|
-
const styles = StyleSheet.create({
|
|
71
|
-
container: {
|
|
72
|
-
marginHorizontal: cx(14),
|
|
73
|
-
},
|
|
74
|
-
item: {
|
|
75
|
-
flex: .5,
|
|
76
|
-
justifyContent: 'center',
|
|
77
|
-
alignItems: 'center',
|
|
78
|
-
},
|
|
79
|
-
})
|
|
80
106
|
|
|
81
107
|
export default AdvanceList
|
package/src/components/Cell.tsx
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
import { IconFont, Utils } from 'tuya-panel-kit'
|
|
2
|
-
import { StyleProp, Text, TextStyle, TouchableOpacity, View, ViewStyle, Image, ImageSourcePropType, ImageStyle } from 'react-native'
|
|
3
1
|
import React from 'react'
|
|
4
|
-
import
|
|
2
|
+
import {
|
|
3
|
+
Image,
|
|
4
|
+
ImageSourcePropType,
|
|
5
|
+
ImageStyle,
|
|
6
|
+
StyleProp,
|
|
7
|
+
Text,
|
|
8
|
+
TextStyle,
|
|
9
|
+
TouchableOpacity,
|
|
10
|
+
View,
|
|
11
|
+
ViewStyle
|
|
12
|
+
} from 'react-native'
|
|
13
|
+
import { IconFont, Utils } from 'tuya-panel-kit'
|
|
14
|
+
import ThemeType from '../config/themeType'
|
|
5
15
|
|
|
6
16
|
const cx = Utils.RatioUtils.convertX
|
|
7
17
|
const { withTheme } = Utils.ThemeUtils
|
|
@@ -11,19 +21,20 @@ interface CellProps {
|
|
|
11
21
|
icon?: ImageSourcePropType
|
|
12
22
|
iconStyle?: StyleProp<ImageStyle>
|
|
13
23
|
title: string,
|
|
14
|
-
value
|
|
15
|
-
onPress
|
|
24
|
+
value?: string,
|
|
25
|
+
onPress?: () => void,
|
|
16
26
|
hideArrow?: boolean
|
|
17
27
|
style?: StyleProp<ViewStyle>
|
|
18
28
|
contentStyle?: StyleProp<ViewStyle>
|
|
19
29
|
titleStyle?: StyleProp<TextStyle>
|
|
20
30
|
valueStyle?: StyleProp<TextStyle>
|
|
31
|
+
rightContent?: React.ReactNode
|
|
21
32
|
}
|
|
22
33
|
|
|
23
34
|
export default withTheme(function Cell(props: CellProps) {
|
|
24
35
|
return (
|
|
25
36
|
<TouchableOpacity
|
|
26
|
-
accessibilityLabel={
|
|
37
|
+
accessibilityLabel={'Cell'}
|
|
27
38
|
accessibilityHint={props.value}
|
|
28
39
|
style={[{
|
|
29
40
|
height: cx(50),
|
|
@@ -31,7 +42,9 @@ export default withTheme(function Cell(props: CellProps) {
|
|
|
31
42
|
justifyContent: 'center',
|
|
32
43
|
backgroundColor: props.theme?.card.background,
|
|
33
44
|
}, props.style]}
|
|
34
|
-
onPress={
|
|
45
|
+
onPress={() => {
|
|
46
|
+
props.onPress && props.onPress()
|
|
47
|
+
}}>
|
|
35
48
|
<CellContent
|
|
36
49
|
icon={props.icon}
|
|
37
50
|
iconStyle={props.iconStyle}
|
|
@@ -41,6 +54,7 @@ export default withTheme(function Cell(props: CellProps) {
|
|
|
41
54
|
valueStyle={props.valueStyle}
|
|
42
55
|
hideArrow={props.hideArrow}
|
|
43
56
|
style={props.contentStyle}
|
|
57
|
+
rightContent={props.rightContent}
|
|
44
58
|
/>
|
|
45
59
|
</TouchableOpacity>
|
|
46
60
|
)
|
|
@@ -51,12 +65,13 @@ interface CellContentProps {
|
|
|
51
65
|
icon?: ImageSourcePropType
|
|
52
66
|
iconStyle?: StyleProp<ImageStyle>
|
|
53
67
|
title: string
|
|
54
|
-
value
|
|
68
|
+
value?: string
|
|
55
69
|
style?: StyleProp<ViewStyle>
|
|
56
70
|
titleStyle?: StyleProp<TextStyle>
|
|
57
71
|
valueStyle?: StyleProp<TextStyle>
|
|
58
72
|
hideArrow?: boolean
|
|
59
73
|
arrowStyle?: { color?: any, size?: number }
|
|
74
|
+
rightContent?: React.ReactNode
|
|
60
75
|
}
|
|
61
76
|
|
|
62
77
|
const CellContentBase = (props: CellContentProps) => {
|
|
@@ -67,7 +82,8 @@ const CellContentBase = (props: CellContentProps) => {
|
|
|
67
82
|
props.style,
|
|
68
83
|
]}>
|
|
69
84
|
<View style={{ flexDirection: 'row', alignItems: 'center' }}>
|
|
70
|
-
{props.icon && (<Image source={props.icon}
|
|
85
|
+
{props.icon && (<Image source={props.icon}
|
|
86
|
+
style={[{ width: cx(24), height: cx(24), marginRight: cx(10) }, props.iconStyle]}/>)}
|
|
71
87
|
<Text
|
|
72
88
|
style={[
|
|
73
89
|
{
|
|
@@ -78,28 +94,32 @@ const CellContentBase = (props: CellContentProps) => {
|
|
|
78
94
|
props.titleStyle,
|
|
79
95
|
]}>{props.title}</Text>
|
|
80
96
|
</View>
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
{
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
{
|
|
98
|
+
props.rightContent !== undefined ? props.rightContent : (
|
|
99
|
+
<View style={{ flexDirection: 'row', alignItems: 'center' }}>
|
|
100
|
+
<Text style={[
|
|
101
|
+
{
|
|
102
|
+
fontSize: cx(14),
|
|
103
|
+
color: props.theme?.global.secondFontColor,
|
|
104
|
+
fontFamily: 'helvetica_neue_lt_std_roman',
|
|
105
|
+
},
|
|
106
|
+
props.valueStyle,
|
|
107
|
+
]}>{props.value}</Text>
|
|
108
|
+
<View style={{ width: cx(4) }}/>
|
|
109
|
+
{
|
|
110
|
+
!props.hideArrow && (
|
|
111
|
+
<IconFont
|
|
112
|
+
name="arrow"
|
|
113
|
+
color={props.arrowStyle?.color || props.theme?.global.secondFontColor}
|
|
114
|
+
size={props.arrowStyle?.size || cx(11)}/>
|
|
115
|
+
)
|
|
116
|
+
}
|
|
117
|
+
</View>
|
|
118
|
+
)
|
|
119
|
+
}
|
|
100
120
|
</View>
|
|
101
121
|
)
|
|
102
122
|
}
|
|
103
123
|
const CellContent = withTheme(CellContentBase) as React.ComponentType<CellContentProps>
|
|
104
124
|
|
|
105
|
-
export { CellContent }
|
|
125
|
+
export { CellContent }
|
package/src/components/Popup.tsx
CHANGED
|
@@ -3,7 +3,7 @@ import {Text, TouchableOpacity, View} from 'react-native'
|
|
|
3
3
|
import {Popup, Utils} from 'tuya-panel-kit'
|
|
4
4
|
import ThemeType from '../config/themeType'
|
|
5
5
|
|
|
6
|
-
const {convertX: cx, height} = Utils.RatioUtils
|
|
6
|
+
const {convertX: cx, height, statusBarHeight} = Utils.RatioUtils
|
|
7
7
|
const { withTheme } = Utils.ThemeUtils
|
|
8
8
|
|
|
9
9
|
interface InformationPopupProps {
|
|
@@ -50,7 +50,7 @@ const InformationPopup = (props: InformationPopupProps) => {
|
|
|
50
50
|
})
|
|
51
51
|
|
|
52
52
|
Popup.custom({
|
|
53
|
-
content: <View style={{height: height - cx(
|
|
53
|
+
content: <View style={{height: height - statusBarHeight - cx(40), padding: cx(24)}}>
|
|
54
54
|
{props.content}
|
|
55
55
|
</View>,
|
|
56
56
|
title: <TitleNode />,
|
|
@@ -11,11 +11,22 @@ interface IProps {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export default class Thumb extends Component<IProps> {
|
|
14
|
+
private animateX: Animated.Value;
|
|
15
|
+
private animateY: Animated.Value;
|
|
16
|
+
private previewRef: NativeComponent;
|
|
17
|
+
|
|
18
|
+
constructor(props: IProps) {
|
|
19
|
+
super(props);
|
|
20
|
+
// 确保在构造函数中初始化
|
|
21
|
+
this.animateX = new Animated.Value(props.x);
|
|
22
|
+
this.animateY = new Animated.Value(props.y);
|
|
23
|
+
}
|
|
24
|
+
|
|
14
25
|
componentDidUpdate(prevProps: IProps) {
|
|
15
|
-
if (prevProps.x !== this.props.x) {
|
|
26
|
+
if (prevProps.x !== this.props.x && this.animateX) {
|
|
16
27
|
this.animateX.setValue(this.props.x);
|
|
17
28
|
}
|
|
18
|
-
if (prevProps.y !== this.props.y) {
|
|
29
|
+
if (prevProps.y !== this.props.y && this.animateY) {
|
|
19
30
|
this.animateY.setValue(this.props.y);
|
|
20
31
|
}
|
|
21
32
|
}
|
|
@@ -34,13 +45,13 @@ export default class Thumb extends Component<IProps> {
|
|
|
34
45
|
|
|
35
46
|
setNativeProps(props: IProps) {
|
|
36
47
|
const { x, y, color } = props;
|
|
37
|
-
if (typeof x === 'number') {
|
|
48
|
+
if (typeof x === 'number' && this.animateX) {
|
|
38
49
|
this.animateX.setValue(x);
|
|
39
50
|
}
|
|
40
|
-
if (typeof y === 'number') {
|
|
51
|
+
if (typeof y === 'number' && this.animateY) {
|
|
41
52
|
this.animateY.setValue(y);
|
|
42
53
|
}
|
|
43
|
-
if (typeof color === 'string') {
|
|
54
|
+
if (typeof color === 'string' && this.previewRef) {
|
|
44
55
|
this.previewRef.setNativeProps({
|
|
45
56
|
style: {
|
|
46
57
|
backgroundColor: color,
|
|
@@ -49,10 +60,6 @@ export default class Thumb extends Component<IProps> {
|
|
|
49
60
|
}
|
|
50
61
|
}
|
|
51
62
|
|
|
52
|
-
private animateX = new Animated.Value(this.props.x);
|
|
53
|
-
private animateY = new Animated.Value(this.props.y);
|
|
54
|
-
private previewRef: NativeComponent;
|
|
55
|
-
|
|
56
63
|
render() {
|
|
57
64
|
const { color, size, img } = this.props;
|
|
58
65
|
const maskWidth = (size / 38) * 62;
|
package/src/composeLayout.tsx
CHANGED
|
@@ -3,8 +3,8 @@ import React, { Component } from 'react'
|
|
|
3
3
|
import { Provider } from 'react-redux'
|
|
4
4
|
import { DevInfo, DpValue, Theme, TYSdk } from 'tuya-panel-kit'
|
|
5
5
|
import { actions, store } from './models'
|
|
6
|
-
import {addListener, nativeEventEmitter, removeListener} from './api/nativeEventEmitter'
|
|
7
|
-
import {getSystemTimeFormat, getTimeZone, NativeApi} from './api/native'
|
|
6
|
+
import { addListener, nativeEventEmitter, removeListener } from './api/nativeEventEmitter'
|
|
7
|
+
import { getSystemTimeFormat, getTimeZone, NativeApi } from './api/native'
|
|
8
8
|
import {
|
|
9
9
|
DeviceInfo,
|
|
10
10
|
NativeProps,
|
|
@@ -17,8 +17,8 @@ import {
|
|
|
17
17
|
} from './models/modules/NativePropsSlice'
|
|
18
18
|
import { LdvDpSchema, GlobalParams } from './models/GlobalParams'
|
|
19
19
|
import Connect from './components/connect'
|
|
20
|
-
import darkTheme from
|
|
21
|
-
import lightTheme from
|
|
20
|
+
import darkTheme from './config/dark-theme'
|
|
21
|
+
import lightTheme from './config/light-theme'
|
|
22
22
|
|
|
23
23
|
interface Props {
|
|
24
24
|
devInfo: DevInfo
|
|
@@ -78,7 +78,11 @@ const composeLayout = (component: React.ComponentType) => {
|
|
|
78
78
|
* 每当设备信息变更时,会将变更的设备信息值同步更新到`redux`中去。
|
|
79
79
|
*/
|
|
80
80
|
TYSdk.event.on('networkStateChange', data => {
|
|
81
|
-
|
|
81
|
+
if (actions && actions.common && actions.common.deviceChange) {
|
|
82
|
+
dispatch(actions.common.deviceChange(data as any))
|
|
83
|
+
} else {
|
|
84
|
+
console.warn('actions.common.deviceChange is not available')
|
|
85
|
+
}
|
|
82
86
|
})
|
|
83
87
|
|
|
84
88
|
class PanelComponent extends Component<Props> {
|
|
@@ -92,6 +96,7 @@ const composeLayout = (component: React.ComponentType) => {
|
|
|
92
96
|
state = {
|
|
93
97
|
colorScheme: 'light'
|
|
94
98
|
}
|
|
99
|
+
|
|
95
100
|
constructor(props: Props) {
|
|
96
101
|
super(props)
|
|
97
102
|
if (props && props.devInfo && props.devInfo.devId) {
|
|
@@ -153,7 +158,7 @@ const composeLayout = (component: React.ComponentType) => {
|
|
|
153
158
|
config: {},
|
|
154
159
|
groupDevices: []
|
|
155
160
|
},
|
|
156
|
-
initialDps: {...dps, ...JSON.parse(ldvDevInfo.dps)},
|
|
161
|
+
initialDps: { ...dps, ...JSON.parse(ldvDevInfo.dps) },
|
|
157
162
|
familyName: ldvDevInfo.familyName,
|
|
158
163
|
role: ldvDevInfo.role,
|
|
159
164
|
moods: [],
|
|
@@ -198,10 +203,10 @@ const composeLayout = (component: React.ComponentType) => {
|
|
|
198
203
|
dispatch(setGroupNativeProps(nativeProps))
|
|
199
204
|
}
|
|
200
205
|
|
|
201
|
-
async initGroupDevices(tyGroupId: number){
|
|
202
|
-
if(!tyGroupId) return
|
|
206
|
+
async initGroupDevices(tyGroupId: number) {
|
|
207
|
+
if (!tyGroupId) return
|
|
203
208
|
const res = await NativeApi.getGroupDevices(tyGroupId)
|
|
204
|
-
if(res.success && Array.isArray(res.data)){
|
|
209
|
+
if (res.success && Array.isArray(res.data)) {
|
|
205
210
|
dispatch(setGroupDevices(res.data))
|
|
206
211
|
}
|
|
207
212
|
}
|
|
@@ -218,7 +223,7 @@ const composeLayout = (component: React.ComponentType) => {
|
|
|
218
223
|
type: schemaItem.type,
|
|
219
224
|
mode: schemaItem.mode,
|
|
220
225
|
property: schemaItem.property,
|
|
221
|
-
}
|
|
226
|
+
}
|
|
222
227
|
dpSchemaMap[schemaItem.code] = dpSchema
|
|
223
228
|
dpSchemaMap[schemaItem.id] = dpSchema
|
|
224
229
|
dps[schemaItem.id] = null
|
package/src/i18n/strings.ts
CHANGED
|
@@ -5373,7 +5373,7 @@ export default {
|
|
|
5373
5373
|
"curtain_fast_calibration_step2": "Indtast den tid, gardinet bruger på at åbne helt fra lukket position.",
|
|
5374
5374
|
"curtain_fast_toast_text": "Hurtigkalibrering er ikke mulig, når gardinet er trukket helt for.",
|
|
5375
5375
|
"curtain_intelligent_calibration": "Intelligent kalibrering",
|
|
5376
|
-
"curtain_intelligent_calibration_step1": "Bemærk: Ved intelligent kalibrering kræves en vægkontakt, så gardinet kan åbnes og lukkes helt. Hvis du ikke bruger en vægkontakt, skal du vælge
|
|
5376
|
+
"curtain_intelligent_calibration_step1": "Bemærk: Ved intelligent kalibrering kræves en vægkontakt, så gardinet kan åbnes og lukkes helt. Hvis du ikke bruger en vægkontakt, skal du vælge hurtig kalibrering.\n\n1. Installer gardinmotoren korrekt før kalibrering, så gardinet kan trækkes helt for og fra\n2. Tryk på vægkontakten, til gardinet er helt trukket for\n3. Tryk på \"Næste\"",
|
|
5377
5377
|
"curtain_intelligent_calibration_step2": "1. Tryk på vægkontakten for at trække gardinet helt fra.\n\n2. Tryk på vægkontakten for at trække gardinet helt for.\n\n3. Når trin 1 og 2 er udført, tryk på \"Kalibrér\".",
|
|
5378
5378
|
"curtain_motor_steering": "Motorstyring",
|
|
5379
5379
|
"curtain_motor_steering1": "Frem",
|
|
@@ -7819,7 +7819,7 @@ export default {
|
|
|
7819
7819
|
"curtain_fast_calibration_step2": "Εισαγάγετε τον χρόνο που απαιτείται από την κουρτίνα απο πλήρες κλείσιμο, σε πλήρες άνοιγμα.",
|
|
7820
7820
|
"curtain_fast_toast_text": "Η γρήγορη βαθμονόμηση δεν επιτρέπεται όταν η κουρτίνα βρίσκεται σε επίπεδο ανοίγματος 0%.",
|
|
7821
7821
|
"curtain_intelligent_calibration": "Έξυπνη βαθμονόμηση",
|
|
7822
|
-
"curtain_intelligent_calibration_step1": "Λάβετε υπόψη ότι για έξυπνη βαθμονόμηση χρειάζεστε έναν διακόπτη τοίχου για να ανοίξετε/κλείσετε πλήρως την κουρτίνα. Εάν δεν χρησιμοποιείτε διακόπτη τοίχου, χρησιμοποιήστε τη λειτουργία γρήγορης βαθμονόμησης.\n\n1. Τοποθετήστε σωστά τον κινητήρα κουρτίνας πριν από τη βαθμονόμηση έτσι ώστε η κουρτίνα να μπορεί να ανοίξει πλήρως ή να κλείσει.\n\n2. Κάντε κλικ στο «Επόμενο βήμα».",
|
|
7822
|
+
"curtain_intelligent_calibration_step1": "Λάβετε υπόψη ότι για έξυπνη βαθμονόμηση χρειάζεστε έναν διακόπτη τοίχου για να ανοίξετε/κλείσετε πλήρως την κουρτίνα. Εάν δεν χρησιμοποιείτε διακόπτη τοίχου, χρησιμοποιήστε τη λειτουργία γρήγορης βαθμονόμησης.\n\n1. Τοποθετήστε σωστά τον κινητήρα κουρτίνας πριν από τη βαθμονόμηση έτσι ώστε η κουρτίνα να μπορεί να ανοίξει πλήρως ή να κλείσει.\n\n2. Πατήστε τον διακόπτη τοίχου για να κλείσετε την κουρτίνα μέχρι να κλείσει πλήρως.\n\n3. Κάντε κλικ στο «Επόμενο βήμα».",
|
|
7823
7823
|
"curtain_intelligent_calibration_step2": "1. Πατήστε το διακόπτη τοίχου για να ανοίξετε την κουρτίνα μέχρι να ανοίξει πλήρως.\n\n2. Πατήστε το διακόπτη τοίχου για να κλείσετε την κουρτίνα μέχρι να κλείσει πλήρως.\n\n3. Μόλις ολοκληρωθούν τα βήματα στα 1 και 2, κάντε κλικ στην επιλογή «Βαθμονόμηση».",
|
|
7824
7824
|
"curtain_motor_steering": "Σύστημα διεύθυνσης κινητήρα",
|
|
7825
7825
|
"curtain_motor_steering1": "Κατεύθυνση προς τα εμπρός",
|
|
@@ -10057,10 +10057,10 @@ export default {
|
|
|
10057
10057
|
"ceiling_light_title_lighting_headline": "Lisavalgustus",
|
|
10058
10058
|
"chartdisplay_energy": "Energia",
|
|
10059
10059
|
"chartdisplay_power": "Võimsus",
|
|
10060
|
-
"charttime_type1": "24
|
|
10061
|
-
"charttime_type2": "6
|
|
10062
|
-
"charttime_type3": "1
|
|
10063
|
-
"charttime_type4": "5
|
|
10060
|
+
"charttime_type1": "24 tundi",
|
|
10061
|
+
"charttime_type2": "6 tundi",
|
|
10062
|
+
"charttime_type3": "1 tund",
|
|
10063
|
+
"charttime_type4": "5 minutit",
|
|
10064
10064
|
"childlock_overview_description_text": "See funktsioon lülitab seadme füüsilise lüliti välja. Saad selle funktsiooni välja lülitada siit või vajutades seadme lülitit viie sekundi jooksul neli korda järjest.",
|
|
10065
10065
|
"conflict_dialog_active_item_bio_rhythm_description": "Pane tähele, et bioloogiline rütm on vastuolus ühe või mitme funktsiooniga. Sellised funktsioonid inaktiveeritakse.",
|
|
10066
10066
|
"conflict_dialog_active_item_bio_rhythm_titel": "Kas soovid tõesti selle bioloogilise rütmi ajakava aktiveerida?",
|
|
@@ -10622,7 +10622,7 @@ export default {
|
|
|
10622
10622
|
"plug_energyconsumptionswitch": "Üleminek energiatarbimise režiimile",
|
|
10623
10623
|
"plug_energygenerationswitch": "Üleminek energiatootmise režiimile",
|
|
10624
10624
|
"pos_mode_switching_fail_tips": "Vale parool. Palun kontrollige ja sisestage õige parool.",
|
|
10625
|
-
"power_chart_empty": "
|
|
10625
|
+
"power_chart_empty": "Praeguse ajaperioodi kohta andmed puuduvad",
|
|
10626
10626
|
"power_management_battery_remaining": "Aku järelejäänud tase",
|
|
10627
10627
|
"power_management_low_battery_alarm_threshold": "Määrake aku tase, mis peaks äratuse käivitumiseks olema",
|
|
10628
10628
|
"power_management_power_source": "Toiteallikas",
|
|
@@ -10982,13 +10982,13 @@ export default {
|
|
|
10982
10982
|
"timeschedule_add_schedule_weekday5_text": "R",
|
|
10983
10983
|
"timeschedule_add_schedule_weekday6_text": "L",
|
|
10984
10984
|
"timeschedule_add_schedule_weekday7_text": "P",
|
|
10985
|
-
"timeschedule_off": "
|
|
10986
|
-
"timeschedule_on": "
|
|
10985
|
+
"timeschedule_off": "VÄLJAS - Ajakava",
|
|
10986
|
+
"timeschedule_on": "SEES - Ajakava",
|
|
10987
10987
|
"timeschedule_overview_description_text": "Võib esineda kuni 30-sekundilisi lühikesi viivitusi.",
|
|
10988
10988
|
"timeschedule_overview_empty_button_add_text": "Lisa ajakava",
|
|
10989
10989
|
"timeschedule_overview_empty_information_text": "Sa ei ole veel ajakava lisanud.",
|
|
10990
10990
|
"timeschedule_overview_headline_text": "Ajakava",
|
|
10991
|
-
"timeschedule_own": "
|
|
10991
|
+
"timeschedule_own": "Loo oma ajakava",
|
|
10992
10992
|
"title_COsensor": "CO detektor",
|
|
10993
10993
|
"title_smokesensor": "Suitsuandur",
|
|
10994
10994
|
"title_watersensor": "Veelekke detektor",
|
|
@@ -11488,7 +11488,7 @@ export default {
|
|
|
11488
11488
|
"curtain_fast_calibration_step2": "Anna verhon tarvitsema aika täysin suljetusta täysin avoimeen.",
|
|
11489
11489
|
"curtain_fast_toast_text": "Nopea kalibrointi on sallittua vain, kun verho on täysin suljettu 0%: lla.",
|
|
11490
11490
|
"curtain_intelligent_calibration": "Älykäs kalibrointi",
|
|
11491
|
-
"curtain_intelligent_calibration_step1": "Huomaa, että älykästä kalibrointia varten tarvitset seinäkytkimen verhon avaamiseksi/sulkemiseksi kokonaan. Jos et käytä seinäkytkintä, käytä nopeaa kalibrointitilaa.\n\n1. Asenna verhomoottori oikein ennen kalibrointia, jotta verho voidaan avata tai sulkea kokonaan.\n\n2. Napsauta ”Seuraava vaihe”.",
|
|
11491
|
+
"curtain_intelligent_calibration_step1": "Huomaa, että älykästä kalibrointia varten tarvitset seinäkytkimen verhon avaamiseksi/sulkemiseksi kokonaan. Jos et käytä seinäkytkintä, käytä nopeaa kalibrointitilaa.\n\n1. Asenna verhomoottori oikein ennen kalibrointia, jotta verho voidaan avata tai sulkea kokonaan.\n\n2. Paina seinäkytkintä, kunnes verho on kokonaan suljettu.\n\n3. Napsauta ”Seuraava vaihe”.",
|
|
11492
11492
|
"curtain_intelligent_calibration_step2": "1. Avaa verho painamalla seinäkytkintä, kunnes se on täysin auki.\n\n2. Sulje verho painamalla seinäkytkintä, kunnes se on täysin suljettu.\n\n3. Kun vaiheet 1 ja 2 on tehty, napsauta ”Kalibroi”.",
|
|
11493
11493
|
"curtain_motor_steering": "Moottorin ohjaus",
|
|
11494
11494
|
"curtain_motor_steering1": "Eteenpäin",
|
|
@@ -12503,9 +12503,9 @@ export default {
|
|
|
12503
12503
|
"ceiling_light_title_lighting_headline": "Éclairage secondaire",
|
|
12504
12504
|
"chartdisplay_energy": "Énergie",
|
|
12505
12505
|
"chartdisplay_power": "Puissance",
|
|
12506
|
-
"charttime_type1": "24
|
|
12507
|
-
"charttime_type2": "6
|
|
12508
|
-
"charttime_type3": "1
|
|
12506
|
+
"charttime_type1": "24 h",
|
|
12507
|
+
"charttime_type2": "6 h",
|
|
12508
|
+
"charttime_type3": "1 h",
|
|
12509
12509
|
"charttime_type4": "5 minutes",
|
|
12510
12510
|
"childlock_overview_description_text": "Cette fonctionnalité désactive le bouton présent sur l'appareil. Pour supprimer cette sécurité, appuyez 4 fois rapidement sur le bouton ou rendez-vous dans ce menu.",
|
|
12511
12511
|
"conflict_dialog_active_item_bio_rhythm_description": "Notez que le rythme biologique entre en conflit avec une ou plusieurs caractéristiques. Les fonctionnalités en conflit seront désactivées.",
|
|
@@ -12711,7 +12711,7 @@ export default {
|
|
|
12711
12711
|
"curtain_fast_calibration_step2": "Veuillez saisir la durée nécessaire au rideau pour passer d'un état complètement fermé à complètement ouvert.",
|
|
12712
12712
|
"curtain_fast_toast_text": "L'étalonnage rapide n'est autorisé que lorsque le rideau est complètement fermé à 0 %.",
|
|
12713
12713
|
"curtain_intelligent_calibration": "Étalonnage intelligent",
|
|
12714
|
-
"curtain_intelligent_calibration_step1": "Pour réaliser un étalonnage intelligent, un interrupteur mural est nécessaire pour ouvrir/fermer complètement le rideau. Sans interrupteur, le mode d'étalonnage rapide est également disponible.\n\n1. Installer correctement le moteur du rideau avant l'étalonnage afin qu'il puisse être complètement ouvert/fermé.\n\n2. Sélectionner « Étape suivante ».",
|
|
12714
|
+
"curtain_intelligent_calibration_step1": "Pour réaliser un étalonnage intelligent, un interrupteur mural est nécessaire pour ouvrir/fermer complètement le rideau. Sans interrupteur, le mode d'étalonnage rapide est également disponible.\n\n1. Installer correctement le moteur du rideau avant l'étalonnage afin qu'il puisse être complètement ouvert/fermé.\n\n2. Appuyer sur l'interrupteur mural pour fermer le rideau jusqu'à ce qu'il le soit complètement.\n \n3. Sélectionner « Étape suivante ».",
|
|
12715
12715
|
"curtain_intelligent_calibration_step2": "1. Appuyer sur l'interrupteur mural pour tirer le rideau jusqu'à ce qu'il soit complètement ouvert.\n\n2. Appuyer sur l'interrupteur mural pour tirer le rideau jusqu'à ce qu'il soit complètement fermé.\n\n3. Sélectionner ensuite « Étalonner ».",
|
|
12716
12716
|
"curtain_motor_steering": "Direction motorisée",
|
|
12717
12717
|
"curtain_motor_steering1": "Direction vers l'avant",
|
|
@@ -13068,7 +13068,7 @@ export default {
|
|
|
13068
13068
|
"plug_energyconsumptionswitch": "Passer en mode \"Consommation d'énergie\" (le plus courant)",
|
|
13069
13069
|
"plug_energygenerationswitch": "Passer en mode \"Production d'énergie\"",
|
|
13070
13070
|
"pos_mode_switching_fail_tips": "Mot de passe incorrect. Veuillez vérifier et saisir le mot de passe correct.",
|
|
13071
|
-
"power_chart_empty": "
|
|
13071
|
+
"power_chart_empty": "Il n'y a pas de données pour la période actuelle.",
|
|
13072
13072
|
"power_management_battery_remaining": "Niveau de batterie restant",
|
|
13073
13073
|
"power_management_low_battery_alarm_threshold": "Définir le niveau minimum de batterie, déclenchant l'alarme",
|
|
13074
13074
|
"power_management_power_source": "Source d'alimentation",
|
|
@@ -13428,13 +13428,13 @@ export default {
|
|
|
13428
13428
|
"timeschedule_add_schedule_weekday5_text": "Ven",
|
|
13429
13429
|
"timeschedule_add_schedule_weekday6_text": "Sam",
|
|
13430
13430
|
"timeschedule_add_schedule_weekday7_text": "Dim",
|
|
13431
|
-
"timeschedule_off": "OFF -
|
|
13432
|
-
"timeschedule_on": "ON -
|
|
13431
|
+
"timeschedule_off": "OFF - Horaires",
|
|
13432
|
+
"timeschedule_on": "ON - Horaires",
|
|
13433
13433
|
"timeschedule_overview_description_text": "Il est possible qu'il y ait quelques secondes de décalage par rapport à l'heure paramétrée.",
|
|
13434
13434
|
"timeschedule_overview_empty_button_add_text": "Ajouter des horaires",
|
|
13435
13435
|
"timeschedule_overview_empty_information_text": "Vous n'avez pas encore ajouté d'horaires.",
|
|
13436
13436
|
"timeschedule_overview_headline_text": "Horaires",
|
|
13437
|
-
"timeschedule_own": "
|
|
13437
|
+
"timeschedule_own": "Créez vos propres Horaires",
|
|
13438
13438
|
"title_COsensor": "Détecteur de monoxyde de carbone",
|
|
13439
13439
|
"title_smokesensor": "Détecteur de fumée",
|
|
13440
13440
|
"title_watersensor": "Détecteur de fuite d'eau",
|
|
@@ -14948,11 +14948,11 @@ export default {
|
|
|
14948
14948
|
"ceiling_fan_tile_uvc_fan_speed": "Sebesség",
|
|
14949
14949
|
"ceiling_light_title_lighting_headline": "Másodlagos világítás",
|
|
14950
14950
|
"chartdisplay_energy": "Energia",
|
|
14951
|
-
"chartdisplay_power": "
|
|
14952
|
-
"charttime_type1": "24
|
|
14953
|
-
"charttime_type2": "6
|
|
14954
|
-
"charttime_type3": "1
|
|
14955
|
-
"charttime_type4": "5
|
|
14951
|
+
"chartdisplay_power": "Teljesítmény",
|
|
14952
|
+
"charttime_type1": "24 óra",
|
|
14953
|
+
"charttime_type2": "6 óra",
|
|
14954
|
+
"charttime_type3": "1 óra",
|
|
14955
|
+
"charttime_type4": "5 perc",
|
|
14956
14956
|
"childlock_overview_description_text": "Ez a funkció letiltja a készülék fizikai kapcsolóját. A kikapcsoláshoz öt másodpercen belül négy egymást követő alkalommal megnyomhatja a kapcsolót, vagy innen kikapcsolhatja ezt a funkciót.",
|
|
14957
14957
|
"conflict_dialog_active_item_bio_rhythm_description": "Vegye figyelembe, hogy a bioritmus ütközik egy vagy több funkcióval. Az ütköző funkciókat inaktiválja a rendszer.",
|
|
14958
14958
|
"conflict_dialog_active_item_bio_rhythm_titel": "Valóban aktiválni szeretné ezt a bioritmus-ütemezést?",
|
|
@@ -15514,7 +15514,7 @@ export default {
|
|
|
15514
15514
|
"plug_energyconsumptionswitch": "Energiafogyasztási üzemmódra váltás",
|
|
15515
15515
|
"plug_energygenerationswitch": "Átváltás energiatermelési üzemmódra",
|
|
15516
15516
|
"pos_mode_switching_fail_tips": "Helytelen jelszó. Kérjük, ellenőrizze és adja meg a helyes jelszót.",
|
|
15517
|
-
"power_chart_empty": "
|
|
15517
|
+
"power_chart_empty": "A jelenlegi időszakban nincs adat",
|
|
15518
15518
|
"power_management_battery_remaining": "Fennmaradó akkumulátorszint",
|
|
15519
15519
|
"power_management_low_battery_alarm_threshold": "Állítsa be, hogy az akkumulátornak milyen szinten kell lennie ahhoz, hogy a riasztás elinduljon.",
|
|
15520
15520
|
"power_management_power_source": "Áramforrás",
|
|
@@ -16380,7 +16380,7 @@ export default {
|
|
|
16380
16380
|
"curtain_fast_calibration_step2": "Inserisci il tempo necessario affinché la tenda passi dalla completa chiusura alla completa apertura.",
|
|
16381
16381
|
"curtain_fast_toast_text": "La calibrazione rapida è consentita solo quando la tenda è completamente chiusa allo 0%.",
|
|
16382
16382
|
"curtain_intelligent_calibration": "Calibrazione intelligente",
|
|
16383
|
-
"curtain_intelligent_calibration_step1": "Si prega di notare che per una calibrazione intelligente è necessario un interruttore a parete per aprire/chiudere completamente la tenda. Se non si utilizza un interruttore a parete, utilizzare la modalità di calibrazione rapida.\n\n1.
|
|
16383
|
+
"curtain_intelligent_calibration_step1": "Si prega di notare che per una calibrazione intelligente è necessario un interruttore a parete per aprire/chiudere completamente la tenda. Se non si utilizza un interruttore a parete, utilizzare la modalità di calibrazione rapida.\n\n1. Installa correttamente il motore della tenda prima della calibrazione in modo che la tenda possa essere completamente aperta/chiusa.\n\n2. Premi l'interruttore a parete per chiudere la tenda fino a quando non è completamente chiusa.\n\n3. Clicca su \"Passaggio successivo\".",
|
|
16384
16384
|
"curtain_intelligent_calibration_step2": "1. Sposta la tenda in modo che sia completamente «aperta».\n\n2. Sposta la tenda fino a «chiuderla» completamente.\n\n3. Una volta completati i passaggi 1 e 2, fai clic su «Calibra».",
|
|
16385
16385
|
"curtain_motor_steering": "Guida del motore",
|
|
16386
16386
|
"curtain_motor_steering1": "Direzione in avanti",
|
|
@@ -17128,7 +17128,7 @@ export default {
|
|
|
17128
17128
|
"Onoff_button_socket": "켜기 / 끄기",
|
|
17129
17129
|
"Remotecontrol_Title": "WiFi 리모컨을 정말로 활성화하시겠습니까?",
|
|
17130
17130
|
"Remotecontrol_description": "WiFi 리모컨이 활성화되면 대기 전력이 증가한다는 점에 유의하세요.",
|
|
17131
|
-
"activate_sensor": "센서
|
|
17131
|
+
"activate_sensor": "센서 활성화하기",
|
|
17132
17132
|
"addTimeCycle_settings_sec_text": "장치의 전원을 얼마동안 켜두어야 합니까?",
|
|
17133
17133
|
"addTimeCycle_settings_sec_text2": "장치의 전원을 얼마동안 꺼두어야 합니까?",
|
|
17134
17134
|
"addTimeCycle_warning_text": "시간 설정이 사용 가능한 기간을 초과했습니다.",
|
|
@@ -17603,7 +17603,7 @@ export default {
|
|
|
17603
17603
|
"curtain_fast_calibration_step2": "커튼이 완전히 닫힌 상태에서 완전히 열리는 시간까지 필요한 시간을 입력하십시오.",
|
|
17604
17604
|
"curtain_fast_toast_text": "커튼이 0% 로 완전히 닫혔을 때만 빠른 보정이 가능합니다.",
|
|
17605
17605
|
"curtain_intelligent_calibration": "지능형 캘리브레이션",
|
|
17606
|
-
"curtain_intelligent_calibration_step1": "
|
|
17606
|
+
"curtain_intelligent_calibration_step1": "자동커튼을 보정할시 커튼을 완전히 열고 닫을 수 있는 벽 스위치가 필요하다는 점에 유의하세요. 벽 스위치를 사용하지 않는 경우에는 고속 보정모드를 사용하십시오.\n\n1. 자동 보정 전에 커튼 모터를 올바르게 설치하여 커튼을 완전히 열고 닫을 수 있도록 하십시오.\n\n2. 벽 스위치를 눌러 커튼이 완전히 닫히도록 하십시오.\n\n3. \"다음 단계 \"를 눌러주세요.",
|
|
17607
17607
|
"curtain_intelligent_calibration_step2": "1.커튼이 완전히 열릴 때까지 벽 스위치를 눌러 커튼을 엽니다.\n\n2.커튼이 완전히 닫힐 때까지 벽 스위치를 눌러 커튼을 닫습니다.\n\n3.1과 2의 단계가 완료되면 “보정”을 클릭합니다.",
|
|
17608
17608
|
"curtain_motor_steering": "모터 스티어링",
|
|
17609
17609
|
"curtain_motor_steering1": "전진 방향",
|
|
@@ -18617,11 +18617,11 @@ export default {
|
|
|
18617
18617
|
"ceiling_fan_tile_uvc_fan_speed": "Greitis",
|
|
18618
18618
|
"ceiling_light_title_lighting_headline": "Papildomas apšvietimas",
|
|
18619
18619
|
"chartdisplay_energy": "Energija",
|
|
18620
|
-
"chartdisplay_power": "
|
|
18621
|
-
"charttime_type1": "24
|
|
18622
|
-
"charttime_type2": "6
|
|
18623
|
-
"charttime_type3": "1
|
|
18624
|
-
"charttime_type4": "5 min",
|
|
18620
|
+
"chartdisplay_power": "Maitinimas",
|
|
18621
|
+
"charttime_type1": "24 val.",
|
|
18622
|
+
"charttime_type2": "6 val.",
|
|
18623
|
+
"charttime_type3": "1 val.",
|
|
18624
|
+
"charttime_type4": "5 min.",
|
|
18625
18625
|
"childlock_overview_description_text": "Ši funkcija išjungia įtaiso fizinį jungiklį. Funkciją galima išjungti čia arba per penkias sekundes paspausti jungiklį keturis kartus iš eilės.",
|
|
18626
18626
|
"conflict_dialog_active_item_bio_rhythm_description": "Žinokite, kad biologinis ritmas yra priešingas vienai ar daugiau funkcijų. Priešingos funkcijos bus išjungtos.",
|
|
18627
18627
|
"conflict_dialog_active_item_bio_rhythm_titel": "Ar tikrai norite įjungti šį biologinio ritmo grafiką?",
|
|
@@ -18826,7 +18826,7 @@ export default {
|
|
|
18826
18826
|
"curtain_fast_calibration_step2": "Įveskite laiką, kurio reikia užuolaidai pilnai atsidaryti",
|
|
18827
18827
|
"curtain_fast_toast_text": "Greitas kalibravimas yra leidžiamas tik tuomet, kai užuolaida yra 0% atidarymo lygyje.",
|
|
18828
18828
|
"curtain_intelligent_calibration": "Išmanus kalibravimas",
|
|
18829
|
-
"curtain_intelligent_calibration_step1": "Atkreipkite dėmesį, kad norint atlikti
|
|
18829
|
+
"curtain_intelligent_calibration_step1": "Atkreipkite dėmesį, kad norint atlikti pažangų kalibravimą, reikia sieninio jungiklio, kad užuolaidos būtų visiškai atidarytos/uždarytos. Jei nenaudojate sieninio jungiklio, naudokite greito kalibravimo režimą.\n\n1. Prieš kalibravimą teisingai sumontuokite užuolaidų variklį, kad užuolaidos galėtų būti visiškai atidarytos/uždarytos.\n\n2. Paspauskite sieninį jungiklį, kad užuolaidos būtų uždarytos, kol jos bus visiškai uždarytos.\n\n3. Spustelėkite „Kitas žingsnis“.",
|
|
18830
18830
|
"curtain_intelligent_calibration_step2": "1. Paspauskite sieninį jungiklį, kad atidarytumėte užuolaidą, kol ji bus visiškai atidaryta.\n\n2. Paspauskite sieninį jungiklį, kad uždarytumėte užuolaidą, kol ji bus visiškai uždaryta.\n\n3. Atlikę 1 ir 2 veiksmus, spustelėkite “Kalibruoti”.",
|
|
18831
18831
|
"curtain_motor_steering": "Variklio valdymas",
|
|
18832
18832
|
"curtain_motor_steering1": "Į priekį",
|
|
@@ -19183,7 +19183,7 @@ export default {
|
|
|
19183
19183
|
"plug_energyconsumptionswitch": "Perjungti į energijos suvartojimo režimą",
|
|
19184
19184
|
"plug_energygenerationswitch": "Perjungti į energijos gamybos režimą",
|
|
19185
19185
|
"pos_mode_switching_fail_tips": "Neteisingas slaptažodis. Patikrinkite ir įveskite teisingą slaptažodį.",
|
|
19186
|
-
"power_chart_empty": "
|
|
19186
|
+
"power_chart_empty": "Dabartiniu laikotarpiu duomenų nėra",
|
|
19187
19187
|
"power_management_battery_remaining": "Likęs akumuliatoriaus lygis",
|
|
19188
19188
|
"power_management_low_battery_alarm_threshold": "Nustatykite signalą, kai akumuliatoriaus įkrovos lygis sumažės",
|
|
19189
19189
|
"power_management_power_source": "Maitinimo šaltinis",
|
|
@@ -19543,13 +19543,13 @@ export default {
|
|
|
19543
19543
|
"timeschedule_add_schedule_weekday5_text": "Pn",
|
|
19544
19544
|
"timeschedule_add_schedule_weekday6_text": "Š",
|
|
19545
19545
|
"timeschedule_add_schedule_weekday7_text": "S",
|
|
19546
|
-
"timeschedule_off": "
|
|
19547
|
-
"timeschedule_on": "
|
|
19546
|
+
"timeschedule_off": "IŠJUNGTA – Laiko grafikas",
|
|
19547
|
+
"timeschedule_on": "ĮJUNGTA – Laiko grafikas",
|
|
19548
19548
|
"timeschedule_overview_description_text": "Gali būti nedidelių vėlavimų iki 30 sekundžių.",
|
|
19549
19549
|
"timeschedule_overview_empty_button_add_text": "Pridėkite laiko grafiką",
|
|
19550
19550
|
"timeschedule_overview_empty_information_text": "Dar nepridėjote laiko grafiko.",
|
|
19551
19551
|
"timeschedule_overview_headline_text": "Laiko grafikas",
|
|
19552
|
-
"timeschedule_own": "
|
|
19552
|
+
"timeschedule_own": "Sukurkite savo laiko grafiką",
|
|
19553
19553
|
"title_COsensor": "CO detektorius",
|
|
19554
19554
|
"title_smokesensor": "Dūmų detektorius",
|
|
19555
19555
|
"title_watersensor": "Vandens nuotėkio detektorius",
|
|
@@ -19841,9 +19841,9 @@ export default {
|
|
|
19841
19841
|
"ceiling_light_title_lighting_headline": "Sekundārais apgaismojums",
|
|
19842
19842
|
"chartdisplay_energy": "Enerģija",
|
|
19843
19843
|
"chartdisplay_power": "Jauda",
|
|
19844
|
-
"charttime_type1": "24
|
|
19845
|
-
"charttime_type2": "6
|
|
19846
|
-
"charttime_type3": "1
|
|
19844
|
+
"charttime_type1": "24 h",
|
|
19845
|
+
"charttime_type2": "6 h",
|
|
19846
|
+
"charttime_type3": "1 h",
|
|
19847
19847
|
"charttime_type4": "5 minūtes",
|
|
19848
19848
|
"childlock_overview_description_text": "Šī funkcija atspējo ierīces fizisko slēdzi. Lai to izslēgtu, varat nospiest slēdzi četras reizes pēc kārtas piecu sekunžu laikā vai izslēgt šo funkciju no šejienes.",
|
|
19849
19849
|
"conflict_dialog_active_item_bio_rhythm_description": "Ņemiet vērā, ka bioloģiskais ritms ir pretrunā ar vienu vai vairākām funkcijām. Konfliktējošās funkcijas tiks deaktivizētas.",
|
|
@@ -20049,7 +20049,7 @@ export default {
|
|
|
20049
20049
|
"curtain_fast_calibration_step2": "Lūdzu, ievadiet laiku, kas nepieciešams aizkaram no pilnīgas aizvēršanas līdz pilnīgai atvēršanai.",
|
|
20050
20050
|
"curtain_fast_toast_text": "Ātrā kalibrēšana ir atļauta tikai tad, ja aizkars ir pilnībā aizvērts 0 %.",
|
|
20051
20051
|
"curtain_intelligent_calibration": "Viedā kalibrēšana",
|
|
20052
|
-
"curtain_intelligent_calibration_step1": "Lūdzu, ņemiet vērā, ka
|
|
20052
|
+
"curtain_intelligent_calibration_step1": "Lūdzu, ņemiet vērā, ka, lai veiktu viedo kalibrēšanu, ir nepieciešams sienas slēdzis, lai pilnībā atvērtu/aizvērtu aizkaru. Ja neizmantojat sienas slēdzi, lūdzu, izmantojiet ātrās kalibrēšanas režīmu.\n\n1. Pirms kalibrēšanas pareizi uzstādiet aizkara motoru, lai aizkaru varētu pilnībā atvērt/aizvērt.\n\n2. Nospiediet sienas slēdzi, lai aizvērtu aizkaru, līdz tas ir pilnībā aizvērtas.\n\n3. Noklikšķiniet uz “Nākamais solis”.",
|
|
20053
20053
|
"curtain_intelligent_calibration_step2": "1. Nospiediet sienas slēdzi, lai atvērtu aizkaru, līdz tas ir pilnībā atvērts.\n\n2. Nospiediet sienas slēdzi, lai aizkaru aizvērtu, līdz tas ir pilnībā aizvērts.\n\n3. Kad 1. un 2. darbība ir pabeigta, noklikšķiniet uz \"Kalibrēt\".",
|
|
20054
20054
|
"curtain_motor_steering": "Motora vadīšana",
|
|
20055
20055
|
"curtain_motor_steering1": "Virziens uz priekšu",
|
|
@@ -20406,7 +20406,7 @@ export default {
|
|
|
20406
20406
|
"plug_energyconsumptionswitch": "Pārslēgšanās uz enerģijas patēriņa režīmu",
|
|
20407
20407
|
"plug_energygenerationswitch": "Pārslēgšanās uz enerģijas ražošanas režīmu",
|
|
20408
20408
|
"pos_mode_switching_fail_tips": "Nepareiza parole. Lūdzu, pārbaudiet un ievadiet pareizo paroli.",
|
|
20409
|
-
"power_chart_empty": "
|
|
20409
|
+
"power_chart_empty": "Pašreizējā laika periodā nav datu.",
|
|
20410
20410
|
"power_management_battery_remaining": "Atlikušais akumulatora uzlādes līmenis",
|
|
20411
20411
|
"power_management_low_battery_alarm_threshold": "Iestatiet trauksmes signālu zema akumulatora sliekšņa gadījumā",
|
|
20412
20412
|
"power_management_power_source": "Enerģijas avots",
|
|
@@ -20766,13 +20766,13 @@ export default {
|
|
|
20766
20766
|
"timeschedule_add_schedule_weekday5_text": "Pk",
|
|
20767
20767
|
"timeschedule_add_schedule_weekday6_text": "S",
|
|
20768
20768
|
"timeschedule_add_schedule_weekday7_text": "Sv",
|
|
20769
|
-
"timeschedule_off": "
|
|
20770
|
-
"timeschedule_on": "
|
|
20769
|
+
"timeschedule_off": "IZSLĒGTS - Laika grafiks",
|
|
20770
|
+
"timeschedule_on": "IESLĒGTS — Laika grafiks",
|
|
20771
20771
|
"timeschedule_overview_description_text": "Var rasties nelieli kavējumi līdz 30 sekundēm.",
|
|
20772
20772
|
"timeschedule_overview_empty_button_add_text": "Pievienot laika grafiku",
|
|
20773
20773
|
"timeschedule_overview_empty_information_text": "Jūs vēl neesat pievienojis laika grafiku.",
|
|
20774
20774
|
"timeschedule_overview_headline_text": "Laika grafiks",
|
|
20775
|
-
"timeschedule_own": "
|
|
20775
|
+
"timeschedule_own": "Izveidojiet savu laika grafiku",
|
|
20776
20776
|
"title_COsensor": "CO detektors",
|
|
20777
20777
|
"title_smokesensor": "Dūmu detektors",
|
|
20778
20778
|
"title_watersensor": "Ūdens noplūdes detektors",
|