Commit cdb8e1595cf4df47a347ba32f777147a924414fc

Authored by 고영탁
1 parent 0cbd3823e2
Exists in master and in 2 other branches fhd, fhd-demo

언어 적용 진행

 - config.h 등 수정 진행
app/gui/oven_control/config.cpp
... ... @@ -34,7 +34,7 @@ Config* Config::instance = NULL;
34 34  
35 35 Config::Config(QObject *parent) : QObject(parent)
36 36 {
37   - memcpy(config_format,config_format_kr,MAX_CONFIG_COUNT*64);
  37 + //memcpy(config_format,config_format_kr,MAX_CONFIG_COUNT*64);
38 38 loadConfig();
39 39 loadFavorite();
40 40 qApp->installEventFilter(&watcher);
... ... @@ -246,7 +246,8 @@ QString Config::getValueString(Define::ConfigType idx){
246 246 if( (config_data_type[(uint32_t)idx] & 0x80) ==0){
247 247 switch(config_data_type[(uint32_t)idx]){
248 248 case 0:
249   - qstrTemp.sprintf(config_format[(uint32_t)idx], configlist.values[(uint32_t)idx].d32);
  249 + //qstrTemp.sprintf(config_format[(uint32_t)idx], configlist.values[(uint32_t)idx].d32);
  250 + qstrTemp= tr(config_format[(uint32_t)idx]).arg(configlist.values[(uint32_t)idx].d32);
250 251 break;
251 252 case 1:
252 253 qstrTemp.sprintf(config_format[(uint32_t)idx], configlist.values[(uint32_t)idx].f32);
... ... @@ -255,7 +256,8 @@ QString Config::getValueString(Define::ConfigType idx){
255 256 qstrTemp = tr(config_format[(uint32_t)idx]);
256 257 break;
257 258 case 3:
258   - qstrTemp.sprintf(config_format[(uint32_t)idx], configlist.values[(uint32_t)idx].d32+1);
  259 + //qstrTemp.sprintf(config_format[(uint32_t)idx], configlist.values[(uint32_t)idx].d32+1);
  260 + qstrTemp= tr(config_format[(uint32_t)idx]).arg(configlist.values[(uint32_t)idx].d32+1);
259 261 break;
260 262 case 0x7f:
261 263 qstrTemp = "";
... ... @@ -304,14 +306,14 @@ QString Config::getValueString(Define::ConfigType idx){
304 306 break;
305 307 case config_duty_wash:
306 308 if(configlist.items.duty_wash.d32 >=2) configlist.items.duty_wash.d32 = 0;
307   - qDebug() << "duty wash is "<<configlist.items.duty_wash.d32;
308 309 qstrTemp = tr(active_on_off_menu[configlist.items.duty_wash.d32]);
309 310 break;
310 311 case config_cooking_door_monitoring:
311   - qstrTemp.sprintf(config_format[(uint32_t)idx],configlist.items.cooking_door_monitoring.d8.d8_0);
  312 + //qstrTemp.sprintf(config_format[(uint32_t)idx],configlist.items.cooking_door_monitoring.d8.d8_0);
  313 + qstrTemp = tr(config_format[(uint32_t)idx]).arg(configlist.items.cooking_door_monitoring.d8.d8_0);
312 314 break;
313 315 case config_loading_door_monitoring:
314   - qstrTemp.sprintf(config_format[(uint32_t)idx ], configlist.items.loading_door_monitoring.d8.d8_0);
  316 + qstrTemp = tr(config_format[(uint32_t)idx]).arg(configlist.items.loading_door_monitoring.d8.d8_0);
315 317 break;
316 318 case config_demo_mode:
317 319 if(configlist.items.demo_mode.d32 >=2) configlist.items.demo_mode.d32 = 0;
... ... @@ -325,9 +327,7 @@ QString Config::getValueString(Define::ConfigType idx){
325 327 }
326 328  
327 329 QString Config::getTitleString(Define::ConfigType idx){
328   - QString strTemp ="";
329   - strTemp = tr(config_title[idx]);
330   - return strTemp;
  330 + return tr(config_title[idx]);//strTemp;
331 331 }
332 332  
333 333 bool Config::isFavorite(Define::ConfigType idx){
... ...
app/gui/oven_control/config.h
... ... @@ -15,6 +15,90 @@
15 15 #define MAX_HOTLINE_SERVICE_CNT 2
16 16  
17 17  
  18 +static const char rest_time_type_menu[2][16] = {
  19 + QT_TRANSLATE_NOOP("Config","잔여시간\0"),
  20 + QT_TRANSLATE_NOOP("Config","타겟시간\0")
  21 +};
  22 +
  23 +static const char temptype_menu[2][16]{
  24 + QT_TRANSLATE_NOOP("Config","섭씨(℃)"),
  25 + QT_TRANSLATE_NOOP("Config","화씨(℉)")
  26 +};
  27 +
  28 +static const char set_unset_menu[2][16]={
  29 + QT_TRANSLATE_NOOP("Config","설정취소\0"),
  30 + QT_TRANSLATE_NOOP("Config","설정\0")
  31 +};
  32 +
  33 +static const char language_menu[3][20]{
  34 + "한국어\0",
  35 + "中國語\0",
  36 + "English"
  37 +};
  38 +
  39 +const char time_type_menu[2][16]={
  40 + "24h\0",
  41 + "am/pm\0"
  42 +};
  43 +
  44 +const char best_dish_weight_menu[4][16]={
  45 + "700g\0",
  46 + "700-899g\0",
  47 + "900-1099g\0",
  48 + "1100g"
  49 +};
  50 +
  51 +
  52 +const char active_on_off_menu[2][16]={
  53 + QT_TRANSLATE_NOOP("Config","비활성\0"),
  54 + QT_TRANSLATE_NOOP("Config","활성화\0")
  55 +};
  56 +
  57 +const char on_off_menu[2][16] = {
  58 + QT_TRANSLATE_NOOP("Config","끄기\0"),
  59 + QT_TRANSLATE_NOOP("Config","켜기\0")
  60 +};
  61 +
  62 +typedef struct _config_1digit_set{
  63 + char str_unit[8];
  64 + int maxlen;
  65 + int min;
  66 + int max;
  67 +}config_1digit_set;
  68 +
  69 +const config_1digit_set auto_darkness_dlgset = {
  70 + "min\0",
  71 + 2,
  72 + 1,
  73 + 30,
  74 +};
  75 +
  76 +const config_1digit_set load_ready_dlgset ={
  77 + "min\0",
  78 + 2,
  79 + 2,
  80 + 10,
  81 +};
  82 +
  83 +const char software_item_name[3][32] ={
  84 + QT_TRANSLATE_NOOP("Config","모 델 명"),
  85 + QT_TRANSLATE_NOOP("Config","제조일자"),
  86 + QT_TRANSLATE_NOOP("Config","소프트웨어 버전")
  87 +};
  88 +
  89 +const char hotline_chef_item_name[3][32] = {
  90 + QT_TRANSLATE_NOOP("Config","연 락 처"),
  91 + QT_TRANSLATE_NOOP("Config","이 름"),
  92 + QT_TRANSLATE_NOOP("Config","위치정보")
  93 +};
  94 +
  95 +const char hotline_service_item_name[3][32] ={
  96 + QT_TRANSLATE_NOOP("Config","연 락 처"),
  97 + QT_TRANSLATE_NOOP("Config","위치정보")
  98 +};
  99 +
  100 +
  101 +
18 102 namespace Define
19 103 {
20 104 enum ConfigType {
... ... @@ -166,91 +250,6 @@ namespace Define
166 250 rest_time_rest=0,
167 251 rest_time_target
168 252 };
169   -
170   - const char language_menu[3][20]{
171   - "한국어\0",
172   - "中國語\0",
173   - "English"
174   - };
175   -
176   - const char time_type_menu[2][16]={
177   - "24h\0",
178   - "am/pm\0"
179   - };
180   -
181   -
182   -
183   - const char temptype_menu[2][16]{
184   - "섭씨(℃)\0",
185   - "화씨(℉)\0"
186   - };
187   -
188   - const char best_dish_weight_menu[4][16]={
189   - "700g\0",
190   - "700-899g\0",
191   - "900-1099g\0",
192   - "1100g"
193   - };
194   -
195   -
196   -
197   - const char rest_time_type_menu[2][16] = {
198   - "잔여시간\0",
199   - "타겟시간\0"
200   - };
201   -
202   - const char set_unset_menu[2][16]={
203   - "설정취소\0",
204   - "설정\0"
205   - };
206   -
207   - const char active_on_off_menu[2][16]={
208   - "비활성\0",
209   - "활성화\0"
210   - };
211   -
212   - const char on_off_menu[2][16] = {
213   - "끄기\0",
214   - "켜기\0"
215   - };
216   -
217   - typedef struct _config_1digit_set{
218   - char str_unit[8];
219   - int maxlen;
220   - int min;
221   - int max;
222   - }config_1digit_set;
223   -
224   - const config_1digit_set auto_darkness_dlgset = {
225   - "min\0",
226   - 2,
227   - 1,
228   - 30,
229   - };
230   -
231   - const config_1digit_set load_ready_dlgset ={
232   - "min\0",
233   - 2,
234   - 2,
235   - 10,
236   - };
237   -
238   - const char software_item_name[3][32] ={
239   - "모 델 명",
240   - "제조일자",
241   - "소프트웨어 버전"
242   - };
243   -
244   - const char hotline_chef_item_name[3][32] = {
245   - "연 락 처",
246   - "이 름",
247   - "위치정보"
248   - };
249   -
250   - const char hotline_service_item_name[3][32] ={
251   - "연 락 처",
252   - "위치정보"
253   - };
254 253 }
255 254  
256 255  
... ... @@ -287,109 +286,101 @@ class Config : public QObject
287 286 0x02,0x02,0x02,0x02,0x80,0x02
288 287 };
289 288  
290   - const QString str_menu[3] ={
291   - tr("test"),
292   - tr("name"),
293   - tr("ok")
294   - };
295 289  
296   - const char config_format_kr[MAX_CONFIG_COUNT][64]={
  290 + const char config_format[MAX_CONFIG_COUNT][64] = {
297 291 "%S",
298 292 "%S",
299 293 "%S",
300   - "%d",
301   - "%d 분",
302   - "%d g", //5
303   - "%d g",
304   - "%d",
305   - "%d",
306   - "%d min", //9
  294 + "%1",
  295 + QT_TR_NOOP("%1 분"),
  296 + "%1 g", //5
  297 + "%1 g",
  298 + "%1",
  299 + "%1",
  300 + "%1 min", //9
307 301 "%S", //10
308 302 "%S",
309 303 "%S", //end of Settings
310   - "%d" ,//start of Sound
311   - "%d번",
312   - "%d",
313   - "%d번",
314   - "%d번",
315   - "%d번",
316   - "%d번",
317   - "공장초기화",
318   - "USB 삽입", //config_haccp_data_download,
  304 + "%1" ,//start of Sound
  305 + QT_TR_NOOP("%1번"),
  306 + "%1",
  307 + "%1번",
  308 + "%1번",
  309 + "%1번",
  310 + "%1번",
  311 + QT_TR_NOOP("공장초기화"),
  312 + QT_TR_NOOP("USB 삽입"), //config_haccp_data_download,
319 313 "USB 삽입", //config_info_data_download,
320 314 "USB 삽입", //config_service_data_download,
321 315 "USB 삽입", //config_program_download,
322 316 "USB 삽입", //config_program_upload,
323   - "초기화", //config_program_initialize,
  317 + QT_TR_NOOP("초기화"), //config_program_initialize,
324 318 "%d.%d.%d.%d", //config_ip,
325 319 "%d.%d.%d.%d", //config_gateway,
326 320 "%d.%d.%d.%d", //config_netmask,
327 321 "USB 삽입", //config_set_download,
328 322 "USB 삽입", //config_set_upload,
329 323 "%s", //config_set_half_energy,
330   - "%d", //config_set_auto_darkness,
331   - "%d", //config_set_ilc_cook_temphumi_ready,
332   - "%d", //config_set_load_ready,
  324 + "%1", //config_set_auto_darkness,
  325 + "%1", //config_set_ilc_cook_temphumi_ready,
  326 + "%1", //config_set_load_ready,
333 327 "%s", //config_duty_wash,
334   - "%d단계", //config_loading_door_monitoring,
335   - "%d단계", //config_cooking_door_monitoring
336   - "정보확인", //config_software_info,
  328 + QT_TR_NOOP("%1단계"), //config_loading_door_monitoring,
  329 + QT_TR_NOOP("%1단계"), //config_cooking_door_monitoring
  330 + QT_TR_NOOP("정보확인"), //config_software_info,
337 331 "정보확인", //config_hotline_chef,
338 332 "정보확인", //config_hotline_service,
339   - "헹굼", //config_steam_wash
  333 + QT_TR_NOOP("헹굼"), //config_steam_wash
340 334 "%s", //config_demo_mode,
341   - "엔지니어모드 진입", //config_enter_engineer_mode,
  335 + QT_TR_NOOP("엔지니어모드 진입"), //config_enter_engineer_mode,
342 336 };
343 337  
344   -
345   - char config_format[MAX_CONFIG_COUNT][64];
346   -
347 338 const char config_title[MAX_CONFIG_COUNT][64]={
348   - "언어설정", //0
349   - "날짜와 시간",
350   - "온도단위",
351   - "화면밝기",
352   - "응축식 후드의 정지지연",
353   - "일품요리용 접시무게", //5
354   - "연회용 접시무게",
355   - "ILC 조리선반 개수",
356   - "ILC 조리선반 순서",
357   - "ILC 조리 온습도 대기시간",
358   - "조리시간 포맷", //10
359   - "실시간 단위 설정",
360   - "잔여시간 시점변경설정", //12
361   - "마스터 볼륨", //13
362   - "키패드 소리 - 1",
363   - "키패드 볼륨 ", //15
364   - "적재/실행 요청",
365   - "프로그램 단계 종료",
366   - "조리시간 종료",
367   - "과정 중단/오류 식별", //19
368   - "음향설정 초기화", //20
369   - "HACCP 데이터 다운로드", //config_haccp_data_download,
370   - "인포 데이터 다운로드", //config_info_data_download,
371   - "서비스 데이터 다운로드", //config_service_data_download,
372   - "프로그램 다운로드", //config_program_download,
373   - "프로그램 업로드", //25 config_program_upload,
374   - "모든 프로그램 삭제", //config_program_initialize,
375   - "IP 주소", //config_ip,
376   - "IP 게이트웨이", //config_gateway,
377   - "IP 넷마스크", //config_netmask,
378   - "기본설정 다운로드", //30 config_set_download,
379   - "기본설정 업로드", //31 end of system config config_set_upload,
380   - "하프에너지", //config_set_half_energy,
381   - "화면 밝기 자동 감소", //config_set_auto_darkness,
382   - "ILC 조리 온습도 대기시간", //config_set_ilc_cook_temphumi_ready,
383   - "적재중 대기 시간", //config_set_load_ready,
384   - "의무 세척과정", //config_duty_wash,
385   - "적재 중 문열림 시간 모니터링",//config_loading_door_monitoring,
386   - "조리 중 문열림 시간 모니터링" ,//config_cooking_door_monitoring
387   - "제품유형/소프트웨어에 관한 정보",//config_software_info,
388   - "핫라인-쉐프", //config_hotline_chef,
389   - "핫라인-서비스", //config_hotline_service,
390   - "증기 발생기 헹굼", //config_steam_wash
391   - "시연모드", //config_demo_mode,
392   - "서비스단계(엔지니어모드)" //config_enter_engineer_mode,
  339 + QT_TR_NOOP("언어설정"), //0
  340 + QT_TR_NOOP("날짜와 시간"),
  341 + QT_TR_NOOP("온도단위"),
  342 + QT_TR_NOOP("화면밝기"),
  343 + QT_TR_NOOP("응축식 후드의 정지지연"),
  344 + QT_TR_NOOP("일품요리용 접시무게"), //5
  345 + QT_TR_NOOP("연회용 접시무게"),
  346 + QT_TR_NOOP("ILC 조리선반 개수"),
  347 + QT_TR_NOOP("ILC 조리선반 순서"),
  348 + QT_TR_NOOP("ILC 조리 온습도 대기시간"),
  349 + QT_TR_NOOP("조리시간 포맷"), //10
  350 + QT_TR_NOOP("실시간 단위 설정"),
  351 + QT_TR_NOOP("잔여시간 시점변경설정"), //12
  352 + QT_TR_NOOP("마스터 볼륨"), //13
  353 + QT_TR_NOOP("키패드 소리 - 1"),
  354 + QT_TR_NOOP("키패드 볼륨 "), //15
  355 + QT_TR_NOOP("적재/실행 요청"),
  356 + QT_TR_NOOP("프로그램 단계 종료"),
  357 + QT_TR_NOOP("조리시간 종료"),
  358 + QT_TR_NOOP("과정 중단/오류 식별"), //19
  359 + QT_TR_NOOP("음향설정 초기화"), //20
  360 + QT_TR_NOOP("HACCP 데이터 다운로드"), //config_haccp_data_download,
  361 + QT_TR_NOOP("인포 데이터 다운로드"), //config_info_data_download,
  362 + QT_TR_NOOP("서비스 데이터 다운로드"), //config_service_data_download,
  363 + QT_TR_NOOP("프로그램 다운로드"), //config_program_download,
  364 + QT_TR_NOOP("프로그램 업로드"), //25 config_program_upload,
  365 + QT_TR_NOOP("모든 프로그램 삭제"), //config_program_initialize,
  366 + QT_TR_NOOP("IP 주소"), //config_ip,
  367 + QT_TR_NOOP("IP 게이트웨이"), //config_gateway,
  368 + QT_TR_NOOP("IP 넷마스크"), //config_netmask,
  369 + QT_TR_NOOP("기본설정 다운로드"), //30 config_set_download,
  370 + QT_TR_NOOP("기본설정 업로드"), //31 end of system config config_set_upload,
  371 + QT_TR_NOOP("하프에너지"), //config_set_half_energy,
  372 + QT_TR_NOOP("화면 밝기 자동 감소"), //config_set_auto_darkness,
  373 + QT_TR_NOOP("ILC 조리 온습도 대기시간"), //config_set_ilc_cook_temphumi_ready,
  374 + QT_TR_NOOP("적재중 대기 시간"), //config_set_load_ready,
  375 + QT_TR_NOOP("의무 세척과정"), //config_duty_wash,
  376 + QT_TR_NOOP("적재 중 문열림 시간 모니터링"), //config_loading_door_monitoring,
  377 + QT_TR_NOOP("조리 중 문열림 시간 모니터링"), //config_cooking_door_monitoring
  378 + QT_TR_NOOP("제품유형/소프트웨어에 관한 정보"), //config_software_info,
  379 + QT_TR_NOOP("핫라인-쉐프"), //config_hotline_chef,
  380 + QT_TR_NOOP("핫라인-서비스"), //config_hotline_service,
  381 + QT_TR_NOOP("증기 발생기 헹굼"), //config_steam_wash
  382 + QT_TR_NOOP("시연모드"), //config_demo_mode,
  383 + QT_TR_NOOP("서비스단계(엔지니어모드)") //config_enter_engineer_mode,
393 384 };
394 385  
395 386 QSet<uint32_t> m_setFavorite;
... ...
app/gui/oven_control/configresttimeformatdlg.cpp
... ... @@ -20,8 +20,8 @@ configResttimeFormatDlg::configResttimeFormatDlg(QWidget *parent) :
20 20 foreach (QPushButton *button, findChildren<QPushButton *>())
21 21 connect(button, &QPushButton::pressed, SoundPlayer::playClick);
22 22  
23   - ui->pushButton_1->setText(tr(rest_time_type_menu[0]));
24   - ui->pushButton_2->setText(tr(rest_time_type_menu[1]));
  23 + ui->pushButton_1->setText(QCoreApplication::translate("Config",rest_time_type_menu[0]));
  24 + ui->pushButton_2->setText(QCoreApplication::translate("Config", rest_time_type_menu[1]));
25 25  
26 26 reloadUi();
27 27  
... ...
app/gui/oven_control/historylistwindow.cpp
... ... @@ -9,6 +9,7 @@
9 9 #include "stringer.h"
10 10 #include "soundplayer.h"
11 11  
  12 + constexpr char HistoryListWindow::m_strWindowName[4][64];
12 13  
13 14 HistoryListWindow::HistoryListWindow(QWidget *parent) :
14 15 QMainWindow(parent),
... ...
app/gui/oven_control/historylistwindow.h
... ... @@ -19,27 +19,32 @@ namespace ERROR_LOG_SPACE {
19 19 ERROR_HISTORY_LOWERBUNNER,
20 20 ERROR_HISTORY_TOTAL
21 21 };
22   -
23   - const uint8_t m_arrErrorMaxIdx[4] = {3,4,3,11};
24   -
25   - const char m_strWindowName[4][64] = {"상부점화장치\0",
26   - "스팀점화장치\0","하부점화장치\0","서비스에러기록종합\0"};
27   - const uint16_t m_arrErrorIdxs[3][20] = { //서비스 에러 기록 종합은 합산
  22 + static const uint8_t m_arrErrorMaxIdx[4] = {3,4,3,11};
  23 + static const uint16_t m_arrErrorIdxs[3][20] = { //서비스 에러 기록 종합은 합산
28 24 {ERROR_IDX_upper_fire_fail,ERROR_IDX_upper_pan_fail,ERROR_IDX_upper_motor_fail},
29 25 {ERROR_IDX_steam_fire_fail,ERROR_IDX_steam_pan_fail,ERROR_IDX_water_level_sensor_fail,ERROR_IDX_steam_gen_temp_high_alram},
30 26 {ERROR_IDX_lower_fire_fail,ERROR_IDX_lower_pan_fail,ERROR_IDX_lower_motor_fail}
31 27 };
32   -
33 28 }
34 29  
35   -
36 30 using namespace ERROR_LOG_SPACE;
37 31  
38 32  
  33 +
  34 +
  35 +
39 36 class HistoryListWindow : public QMainWindow
40 37 {
41 38 Q_OBJECT
42 39  
  40 + static constexpr char m_strWindowName[4][64] = {
  41 + QT_TR_NOOP("상부점화장치\0"),
  42 + QT_TR_NOOP("스팀점화장치\0"),
  43 + QT_TR_NOOP("하부점화장치\0"),
  44 + QT_TR_NOOP("서비스에러기록종합\0")
  45 + };
  46 +
  47 +
43 48 public:
44 49 explicit HistoryListWindow(QWidget *parent = 0);
45 50 ~HistoryListWindow();
... ...
app/gui/oven_control/lang_en.qm
No preview for this file type
app/gui/oven_control/main.cpp
... ... @@ -22,6 +22,10 @@ int main(int argc, char *argv[])
22 22 OvenStatistics::getInstance(oven);
23 23 Config::getInstance(oven);
24 24  
  25 +// QTranslator* trans = new QTranslator();
  26 +// qDebug() << trans->load(":/lang_en.qm");
  27 +// QApplication::installTranslator(trans);
  28 +
25 29 MainWindow w;
26 30 w.showFullScreen();
27 31  
... ...
app/gui/oven_control/stringer.cpp
... ... @@ -63,11 +63,11 @@ QString Stringer::remainingTime(int msecs)
63 63 case RemainingTime:
64 64 msecs /= 1000;
65 65 if (msecs >= 3600)
66   - return qApp->tr("%1시간 %2분").arg(msecs / 3600).arg((msecs % 3600) / 60, 2, 10, QLatin1Char('0'));
  66 + return QCoreApplication::tr("%1시간 %2분").arg(msecs / 3600).arg((msecs % 3600) / 60, 2, 10, QLatin1Char('0'));
67 67 if (msecs >= 60)
68   - return qApp->tr("%1분 %2초").arg(msecs / 60).arg(msecs % 60, 2, 10, QLatin1Char('0'));
  68 + return QCoreApplication::tr("%1분 %2초").arg(msecs / 60).arg(msecs % 60, 2, 10, QLatin1Char('0'));
69 69  
70   - return qApp->tr("%1초").arg(msecs);
  70 + return QCoreApplication::tr("%1초").arg(msecs);
71 71 case FinishTime:
72 72 QDateTime dateTime = QDateTime::currentDateTime().addMSecs(msecs);
73 73 switch (realTimeFormat())
... ... @@ -90,20 +90,20 @@ QString Stringer::remainingTime(int msecs, QString style)
90 90 msecs /= 1000;
91 91 if (msecs >= 3600)
92 92 {
93   - QString hour = heavySpan.arg(msecs / 3600) + lightSpan.arg(qApp->tr("시간"));
94   - QString min = heavySpan.arg((msecs % 3600) / 60, 2, 10, QLatin1Char('0')) + lightSpan.arg(qApp->tr("분"));
  93 + QString hour = heavySpan.arg(msecs / 3600) + lightSpan.arg(QCoreApplication::tr("시간"));
  94 + QString min = heavySpan.arg((msecs % 3600) / 60, 2, 10, QLatin1Char('0')) + lightSpan.arg(QCoreApplication::tr("분"));
95 95  
96 96 return style + QString("%1 %2").arg(hour).arg(min);
97 97 }
98 98 if (msecs >= 60)
99 99 {
100   - QString min = heavySpan.arg(msecs / 60) + lightSpan.arg(qApp->tr("분"));
101   - QString sec = heavySpan.arg(msecs % 60, 2, 10, QLatin1Char('0')) + lightSpan.arg(qApp->tr("초"));
  100 + QString min = heavySpan.arg(msecs / 60) + lightSpan.arg(QCoreApplication::tr("분"));
  101 + QString sec = heavySpan.arg(msecs % 60, 2, 10, QLatin1Char('0')) + lightSpan.arg(QCoreApplication::tr("초"));
102 102  
103 103 return style + QString("%1 %2").arg(min).arg(sec);
104 104 }
105 105  
106   - return style + heavySpan.arg(msecs) + lightSpan.arg(qApp->tr("초"));
  106 + return style + heavySpan.arg(msecs) + lightSpan.arg(QCoreApplication::tr("초"));
107 107 case FinishTime:
108 108 QDateTime dateTime = QDateTime::currentDateTime().addMSecs(msecs);
109 109 switch (realTimeFormat())
... ... @@ -125,11 +125,11 @@ QString Stringer::remainingTime(qint64 msecs)
125 125 case RemainingTime:
126 126 msecs /= 1000;
127 127 if (msecs >= 3600)
128   - return qApp->tr("%1시간 %2분").arg(msecs / 3600).arg((msecs % 3600) / 60, 2, 10, QLatin1Char('0'));
  128 + return QCoreApplication::tr("%1시간 %2분").arg(msecs / 3600).arg((msecs % 3600) / 60, 2, 10, QLatin1Char('0'));
129 129 if (msecs >= 60)
130   - return qApp->tr("%1분 %2초").arg(msecs / 60).arg(msecs % 60, 2, 10, QLatin1Char('0'));
  130 + return QCoreApplication::tr("%1분 %2초").arg(msecs / 60).arg(msecs % 60, 2, 10, QLatin1Char('0'));
131 131  
132   - return qApp->tr("%1초").arg(msecs);
  132 + return QCoreApplication::tr("%1초").arg(msecs);
133 133 case FinishTime:
134 134 QDateTime dateTime = QDateTime::currentDateTime().addMSecs(msecs);
135 135 switch (realTimeFormat())
... ...