Seite 1 von 2

tis-arduino-Paket auf Französisch

Veröffentlicht: 4. Dez. 2023 - 14:15 Uhr
von den Gälen
Hallo,
kann man Arduino direkt auf Französisch installieren oder es nach der Installation konfigurieren? Ich finde dazu nichts in der Registry...

Betreff: tis-arduino-Paket auf Französisch

Veröffentlicht: 4. Dez. 2023 - 15:38 Uhr
von Blemoire
Hallo,
hier ist ein guter Tipp (Quelle: https://support.arduino.cc/hc/en-us/art ... rduino-IDE):

Sie können die Datei preferences.txt direkt bearbeiten.

Schließen Sie die Arduino IDE.

Öffnen Sie den Ordner „Arduino15“.

Öffnen Sie die Datei preferences.txt.

Suchen Sie die Zeile „editor.languages.current“.

Ändern Sie den Wert in „editor.languages.current=en“.

Speichern Sie die Datei.

Öffnen Sie die Arduino IDE, um die Änderungen zu sehen.

Betreff: tis-arduino-Paket auf Französisch

Veröffentlicht: 4. Dez. 2023 - 15:46 Uhr
von den Gälen
Ich konnte im Arduino-Installationsordner keine preferences.txt-Datei finden. Aber ich habe gerade herausgefunden, dass sie sich unter C:\Users\ befindet.<user> Die Datei \.arduinoIDE\arduino-cli.yaml wurde geändert.

Ich wollte diesen Code ausprobieren:

Code: Alle auswählen

def session_setup():   
    ## Changement de langue du logiciel vers français
    settings_arduino = makepath(user_home_directory(),'.arduinoIDE','arduino-cli.yaml') 
    with open(settings_arduino, "rt") as file:
        x = file.read()
    with open(settings_arduino, "wt") as file:
        x = x.replace("locale: en", "locale: fr")
        fin.write(x)
Der Ordner ".arduinoIDE" wird aber erst beim ersten Start der Software erstellt, daher bewirkt session_setup nichts... Und außerdem ist mein Code fehlerhaft; am Ende erhalte ich eine leere arduino-cli.yaml-Datei :)

Betreff: tis-arduino-Paket auf Französisch

Veröffentlicht: 7. Dez. 2023 - 10:47 Uhr
von Benoit
Guten Morgen,

Warum nicht eine while-Schleife verwenden? Zum Beispiel so:

Code: Alle auswählen

import os

