💻 개발 환경 설정: WSL + Ubuntu
🔹 WSL 설치 및 Ubuntu 설정
Windows에서 리눅스 개발 환경을 구축하기 위해 WSL(Windows Subsystem for Linux) 을 설치하고, Ubuntu 배포판을 설정했습니다.

🔹 패키지 업데이트 및 필수 도구 설치
Ubuntu 환경에서 패키지 목록을 최신으로 업데이트하고, 개발에 필요한 도구인 Python3, pip, git을 설치했습니다.
sudo apt update

sudo apt install -y python3 python3-pip git

해당 환경은 앞으로 OpenStack 및 Kubernetes 번역 스크립트를 실행하거나 CLI 도구를 사용할 때 기반이 되는 환경으로 사용될 예정입니다.
1️⃣ OpenStack
🔹 0install 설치 확인
sudo apt update
sudo apt install 0install
0install --version

ZeroInstall 2.18이 정상 설치되어 있음을 확인했습니다.
🔹 zanata-cli 등록 및 업데이트
0install -c add zanata-cli <https://raw.githubusercontent.com/zanata/zanata.github.io/master/files/0install/zanata-cli.xml>
0install -c update zanata-cli

- 키 인증 과정 중 신뢰 여부를 묻는 메시지가 출력되며 Y 입력.
 - 현재 버전: zanata-cli 4.6.1
 
🔹 Java 8 설치 (Zanata CLI 구동을 위한 필수 조건)
- SDKMAN 설치
 
curl -s "<https://get.sdkman.io>" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

- Java 설치 및 기본 설정
 
sdk install java 8.0.462-tem
sdk default java 8.0.462-tem

✅ Java 8이 정상적으로 설치되었고 기본 Java로 설정 완료.
🔐 설정: zanata.ini 구성
1️⃣ zanata.ini 설정 파일 구성


- 설정 파일 경로: ~/.config/zanata.ini
 
[servers]
translate_openstack_org.url=https://translate.openstack.org/
translate_openstack_org.username=
translate_openstack_org.key=
- 🔎 -server 옵션은 CLI에서 인식을 못하기 때문에 해당 정보는 .ini 파일에 정의해야 한다.
 
2️⃣ 잘못된 옵션 사용 → 수정
# 잘못된 명령 예시
0install run zanata-cli list-remote --server translate_openstack_org -B -e
- ❌ -server는 유효한 옵션이 아님 → .ini 설정을 사용해야 CLI가 서버 정보를 읽어올 수 있음
 
3️⃣ 프로젝트 설정 파일 zanata.xml 생성
- 경로: ~/workspace/horizon/zanata.xml
 
    <https://translate.openstack.org/>
    horizon
    master
    gettext
4️⃣ 번역 파일 Pull 성공
cd ~/workspace/horizon
0install run zanata-cli pull -B -e
- ✅ .ini와 zanata.xml 설정이 올바르면, 번역 대상 언어(locale) 리스트를 불러오고 번역된 .po 파일을 locale/ 폴더에 저장
 

📁 번역 파일 Pull 결과
Zanata CLI를 통해 OpenStack Horizon 프로젝트의 번역 파일을 성공적으로 내려받았습니다.
작업 디렉토리인 ~/workspace/horizon 내부의 locale/ 폴더에 다양한 하위 구성요소별로
.po 번역 파일들이 생성되었습니다.
📂 전체 폴더 구조 요약
locale/
├── doc/
│   └── source/locale/                    # 문서 번역
├── horizon/locale/                      # Horizon 본체 번역
├── openstack_auth/locale/               # 인증 관련 번역
├── openstack_dashboard/locale/          # 대시보드 번역
└── releasenotes/source/locale/          # 릴리즈 노트 번역
📌 번역 파일 예시
모듈 경로 주요 언어
| 문서 (doc) | locale/doc/source/locale/ | ko_KR.po, en_GB.po, fr.po, ja.po, ... | 
| Horizon UI | locale/horizon/locale/ | ar.po, zh_CN.po, ko_KR.po, ru.po, fi_FI.po 등 | 
| OpenStack Auth | locale/openstack_auth/locale/ | ko_KR.po, zh_TW.po, de.po, ja.po 등 | 
| OpenStack Dashboard | locale/openstack_dashboard/locale/ | ko_KR.po, en_GB.po, fr.po, zh_CN.po, vi_VN.po 등 | 
| Release Notes | locale/releasenotes/source/locale/ | ko_KR.po, pt_BR.po, tr_TR.po, zh_TW.po 등 | 
총 수십 개의 언어로 번역된 .po 파일이 확인했고 한국어(ko_KR.po) 파일도 여러 모듈에서 확인했습니다.
'DevOps > OpenStack' 카테고리의 다른 글
| [DevStack 1편] 내가 직접 만드는 클라우드, OpenStack 한눈에 보기! (0) | 2025.10.25 | 
|---|---|
| Openstack .pot 파일 생성해보기! (0) | 2025.10.25 | 
| 본격 OpenStack i18n CI 구조 분석 ! (0) | 2025.10.25 | 
| 오픈소스 기여를 위한 저장소들 Clone 해오기! (4) | 2025.10.18 | 
| OpenStack 오픈소스 기여의 첫 시작으로 Zanata 계정 생성하기 (0) | 2025.10.18 |