Name Translations
Page: [관리] -> 설정 -> 이름 번역
AoT 는 화면 자체는 십여 개가 넘는 언어로 번역되어 나가지만, 농장의 이름들 — 장치명, 구역명, 작물명, 대시보드 제목 같은 것들 — 은 사용자가 직접 지은 것이다. 소프트웨어가 그 이름을 모든 언어로 미리 알 방법은 없다. 이름 번역(Name Translations) 은 그렇게 만든 이름들에 대해 AoT 가 생성해 둔 번역을 관리하고, 필요하면 직접 고칠 수 있는 설정 화면이다. 덕분에 한국어로 구축한 농장도 화면 언어를 일본어나 영어, 그 외 지원되는 어떤 언어로 설정한 사람에게 그대로 편하게 읽힌다.
사용자가 입력한 이름 자체는 절대 바뀌지 않는다. 이 화면이 관리하는 것은 각 이름에 대해 언어별로 화면에 보여줄 별도의 번역이다. 저장된 이름은 항상 입력한 그대로 남는다.
화면 언어 설정과는 다르다~
일반 설정 의 언어 항목과 헷갈리기 쉬우므로, 차이를 분명히 짚어 둔다.
| 설정 | 무엇을 번역하는가 |
|---|---|
| 언어 (일반 설정) | 화면 자체 — 버튼 문구, 메뉴 항목, 필드 이름, 메시지. 이 문구는 AoT 안에 내장되어 이미 번역된 채로 나간다. |
| 이름 번역 | 사용자가 직접 지은 이름 — "1번 하우스 온도"라는 장치, "동편 밸브"라는 구역, "콩밭"이라는 작물 구획. 이 문구는 사용자가 만들기 전까지는 존재하지 않으므로, 미리 번역해 둘 수 없다. |
두 체계는 서로 섞이지 않는다. 장치에 붙인 이름이 화면 문구 번역 사전을 거치는 일도 없고, 화면 문구가 번역 대상 이름으로 취급되는 일도 없다.
무엇을 번역하는가~
이 화면이 관리하는 사전은 시스템 전반의 이름을 다룬다.
| 구분 | 수집 대상 |
|---|---|
| Device (장치) | Input, Output, Camera 이름. |
| Measurement (측정) | Input Channel, Output Channel, Device Measurement 이름. |
| Function (함수) | PID, Function, Conditional, Trigger, Method 이름. |
| Dashboard (대시보드) | Dashboard, Widget 이름. |
| Zone (구역) | 지도, 레이어, 시설, 3D 모델 자산 이름, 그리고 지도에 그린 도형에 저장된 이름/라벨. |
| Crop (작물) | 구획 이름, 작목, 품종. 관리 프로그램의 작목·품종도 포함. |
| Program (관리 프로그램) | 관리 프로그램 이름, 그리고 그 안의 단계 이름(예: "육묘", "정식", "개화")과 사용자가 정의한 목표 항목 이름. |
| Note (노트) | 노트 제목, 노트 태그 이름. |
| Notice (공지) | 공지 게시물 제목. |
| Other (기타) | 대시보드 탭 이름. |
다음은 의도적으로 제외되며, 이 화면에 절대 나타나지 않는다.
- 사람이나 자격증명을 식별하는 문자열 — 사용자 이름, API 키 라벨 — 은 아예 수집하지 않는다.
- 시스템이 라벨이 아니라 식별자로 쓰는 문자열 — 관리 프로그램의 자원 역할(예:
irrigation), 사용자 역할 이름, 장치 시리얼/EUI 형태 문자열 — 은 건너뛴다. 번역하면 정확히 일치해야 하는 조회가 끊어지기 때문이다. - 장문 — 관리 프로그램 단계의 지침·메모, 노트 본문, 공지 내용 — 은 아직 다루지 않는다. 짧은 라벨성 이름만 대상이다.
- 너무 짧거나, 숫자/기호로만 되어 있거나, 화면 문구 번역 사전에 이미 쓰이는 단어와 우연히 겹치는 이름(번역하면 마치 화면 자체가 바뀐 것처럼 보이게 되는 경우)은 번역되지 않고 Excluded(제외) 상태로 기록된다.
켜는 방법~
이름 번역에는 서로 다른 범위를 제어하는 세 개의 독립된 스위치가 있다.
| 스위치 | 위치 | 제어 범위 |
|---|---|---|
| 전역 스위치 | 설정 > 일반 설정, AI Service 항목 | 기능 전체를 모든 사용자에 대해 켜거나 끈다. 꺼져 있으면 이 화면에 번역이 꺼져 있다는 안내가 뜨고, 어디에서도 번역된 이름이 표시되지 않는다. |
| 계정 스위치 | 사용자 설정(우측 상단 계정 메뉴에서 여는 모달) | 전역 스위치가 켜져 있어도 개별 사용자가 이 기능만 끌 수 있게 한다. 전역 스위치가 꺼져 있으면 이 항목 자체가 보이지 않는다. |
| 원문으로 보기 | 우측 상단 관리(톱니바퀴) 메뉴 | 이 브라우저에서만, 즉시 적용되는 토글이다 — 번역된 페이지에서 브라우저가 제공하는 "원문 보기"와 같은 역할이다. 서버의 어떤 설정도 바꾸지 않고, 지금 이 브라우저 탭에 보이는 것만 바꾼다. |
이 중 어느 단계에서 번역을 꺼도 저장된 이름은 절대 바뀌지 않는다. 다만 번역된 문구가 화면에 표시되지 않을 뿐이다.
AI 엔진이 없을 때~
새 번역을 만들어내려면 AI 엔진(설정 > 일반 설정, AI Service 항목에서 구성)이 필요하다. 구성되어 있지 않아도 이 화면 자체는 쓸 수 있다 — 현재 쓰이는 이름들을 모을 수 있고, 각 이름에 대한 번역을 직접 손으로 입력할 수 있다. 이렇게 입력한 값은 AI 가 만든 값과 똑같이 화면에 표시된다. 이 경우 화면 상단 버튼은 "지금 번역" 대신 "이름 모으기"로 표시된다.
이름 번역 화면~
이 화면은 상단에서 선택한 언어에 대해, 수집된 이름마다 한 행씩 나열한다. 목록을 거르는 드롭다운은 두 개다.
- 언어 — 어느 언어의 번역을 볼지 고른다. 이미 한 행 이상 있는 언어와, 현재 계정이 쓰는 언어만 목록에 나타난다.
- 상태 — 전체, 번역됨, 아직 번역되지 않음, 제외됨, 실패 중에서 고른다(아래 상태값 참고).
각 행에는 원문 이름, 선택한 언어에 대한 번역, 소속 구분(위 표 참고), 상태가 표시된다. 우측 상단의 개수(완료 / 전체)는 현재 언어가 얼마나 채워져 있는지 한눈에 보여준다.
메인 버튼은 AI 엔진 사용 가능 여부에 따라 둘 중 하나로 동작한다.
- 지금 번역 — DB 를 훑어 아직 사전에 없는 이름을 큐에 담고, 선택한 언어에 대해 AI 엔진으로 한 배치를 즉시 번역한다. 백그라운드 작업이 15분마다 자동으로 하는 것과 같은 일이며, 이 버튼은 그것을 기다리지 않아도 되게 해 준다.
- 이름 모으기 — AI 배치 없이 같은 수집·큐 적재만 한다(AI 엔진이 구성되지 않았을 때 표시).
전체 다시 번역은 선택한 언어의 모든 번역을 지우고 다시 번역 대상으로 표시한다 — 단, 손으로 고친 행은 건드리지 않는다. 이 작업은 해당 언어의 기존 번역을 버리는 것이므로 실행 전 확인을 거친다.
각 행에는 개별 재번역 버튼도 있다. 그 이름 하나만 초기화하고 즉시 다시 번역을 돌린다. 제외됨 상태의 행에는 나타나지 않지만, 손으로 고친 행에는 여전히 나타난다 — 잠긴 행을 재번역하는 것이 곧 자신이 고친 값을 버리고 AI 에게 다시 번역시키는 방법이기 때문이다.
번역 수정하기~
제외됨이 아닌 모든 행의 번역 칸은 바로 수정할 수 있다. 값을 고치고 칸 밖으로 포커스를 옮기면(또는 Tab/Enter 를 누르면) 저장된다.
여기서 값을 저장하면 두 가지가 일어난다. 입력한 문구가 그 이름의 번역으로 저장되고, 그 행이 잠긴다 — 상태가 Edited(수정됨)로 바뀌고, 이후 주기적 백그라운드 작업도, "지금 번역"도, "전체 다시 번역"도 그 값을 덮어쓰지 않는다. 칸을 다시 비우면 잠금이 풀리고 "아직 번역되지 않음" 상태로 돌아간다.
마음에 들지 않는 번역을 고치는 방법은 이것뿐이다. 이름 원문 자체는 이 화면에서 절대 수정할 수 없다 — 그 옆의 번역 칸은 화면에 보여줄 문구를 덮어쓰는 자리일 뿐, 이름이 실제로 무엇인지를 기록하는 자리가 아니다.
상태값~
| 상태 | 의미 |
|---|---|
| 아직 번역되지 않음 | 이름은 수집되었지만 이 언어에 대한 번역이 아직 없다. 번역이 채워지기 전까지 화면에는 원문 그대로 표시된다. |
| 번역됨 | AI 엔진이 자동으로 만든 번역이며, 아직 사람이 손댄 적이 없다. |
| 수정됨 (Edited) | 번역됨과 같지만, 이 화면에서 사람이 직접 입력한 값이다. 잠겨 있어 자동 번역이 다시는 덮어쓰지 않는다. |
| 제외됨 | 시스템이 이 문구는 절대 번역하지 않기로 판단한 경우다 — 예를 들어 화면 문구 번역 사전에 이미 있는 단어와 같거나, 라벨이 아니라 식별자로 보이는 경우다. 제외된 행은 번역 칸 대신 줄표(—)가 표시되며, 화면에는 항상 원문 그대로 나타난다. |
| 실패 | 자동 번역 시도가 쓸 수 있는 결과를 내지 못했다. 그동안 화면에는 원문이 표시되며, 해당 이름은 큐에 남아 백그라운드 작업이나 재번역 버튼으로 정해진 횟수까지 다시 시도된다. |
번역된 이름이 어디에 나타나는가~
지금 보고 있는 언어에 대해 번역이 있는 이름은, 그 이름이 화면에 표시되는 모든 곳 — 대시보드 위젯, 지도, 장치 목록 등 — 에서 원문 대신 나타난다. 저장된 데이터는 절대 바뀌지 않으며, 치환은 화면에 보여주는 부분에서만 일어난다. 장치 이름을 바꾸는 것처럼 폼 입력칸에 이름을 입력하는 상황에서는 항상 원문이 보이고 원문을 수정하는 것이며, 번역본이 그 자리에 나타나는 일은 없다 — 그래서 번역된 이름이 실제 이름 위에 실수로 저장될 위험이 없다.