@@ -13,27 +13,38 @@ import * as rwhCompose from './modules/compose.mjs';
13
13
import * as rwhTabs from './modules/tabs.mjs' ;
14
14
import * as rwhSettings from './modules/settings.mjs' ;
15
15
import * as rwhAccounts from './modules/accounts.mjs' ;
16
+ import * as rwhI18n from './modules/headers-i18n.mjs' ;
16
17
17
- messenger . runtime . onInstalled . addListener ( async function ( details ) {
18
+ messenger . runtime . onInstalled . addListener ( async function ( details ) {
18
19
// About 'details' argument
19
20
// Refer here: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onInstalled
20
21
rwhLogger . debug ( details ) ;
21
22
let accounts = await rwhAccounts . all ( ) ;
22
23
rwhSettings . setAccountDefaults ( accounts ) ;
23
24
} ) ;
24
25
25
- messenger . accounts . onCreated . addListener ( async function ( id , account ) {
26
+ messenger . accounts . onCreated . addListener ( async function ( id , account ) {
26
27
rwhLogger . debug ( 'onCreated' , id , account ) ;
27
28
if ( account . type === 'imap' || account . type === 'pop3' ) {
28
29
rwhSettings . setDefault ( `${ id } .enabled` , true ) ;
29
30
}
30
31
} ) ;
31
32
32
- messenger . accounts . onDeleted . addListener ( async function ( id ) {
33
+ messenger . accounts . onDeleted . addListener ( async function ( id ) {
33
34
rwhLogger . debug ( 'onDeleted' , id ) ;
34
35
rwhSettings . remove ( `${ id } .enabled` ) ;
35
36
} ) ;
36
37
38
+ async function detectLocaleAndSetAsDefault ( ) {
39
+ let uiLocale = messenger . i18n . getUILanguage ( ) ;
40
+ let selected = rwhI18n . i18n . lang [ uiLocale ] ;
41
+ let currentLocale = await rwhSettings . getHeaderLocale ( ) ;
42
+ rwhLogger . debug ( 'currentLocale:' , currentLocale , 'uiLocale:' , uiLocale , 'selected:' , selected ) ;
43
+ if ( selected !== 'undefined' && currentLocale !== uiLocale ) {
44
+ await rwhSettings . set ( 'header.locale' , uiLocale ) ;
45
+ }
46
+ }
47
+
37
48
async function init ( ) {
38
49
await rwhSettings . setDefaults ( ) ;
39
50
@@ -43,11 +54,12 @@ async function init() {
43
54
await rwhCompose . process ( tab ) ;
44
55
} ) ;
45
56
57
+ await detectLocaleAndSetAsDefault ( ) ;
46
58
}
47
59
48
60
try {
49
61
init ( ) ;
50
62
rwhLogger . info ( 'Addon loaded successfully' ) ;
51
- } catch ( e ) {
63
+ } catch ( e ) {
52
64
rwhLogger . error ( e ) ;
53
65
}
0 commit comments