showoff 0.17.2 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
data/views/help.erb CHANGED
@@ -1,27 +1,27 @@
1
- <div id="help-modal" title="Help">
1
+ <div id="help-modal" title="<%= I18n.t('help.title') %>">
2
2
  <div id="help">
3
3
  <div>
4
- <span class="description">Move to the next slide.</span>
4
+ <span class="description"><%= I18n.t('help.next') %></span>
5
5
  <span class="action">NEXT</span>
6
6
  <span class="hotkeys"><%= mapped_keys('NEXT') %></span>
7
7
  </div>
8
8
  <div>
9
- <span class="description">Move to the previous slide.</span>
9
+ <span class="description"><%= I18n.t('help.prev') %></span>
10
10
  <span class="action">PREV</span>
11
11
  <span class="hotkeys"><%= mapped_keys('PREV') %></span>
12
12
  </div>
13
13
  <div>
14
- <span class="description">Show the table of contents menu.</span>
14
+ <span class="description"><%= I18n.t('help.contents') %></span>
15
15
  <span class="action">CONTENTS</span>
16
16
  <span class="hotkeys"><%= mapped_keys('CONTENTS') %></span>
17
17
  </div>
18
18
  <div>
19
- <span class="description">Toggle follow mode.</span>
19
+ <span class="description"><%= I18n.t('help.follow') %></span>
20
20
  <span class="action">FOLLOW</span>
21
21
  <span class="hotkeys"><%= mapped_keys('FOLLOW') %></span>
22
22
  </div>
23
23
  <div>
24
- <span class="description">Show this help dialog.</span>
24
+ <span class="description"><%= I18n.t('help.help') %></span>
25
25
  <span class="action">HELP</span>
26
26
  <span class="hotkeys"><%= mapped_keys('HELP') %></span>
27
27
  </div>
@@ -29,47 +29,47 @@
29
29
  <hr />
30
30
 
31
31
  <div>
32
- <span class="description">Refresh slide content.</span>
32
+ <span class="description"><%= I18n.t('help.refresh') %></span>
33
33
  <span class="action">REFRESH</span>
34
34
  <span class="hotkeys"><%= mapped_keys('REFRESH') %></span>
35
35
  </div>
36
36
  <div>
37
- <span class="description">Completely reload Showoff.</span>
37
+ <span class="description"><%= I18n.t('help.reload') %></span>
38
38
  <span class="action">RELOAD</span>
39
39
  <span class="hotkeys"><%= mapped_keys('RELOAD') %></span>
40
40
  </div>
41
41
  <div>
42
- <span class="description">Blank the screen.</span>
42
+ <span class="description"><%= I18n.t('help.blank') %></span>
43
43
  <span class="action">BLANK</span>
44
44
  <span class="hotkeys"><%= mapped_keys('BLANK') %></span>
45
45
  </div>
46
46
  <div>
47
- <span class="description">Toggle the display footer.</span>
47
+ <span class="description"><%= I18n.t('help.footer') %></span>
48
48
  <span class="action">FOOTER</span>
49
49
  <span class="hotkeys"><%= mapped_keys('FOOTER') %></span>
50
50
  </div>
51
51
  <div>
52
- <span class="description">Toggle notes display.</span>
52
+ <span class="description"><%= I18n.t('help.notes') %></span>
53
53
  <span class="action">NOTES</span>
54
54
  <span class="hotkeys"><%= mapped_keys('NOTES') %></span>
55
55
  </div>
56
56
  <div>
57
- <span class="description">Clear code execution results.</span>
57
+ <span class="description"><%= I18n.t('help.clear') %></span>
58
58
  <span class="action">CLEAR</span>
59
59
  <span class="hotkeys"><%= mapped_keys('CLEAR') %></span>
60
60
  </div>
61
61
  <div>
62
- <span class="description">Pause the presentation.</span>
62
+ <span class="description"><%= I18n.t('help.pause') %></span>
63
63
  <span class="action">PAUSE</span>
64
64
  <span class="hotkeys"><%= mapped_keys('PAUSE') %></span>
65
65
  </div>
66
66
  <div>
67
- <span class="description">Display slideshow of <tt>preshow</tt> images on a timer.</span>
67
+ <span class="description"><%= I18n.t('help.preshow') %></span>
68
68
  <span class="action">PRESHOW</span>
