게임제작/소스코드

[게임메이커]멀티랭귀지 지원하기! 국가코드 얻어오는 명령어

게임코드프리 2018. 11. 6. 16:35
반응형

#국가코드 #게임메이커 #멀티랭귀지



게임메이커 멀티랭귀지 지원하기






멀티 랭귀지를 지원하기 위해서는 각 플랫폼의 국가 코드를 얻어오는 것을 시작하여야 하지만,


게임메이커 스튜디오에서는 기본적으로 각각의 OS의 랭귀지를 얻어오는 것이 가능합니다.


초기 create코드 혹은 게임시작시에 넣어주어도 되며 각 제작자들이 어떤형태로 구조를 만들지에 따라 달라지겠지만


기본적으로 switch문을 사용하여 코드를 얻고, 그 이후에 대사 파일을 불러오게 할지 아니면


글로벌 변수로 코드마다 국가코드에 대한 명칭을 바꿔줄지는 자유에 맡기겠습니다.



명령어로는 os_get_language() 이며 사용법은 예시로 아래와 같습니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
///get nation code
switch(os_get_language())
{
    case "en" : 
    show_message("english code")
    break;
    
    case "jp" :  
    show_message("japan code")    
    break;
    
    case "ko" :  
    show_message("korea code")    
    break;
    
}
cs


스위치문을 사용하여 각각의 랭귀지를 얻어오며 얻어온 값은 국제표준 국가표기 방식인 ISO639를 따르고 있으며


이것이 무엇인가 하면, 639개국의 국가를 글자로 줄여 표기하기로 규정하여


세계적으로 다함께 공통으로 표기하는 명칭입니다.


각각의 나라에 대한 표기 방식은 코드표를 참조하면 되겠습니다.



https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes



특별하게 중국같은 경우에는 언어가 다양하게 나눠져 있기때문에 중국어를 지원해야 할 경우에는



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
///get nation code
switch(os_get_language())
{
    case "zh":
       var region = os_get_region();
       if (region == "hk" || region == "mo" || region == "tw")
       {
            //공용 중국어를 표기
       }
       else
       {
            //각 해당 언어를 표기
       }
    
}
cs


이런식으로 os_get_region() 명령어를 사용하여 지역코드를 얻어와야 하는 경우가 있습니다.




이외에 서비스 명령어들



너무 짧고 간단한 내용이라...몇가지 더 추가로 쓰자면,


국가코드를 얻어오는 명령어 외에도 유용한 명령어가 더 존재합니다.


  • os_browser
브라우져가 무엇인지 알아내는 명령어라던가,


  • os_device
디바이스기종을 알아내는 명령어 혹은,


  • os_is_network_connected()
인터넷에 연결된 상태인지 체크하는 명령어는 물론



1
2
3
4
if os_type == os_android || os_type == os_ios
{
    os_powersave_enable(false);
}
cs

모바일의 경우에는 파워전력이 충분한지 체크하는 명령어등 유용한 명령어들이 존재합니다.

반응형
facebook twitter kakaoTalk kakaostory naver band shareLink
人気ブログランキングでフォロー