기존에 구현했던 방법은 CSV 파일에 문자열 세트 싹 다 몰아넣었음.. english.csv나 korean.csv에다가 쓸 문자열 넣어두고 최초 실행할 때 languge 배열에다가 유저가 쓸 설정 언어 문자열 싹 다 몰아넣고 language[32]같은 형식으로 본문에서 호출해서 사용했고 이렇게 굉장히 오래 사용했었는데 나중에 생각해보니 이러면 매직넘버 쓰는 것도 있고 사용한 문자열 뭐였는지 확인하려면 CSV 표를 확인해야해서 코드 가독성이 심각해지더라
그래서 생각해본 방법이 본문에서는 print( transl(L"안녕하세요.") ); 라고 쓰고(즉 네이티브는 하드코딩하고) 현재 언어 설정에 따라 transl이 다른 값을 반환하도록 구현하면 괜찮겠다고 생각함 네이티브(한국어)면 그대로 출력하면 되고 설정이 다른 언어일 경우 외부 CSV에 네이티브랑 1:1 매핑된 표 가지고 변환해주면 되니까 근데 똑같은 한글이어도 다른 말로 번역되는 경우도 있으니 이런 것도 좀 걱정됨
이런 것들이 맞는 방법인지 확신이 들지가 않음 전자도 다 구현하고서야 가독성이 안 좋다는걸 알아서... 다들 어떤 방법 사용함? 다른 사람들이 어떻게 구현했는지를 모르니까 뭘 해도 고민하게 되더라 언어 지원은 전자가 맞음? 후자가 맞음? 아니면 다른 더 좋은 방법이 존재함?
i18n 라이브러리를 쓰거나 참고해서 구현하면 되잖아
i18n 보니까 그냥 네이티브는 하드코딩하네 이렇게 구현해야겠다 ㄳ
jsonpath 형식의 key 를 이용했음 - dc App
csv는 너무 구식인가
게임에 csv는 좀 아닌거같음.. - dc App
json
gettext
json에 키랑 값 써두고 딕셔너리에 넣음
거 잘 아는 분야는 아니지만 csv는 쌉 에바임. json 쓰셈 - dc App