69
69
  <span class="hotkeys"><%= mapped_keys('PRESHOW') %></span>
70
70
  </div>
71
71
  <div>
72
- <span class="description">Execute the first visible code block.</span>
72
+ <span class="description"><%= I18n.t('help.execute') %></span>
73
73
  <span class="action">EXECUTE</span>
74
74
  <span class="hotkeys"><%= mapped_keys('EXECUTE') %></span>
75
75
  </div>
@@ -77,7 +77,7 @@
77
77
  <hr />
78
78
 
79
79
  <div>
80
- <span class="description">Show debugging information.</span>
80
+ <span class="description"><%= I18n.t('help.debug') %></span>
81
81
  <span class="action">DEBUG</span>
82
82
  <span class="hotkeys"><%= mapped_keys('DEBUG') %></span>
83
83
  </div>
data/views/index.erb CHANGED
@@ -13,83 +13,97 @@
13
13
  <div id="navigationHover"></div>
14
14
  <div id="feedbackSidebar" class="sideMenu">
15
15
  <img id="disconnected" src="<%= @asset_path %>/css/disconnected.png">
16
- <h3>Showoff Menu</h3>
17
- <div id="navToggle" class="buttonWrapper"><i class=" fa fa-bookmark"></i> Table of Contents</div>
16
+ <h3><%= I18n.t('menu.title') %></h3>
17
+ <div id="navToggle" class="buttonWrapper"><i class=" fa fa-bookmark"></i> <%= I18n.t('menu.table_of_contents') %></div>
18
18
  <div id="navigation" class="submenu"></div>
19
19
  <% if not @static then %>
20
20
  <hr>
21
- <div id="fileDownloads" class="buttonWrapper"><i class="fa fa-download"></i> Downloads</div>
21
+ <div id="fileDownloads" class="buttonWrapper"><i class="fa fa-download"></i> <%= I18n.t('menu.downloads') %></div>
22
22
  <% end %>
23
23
  <hr>
24
24
 
25
25
  <% if @feedback and not @static then %>
26
- <p>The presenter should...</p>
26
+ <p><%= I18n.t('menu.pace.label') %></p>
27
27
  <div id="paceSlower" class="buttonWrapper split interactive">
28
28
  <i class="fa fa-minus"></i>
29
- <br>Slow Down
29
+ <br><%= I18n.t('menu.pace.slower') %>
30
30
  </div>
31
31
  <div id="paceFaster" class="buttonWrapper split interactive">
32
32
  <i class="fa fa-plus"></i>
33
- <br>Speed Up
33
+ <br><%= I18n.t('menu.pace.faster') %>
34
34
  </div>
35
35
 
36
36
  <hr>
37
- <div id="questionToggle" class="buttonWrapper interactive"><i class="fa fa-hand-stop-o"></i> Ask a Question</div>
37
+ <div id="questionToggle" class="buttonWrapper interactive"><i class="fa fa-hand-stop-o"></i> <%= I18n.t('menu.question.label') %></div>
38
38
  <div id="questionSubmenu" class="submenu">
39
- <textarea id="question" placeholder="Ask a question..."></textarea>
39
+ <textarea id="question" placeholder="<%= I18n.t('menu.question.placeholder') %>"></textarea>
40
40
  <div id="askQuestion" class="buttonWrapper interactive">Ask</div>
41
41
  </div>
42
42
  <ul id="askedQuestions"></ul>
43
43
 
44
44
  <hr>
45
45
 
46
- <div id="feedbackToggle" class="buttonWrapper interactive"><i class="fa fa-envelope"></i> Send Feedback</div>
46
+ <div id="feedbackToggle" class="buttonWrapper interactive"><i class="fa fa-envelope"></i> <%= I18n.t('menu.feedback.label') %></div>
47
47
  <div id="feedbackSubmenu" class="submenu">
48
- <p>This slide is...</p>
48
+ <p><%= I18n.t('menu.feedback.label') %></p>
49
49
  <small>
50
- Terrible
50
+ <%= I18n.t('menu.feedback.worst') %>
51
51
  <input type="radio" name="rating" value="1"></input>
