checkSystemLocale.ts 768 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /**
  2. * @author: oldj
  3. * @homepage: https://oldj.net
  4. */
  5. import { languages, LocaleName } from '@root/common/i18n'
  6. import { app } from 'electron'
  7. const isLocaleName = (locale: string): locale is LocaleName => {
  8. return Object.keys(languages).includes(locale)
  9. }
  10. export default async () => {
  11. let locale = app.getLocale()
  12. if (!locale) {
  13. return
  14. }
  15. console.log(`Systel locale: ${locale}`)
  16. if (locale.startsWith('en')) {
  17. locale = 'en'
  18. } else if (locale.startsWith('zh')) {
  19. locale = 'zh'
  20. } else if (locale.startsWith('fr')) {
  21. locale = 'fr'
  22. } else if (locale.startsWith('de')) {
  23. locale = 'de'
  24. } else if (locale.startsWith('ja')) {
  25. locale = 'ja'
  26. }
  27. if (!isLocaleName(locale)) {
  28. return
  29. }
  30. global.system_locale = locale
  31. }