Skip to content

[skip changelog] Internationalize strings added for pluggable discovery support #1384

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 10, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions arduino/cores/packagemanager/loader.go
Original file line number Diff line number Diff line change
@@ -645,18 +645,18 @@ func (pm *PackageManager) loadDiscoveries(release *cores.PlatformRelease) []*sta
for _, id := range discoveryProperties.ExtractSubIndexLists("required") {
tool := pm.GetTool(id)
if tool == nil {
statuses = append(statuses, status.Newf(codes.FailedPrecondition, "discovery not found: %s", id))
statuses = append(statuses, status.Newf(codes.FailedPrecondition, tr("discovery not found: %s"), id))
continue
}
toolRelease := tool.GetLatestInstalled()
if toolRelease == nil {
statuses = append(statuses, status.Newf(codes.FailedPrecondition, "discovery not installed: %s", id))
statuses = append(statuses, status.Newf(codes.FailedPrecondition, tr("discovery not installed: %s"), id))
continue
}
discoveryPath := toolRelease.InstallDir.Join(tool.Name).String()
d, err := discovery.New(id, discoveryPath)
if err != nil {
statuses = append(statuses, status.Newf(codes.FailedPrecondition, "creating discovery: %s", err))
statuses = append(statuses, status.Newf(codes.FailedPrecondition, tr("creating discovery: %s"), err))
continue
}
pm.discoveryManager.Add(d)
@@ -684,7 +684,7 @@ func (pm *PackageManager) loadDiscoveries(release *cores.PlatformRelease) []*sta
for discoveryID, props := range discoveryIDs {
pattern, ok := props.GetOk("pattern")
if !ok {
statuses = append(statuses, status.Newf(codes.FailedPrecondition, "can't find pattern for discovery with id %s", discoveryID))
statuses = append(statuses, status.Newf(codes.FailedPrecondition, tr("can't find pattern for discovery with id %s"), discoveryID))
continue
}
configuration := release.Properties.Clone()
4 changes: 2 additions & 2 deletions arduino/cores/packagemanager/package_manager.go
Original file line number Diff line number Diff line change
@@ -464,7 +464,7 @@ func (pm *PackageManager) FindToolsRequiredFromPlatformRelease(platform *cores.P
pm.Log.WithField("tool", toolDep).Infof("Required tool")
tool := pm.FindToolDependency(toolDep)
if tool == nil {
return nil, fmt.Errorf("tool release not found: %s", toolDep)
return nil, fmt.Errorf(tr("tool release not found: %s"), toolDep)
}
requiredTools = append(requiredTools, tool)
delete(foundTools, tool.Tool.Name)
@@ -475,7 +475,7 @@ func (pm *PackageManager) FindToolsRequiredFromPlatformRelease(platform *cores.P
pm.Log.WithField("discovery", discoveryDep).Infof("Required discovery")
tool := pm.FindDiscoveryDependency(discoveryDep)
if tool == nil {
return nil, fmt.Errorf("discovery release not found: %s", discoveryDep)
return nil, fmt.Errorf(tr("discovery release not found: %s"), discoveryDep)
}
requiredTools = append(requiredTools, tool)
delete(foundTools, tool.Tool.Name)
22 changes: 11 additions & 11 deletions arduino/discovery/discovery.go
Original file line number Diff line number Diff line change
@@ -71,16 +71,16 @@ type discoveryMessage struct {
func (msg discoveryMessage) String() string {
s := fmt.Sprintf("type: %s", msg.EventType)
if msg.Message != "" {
s = fmt.Sprintf("%s, message: %s", s, msg.Message)
s = fmt.Sprintf(tr("%[1]s, message: %[2]s"), s, msg.Message)
}
if msg.ProtocolVersion != 0 {
s = fmt.Sprintf("%s, protocol version: %d", s, msg.ProtocolVersion)
s = fmt.Sprintf(tr("%[1]s, protocol version: %[2]d"), s, msg.ProtocolVersion)
}
if len(msg.Ports) > 0 {
s = fmt.Sprintf("%s, ports: %s", s, msg.Ports)
s = fmt.Sprintf(tr("%[1]s, ports: %[2]s"), s, msg.Ports)
}
if msg.Port != nil {
s = fmt.Sprintf("%s, port: %s", s, msg.Port)
s = fmt.Sprintf(tr("%[1]s, port: %[2]s"), s, msg.Port)
}
return s
}
@@ -225,7 +225,7 @@ func (disc *PluggableDiscovery) waitMessage(timeout time.Duration) (*discoveryMe
}
return msg, nil
case <-time.After(timeout):
return nil, fmt.Errorf("timeout waiting for message from %s", disc.id)
return nil, fmt.Errorf(tr("timeout waiting for message from %s"), disc.id)
}
}

@@ -294,7 +294,7 @@ func (disc *PluggableDiscovery) Run() (err error) {
return err
}
if msg, err := disc.waitMessage(time.Second * 10); err != nil {
return fmt.Errorf("calling HELLO: %w", err)
return fmt.Errorf(tr("calling %[1]s: %[2]w"), "HELLO", err)
} else if msg.EventType != "hello" {
return errors.Errorf(tr("communication out of sync, expected 'hello', received '%s'"), msg.EventType)
} else if msg.Message != "OK" || msg.Error {
@@ -315,7 +315,7 @@ func (disc *PluggableDiscovery) Start() error {
return err
}
if msg, err := disc.waitMessage(time.Second * 10); err != nil {
return fmt.Errorf("calling START: %w", err)
return fmt.Errorf(tr("calling %[1]s: %[2]w"), "START", err)
} else if msg.EventType != "start" {
return errors.Errorf(tr("communication out of sync, expected 'start', received '%s'"), msg.EventType)
} else if msg.Message != "OK" || msg.Error {
@@ -335,7 +335,7 @@ func (disc *PluggableDiscovery) Stop() error {
return err
}
if msg, err := disc.waitMessage(time.Second * 10); err != nil {
return fmt.Errorf("calling STOP: %w", err)
return fmt.Errorf(tr("calling %[1]s: %[2]w"), "STOP", err)
} else if msg.EventType != "stop" {
return errors.Errorf(tr("communication out of sync, expected 'stop', received '%s'"), msg.EventType)
} else if msg.Message != "OK" || msg.Error {
@@ -358,7 +358,7 @@ func (disc *PluggableDiscovery) Quit() error {
return err
}
if msg, err := disc.waitMessage(time.Second * 10); err != nil {
return fmt.Errorf("calling QUIT: %w", err)
return fmt.Errorf(tr("calling %[1]s: %[2]w"), "QUIT", err)
} else if msg.EventType != "quit" {
return errors.Errorf(tr("communication out of sync, expected 'quit', received '%s'"), msg.EventType)
} else if msg.Message != "OK" || msg.Error {
@@ -381,7 +381,7 @@ func (disc *PluggableDiscovery) List() ([]*Port, error) {
return nil, err
}
if msg, err := disc.waitMessage(time.Second * 10); err != nil {
return nil, fmt.Errorf("calling LIST: %w", err)
return nil, fmt.Errorf(tr("calling %[1]s: %[2]w"), "LIST", err)
} else if msg.EventType != "list" {
return nil, errors.Errorf(tr("communication out of sync, expected 'list', received '%s'"), msg.EventType)
} else if msg.Error {
@@ -404,7 +404,7 @@ func (disc *PluggableDiscovery) StartSync(size int) (<-chan *Event, error) {
}

if msg, err := disc.waitMessage(time.Second * 10); err != nil {
return nil, fmt.Errorf("calling START_SYNC: %w", err)
return nil, fmt.Errorf(tr("calling %[1]s: %[2]w"), "START_SYNC", err)
} else if msg.EventType != "start_sync" {
return nil, errors.Errorf(tr("communication out of sync, expected 'start_sync', received '%s'"), msg.EventType)
} else if msg.Message != "OK" || msg.Error {
17 changes: 10 additions & 7 deletions arduino/discovery/discoverymanager/discoverymanager.go
Original file line number Diff line number Diff line change
@@ -20,6 +20,7 @@ import (
"sync"

"github.com/arduino/arduino-cli/arduino/discovery"
"github.com/arduino/arduino-cli/i18n"
"github.com/pkg/errors"
)

@@ -30,6 +31,8 @@ type DiscoveryManager struct {
globalEventCh chan *discovery.Event
}

var tr = i18n.Tr

// New creates a new DiscoveryManager
func New() *DiscoveryManager {
return &DiscoveryManager{
@@ -61,7 +64,7 @@ func (dm *DiscoveryManager) IDs() []string {
func (dm *DiscoveryManager) Add(disc *discovery.PluggableDiscovery) error {
id := disc.GetID()
if _, has := dm.discoveries[id]; has {
return errors.Errorf("pluggable discovery already added: %s", id)
return errors.Errorf(tr("pluggable discovery already added: %s"), id)
}
dm.discoveries[id] = disc
return nil
@@ -106,7 +109,7 @@ func (dm *DiscoveryManager) RunAll() []error {
}

if err := d.Run(); err != nil {
return fmt.Errorf("discovery %s process not started: %w", d.GetID(), err)
return fmt.Errorf(tr("discovery %[1]s process not started: %[2]w"), d.GetID(), err)
}
return nil
})
@@ -122,7 +125,7 @@ func (dm *DiscoveryManager) StartAll() []error {
return nil
}
if err := d.Start(); err != nil {
return fmt.Errorf("starting discovery %s: %w", d.GetID(), err)
return fmt.Errorf(tr("starting discovery %[1]s: %[2]w"), d.GetID(), err)
}
return nil
})
@@ -143,7 +146,7 @@ func (dm *DiscoveryManager) StartSyncAll() (<-chan *discovery.Event, []error) {

eventCh, err := d.StartSync(5)
if err != nil {
return fmt.Errorf("start syncing discovery %s: %w", d.GetID(), err)
return fmt.Errorf(tr("start syncing discovery %[1]s: %[2]w"), d.GetID(), err)
}
go func() {
for ev := range eventCh {
@@ -166,7 +169,7 @@ func (dm *DiscoveryManager) StopAll() []error {
}

if err := d.Stop(); err != nil {
return fmt.Errorf("stopping discovery %s: %w", d.GetID(), err)
return fmt.Errorf(tr("stopping discovery %[1]s: %[2]w"), d.GetID(), err)
}
return nil
})
@@ -182,7 +185,7 @@ func (dm *DiscoveryManager) QuitAll() []error {
}

if err := d.Quit(); err != nil {
return fmt.Errorf("quitting discovery %s: %w", d.GetID(), err)
return fmt.Errorf(tr("quitting discovery %[1]s: %[2]w"), d.GetID(), err)
}
return nil
})
@@ -216,7 +219,7 @@ func (dm *DiscoveryManager) List() ([]*discovery.Port, []error) {
}
ports, err := d.List()
if err != nil {
msgChan <- listMsg{Err: fmt.Errorf("listing ports from discovery %s: %w", d.GetID(), err)}
msgChan <- listMsg{Err: fmt.Errorf(tr("listing ports from discovery %[1]s: %[2]w"), d.GetID(), err)}
}
for _, p := range ports {
msgChan <- listMsg{Port: p}
2 changes: 1 addition & 1 deletion cli/arguments/port.go
Original file line number Diff line number Diff line change
@@ -119,7 +119,7 @@ func (p *Port) GetPort(instance *rpc.Instance, sk *sketch.Sketch) (*discovery.Po
Protocol: "serial",
}, nil
}
return nil, fmt.Errorf("port not found: %s %s", address, protocol)
return nil, fmt.Errorf(tr("port not found: %[1]s %[2]s"), address, protocol)
}
}
}
2 changes: 1 addition & 1 deletion cli/burnbootloader/burnbootloader.go
Original file line number Diff line number Diff line change
@@ -67,7 +67,7 @@ func run(command *cobra.Command, args []string) {
// We don't need a Sketch to upload a board's bootloader
discoveryPort, err := port.GetPort(instance, nil)
if err != nil {
feedback.Errorf("Error during Upload: %v", err)
feedback.Errorf(tr("Error during Upload: %v"), err)
os.Exit(errorcodes.ErrGeneric)
}

8 changes: 4 additions & 4 deletions cli/compile/compile.go
Original file line number Diff line number Diff line change
@@ -193,13 +193,13 @@ func run(cmd *cobra.Command, args []string) {
var sk *sketch.Sketch
sk, err = sketch.New(sketchPath)
if err != nil {
feedback.Errorf("Error during Upload: %v", err)
feedback.Errorf(tr("Error during Upload: %v"), err)
os.Exit(errorcodes.ErrGeneric)
}
var discoveryPort *discovery.Port
discoveryPort, err = port.GetPort(inst, sk)
if err != nil {
feedback.Errorf("Error during Upload: %v", err)
feedback.Errorf(tr("Error during Upload: %v"), err)
os.Exit(errorcodes.ErrGeneric)
}

@@ -209,13 +209,13 @@ func run(cmd *cobra.Command, args []string) {
Protocol: discoveryPort.Protocol,
})
if err != nil {
feedback.Errorf("Error during Upload: %v", err)
feedback.Errorf(tr("Error during Upload: %v"), err)
os.Exit(errorcodes.ErrGeneric)
}

fields := map[string]string{}
if len(userFieldRes.UserFields) > 0 {
feedback.Printf("Uploading to specified board using %s protocol requires the following info:", discoveryPort.Protocol)
feedback.Printf(tr("Uploading to specified board using %s protocol requires the following info:"), discoveryPort.Protocol)
fields = arguments.AskForUserFields(userFieldRes.UserFields)
}

8 changes: 4 additions & 4 deletions cli/upload/upload.go
Original file line number Diff line number Diff line change
@@ -93,12 +93,12 @@ func run(command *cobra.Command, args []string) {

sk, err := sketch.New(sketchPath)
if err != nil {
feedback.Errorf("Error during Upload: %v", err)
feedback.Errorf(tr("Error during Upload: %v"), err)
os.Exit(errorcodes.ErrGeneric)
}
discoveryPort, err := port.GetPort(instance, sk)
if err != nil {
feedback.Errorf("Error during Upload: %v", err)
feedback.Errorf(tr("Error during Upload: %v"), err)
os.Exit(errorcodes.ErrGeneric)
}

@@ -108,13 +108,13 @@ func run(command *cobra.Command, args []string) {
Protocol: discoveryPort.Protocol,
})
if err != nil {
feedback.Errorf("Error during Upload: %v", err)
feedback.Errorf(tr("Error during Upload: %v"), err)
os.Exit(errorcodes.ErrGeneric)
}

fields := map[string]string{}
if len(userFieldRes.UserFields) > 0 {
feedback.Printf("Uploading to specified board using %s protocol requires the following info:", discoveryPort.Protocol)
feedback.Printf(tr("Uploading to specified board using %s protocol requires the following info:"), discoveryPort.Protocol)
fields = arguments.AskForUserFields(userFieldRes.UserFields)
}

2 changes: 1 addition & 1 deletion commands/board/list.go
Original file line number Diff line number Diff line change
@@ -276,7 +276,7 @@ func Watch(instanceID int32, interrupt <-chan bool) (<-chan *rpc.BoardListWatchR
if err != nil {
outChan <- &rpc.BoardListWatchResponse{
EventType: "error",
Error: fmt.Sprintf("stopping discoveries: %s", err),
Error: fmt.Sprintf(tr("stopping discoveries: %s"), err),
}
// Don't close the channel if quitting all discoveries
// failed, otherwise some processes might be left running.
12 changes: 6 additions & 6 deletions commands/upload/upload.go
Original file line number Diff line number Diff line change
@@ -44,22 +44,22 @@ var tr = i18n.Tr
// by the upload tools needed by the board using the protocol specified in SupportedUserFieldsRequest.
func SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsRequest) (*rpc.SupportedUserFieldsResponse, error) {
if req.Protocol == "" {
return nil, fmt.Errorf("missing protocol")
return nil, fmt.Errorf(tr("missing protocol"))
}

pm := commands.GetPackageManager(req.GetInstance().GetId())
if pm == nil {
return nil, fmt.Errorf("invalid instance")
return nil, fmt.Errorf(tr("invalid instance"))
}

fqbn, err := cores.ParseFQBN(req.GetFqbn())
if err != nil {
return nil, fmt.Errorf("parsing fqbn: %s", err)
return nil, fmt.Errorf(tr("parsing fqbn: %s"), err)
}

_, platformRelease, board, _, _, err := pm.ResolveFQBN(fqbn)
if err != nil {
return nil, fmt.Errorf("loading board data: %s", err)
return nil, fmt.Errorf(tr("loading board data: %s"), err)
}

toolID, err := getToolID(board.Properties, "upload", req.Protocol)
@@ -90,7 +90,7 @@ func getToolID(props *properties.Map, action, protocol string) (string, error) {
// https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-upload-configuration
return t, nil
}
return "", fmt.Errorf("cannot find tool: undefined '%s' property", toolProperty)
return "", fmt.Errorf(tr("cannot find tool: undefined '%s' property"), toolProperty)
}

// getUserFields return all user fields supported by the tools specified.
@@ -112,7 +112,7 @@ func getUserFields(toolID string, platformRelease *cores.PlatformRelease) ([]*rp
}
isSecret, err := strconv.ParseBool(secret)
if err != nil {
return nil, fmt.Errorf(`parsing "tools.%s.upload.field.%s.secret", property is not a boolean`, toolID, key)
return nil, fmt.Errorf(tr("parsing %s, property is not a boolean"), fmt.Sprintf(`"tools.%s.upload.field.%s.secret"`, toolID, key))
}
userFields = append(userFields, &rpc.UserField{
ToolId: toolID,
113 changes: 113 additions & 0 deletions i18n/data/en.po
Original file line number Diff line number Diff line change
@@ -21,6 +21,22 @@ msgstr "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s"
msgid "%[1]s folder is no longer supported! See %[2]s for more information"
msgstr "%[1]s folder is no longer supported! See %[2]s for more information"

#: arduino/discovery/discovery.go:74
msgid "%[1]s, message: %[2]s"
msgstr "%[1]s, message: %[2]s"

#: arduino/discovery/discovery.go:83
msgid "%[1]s, port: %[2]s"
msgstr "%[1]s, port: %[2]s"

#: arduino/discovery/discovery.go:80
msgid "%[1]s, ports: %[2]s"
msgstr "%[1]s, ports: %[2]s"

#: arduino/discovery/discovery.go:77
msgid "%[1]s, protocol version: %[2]d"
msgstr "%[1]s, protocol version: %[2]d"

#: cli/output/rpc_progress.go:64
msgid "%s already downloaded"
msgstr "%s already downloaded"
@@ -576,8 +592,15 @@ msgstr "Error during Debug: %v"
msgid "Error during JSON encoding of the output: %v"
msgstr "Error during JSON encoding of the output: %v"

#: cli/burnbootloader/burnbootloader.go:70
#: cli/burnbootloader/burnbootloader.go:83
#: cli/compile/compile.go:196
#: cli/compile/compile.go:202
#: cli/compile/compile.go:212
#: cli/compile/compile.go:242
#: cli/upload/upload.go:96
#: cli/upload/upload.go:101
#: cli/upload/upload.go:111
#: cli/upload/upload.go:134
msgid "Error during Upload: %v"
msgstr "Error during Upload: %v"
@@ -1892,6 +1915,11 @@ msgstr "Upload the bootloader on the board using an external programmer."
msgid "Upload the bootloader."
msgstr "Upload the bootloader."

#: cli/compile/compile.go:218
#: cli/upload/upload.go:117
msgid "Uploading to specified board using %s protocol requires the following info:"
msgstr "Uploading to specified board using %s protocol requires the following info:"

#: cli/usage.go:25
msgid "Usage:"
msgstr "Usage:"
@@ -2075,6 +2103,15 @@ msgstr "boardname"
msgid "burn bootloader error: %s"
msgstr "burn bootloader error: %s"

#: arduino/discovery/discovery.go:297
#: arduino/discovery/discovery.go:318
#: arduino/discovery/discovery.go:338
#: arduino/discovery/discovery.go:361
#: arduino/discovery/discovery.go:384
#: arduino/discovery/discovery.go:407
msgid "calling %[1]s: %[2]w"
msgstr "calling %[1]s: %[2]w"

#: commands/instances.go:525
msgid "can't create data directory %[1]s: %[2]s"
msgstr "can't create data directory %[1]s: %[2]s"
@@ -2091,6 +2128,10 @@ msgstr "can't find latest release of %s"
msgid "can't find main Sketch file in %s"
msgstr "can't find main Sketch file in %s"

#: arduino/cores/packagemanager/loader.go:687
msgid "can't find pattern for discovery with id %s"
msgstr "can't find pattern for discovery with id %s"

#: executils/output.go:52
msgid "can't retrieve standard error stream: %s"
msgstr "can't retrieve standard error stream: %s"
@@ -2116,6 +2157,10 @@ msgstr "cannot execute upload tool: %s"
msgid "cannot export sketch metadata: %s"
msgstr "cannot export sketch metadata: %s"

#: commands/upload/upload.go:93
msgid "cannot find tool: undefined '%s' property"
msgstr "cannot find tool: undefined '%s' property"

#: commands/instances.go:715
#: commands/lib/install.go:97
msgid "checking lib install prerequisites: %s"
@@ -2193,6 +2238,10 @@ msgstr "copying output file %s"
msgid "could not find a valid build artifact"
msgstr "could not find a valid build artifact"

#: arduino/cores/packagemanager/loader.go:659
msgid "creating discovery: %s"
msgstr "creating discovery: %s"

#: arduino/cores/packagemanager/install_uninstall.go:45
msgid "creating installed.json in %[1]s: %[2]s"
msgstr "creating installed.json in %[1]s: %[2]s"
@@ -2240,6 +2289,22 @@ msgstr "destination already exists"
msgid "destination dir %s already exists, cannot install"
msgstr "destination dir %s already exists, cannot install"

#: arduino/discovery/discoverymanager/discoverymanager.go:112
msgid "discovery %[1]s process not started: %[2]w"
msgstr "discovery %[1]s process not started: %[2]w"

#: arduino/cores/packagemanager/loader.go:648
msgid "discovery not found: %s"
msgstr "discovery not found: %s"

#: arduino/cores/packagemanager/loader.go:653
msgid "discovery not installed: %s"
msgstr "discovery not installed: %s"

#: arduino/cores/packagemanager/package_manager.go:478
msgid "discovery release not found: %s"
msgstr "discovery release not found: %s"

#: cli/core/download.go:36
msgid "download [%s:%s[@%s]]..."
msgstr "download [%s:%s[@%s]]..."
@@ -2569,6 +2634,7 @@ msgstr "invalid hash '%[1]s': %[2]s"
#: commands/lib/list.go:41
#: commands/lib/list.go:46
#: commands/lib/search.go:35
#: commands/upload/upload.go:52
msgid "invalid instance"
msgstr "invalid instance"

@@ -2668,6 +2734,10 @@ msgstr "library path does not exist: %s"
msgid "library_index.json has an invalid signature"
msgstr "library_index.json has an invalid signature"

#: arduino/discovery/discoverymanager/discoverymanager.go:222
msgid "listing ports from discovery %[1]s: %[2]w"
msgstr "listing ports from discovery %[1]s: %[2]w"

#: arduino/serialutils/serialutils.go:61
msgid "listing serial ports"
msgstr "listing serial ports"
@@ -2680,6 +2750,7 @@ msgstr "loading %[1]s: %[2]s"

#: commands/board/details.go:44
#: commands/lib/list.go:60
#: commands/upload/upload.go:62
msgid "loading board data: %s"
msgstr "loading board data: %s"

@@ -2752,6 +2823,10 @@ msgstr "missing platform %[1]s:%[2]s referenced by board %[3]s"
msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s"
msgstr "missing platform release %[1]s:%[2]s referenced by board %[3]s"

#: commands/upload/upload.go:47
msgid "missing protocol"
msgstr "missing protocol"

#: commands/compile/compile.go:98
#: commands/debug/debug_info.go:47
msgid "missing sketchPath"
@@ -2865,6 +2940,10 @@ msgstr "package '%s' not found"
msgid "package not found"
msgstr "package not found"

#: commands/upload/upload.go:115
msgid "parsing %s, property is not a boolean"
msgstr "parsing %s, property is not a boolean"

#: arduino/cores/packagemanager/loader.go:227
msgid "parsing IDE bundled index: %s"
msgstr "parsing IDE bundled index: %s"
@@ -2873,6 +2952,7 @@ msgstr "parsing IDE bundled index: %s"
#: arduino/cores/packagemanager/package_manager.go:136
#: commands/board/details.go:38
#: commands/lib/list.go:56
#: commands/upload/upload.go:57
msgid "parsing fqbn: %s"
msgstr "parsing fqbn: %s"

@@ -2930,10 +3010,18 @@ msgstr "platform not installed: %s"
msgid "please use --build-property instead."
msgstr "please use --build-property instead."

#: arduino/discovery/discoverymanager/discoverymanager.go:67
msgid "pluggable discovery already added: %s"
msgstr "pluggable discovery already added: %s"

#: cli/board/attach.go:35
msgid "port"
msgstr "port"

#: cli/arguments/port.go:122
msgid "port not found: %[1]s %[2]s"
msgstr "port not found: %[1]s %[2]s"

#: commands/upload/upload.go:232
msgid "programmer '%s' not available"
msgstr "programmer '%s' not available"
@@ -2954,6 +3042,10 @@ msgstr "programming error: %s"
msgid "protocol version not supported: requested 1, got %d"
msgstr "protocol version not supported: requested 1, got %d"

#: arduino/discovery/discoverymanager/discoverymanager.go:188
msgid "quitting discovery %[1]s: %[2]w"
msgstr "quitting discovery %[1]s: %[2]w"

#: arduino/cores/packagemanager/loader.go:78
msgid "reading %[1]s directory: %[2]s"
msgstr "reading %[1]s directory: %[2]s"
@@ -3100,6 +3192,22 @@ msgstr "skipping loading of boards %s: malformed custom board options"
msgid "source is not a directory"
msgstr "source is not a directory"

#: arduino/discovery/discoverymanager/discoverymanager.go:149
msgid "start syncing discovery %[1]s: %[2]w"
msgstr "start syncing discovery %[1]s: %[2]w"

#: arduino/discovery/discoverymanager/discoverymanager.go:128
msgid "starting discovery %[1]s: %[2]w"
msgstr "starting discovery %[1]s: %[2]w"

#: commands/board/list.go:279
msgid "stopping discoveries: %s"
msgstr "stopping discoveries: %s"

#: arduino/discovery/discoverymanager/discoverymanager.go:172
msgid "stopping discovery %[1]s: %[2]w"
msgstr "stopping discovery %[1]s: %[2]w"

#: arduino/resources/checksums.go:119
msgid "testing archive checksum: %s"
msgstr "testing archive checksum: %s"
@@ -3128,6 +3236,10 @@ msgstr "the library name is different from the set (%[1]s != %[2]s)"
msgid "the server responded with status %s"
msgstr "the server responded with status %s"

#: arduino/discovery/discovery.go:228
msgid "timeout waiting for message from %s"
msgstr "timeout waiting for message from %s"

#: cli/core/download.go:40
msgid "to download the latest version of Arduino SAMD core.\n"
""
@@ -3163,6 +3275,7 @@ msgstr "tool not found"
msgid "tool not installed"
msgstr "tool not installed"

#: arduino/cores/packagemanager/package_manager.go:467
#: arduino/cores/packagemanager/package_manager.go:533
msgid "tool release not found: %s"
msgstr "tool release not found: %s"
14 changes: 7 additions & 7 deletions i18n/rice-box.go

Large diffs are not rendered by default.