52
52
  <input type="radio" name="rating" value="2"></input>
53
53
  <input type="radio" name="rating" value="3"></input>
54
54
  <input type="radio" name="rating" value="4"></input>
55
55
  <input type="radio" name="rating" value="5"></input>
56
- Awesome
56
+ <%= I18n.t('menu.feedback.best') %>
57
57
  </small>
58
- <textarea id="feedback" placeholder="Why...?"></textarea>
59
- <div id="sendFeedback" class="buttonWrapper interactive">Send</div>
58
+ <textarea id="feedback" placeholder="<%= I18n.t('menu.feedback.why') %>"></textarea>
59
+ <div id="sendFeedback" class="buttonWrapper interactive"><%= I18n.t('menu.feedback.send') %></div>
60
60
  </div>
61
61
 
62
62
  <% if @edit then %>
63
63
  <hr>
64
- <div id="editSlide" class="buttonWrapper">Edit Current Slide</div>
64
+ <div id="editSlide" class="buttonWrapper"><%= I18n.t('menu.edit') %></div>
65
65
  <% end %>
66
66
  <hr>
67
- <div id="clearAnnotations" class="buttonWrapper"><i class="fa fa-eraser"></i> Clear Annotations</div>
67
+ <div id="clearAnnotations" class="buttonWrapper"><i class="fa fa-eraser"></i> <%= I18n.t('menu.clear_annotations') %></div>
68
68
  <hr>
69
69
  <% end %>
70
70
 
71
- <div id="closeMenu" class="buttonWrapper"><i class="fa fa-close"></i> Close</div>
71
+ <% unless language_names.empty? %>
72
+ <div id="languageMenu" class="optionWrapper">
73
+ <i class="fa fa-language" aria-hidden="true"></i> <%= I18n.t('menu.language') %>
74
+ <select id="languageSelector" autocomplete="off">
75
+ <option value="auto" selected><%= I18n.t('language.auto') %></option>
76
+ <% language_names.each do |code, name| %>
77
+ <option value="<%= code %>"><%= name %></option>
78
+ <% end %>
79
+ <option value="disable"><%= I18n.t('language.disable') %></option>
80
+ </select>
81
+ </div>
82
+ <hr>
83
+ <% end %>
84
+
85
+ <div id="closeMenu" class="buttonWrapper"><i class="fa fa-close"></i> <%= I18n.t('menu.close') %></div>
72
86
  <hr>
73
87
 
74
88
  <small>
75
- <p>Press <code>?</code> for help.</p>
76
- <p>All features are anonymous</p>
89
+ <p><%= I18n.t('menu.help') %></p>
90
+ <p><%= I18n.t('menu.anonymous') %></p>
77
91
  </small>
78
92
  </div>
79
93
  <div id="sidebarExit"></div>
80
94
  </div>
81
95
  <%= erb :help %>
82
96
 
83
- <div id="preso"><center>loading presentation...</center></div>
97
+ <div id="preso"><center><%= I18n.t('loading') %></center></div>
84
98
 
85
99
  <div id="notes"></div>
86
100
 
87
101
  <footer id="footer">
88
- <span id="followMode"></span>
89
- <span id="slideInfo"></span>
90
- <span id="debugInfo"></span>
91
- <span id="notesInfo"></span>
92
- <span id="slideFilename"></span>
102
+ <span id="followLabel" class="container"><%= I18n.t('follow.label') %> <i id="followMode" class="fa fa-ban" aria-hidden="true"></i></span>
103
+ <span id="slideInfo" class="container"></span>
104
+ <span id="debugInfo" class="container"></span>
105
+ <span id="notesInfo" class="container"></span>
106
+ <span id="slideFilename" class="container"></span>
93
107
  <img id="disconnected" src="<%= @asset_path %>/css/disconnected.png" />
94
108
  </footer>
95
109
 
@@ -97,7 +111,7 @@
97
111
  <%= @slides %>
98
112
  </div>
99
113
  <div id="buttonNav">
