@@ -3,6 +3,7 @@ import { ISignal } from '@lumino/signaling';
3
3
import { ReactWidget , ISessionContext } from '@jupyterlab/apputils' ;
4
4
import { IChangedArgs } from '@jupyterlab/coreutils' ;
5
5
import { Kernel } from '@jupyterlab/services' ;
6
+ import { TranslationBundle } from '@jupyterlab/translation' ;
6
7
import { INotebookTracker , NotebookPanel } from '@jupyterlab/notebook' ;
7
8
import { requestAPI } from './handler' ;
8
9
import { KernelUsagePanel } from './panel' ;
@@ -49,6 +50,7 @@ const KernelUsage = (props: {
49
50
widgetAdded : ISignal < INotebookTracker , NotebookPanel | null > ;
50
51
currentNotebookChanged : ISignal < INotebookTracker , NotebookPanel | null > ;
51
52
panel : KernelUsagePanel ;
53
+ trans : TranslationBundle ;
52
54
} ) => {
53
55
const { panel } = props ;
54
56
const [ kernelId , setKernelId ] = useState < string > ( ) ;
@@ -144,75 +146,91 @@ const KernelUsage = (props: {
144
146
return ! usage . hostname ? (
145
147
< >
146
148
< h3 className = "jp-KernelUsage-section-separator" >
147
- Kernel usage details are not available
149
+ props.trans.__(' Kernel usage details are not available')
148
150
</ h3 >
149
151
< div className = "jp-KernelUsage-section-separator" >
150
- Please check with your system administrator that you running
151
- IPyKernel version 6.10.0 or above.
152
+ props.trans.__(' Please check with your system administrator that you
153
+ running IPyKernel version 6.10.0 or above.')
152
154
</ div >
153
155
</ >
154
156
) : (
155
157
< >
156
- < h3 className = "jp-KernelUsage-section-separator" > Kernel usage</ h3 >
158
+ < h3 className = "jp-KernelUsage-section-separator" >
159
+ props.trans.__('Kernel usage')
160
+ </ h3 >
161
+ < div className = "jp-KernelUsage-separator" >
162
+ props.trans.__('Kernel Host'): { usage . hostname }
163
+ </ div >
157
164
< div className = "jp-KernelUsage-separator" >
158
- Kernel Host : { usage . hostname }
165
+ props.trans.__('Notebook') : { path }
159
166
</ div >
160
- < div className = "jp-KernelUsage-separator" > Notebook: { path } </ div >
161
- < div className = "jp-KernelUsage-separator" > Kernel ID: { kernelId } </ div >
162
167
< div className = "jp-KernelUsage-separator" >
163
- Timestamp: { usage . timestamp ?. toLocaleString ( ) }
168
+ props.trans.__('Kernel ID'): { kernelId }
164
169
</ div >
165
170
< div className = "jp-KernelUsage-separator" >
166
- Process ID : { usage . pid }
171
+ props.trans.__('Timestamp') : { usage . timestamp ?. toLocaleString ( ) }
167
172
</ div >
168
173
< div className = "jp-KernelUsage-separator" >
169
- CPU : { usage . kernel_cpu } % used
174
+ props.trans.__('Process ID') : { usage . pid }
170
175
</ div >
171
176
< div className = "jp-KernelUsage-separator" >
172
- Memory: { formatForDisplay ( usage . kernel_memory ) }
177
+ props.trans.__('CPU'): { usage . kernel_cpu } % used
178
+ </ div >
179
+ < div className = "jp-KernelUsage-separator" >
180
+ props.trans.__('Memory'): { formatForDisplay ( usage . kernel_memory ) }
173
181
</ div >
174
182
< hr className = "jp-KernelUsage-section-separator" > </ hr >
175
- < h4 className = "jp-KernelUsage-section-separator" > Host CPU</ h4 >
183
+ < h4 className = "jp-KernelUsage-section-separator" >
184
+ props.trans.__('Host CPU')
185
+ </ h4 >
176
186
{ usage . host_cpu_percent && (
177
187
< div className = "jp-KernelUsage-separator" >
178
- { usage . host_cpu_percent . toFixed ( 1 ) } % used on { usage . cpu_count } { ' ' }
179
- CPUs
188
+ { usage . host_cpu_percent . toFixed ( 1 ) } % props.trans.__(' used on') { ' ' }
189
+ { usage . cpu_count } CPUs
180
190
</ div >
181
191
) }
182
192
< h4 className = "jp-KernelUsage-section-separator" >
183
- Host Virtual Memory
193
+ props.trans.__(' Host Virtual Memory')
184
194
</ h4 >
185
195
< div className = "jp-KernelUsage-separator" >
186
- Active: { formatForDisplay ( usage . host_virtual_memory . active ) }
196
+ props.trans.__('Active'):{ ' ' }
197
+ { formatForDisplay ( usage . host_virtual_memory . active ) }
187
198
</ div >
188
199
< div className = "jp-KernelUsage-separator" >
189
- Available: { formatForDisplay ( usage . host_virtual_memory . available ) }
200
+ props.trans.__('Available'):{ ' ' }
201
+ { formatForDisplay ( usage . host_virtual_memory . available ) }
190
202
</ div >
191
203
< div className = "jp-KernelUsage-separator" >
192
- Free: { formatForDisplay ( usage . host_virtual_memory . free ) }
204
+ props.trans.__('Free'):{ ' ' }
205
+ { formatForDisplay ( usage . host_virtual_memory . free ) }
193
206
</ div >
194
207
< div className = "jp-KernelUsage-separator" >
195
- Inactive: { formatForDisplay ( usage . host_virtual_memory . inactive ) }
208
+ props.trans.__('Inactive'):{ ' ' }
209
+ { formatForDisplay ( usage . host_virtual_memory . inactive ) }
196
210
</ div >
197
211
{ usage . host_virtual_memory . percent && (
198
212
< div className = "jp-KernelUsage-separator" >
199
- Percent used: { usage . host_virtual_memory . percent . toFixed ( 1 ) } %
213
+ props.trans.__('Percent used'):{ ' ' }
214
+ { usage . host_virtual_memory . percent . toFixed ( 1 ) } %
200
215
</ div >
201
216
) }
202
217
< div className = "jp-KernelUsage-separator" >
203
- Total: { formatForDisplay ( usage . host_virtual_memory . total ) }
218
+ props.trans.__('Total'):{ ' ' }
219
+ { formatForDisplay ( usage . host_virtual_memory . total ) }
204
220
</ div >
205
221
< div className = "jp-KernelUsage-separator" >
206
- Used: { formatForDisplay ( usage . host_virtual_memory . used ) }
222
+ props.trans.__('Used'):{ ' ' }
223
+ { formatForDisplay ( usage . host_virtual_memory . used ) }
207
224
</ div >
208
225
< div className = "jp-KernelUsage-separator" >
209
- Wired: { formatForDisplay ( usage . host_virtual_memory . wired ) }
226
+ props.trans.__('Wired'):{ ' ' }
227
+ { formatForDisplay ( usage . host_virtual_memory . wired ) }
210
228
</ div >
211
229
</ >
212
230
) ;
213
231
}
214
232
}
215
- return < h3 > Kernel usage is not available</ h3 > ;
233
+ return < h3 > props.trans.__(' Kernel usage is not available') </ h3 > ;
216
234
} ;
217
235
218
236
export class KernelUsageWidget extends ReactWidget {
@@ -222,15 +240,18 @@ export class KernelUsageWidget extends ReactWidget {
222
240
NotebookPanel | null
223
241
> ;
224
242
private _panel : KernelUsagePanel ;
243
+ private _trans : TranslationBundle ;
225
244
constructor ( props : {
226
245
widgetAdded : ISignal < INotebookTracker , NotebookPanel | null > ;
227
246
currentNotebookChanged : ISignal < INotebookTracker , NotebookPanel | null > ;
228
247
panel : KernelUsagePanel ;
248
+ trans : TranslationBundle ;
229
249
} ) {
230
250
super ( ) ;
231
251
this . _widgetAdded = props . widgetAdded ;
232
252
this . _currentNotebookChanged = props . currentNotebookChanged ;
233
253
this . _panel = props . panel ;
254
+ this . _trans = props . trans ;
234
255
}
235
256
236
257
protected render ( ) : React . ReactElement < any > {
@@ -239,6 +260,7 @@ export class KernelUsageWidget extends ReactWidget {
239
260
widgetAdded = { this . _widgetAdded }
240
261
currentNotebookChanged = { this . _currentNotebookChanged }
241
262
panel = { this . _panel }
263
+ trans = { this . _trans }
242
264
/>
243
265
) ;
244
266
}
0 commit comments