구성 국제화
목적 및 이점
다국어 지원(국제화)은 애플리케이션을 여러 언어로 제공하는 방법입니다. internationalization에서 i와 n 사이에 18자가 있으므로 국제화를 i18n이라고도 합니다. Bahmni는 최소한의 구성 변경으로 국제화를 지원합니다.
제품 페이지의 국제화는 앱 구성 파일을 통해 지원됩니다. 해당 파일은 관련 저장소에서 접근할 수 있습니다.
절차
OpenMRS에 로케일 추가: OpenMRS는 locale.allowed.list 설정으로 지원 로케일 목록을 관리합니다. OpenMRS Advanced settings에서 이 설정을 변경할 수 있습니다. 값은 쉼표로 구분된 로케일 목록입니다. 새 로케일은 마지막 항목 뒤에 추가하고 지원하지 않는 로케일은 제거합니다. 로케일 예시는 en, es, fr, it, pt 등입니다. 지원 로케일 목록은 Bahmni 홈 페이지에 드롭다운으로 표시됩니다. 로케일을 변경하려면 로그인 전에 Bahmni 홈 페이지에서 선택합니다.
default_config에 로케일 파일 추가: bahmni_config 폴더 안 openmrs 폴더에는 로케일에 필요한 모든 파일을 담은 i18n 폴더가 있습니다. 디렉터리 구조는 애플리케이션의 여러 모듈을 반영합니다. 각 모듈에는 서로 다른 로케일을 지원하는 JSON 파일이 있습니다. 예를 들어 locale_en.json은 영어를 지원합니다. 러시아어를 지원하려면 모든 모듈에 locale_ru.json 파일을 추가합니다.
JSON 파일의 내용: JSON 파일에는 키-값 쌍으로 이루어진 JSON 객체가 있습니다. 모든 키는 해당 JSON 파일이 속한 모듈의 웹 페이지에 표시되는 텍스트에 내부적으로 매핑됩니다. 시작하려면 기존 로케일 파일을 복사하고 이름을 바꿉니다. 예를 들어 locale_en.json을 복사하여 locale_ru.json으로 바꾼 뒤 텍스트 값을 해당 로케일 언어로 번역합니다. js true
전체 번역 수행: bahmni_config 폴더에는 그 폴더 안에 나타나는 텍스트의 키만 포함됩니다. Bahmni 애플리케이션은 기본적으로 영어 로케일을 지원하며 모든 모듈의 locale_en.json 파일을 번들로 제공합니다. 이 파일에는 애플리케이션 내부 텍스트에 해당하는 키가 있습니다. 파일 위치: https://github.com/Bhamni/default-config/tree/master/openmrs/i18n/clinical. 전체 번역을 수행하려면 모듈에 해당하는 모든 키를 로케일 파일로 복사하고 모든 텍스트 값을 번역합니다.
Transifex에서 번역된 로케일 파일 다운로드: Transifex 웹사이트의 Bahmni 프로젝트에서 제공되는 default-config 로케일 파일을 다운로드하여 사용할 수 있습니다. 번역을 통해 Transifex의 Bahmni 프로젝트에 기여할 수도 있습니다. 자세한 내용은 Translating Bahmni 페이지를 참조하십시오.
Add a locale in OpenMRS:
Add files for the locale in default_config:
Download the translated locale files from Transifex:
{
"MODULE_LABEL_ALL_KEY": "All",
"MODULE_LABEL_TO_DISCHARGE_KEY": "To Discharge",
"MODULE_LABEL_ADMITTED_KEY": "Admitted",
"MODULE_LABEL_TO_ADMIT_KEY": "To Admit",
"CONSULTATION_PAGE_KEY" :"Consultation",
"PROGRAM_MANAGEMENT_PAGE_KEY":"Program Management Page",
"DISCHARGE_SUMMARY_PAGE_KEY":"Discharge Summary Page",
"PATIENT_ADT_PAGE_KEY":"Patient ADT Page",
"PATIENT_DASHBOARD_KEY":"Patient Dashboard",
"PATIENT_VISIT_PAGE_KEY":"Patient Visit Page",
"HOME_DASHBOARD_KEY":"Home Dashboard",
"DASHBOARD_TITLE_VITALS_KEY":"Vitals",
"DASHBOARD_TITLE_PATIENT_INFORMATION_KEY": "Patient Information",
"DISCHARGE_SUMMARY_ADMISSION_DETAILS_KEY": "Admission Details",
"DASHBOARD_TITLE_NAVIGATION_LINKS_CONTROL_KEY": "Navigation Links Control",
"DASHBOARD_TITLE_DIAGNOSIS_KEY": "Diagnosis",
"DASHBOARD_TITLE_ADMISSION_DETAILS_KEY": "Admission Details",
"DASHBOARD_TITLE_DISPOSITION_KEY": "Disposition"
}
언어를 지원하도록 OpenMRS 개념 구성: Bahmni는 UI에 개념의 Short Name을 표시하므로 구성된 각 로케일에 맞게 Short Name을 업데이트해야 합니다. OpenMRS에서 Dictionary --> 개념 검색 --> Edit --> 로케일 선택 --> Short Name 입력 순서로 설정합니다. 예를 들어 프랑스어가 로케일로 구성되어 있다면 번역할 개념을 검색하고 편집을 클릭한 후 프랑스어 로케일 아래에 Short Name을 추가합니다.
구현 담당자가 app.json에 구성하는 개념은 항상 영어여야 합니다. 로케일 변경은 항상 1단계에서 설명한 Bahmni UI에서 수행해야 합니다. OpenMRS Legacy UI의 아래쪽 상태 표시줄에 있는 언어 링크로 언어를 변경하면 전체 Context가 해당 언어로 전환되어 구성한 개념을 그 로케일에서 찾지 못할 수 있습니다.
Bahmni에서 CSV 가져오기를 사용하여 로케일이 있는 개념 설정: 개념의 로케일 정보를 포함한 개념 CSV 파일을 업로드합니다. 선택 항목인 Locale 필드는 answer 필드 뒤에 추가합니다. 지정하지 않으면 개념 이름은 Bahmni의 기본 로케일인 영어로 설정됩니다. 샘플 파일:
Configure concepts in OpenMRS to support the language