100
- <div id="buttonPrev"><i class="fa fa-chevron-left fa-lg"></i> Previous</div><div id="buttonNext">Next <i class="fa fa-chevron-right fa-lg"></i></div>
114
+ <div id="buttonPrev"><i class="fa fa-chevron-left fa-lg"></i> <%= I18n.t('navigation.previous') %></div><div id="buttonNext"><%= I18n.t('navigation.next') %> <i class="fa fa-chevron-right fa-lg"></i></div>
101
115
  </div>
102
116
  <div id="pauseScreen">
103
117
  <%= @pause_msg %>
data/views/presenter.erb CHANGED
@@ -24,30 +24,26 @@
24
24
 
25
25
  <span id="links">
26
26
  <span class="desktop">
27
- <label for="annotationsToggle" class="no-mobile">Annotations <i class="fa fa-pencil"></i></label>
27
+ <label for="annotationsToggle" class="no-mobile" title="<%= I18n.t('presenter.topbar.tooltip.annotations') %>"><%= I18n.t('presenter.topbar.annotations') %> <i class="fa fa-pencil"></i></label>
28
28
  <input type="checkbox" id="annotationsToggle" autocomplete="off" class="no-mobile" />
29
29
 
30
30
  <% if @edit %>
31
- <a id="edit" href="#" title="Edit current slide in new window.">Edit Slide <i class="fa fa-pencil-square-o"></i></a>
31
+ <a id="edit" href="#" title="<%= I18n.t('presenter.topbar.tooltip.edit') %>"><%= I18n.t('presenter.topbar.edit') %> <i class="fa fa-pencil-square-o"></i></a>
32
32
  <% end %>
33
33
  <% if @issues %>
34
- <a id="report" href="javascript:reportIssue();" title="Report an issue with the current slide.">Report Issue With Slide <i class="fa fa-list-alt"></i></a>
34
+ <a id="report" href="javascript:reportIssue();" title="<%= I18n.t('presenter.topbar.tooltip.report') %>"><%= I18n.t('presenter.topbar.report') %> <i class="fa fa-list-alt"></i></a>
35
35
  <% end %>
36
36
 
37
- <a id="statslink" href="">Viewing Statistics <i class="fa fa-chevron-down"></i></a>
38
-
39
- <a id="downloadslink" href="">Downloads <i class="fa fa-chevron-down"></i></a>
40
-
41
- <a id="slaveWindow" href="#" title="Enable the display window.">Display Window <i class="fa fa-clone"></i></a>
42
-
43
- <a id="printSlides" href="#" title="Print slides using a new window.">Print Slides <i class="fa fa-print"></i></a>
44
-
45
- <a id="settings" href="#">Settings <i class="fa fa-cog"></i></a>
37
+ <a id="statslink" href="" title="<%= I18n.t('presenter.topbar.tooltip.stats') %>"><%= I18n.t('presenter.topbar.stats') %> <i class="fa fa-chevron-down"></i></a>
38
+ <a id="downloadslink" href="" title="<%= I18n.t('presenter.topbar.tooltip.downloads') %>"><%= I18n.t('presenter.topbar.downloads') %> <i class="fa fa-chevron-down"></i></a>
39
+ <a id="slaveWindow" href="#" title="<%= I18n.t('presenter.topbar.tooltip.display') %>"><%= I18n.t('presenter.topbar.display') %> <i class="fa fa-clone"></i></a>
40
+ <a id="printSlides" href="#" title="<%= I18n.t('presenter.topbar.tooltip.print') %>"><%= I18n.t('presenter.topbar.print') %> <i class="fa fa-print"></i></a>
41
+ <a id="settings" href="#" title="<%= I18n.t('presenter.topbar.tooltip.settings') %>"><%= I18n.t('presenter.topbar.settings') %> <i class="fa fa-cog"></i></a>
46
42
  </span>
47
43
 
48
44
 
49
45
  <span class="mobile">
50
- <a id="update" href="">Update</a>
46
+ <a id="update" href=""><%= I18n.t('presenter.mobile.update') %></a>
51
47
  </span>
52
48
  </span>
53
49
  </div>
@@ -55,12 +51,12 @@
55
51
  <div id="main">
56
52
  <div id="sidebar">
57
53
  <div id="timerSection">
