# 언어와 형식

> 스테이션의 화면을 쓰는 언어와, 모든 화면과 내보낸 모든 파일이 읽는 날짜와 시간과 숫자의 형식입니다.

언어와 형식은 설정 페이지 일반 묶음의 네 번째 줄입니다. 첫 번째 선택 목록이 스테이션의 모든 화면을 어느 언어로 쓸지 정하고, 그 아래 네 개가 스테이션이 날짜와 하루의 시각과 숫자를 어떻게 적을지 한꺼번에 정합니다. 화면에서도, 상태 표시줄에서도, 차트에서도, 내보내기에서도, 보고서에서도 그렇습니다. 형식 줄마다 그 선택이 무엇을 만들어 내는지 실시간 미리 보기를 보여 줍니다. 이 페이지에는 **설정 변경** 권한이 필요하고, 형식은 고르는 순간 적용되며 언어는 앱을 다음에 시작할 때 적용됩니다.

## 인터페이스 언어 {#interface-language}

| 항목 | 무엇인지 | 값과 기본값 | 효과 |
| --- | --- | --- | --- |
| 인터페이스 언어 | 스테이션의 화면을 쓰는 언어입니다. 줄에는 "이 스테이션의 화면이 여기에서도, 화면을 여는 다른 기기에서도 쓰는 언어입니다. 다음에 Ganter Lab을 시작할 때 적용되며, 실행 중인 것은 아무것도 끊기지 않고 아래의 날짜, 시간, 숫자 형식도 그대로 유지됩니다."라고 적혀 있습니다. | 제품이 내놓는 열한 가지 언어이며, 저마다 그 언어 자신의 이름으로 적혀 있습니다. 화면을 읽지 못하는 사람도 자기 언어를 찾을 수 있게 하려는 것입니다. 기본값은 제품이 말하는 언어라면 Windows 표시 언어이고, 아니면 영어입니다. | 앱이 쓰는 모든 낱말입니다. 라벨, 설명, 메뉴, 알림, 확인, 거절 문장이 여기에서도 스테이션을 여는 어느 브라우저에서도 그 언어로 나오고, 오프라인 도움말과 법률 문서도 같은 언어로 읽습니다. |

언어를 고르면 그 선택은 곧바로 저장되지만 화면은 아직 아무것도 바뀌지 않습니다. 줄에는 강조색으로 "저장했습니다. Ganter Lab을 다시 시작할 때까지 화면은 …(으)로 표시됩니다."라는 문장이 붙어 지금도 읽고 있는 언어의 이름을 알려 주고, 새 낱말은 다음 평범한 시작 때 옵니다. 무엇도 스스로 다시 시작하지 않고, 라벨 하나를 바꾸려고 수집이나 기록이나 실행을 끊는 일도 없습니다. 이 선택은 선택한 화면이 아니라 스테이션의 것입니다. 테마와 아래의 형식과 함께 구성 데이터베이스에 저장되고(한 줄이므로 백업이 함께 실어 갑니다), 공장 망의 브라우저는 자기 언어가 아니라 스테이션의 언어로 읽으므로 대시보드는 어디에서 열어도 똑같이 읽힙니다.

[에이전트](agent) 페이지에서 설정 영역이 열려 있는 에이전트는 지금의 언어를 `settings_read`로 읽고 `localization_set`으로 정합니다. 넘기는 값은 이 빌드가 내놓는 언어의 컬처 코드(`en`, `pt-BR`, `de-DE`, `fr`, `fr-CA`, `it-IT`, `es`, `es-MX`, `zh-CN`, `ja-JP`, `ko-KR`)이며, 다른 코드는 거절되고 그 답이 바로 이 목록입니다. 에이전트가 정한 값도 여기에서 고른 것과 똑같이 기록되어 다음 시작 때 읽힙니다.

## 네 가지 형식 {#the-four-formats}

