Skip to content
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

feat: Added French translation #22

Merged
merged 9 commits into from
Dec 16, 2024
Merged
Changes from 7 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
242 changes: 121 additions & 121 deletions locale/fr.yml
Original file line number Diff line number Diff line change
@@ -1,140 +1,140 @@
fr:
no new messages: ~
1 of 1 nodes online: ~
'uptime 00:00:00': ~
no new messages: 0 nouveau message
1 of 1 nodes online: 1 sur 1 noeud actif
'uptime 00:00:00': 'Activité: 00:00:00'
"Heap: 0\nLVGL: 0": ~
DEL: ~
'User name: ': ~
'Modem Preset: LONG FAST': ~
'Channel: LongFast': ~
'Role: Client': ~
'Screen Timeout: 60s': ~
'Screen Lock: off': ~
DEL: DEL
'User name: ': 'Nom:'
'Modem Preset: LONG FAST': 'Préréglages: LONG FAST'
'Channel: LongFast': 'Canal: LongFast'
'Role: Client': 'Rôle: Client'
'Screen Timeout: 60s': 'Extinction Écran: 60s'
'Screen Lock: off': 'Verr. écran: off'
'Screen Brightness: 60%': ~
'Theme: Dark': ~
'Screen Calibration: default': ~
'Theme: Dark': 'Thème: Sombre'
"Screen Calibration: default": "Calibr. d'écran: défaut"
'Input Control: none/none': ~
'Message Alert Buzzer: on': ~
'Language: English': ~
Configuration Reset: ~
Reboot / Shutdown: ~
Mesh Detector: ~
Signal Scanner: ~
Trace Route: ~
Neighbors: ~
Statistics: ~
Packet Log: ~
'Message Alert Buzzer: on': 'Sonnerie: on'
'Language: English': 'Langue: Français'
Configuration Reset: Réinitialisation
Reboot / Shutdown: Redémarrer / Arrêter
Mesh Detector: Détecteur de Mesh
Signal Scanner: Qualité du Signal
Trace Route: Trace route
Neighbors: Voisins
Statistics: Statistiques
Packet Log: Journaux de paquets
Meshtastic: ~
Group Channels: ~
no messages: ~
Settings & Tools: ~
Settings (advanced): ~
Locations Map: ~
no chats: ~
Node Search: ~
Packet Statistics: ~
Node Options: ~
Short Name: ~
Long Name: ~
<unset>: ~
Group Channels: Canaux de groupes
no messages: aucun message
Settings & Tools: Outils et Configuration
Settings (advanced): Configur. avancée
'Locations Map': 'Carte / Localisations'
no chats: Aucune conversation
Node Search: Recherche noeud
Packet Statistics: Statistiques des paquets
Node Options: Options Noeud
Short Name: Nom court
Long Name: Nom complet
'<unset>': '<non défini>'
"LONG FAST\nLONG SLOW\n-- deprecated --\nMEDIUM SLOW\nMEDIUM FAST\nSHORT SLOW\nSHORT FAST\nLONG MODERATE\nSHORT TURBO": ~
"Client\nClient Mute\nRouter\n-- deprecated --\nRepeater\nTracker\nSensor\nTAK\nClient Hidden\nLost & Found\nTAK Tracker": ~
'Brightness: 60%': ~
"Dark\nLight": ~
'Brightness: 60%': 'Luminosité: 60%'
"Dark\nLight": "Sombre\nLumineux"
'Timeout: 60s': ~
Screen Lock: ~
Lock PIN: ~
Mouse: ~
Screen Lock: Verrou. PIN
Lock PIN: Code PIN
Mouse: Souris
none: ~
Keyboard: ~
Message Alert: ~
Ringtone: ~
Default: ~
Zone: ~
City: ~
"NodeDB Reset\nFactory Reset": ~
Channel Name: ~
Pre-shared Key: ~
Unknown: ~
Offline: ~
Public Key: ~
Hops away: ~
MQTT: ~
Position: ~
Name: ~
Active Chat: ~
Telemetry: ~
Keyboard: Clavier
"Message Alert": "Notifications"
Ringtone: Sonnerie
Default: défaut
Zone: Zone
City: Ville
"NodeDB Reset\nFactory Reset": "Reinit. NodeDB\nReinit. Usine"
Channel Name: Nom du Canal
Pre-shared Key: Clé pré-partagée
Unknown: Inconnu
Offline: Hors ligne
Public Key: Clé Publique
Hops away: Sauts
MQTT: MQTT
Position: Position
Name: Nom
Active Chat: Chat Actif
Telemetry: Télémétrie
IAQ: ~
Start: ~
"New Message from\n": ~
Start: Marche
"New Message from\n": "Nouveau message de\\n"
Resynch...: ~
OK: ~
Cancel: ~
Cancel: Annuler
'FrequencySlot: %d (%g MHz)': ~
'Brightness: %d%%': ~
'Timeout: off': ~
'Brightness: %d%%': 'Luminosité : %d%%'
'Timeout: off': 'Timeout: désactivé'
'Timeout: %ds': ~
'Screen Calibration: %s': ~
done: ~
default: ~
Stop: ~
"choose\nnode": ~
choose target node: ~
'heard: !%08x': ~
'Packet Log: %d': ~
'Language: %s': ~
'Screen Timeout: off': ~
'Screen Timeout: %ds': ~
'Screen Brightness: %d%%': ~
'Theme: %s': ~
'User name: %s': ~
'Device Role: %s': ~
'Region: %s': ~
'Modem Preset: %s': ~
'Channel: %s': ~
'Screen Lock: %s': ~
'on': ~
'off': ~
'Message Alert: %s': ~
"Screen Calibration: %s": "Calibration d'écran: %s"
done: fait
default: défaut
Stop: Arrêt
"choose\nnode": "choix du\nnoeud"
choose target node: Choix du noeud cible
'heard: !%08x': 'Vu: !%08x'
'Packet Log: %d': 'Journaux des paquets: %d'
'Language: %s': 'Langue: %s'
'Screen Timeout: off': "Extin. d'écran: off"
'Screen Timeout: %ds': "Écran allumé: %ds"
'Screen Brightness: %d%%': "Luminosité d'écran: %d%%"
'Theme: %s': 'Thème: %s'
'User name: %s': 'Nom: %s'
'Device Role: %s': 'Rôle: %s'
'Region: %s': 'Region: %s'
'Modem Preset: %s': 'Préréglages: %s'
'Channel: %s': 'Canal: %s'
'Screen Lock: %s': 'Verrou. PIN: %s'
'on': 'On'
'off': 'Off'
'Message Alert: %s': 'Notifications: %s'
Util %0.1f%% Air %0.1f%%: ~
'hops: %d': ~
unknown: ~
<no name>: ~
'%d active chat(s)': ~
"New message from \n%s": ~
'hops: %d': "sauts: %d"
unknown: inconnu
'<no name>': '<sans nom>'
'%d active chat(s)': "%d chat(s) actif(s)"
"New message from \n%s": "Nouveau message de:\n%s"
'Input Control: %s/%s': ~
'%d of %d nodes online': ~
Filtering ...: ~
'Filter: %d of %d nodes': ~
now: ~
'%d new message': ~
'%d new messages': ~
'uptime: %02d:%02d:%02d': ~
'%d of %d nodes online': "%d sur %d noeuds actifs"
Filtering ...: Filtrage ...
'Filter: %d of %d nodes': 'Filtre: %d sur %d noeuds'
now: maintenant
'%d new message': '%d nouveau message'
'%d new messages': '%d nouveaux messages'
'uptime: %02d:%02d:%02d': 'Activité: %02d:%02d:%02d'
"Heap: %d (%d%%)\nLVGL: %d (%d%%)": ~
Settings: ~
Tools: ~
Filter: ~
Highlight: ~
Primary Channel: ~
Secondary Channels: ~
Settings: Configuration
Tools: Outils
Filter: Filtrer
Highlight: Surbrillance
Primary Channel: Canal Primaire
Secondary Channels: Canaux Secondaires
Resynch ...: ~
Rebooting ...: ~
Shutting down ...: ~
Rebooting ...: Redémarrage ...
Shutting down ...: Arrêt...
LoRa 0.0 MHz: ~
silent: ~
'WiFi: <not setup>': ~
'Lock: off/off': ~
LoRa TX off!: ~
WiFi SSID: ~
WiFi pre-shared Key: ~
Settings Lock: ~
'Lock: %s/%s': ~
Enter Text ...: ~
'!Enter Filter ...': ~
Enter Filter ...: ~
'WiFi: %s': ~
<not set>: ~
region unset: ~
Banner & Sound: ~
Banner only: ~
Sound only: ~
silent: silencieux
'WiFi: <not setup>': 'WiFi: <non configuré>'
'Lock: off/off': 'Verrouillage: non/non'
LoRa TX off!: LoRa TX off!
WiFi SSID: SSID WiFi
WiFi pre-shared Key: Clé WiFi
Settings Lock: Verr. des param.
'Lock: %s/%s': 'Verrouillage: %s/%s'
Enter Text ...: Écrire votre message...
'!Enter Filter ...': '!Filtrer...'
Enter Filter ...: Filtrer...
'WiFi: %s': 'WiFi: %s'
'<not set>': '<non défini>'
region unset: Région non configurée
Banner & Sound: Visuelle et sonore
Banner only: Alerte Visuelle
Sound only: Sonnerie Seule
143 changes: 141 additions & 2 deletions locale/lv_i18n.c
Original file line number Diff line number Diff line change
@@ -474,6 +474,143 @@ static const lv_i18n_lang_t fi_lang = {.locale_name = "fi",

.locale_plural_fn = fi_plural_fn};

