first commit

This commit is contained in:
2026-02-21 17:11:31 +09:00
commit 18b4338361
4001 changed files with 365464 additions and 0 deletions

View File

@@ -0,0 +1,805 @@
#include "fm_strings.h"
#define DEBUG_FM_STRINGS 0
#include <QFile>
#if (FM_STR_TYPE2)
QMap<QString,QStringList> FMS::strings = QMap<QString,QStringList>();
#else // FM_STR_TYPE2
#if !(MODEL_KOREAN_ONLY)
QMap<QString,QString> FMS::jps = QMap<QString,QString>();
#endif // MODEL_KOREAN_ONLY
#if(RM_MODEL == RM_MODEL_TYPE_ADT_CAPS || RM_MODEL == RM_MODEL_TYPE_TB4000 || RM_MODEL == RM_MODEL_TYPE_BV2000 || SUB_MODEL_KEIYO_KR || RM_MODEL == RM_MODEL_TYPE_MH9000 || RM_MODEL_TYPE_EMT_KR)
QMap<QString,QString> FMS::kos = QMap<QString,QString>();
#endif
#if(SUB_MODEL_BV5000 || RM_MODEL == RM_MODEL_TYPE_MH9000 || RM_MODEL_TYPE_EMT_KR)
QMap<QString,QString> FMS::ens = QMap<QString,QString>();
#endif
#endif // FM_STR_TYPE2
bool FMS::_loaded = false;
#if (FM_STR_TYPE2)
void FMS::load()
{
if(QFile::exists(":/raw/strings.txt"))
{
QFile f(":/raw/strings.txt");
if (f.open(QIODevice::ReadOnly))
{
QTextStream in(&f);
in.setCodec("UTF-8");
while (!in.atEnd())
{
QString line = in.readLine();
QStringList lst = line.split("|");
QString key = lst.first();
lst.removeFirst();
FMS::strings.insert(key,lst);
}
f.close();
}
}
}
QString FMS::txtLine(const char* key)
{
return txt(key).replace("\\n","\n");
}
QString FMS::txt(const char* key)
{
if(!_loaded) {
load();
_loaded = true;
}
return txt(key,RMLanguage::instance()->language());
}
QString FMS::txt(const char* key,RMLanguage::LANGUAGE_TYPE type)
{
if(!strings.contains(key)) {
qInfo() << "KEY NOT FOUND:" << key << __FUNCTION__;
return "";
}
int idx = 0;
switch (type) {
case RMLanguage::LANGUAGE_JP:
idx = 1;
break;
case RMLanguage::LANGUAGE_KR:
idx = 0;
break;
case RMLanguage::LANGUAGE_EN:
idx = 2;
break;
}
QStringList l = strings[key];
if(l.size() > idx) {
return l.at(idx);
}
qInfo() << "LANGUAGE NOT FOUND:" << key << "type:" << type << __FUNCTION__;
return "";
}
#else // FM_STR_TYPE2
void FMS::load()
{
#if (RM_MODEL == RM_MODEL_TYPE_TBD360) // ENG
jps.insert("report","Report");
jps.insert("map","Map");
jps.insert("language","Language");
jps.insert("file_type","Type");
jps.insert("file_name","File Name");
jps.insert("file_duration","Duration");
jps.insert("restart_msg","The application must restart in order to enable/disable H/W acceleration");
// ビューア情報
jps.insert("viewer_info","Viewer Info.");
jps.insert("capture","Capture");
jps.insert("close","Close");
jps.insert("minimize","Minimize");
jps.insert("low_speed","Low Speed");
jps.insert("high_speed","High Speed");
jps.insert("flip_h","Flip Horizontal");
jps.insert("flip_v","Flip Vertical");
// フロント・リア切替え
jps.insert("swap","Swap Screen");
jps.insert("mode_360","Camera Mode");
jps.insert("zoom_360","Zoom Mode");
jps.insert("reset_360","Reset Camera");
jps.insert("fullscreen","Full Screen");
jps.insert("graph_zoom_in","Zoom In");
jps.insert("graph_zoom_out","Zoom Out");
jps.insert("brightness","Brightness");
jps.insert("contrast","Contrast");
jps.insert("play_speed","Speed");
jps.insert("volume_mute","Mute");
jps.insert("volume_un_mute","Unmute");
jps.insert("play_backward","Seek backward");
jps.insert("play_forward","Seek forward");
jps.insert("play_play","Play");
jps.insert("play_stop","Stop");
jps.insert("play_file_previous","Previous File");
jps.insert("play_file_next","Next File");
jps.insert("open","Open");
jps.insert("play_pause","Pause");
jps.insert("backup","Backup");
jps.insert("viewer_sw_version","S/W Version");
jps.insert("hw_accel","Graphic Accelation");
jps.insert("ok","OK");
jps.insert("cancel","Cancel");
jps.insert("change","Change");
// 入力,確認
jps.insert("input","Input");
jps.insert("confirm","Confirm");
jps.insert("old","Previous");
// 間違ったパスワード
jps.insert("password_wrong","Wrong Password");
// 注意
jps.insert("warning","Warning");
jps.insert("save","Save");
// 初期値
jps.insert("default","Default");
// 緯度
jps.insert("lat","LAT:");
//経度
jps.insert("lon","LON:");
// 録画ファイルがあるフォルダを選択
jps.insert("open_message","Select the folder");
#else
#if (SUB_MODEL_BV5000 || RM_MODEL == RM_MODEL_TYPE_MH9000 || RM_MODEL_TYPE_EMT_KR)
ens.insert("report","Report");
ens.insert("map","Map");
ens.insert("language","Language");
ens.insert("auto_select","Auto");
ens.insert("file_type","Type");
ens.insert("file_name","File Name");
ens.insert("file_duration","Duration");
ens.insert("file_date","Date");
ens.insert("file_size","Size");
ens.insert("restart_msg","The application must restart in order to enable/disable H/W acceleration");
// ビューア情報
ens.insert("viewer_info","Viewer Info.");
ens.insert("capture","Capture");
ens.insert("close","Close");
ens.insert("minimize","Minimize");
ens.insert("maximize","Maximize");
ens.insert("restore_window","Restore Window");
ens.insert("low_speed","Low Speed");
ens.insert("high_speed","High Speed");
ens.insert("flip_h","Flip Horizontal");
ens.insert("flip_v","Flip Vertical");
// フロント・リア切替え
ens.insert("swap","Swap Screen");
ens.insert("mode_360","Camera Mode");
ens.insert("zoom_360","Zoom Mode");
ens.insert("reset_360","Reset Camera");
ens.insert("fullscreen","Full Screen");
ens.insert("graph_zoom_in","Zoom In");
ens.insert("graph_zoom_out","Zoom Out");
ens.insert("brightness","Brightness");
ens.insert("contrast","Contrast");
ens.insert("play_speed","Speed");
ens.insert("volume_mute","Mute");
ens.insert("volume_un_mute","Unmute");
ens.insert("play_backward","Seek backward");
ens.insert("play_forward","Seek forward");
ens.insert("play_play","Play");
ens.insert("play_stop","Stop");
ens.insert("play_file_previous","Previous File");
ens.insert("play_file_next","Next File");
ens.insert("open","Open");
ens.insert("play_pause","Pause");
ens.insert("backup","Backup");
ens.insert("viewer_sw_version","S/W Version");
ens.insert("hw_accel","Graphic Accelation");
ens.insert("ok","OK");
ens.insert("cancel","Cancel");
ens.insert("change","Change");
// 入力,確認
ens.insert("input","Input");
ens.insert("confirm","Confirm");
ens.insert("old","Previous");
// 間違ったパスワード
ens.insert("password_wrong","Wrong Password");
// 注意
ens.insert("warning","Warning");
ens.insert("save","Save");
// 初期値
ens.insert("default","Default");
// 緯度
ens.insert("lat","LAT:");
//経度
ens.insert("lon","LON:");
// 録画ファイルがあるフォルダを選択
ens.insert("open_message","Select the folder");
#endif // BV5000 ENG
#if !(MODEL_KOREAN_ONLY)
// 파일 저장
// ファイルの保存
jps.insert("backup_title",FM_WSTR(L"バックアップ中"));
// 파일 종류
jps.insert("type_event",FM_WSTR(L"衝撃検知"));
jps.insert("type_manual",FM_WSTR(L"手動"));
jps.insert("type_parking_normal",FM_WSTR(L"駐車監視"));
jps.insert("type_parking",FM_WSTR(L"パーキング"));
jps.insert("type_parking_event",FM_WSTR(L"駐車衝撃"));
jps.insert("type_normal",FM_WSTR(L"常時"));
#endif // #if !(MODEL_KOREAN_ONLY)
#if(SUB_MODEL_BV5000 || RM_MODEL == RM_MODEL_TYPE_MH9000 || RM_MODEL_TYPE_EMT_KR)
ens.insert("type_event","EVENT");
ens.insert("type_manual","MANUAL");
ens.insert("type_parking_normal","PARKING");
ens.insert("type_parking","PARKING");
ens.insert("type_parking_event","PAKING.E");
ens.insert("type_normal","NORMAL");
#endif // #if(SUPPORT_LANGUAGE_INSERT)
#if (RC_LANGUAGE==0x0412 || MODEL_KOREAN_ONLY)
kos.insert("type_event",FM_WSTR(L"이벤트"));
kos.insert("type_manual",FM_WSTR(L"수동"));
kos.insert("type_parking_normal",FM_WSTR(L"주차감시"));
kos.insert("type_parking",FM_WSTR(L"주차"));
kos.insert("type_parking_event",FM_WSTR(L"주차E"));
kos.insert("type_normal",FM_WSTR(L"상시"));
kos.insert("restart_msg",FM_WSTR(L"설정 적용을 위해 뷰어를 다시 시작 합니다."));
kos.insert("report",FM_WSTR(L"보고서"));
kos.insert("map",FM_WSTR(L"지도"));
kos.insert("language",FM_WSTR(L"언어"));
kos.insert("file_type",FM_WSTR(L"분류"));
kos.insert("file_name",FM_WSTR(L"파일명"));
kos.insert("file_date",FM_WSTR(L"날짜"));
kos.insert("file_duration",FM_WSTR(L"재생시간"));
kos.insert("file_size",FM_WSTR(L"크기")); // タイプ
kos.insert("viewer_info",FM_WSTR(L"S/W 정보"));
kos.insert("speed_warning",FM_WSTR(L"GPS 속도는 실제 속도와 다를 수 있습니다."));
kos.insert("capture",FM_WSTR(L"JPG 저장"));
kos.insert("capture_desc",FM_WSTR(L"현재 화면을 JPEG 파일로 저장 합니다"));
kos.insert("close",FM_WSTR(L"닫기"));
kos.insert("minimize",FM_WSTR(L"최소화"));
kos.insert("maximize",FM_WSTR(L"최대화"));
kos.insert("restore_window",FM_WSTR(L"이전 크기로 복원"));
kos.insert("low_speed",FM_WSTR(L"저속"));
kos.insert("high_speed",FM_WSTR(L"고속"));
kos.insert("flip_h",FM_WSTR(L"좌우반전"));
kos.insert("flip_v",FM_WSTR(L"상하반전"));
kos.insert("swap",FM_WSTR(L"전후방 화면 전환"));
kos.insert("indoor",FM_WSTR(L"실내외 화면 전환"));
kos.insert("fullscreen",FM_WSTR(L"전체화면"));
kos.insert("graph_zoom_in",FM_WSTR(L"확대"));
kos.insert("graph_zoom_out",FM_WSTR(L"축소"));
kos.insert("brightness",FM_WSTR(L"밝기조정"));
kos.insert("contrast",FM_WSTR(L"대비조정"));
kos.insert("play_speed",FM_WSTR(L"재생속도"));
kos.insert("volume_mute",FM_WSTR(L"음량"));
kos.insert("volume_un_mute",FM_WSTR(L"음량"));
kos.insert("play_backward",FM_WSTR(L"1초 이전으로 이동"));
kos.insert("play_forward",FM_WSTR(L"1초 이후로 이동"));
kos.insert("play_play",FM_WSTR(L"재생"));
kos.insert("play_stop",FM_WSTR(L"정지"));
kos.insert("play_file_previous",FM_WSTR(L"이전 파일"));
kos.insert("play_file_next",FM_WSTR(L"다음 파일"));
kos.insert("open",FM_WSTR(L"파일 열기"));
kos.insert("open_title",FM_WSTR(L"파일 열기"));
kos.insert("play_pause",FM_WSTR(L"일시 정지"));
kos.insert("backup_title",FM_WSTR(L"파일 저장"));
kos.insert("file_exist",FM_WSTR(L"이 위치에 같은 이름의 파일이 있습니다."));
kos.insert("apply_rule",FM_WSTR(L"동일한 작업을 다음의"));
kos.insert("after_files",FM_WSTR(L"파일에도 적용"));
kos.insert("skip",FM_WSTR(L"건너뛰기"));
kos.insert("overwrite",FM_WSTR(L"덮어쓰기"));
kos.insert("auto_select",FM_WSTR(L"자동선택"));
kos.insert("select_language",FM_WSTR(L"언어 선택"));
kos.insert("enter_file_name",FM_WSTR(L"파일명을 입력해 주십시오"));
kos.insert("front_suffix",FM_WSTR(L"전방"));
kos.insert("rear_suffix",FM_WSTR(L"후방"));
kos.insert("save_jpg_fail",FM_WSTR(L"JPEG 파일 생성 실패"));
kos.insert("thumbnail",FM_WSTR(L"썸네일보기"));
kos.insert("register",FM_WSTR(L"적발원부"));
kos.insert("save_video",FM_WSTR(L"영상저장"));
kos.insert("reset_360",FM_WSTR(L"초기화"));
kos.insert("save_360",FM_WSTR(L"파일로 저장"));
//
kos.insert("backup_title",FM_WSTR(L"파일 저장중..."));
kos.insert("change_folder",FM_WSTR(L"폴더 선택"));
kos.insert("backup",FM_WSTR(L"파일 저장"));
kos.insert("viewer_sw_version",FM_WSTR(L"Viewer S/W 버전 정보"));
kos.insert("hw_accel",FM_WSTR(L"H/W 가속 설정"));
kos.insert("pw_message",FM_WSTR(L"암호 (4 자 이상 20 자 이하) 생성."));
kos.insert("password",FM_WSTR(L"암호"));
kos.insert("password_new",FM_WSTR(L"신규 암호"));
kos.insert("password_input",FM_WSTR(L"암호 입력"));
kos.insert("password_change",FM_WSTR(L"암호 변경"));
kos.insert("ok",FM_WSTR(L"확인"));
kos.insert("cancel",FM_WSTR(L"취소"));
kos.insert("change",FM_WSTR(L"변경"));
kos.insert("input",FM_WSTR(L"입력"));
kos.insert("confirm",FM_WSTR(L"확인"));
kos.insert("old",FM_WSTR(L"이전"));
kos.insert("password_wrong",FM_WSTR(L"잘못된 암호"));
kos.insert("invalid_media",FM_WSTR(L"재생할 수 없는 파일입니다"));
kos.insert("warning",FM_WSTR(L"주의"));
kos.insert("file_not_exist",FM_WSTR(L"파일이 존재하지 않습니다"));
kos.insert("save",FM_WSTR(L"저장"));
kos.insert("default",FM_WSTR(L"초기화"));
kos.insert("lat",FM_WSTR(L"위도"));
kos.insert("lon",FM_WSTR(L"경도"));
kos.insert("open_message",FM_WSTR(L"녹화 파일이 있는 폴더를 선택"));
kos.insert("password",FM_WSTR(L"비밀번호설정"));
#endif // SUPPORT_LANGUAGE_INSERT || MODEL_KOREAN_ONLY
#if !(MODEL_KOREAN_ONLY)
jps.insert("settings",FM_WSTR(L"設定"));
#endif // MODEL_KOREAN_ONLY
kos.insert("settings",FM_WSTR(L"설정"));
ens.insert("settings",FM_WSTR(L"Settings"));
#if(SUPPORT_LANGUAGE_INSERT || RM_MODEL == RM_MODEL_TYPE_MH9000)
ens.insert("open_title","Open");
ens.insert("select_language","Select language");
#endif // #if(SUPPORT_LANGUAGE_INSERT)
#if !(MODEL_KOREAN_ONLY)
jps.insert("info",FM_WSTR(L"ビューアー情報"));
#endif // #if !(MODEL_KOREAN_ONLY)
#if(SUPPORT_LANGUAGE_INSERT)
kos.insert("info",FM_WSTR(L"뷰어정보"));
ens.insert("info",FM_WSTR(L"Viewer Info."));
#endif // #if(SUPPORT_LANGUAGE_INSERT)
#if !(MODEL_KOREAN_ONLY)
jps.insert("report","\xe3\x83\xac\xe3\x83\x9d\xe3\x83\xbc\xe3\x83\x88");
jps.insert("map","\xe5\x9c\xb0\xe5\x9b\xb3");
jps.insert("language","\xe8\xa8\x80\xe8\xaa\x9e\xe9\x81\xb8\xe6\x8a\x9e");
jps.insert("file_type","\xe3\x82\xbf\xe3\x82\xa4\xe3\x83\x97"); // タイプ
jps.insert("file_name","\xe3\x83\x95\xe3\x82\xa1\xe3\x82\xa4\xe3\x83\xab\xe5\x90\x8d"); // ファイル名
jps.insert("file_date",FM_WSTR(L"ファイル日付")); // ファイル名
jps.insert("file_duration","\xe9\x8c\xb2\xe7\x94\xbb\xe6\x99\x82\xe9\x96\x93"); // 録画時間
jps.insert("file_size",FM_WSTR(L"サイズ")); // タイプ
// 재기동 경고 再起動します
jps.insert("restart_msg","\xe5\x86\x8d\xe8\xb5\xb7\xe5\x8b\x95\xe3\x81\x97\xe3\x81\xbe\xe3\x81\x99");
// ビューア情報
jps.insert("viewer_info","\xe3\x83\x93\xe3\x83\xa5\xe3\x83\xbc\xe3\x82\xa2\xe6\x83\x85\xe5\xa0\xb1");
//速度はGPS算出値となります。実際の速度とは異なります。
jps.insert("speed_warning","\xe9\x80\x9f\xe5\xba\xa6\xe3\x81\xaf\x47\x50\x53\xe7\xae\x97\xe5\x87\xba\xe5\x80\xa4\xe3\x81\xa8\xe3\x81\xaa\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\xe5\xae\x9f\xe9\x9a\x9b\xe3\x81\xae\xe9\x80\x9f\xe5\xba\xa6\xe3\x81\xa8\xe3\x81\xaf\xe7\x95\xb0\xe3\x81\xaa\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82");
jps.insert("capture","\x4a\x50\x47 \xe4\xbf\x9d\xe5\xad\x98");
jps.insert("capture_desc",FM_WSTR(L"キャプチャーをJPEGで保存します"));
//
jps.insert("close","\xe9\x96\x89\xe3\x81\x98\xe3\x82\x8b"); // 閉じる
jps.insert("minimize","\xe6\x9c\x80\xe5\xb0\x8f\xe5\x8c\x96"); // 最小化
jps.insert("maximize","\xe6\x9c\x80\xe5\xa4\xa7\xe5\x8c\x96"); // 最大化
jps.insert("restore_window","\xe5\x85\x83\xe3\x81\xab\xe6\x88\xbb\xe3\x81\x99\xef\xbc\x88\xe7\xb8\xae\xe5\xb0\x8f\xef\xbc\x89"); // 元に戻す(縮小)
jps.insert("low_speed","\xe4\xbd\x8e\xe9\x80\x9f");
jps.insert("high_speed","\xe9\xab\x98\xe9\x80\x9f \x28 \x31\x33\x30 \x4b\x6d\x2f\x68 \xe4\xbb\xa5\xe4\xb8\x8a \x29");
jps.insert("flip_h","\xe5\xb7\xa6\xe5\x8f\xb3\xe5\x8f\x8d\xe8\xbb\xa2"); // 左右反転
jps.insert("flip_v","\xe4\xb8\x8a\xe4\xb8\x8b\xe5\x8f\x8d\xe8\xbb\xa2"); // 上下反転
// フロント・リア切替え
// フロント・サブ切替え
#if (RM_MODEL == RM_MODEL_TYPE_XLDR_88)
jps.insert("swap",FM_WSTR(L"フロント・サブ切替え"));
#else
// フロント・リア切替え
#if (SUB_MODEL_KEIYO_360)
jps.insert("swap",FM_WSTR(L"360度・ワイド切り替え"));
#else // SUB_MODEL_KEIYO_360
jps.insert("swap",FM_WSTR(L"フロント・リア切替え"));
#endif // SUB_MODEL_KEIYO_360
#endif
jps.insert("indoor",FM_WSTR(L"室内・外切替え"));
#if (RM_MODEL == RM_MODEL_TYPE_KEIYO1 || \
RM_MODEL == RM_MODEL_TYPE_MBJ5010 || \
RM_MODEL == RM_MODEL_TYPE_BV2000 || \
RM_MODEL == RM_MODEL_TYPE_FC_DR232W) // 最大化,フルスクリーン
// フルスクリーン
jps.insert("fullscreen","\xe3\x83\x95\xe3\x83\xab\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\xaa\xe3\x83\xbc\xe3\x83\xb3");
#else
jps.insert("fullscreen","\xe6\x9c\x80\xe5\xa4\xa7\xe5\x8c\x96");
#endif
jps.insert("graph_zoom_in","\xe6\x8b\xa1\xe5\xa4\xa7"); // 拡大
jps.insert("graph_zoom_out","\xe7\xb8\xae\xe5\xb0\x8f"); // 縮小
jps.insert("brightness","\xe6\x98\x8e\xe3\x82\x8b\xe3\x81\x95"); // 明るさ
jps.insert("contrast","\xe3\x82\xb3\xe3\x83\xb3\xe3\x83\x88\xe3\x83\xa9\xe3\x82\xb9\xe3\x83\x88"); // コントラスト
jps.insert("play_speed","\xe5\x86\x8d\xe7\x94\x9f\xe9\x80\x9f\xe5\xba\xa6"); // 再生速度
#if (RM_MODEL == RM_MODEL_TYPE_KEIYO1 || \
RM_MODEL == RM_MODEL_TYPE_BV2000 || \
RM_MODEL == RM_MODEL_TYPE_MBJ5010 || \
RM_MODEL == RM_MODEL_TYPE_FC_DR232W) // 音量
jps.insert("volume_mute","\xe9\x9f\xb3\xe9\x87\x8f"); // 音量
jps.insert("volume_un_mute","\xe9\x9f\xb3\xe9\x87\x8f");
#else
jps.insert("volume_mute","\xe6\xb6\x88\xe9\x9f\xb3\xe3\x83\xa2\xe3\x83\xbc\xe3\x83\x89");
jps.insert("volume_un_mute","\xe3\x83\x9f\xe3\x83\xa5\xe3\x83\xbc\xe3\x83\x88\xe3\x81\xae\xe8\xa7\xa3\xe9\x99\xa4");
#endif
#if (SEEK_STEP_SIZE == 10)
jps.insert("play_backward","\x31\x30\xe7\xa7\x92\xe5\x89\x8d\xe3\x81\xb8"); // 10秒前へ
jps.insert("play_forward","\x31\x30\xe7\xa7\x92\xe9\x80\xb2\xe3\x82\x80"); // 10秒進む
#else
jps.insert("play_backward","\x31\xe7\xa7\x92\xe5\x89\x8d\xe3\x81\xb8");
jps.insert("play_forward","\x31\xe7\xa7\x92\xe9\x80\xb2\xe3\x82\x80");
#endif
jps.insert("play_play","\xe5\x86\x8d\xe7\x94\x9f"); // 再生
jps.insert("play_stop","\xe5\x81\x9c\xe6\xad\xa2"); // 停止
jps.insert("play_file_previous","\xe5\x89\x8d\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3\x82\xa4\xe3\x83\xab"); // 前のファイル <- \xe4\xbb\xa5\xe5\x89\x8d\xe3\x83\x95\xe3\x82\xa1\xe3\x82\xa4\xe3\x83\xab
jps.insert("play_file_next","\xe6\xac\xa1\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3\x82\xa4\xe3\x83\xab");
jps.insert("open","\xe3\x83\x95\xe3\x82\xa1\xe3\x82\xa4\xe3\x83\xab\xe3\x82\x92\xe9\x96\x8b\xe3\x81\x8f");
jps.insert("play_pause","\xe4\xb8\x80\xe6\x99\x82\xe5\x81\x9c\xe6\xad\xa2");
jps.insert("open_title",FM_WSTR(L"ファイルOPEN"));
//
jps.insert("backup_title",FM_WSTR(L"ファイルの保存"));
jps.insert("file_exist",FM_WSTR(L"この場所に同じ名前のファイルがあります。"));
jps.insert("apply_rule",FM_WSTR(L"同じ処理を次の"));
jps.insert("after_files",FM_WSTR(L"個の競合に適用"));
jps.insert("skip",FM_WSTR(L"スキップ"));
jps.insert("overwrite",FM_WSTR(L"置き換える"));
jps.insert("auto_select",FM_WSTR(L"自動"));
jps.insert("select_language",FM_WSTR(L"言語を選択してください"));
jps.insert("enter_file_name",FM_WSTR(L"ファイル名を入れてください。"));
jps.insert("front_suffix",FM_WSTR(L"前方"));
jps.insert("rear_suffix",FM_WSTR(L"後方"));
jps.insert("save_jpg_fail",FM_WSTR(L"JPEGファイル生成に失敗しました。"));
jps.insert("change_folder",FM_WSTR(L"フォルダー変更"));
//
//
//
//
#if (RM_MODEL == RM_MODEL_TYPE_KEIYO1 || \
RM_MODEL == RM_MODEL_TYPE_MBJ5010 || \
RM_MODEL == RM_MODEL_TYPE_BV2000 || \
RM_MODEL == RM_MODEL_TYPE_FC_DR232W)
jps.insert("backup","\xe3\x82\xb3\xe3\x83\x94\xe3\x83\xbc"); // コピー
#else
jps.insert("backup","\xe4\xbf\x9d\xe5\xad\x98");
#endif
// Viewer S/W バージョン情報
jps.insert("viewer_sw_version","\x56\x69\x65\x77\x65\x72 \x53\x2f\x57 \xe3\x83\x90\xe3\x83\xbc\xe3\x82\xb8\xe3\x83\xa7\xe3\x83\xb3\xe6\x83\x85\xe5\xa0\xb1");
// ハードウェアアクセラレーション
jps.insert("hw_accel","\xe3\x83\x8f\xe3\x83\xbc\xe3\x83\x89\xe3\x82\xa6\xe3\x82\xa7\xe3\x82\xa2\xe3\x82\xa2\xe3\x82\xaf\xe3\x82\xbb\xe3\x83\xa9\xe3\x83\xac\xe3\x83\xbc\xe3\x82\xb7\xe3\x83\xa7\xe3\x83\xb3");
jps.insert("directx_audio",FM_WSTR(L"DirectX Audio でサウンド再生"));
// パスワード作成4文字以上20文字以内生成。
jps.insert("pw_message","\xe3\x83\x91\xe3\x82\xb9\xe3\x83\xaf\xe3\x83\xbc\xe3\x83\x89\xe4\xbd\x9c\xe6\x88\x90\xef\xbc\x88\x34\xe6\x96\x87\xe5\xad\x97\xe4\xbb\xa5\xe4\xb8\x8a\x32\x30\xe6\x96\x87\xe5\xad\x97\xe4\xbb\xa5\xe5\x86\x85\xef\xbc\x89\xe7\x94\x9f\xe6\x88\x90\xe3\x80\x82");
// パスワード
jps.insert("password","\xe3\x83\x91\xe3\x82\xb9\xe3\x83\xaf\xe3\x83\xbc\xe3\x83\x89");
// パスワード作成
jps.insert("password_new","\xe3\x83\x91\xe3\x82\xb9\xe3\x83\xaf\xe3\x83\xbc\xe3\x83\x89\xe4\xbd\x9c\xe6\x88\x90");
// パスワード入力
jps.insert("password_input","\xe3\x83\x91\xe3\x82\xb9\xe3\x83\xaf\xe3\x83\xbc\xe3\x83\x89\xe5\x85\xa5\xe5\x8a\x9b");
// パスワード変更
jps.insert("password_change","\xe3\x83\x91\xe3\x82\xb9\xe3\x83\xaf\xe3\x83\xbc\xe3\x83\x89\xe5\xa4\x89\xe6\x9b\xb4");
jps.insert("ok","\x4f\x4b");
jps.insert("cancel","\xe3\x82\xad\xe3\x83\xa3\xe3\x83\xb3\xe3\x82\xbb\xe3\x83\xab"); // キャンセル
jps.insert("change","\xe5\xa4\x89\xe6\x9b\xb4"); // 変更
// 入力,確認
jps.insert("input","\xe5\x85\xa5\xe5\x8a\x9b"); // 入力
jps.insert("confirm","\xe7\xa2\xba\xe8\xaa\x8d"); // 確認
jps.insert("old","\xe4\xbb\xa5\xe5\x89\x8d"); // 以前
//jps.insert("file_open_title","\xe3\x83\x95\xe3\x82\xa1\xe3\x82\xa4\xe3\x83\xab\x4f\x50\x45\x4e")
// 間違ったパスワード
jps.insert("password_wrong","\xe9\x96\x93\xe9\x81\x95\xe3\x81\xa3\xe3\x81\x9f\xe3\x83\x91\xe3\x82\xb9\xe3\x83\xaf\xe3\x83\xbc\xe3\x83\x89");
// 注意
jps.insert("warning","\xe6\xb3\xa8\xe6\x84\x8f");
jps.insert("file_not_exist",FM_WSTR(L"ファイルがありません"));
// \x4a\x50\x47 \xe4\xbf\x9d\xe5\xad\x98
// 保存 \xe4\xbf\x9d\xe5\xad\x98
jps.insert("save","\xe4\xbf\x9d\xe5\xad\x98");
// 初期値
jps.insert("default","\xe5\x88\x9d\xe6\x9c\x9f\xe5\x80\xa4");
// 緯度
jps.insert("lat","\xe7\xb7\xaf\xe5\xba\xa6");
//経度
jps.insert("lon","\xe7\xb5\x8c\xe5\xba\xa6");
// 録画ファイルがあるフォルダを選択
jps.insert("open_message","\xe9\x8c\xb2\xe7\x94\xbb\xe3\x83\x95\xe3\x82\xa1\xe3\x82\xa4\xe3\x83\xab\xe3\x81\x8c\xe3\x81\x82\xe3\x82\x8b\xe3\x83\x95\xe3\x82\xa9\xe3\x83\xab\xe3\x83\x80\xe3\x82\x92\xe9\x81\xb8\xe6\x8a\x9e");
// ファイル分割
jps.insert("split_files",FM_WSTR(L"ファイル分割"));
#endif // #if !(MODEL_KOREAN_ONLY)
#if(RM_MODEL == RM_MODEL_TYPE_ADT_CAPS)
kos.insert("report","\xeb\xb3\xb4\xea\xb3\xa0\xec\x84\x9c");
kos.insert("map","\xec\xa7\x80\xeb\x8f\x84");
kos.insert("language","\xec\x96\xb8\xec\x96\xb4");
kos.insert("viewer_info","\xeb\xb7\xb0\xec\x96\xb4\xec\xa0\x95\xeb\xb3\xb4");
kos.insert("capture","\xed\x99\x94\xeb\xa9\xb4\xec\xba\xa1\xec\xb3\x90");
kos.insert("setup","");
kos.insert("close","\xeb\x8b\xab\xea\xb8\xb0"); // 닫기
kos.insert("minimize","\xec\xb5\x9c\xec\x86\x8c\xed\x99\x94"); // 최소화
kos.insert("low_speed","\xec\xa0\x80\xec\x86\x8d");
kos.insert("high_speed","\xea\xb3\xa0\xec\x86\x8d \x28 \x31\x33\x30 \x4b\x6d\x2f\x68 \xec\x9d\xb4\xec\x83\x81 \x29");
kos.insert("flip_h","\xed\x99\x94\xeb\xa9\xb4\xec\xa2\x8c\xec\x9a\xb0\xeb\xb0\x98\xec\xa0\x84");
kos.insert("flip_v","\xed\x99\x94\xeb\xa9\xb4\xec\x83\x81\xed\x95\x98\xeb\xb0\x98\xec\xa0\x84");
kos.insert("swap","\xec\xb1\x84\xeb\x84\x90\xec\xa0\x84\xed\x99\x98");
kos.insert("fullscreen","\xec\xa0\x84\xec\xb2\xb4\xed\x99\x94\xeb\xa9\xb4");
kos.insert("graph_zoom_in","\xed\x99\x95\xeb\x8c\x80");
kos.insert("graph_zoom_out","\xec\xb6\x95\xec\x86\x8c");
kos.insert("brightness","\xeb\xb0\x9d\xea\xb8\xb0\xec\xa1\xb0\xec\xa0\x95");
kos.insert("contrast","\xeb\x8c\x80\xeb\xb9\x84\xec\xa1\xb0\xec\xa0\x95");
kos.insert("play_speed","\xec\x9e\xac\xec\x83\x9d\xec\x86\x8d\xeb\x8f\x84");
kos.insert("volume_mute","\xec\x9d\x8c\xec\x86\x8c\xea\xb1\xb0");
kos.insert("volume_un_mute","\xec\x9d\x8c\xec\x86\x8c\xea\xb1\xb0 \xed\x95\xb4\xec\xa0\x9c");
kos.insert("play_backward","\x31\xec\xb4\x88\xed\x9b\x84\xeb\xb0\xa9\xec\x9d\xb4\xeb\x8f\x99");
kos.insert("play_play","\xec\x9e\xac\xec\x83\x9d\xec\x8b\x9c\xec\x9e\x91");
kos.insert("play_stop","\xec\xa0\x95\xec\xa7\x80");
kos.insert("play_forward","\x31\xec\xb4\x88\xec\xa0\x84\xeb\xb0\xa9\xec\x9d\xb4\xeb\x8f\x99");
kos.insert("play_file_previous","\xec\x9d\xb4\xec\xa0\x84\xed\x8c\x8c\xec\x9d\xbc\xec\x9e\xac\xec\x83\x9d");
kos.insert("play_file_next","\xeb\x8b\xa4\xec\x9d\x8c\xed\x8c\x8c\xec\x9d\xbc\xec\x9e\xac\xec\x83\x9d");
kos.insert("open","\xed\x8c\x8c\xec\x9d\xbc\xec\x97\xb4\xea\xb8\xb0");
kos.insert("play_pause","\xec\x9d\xbc\xec\x8b\x9c\xec\xa0\x95\xec\xa7\x80");
kos.insert("backup","\xed\x8c\x8c\xec\x9d\xbc\xeb\xb3\xb4\xec\xa1\xb4");
kos.insert("viewer_sw_version","\xeb\xb7\xb0\xec\x96\xb4 \x53\x2f\x57 \xeb\xb2\x84\xec\xa0\x84 \xec\xa0\x95\xeb\xb3\xb4");
kos.insert("hw_accel","\x48\x2f\x57 \xea\xb7\xb8\xeb\x9e\x98\xed\x94\xbd \xea\xb0\x80\xec\x86\x8d \xec\x82\xac\xec\x9a\xa9");
#endif
#endif // ENG
#if (RM_MODEL == RM_MODEL_TYPE_MH9000)
jps.insert("select_fr",FM_WSTR(L"フロント l リア"));
jps.insert("select_lr",FM_WSTR(L"左サイド l 右サイド"));
jps.insert("select_front",FM_WSTR(L"フロント"));
jps.insert("select_rear",FM_WSTR(L"リア"));
jps.insert("select_left",FM_WSTR(L"左サイド"));
jps.insert("select_right",FM_WSTR(L"右サイド"));
jps.insert("select_asst",FM_WSTR(L"サブカメラ"));
jps.insert("select_indoor",FM_WSTR(L"車内カメラ"));
kos.insert("select_fr",FM_WSTR(L"전후방"));
kos.insert("select_lr",FM_WSTR(L"좌우측"));
kos.insert("select_front",FM_WSTR(L"전방"));
kos.insert("select_rear",FM_WSTR(L"후방"));
kos.insert("select_left",FM_WSTR(L"좌측"));
kos.insert("select_right",FM_WSTR(L"우측"));
kos.insert("select_asst",FM_WSTR(L"보조캠"));
kos.insert("select_indoor",FM_WSTR(L"실내캠"));
ens.insert("select_fr","Front|Rear");
ens.insert("select_lr",FM_WSTR(L"Left|Right"));
ens.insert("select_front",FM_WSTR(L"Front"));
ens.insert("select_rear",FM_WSTR(L"Rear"));
ens.insert("select_left",FM_WSTR(L"Left"));
ens.insert("select_right",FM_WSTR(L"Right"));
ens.insert("select_asst",FM_WSTR(L"Assistant"));
ens.insert("select_indoor",FM_WSTR(L"Indoor"));
#endif //
#if (DEBUG_FM_STRINGS)
QFile logFile("C:\\home\\temp2\\fmviewer.txt");
if (logFile.open(QFile::WriteOnly | QFile::Text))
{
QTextStream ts(&logFile);
ts.setCodec("UTF-8");
foreach (QString key, kos.keys())
{
ts << "\"" << key << "\",\"" << kos[key] << "\",\"" << jps[key] << "\",\"" << ens[key] << "\"\n";
}
}
#endif
}
#if (MODEL_KOREAN_ONLY)
QString FMS::txt(const char* key,RMLanguage::LANGUAGE_TYPE type) {
Q_UNUSED(type)
return FMS::txt(key);
}
#else // #if !(MODEL_KOREAN_ONLY)
QString FMS::txt(const char* key,RMLanguage::LANGUAGE_TYPE type) {
if(!_loaded) {
load();
_loaded = true;
}
QMap<QString,QString>* l = NULL;
switch (type) {
case RMLanguage::LANGUAGE_JP:
l = &FMS::jps;
break;
#if (RC_LANGUAGE == 0x0412)
case RMLanguage::LANGUAGE_KR:
l = &FMS::kos;
break;
#endif // #if (RC_LANGUAGE == 0x0412)
#if(SUB_MODEL_BV5000 || RM_MODEL == RM_MODEL_TYPE_MH9000 || RM_MODEL == RM_MODEL_TYPE_EMT_KR)
case RMLanguage::LANGUAGE_EN:
l = &FMS::ens;
break;
#endif // #if(SUB_MODEL_BV5000)
}
if(l->contains(key)) {
return l->value(key);
} else {
qInfo() << "STN:!!!" << key << RMLanguage::instance()->language() <<__FUNCTION__;
return "";
}
}
#endif // #if !(MODEL_KOREAN_ONLY)
QString FMS::txt(const char* key)
{
if(!_loaded) {
load();
_loaded = true;
}
#if (RM_MODEL == RM_MODEL_TYPE_NX_DRW22 || \
RM_MODEL == RM_MODEL_TYPE_KEIYO1 || \
RM_MODEL == RM_MODEL_TYPE_MBJ5010 || \
RM_MODEL == RM_MODEL_TYPE_TBD360 || \
RM_MODEL == RM_MODEL_TYPE_FC_DR232W || \
RM_MODEL == RM_MODEL_TYPE_AN6000 || \
RM_MODEL == RM_MODEL_TYPE_XLDR_88)
//qInfo() << jps.contains(key) << key << ":" << jps[key] << __FUNCTION__;
//qInfo() << key << QString::fromUtf8(jps[key]) << __FUNCTION__;
#if (MODEL_KOREAN_ONLY)
return kos[key];
#else // MODEL_KOREAN_ONLY
return jps[key];
#endif // MODEL_KOREAN_ONLY
#elif(RM_MODEL == RM_MODEL_TYPE_ADT_CAPS)
return kos[key];//QString::fromUtf8(kos[key]);
#elif (SUB_MODEL_BV5000 || RM_MODEL == RM_MODEL_TYPE_MH9000)
QMap<QString,QString>* l = NULL;
switch (RMLanguage::instance()->language()) {
case RMLanguage::LANGUAGE_JP:
l = &FMS::jps;
break;
case RMLanguage::LANGUAGE_KR:
l = &FMS::kos;
break;
case RMLanguage::LANGUAGE_EN:
l = &FMS::ens;
break;
}
if(l->contains(key)) {
return l->value(key);
} else {
qInfo() << "STN:!!!" << key << RMLanguage::instance()->language() <<__FUNCTION__;
return "";
}
#elif (RC_LANGUAGE == 0x0412)
if(!kos.contains(key) || kos.contains(key) == NULL) {
qInfo() << "LANGUAGE ERROR:" << key << __FUNCTION__ ;
return "";
}
return kos[key];
#endif
}
#if(SUPPORT_LANGUAGE_INSERT)
// 1:KR 2:JP, 3:EN
void FMS::insert_if_not_exist(int type,QString key, QString text)
{
QMap<QString,QString>* l = NULL;
switch (type) {
case 2:
l = &FMS::jps;
break;
case 3:
l = &FMS::ens;
break;
case 1:
l = &FMS::kos;
break;
}
//qInfo() << type << key << text << __FUNCTION__;
if(l != NULL && !l->contains(key)) {
l->insert(key,text);
}
}
#endif // #SUPPORT_LANGUAGE_INSERT
#endif // FM_STR_TYPE2