cncjs

Форк
0
/
settings.js 
112 строк · 2.9 Кб
1
import endsWith from 'lodash/endsWith';
2
import mapKeys from 'lodash/mapKeys';
3
import sha1 from 'sha1';
4
import log from 'app/lib/log';
5
import pkg from '../../package.json';
6

7
const webroot = '/';
8

9
const settings = {
10
  error: {
11
    // The flag is set to true if the workspace settings have become corrupted or invalid.
12
    // @see store/index.js
13
    corruptedWorkspaceSettings: false
14
  },
15
  name: pkg.name,
16
  productName: pkg.productName,
17
  version: pkg.version,
18
  webroot: webroot,
19
  log: {
20
    level: 'warn' // trace, debug, info, warn, error
21
  },
22
  analytics: {
23
    trackingId: process.env.TRACKING_ID
24
  },
25
  i18next: {
26
    lowerCaseLng: true,
27

28
    // logs out more info (console)
29
    debug: false,
30

31
    // language to lookup key if not found on set language
32
    fallbackLng: 'en',
33

34
    // string or array of namespaces
35
    ns: [
36
      'controller', // Grbl|Smoothie|TinyG
37
      'gcode', // G-code
38
      'resource' // default
39
    ],
40
    // default namespace used if not passed to translation function
41
    defaultNS: 'resource',
42

43
    // @see webpack.webconfig.xxx.js
44
    whitelist: process.env.LANGUAGES,
45

46
    // array of languages to preload
47
    preload: [],
48

49
    // language codes to lookup, given set language is 'en-US':
50
    // 'all' --> ['en-US', 'en', 'dev']
51
    // 'currentOnly' --> 'en-US'
52
    // 'languageOnly' --> 'en'
53
    load: 'currentOnly',
54

55
    // char to separate keys
56
    keySeparator: '.',
57

58
    // char to split namespace from key
59
    nsSeparator: ':',
60

61
    interpolation: {
62
      prefix: '{{',
63
      suffix: '}}'
64
    },
65

66
    // options for language detection
67
    // https://github.com/i18next/i18next-browser-languageDetector
68
    detection: {
69
      // order and from where user language should be detected
70
      order: ['querystring', 'cookie', 'localStorage'],
71

72
      // keys or params to lookup language from
73
      lookupQuerystring: 'lang',
74
      lookupCookie: 'lang',
75
      lookupLocalStorage: 'lang',
76

77
      // cache user language on
78
      caches: ['localStorage', 'cookie']
79
    },
80
    // options for backend
81
    // https://github.com/i18next/i18next-xhr-backend
82
    backend: {
83
      // path where resources get loaded from
84
      loadPath: webroot + 'i18n/{{lng}}/{{ns}}.json',
85

86
      // path to post missing resources
87
      addPath: 'api/i18n/sendMissing/{{lng}}/{{ns}}',
88

89
      // your backend server supports multiloading
90
      // /locales/resources.json?lng=de+en&ns=ns1+ns2
91
      allowMultiLoading: false,
92

93
      // parse data after it has been fetched
94
      parse: function(data, url) {
95
        log.debug(`Loading resource: url="${url}"`);
96

97
        // gcode.json
98
        // resource.json
99
        if (endsWith(url, '/gcode.json') || endsWith(url, '/resource.json')) {
100
          return mapKeys(JSON.parse(data), (value, key) => sha1(key));
101
        }
102

103
        return JSON.parse(data);
104
      },
105

106
      // allow cross domain requests
107
      crossDomain: false
108
    }
109
  }
110
};
111

112
export default settings;
113

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.