> 理想としては現在端末で使用している言語を取得・変更できたらと思いますが、
> DXライブラリでそういった関数や方法はありますでしょうか?
言語設定を変更することはできませんが、端末に設定されている言語の設定を取得する為の
関数は追加できましたので、よろしければ関数を追加したこちらのバージョンを
ダウンロードしてください m(_ _)m
https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM.exe // Android版 ARM用
https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x86.exe // Android版 x86用
以下の関数を追加しました
// 端末に設定されている言語を取得する
// ( 戻り値 -1:エラー 0以上:言語名文字列の格納に必要なバイト数 )
int GetLanguage( char *StringBuffer, int StringBufferSize ) ;
// 端末に設定されている国を取得する
// ( 戻り値 -1:エラー 0以上:国名文字列の格納に必要なバイト数 )
int GetCountry( char *StringBuffer, int StringBufferSize ) ;
↑こちらの関数を使用して画面に言語名と国名を表示するプログラムを組むとこのようになります
#include "DxLib.h"
int android_main()
{
char LanguageName[ 64 ] ;
int LanguageNameBytes ;
char CountryName[ 64 ] ;
int CountryNameBytes ;
if( DxLib_Init() < 0 )
{
return -1 ;
}
SetDrawScreen( DX_SCREEN_BACK ) ;
while( ProcessMessage() == 0)
{
ClearDrawScreen() ;
GetLanguage( LanguageName, sizeof( LanguageName ) ) ;
GetCountry( CountryName, sizeof( CountryName ) ) ;
DrawFormatString( 0, 0, GetColor( 255,255,255 ), "Country : %s" ) ;
DrawFormatString( 0, 24, GetColor( 255,255,255 ), "Languege : %s" ) ;
ScreenFlip();
}
DxLib_End();
return 0;
}
国名と言語名が分かれているのは、例えば言語が日本語の場合は ja、国が日本の場合は JP で
特に国の情報は必要ありませんが、中国語の場合は言語名が中国語を示す zh でも、それだけでは
簡体字( 中国で使用される文字 )なのか繁体字( 香港、台湾で使用される文字 )かを判別できないので、
その場合は国名が CN の場合は簡体字、TW 又は HK の場合は繁体字、という様に判別するようです
> あと、今後DXライブラリ自体の多言語対応の予定はありますでしょうか?
多言語対応とは、例えば各言語の文字列データを読み込んで言語設定に応じて自動的に
描画する文字列が切り替わるような機能のことでしょうか?
仮にそうだとしますと、今のところ対応の予定はありません