Bahmni에서 키를 번역하는 구성은 두 가지 유형입니다.
- Bahmni UI 속성: bahmniapps 코드에서 사용하는 속성입니다. 코드에 번역 키를 하드코딩하여 로케일 파일에서 해당 값을 구성할 수 있게 합니다. 예: ‘Age’ 개인 속성의 번역 키는 REGISTRATION_LABEL_AGE입니다. 프랑스어 로케일 파일에 "REGISTRATION_LABEL_AGE" : "Âge"를 추가하면 UI에 Âge가 표시됩니다.
- OpenMRS 메타데이터: OpenMRS는 개인 속성, 위치 이름, 주소 계층 구조 등의 메타데이터 정보를 저장합니다. 이 메타데이터에 리터럴 값 대신 번역 키를 저장하고 로케일 파일에 키를 구성하여 UI에 값을 표시할 수 있습니다. 예를 들어 주소 계층 구조를 "Village"라고 하려면 로케일 파일에 "village_locale" 값을 제공할 수 있습니다.
- 주소 계층 수준 번역 절차는 다음과 같습니다.
OpenMRS > Administration > Manage address hierarchy로 이동합니다.
Address Hierarchy Level을 선택합니다. 예를 들어 ‘Village’의 번역을 추가하려면 이름을 ‘village_locale’로 지정합니다.

다음 경로의 로케일 파일에 번역을 추가해야 합니다.
하위 문서
Bahmni Wiki · CC BY-SA 4.0