11var $ = require ( 'jquery' ) ;
22var Game = require ( './game' ) ;
33var Storage = require ( './storage' ) ;
4+ var i18n = require ( './i18n' ) ;
45
56var UTFsymbol = {
67 mute : '<div style="position:absolute; color: #CC0000; text-shadow: 0px 0px 2px #000000">✖</div>🔊' ,
@@ -13,17 +14,25 @@ var Menu = {
1314 this . element = ui ;
1415 var self = this ;
1516
17+ // apply menu translations
18+ $ ( '#menu-back' ) . text ( i18n . t ( 'menu_back' ) ) ;
19+ $ ( '#menu-save' ) . text ( i18n . t ( 'menu_save' ) ) ;
20+ $ ( '#menu-load' ) . text ( i18n . t ( 'menu_load' ) ) ;
21+ $ ( '#menu-reset' ) . text ( i18n . t ( 'menu_reset' ) ) ;
22+ $ ( '#menu-export' ) . text ( i18n . t ( 'menu_export' ) ) ;
23+
1624 function toggleMute ( ) {
1725 if ( Game . mute ) {
1826 steadHandler . mute ( false ) ;
19- ui . $menu_mute . text ( 'Mute' ) ;
27+ ui . $menu_mute . text ( i18n . t ( 'menu_mute' ) ) ;
2028 ui . $toolbar_mute . html ( UTFsymbol . sound ) ;
2129 } else {
2230 steadHandler . mute ( true ) ;
23- ui . $menu_mute . text ( 'Unmute' ) ;
31+ ui . $menu_mute . text ( i18n . t ( 'menu_unmute' ) ) ;
2432 ui . $toolbar_mute . html ( UTFsymbol . mute ) ;
2533 }
2634 }
35+ Game . mute = ! Game . mute ; // set correct mute state before switching
2736 toggleMute ( ) ;
2837
2938 ui . $menuButton . on ( 'click' , this . toggleMenu . bind ( this ) ) ;
@@ -69,10 +78,14 @@ var Menu = {
6978 }
7079 } ) ;
7180
72- ui . $toolbar_log . on ( 'click' , function toggleLog ( e ) {
73- e . preventDefault ( ) ;
74- $ ( '#log' ) . toggle ( ) . scrollTop ( function sh ( ) { return this . scrollHeight ; } ) ;
75- } ) ;
81+ if ( Game . log ) {
82+ ui . $toolbar_log . on ( 'click' , function toggleLog ( e ) {
83+ e . preventDefault ( ) ;
84+ $ ( '#log' ) . toggle ( ) . scrollTop ( function sh ( ) { return this . scrollHeight ; } ) ;
85+ } ) ;
86+ } else {
87+ ui . $toolbar_log . hide ( ) ;
88+ }
7689 ui . $toolbar_mute . on ( 'click' , function toggleLog ( e ) {
7790 e . preventDefault ( ) ;
7891 toggleMute ( ) ;
@@ -125,48 +138,48 @@ var Menu = {
125138 } ) ;
126139 var i ;
127140 if ( action === 'save' ) {
128- html += '<h3>Save game </h3>' ;
141+ html += '<h3>' + i18n . t ( 'menu_savegame' ) + ' </h3>';
129142 for ( i = 1 ; i <= Game . saveSlots ; i ++ ) {
130143 html += '<a href="" data-action="save" data-id="' + i + '" class="slot-selector">' ;
131144 if ( slots [ i ] ) {
132145 html += i + ' - ' + slots [ i ] ;
133146 } else {
134- html += i + ' - empty' ;
147+ html += i + ' - ' + i18n . t ( ' empty') ;
135148 }
136149 html += '</a>' ;
137150 }
138151 } else if ( action === 'load' ) {
139- html += '<h3>Load game </h3>' ;
152+ html += '<h3>' + i18n . t ( 'menu_loadgame' ) + ' </h3>';
140153 html += '<a href="" data-action="load" data-id="' + Game . autosaveID +
141- '" class="slot-selector">0 - Autosave </a>' ;
154+ '" class="slot-selector">0 - ' + i18n . t ( 'menu_autosave' ) + ' </a>';
142155 for ( i = 1 ; i <= Game . saveSlots ; i ++ ) {
143156 if ( slots [ i ] ) {
144157 html += '<a href="" data-action="load" data-id="' + i + '" class="slot-selector">' ;
145158 html += i + ' - ' + slots [ i ] ;
146159 html += '</a>' ;
147160 } else {
148- html += '<div class="slot-selector">' + i + ' - empty</div>' ;
161+ html += '<div class="slot-selector">' + i + ' - ' + i18n . t ( ' empty' ) + ' </div>';
149162 }
150163 }
151- html += '<h3>Import </h3>' ;
164+ html += '<h3>' + i18n . t ( 'menu_import' ) + ' </h3>';
152165 html += '<input type="file" id="load-import" style="font-size: 0.8em"/>' ;
153166 html += '<br><br>' ;
154167 } else {
155- html += '<h3>Export saved game </h3>' ;
168+ html += '<h3>' + i18n . t ( 'menu_export' ) + ' </h3>';
156169 html += '<a href="" data-action="export" data-id="' + Game . autosaveID +
157- '" class="slot-selector">0 - Autosave </a>' ;
170+ '" class="slot-selector">0 - ' + i18n . t ( 'menu_autosave' ) + ' </a>';
158171 for ( i = 1 ; i <= Game . saveSlots ; i ++ ) {
159172 if ( slots [ i ] ) {
160173 html += '<a href="" data-action="export" data-id="' + i + '" class="slot-selector">' ;
161174 html += i + ' - ' + slots [ i ] ;
162175 html += '</a>' ;
163176 } else {
164- html += '<div class="slot-selector">' + i + ' - empty</div>' ;
177+ html += '<div class="slot-selector">' + i + ' - ' + i18n . t ( ' empty' ) + ' </div>';
165178 }
166179 }
167180 }
168181
169- html += '<a href="" data-action="cancel">Cancel </a>' ;
182+ html += '<a href="" data-action="cancel">' + i18n . t ( 'menu_cancel' ) + ' </a>';
170183 ui . $menu_saveload . html ( html ) ;
171184 ui . $menu_saveload . show ( ) ;
172185 } else {
0 commit comments