58
- <input type="button" id="pauseTimer" value="Pause" />
59
- <input type="button" id="stopTimer" value="Cancel" />
60
- <span id="timerLabel">Timer:</span>
54
+ <input type="button" id="pauseTimer" value="<%= I18n.t('presenter.timer.pause') %>" />
55
+ <input type="button" id="stopTimer" value="<%= I18n.t('presenter.timer.cancel') %>" />
56
+ <span id="timerLabel"><%= I18n.t('presenter.timer.label') %></span>
61
57
  <span id="minStart">
62
- <input type="text" size="8" id="timerMinutes"/> min
63
- <input type="button" id="startTimer" value="Start" />
58
+ <input type="text" size="4" id="timerMinutes"/> <%= I18n.t('presenter.timer.unit') %>
59
+ <input type="button" id="startTimer" value="<%= I18n.t('presenter.timer.start') %>" />
64
60
  </span>
65
61
  <div id="timerDisplay"></div>
66
62
  </div>
@@ -70,8 +66,8 @@
70
66
  <div class="gradient"> </div>
71
67
  <div class="left obscure"> </div>
72
68
  <div class="right obscure"> </div>
73
- <span id="paceSlow">Speed Up!</span>
74
- <span id="paceFast">Slow Down!</span>
69
+ <span id="paceSlow"><%= I18n.t('presenter.pace.faster') %></span>
70
+ <span id="paceFast"><%= I18n.t('presenter.pace.slower') %></span>
75
71
  <img id="paceMarker" src="<%= @asset_path %>/css/paceMarker.png" />
76
72
  </div>
77
73
  <% end %>
@@ -81,7 +77,7 @@
81
77
 
82
78
  <% if @feedback then %>
83
79
  <div id="questions">
84
- <h3>Audience Questions</h3>
80
+ <h3><%= I18n.t('presenter.questions') %></h3>
85
81
  <ol id="unanswered"></ol>
86
82
  <ol id="answered"></ol>
87
83
  </div>
@@ -93,23 +89,23 @@
93
89
  <div id="frame">
94
90
  <div id="preview">
95
91
  <img id="disconnected" src="<%= @asset_path %>/css/disconnected-large.png" />
96
- <div id="prevSlide" class="thumb"><div class="container"></div><h3 class="label">Previous</h3></div>
97
- <div id="nextSlide" class="thumb"><div class="container"></div><h3 class="label">Next</h3></div>
98
- <div id="preso">loading presentation...</div>
92
+ <div id="prevSlide" class="thumb"><div class="container"></div><h3 class="label"><%= I18n.t('presenter.preview.previous') %></h3></div>
93
+ <div id="nextSlide" class="thumb"><div class="container"></div><h3 class="label"><%= I18n.t('presenter.preview.next') %></h3></div>
94
+ <div id="preso"><%= I18n.t('loading') %></div>
99
95
  </div>
100
96
  <div id="annotationToolbar">
101
- <label>Tools</label>
97
+ <label><%= I18n.t('presenter.annotation.tools') %></label>
102
98
  <i class="fa fa-pencil tool default active" data-action="draw" aria-hidden="true"></i>
103
99
  <i class="fa fa-arrow-right tool" data-action="rightArrow" aria-hidden="true"></i>
104
100
  <i class="fa fa-arrow-left tool" data-action="leftArrow" aria-hidden="true"></i>
105
101
  <i class="fa fa-bullseye tool" data-action="highlight" aria-hidden="true"></i>
106
102
  <i class="fa fa-eraser tool" data-action="erase" aria-hidden="true"></i>
107
- <label>Lines</label>
103
+ <label><%= I18n.t('presenter.annotation.lines') %></label>
108
104
  <i class="fa fa-square-o lines color1 active" aria-hidden="true"></i>
109
105
  <i class="fa fa-square-o lines color2" aria-hidden="true"></i>
110
106
  <i class="fa fa-square-o lines color3" aria-hidden="true"></i>
111
107
  <i class="fa fa-square-o lines color4" aria-hidden="true"></i>
112
- <label>Shapes</label>
108
+ <label><%= I18n.t('presenter.annotation.shapes') %></label>
113
109
  <i class="fa fa-square shapes color1" aria-hidden="true"></i>
114
110
  <i class="fa fa-square shapes color2" aria-hidden="true"></i>
115
111
  <i class="fa fa-square shapes color3 active" aria-hidden="true"></i>
