UI 汉化
This commit is contained in:
parent
5c1654bc1a
commit
f3602d7231
@ -725,7 +725,7 @@ class CarrotMan:
|
||||
except Exception as e:
|
||||
print(f"carrot_cmd_zmq error: {e}")
|
||||
socket.close()
|
||||
time.sleep(1)
|
||||
time.sleep(1)
|
||||
socket, poller = setup_socket()
|
||||
|
||||
def recvall(self, sock, n):
|
||||
@ -964,7 +964,7 @@ class CarrotServ:
|
||||
self.bearing_measured = 0.0
|
||||
self.bearing = 0.0
|
||||
self.gps_valid = False
|
||||
|
||||
|
||||
self.totalDistance = 0
|
||||
self.xSpdLimit = 0
|
||||
self.xSpdDist = 0
|
||||
@ -1194,72 +1194,72 @@ class CarrotServ:
|
||||
|
||||
def _get_sdi_descr(self, nSdiType):
|
||||
sdi_types = {
|
||||
0: "신호과속",
|
||||
1: "과속 (고정식)",
|
||||
2: "구간단속 시작",
|
||||
3: "구간단속 끝",
|
||||
4: "구간단속중",
|
||||
5: "꼬리물기단속카메라",
|
||||
6: "신호 단속",
|
||||
7: "과속 (이동식)",
|
||||
8: "고정식 과속위험 구간(박스형)",
|
||||
9: "버스전용차로구간",
|
||||
10: "가변 차로 단속",
|
||||
11: "갓길 감시 지점",
|
||||
12: "끼어들기 금지",
|
||||
13: "교통정보 수집지점",
|
||||
14: "방범용cctv",
|
||||
15: "과적차량 위험구간",
|
||||
16: "적재 불량 단속",
|
||||
17: "주차단속 지점",
|
||||
18: "일방통행도로",
|
||||
19: "철길 건널목",
|
||||
20: "어린이 보호구역(스쿨존 시작 구간)",
|
||||
21: "어린이 보호구역(스쿨존 끝 구간)",
|
||||
22: "과속방지턱",
|
||||
23: "lpg충전소",
|
||||
24: "터널 구간",
|
||||
25: "휴게소",
|
||||
26: "톨게이트",
|
||||
27: "안개주의 지역",
|
||||
28: "유해물질 지역",
|
||||
29: "사고다발",
|
||||
30: "급커브지역",
|
||||
31: "급커브구간1",
|
||||
32: "급경사구간",
|
||||
33: "야생동물 교통사고 잦은 구간",
|
||||
34: "우측시야불량지점",
|
||||
35: "시야불량지점",
|
||||
36: "좌측시야불량지점",
|
||||
37: "신호위반다발구간",
|
||||
38: "과속운행다발구간",
|
||||
39: "교통혼잡지역",
|
||||
40: "방향별차로선택지점",
|
||||
41: "무단횡단사고다발지점",
|
||||
42: "갓길 사고 다발 지점",
|
||||
43: "과속 사발 다발 지점",
|
||||
44: "졸음 사고 다발 지점",
|
||||
45: "사고다발지점",
|
||||
46: "보행자 사고다발지점",
|
||||
47: "차량도난사고 상습발생지점",
|
||||
48: "낙석주의지역",
|
||||
49: "결빙주의지역",
|
||||
50: "병목지점",
|
||||
51: "합류 도로",
|
||||
52: "추락주의지역",
|
||||
53: "지하차도 구간",
|
||||
54: "주택밀집지역(교통진정지역)",
|
||||
55: "인터체인지",
|
||||
56: "분기점",
|
||||
57: "휴게소(lpg충전가능)",
|
||||
58: "교량",
|
||||
59: "제동장치사고다발지점",
|
||||
60: "중앙선침범사고다발지점",
|
||||
61: "통행위반사고다발지점",
|
||||
62: "목적지 건너편 안내",
|
||||
63: "졸음 쉼터 안내",
|
||||
64: "노후경유차단속",
|
||||
65: "터널내 차로변경단속",
|
||||
0: "信号超速",
|
||||
1: "超速 (固定式)",
|
||||
2: "区间测速开始",
|
||||
3: "区间测速结束",
|
||||
4: "区间测速中",
|
||||
5: "尾随监控摄像头",
|
||||
6: "信号监控",
|
||||
7: "超速 (移动式)",
|
||||
8: "固定式超速危险区(盒型)",
|
||||
9: "公交专用车道区",
|
||||
10: "可变车道监控",
|
||||
11: "应急车道监控点",
|
||||
12: "禁止插队",
|
||||
13: "交通信息收集点",
|
||||
14: "防范用CCTV",
|
||||
15: "超载车辆危险区",
|
||||
16: "装载不当监控",
|
||||
17: "停车监控点",
|
||||
18: "单行道",
|
||||
19: "铁路道口",
|
||||
20: "儿童保护区(学校区域开始)",
|
||||
21: "儿童保护区(学校区域结束)",
|
||||
22: "减速带",
|
||||
23: "LPG加油站",
|
||||
24: "隧道区",
|
||||
25: "休息区",
|
||||
26: "收费站",
|
||||
27: "雾区警告",
|
||||
28: "有害物质区域",
|
||||
29: "事故多发",
|
||||
30: "急转弯区域",
|
||||
31: "急转弯区1",
|
||||
32: "陡坡区域",
|
||||
33: "野生动物交通事故频发区域",
|
||||
34: "右侧视野不良点",
|
||||
35: "视野不良点",
|
||||
36: "左侧视野不良点",
|
||||
37: "信号违规多发区",
|
||||
38: "超速行驶多发区",
|
||||
39: "交通拥堵区域",
|
||||
40: "方向性车道选择点",
|
||||
41: "行人横穿事故多发点",
|
||||
42: "应急车道事故多发点",
|
||||
43: "超速多发点",
|
||||
44: "疲劳驾驶事故多发点",
|
||||
45: "事故多发点",
|
||||
46: "行人事故多发点",
|
||||
47: "车辆盗窃事故频发点",
|
||||
48: "落石警告区域",
|
||||
49: "结冰警告区域",
|
||||
50: "瓶颈点",
|
||||
51: "汇合道路",
|
||||
52: "坠落警告区域",
|
||||
53: "地下通道区",
|
||||
54: "住宅密集区(交通平缓区)",
|
||||
55: "互通立交",
|
||||
56: "分岔点",
|
||||
57: "休息区(LPG充电可用)",
|
||||
58: "桥梁",
|
||||
59: "制动装置事故多发点",
|
||||
60: "中央线侵占事故多发点",
|
||||
61: "通行违规事故多发点",
|
||||
62: "目的地对面指引",
|
||||
63: "疲劳休息区指引",
|
||||
64: "老旧柴油车监控",
|
||||
65: "隧道内车道变更监控",
|
||||
66: ""
|
||||
}
|
||||
return sdi_types.get(nSdiType, "")
|
||||
@ -1392,7 +1392,7 @@ class CarrotServ:
|
||||
if atc_type in ["turn left", "turn right"] and x_dist_to_turn > start_turn_dist:
|
||||
atc_type = "atc left" if atc_type == "turn left" else "atc right"
|
||||
|
||||
if self.autoTurnMapChange > 0 and check_steer:
|
||||
if self.autoTurnMapChange > 0 and check_steer:
|
||||
#print(f"x_dist_to_turn: {x_dist_to_turn}, atc_start_dist: {atc_start_dist}")
|
||||
#print(f"atc_activate_count: {self.atc_activate_count}")
|
||||
if self.atc_activate_count == 2:
|
||||
@ -1427,7 +1427,7 @@ class CarrotServ:
|
||||
|
||||
|
||||
return atc_desired, atc_type, atc_speed, atc_dist
|
||||
|
||||
|
||||
def update_nav_instruction(self, sm):
|
||||
if sm.alive['navInstruction'] and sm.valid['navInstruction']:
|
||||
msg_nav = sm['navInstruction']
|
||||
@ -1446,7 +1446,7 @@ class CarrotServ:
|
||||
self.debugText = f"{msg_nav.maneuverType},{msg_nav.maneuverModifier} "
|
||||
#print(msg_nav)
|
||||
#print(f"navInstruction: {self.xTurnInfo}, {self.xDistToTurn}, {self.szTBTMainText}")
|
||||
|
||||
|
||||
def update_navi(self, remote_ip, sm, pm, vturn_speed, coords, distances, route_speed):
|
||||
|
||||
self.debugText = ""
|
||||
@ -1495,7 +1495,7 @@ class CarrotServ:
|
||||
|
||||
sdi_speed = 250
|
||||
hda_active = False
|
||||
### 과속카메라, 사고방지턱
|
||||
### 과속카메라, 사고방지턱
|
||||
if self.xSpdDist > 0 and self.active_carrot > 0:
|
||||
safe_sec = self.autoNaviSpeedBumpTime if self.xSpdType == 22 else self.autoNaviSpeedCtrlEnd
|
||||
decel = self.autoNaviSpeedDecelRate
|
||||
@ -1650,7 +1650,7 @@ class CarrotServ:
|
||||
inst = messaging.new_message('navInstructionCarrot')
|
||||
if self.active_carrot > 1:
|
||||
inst.valid = True
|
||||
|
||||
|
||||
instruction = inst.navInstructionCarrot
|
||||
instruction.distanceRemaining = self.nGoPosDist
|
||||
instruction.timeRemaining = self.nGoPosTime
|
||||
@ -1668,7 +1668,7 @@ class CarrotServ:
|
||||
navTypeNext, navModifierNext, xTurnInfoNext = "invalid", "", -1
|
||||
if self.nTBTTurnTypeNext in nav_type_mapping:
|
||||
navTypeNext, navModifierNext, xTurnInfoNext = nav_type_mapping[self.nTBTTurnTypeNext]
|
||||
|
||||
|
||||
instruction.maneuverType = navType
|
||||
instruction.maneuverModifier = navModifier
|
||||
|
||||
|
@ -687,11 +687,11 @@ public:
|
||||
else if (longActive) {
|
||||
if (xState == 3 || xState == 5) { //XState.e2eStop, XState.e2eStopped
|
||||
if (v_ego < 1.0) {
|
||||
sprintf(str, "%s", (trafficState >= 1000) ? "신호오류" : "신호대기");
|
||||
sprintf(str, "%s", (trafficState >= 1000) ? "信号错误" : "信号等待");
|
||||
ui_draw_text(s, x, disp_y, str, disp_size, COLOR_WHITE, BOLD);
|
||||
}
|
||||
else {
|
||||
ui_draw_text(s, x, disp_y, "신호감속중", disp_size, COLOR_WHITE, BOLD);
|
||||
ui_draw_text(s, x, disp_y, "信号减速中", disp_size, COLOR_WHITE, BOLD);
|
||||
}
|
||||
#if 0
|
||||
else if (getStopDist() > 0.5) {
|
||||
@ -703,7 +703,7 @@ public:
|
||||
#endif
|
||||
}
|
||||
else if (xState == 4) { //XState.e2ePrepare
|
||||
ui_draw_text(s, x, disp_y, "E2E주행중", disp_size, COLOR_WHITE, BOLD);
|
||||
ui_draw_text(s, x, disp_y, "E2E驾驶中", disp_size, COLOR_WHITE, BOLD);
|
||||
}
|
||||
else if (xState == 0 || xState == 1 || xState == 2) { //XState.lead
|
||||
draw_dist = true;
|
||||
@ -1026,10 +1026,10 @@ protected:
|
||||
active_carrot = 2;
|
||||
nGoPosDist = 500000;
|
||||
nGoPosTime = 4 * 60 * 60;
|
||||
szSdiDescr = "어린이 보호구역(스쿨존 시작 구간)";
|
||||
szSdiDescr = "儿童保护区(学校区域开始段)";
|
||||
xTurnInfo = 1;
|
||||
xDistToTurn = 1000;
|
||||
szPosRoadName = "구문천 1길 17";
|
||||
szPosRoadName = "구문천 1길 17"; // 此处保持原文不变
|
||||
#endif
|
||||
|
||||
//if (active_carrot <= 1) return;
|
||||
@ -1071,9 +1071,9 @@ protected:
|
||||
case 4: ui_draw_image(s, { bx - icon_size / 2, by - icon_size / 2, icon_size, icon_size }, "ic_lane_change_r", 1.0f); break;
|
||||
case 7: ui_draw_image(s, { bx - icon_size / 2, by - icon_size / 2, icon_size, icon_size }, "ic_turn_u", 1.0f); break;
|
||||
case 6: ui_draw_text(s, bx, by + 20, "TG", 35, COLOR_WHITE, BOLD); break;
|
||||
case 8: ui_draw_text(s, bx, by + 20, "목적지", 35, COLOR_WHITE, BOLD); break;
|
||||
case 8: ui_draw_text(s, bx, by + 20, "目的地", 35, COLOR_WHITE, BOLD); break;
|
||||
default:
|
||||
sprintf(str, "감속:%d", xTurnInfo);
|
||||
sprintf(str, "减速:%d", xTurnInfo);
|
||||
ui_draw_text(s, bx, by + 20, str, 35, COLOR_WHITE, BOLD);
|
||||
break;
|
||||
}
|
||||
@ -1097,14 +1097,14 @@ protected:
|
||||
}
|
||||
|
||||
if (nGoPosDist > 0 && nGoPosTime > 0) {
|
||||
time_t now = time(NULL); // 현재 시간 얻기
|
||||
time_t now = time(NULL); // 获取当前时间
|
||||
struct tm* local = localtime(&now);
|
||||
int remaining_minutes = (int)nGoPosTime / 60;
|
||||
local->tm_min += remaining_minutes;
|
||||
mktime(local);
|
||||
sprintf(str, "도착: %.1f분(%02d:%02d)", (float)nGoPosTime / 60., local->tm_hour, local->tm_min);
|
||||
sprintf(str, "到达: %.1f分钟(%02d:%02d)", (float)nGoPosTime / 60., local->tm_hour, local->tm_min);
|
||||
ui_draw_text(s, tbt_x + 190, tbt_y + 80, str, 50, COLOR_WHITE, BOLD);
|
||||
sprintf(str, "%.1fkm", nGoPosDist / 1000.);
|
||||
sprintf(str, "%.1f公里", nGoPosDist / 1000.);
|
||||
ui_draw_text(s, tbt_x + 190 + 120, tbt_y + 130, str, 50, COLOR_WHITE, BOLD);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user