diff --git a/diylc/diylc-core/src/org/diylc/presenter/ComponentProcessor.java b/diylc/diylc-core/src/org/diylc/presenter/ComponentProcessor.java
index 4ef1a41a..a1ebe01c 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/ComponentProcessor.java
+++ b/diylc/diylc-core/src/org/diylc/presenter/ComponentProcessor.java
@@ -173,7 +173,7 @@ public class ComponentProcessor {
Method setter = clazz.getMethod("set" + getter.getName().substring(3), getter.getReturnType());
setterName = setter.getName();
} catch (NoSuchMethodException e) {
- LOG.debug("No matching setter found for \"" + getter.getName() + "\". Skipping...");
+ LOG.debug("No matching setter found for " + clazz.getName() + "." + getter.getName() + ". Skipping...");
}
TranslateUtil.translate(name); // temporary, just to make sure we catch it in the dict
diff --git a/diylc/diylc-swing/dict.txt b/diylc/diylc-swing/dict.txt
index bc86dfa9..d960a94a 100644
--- a/diylc/diylc-swing/dict.txt
+++ b/diylc/diylc-swing/dict.txt
@@ -42,7 +42,7 @@ G-D-S JFET
G-D-S MOSFET
G-S-D JFET
G-S-D MOSFET
-Language
+La langue
NPN
Nor
Not
@@ -50,9 +50,9 @@ Or
PAF
PCB
PNP
-Project Cloud
S-G-D JFET
S-G-D MOSFET
+SMD
SPDT
SPDT (Center OFF)
SPST
@@ -61,10 +61,8 @@ Xnor
Xor
cm
ft
+hold {0} and drag to unstuck from
in
-lang\English.txt
-lang\French.txt
-lang\Spanish.txt
mm
px
yd
diff --git a/diylc/diylc-swing/lang/English.txt b/diylc/diylc-swing/lang/English.txt
index 049c0da6..966f37ad 100644
--- a/diylc/diylc-swing/lang/English.txt
+++ b/diylc/diylc-swing/lang/English.txt
@@ -1,3 +1,6 @@
+(Building Blocks)
+(Favorites)
+(Recently Used)
180 degrees clockwise
270 degrees clockwise
90 degrees clockwise
@@ -22,6 +25,7 @@ Base
Below
Blueprint
Board
+Boards
Board Color
Board Width
Bobin 1
@@ -46,6 +50,12 @@ Change Password
Channel
Chassis
Circular
+Click on a component to highlight area directly or indirectly connected to the area below the cursor. To continue editing, this mode needs to be switched OFF
+Click on the canvas to create a new %s or press %s to cancel
+Click on the canvas to set the %s control point of a new %s or press %s to cancel
+Click the lighbulb icon in the bottom-right corner of the window for more info.
+Click to fetch the most recent public announcement
+Click to show recent changes and updates
Coil
Coil Border
Coil Length
@@ -61,6 +71,7 @@ Components
Config
Connector
Connector (Mirrored)
+Connectivity
Contacts
Continuous Creation
Coordinate Color
@@ -73,6 +84,7 @@ Core Thickness
Core Width
Could not create a new file. Check the log for details.
Could not create component. Check log for details.
+Could not fetch public announcements.
Could not save the project to file. Check the log for details.
Could not set component type slot. Check log for details.
Cover
@@ -102,6 +114,8 @@ Display Pin #s
Dog Ear
Dot Spacing
Dotted
+Drag control point(s) of
+Drag the mouse over the canvas to place a new
Dual Rail Humbucker
Dual Rods
Duodecar B12C
@@ -111,6 +125,7 @@ Edit
Edit Project Settings
Edit Selection
Electrode Labels
+Electro-Mechanical
Enable Cache Boost
End Arrow
Enjoying DIYLC? Click here to buy me a coffe :)
@@ -148,6 +163,7 @@ Generate Spice Netlist
Grid
Grid Spacing
Group Selection
+Guitar
Half
Hardware Acceleration
Heaters
@@ -168,6 +184,7 @@ Horizontal Small 1
Horizontal Small 2
Horizontal X-Small
Humbucking
+If this box is checked application will use the current value as a
default when creating new components of the same type
Image
Immediate Only
Import
@@ -176,7 +193,9 @@ Import Variants
In-Line D-44
In-line
Indent
+Information
Inline
+Input error for "%s": %s
Inside color
Integration
Invert polarity
@@ -185,6 +204,8 @@ Label Color
Label Orientation
Label Position
Labels
+Language
+Language selection will be applied after the application is restarted.
Layer
Layers
Lead Color
@@ -193,6 +214,7 @@ Lead Length
Lead Spacing
Left
Left-to-Right
+Left click to instantiate this component, right click for more options
Legs
Length
Letters
@@ -216,6 +238,7 @@ Mirror Horizontally
Mirror Selection
Mirror Vertically
Mirroring operation will change the circuit. Do you want to continue?
+Misc
Model
Mono
Mount
@@ -226,6 +249,8 @@ Name
Nand
Negative
New
+New version available
+No new public announcements available.
No
None
North
@@ -246,6 +271,7 @@ Outside
Oval horizontal
Oval vertical
Pad Color
+Passive
Paste
Pin Arrangement
Pin Color
@@ -268,6 +294,8 @@ Power Rating
Power Strip
Primary CT
Print...
+Project Cloud
+Public Announcement
Radius
Rail
Recent Files
@@ -294,7 +322,11 @@ Save
Save As
Save as Variant
Scale
+Schematic Symbols
Screws
+Selection
+Selection Size
+Selection is empty.
Search The Cloud
Searchable Tree
Secondary CT
@@ -303,12 +335,14 @@ Selected component(s) have reached the bottom of their layer. Do you want to for
Selected component(s) have reached the top of their layer. Do you want to force the selection to the top?
Selection contains components that cannot be mirrored. Do you want to exclude them?
Selection contains components that cannot be rotated. Do you want to exclude them?
+Semiconductors
Send Backward
Send Selection to Back
Seven
Shaft Down
Shaft Up
Shape
+Shapes
Show Grid
Show Rulers
Shroud
@@ -374,6 +408,7 @@ Trace Mask
Transform Selection
Triangle
Tubular
+Tubes
Two
Type
Ultra-miniature
@@ -385,6 +420,7 @@ Unit
Upload A Project
User Manual
Value
+Version history is not available.
Vertical
Vertical Alignment
Vertical Inline
@@ -399,5 +435,7 @@ Width
Winding Spacing
X-axis
Y-axis
+Zoom
base of 10
-base of 2
\ No newline at end of file
+base of 2
+hold %s and drag to unstuck from
\ No newline at end of file
diff --git a/diylc/diylc-swing/lang/French.txt b/diylc/diylc-swing/lang/French.txt
index 3d5c0e0a..3d871abd 100644
--- a/diylc/diylc-swing/lang/French.txt
+++ b/diylc/diylc-swing/lang/French.txt
@@ -1,9 +1,12 @@
+(Building Blocks)|(Blocs de construction)
+(Favorites)|(Favoris)
+(Recently Used)|(Récemment utilisé)
180 degrees clockwise|180 degrés dans le sens horaire
270 degrees clockwise|270 degrés dans le sens des aiguilles d'une montre
90 degrees clockwise|90 degrés dans le sens horaire
A variant with that name already exists. Overwrite?|Une variante avec ce nom existe déjà. Écraser?
-About|À propos de
-Above|Au dessus de
+About|À propos
+Above|Ci-dessus
Access User Files|Accéder aux fichiers utilisateur
Add Flexible Leads|Ajouter des prospects flexibles
Add Validation Step|Ajouter une étape de validation
@@ -13,25 +16,26 @@ Analyze|Analyser
Analyze Guitar Diagrams|Analyser les diagrammes de guitare
And|Et
Angle|Angle
-Anti-Aliasing|Anti crénelage
+Anti-Aliasing|Anti-aliasing
Arrow Size|Taille de la flèche
Author|Auteur
Auto-Create Pads|Pads de création automatique
Auto-Edit Mode|Mode d'édition automatique
Base|Base
-Below|Au dessous de
-Blueprint|Plan
-Board|Planche
+Below|Ci-dessous
+Blueprint|Blueprint
+Board|Conseil
+Boards|Tableaux
Board Color|Couleur du plateau
Board Width|Largeur du panneau
Bobin 1|Bobin 1
Bobin 2|Bobin 2
-Body|Corps
+Body|Le corps
Border|Frontière
Border Thickness|Épaisseur de bordure
-Both|Tous les deux
-Both Sides|Des deux côtés
-Bottom|Bas
+Both|Les deux
+Both Sides|Les deux côtés
+Bottom|En bas
Bottom Left|En bas à gauche
Bottom Right|En bas à droite
Bring Forward|Avancer
@@ -43,14 +47,20 @@ Center Positive|Centre positif
Center Terminal|Terminal central
Central|Central
Change Password|Changer le mot de passe
-Channel|Canal
+Channel|Chaîne
Chassis|Châssis
Circular|Circulaire
+Click on a component to highlight area directly or indirectly connected to the area below the cursor. To continue editing, this mode needs to be switched OFF|Cliquez sur un composant pour mettre en surbrillance la zone directement ou indirectement connectée à la zone située sous le curseur. Pour continuer l'édition, ce mode doit être désactivé
+Click on the canvas to create a new %s or press %s to cancel|Cliquez sur le canevas pour créer un nouveau %s ou appuyez sur %s pour annuler
+Click on the canvas to set the %s control point of a new %s or press %s to cancel|Cliquez sur le canevas pour définir le point de contrôle %s d'un nouveau %s ou appuyez sur %s pour annuler
+Click the lighbulb icon in the bottom-right corner of the window for more info.|Cliquez sur l'icône de l'ampoule dans le coin inférieur droit de la fenêtre pour plus d'informations.
+Click to fetch the most recent public announcement|Cliquez pour récupérer l'annonce publique la plus récente
+Click to show recent changes and updates|Cliquez pour afficher les modifications et mises à jour récentes
Coil|Bobine
Coil Border|Bordure de bobine
Coil Length|Longueur de bobine
Coil Width|Largeur de bobine
-Color|Couleur
+Color|La couleur
Color 1|Couleur 1
Color 2|Couleur 2
Color code|Code couleur
@@ -61,18 +71,20 @@ Components|Composants
Config|Config
Connector|Connecteur
Connector (Mirrored)|Connecteur (en miroir)
-Contacts|Contacts
+Connectivity|Connectivité
+Contacts|Les contacts
Continuous Creation|Création continue
Coordinate Color|Couleur coordonnée
Coordinate Origin|Origine des coordonnées
Coordinates|Coordonnées
-Copy|Copie
-Core|Coeur
-Core Border|Frontière centrale
+Copy|Copier
+Core|Noyau
+Core Border|Bordure centrale
Core Thickness|Épaisseur du noyau
Core Width|Largeur de noyau
Could not create a new file. Check the log for details.|Impossible de créer un nouveau fichier. Consultez le journal pour plus de détails.
Could not create component. Check log for details.|Impossible de créer le composant. Consultez le journal pour plus de détails.
+Could not fetch public announcements.|Impossible de récupérer les annonces publiques.
Could not save the project to file. Check the log for details.|Impossible d'enregistrer le projet dans un fichier. Consultez le journal pour plus de détails.
Could not set component type slot. Check log for details.|Impossible de définir l'emplacement du type de composant. Consultez le journal pour plus de détails.
Cover|Couverture
@@ -86,10 +98,10 @@ DIP (Mirrored)|DIP (en miroir)
DP3T (Standard 3-Position Strat)|DP3T (Strat standard à 3 positions)
DP3T (Standard 5-Position Strat)|DP3T (Strat standard à 5 positions)
DP4T (4-Position Tele)|DP4T (télé 4 positions)
-Dark|Foncé
+Dark|Sombre
Dashed|Dashed
Decimals|Décimales
-Default|Défaut
+Default|Par défaut
Default Font|Police par défaut
Default Font Size|Taille de police par défaut
Delete Selection|Supprimer la sélection
@@ -97,26 +109,29 @@ Description|La description
Diameter|Diamètre
Directional|Directionnel
Directly heated|Directement chauffé
-Display|Afficher
+Display|Affichage
Display Pin #s|Afficher les broches #
Dog Ear|Oreille de chien
Dot Spacing|Espacement des points
-Dotted|À pois
+Dotted|Pointillé
+Drag control point(s) of|Faites glisser le (s) point (s) de contrôle de
+Drag the mouse over the canvas to place a new|Faites glisser la souris sur le canevas pour placer un nouveau
Dual Rail Humbucker|Humbucker à double rail
Dual Rods|Dual Rods
Duodecar B12C|Duodecar B12C
Duplicate|Dupliquer
Edges|Bords
-Edit|Éditer
+Edit|Modifier
Edit Project Settings|Modifier les paramètres du projet
Edit Selection|Modifier la sélection
Electrode Labels|Étiquettes d'électrode
+Electro-Mechanical|Électromécanique
Enable Cache Boost|Activer le boost de cache
End Arrow|Flèche de fin
Enjoying DIYLC? Click here to buy me a coffe :)|Vous aimez DIYLC? Cliquez ici pour m'acheter un café :)
Error|Erreur
Error occured while editing selection. Check the log for details.|Une erreur s'est produite lors de la modification de la sélection. Consultez le journal pour plus de détails.
-Exit|Sortie
+Exit|Quitter
Expand Selection|Développer la sélection
Explicit Dimensions|Dimensions explicites
Explicit Length|Longueur explicite
@@ -127,7 +142,7 @@ Export Variants|Exporter les variantes
Export to PDF|Exporter au format PDF
Export to PNG|Exporter en PNG
Extra Working Area|Zone de travail supplémentaire
-Eyelet color|Couleur oeillet
+Eyelet color|Oeillet de couleur
FAQ|FAQ
File|Fichier
Fill|Remplir
@@ -136,23 +151,24 @@ Find|Trouver
Five|Cinq
Flip|Retourner
Folded|Plié
-Font|Police de caractère
-Font Bold|Caractères gras
+Font|Police
+Font Bold|Police en gras
Font Italic|Italic
Font Size|Taille de police
Four|Quatre
-Full|Plein
+Full|Complet
Fuse|Fusible
Generate DIYLC Netlist|Générer une netlist DIYLC
Generate Spice Netlist|Générer la netlist Spice
-Grid|la grille
+Grid|Grille
Grid Spacing|Espacement de la grille
Group Selection|Sélection de groupe
-Half|Moitié
+Guitar|Guitare
+Half|Demi
Hardware Acceleration|Accélération matérielle
Heaters|Radiateurs
-Height|la taille
-Help|Aider
+Height|La hauteur
+Help|Aide
Hi-Quality Rendering|Rendu de haute qualité
Highlight Connected Areas|Mettez en surbrillance les zones connectées
Hole|Trou
@@ -168,45 +184,51 @@ Horizontal Small 1|Horizontal petit 1
Horizontal Small 2|Horizontal petit 2
Horizontal X-Small|X-Small horizontal
Humbucking|Humbucking
+If this box is checked application will use the current value as a
default when creating new components of the same type|Si cette case est cochée, l'application utilisera la valeur actuelle comme valeur par défaut
lors de la création de nouveaux composants du même type
Image|Image
Immediate Only|Immédiatement seulement
-Import|Importation
+Import|Importer
Import Building Blocks|Importer des blocs de construction
Import Variants|Importer des variantes
In-Line D-44|En ligne D-44
In-line|En ligne
Indent|Retrait
-Inline|En ligne
+Information|L'information
+Inline|Inline
+Input error for "%s": %s|Erreur d'entrée pour "%s": %s"
Inside color|Couleur intérieure
-Integration|L'intégration
+Integration|Intégration
Invert polarity|Inverser la polarité
Label|Étiquette
Label Color|Couleur de l'étiquette
Label Orientation|Orientation de l'étiquette
Label Position|Position de l'étiquette
-Labels|Étiquettes
+Labels|Les étiquettes
+Language|La langue
+Language selection will be applied after the application is restarted.|La sélection de la langue sera appliquée après le redémarrage de l'application.
Layer|Couche
Layers|Couches
Lead Color|Couleur de plomb
Lead Count|Nombre de prospects
-Lead Length|Longueur de fil
+Lead Length|Longueur d'avance
Lead Spacing|Espacement des fils
-Left|La gauche
+Left|Gauche
Left-to-Right|De gauche à droite
-Legs|Jambes
-Length|Longueur
+Left click to instantiate this component, right click for more options|Clic gauche pour instancier ce composant, clic droit pour plus d'options
+Legs|Les jambes
+Length|La longueur
Letters|Des lettres
Light|Lumière
Lin|Lin
Lip|Lèvre
-Lock|Fermer à clé
+Lock|Verrouiller
Log|Journal
-Log In|S'identifier
+Log In|Connectez-vous
Log Out|Se déconnecter
Lug Size|Taille des cosses
Lugs|Cosses
Make a Donation|Faire un don
-Manage Account|Gérer son compte
+Manage Account|Gérer le compte
Manage My Uploads|Gérer mes téléchargements
Mark Common Lugs|Marquer les cosses communes
Marker|Marqueur
@@ -216,9 +238,10 @@ Mirror Horizontally|Miroir horizontalement
Mirror Selection|Sélection miroir
Mirror Vertically|Miroir verticalement
Mirroring operation will change the circuit. Do you want to continue?|L'opération de mise en miroir changera le circuit. Voulez-vous continuer?
+Misc|Divers
Model|Modèle
-Mono|Mono
-Mount|Monter
+Mono|Singe
+Mount|Mont
Mounting Lugs|Pattes de montage
Mouse Wheel Zoom|Zoom de la molette de la souris
Moveable Label|Étiquette mobile
@@ -226,27 +249,30 @@ Name|Nom
Nand|Nand
Negative|Négatif
New|Nouveau
+New version available|Nouvelle version disponible
+No new public announcements available.|Aucune nouvelle annonce publique disponible.
No|Non
None|Aucun
North|Nord
Noval B9A|Noval B9A
-Nudge|Coup de coude
-Numbers|Nombres
-Nut|Écrou
+Nudge|Nudge
+Numbers|Les chiffres
+Nut|Noix
Octal|Octal
Offset|Décalage
One Side|Un côté
-Open|Ouvert
+Open|Ouverte
Opposing Points|Points opposés
Orientation|Orientation
Outer Foil|Feuille extérieure
Outer Foil Mark|Marque de feuille extérieure
Outline Mode|Mode contour
-Outside|À l'extérieur
+Outside|Dehors
Oval horizontal|Ovale horizontal
-Oval vertical|Verticale ovale
+Oval vertical|Ovale vertical
Pad Color|Couleur du tampon
-Paste|Pâte
+Passive|Passif
+Paste|Coller
Pin Arrangement|Disposition des broches
Pin Color|Couleur de broche
Pin Spacing|Espacement des broches
@@ -254,7 +280,7 @@ Pin spacing|Espacement des broches
Pinout|Brochage
Pins|Épingles
Play Test|Jouer le test
-Plugin API|API de plugin
+Plugin API|Plugin API
Point Count|Nombre de points
Polarity|Polarité
Polarized|Polarisé
@@ -265,9 +291,11 @@ Pole Pieces 2|Pièces de poteau 2
Positions|Postes
Positive|Positif
Power Rating|Puissance nominale
-Power Strip|Power Strip
+Power Strip|Multiprise
Primary CT|TDM primaire
-Print...|Impression...
+Print...|Imprimer ...
+Project Cloud|Project Cloud
+Public Announcement|Annonce publique
Radius|Rayon
Rail|Rail
Recent Files|Fichiers récents
@@ -275,26 +303,30 @@ Recent Updates|Mises à jour récentes
Redo|Refaire
Renumber On Paste|Renuméroter sur la pâte
Renumber Selection|Renuméroter la sélection
-Resistance|La résistance
+Resistance|Résistance
Rev log|Journal de rév.
Reverse (standing)|Marche arrière (debout)
-Right|Droite
+Right|À droite
Rods|Cannes
-Rotate Clockwise|Le sens des aiguilles d'une montre
+Rotate Clockwise|Rotation dans le sens horaire
Rotate Counterclockwise|Rotation dans le sens antihoraire
Rotate Selection|Faire pivoter la sélection
-Round|Rond
+Round|Ronde
Round WOG A|Round WOG A
Round WOG B|Round WOG B
-Row Spacing|Écartement des rangs
-Rows|Lignes
+Row Spacing|Espacement des lignes
+Rows|Rangées
Ruler Inch Subdivision...|Subdivision en pouces de la règle ...
Same Type Only|Même type uniquement
-Save|sauvegarder
+Save|Enregistrer
Save As|Enregistrer sous
Save as Variant|Enregistrer en tant que variante
-Scale|Échelle
-Screws|Des vis
+Scale|Echelle
+Schematic Symbols|Symboles schématiques
+Screws|Vis
+Selection|Sélection
+Selection Size|Taille de sélection
+Selection is empty.|La sélection est vide.
Search The Cloud|Rechercher dans le cloud
Searchable Tree|Arbre consultable
Secondary CT|CT secondaire
@@ -303,19 +335,21 @@ Selected component(s) have reached the bottom of their layer. Do you want to for
Selected component(s) have reached the top of their layer. Do you want to force the selection to the top?|Les composants sélectionnés ont atteint le haut de leur couche. Voulez-vous forcer la sélection vers le haut?
Selection contains components that cannot be mirrored. Do you want to exclude them?|La sélection contient des composants qui ne peuvent pas être mis en miroir. Voulez-vous les exclure?
Selection contains components that cannot be rotated. Do you want to exclude them?|La sélection contient des composants qui ne peuvent pas être pivotés. Voulez-vous les exclure?
-Send Backward|Envoyer vers l'arrière
+Semiconductors|Semi-conducteurs
+Send Backward|Envoyer en arrière
Send Selection to Back|Envoyer la sélection à l'arrière
Seven|Sept
-Shaft Down|Shaft Down
-Shaft Up|Shaft Up
+Shaft Down|Arbre vers le bas
+Shaft Up|Shaft up
Shape|Forme
+Shapes|Formes
Show Grid|Afficher la grille
Show Rulers|Afficher les règles
-Shroud|Envelopper
+Shroud|Suaire
Shrouded|Enveloppé
Single Rail|Rail unique
Single Rods|Tiges simples
-Size|Taille
+Size|La taille
Sizing Mode|Mode de dimensionnement
Small-button B7G|Petit bouton B7G
Smooth|Lisse
@@ -326,45 +360,45 @@ South|Sud
Spacing|Espacement
Square|Carré
Square BR-3|Carré BR-3
-Standard|la norme
+Standard|Standard
Start Arrow|Flèche de départ
-Start Recording|Commencer l'enregistrement
+Start Recording|Démarrer l'enregistrement
Stereo|Stéréo
Sticky Points|Points collants
-Stop Recording|Arrête d'enregistrer
-Stratocaster|Stratocaster
+Stop Recording|Arrêter l'enregistrement
+Stratocaster|Stratcaster
Strip Color|Couleur de bande
-Stripe|Bande
+Stripe|Stripe
Stripe 1|Stripe 1
Stripe 2|Stripe 2
Stripe Color|Couleur des rayures
Stripe Color 1|Couleur de rayure 1
Stripe Color 2|Couleur de rayure 2
-Style|Style
+Style|Le style
Submit a Bug|Soumettre un bug
Suppressor grid|Grille de suppression
Switched|Switched
Switches|Commutateurs
-Tab|Languette
+Tab|Onglet
Tab Border|Bordure de tabulation
Tabbed Toolbar|Barre d'outils à onglets
Taper|Taper
Telecaster|Telecaster
Terminal Spacing|Espacement des bornes
Terminals|Terminaux
-Test|Tester
+Test|Test
Text|Texte
Text Color|Couleur du texte
Theme|Thème
There are unsaved changes. Would you like to save them?|Il y a des modifications non enregistrées. Voulez-vous les enregistrer?
Thickness|Épaisseur
Three|Trois
-Through Hole|À travers le trou
-Tick|Cocher
-Title|Titre
+Through Hole|Trou traversant
+Tick|Cochez
+Title|Le titre
Toolbox|Boîte à outils
Top|Haut
-Top Lead|Plaider
+Top Lead|Lead principal
Top Left|En haut à gauche
Top Right|En haut à droite
Top-to-Bottom|De haut en bas
@@ -374,30 +408,34 @@ Trace Mask|Masque Trace
Transform Selection|Transformer la sélection
Triangle|Triangle
Tubular|Tubulaire
+Tubes|Tubes
Two|Deux
-Type|Type
+Type|Tapez
Ultra-miniature|Ultra-miniature
Underside Pad Color|Couleur du tampon inférieur
Underside Trace Color|Couleur de trace en dessous
-Undo|annuler
+Undo|Annuler
Ungroup Selection|Dissocier la sélection
Unit|Unité
Upload A Project|Télécharger un projet
-User Manual|Manuel de l'Utilisateur
+User Manual|Manuel d'utilisation
Value|Valeur
-Vertical|Verticale
+Version history is not available.|L'historique des versions n'est pas disponible.
+Vertical|Vertical
Vertical Alignment|Alignement vertical
Vertical Inline|Vertical en ligne
Vertical Offset 1|Décalage vertical 1
Vertical Offset 2|Décalage vertical 2
-View|Vue
+View|Afficher
Visible|Visible
-Voltage|Tension
-Wafer|Tranche
-Warning|avertissement
+Voltage|La tension
+Wafer|Wafer
+Warning|Avertissement
Width|Largeur
Winding Spacing|Espacement des enroulements
X-axis|Axe X
Y-axis|Axe Y
+Zoom|Zoom
base of 10|base de 10
base of 2|base de 2
+hold %s and drag to unstuck from|maintenez %s et faites glisser pour décoller
diff --git a/diylc/diylc-swing/lang/Spanish.txt b/diylc/diylc-swing/lang/Spanish.txt
index 5fe2cd2a..cd08c83d 100644
--- a/diylc/diylc-swing/lang/Spanish.txt
+++ b/diylc/diylc-swing/lang/Spanish.txt
@@ -46,6 +46,7 @@ Change Password|Cambia la contraseña
Channel|Canal
Chassis|Chasis
Circular|Circular
+Click on a component to highlight area directly or indirectly connected to the area below the cursor. To continue editing, this mode needs to be switched OFF|Haga clic en un componente para resaltar el área conectada directa o indirectamente al área debajo del cursor. Para continuar editando, este modo necesita estar apagado
Coil|Bobina
Coil Border|Borde de la bobina
Coil Length|Longitud de la bobina
@@ -185,6 +186,8 @@ Label Color|Color de etiqueta
Label Orientation|Orientación de etiqueta
Label Position|Posición de etiqueta
Labels|Etiquetas
+Language|Lenguaje
+Language selection will be applied after the application is restarted.|La selección del lenguaje se aplicará después de reiniciar la aplicación.
Layer|Capa
Layers|Capas
Lead Color|Color de plomo
diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java
index 950f1d98..162be5e2 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java
@@ -46,14 +46,21 @@ import org.diylc.core.ValidationException;
import org.diylc.lang.TranslateUtil;
import org.diylc.swingframework.ButtonDialog;
-public class PropertyEditorDialog extends ButtonDialog {
+public class PropertyEditorDialog extends ButtonDialog {
private static final Logger LOG = Logger.getLogger(PropertyEditorDialog.class);
private static final long serialVersionUID = 1L;
+
+ private static final String ERROR_TITLE = TranslateUtil.translate("Error");
+ private static final String INPUT_ERROR = TranslateUtil.translate("Input error for \"%s\": %s");
+ private static final String DEFAULT_BOX_TOOLTIP_TEXT =
+ TranslateUtil.translate("If this box is checked application will use the current value as a
default when creating new components of the same type");
private static final String DEFAULT_BOX_TOOLTIP =
- "If this box is checked application will use the current value as a
default when creating new components of the same type";
+ ""
+ + DEFAULT_BOX_TOOLTIP_TEXT
+ + "";
private List properties;
private Set defaultedProperties;
@@ -103,7 +110,7 @@ public class PropertyEditorDialog extends ButtonDialog {
property.getValidator().validate(testObject, property.getValue());
} catch (ValidationException ve) {
JOptionPane.showMessageDialog(PropertyEditorDialog.this,
- "Input error for \"" + property.getName() + "\": " + ve.getMessage(), "Error",
+ String.format(INPUT_ERROR, property.getName(), ve.getMessage()), ERROR_TITLE,
JOptionPane.ERROR_MESSAGE);
return false;
}
diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/config/ConfigPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/config/ConfigPlugin.java
index 4d9412d4..e200d5da 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/plugins/config/ConfigPlugin.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/config/ConfigPlugin.java
@@ -44,7 +44,7 @@ import com.thoughtworks.xstream.io.xml.DomDriver;
*
* @author Branislav Stojkovic
*/
-public class ConfigPlugin implements IPlugIn {
+public class ConfigPlugin implements IPlugIn {
private static final Logger LOG = Logger.getLogger(ConfigPlugin.class);
@@ -56,7 +56,9 @@ public class ConfigPlugin implements IPlugIn {
public static final String COMPONENT_BROWSER = "componentBrowser";
public static final String SEARCHABLE_TREE = "Searchable Tree";
public static final String TABBED_TOOLBAR = "Tabbed Toolbar";
- private static final String LANGUAGE_MENU = "Language";
+ private static final String LANGUAGE_MENU = TranslateUtil.translate("Language");
+
+ private static final String LANG_RESTART = TranslateUtil.translate("Language selection will be applied after the application is restarted.");
private ISwingUI swingUI;
@@ -183,7 +185,7 @@ public class ConfigPlugin implements IPlugIn {
@Override
public void valueChanged(String key, Object value) {
- swingUI.showMessage("Language selection will be applied after the application is restarted.", "Language", ISwingUI.INFORMATION_MESSAGE);
+ swingUI.showMessage(LANG_RESTART, LANGUAGE_MENU, ISwingUI.INFORMATION_MESSAGE);
}
});
}
diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/help/HelpMenuPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/help/HelpMenuPlugin.java
index 71b3acea..fb47d84a 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/plugins/help/HelpMenuPlugin.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/help/HelpMenuPlugin.java
@@ -53,7 +53,10 @@ import org.diylc.swingframework.update.UpdateDialog;
*/
public class HelpMenuPlugin implements IPlugIn {
- private static final String HELP_TITLE = "Help";
+ private static final String HELP_TITLE = "Help";
+
+ private static final String INFORMATION = TranslateUtil.translate("Information");
+ private static final String HISTORY_NOT_AVAILABLE = TranslateUtil.translate("Version history is not available.");
public static String MANUAL_URL = "https://github.com/bancika/diy-layout-creator/blob/wiki/Manual.md";
public static String FAQ_URL = "https://github.com/bancika/diy-layout-creator/blob/wiki/FAQ.md";
@@ -123,7 +126,7 @@ public class HelpMenuPlugin implements IPlugIn {
public AboutAction() {
super();
- putValue(AbstractAction.NAME, TranslateUtil.translate("About"));
+ putValue(AbstractAction.NAME, "About");
putValue(AbstractAction.SMALL_ICON, IconLoader.About.getIcon());
}
@@ -139,7 +142,7 @@ public class HelpMenuPlugin implements IPlugIn {
public RecentUpdatesAction() {
super();
- putValue(AbstractAction.NAME, TranslateUtil.translate("Recent Updates"));
+ putValue(AbstractAction.NAME, "Recent Updates");
putValue(AbstractAction.SMALL_ICON, IconLoader.ScrollInformation.getIcon());
}
@@ -147,7 +150,7 @@ public class HelpMenuPlugin implements IPlugIn {
public void actionPerformed(ActionEvent e) {
List updates = plugInPort.getRecentUpdates();
if (updates == null)
- swingUI.showMessage("Version history is not available.", "Information", IView.INFORMATION_MESSAGE);
+ swingUI.showMessage(HISTORY_NOT_AVAILABLE, INFORMATION, IView.INFORMATION_MESSAGE);
else {
String html = UpdateChecker.createUpdateHTML(updates);
UpdateDialog updateDialog = new UpdateDialog(swingUI.getOwnerFrame().getRootPane(), html, (String)null);
@@ -165,7 +168,7 @@ public class HelpMenuPlugin implements IPlugIn {
public NavigateURLAction(String name, Icon icon, String url) {
super();
this.url = url;
- putValue(AbstractAction.NAME, TranslateUtil.translate(name));
+ putValue(AbstractAction.NAME, name);
putValue(AbstractAction.SMALL_ICON, icon);
}
@@ -188,7 +191,7 @@ public class HelpMenuPlugin implements IPlugIn {
public NavigateFolderAction(String name, Icon icon, String url) {
super();
this.url = url;
- putValue(AbstractAction.NAME, TranslateUtil.translate(name));
+ putValue(AbstractAction.NAME, name);
putValue(AbstractAction.SMALL_ICON, icon);
}
diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java
index 58cbbc1f..818b34d1 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java
@@ -69,6 +69,7 @@ import org.diylc.common.ITask;
import org.diylc.core.IDIYComponent;
import org.diylc.core.IView;
import org.diylc.images.IconLoader;
+import org.diylc.lang.TranslateUtil;
import org.diylc.presenter.Presenter;
import org.diylc.swing.ISwingUI;
import org.diylc.swingframework.MemoryBar;
@@ -78,12 +79,33 @@ import org.diylc.swingframework.update.UpdateLabel;
public class StatusBar extends JPanel implements IPlugIn {
+ private static final String CLICK_TO_CREATE = TranslateUtil.translate("Click on the canvas to create a new %s or press %s to cancel");
+ private static final String CLICK_TO_SET_POINT =
+ TranslateUtil.translate("Click on the canvas to set the %s control point of a new %s or press %s to cancel");
+ private static final String HOLD_TO_UNSTUCK = TranslateUtil.translate("hold %s and drag to unstuck from");
+ private static final String SELECTION = TranslateUtil.translate("Selection");
+ private static final String DRAG_POINTS_OF = TranslateUtil.translate("Drag control point(s) of");
+ private static final String DRAG_TO_PLACE_A_NEW = TranslateUtil.translate("Drag the mouse over the canvas to place a new");
+ private static final String ZOOM = TranslateUtil.translate("Zoom");
+ private static final String SELECTION_SIZE = TranslateUtil.translate("Selection Size");
+ private static final String SELECTION_IS_EMPTY = TranslateUtil.translate("Selection is empty.");
+ private static final String INFORMATION = TranslateUtil.translate("Information");
+ private static final String NO_HISTORY = TranslateUtil.translate("Version history is not available.");
+ private static final String CLICK_UPDATES = TranslateUtil.translate("Click to show recent changes and updates");
+ private static final String NO_ANNOUNCEMENTS = TranslateUtil.translate("No new public announcements available.");
+ private static final String ERROR_TITLE = TranslateUtil.translate("Error");
+ private static final String PUBLIC_ANNOUNCEMENT = TranslateUtil.translate("Public Announcement");
+ private static final String COULD_NOT_FETCH_ANNOUNCEMENTS = TranslateUtil.translate("Could not fetch public announcements.");
+ private static final String CLICK_TO_FETCH_ANNOUNCEMENT = TranslateUtil.translate("Click to fetch the most recent public announcement");
+ private static final String CLICK_THE_LIGHBULB = TranslateUtil.translate("Click the lighbulb icon in the bottom-right corner of the window for more info.");
+ private static final String NEW_VERSION_AVAILABLE = TranslateUtil.translate("New version available");
+ private static String HIGHLIGHT_CONNECTED_TIP = TranslateUtil.translate("Click on a component to highlight area directly or indirectly connected to the area below the cursor. To continue editing, this mode needs to be switched OFF");
+
private static final long serialVersionUID = 1L;
private static final Logger LOG = Logger.getLogger(StatusBar.class);
- public static String UPDATE_URL = "http://diy-fever.com/diylc/api/v1/update.xml";
- private static String HIGHLIGHT_CONNECTED_TIP = "Click on a component to highlight area directly or indirectly connected to the area below the cursor. To continue editing, this mode needs to be switched OFF";
+ public static String UPDATE_URL = "http://diy-fever.com/diylc/api/v1/update.xml";
private static final Format sizeFormat = new DecimalFormat("0.##");
private JComboBox zoomBox;
@@ -138,8 +160,9 @@ public class StatusBar extends JPanel implements IPlugIn {
if (update != null) {
String updateHtml =
- "New version available: " + update
- + "
Click the lighbulb icon in the bottom-right corner of the window for more info.";
+ "" + NEW_VERSION_AVAILABLE + ": " + update
+ + "
"
+ + CLICK_THE_LIGHBULB;
if (announcements == null || announcements.length() == 0)
return "" + updateHtml + "";
announcements = announcements.replace("", "" + updateHtml + "
");
@@ -225,7 +248,7 @@ public class StatusBar extends JPanel implements IPlugIn {
return new Point(0, -16);
}
};
- announcementLabel.setToolTipText("Click to fetch the most recent public announcement");
+ announcementLabel.setToolTipText(CLICK_TO_FETCH_ANNOUNCEMENT);
announcementLabel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
announcementLabel.addMouseListener(new MouseAdapter() {
@@ -241,16 +264,16 @@ public class StatusBar extends JPanel implements IPlugIn {
@Override
public void failed(Exception e) {
LOG.error("Error while fetching announcements", e);
- swingUI.showMessage("Could not fetch public announcements.", "Error", IView.ERROR_MESSAGE);
+ swingUI.showMessage(COULD_NOT_FETCH_ANNOUNCEMENTS, ERROR_TITLE, IView.ERROR_MESSAGE);
}
@Override
public void complete(String result) {
if (result != null && result.length() > 0) {
- swingUI.showMessage(result, "Public Announcement", IView.INFORMATION_MESSAGE);
+ swingUI.showMessage(result, PUBLIC_ANNOUNCEMENT, IView.INFORMATION_MESSAGE);
announcementProvider.dismissed();
} else
- swingUI.showMessage("No new public announcements available.", "Public Announcement",
+ swingUI.showMessage(NO_ANNOUNCEMENTS, PUBLIC_ANNOUNCEMENT,
IView.INFORMATION_MESSAGE);
}
@@ -272,7 +295,7 @@ public class StatusBar extends JPanel implements IPlugIn {
return new Point(0, -16);
}
};
- recentChangesLabel.setToolTipText("Click to show recent changes and updates");
+ recentChangesLabel.setToolTipText(CLICK_UPDATES);
recentChangesLabel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
recentChangesLabel.addMouseListener(new MouseAdapter() {
@@ -281,7 +304,7 @@ public class StatusBar extends JPanel implements IPlugIn {
public void mouseClicked(MouseEvent e) {
List updates = plugInPort.getRecentUpdates();
if (updates == null)
- swingUI.showMessage("Version history is not available.", "Information", IView.INFORMATION_MESSAGE);
+ swingUI.showMessage(NO_HISTORY, INFORMATION, IView.INFORMATION_MESSAGE);
else {
String html = UpdateChecker.createUpdateHTML(updates);
UpdateDialog updateDialog = new UpdateDialog(swingUI.getOwnerFrame().getRootPane(), html, (String)null);
@@ -344,13 +367,13 @@ public class StatusBar extends JPanel implements IPlugIn {
Point2D[] sizes = plugInPort.calculateSelectionDimension();
String text;
if (sizes == null) {
- text = "Selection is empty.";
+ text = SELECTION_IS_EMPTY;
} else {
text =
sizeFormat.format(sizes[0].getX()) + " x " + sizeFormat.format(sizes[0].getY()) + " in\n"
+ sizeFormat.format(sizes[1].getX()) + " x " + sizeFormat.format(sizes[1].getY()) + " cm";
}
- JOptionPane.showMessageDialog(SwingUtilities.getRootPane(StatusBar.this), text, "Selection Size",
+ JOptionPane.showMessageDialog(SwingUtilities.getRootPane(StatusBar.this), text, SELECTION_SIZE,
JOptionPane.INFORMATION_MESSAGE);
}
});
@@ -372,7 +395,7 @@ public class StatusBar extends JPanel implements IPlugIn {
add(getPositionLabel(), gbc);
JPanel zoomPanel = new JPanel(new BorderLayout());
- zoomPanel.add(new JLabel("Zoom: "), BorderLayout.WEST);
+ zoomPanel.add(new JLabel(ZOOM + ": "), BorderLayout.WEST);
zoomPanel.add(getZoomBox(), BorderLayout.CENTER);
// zoomPanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory
// .createEtchedBorder(), BorderFactory.createEmptyBorder(2, 4, 2,
@@ -502,7 +525,7 @@ public class StatusBar extends JPanel implements IPlugIn {
if (componentSlot == null) {
if (componentNamesUnderCursor != null && !componentNamesUnderCursor.isEmpty()) {
String formattedNames = Utils.toCommaString(componentNamesUnderCursor);
- statusText = "Drag control point(s) of " + formattedNames + "";
+ statusText = "" + DRAG_POINTS_OF + " " + formattedNames + "";
} else if (selectedComponentNames != null && !selectedComponentNames.isEmpty()) {
StringBuilder builder = new StringBuilder();
builder.append(Utils.toCommaString(selectedComponentNames.subList(0,
@@ -511,18 +534,18 @@ public class StatusBar extends JPanel implements IPlugIn {
builder.append(" and " + (selectedComponentNames.size() - 15) + " more");
}
if (!stuckComponentNames.isEmpty()) {
- builder.append(" (hold Ctrl and drag to unstuck from ");
+ builder.append(" (" + String.format(HOLD_TO_UNSTUCK, "Ctrl") + " ");
builder.append(Utils.toCommaString(stuckComponentNames.subList(0, Math.min(5, stuckComponentNames.size()))));
if (stuckComponentNames.size() > 5) {
builder.append(" and " + (stuckComponentNames.size() - 5) + " more");
}
builder.append(")");
}
- statusText = "Selection: " + builder.toString() + "";
+ statusText = "" + SELECTION + ": " + builder.toString() + "";
}
} else {
if (forceInstatiate != null && forceInstatiate)
- statusText = "Drag the mouse over the canvas to place a new " + componentSlot.getName()
+ statusText = "" + DRAG_TO_PLACE_A_NEW + " " + componentSlot.getName()
+ "";
else
switch (componentSlot.getCreationMethod()) {
@@ -534,13 +557,13 @@ public class StatusBar extends JPanel implements IPlugIn {
count = "second";
}
statusText =
- "Click on the canvas to set the " + count + " control point of a new "
- + componentSlot.getName() + " or press Esc to cancel";
+ "" + String.format(CLICK_TO_SET_POINT, count, ""
+ + componentSlot.getName() + "", "Esc") + "";
break;
case SINGLE_CLICK:
statusText =
- "Click on the canvas to create a new " + componentSlot.getName()
- + " or press Esc to cancel";
+ "" + String.format(CLICK_TO_CREATE, "" + componentSlot.getName()
+ + "", "Esc") + "";
break;
}
}
diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreePanel.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreePanel.java
index ffa1f288..cd0fdf11 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreePanel.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreePanel.java
@@ -84,6 +84,7 @@ import org.diylc.core.IDIYComponent;
import org.diylc.core.IView;
import org.diylc.core.Template;
import org.diylc.images.IconLoader;
+import org.diylc.lang.TranslateUtil;
import org.diylc.presenter.ComponentProcessor;
import org.diylc.swing.ISwingUI;
import org.diylc.swing.plugins.toolbox.ComponentButtonFactory;
@@ -93,6 +94,9 @@ public class TreePanel extends JPanel {
private static final long serialVersionUID = 1L;
private static final Logger LOG = Logger.getLogger(TreePanel.class);
+
+ private static final String CLICK_TO_INSTANTIATE =
+ TranslateUtil.translate("Left click to instantiate this component, right click for more options");
public static final String COMPONENT_SHORTCUT_KEY = "componentShortcuts";
@@ -751,11 +755,11 @@ public class TreePanel extends JPanel {
if (payload.isVisible())
setPreferredSize(new Dimension(250, 20));
else
- setPreferredSize(new Dimension(0, 0));
+ setPreferredSize(new Dimension(0, 0));
} else {
setToolTipText("" + payload.getComponentType().getName() + "
"
+ payload.getComponentType().getDescription() + "
Author: " + payload.getComponentType().getAuthor()
- + "
Left click to instantiate this component, right click for more options" + "");
+ + "
" + CLICK_TO_INSTANTIATE + "");
setIcon(payload.getComponentType().getIcon());
if (payload.isVisible())
setPreferredSize(new Dimension(250, 32));
@@ -791,7 +795,8 @@ public class TreePanel extends JPanel {
}
}
- setText("" + payload.forDisplay() + shortCutHtml + variantsHtml + "");
+ // translate categories
+ setText("" + (payload.getComponentType() == null ? TranslateUtil.translate(payload.forDisplay()) : payload.forDisplay()) + shortCutHtml + variantsHtml + "");
}
return this;