@@ -117,72 +113,94 @@
117
113
  </div>
118
114
  </div>
119
115
 
120
- <div id="statusbar">
121
- <span class="label">Slide: <span id="slideInfo"></span></span>
122
- <span id="debugInfo"></span>
123
- <span id="slideSource">
124
- <% if @request.host == 'localhost' %>
125
- <a href="#"><span id="slideFile"></span></a>
126
- <% else %>
127
- <span id="slideFile"></span>
128
- <% end %>
129
- </span>
130
- </div>
131
- <div id="progress" class="no-mobile"></div>
116
+ <div id="notes-pane">
117
+ <div id="statusbar">
118
+ <span class="label"><%= I18n.t('presenter.status.label') %> <span id="slideInfo"></span></span>
119
+ <span id="debugInfo"></span>
120
+ <span id="slideSource">
121
+ <% if @request.host == 'localhost' %>
122
+ <a href="#"><span id="slideFile"></span></a>
123
+ <% else %>
124
+ <span id="slideFile"></span>
125
+ <% end %>
126
+ </span>
127
+ </div>
128
+ <div id="progress" class="no-mobile"></div>
132
129
 
133
- <div id="buttonNav">
134
- <div id="buttonPrev"><i class="fa fa-chevron-left fa-lg"></i> Previous</div><div id="buttonNext">Next <i class="fa fa-chevron-right fa-lg"></i></div>
135
- </div>
130
+ <div id="buttonNav">
131
+ <div id="buttonPrev"><i class="fa fa-chevron-left fa-lg"></i> <%= I18n.t('navigation.previous') %></div><div id="buttonNext"><%= I18n.t('navigation.next') %> <i class="fa fa-chevron-right fa-lg"></i></div>
132
+ </div>
136
133
 
137
- <div id="notes-wrapper">
138
- <ul class="section-selector"></ul>
139
- <div class="controls">
140
- <a class="no-mobile fa fa-minus small" aria-hidden="true" href="#"></a>
141
- <a class="no-mobile fa fa-dot-circle-o small" aria-hidden="true" href="#"></a>
142
- <a class="no-mobile fa fa-plus small" aria-hidden="true" href="#"></a>
143
- <span class="spacer"> </span>
144
- <a id="notesToggle" class="no-mobile fa fa-external-link-square" aria-hidden="true" href="#"></a>
145
- <span><i class="no-mobile fa fa-bars notes-grippy ui-resizable-handle ui-resizable-n" aria-hidden="true"></i></span>
134
+ <div id="notes-wrapper">
135
+ <ul class="section-selector"></ul>
136
+ <div class="controls">
137
+ <a class="no-mobile fa fa-minus small" aria-hidden="true" href="#"></a>
138
+ <a class="no-mobile fa fa-dot-circle-o small" aria-hidden="true" href="#"></a>
139
+ <a class="no-mobile fa fa-plus small" aria-hidden="true" href="#"></a>
140
+ <span class="spacer"> </span>
141
+ <a id="notesToggle" class="no-mobile fa fa-external-link-square" aria-hidden="true" href="#"></a>
142
+ <span><i class="no-mobile fa fa-bars notes-grippy ui-resizable-handle ui-resizable-n" aria-hidden="true"></i></span>
143
+ </div>
144
+ <div id="notes"></div>
146
145
  </div>
147
- <div id="notes"></div>
148
146
  </div>
149
147
  </div><!-- end presenter -->
150
148
  </div><!-- end main -->
151
149
 
152
- <div id="settings-modal" title="Settings">
153
- <div id="enableFollower" class="setting" title="Send slide change notifications.">
154
- <label for="followerToggle">Update Follower</label><input type="checkbox" id="followerToggle" autocomplete="off" checked />
150
+ <div id="settings-modal" title="<%= I18n.t('presenter.settings.label') %>">
151
+ <div id="enableFollower" class="setting" title="<%= I18n.t('presenter.settings.follower.tooltip') %>">
152
+ <label for="followerToggle"><%= I18n.t('presenter.settings.follower.label') %></label><input type="checkbox" id="followerToggle" autocomplete="off" checked />
155
153
  <p class="description">
