A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/arduino/arduino-cli/commit/4d450df934fb87613428c493e4dc2dc2ecf4cc01 below:

Fixed locales (translations) not being detected with default config (… · arduino/arduino-cli@4d450df · GitHub

File tree Expand file treeCollapse file tree 7 files changed

+36

-20

lines changed

Filter options

Expand file treeCollapse file tree 7 files changed

+36

-20

lines changed Original file line number Diff line number Diff line change

@@ -419,7 +419,9 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor

419 419

// Refreshes the locale used, this will change the

420 420

// language of the CLI if the locale is different

421 421

// after started.

422 -

i18n.Init(s.settings.GetString("locale"))

422 +

if locale, ok, _ := s.settings.GetStringOk("locale"); ok {

423 +

i18n.Init(locale)

424 +

}

423 425 424 426

return nil

425 427

}

Original file line number Diff line number Diff line change

@@ -19,20 +19,14 @@ import (

19 19

"context"

20 20 21 21

"github.com/arduino/arduino-cli/internal/cli/configuration"

22 -

"github.com/arduino/arduino-cli/internal/i18n"

23 22

rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"

24 23

"github.com/arduino/arduino-cli/version"

25 24

)

26 25 27 26

// NewArduinoCoreServer returns an implementation of the ArduinoCoreService gRPC service

28 27

// that uses the provided version string.

29 28

func NewArduinoCoreServer() rpc.ArduinoCoreServiceServer {

30 -

settings := configuration.NewSettings()

31 - 32 -

// Setup i18n

33 -

i18n.Init(settings.Locale())

34 - 35 -

return &arduinoCoreServerImpl{settings: settings}

29 +

return &arduinoCoreServerImpl{settings: configuration.NewSettings()}

36 30

}

37 31 38 32

type arduinoCoreServerImpl struct {

Original file line number Diff line number Diff line change

@@ -62,7 +62,6 @@ func TestGetAll(t *testing.T) {

62 62

"user": `+defaultUserDir.GetEncodedValue()+`

63 63

},

64 64

"library": {},

65 -

"locale": "en",

66 65

"logging": {

67 66

"format": "text",

68 67

"level": "info"

Original file line number Diff line number Diff line change

@@ -73,7 +73,7 @@ func SetDefaults(settings *Settings) {

73 73

setKeyTypeSchema("network.user_agent_ext", "")

74 74 75 75

// locale

76 -

setDefaultValueAndKeyTypeSchema("locale", "en")

76 +

setKeyTypeSchema("locale", "")

77 77

}

78 78 79 79

// InjectEnvVars change settings based on the environment variables values

Original file line number Diff line number Diff line change

@@ -16,5 +16,8 @@

16 16

package configuration

17 17 18 18

func (s *Settings) Locale() string {

19 +

if locale, ok, err := s.GetStringOk("locale"); ok && err == nil {

20 +

return locale

21 +

}

19 22

return s.Defaults.GetString("locale")

20 23

}

Original file line number Diff line number Diff line change

@@ -16,19 +16,24 @@

16 16

package i18n

17 17 18 18

import (

19 -

"fmt"

20 19

"strings"

21 20

"syscall"

22 21

"unsafe"

22 + 23 +

"github.com/sirupsen/logrus"

23 24

)

24 25 25 26

func getLocaleIdentifier() string {

26 27

defer func() {

27 28

if r := recover(); r != nil {

28 -

fmt.Println("failed to get windows user locale", r)

29 +

logrus.WithField("error", r).Errorf("Failed to get windows user locale")

29 30

}

30 31

}()

31 32 33 +

if loc := getLocaleIdentifierFromEnv(); loc != "" {

34 +

return loc

35 +

}

36 + 32 37

dll := syscall.MustLoadDLL("kernel32")

33 38

defer dll.Release()

34 39

proc := dll.MustFindProc("GetUserDefaultLocaleName")

Original file line number Diff line number Diff line change

@@ -882,25 +882,25 @@ build.unk: 123

882 882

t.Cleanup(func() { unkwnownConfig.Remove() })

883 883 884 884

// Run "config get" with a configuration containing an unknown key

885 -

out, _, err := cli.Run("config", "get", "locale", "--config-file", unkwnownConfig.String())

885 +

out, _, err := cli.Run("config", "get", "daemon.port", "--config-file", unkwnownConfig.String())

886 886

require.NoError(t, err)

887 -

require.Equal(t, "en", strings.TrimSpace(string(out)))

887 +

require.Equal(t, `"50051"`, strings.TrimSpace(string(out)))

888 888 889 -

// Run "config get" with a configuration containing an invalid key

889 +

// Run "config get" with a configuration containing an invalid value

890 890

invalidConfig := paths.New(filepath.Join(tmp, "invalid.yaml"))

891 -

invalidConfig.WriteFile([]byte(`locale: 123`))

891 +

invalidConfig.WriteFile([]byte(`daemon.port: 123`))

892 892

t.Cleanup(func() { invalidConfig.Remove() })

893 -

out, _, err = cli.Run("config", "get", "locale", "--config-file", invalidConfig.String())

893 +

out, _, err = cli.Run("config", "get", "daemon.port", "--config-file", invalidConfig.String())

894 894

require.NoError(t, err)

895 -

require.Equal(t, "en", strings.TrimSpace(string(out)))

895 +

require.Equal(t, `"50051"`, strings.TrimSpace(string(out)))

896 896 897 897

// Run "config get" with a configuration containing a null array

898 898

nullArrayConfig := paths.New(filepath.Join(tmp, "null_array.yaml"))

899 899

nullArrayConfig.WriteFile([]byte(`board_manager.additional_urls:`))

900 900

t.Cleanup(func() { nullArrayConfig.Remove() })

901 -

out, _, err = cli.Run("config", "get", "locale", "--config-file", invalidConfig.String())

901 +

out, _, err = cli.Run("config", "get", "daemon.port", "--config-file", nullArrayConfig.String())

902 902

require.NoError(t, err)

903 -

require.Equal(t, "en", strings.TrimSpace(string(out)))

903 +

require.Equal(t, `"50051"`, strings.TrimSpace(string(out)))

904 904

}

905 905 906 906

func TestConfigViaEnvVars(t *testing.T) {

@@ -931,3 +931,16 @@ func TestConfigViaEnvVars(t *testing.T) {

931 931

require.NoError(t, err)

932 932

require.Equal(t, "20\n\n", string(out))

933 933

}

934 + 935 +

func TestI18N(t *testing.T) {

936 +

env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)

937 +

defer env.CleanUp()

938 + 939 +

out, _, err := cli.RunWithCustomEnv(map[string]string{"LC_ALL": "it"})

940 +

require.NoError(t, err)

941 +

require.Contains(t, string(out), "Comandi disponibili")

942 + 943 +

out, _, err = cli.RunWithCustomEnv(map[string]string{"LC_ALL": "en"})

944 +

require.NoError(t, err)

945 +

require.Contains(t, string(out), "Available Commands")

946 +

}

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4