본문으로 건너뛰기

로컬라이제이션 공략

로컬라이제이션은 Mindustry의 텍스트 번역 및 표시 시스템, 인게임 에디터, 로케일별 자산을 다루는 시스템을 포함합니다. 적절한 로컬라이제이션은 플레이어가 메뉴, 메시지, UI 요소를 선택한 언어로 보게 하고, 지역별 자산이나 에디터 동작처럼 로케일에 의존하는 기능들이 예측 가능한 방식으로 동작하도록 보장합니다.

지원되는 로케일과 텍스트 표시

  • Mindustry는 여러 로케일을 지원합니다. 각 로케일은 UI 요소, 건물 및 아이템 이름, 툴팁, 시스템 메시지에 대한 번역 문자열을 제공합니다.
  • 선택한 로케일에 해당 문자열의 번역이 없으면 게임은 기본 언어(일반적으로 영어)로 폴백합니다.
  • 로케일 파일은 원시 번역뿐 아니라 숫자, 날짜 및 기타 표시 관습의 포맷도 제어합니다.

인게임 에디터 로컬라이제이션

  • 연필 아이콘으로 열리는 Visual(인게임) 에디터는 플랫폼 전반에서 사용하기 쉽도록 로컬라이즈되어 있습니다. 이 에디터는 논리 프로세서 편집을 위한 그래픽 인터페이스를 제공하며 신규 플레이어에게 권장됩니다.
  • 인게임(비주얼) 에디터의 장점:
    • 초보자에게 적합한 그래픽 블록 스타일 인터페이스.
    • 사용 가능한 모든 변수를 표시하는 간단한 변수 선택.
    • 제어 흐름(e.g., Jump)의 직관적인 처리.
    • 모바일 기기에서도 사용 가능.
  • 비주얼 에디터는 클립보드를 통한 가져오기/내보내기를 허용하므로 플레이어는 논리 코드를 인스턴스와 로케일 간에 수동으로 다시 입력하지 않고 전송할 수 있습니다.

로케일별 자산과 지역 데이터

  • 일부 게임 자산 및 설정은 지역 태그가 붙어 있습니다. 예를 들어, 특정 맵이나 지역 정의는 로드할 명명된 섀도우 지역을 참조할 수 있으며, null 값을 사용하면 일반/기본 섀도우 지역을 의미합니다.
  • 로케일 데이터에는 지역 이름(예: "Serpulo") 및 기타 맵 특정 문자열이 포함될 수 있습니다. 플레이어가 로케일을 전환할 때 혼동을 피하기 위해 이러한 문자열은 일관되게 번역되어야 합니다.

숫자 및 게임플레이 데이터 번역

  • 로컬라이제이션 파일은 게임플레이 숫자나 기계적 속성을 변경해서는 안 됩니다. 설명 텍스트는 현지화되지만 UI에 표시되는 값(데미지, 속도, 용량)은 게임 데이터에 정의된 그대로 정확히 표시되어야 합니다.
  • 플래머빌리티, 폭발성, 점도, 비열 및 온도와 같은 유체 속성처럼 복합 속성을 가진 요소의 경우, 로컬라이제이션 계층은 라벨과 단위를 표시할 뿐 해당 메커니즘을 변경하지 않습니다.

null 및 누락 값 다루기

  • 일부 구성 필드는 기본 동작을 나타내기 위해 null을 허용합니다(예: 일반 섀도우를 나타내는 null "shadow" 지역 이름). 번역자와 로컬라이저는 null 의미를 보존해야 하며 엔진이 null을 기대하는 곳에 빈 문자열이나 번역된 텍스트를 대체해서는 안 됩니다.

번역자를 위한 모범 사례

  • 자리표시자 토큰(e.g., {0}, %s)은 그대로 유지하고, 대상 언어의 문법상 필요하면 순서를 보존하세요.
  • 원시 식별자, 기술 키 또는 파일 이름은 번역하지 마세요.
  • 게임플레이 용어(건물 이름, 아이템 이름, 지역 이름)의 일관성을 유지하세요. Serpulo와 같은 고유명사에 대해 정립된 표준 번역을 사용하세요.
  • 비주얼 에디터와 인게임에서 번역을 테스트하여 UI가 레이아웃 제약과 모바일 화면에 맞는지 확인하세요.
  • 클립보드 가져오기/내보내기를 사용하여 인코딩 문제를 도입하지 않고 로케일 간에 논리 스니펫을 검증하세요.

테스트 및 유지보수

  • 인게임에서 번역을 확인하여 메뉴, 툴팁 및 비주얼 로직 에디터를 점검하세요.
  • 섀도우 지역 이름 같은 로케일별 자산 참조가 올바르게 로드되고 null/기본 동작이 유지되는지 확인하세요.
  • 누락된 문자열이나 일치하지 않는 자리표시자가 발생하지 않도록 로컬라이제이션 파일을 게임 업데이트와 동기화 상태로 유지하세요.

이 글에 등장하는 페이지