156
- When this is enabled, the Showoff server will track your slide changes. Disable it to observe the presentation without inadvertently causing slide changes.
154
+ <%= I18n.t('presenter.settings.follower.description') %>
157
155
  </p>
158
156
  </div>
159
- <div id="enableRemote" class="setting" title="Enables tracking of other presenters.">
160
- <label for="remoteToggle">Enable Remote</label><input type="checkbox" id="remoteToggle" autocomplete="off" checked />
157
+ <div id="enableRemote" class="setting" title="<%= I18n.t('presenter.settings.remote.tooltip') %>">
158
+ <label for="remoteToggle"><%= I18n.t('presenter.settings.remote.label') %></label><input type="checkbox" id="remoteToggle" autocomplete="off" checked />
161
159
  <p class="description">
162
- When this is enabled, you can load the presenter in another browser (typically on your mobile phone) to control the presentation.
160
+ <%= I18n.t('presenter.settings.remote.description') %>
163
161
  </p>
164
162
  </div>
163
+ <% unless language_names.empty? %>
165
164
  <div class="setting">
166
- <label>Layout</label><br>
165
+ <label><%= I18n.t('presenter.settings.language.label') %></label><br>
166
+ <select id="languageSelector" autocomplete="off">
167
+ <option value="auto" selected><%= I18n.t('language.auto') %></option>
168
+ <% language_names.each do |code, name| %>
169
+ <option value="<%= code %>"><%= name %></option>
170
+ <% end %>
171
+ <option value="disable"><%= I18n.t('language.disable') %></option>
172
+ </select>
173
+ <p class="description">
174
+ <%= I18n.t('presenter.settings.language.description') %>
175
+ </p>
176
+ </div>
177
+ <% end %>
178
+ <div class="setting">
179
+ <label><%= I18n.t('presenter.settings.layout.label') %></label><br>
167
180
  <select id="layoutSelector" autocomplete="off">
168
- <option value="default" selected>Default Layout</option>
169
- <option value="thumbs" title="Display thumbnail previews of the next and previous slides.">Thumbnails</option>
170
- <option value="floating" title="Open the next slide as a floating window.">Floating</option>
171
- <option value="beside" title="Display the next slide as a large preview in the main presenter view.">Side-by-Side</option>
181
+ <option value="default" selected><%= I18n.t('presenter.settings.layout.default') %></option>
182
+ <option value="thumbs" title="<%= I18n.t('presenter.settings.layout.thumbs') %>">Thumbnails</option>
183
+ <option value="floating" title="<%= I18n.t('presenter.settings.layout.floating') %>">Floating</option>
184
+ <option value="beside" title="<%= I18n.t('presenter.settings.layout.beside') %>">Side-by-Side</option>
172
185
  </select>
173
186
  <div id="nextWindowConfirmation">
174
- <p class="description">Browser security requires confirmation before opening a new window.</p>
187
+ <p class="description"><%= I18n.t('presenter.settings.layout.confirmation') %></p>
175
188
  <p>
176
- <input id="openNextWindow" type="button" onClick="#" value="Open Window" />
177
- <a id="nextWinCancel" href="#">cancel</a>
189
+ <input id="openNextWindow" type="button" onClick="#" value="<%= I18n.t('presenter.settings.layout.open') %>" />
190
+ <a id="nextWinCancel" href="#"><%= I18n.t('presenter.settings.layout.cancel') %></a>
178
191
  </p>
179
192
  </div>
180
193
  </div>
181
194
  <div class="links">
182
- <a id="clearCookies" href="#" title="Reset Showoff UI settings to default values.">Clear Showoff settings.</a>
195
+ <a id="clearCookies" href="#" title="<%= I18n.t('presenter.settings.layout.reset.tooltip') %>"><%= I18n.t('presenter.settings.layout.reset.label') %></a>
183
196
  </div>
184
197
  </div>
185
198
 
199
+ <div id="print-modal" title="<%= I18n.t('presenter.print.label') %>">
200
+ <p><%= I18n.t('presenter.print.description') %></p>
201
+ <ul id="print-sections"></ul>
202
+ </div>
203
+
186
204
  <div id="slides" class="offscreen" <%= 'style="display:none;"' if @slides %>>
187
205
  <%= @slides %>
188
206
  </div>