| 항목 | 무엇인지 | 값과 기본값 | 효과 |
| --- | --- | --- | --- |
| 날짜 형식 | 달력 날짜의 배치입니다. 미리 보기는 오늘 날짜입니다. | **일 / 월 / 년 (31/12/2026)**, **월 / 일 / 년 (12/31/2026)**, **년 - 월 - 일 (2026-12-31)**입니다. 기본값은 일 / 월 / 년입니다. | 스테이션이 보여 주거나 파일에 적는 모든 날짜입니다. |
| 시간 형식 | 시계 시각의 배치입니다. 미리 보기는 지금 시각입니다. | **24시간제 (14:05:09)**, **12시간제 오전/오후 (02:05:09 PM)**입니다. 기본값은 24시간제입니다. | 모든 하루의 시각입니다. 밀리초를 담는 읽기 표시는 그것을 그대로 지킵니다(14:05:09.123, 또는 02:05:09.123 PM). |
| 소수점 기호 | 정수와 소수 사이의 기호이며, 그와 함께 자릿수를 묶는 기호도 정합니다. 미리 보기는 지금 소수 자릿수로 적은 1234.5678입니다. | **마침표 (1,234.56)**, **쉼표 (1.234,56)**입니다. 기본값은 마침표입니다. | 스테이션이 읽으라고 적는 모든 숫자와, 글 입력 칸에 적는 소수입니다(마침표는 어느 스테이션에서나 읽습니다). |
| 소수 자릿수 | "값에 표시되는 소수 자리의 개수입니다." | 0에서 6입니다. 기본값은 2입니다. | 자기만의 더 가까운 규칙이 없는 모든 숫자입니다. |