static lv_i18n_phrase_t fr_singulars[] = {
{"no new messages", "0 nouveau message"},
{"1 of 1 nodes online", "1 sur 1 noeud actif"},
{"DEL", "DEL"},
{"User name: ", "Nom:"},
{"Modem Preset: LONG FAST", "Préréglages: LONG FAST"},
{"Modem Preset: %s", "Préréglages: %s"},
{"Channel: LongFast", "Canal: LongFast"},
{"Role: Client", "Rôle: Client"},
{"Screen Timeout: 60s", "Extinction Écran: 60s"},
{"Screen Brightness: 60%", "Luminosité: 60%"},
{"Screen Calibration: default", "Calibr. d'écran: défaut"},
{"Message Alert Buzzer: on", "Sonnerie: on"},
{"Language: English", "Langue: Français"},
{"Configuration Reset", "Réinitialisation"},
{"Reboot / Shutdown", "Redémarrer / Arrêter"},
{"Group Channels", "Canaux de groupes"},
{"no messages", "aucun message"},
{"Settings", "Configuration"},
{"Settings (advanced)", "Configur. avancée"},
{"Locations Map", "Carte / Localisations"},
{"no chats", "Aucune conversation"},
{"Node Options", "Options Noeud"},
{"Short Name", "Nom court"},
{"Long Name", "Nom complet"},
{"<unset>", "<non défini>"},
{"Brightness: 60%", "Luminosité: 60%"},
{"Mouse", "Souris"},
{"Keyboard", "Clavier"},
{"Message Alert", "Notifications"},
{"NodeDB Reset\nFactory Reset", "Reinit. NodeDB\nReinit. Usine"},
{"Channel Name", "Nom du Canal"},
{"Pre-shared Key", "Clé pré-partagée"},
{"New Message from\\n", "Nouveau message de\\n"},
{"User name: %s", "Nom: %s"},
{"Device Role: %s", "Rôle: %s"},
{"Screen Calibration: %s", "Calibration d'écran: %s"},
{"done", "fait"},
{"default", "défaut"},
{"Region: %s", "Region: %s"},
{"Channel: %s", "Canal: %s"},
{"Language: %s", "Langue: %s"},
{"Screen Lock: off", "Verr. écran: off"},
{"Theme: Dark", "Thème: Sombre"},
{"Mesh Detector", "Détecteur de Mesh"},
{"Signal Scanner", "Qualité du Signal"},
{"Trace Route", "Traceroute"},
{"Neighbors", "Voisins"},
{"Statistics", "Statistiques"},
{"Packet Log", "Journaux de paquets"},
{"Settings & Tools", "Outils et Configuration"},
{"Node Search", "Recherche noeud"},
{"Screen Lock", "Verrou. PIN"},
{"Lock PIN", "Code PIN"},
{"Ringtone", "Sonnerie"},
{"Zone", "Zone"},
{"City", "Ville"},
{"Unknown", "Inconnu"},
{"Offline", "Hors ligne"},
{"Public Key", "Clé Publique"},
{"Hops away", "Sauts"},
{"Position", "Position"},
{"Name", "Nom"},
{"Active Chat", "Chat Actif"},
{"Telemetry", "Télémétrie"},
{"Start", "Marche"},
{"Theme: %s", "Thème: %s"},
{"Packet Statistics", "Statistiques des paquets"},
{"LONG FAST\nLONG SLOW\n-- deprecated --\nMEDIUM SLOW\nMEDIUM FAST\nSHORT SLOW\nSHORT FAST\nLONG MODERATE\nSHORT TURBO",
"LONG FAST\nLONG SLOW\n-- obsoleto --\nMEDIUM SLOW\nMEDIUM FAST\nSHORT SLOW\nSHORT FAST\nLONG MODERATE\nSHORT TURBO"},
{"Client\nClient Mute\nRouter\n-- deprecated --\nRepeater\nTracker\nSensor\nTAK\nClient Hidden\nLost & Found\nTAK Tracker",
"Client\nClient Mute\nRouter\n-- obsoleto --\nRepeater\nTracker\nSensor\nTAK\nClient Hidden\nLost & Found\nTAK Tracker"},
{"Dark\nLight", "Sombre\nLumineux"},
{"Cancel", "Annuler"},
{"Brightness: %d%%", "Luminosité : %d%%"},
{"Stop", "Arrêt"},
{"choose\nnode", "choix du\nnoeud"},
{"choose target node", "Choix du noeud cible"},
{"heard: !%08x", "Vu: !%08x"},
{"Packet Log: %d", "Journaux des paquets: %d"},
{"Screen Timeout: off", "Extin. d'écran: off"},
{"Screen Timeout: %ds", "Écran allumé: %ds"},
{"Screen Brightness: %d%%", "Luminosité d'écran: %d%%"},
{"Screen Lock: %s", "Verrou. PIN: %s"},
{"on", "On"},
{"off", "Off"},
{"Message Alert: %s", "Notifications: %s"},
{"Util %0.1f%% Air %0.1f%%", "Util %0.1f%% Air %0.1f%%"},
{"hops: %d", "sauts: %d"},
{"unknown", "inconnu"},
{"<no name>", "<sans nom>"},
{"%d active chat(s)", "%d chat(s) actifs"},
{"New message from \n%s", "Nouveau message de:\n%s"},
{"%d of %d nodes online", "%d sur %d noeuds actifs"},
{"Filtering ...", "Filtrage ..."},
{"Filter: %d of %d nodes", "Filtre: %d sur %d noeuds"},
{"now", "maintenant"},
{"%d new message", "%d nouveau message"},
{"%d new messages", "%d nouveaux messages"},
{"uptime: %02d:%02d:%02d", "Activité: %02d:%02d:%02d"},
{"uptime 00:00:00", "Activité: 00:00:00"},
{"Tools", "Outils"},
{"Filter", "Filtrer"},
{"Highlight", "Surbrillance"},
{"Primary Channel", "Canal Primaire"},
{"Secondary Channels", "Canaux Secondaires"},
{"Resynch ...", "Resynch ..."},
{"Rebooting ...", "Redémarrage ..."},
{"Shutting down ...", "Arrêt..."},
{"silent", "silencieux"},
{"WiFi: <not setup>", "WiFi: <non configuré>"},
{"WiFi: %s", "WiFi: %s"},
{"LoRa TX off!", "LoRa TX off!"},
{"WiFi SSID", "SSID WiFi"},
{"WiFi pre-shared Key", "Clé WiFi"},
{"<not set>", "<non défini>"},
{"Banner & Sound", "Visuelle et sonore"},
{"Banner only", "Alerte Visuelle"},
{"Sound only", "Sonnerie Seule"},
{"Lock: off/off", "Verrouillage: non/non"},
{"Settings Lock", "Verr. des param."},
{"Lock: %s/%s", "Verrouillage: %s/%s"},
{"Enter Text ...", "Écrire votre message..."},
{"!Enter Filter ...", "!Filtrer ..."},
{"Enter Filter ...", "Filtrer ..."},
{"region unset", "Région non configurée"},
{NULL, NULL} // End mark
};

static lv_i18n_phrase_t fr_plurals_one[] = {
{"%d active chat(s)", "%d chat actif"}, {"%d sur %d nodes online", "1 noeud connecté"}, {NULL, NULL} // End mark
};

static lv_i18n_phrase_t fr_plurals_other[] = {
{"%d active chat(s)", "%d chats actifs"}, {"%d of %d nodes online", "%d/%d noeuds connectés"}, {NULL, NULL} // End mark
};

static uint8_t fr_plural_fn(int32_t num)
{
uint32_t n = op_n(num);
@@ -487,8 +624,10 @@ static uint8_t fr_plural_fn(int32_t num)
}

static const lv_i18n_lang_t fr_lang = {.locale_name = "fr",

.locale_plural_fn = fr_plural_fn};
.singulars = fr_singulars,
.plurals[LV_I18N_PLURAL_TYPE_ONE] = fr_plurals_one,
.plurals[LV_I18N_PLURAL_TYPE_OTHER] = fr_plurals_other,
.locale_plural_fn = fr_plural_fn};

static lv_i18n_phrase_t it_singulars[] = {
{"no new messages", "nessun messaggio"},