def session_setup(): 
    try : # pour la gestion des erreurs
        ## Changement de langue du logiciel vers français
        file_exist = False # initialise la variable file_exist
        settings_arduino = makepath(user_home_directory(),'.arduinoIDE','arduino-cli.yaml') 
        while not file_exist: # boucle qui recommence tant que  file_exist n'est pas vrai
            if os.pah.exists(settings_arduino): # vérifie si le fichier de configuration existe
                with open(settings_arduino, "rt") as file:
                    x = file.read()
                with open(settings_arduino, "wt") as file:
                    x = x.replace("locale: en", "locale: fr")
                    fin.write(x)
                file_exist = True 
                print("Le fichier arduino-cli.yaml a été mis à jour )
            else :
                file_exist = False # renvoi false à la variable file_exist sir le fichier n'éxiste pas
    except Exception as e:
        print(f"L'erreur suivante s'est produite : {e}") 
 

Was die Änderung der Konfigurationsdatei betrifft, habe ich es vorgezogen, ein Drittanbieter-Skript in AutoIt zu verwenden:

Code: Alle auswählen

#include <FileConstants.au3>
#include <File.au3>
#include <StringConstants.au3>

Local $file_path = @UserProfileDir & "\.arduinoIDE\arduino-cli.yaml"
Local $yaml_file = @UserProfileDir & "\.arduinoIDE\arduino-cli.yaml"
Local $proxy_line = "proxy: ********************"
Local $file_exists = False

While (Not $file_exists)
    If FileExists($file_path) Then
        $file_exists = True
        
        ; Boucle pour tester si le proxy est présent
        While StringInStr(FileRead($yaml_file), $proxy_line) = 0
            ; Ajout du proxy
            FileWriteLine($yaml_file, "network:")
            FileWriteLine($yaml_file, "    proxy: **************************")
            Sleep(1000) ; Attendre 1 seconde
        WEnd
    Else
        Sleep(1000) ; Attendre 1 seconde
    EndIf
WEnd
Grüße,

Betreff: tis-arduino-Paket auf Französisch

Veröffentlicht: 12. Dez. 2023 - 12:11 Uhr
von dcardon
Hallo zusammen,

@gaelds Ich habe die automatische Änderung der arduino-cli.yaml-Datei getestet, aber es scheint keine Auswirkungen zu haben (ich kann jedoch bestätigen, dass diese Datei tatsächlich geändert wird, wenn es eine Änderung in der GUI gibt, aber es werden gleichzeitig auch viele andere Dinge kopiert...).

@Benoit, die Verwendung von AutoIt wird nicht empfohlen; der Python-Teil ermöglicht die Behandlung von Ausnahmen und anderen Szenarien.
@Benoit, die Verwendung einer while-Schleife wird nicht empfohlen, da sie fehleranfälliger ist (im Falle von Ausnahmen usw.)

Nachdem ich eine halbe Stunde mit dieser Software verbracht habe, bin ich ziemlich entsetzt über die mangelhafte (oder nicht vorhandene) Verpackung. Die systemweite Installation ist ein Witz; die Software kopiert beim ersten Start alles in das Benutzerverzeichnis, ungefähr so:
  • ein wenig in %HOMEPATH%/.arduinoIDE
  • ein wenig in %APPDATA%\roaming\arduino IDE
  • ein wenig in %APPDATA%\roaming\arduino-ide
  • viel in %APPDATA%\local\Arduino15 (>400MB)
  • eine Menge in %APPDATA%\local\arduino-ide-updater (>130 MB, nur für den Updater, den wir ursprünglich nicht wollten...)


Und natürlich funktioniert es nicht in AppLocker- oder SRP-Umgebungen (wie manche sagen, „Sicherheit ist etwas für Schwächlinge“, sie haben offensichtlich noch nie Ransomware bei Arduino gesehen...).

Es gibt keine globale Konfigurationsdatei, und das Vorladen des Treibers ist, gelinde gesagt, unzuverlässig; die Blockierung automatischer Updates sollte in einer zukünftigen Version enthalten sein...

Ein Kollege von mir hat es gestern auf dem Rechner seines Sohnes installiert (ein ausrangierter PC), die Installation und der Start dauerten mehr als zehn Minuten, er ist dann sofort wieder zur vorherigen Version 1.x zurückgekehrt.

Kurz gesagt, ich glaube nicht, dass Arduino in Schulen eingesetzt werden möchte.

Aufrichtig,

Denis

Betreff: tis-arduino-Paket auf Französisch

Veröffentlicht: 18. Dez. 2023 - 10:56 Uhr
von Geoffroy
Ich kann es bestätigen, unsere Schule nutzt es und wir mussten eine Gruppenrichtlinie einrichten. Ein echter Albtraum...

Betreff: tis-arduino-Paket auf Französisch

Veröffentlicht: 18. Dez. 2023 - 15:38 Uhr
von dcardon
Hallo Geoffroy,

falls es sich hier um eine Gruppenrichtlinie für die Erstkonfiguration des Arduino 2 handelt, könntest du bitte erklären, wie du sie eingerichtet hast? Vielleicht könnten wir `session_setup()` verwenden? Mir ist es bisher nicht zuverlässig gelungen, daher wäre ich dir sehr dankbar, wenn du die einzelnen Schritte detailliert beschreiben könntest :-) !

Viele Grüße,

Denis

Betreff: tis-arduino-Paket auf Französisch

Veröffentlicht: 6. März 2025 - 17:11 Uhr
von olaplanche
Ich teile mein SRP-kompatibles Arduino-IDE-Paket, bei dem die automatische Aktualisierung deaktiviert und Französisch als Standardsprache eingestellt ist:

Voraussetzungen:
* Konfigurieren Sie die Software beim ersten Mal auf Französisch und kopieren Sie anschließend den unten stehenden Ordner in das Stammverzeichnis des Pakets:
C:\Users\%username%\AppData\Roaming\arduino-ide\Local Storage\leveldb
* Erstellen Sie eine uneingeschränkte SRP für den Ordner "%AllUsersProfile%\Arduino15"

Code: Alle auswählen

# -*- coding: utf-8 -*-
from setuphelpers import *
import platform