바꾸면 스테이션의 창이든 브라우저든 열려 있는 모든 화면에 곧바로 적용되고, 테마와 함께 구성 데이터베이스에 저장됩니다(한 줄이므로 백업이 함께 실어 갑니다). 선택 목록은 유닛이 실행 중이어도 잠기지 않습니다. 이것은 스테이션을 바꾸는 일이 아니라 표시 설정입니다. [에이전트](agent) 페이지에서 설정 영역이 열려 있는 에이전트는 `settings_read`로 읽고 `localization_set`으로 바꿉니다. 에이전트가 정할 수 있는 소수 자릿수도 선택 목록이 내놓는 것과 같은 0에서 6까지입니다. 다른 숫자는 거절되고 그 답이 바로 이 범위이며, 거절된 호출은 아무것도 바꾸지 않습니다. 런타임이 정지한 동안에는 형식도 언어도 바꿀 수 없습니다. 계정을 뺀 모든 페이지처럼 이 페이지도 일시 정지 안내로 바뀌고([런타임 정지가 이 페이지에 하는 일](settings#what-the-stopped-runtime-does-to-this-page) 참고), `localization_set`은 "런타임 정지"로 답합니다.

## 각 형식이 적용되는 곳 {#where-each-format-applies}

사람이 읽는 모든 것이 하나의 형식기를 지나므로, 같은 창의 두 면이 서로 다른 달력을 말하는 일은 없습니다.

- **상태 표시줄 시계**: 막대 오른쪽 끝의 날짜와 시각이며, 고른 날짜 형식과 시간 형식을 따릅니다.
- **Connector**: 소수점 기호와 그에 따르는 자릿수 묶음 기호를 따르는 실시간 태그 값이며, 자릿수는 여기서 고른 것이 아니라 태그가 스스로 선언한 것입니다([태그](connector-tags#the-live-value-card)). 그리고 태그의 신호원 시각과 애플리케이션 시각이며 밀리초까지 담습니다. 2점 도우미의 보정 미리 보기 표도 같은 방식으로 적습니다([교정](connector-calibration#step-3-read-the-verdict-and-the-preview)).
- **Logic**: 주소 공간의 줄과 패널에 있는 포인트 값과 변수의 값 카드이며, 소수점 기호와 그에 따르는 자릿수 묶음 기호를 따릅니다. 정수는 소수 부분 없이, 태그의 소수 값은 태그가 스스로 선언한 자릿수로(Connector와 같습니다), 그 밖의 소수 값은 여기서 고른 자릿수로 적습니다. 스크립트가 중단될 때 액션이 밝히는 한도에도 자릿수 묶음 기호가 붙습니다([액션](logic-actions#run)).
- **대시보드**: 값 읽기 표시, 지표 카드, 경보 배너의 줄입니다. 자기 소수 자릿수를 밝힌 구성 요소는 자기 값에 그것을 쓰고, 기호는 언제나 스테이션의 것입니다. 편집기에서 주소 입력란 아래에 나오는 읽은 값은, 그것이 확인해 주는 값 표시가 자기 소수 자릿수를 밝히지 않았을 때와 같은 방식으로 적습니다. 정수는 소수 부분 없이, 소수 값은 태그가 자기 자릿수를 선언했더라도 여기서 고른 자릿수로 적습니다. 그래서 두 자리로 적는 스테이션에서 한 자리를 선언한 태그는 그곳에서 239.10으로, Connector와 Logic에서는 239.1로 읽힙니다.
- **차트**: 모든 차트의 축 이름표가 고른 소수 기호와 날짜 순서와 12시간제 또는 24시간제 시계를 쓰고, 계열이 자기 자릿수를 밝히지 않는 한 스테이션의 소수 자릿수를 씁니다.
- **Process**: 유닛 카드, 이력 목록, 실행 코멘트, 라벨, 그리고 만들어진 보고서입니다. 구성 화면에서는 판정 항목 아래의 효과 줄, 절차의 각 단계의 결과 줄, 채널의 읽기 견본, 유닛 바인딩 표의 값 열입니다. 그리고 바이트로 세는 모든 크기입니다. 상세에 있는 라벨의 얼어붙은 바이트 수, 실행 안에 보관한 보고서 사본의 크기, `.glab` 파일로 내보내거나 가져온 실행의 크기, 라벨 템플릿 명령의 크기입니다.
- **내보내기**: CSV로 내보낸 실행은 고른 소수 기호로 숫자를 적고, 열 구분 기호도 그것을 따릅니다. 마침표 소수에는 열 사이에 쉼표, 쉼표 소수에는 세미콜론입니다. 그래야 같은 지역 설정의 스프레드시트에서 파일이 깔끔하게 열립니다. XLSX 내보내기와 이벤트 내보내기도 같은 표기를 담습니다.
- **이벤트, 사용자, 계정, 설정**: 로그 줄, 경보 이력, 사용자의 마지막 접근, 구독 날짜, 백업 목록, 인증서 유효 기간입니다.

시각은 UTC로 저장되고 스테이션의 지역 시간대로 보입니다. 그 변환은 같은 형식기에서 일어나므로, 시각을 담은 파일은 시각 열의 머리말에서 스테이션의 시간대를 한 번 부릅니다. 원격 브라우저 자신의 지역 설정은 무시합니다. 대시보드는 어디에서 열든 똑같이 읽힙니다.

## 이 설정이 바꾸지 않는 것 {#what-these-settings-do-not-change}

저장, 드라이버 통신, 기록, 회선으로 오가는 내용, 내려받는 파일 이름은 언제나 고정된 불변 형식을 씁니다. 형식을 바꿔도 기록된 값이 다시 쓰이는 일은 없습니다. 라벨의 마커나 일련번호의 한 조각이나 자기 자릿수를 가진 차트 축처럼 항목이 자기에 대해 밝히는 형식은 그 항목 자신의 데이터입니다. 라벨은 그것을 읽는 기계를 위해 숫자를 인쇄하므로, 여기서 무엇을 고르든 변하지 않는 소수점을 쓰고 자릿수 묶음 기호는 결코 쓰지 않습니다([라벨 템플릿](process-labels#where-the-values-come-from)). 상세에서 새 라벨을 만들 때의 신호원 선택기도 각 숫자를 라벨이 인쇄하는 방식으로 보여 줍니다. 위의 언어도 이 형식들 가운데 하나가 아닙니다. 일본어로 읽는 스테이션도 날짜와 시간과 숫자는 네 줄이 말하는 대로 적고, 누군가 입력한 것은 결코 옮기지 않으므로 장치 이름, 태그 이름, 변수 이름, 대시보드 이름, 유닛 이름과 메모와 댓글은 적힌 그대로 읽힙니다.