"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_name_string = 'arduino-ide_%s_Windows_64bit.msi'

def install():
    # Declaring local variables
    package_version = control.get_software_version()
    bin_name = bin_name_string % package_version
    all_user_data = makepath(programdata,'Arduino15')

    # Installing the software
    install_msi_if_needed(bin_name,
        properties='/qn ALLUSERS=1',
        timeout=1200
    )
    print('Restricting permissions on %s' % all_user_data)
    if not isdir(all_user_data):
        mkdirs(all_user_data)
    run(r'icacls "%s" /t /grant *S-1-5-21-3299883279-2723331061-yyyyyyyyyy-xxxx:(OI)(CI)M' % all_user_data) # groupe AD ELEVES (Get-ADGroup -Identity ELEVES | select Name, SID)
    run(r'icacls "%s" /t /grant *S-1-5-21-3299883279-2723331061-yyyyyyyyyy-xxxx:(OI)(CI)M' % all_user_data) # groupe AD PROFESSEUR (Get-ADGroup -Identity PROFESSEUR | select Name, SID)

    print('Add Windows Firewall rules')
    add_netfirewallrule(r"Arduino IDE", r"C:\program files\Arduino-IDE\Arduino IDE.exe", profile="Domain")
    add_netfirewallrule(r"mdns-discovery", r"C:\ProgramData\arduino15\packages\builtin\tools\mdns-discovery\1.0.9\mdns-discovery.exe", profile="Domain")

    # Installing Arduino IDE user settings
    print('Copying Arduino IDE user settings to %s' % all_user_data)
    copytree2("leveldb","%s\leveldb" % all_user_data)

def session_setup():
    import tempfile
    # Declaring local variables
    all_user_data = makepath(programdata,'Arduino15')
    
    # Set Arduino CLI language fr and librairies/data/downloads paths
    pathfile = makepath(tempfile.gettempdir(),'arduino-cli.yaml')
    currentuser = get_current_user()
    configpath = makepath(r'c:\users',currentuser,'.arduinoIDE')
    datafile = r"""board_manager:
  additional_urls: []
daemon:
  port: "50051"
directories:
  builtin:
    libraries: C:\ProgramData\Arduino15\libraries
  data: C:\ProgramData\Arduino15
  downloads: C:\ProgramData\Arduino15\staging
  user: C:\Users\%s\Documents\Arduino
library:
  enable_unsafe_install: false
locale: fr
logging:
  file: ""
  format: text
  level: info
metrics:
  addr: :9090
  enabled: true
output:
  no_color: false
sketch:
  always_export_binaries: false
updater:
  enable_notification: false
""" % currentuser
    fichier = open(pathfile, "w")
    fichier.write(datafile)
    fichier.close()
    mkdirs(configpath)
    filecopyto(pathfile,configpath)
    remove_file(pathfile)

# Disable Update Notification
    pathfile = makepath(tempfile.gettempdir(),'settings.json')
    currentuser = get_current_user()
    configpath = makepath(r'c:\users',currentuser,'.arduinoIDE')
    datafile = r"""{
  "window.titleBarStyle": "native",
  "arduino.checkForUpdates": false
}
"""
    fichier = open(pathfile, "w")
    fichier.write(datafile)
    fichier.close()
    mkdirs(configpath)
    filecopyto(pathfile,configpath)
    remove_file(pathfile)


    # Set Arduino IDE language fr
    leveldbpath = makepath(r'c:\users',currentuser,'AppData','Roaming','arduino-ide','Local Storage','leveldb')
    if not isdir(leveldbpath):
        mkdirs(leveldbpath)
    copytree2("%s\leveldb" % all_user_data,leveldbpath)

def uninstall():
    print('Uninstalling all_user_data')
    remove_tree(makepath(programdata,'Arduino15'))
    print('Uninstalling Windows Firewall rules')
    remove_netfirewallrule("Arduino IDE")
    remove_netfirewallrule("mdns-discovery")
Aufrichtig

Betreff: tis-arduino-Paket auf Französisch

Veröffentlicht: 6. März 2025 - 19:30 Uhr
von vcardon
Olivier, wann fängst du bei uns an? :D

Betreff: tis-arduino-Paket auf Französisch

Veröffentlicht: 7. März 2025 - 14:01 Uhr
von olaplanche
Wenn ich meine jetzige Position satt habe, lasse ich es dich wissen :D