mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 09:12:09 +10:00
multi-language support
This commit is contained in:
@@ -90,7 +90,9 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
|
|||||||
public static final String SNAP_TO_NONE = "None";
|
public static final String SNAP_TO_NONE = "None";
|
||||||
public static final String SNAP_TO_GRID = "Grid";
|
public static final String SNAP_TO_GRID = "Grid";
|
||||||
public static final String SNAP_TO_COMPONENTS = "Components";
|
public static final String SNAP_TO_COMPONENTS = "Components";
|
||||||
public static final String SNAP_TO_DEFAULT = SNAP_TO_GRID;
|
public static final String SNAP_TO_DEFAULT = SNAP_TO_GRID;
|
||||||
|
|
||||||
|
public static final String LANGUAGE = "language";
|
||||||
|
|
||||||
public static final int DND_TOGGLE_STICKY = 0x1;
|
public static final int DND_TOGGLE_STICKY = 0x1;
|
||||||
public static final int DND_TOGGLE_SNAP = 0x40000000;
|
public static final int DND_TOGGLE_SNAP = 0x40000000;
|
||||||
@@ -101,7 +103,7 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
|
|||||||
public static final int NOBUTTON = 0;
|
public static final int NOBUTTON = 0;
|
||||||
public static final int BUTTON1 = 1;
|
public static final int BUTTON1 = 1;
|
||||||
public static final int BUTTON2 = 2;
|
public static final int BUTTON2 = 2;
|
||||||
public static final int BUTTON3 = 3;
|
public static final int BUTTON3 = 3;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns size of the canvas that takes project dimensions into account as well as zoom level.
|
* Returns size of the canvas that takes project dimensions into account as well as zoom level.
|
||||||
|
|||||||
@@ -0,0 +1,137 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
|
||||||
|
*
|
||||||
|
* This file is part of DIYLC.
|
||||||
|
*
|
||||||
|
* DIYLC is free software: you can redistribute it and/or modify it under the terms of the GNU
|
||||||
|
* General Public License as published by the Free Software Foundation, either version 3 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* DIYLC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||||
|
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||||
|
* Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along with DIYLC. If not, see
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package org.diylc.lang;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
import org.diylc.appframework.miscutils.ConfigurationManager;
|
||||||
|
import org.diylc.common.IPlugInPort;
|
||||||
|
|
||||||
|
public class TranslateUtil {
|
||||||
|
|
||||||
|
private static final String LANG_DIR = "lang";
|
||||||
|
|
||||||
|
private static final Logger LOG = Logger.getLogger(TranslateUtil.class);
|
||||||
|
|
||||||
|
private static Map<String, String> dict = null;
|
||||||
|
private static List<String> missing;
|
||||||
|
|
||||||
|
public static String translate(String text) {
|
||||||
|
if (text == null || text.length() <= 1)
|
||||||
|
return text;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// don't translate numbers
|
||||||
|
Double.parseDouble(text);
|
||||||
|
return text;
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dict != null) {
|
||||||
|
if (dict.containsKey(text.toLowerCase())) {
|
||||||
|
return dict.get(text.toLowerCase());
|
||||||
|
} else {
|
||||||
|
if ("true".equalsIgnoreCase(System.getProperty("org.diylc.storeDict"))) {
|
||||||
|
List<String> missing = getMissing();
|
||||||
|
if (!missing.contains(text)) {
|
||||||
|
missing.add(text);
|
||||||
|
Collections.sort(missing);
|
||||||
|
try (PrintWriter out = new PrintWriter("dict.txt")) {
|
||||||
|
for (String m : missing) {
|
||||||
|
out.println(m);
|
||||||
|
}
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void configure() {
|
||||||
|
String language = ConfigurationManager.getInstance().readString(IPlugInPort.LANGUAGE, "English");
|
||||||
|
if (language != null)
|
||||||
|
load(language);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void load(String language) {
|
||||||
|
LOG.info("Loading translation for " + language);
|
||||||
|
dict = new HashMap<String, String>();
|
||||||
|
try {
|
||||||
|
try (Stream<String> stream = Files.lines(
|
||||||
|
Paths.get(LANG_DIR + File.separator + language + ".txt"), StandardCharsets.UTF_8)) {
|
||||||
|
stream.forEach(s -> {
|
||||||
|
if (s.contains("|")) {
|
||||||
|
String[] parts = s.split("\\|");
|
||||||
|
if (parts.length == 2)
|
||||||
|
dict.put(parts[0].toLowerCase().trim(), parts[1].trim());
|
||||||
|
} else {
|
||||||
|
dict.put(s.toLowerCase(), s);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (IOException e) {
|
||||||
|
LOG.error("Error loading language file", e);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.error("Error loading language file", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static List<String> getMissing() {
|
||||||
|
if (missing == null) {
|
||||||
|
missing = new ArrayList<String>();
|
||||||
|
try {
|
||||||
|
try (Stream<String> stream = Files.lines(Paths.get("dict.txt"), StandardCharsets.UTF_8)) {
|
||||||
|
stream.forEach(s -> missing.add(s));
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return missing;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<String> getAvailableLanguages() {
|
||||||
|
try (Stream<Path> walk = Files.walk(Paths.get(LANG_DIR))) {
|
||||||
|
|
||||||
|
return walk.filter(Files::isRegularFile).map(x -> x.toString()).collect(Collectors.toList());
|
||||||
|
} catch (IOException e) {
|
||||||
|
LOG.error("Error fetching available languages");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -46,7 +46,8 @@ import org.diylc.core.IPropertyValidator;
|
|||||||
import org.diylc.core.annotations.BomPolicy;
|
import org.diylc.core.annotations.BomPolicy;
|
||||||
import org.diylc.core.annotations.ComponentDescriptor;
|
import org.diylc.core.annotations.ComponentDescriptor;
|
||||||
import org.diylc.core.annotations.EditableProperty;
|
import org.diylc.core.annotations.EditableProperty;
|
||||||
import org.diylc.core.annotations.KeywordPolicy;
|
import org.diylc.core.annotations.KeywordPolicy;
|
||||||
|
import org.diylc.lang.TranslateUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility class with component processing methods.
|
* Utility class with component processing methods.
|
||||||
@@ -173,7 +174,15 @@ public class ComponentProcessor {
|
|||||||
setterName = setter.getName();
|
setterName = setter.getName();
|
||||||
} catch (NoSuchMethodException e) {
|
} catch (NoSuchMethodException e) {
|
||||||
LOG.debug("No matching setter found for \"" + getter.getName() + "\". Skipping...");
|
LOG.debug("No matching setter found for \"" + getter.getName() + "\". Skipping...");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TranslateUtil.translate(name); // temporary, just to make sure we catch it in the dict
|
||||||
|
if (getter.getReturnType().isEnum()) {
|
||||||
|
for(Object o : getter.getReturnType().getEnumConstants()) {
|
||||||
|
TranslateUtil.translate(o.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
PropertyWrapper property =
|
PropertyWrapper property =
|
||||||
new PropertyWrapper(name, getter.getReturnType(), getter.getName(), setterName,
|
new PropertyWrapper(name, getter.getReturnType(), getter.getName(), setterName,
|
||||||
annotation.defaultable(), validator, annotation.sortOrder());
|
annotation.defaultable(), validator, annotation.sortOrder());
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ import org.diylc.core.VisibilityPolicy;
|
|||||||
import org.diylc.core.annotations.IAutoCreator;
|
import org.diylc.core.annotations.IAutoCreator;
|
||||||
import org.diylc.core.measures.Size;
|
import org.diylc.core.measures.Size;
|
||||||
import org.diylc.core.measures.SizeUnit;
|
import org.diylc.core.measures.SizeUnit;
|
||||||
|
import org.diylc.lang.TranslateUtil;
|
||||||
import org.diylc.netlist.Group;
|
import org.diylc.netlist.Group;
|
||||||
import org.diylc.netlist.Netlist;
|
import org.diylc.netlist.Netlist;
|
||||||
import org.diylc.netlist.NetlistAnalyzer;
|
import org.diylc.netlist.NetlistAnalyzer;
|
||||||
@@ -102,6 +103,32 @@ import com.thoughtworks.xstream.io.xml.DomDriver;
|
|||||||
*/
|
*/
|
||||||
public class Presenter implements IPlugInPort {
|
public class Presenter implements IPlugInPort {
|
||||||
|
|
||||||
|
private static final String REACHED_BOTTOM =
|
||||||
|
TranslateUtil.translate("Selected component(s) have reached the bottom of their layer. Do you want to force the selection to the back?");
|
||||||
|
private static final String SEND_SELECTION_TO_BACK = TranslateUtil.translate("Send Selection to Back");
|
||||||
|
private static final String SAVE_AS_VARIANT = TranslateUtil.translate("Save as Variant");
|
||||||
|
private static final String VARIANT_EXISTS = TranslateUtil.translate("A variant with that name already exists. Overwrite?");
|
||||||
|
private static final String ROTATE_CHANGE =
|
||||||
|
TranslateUtil.translate("Selection contains components that cannot be rotated. Do you want to exclude them?");
|
||||||
|
private static final String MIRRORING_CHANGE =
|
||||||
|
TranslateUtil.translate("Mirroring operation will change the circuit. Do you want to continue?");
|
||||||
|
private static final String MIRROR_SELECTION = TranslateUtil.translate("Mirror Selection");
|
||||||
|
private static final String ROTATE_SELECTION = TranslateUtil.translate("Rotate Selection");
|
||||||
|
private static final String CANNOT_MIRROR =
|
||||||
|
TranslateUtil.translate("Selection contains components that cannot be mirrored. Do you want to exclude them?");
|
||||||
|
private static final String BRING_SELECTION_TO_FRONT = TranslateUtil.translate("Bring Selection to Front");
|
||||||
|
private static final String REACHED_TOP =
|
||||||
|
TranslateUtil.translate("Selected component(s) have reached the top of their layer. Do you want to force the selection to the top?");
|
||||||
|
private static final String WARNING = TranslateUtil.translate("Warning");
|
||||||
|
private static final String UNSAVED_CHANGES = TranslateUtil.translate("There are unsaved changes. Would you like to save them?");
|
||||||
|
private static final String ERROR_SLOT = TranslateUtil.translate("Could not set component type slot. Check log for details.");
|
||||||
|
private static final String ERROR_SAVE = TranslateUtil.translate("Could not save the project to file. Check the log for details.");
|
||||||
|
private static final String ERROR_CREATE = TranslateUtil.translate("Could not create component. Check log for details.");
|
||||||
|
private static final String ERROR_EDIT = TranslateUtil.translate("Error occured while editing selection. Check the log for details.");
|
||||||
|
private static final String ERROR_NEW = TranslateUtil.translate("Could not create a new file. Check the log for details.");
|
||||||
|
private static final String ERROR = TranslateUtil.translate("Error");
|
||||||
|
private static final String APPLY_ERROR = "Could not apply changes. Check the log for details.";
|
||||||
|
|
||||||
private static final Logger LOG = Logger.getLogger(Presenter.class);
|
private static final Logger LOG = Logger.getLogger(Presenter.class);
|
||||||
|
|
||||||
public static VersionNumber CURRENT_VERSION = new VersionNumber(4, 0, 0);
|
public static VersionNumber CURRENT_VERSION = new VersionNumber(4, 0, 0);
|
||||||
@@ -137,7 +164,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
|
|
||||||
public static final int ICON_SIZE = 32;
|
public static final int ICON_SIZE = 32;
|
||||||
|
|
||||||
private static final int MAX_RECENT_FILES = 20;
|
private static final int MAX_RECENT_FILES = 20;
|
||||||
|
|
||||||
private Project currentProject;
|
private Project currentProject;
|
||||||
private Map<String, List<ComponentType>> componentTypes;
|
private Map<String, List<ComponentType>> componentTypes;
|
||||||
@@ -294,7 +321,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
DrawingCache.Instance.clear();
|
DrawingCache.Instance.clear();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Could not create new file", e);
|
LOG.error("Could not create new file", e);
|
||||||
view.showMessage("Could not create a new file. Check the log for details.", "Error", IView.ERROR_MESSAGE);
|
view.showMessage(ERROR_NEW, ERROR, IView.ERROR_MESSAGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -314,7 +341,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
builder.append("<br>");
|
builder.append("<br>");
|
||||||
}
|
}
|
||||||
builder.append("</html");
|
builder.append("</html");
|
||||||
view.showMessage(builder.toString(), "Warning", IView.WARNING_MESSAGE);
|
view.showMessage(builder.toString(), WARNING, IView.WARNING_MESSAGE);
|
||||||
}
|
}
|
||||||
addToRecentFiles(fileName);
|
addToRecentFiles(fileName);
|
||||||
DrawingCache.Instance.clear();
|
DrawingCache.Instance.clear();
|
||||||
@@ -328,7 +355,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
errorMessage += "\n";
|
errorMessage += "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
view.showMessage(errorMessage, "Error", IView.ERROR_MESSAGE);
|
view.showMessage(errorMessage, ERROR, IView.ERROR_MESSAGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -348,7 +375,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
public boolean allowFileAction() {
|
public boolean allowFileAction() {
|
||||||
if (projectFileManager.isModified()) {
|
if (projectFileManager.isModified()) {
|
||||||
int response =
|
int response =
|
||||||
view.showConfirmDialog("There are unsaved changes. Would you like to save them?", "Warning",
|
view.showConfirmDialog(UNSAVED_CHANGES, WARNING,
|
||||||
IView.YES_NO_CANCEL_OPTION, IView.WARNING_MESSAGE);
|
IView.YES_NO_CANCEL_OPTION, IView.WARNING_MESSAGE);
|
||||||
if (response == IView.YES_OPTION) {
|
if (response == IView.YES_OPTION) {
|
||||||
if (this.getCurrentFileName() == null) {
|
if (this.getCurrentFileName() == null) {
|
||||||
@@ -377,7 +404,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
LOG.error("Could not save file", ex);
|
LOG.error("Could not save file", ex);
|
||||||
if (!isBackup) {
|
if (!isBackup) {
|
||||||
view.showMessage("Could not save file " + fileName + ". Check the log for details.", "Error",
|
view.showMessage(ERROR_SAVE, ERROR,
|
||||||
IView.ERROR_MESSAGE);
|
IView.ERROR_MESSAGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -417,6 +444,10 @@ public class Presenter implements IPlugInPort {
|
|||||||
ComponentProcessor.getInstance().extractComponentTypeFrom((Class<? extends IDIYComponent<?>>) clazz);
|
ComponentProcessor.getInstance().extractComponentTypeFrom((Class<? extends IDIYComponent<?>>) clazz);
|
||||||
if (componentType == null)
|
if (componentType == null)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
// just to store in the cache
|
||||||
|
ComponentProcessor.getInstance().extractProperties(clazz);
|
||||||
|
|
||||||
List<ComponentType> nestedList;
|
List<ComponentType> nestedList;
|
||||||
if (componentTypes.containsKey(componentType.getCategory())) {
|
if (componentTypes.containsKey(componentType.getCategory())) {
|
||||||
nestedList = componentTypes.get(componentType.getCategory());
|
nestedList = componentTypes.get(componentType.getCategory());
|
||||||
@@ -628,7 +659,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
try {
|
try {
|
||||||
instantiationManager.instatiatePointByPoint(scaledPoint, currentProject);
|
instantiationManager.instatiatePointByPoint(scaledPoint, currentProject);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
view.showMessage("Could not create component. Check log for details.", "Error", IView.ERROR_MESSAGE);
|
view.showMessage(ERROR_CREATE, ERROR, IView.ERROR_MESSAGE);
|
||||||
LOG.error("Could not create component", e);
|
LOG.error("Could not create component", e);
|
||||||
}
|
}
|
||||||
messageDispatcher.dispatchMessage(EventType.SLOT_CHANGED, componentTypeSlot,
|
messageDispatcher.dispatchMessage(EventType.SLOT_CHANGED, componentTypeSlot,
|
||||||
@@ -827,7 +858,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
try {
|
try {
|
||||||
applyPropertiesToSelection(properties);
|
applyPropertiesToSelection(properties);
|
||||||
} catch (Exception e1) {
|
} catch (Exception e1) {
|
||||||
view.showMessage("Error occured while editing selection. Check the log for details.", "Error",
|
view.showMessage(ERROR_EDIT, ERROR,
|
||||||
JOptionPane.ERROR_MESSAGE);
|
JOptionPane.ERROR_MESSAGE);
|
||||||
LOG.error("Error applying properties", e1);
|
LOG.error("Error applying properties", e1);
|
||||||
}
|
}
|
||||||
@@ -1395,8 +1426,8 @@ public class Presenter implements IPlugInPort {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!canRotate)
|
if (!canRotate)
|
||||||
if (view.showConfirmDialog("Selection contains components that cannot be rotated. Do you want to exclude them?",
|
if (view.showConfirmDialog(ROTATE_CHANGE,
|
||||||
"Mirror Selection", IView.YES_NO_OPTION, IView.QUESTION_MESSAGE) != IView.YES_OPTION)
|
ROTATE_SELECTION, IView.YES_NO_OPTION, IView.QUESTION_MESSAGE) != IView.YES_OPTION)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (IDIYComponent<?> component : selectedComponents) {
|
for (IDIYComponent<?> component : selectedComponents) {
|
||||||
@@ -1482,7 +1513,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
mirrorComponents(selectedComponents, direction, isSnapToGrid());
|
mirrorComponents(selectedComponents, direction, isSnapToGrid());
|
||||||
|
|
||||||
messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(),
|
messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(),
|
||||||
"Mirror Selection");
|
MIRROR_SELECTION);
|
||||||
messageDispatcher.dispatchMessage(EventType.REPAINT);
|
messageDispatcher.dispatchMessage(EventType.REPAINT);
|
||||||
drawingManager.clearContinuityArea();
|
drawingManager.clearContinuityArea();
|
||||||
}
|
}
|
||||||
@@ -1507,13 +1538,13 @@ public class Presenter implements IPlugInPort {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!canMirror)
|
if (!canMirror)
|
||||||
if (view.showConfirmDialog("Selection contains components that cannot be mirrored. Do you want to exclude them?",
|
if (view.showConfirmDialog(CANNOT_MIRROR,
|
||||||
"Mirror Selection", IView.YES_NO_OPTION, IView.QUESTION_MESSAGE) != IView.YES_OPTION)
|
MIRROR_SELECTION, IView.YES_NO_OPTION, IView.QUESTION_MESSAGE) != IView.YES_OPTION)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (changesCircuit)
|
if (changesCircuit)
|
||||||
if (view.showConfirmDialog("Mirroring operation will change the circuit. Do you want to continue?",
|
if (view.showConfirmDialog(MIRRORING_CHANGE,
|
||||||
"Mirror Selection", IView.YES_NO_OPTION, IView.QUESTION_MESSAGE) != IView.YES_OPTION)
|
MIRROR_SELECTION, IView.YES_NO_OPTION, IView.QUESTION_MESSAGE) != IView.YES_OPTION)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (IDIYComponent<?> component : components) {
|
for (IDIYComponent<?> component : components) {
|
||||||
@@ -1821,8 +1852,8 @@ public class Presenter implements IPlugInPort {
|
|||||||
&& (forceConfirmation =
|
&& (forceConfirmation =
|
||||||
this.view
|
this.view
|
||||||
.showConfirmDialog(
|
.showConfirmDialog(
|
||||||
"Selected component(s) have reached the bottom of their layer. Do you want to force the selection to the back?",
|
REACHED_BOTTOM,
|
||||||
"Send Selection to Back", IView.YES_NO_OPTION, IView.QUESTION_MESSAGE)) != IView.YES_OPTION)
|
SEND_SELECTION_TO_BACK, IView.YES_NO_OPTION, IView.QUESTION_MESSAGE)) != IView.YES_OPTION)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Collections.swap(currentProject.getComponents(), index, index - 1);
|
Collections.swap(currentProject.getComponents(), index, index - 1);
|
||||||
@@ -1874,8 +1905,8 @@ public class Presenter implements IPlugInPort {
|
|||||||
&& (forceConfirmation =
|
&& (forceConfirmation =
|
||||||
this.view
|
this.view
|
||||||
.showConfirmDialog(
|
.showConfirmDialog(
|
||||||
"Selected component(s) have reached the top of their layer. Do you want to force the selection to the top?",
|
REACHED_TOP,
|
||||||
"Bring Selection to Front", IView.YES_NO_OPTION, IView.QUESTION_MESSAGE)) != IView.YES_OPTION)
|
BRING_SELECTION_TO_FRONT, IView.YES_NO_OPTION, IView.QUESTION_MESSAGE)) != IView.YES_OPTION)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Collections.swap(currentProject.getComponents(), index, index + 1);
|
Collections.swap(currentProject.getComponents(), index, index + 1);
|
||||||
@@ -2291,7 +2322,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Could not apply selection properties", e);
|
LOG.error("Could not apply selection properties", e);
|
||||||
view.showMessage("Could not apply changes to the selection. Check the log for details.", "Error",
|
view.showMessage("Could not apply changes to the selection. Check the log for details.", ERROR,
|
||||||
IView.ERROR_MESSAGE);
|
IView.ERROR_MESSAGE);
|
||||||
} finally {
|
} finally {
|
||||||
// Notify the listeners.
|
// Notify the listeners.
|
||||||
@@ -2330,7 +2361,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Could not apply properties", e);
|
LOG.error("Could not apply properties", e);
|
||||||
view.showMessage("Could not apply changes. Check the log for details.", "Error", IView.ERROR_MESSAGE);
|
view.showMessage(APPLY_ERROR, ERROR, IView.ERROR_MESSAGE);
|
||||||
} finally {
|
} finally {
|
||||||
// Notify the listeners.
|
// Notify the listeners.
|
||||||
if (!oldProject.equals(currentProject)) {
|
if (!oldProject.equals(currentProject)) {
|
||||||
@@ -2353,7 +2384,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
updateSelection(newSelection);
|
updateSelection(newSelection);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Could not apply editor", e);
|
LOG.error("Could not apply editor", e);
|
||||||
view.showMessage("Could not apply " + editor.getEditAction() + ". Check the log for details.", "Error", IView.ERROR_MESSAGE);
|
view.showMessage("Could not apply " + editor.getEditAction() + ". Check the log for details.", ERROR, IView.ERROR_MESSAGE);
|
||||||
} finally {
|
} finally {
|
||||||
// Notify the listeners.
|
// Notify the listeners.
|
||||||
if (!oldProject.equals(currentProject)) {
|
if (!oldProject.equals(currentProject)) {
|
||||||
@@ -2425,7 +2456,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
instantiationManager.getFirstControlPoint(), forceInstatiate);
|
instantiationManager.getFirstControlPoint(), forceInstatiate);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Could not set component type slot", e);
|
LOG.error("Could not set component type slot", e);
|
||||||
view.showMessage("Could not set component type slot. Check log for details.", "Error", IView.ERROR_MESSAGE);
|
view.showMessage(ERROR_SLOT, ERROR, IView.ERROR_MESSAGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2486,7 +2517,7 @@ public class Presenter implements IPlugInPort {
|
|||||||
|
|
||||||
if (exists) {
|
if (exists) {
|
||||||
int result =
|
int result =
|
||||||
view.showConfirmDialog("A variant with that name already exists. Overwrite?", "Save as Variant",
|
view.showConfirmDialog(VARIANT_EXISTS, SAVE_AS_VARIANT,
|
||||||
IView.YES_NO_OPTION, IView.WARNING_MESSAGE);
|
IView.YES_NO_OPTION, IView.WARNING_MESSAGE);
|
||||||
if (result != IView.YES_OPTION) {
|
if (result != IView.YES_OPTION) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
Binary file not shown.
@@ -162,7 +162,7 @@ public class Line extends AbstractLeadedComponent<Void> {
|
|||||||
this.thickness = thickness;
|
this.thickness = thickness;
|
||||||
}
|
}
|
||||||
|
|
||||||
@EditableProperty
|
@EditableProperty(name = "Arrow Size")
|
||||||
public Size getArrowSize() {
|
public Size getArrowSize() {
|
||||||
if (arrowSize == null)
|
if (arrowSize == null)
|
||||||
arrowSize = thickness = new Size(1d, SizeUnit.px);
|
arrowSize = thickness = new Size(1d, SizeUnit.px);
|
||||||
|
|||||||
@@ -213,7 +213,7 @@ public class TapeMeasure extends AbstractLeadedComponent<String> {
|
|||||||
this.thickness = thickness;
|
this.thickness = thickness;
|
||||||
}
|
}
|
||||||
|
|
||||||
@EditableProperty
|
@EditableProperty(name = "Arrow Size")
|
||||||
public Size getArrowSize() {
|
public Size getArrowSize() {
|
||||||
if (arrowSize == null)
|
if (arrowSize == null)
|
||||||
arrowSize = thickness = new Size(1d, SizeUnit.px);
|
arrowSize = thickness = new Size(1d, SizeUnit.px);
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
|
encoding//lang/Spanish.txt=UTF-8
|
||||||
encoding//src/org/diylc/swing/gui/CollapsiblePanel.java=UTF-8
|
encoding//src/org/diylc/swing/gui/CollapsiblePanel.java=UTF-8
|
||||||
|
|||||||
@@ -12,5 +12,5 @@
|
|||||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.diylc.DIYLCStarter"/>
|
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.diylc.DIYLCStarter"/>
|
||||||
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="diylc-swing"/>
|
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="diylc-swing"/>
|
||||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="diylc-swing"/>
|
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="diylc-swing"/>
|
||||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms512m -Xmx2048m -Dorg.diylc.enableTests=true -Dorg.diylc.scriptRun=true -Ddorg.diylc.debugContinuityAreas=true -Ddorg.diylc.debugComponentAreas=true -Ddorg.diylc.WriteStaticVariants=true -Dorg.diylc.WriteStaticBlocks=true"/>
|
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms512m -Xmx2048m -Dorg.diylc.storeDict=true -Dorg.diylc.enableTests=true -Dorg.diylc.scriptRun=true -Ddorg.diylc.debugContinuityAreas=true -Ddorg.diylc.debugComponentAreas=true -Ddorg.diylc.WriteStaticVariants=true -Dorg.diylc.WriteStaticBlocks=true"/>
|
||||||
</launchConfiguration>
|
</launchConfiguration>
|
||||||
|
|||||||
@@ -0,0 +1,74 @@
|
|||||||
|
#10 (2.59mm / 0.10190in)
|
||||||
|
#12 (2.05mm / 0.08081in)
|
||||||
|
#14 (1.63mm / 0.06409in)
|
||||||
|
#16 (1.29mm / 0.05082in)
|
||||||
|
#18 (1.02mm / 0.04030in)
|
||||||
|
#20 (0.81mm / 0.03196in)
|
||||||
|
#22 (0.64mm / 0.02535in)
|
||||||
|
#24 (0.51mm / 0.02010in)
|
||||||
|
#26 (0.40mm / 0.01594in)
|
||||||
|
#28 (0.32mm / 0.01264in)
|
||||||
|
#30 (0.25mm / 0.01003in)
|
||||||
|
#32 (0.20mm / 0.00795in)
|
||||||
|
#34 (0.16mm / 0.00631in)
|
||||||
|
#36 (0.13mm / 0.00500in)
|
||||||
|
#8 (3.26mm / 0.12849in)
|
||||||
|
3PDT
|
||||||
|
3PDT (Center OFF)
|
||||||
|
4 band
|
||||||
|
4P5T (Super/Mega)
|
||||||
|
4PDT
|
||||||
|
4PDT (Center OFF)
|
||||||
|
5 band
|
||||||
|
5PDT
|
||||||
|
5PDT (Center OFF)
|
||||||
|
API de complemento
|
||||||
|
API de componentes
|
||||||
|
AWG
|
||||||
|
Acceder a archivos de usuario
|
||||||
|
Acerca de
|
||||||
|
Actualizaciones recientes
|
||||||
|
C-B-E BJT
|
||||||
|
D-G-S JFET
|
||||||
|
D-G-S MOSFET
|
||||||
|
D-S-G JFET
|
||||||
|
D-S-G MOSFET
|
||||||
|
DFM A
|
||||||
|
DFM B
|
||||||
|
DIP
|
||||||
|
DP3T
|
||||||
|
DP5T
|
||||||
|
DPDT
|
||||||
|
DPDT (Center OFF)
|
||||||
|
E-B-C BJT
|
||||||
|
Enviar un error
|
||||||
|
G-D-S JFET
|
||||||
|
G-D-S MOSFET
|
||||||
|
G-S-D JFET
|
||||||
|
G-S-D MOSFET
|
||||||
|
Haz una donación
|
||||||
|
Help
|
||||||
|
Manual de usuario
|
||||||
|
NPN
|
||||||
|
Nor
|
||||||
|
Not
|
||||||
|
Or
|
||||||
|
PAF
|
||||||
|
PCB
|
||||||
|
PNP
|
||||||
|
Preguntas más frecuentes
|
||||||
|
Project Cloud
|
||||||
|
S-G-D JFET
|
||||||
|
S-G-D MOSFET
|
||||||
|
SPDT
|
||||||
|
SPDT (Center OFF)
|
||||||
|
SPST
|
||||||
|
Test
|
||||||
|
Xnor
|
||||||
|
Xor
|
||||||
|
cm
|
||||||
|
ft
|
||||||
|
in
|
||||||
|
mm
|
||||||
|
px
|
||||||
|
yd
|
||||||
@@ -0,0 +1,403 @@
|
|||||||
|
180 degrees clockwise
|
||||||
|
270 degrees clockwise
|
||||||
|
90 degrees clockwise
|
||||||
|
A variant with that name already exists. Overwrite?
|
||||||
|
About
|
||||||
|
Above
|
||||||
|
Access User Files
|
||||||
|
Add Flexible Leads
|
||||||
|
Add Validation Step
|
||||||
|
All Connected
|
||||||
|
Alpha
|
||||||
|
Analyze
|
||||||
|
Analyze Guitar Diagrams
|
||||||
|
And
|
||||||
|
Angle
|
||||||
|
Anti-Aliasing
|
||||||
|
Arrow Size
|
||||||
|
Author
|
||||||
|
Auto-Create Pads
|
||||||
|
Auto-Edit Mode
|
||||||
|
Base
|
||||||
|
Below
|
||||||
|
Blueprint
|
||||||
|
Board
|
||||||
|
Board Color
|
||||||
|
Board Width
|
||||||
|
Bobin 1
|
||||||
|
Bobin 2
|
||||||
|
Body
|
||||||
|
Border
|
||||||
|
Border Thickness
|
||||||
|
Both
|
||||||
|
Both Sides
|
||||||
|
Bottom
|
||||||
|
Bottom Left
|
||||||
|
Bottom Right
|
||||||
|
Bring Forward
|
||||||
|
Bring Selection to Front
|
||||||
|
Buffer
|
||||||
|
Center
|
||||||
|
Center Negative
|
||||||
|
Center Positive
|
||||||
|
Center Terminal
|
||||||
|
Central
|
||||||
|
Change Password
|
||||||
|
Channel
|
||||||
|
Chassis
|
||||||
|
Circular
|
||||||
|
Coil
|
||||||
|
Coil Border
|
||||||
|
Coil Length
|
||||||
|
Coil Width
|
||||||
|
Color
|
||||||
|
Color 1
|
||||||
|
Color 2
|
||||||
|
Color code
|
||||||
|
Columns
|
||||||
|
Component
|
||||||
|
Component API
|
||||||
|
Components
|
||||||
|
Config
|
||||||
|
Connector
|
||||||
|
Connector (Mirrored)
|
||||||
|
Contacts
|
||||||
|
Continuous Creation
|
||||||
|
Coordinate Color
|
||||||
|
Coordinate Origin
|
||||||
|
Coordinates
|
||||||
|
Copy
|
||||||
|
Core
|
||||||
|
Core Border
|
||||||
|
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 save the project to file. Check the log for details.
|
||||||
|
Could not set component type slot. Check log for details.
|
||||||
|
Cover
|
||||||
|
Create B.O.M.
|
||||||
|
Create New Account
|
||||||
|
Current
|
||||||
|
Cut
|
||||||
|
Cut Between Holes
|
||||||
|
Cut Orientation
|
||||||
|
DIP (Mirrored)
|
||||||
|
DP3T (Standard 3-Position Strat)
|
||||||
|
DP3T (Standard 5-Position Strat)
|
||||||
|
DP4T (4-Position Tele)
|
||||||
|
Dark
|
||||||
|
Dashed
|
||||||
|
Decimals
|
||||||
|
Default
|
||||||
|
Default Font
|
||||||
|
Default Font Size
|
||||||
|
Delete Selection
|
||||||
|
Description
|
||||||
|
Diameter
|
||||||
|
Directional
|
||||||
|
Directly heated
|
||||||
|
Display
|
||||||
|
Display Pin #s
|
||||||
|
Dog Ear
|
||||||
|
Dot Spacing
|
||||||
|
Dotted
|
||||||
|
Dual Rail Humbucker
|
||||||
|
Dual Rods
|
||||||
|
Duodecar B12C
|
||||||
|
Duplicate
|
||||||
|
Edges
|
||||||
|
Edit
|
||||||
|
Edit Project Settings
|
||||||
|
Edit Selection
|
||||||
|
Electrode Labels
|
||||||
|
Enable Cache Boost
|
||||||
|
End Arrow
|
||||||
|
Enjoying DIYLC? Click here to buy me a coffe :)
|
||||||
|
Error
|
||||||
|
Error occured while editing selection. Check the log for details.
|
||||||
|
Exit
|
||||||
|
Expand Selection
|
||||||
|
Explicit Dimensions
|
||||||
|
Explicit Length
|
||||||
|
Explicit Width
|
||||||
|
Export Building Blocks
|
||||||
|
Export Grid
|
||||||
|
Export Variants
|
||||||
|
Export to PDF
|
||||||
|
Export to PNG
|
||||||
|
Extra Working Area
|
||||||
|
Eyelet color
|
||||||
|
FAQ
|
||||||
|
File
|
||||||
|
Fill
|
||||||
|
Filtertron
|
||||||
|
Find
|
||||||
|
Five
|
||||||
|
Flip
|
||||||
|
Folded
|
||||||
|
Font
|
||||||
|
Font Bold
|
||||||
|
Font Italic
|
||||||
|
Font Size
|
||||||
|
Four
|
||||||
|
Full
|
||||||
|
Fuse
|
||||||
|
Generate DIYLC Netlist
|
||||||
|
Generate Spice Netlist
|
||||||
|
Grid
|
||||||
|
Grid Spacing
|
||||||
|
Group Selection
|
||||||
|
Half
|
||||||
|
Hardware Acceleration
|
||||||
|
Heaters
|
||||||
|
Height
|
||||||
|
Help
|
||||||
|
Hi-Quality Rendering
|
||||||
|
Highlight Connected Areas
|
||||||
|
Hole
|
||||||
|
Hole Size
|
||||||
|
Hole Spacing
|
||||||
|
Hole size
|
||||||
|
Holes per strip
|
||||||
|
Horizontal
|
||||||
|
Horizontal Alignment
|
||||||
|
Horizontal Large
|
||||||
|
Horizontal Medium
|
||||||
|
Horizontal Small 1
|
||||||
|
Horizontal Small 2
|
||||||
|
Horizontal X-Small
|
||||||
|
Humbucking
|
||||||
|
Image
|
||||||
|
Immediate Only
|
||||||
|
Import
|
||||||
|
Import Building Blocks
|
||||||
|
Import Variants
|
||||||
|
In-Line D-44
|
||||||
|
In-line
|
||||||
|
Indent
|
||||||
|
Inline
|
||||||
|
Inside color
|
||||||
|
Integration
|
||||||
|
Invert polarity
|
||||||
|
Label
|
||||||
|
Label Color
|
||||||
|
Label Orientation
|
||||||
|
Label Position
|
||||||
|
Labels
|
||||||
|
Layer
|
||||||
|
Layers
|
||||||
|
Lead Color
|
||||||
|
Lead Count
|
||||||
|
Lead Length
|
||||||
|
Lead Spacing
|
||||||
|
Left
|
||||||
|
Left-to-Right
|
||||||
|
Legs
|
||||||
|
Length
|
||||||
|
Letters
|
||||||
|
Light
|
||||||
|
Lin
|
||||||
|
Lip
|
||||||
|
Lock
|
||||||
|
Log
|
||||||
|
Log In
|
||||||
|
Log Out
|
||||||
|
Lug Size
|
||||||
|
Lugs
|
||||||
|
Make a Donation
|
||||||
|
Manage Account
|
||||||
|
Manage My Uploads
|
||||||
|
Mark Common Lugs
|
||||||
|
Marker
|
||||||
|
Mini
|
||||||
|
Miniature
|
||||||
|
Mirror Horizontally
|
||||||
|
Mirror Selection
|
||||||
|
Mirror Vertically
|
||||||
|
Mirroring operation will change the circuit. Do you want to continue?
|
||||||
|
Model
|
||||||
|
Mono
|
||||||
|
Mount
|
||||||
|
Mounting Lugs
|
||||||
|
Mouse Wheel Zoom
|
||||||
|
Moveable Label
|
||||||
|
Name
|
||||||
|
Nand
|
||||||
|
Negative
|
||||||
|
New
|
||||||
|
No
|
||||||
|
None
|
||||||
|
North
|
||||||
|
Noval B9A
|
||||||
|
Nudge
|
||||||
|
Numbers
|
||||||
|
Nut
|
||||||
|
Octal
|
||||||
|
Offset
|
||||||
|
One Side
|
||||||
|
Open
|
||||||
|
Opposing Points
|
||||||
|
Orientation
|
||||||
|
Outer Foil
|
||||||
|
Outer Foil Mark
|
||||||
|
Outline Mode
|
||||||
|
Outside
|
||||||
|
Oval horizontal
|
||||||
|
Oval vertical
|
||||||
|
Pad Color
|
||||||
|
Paste
|
||||||
|
Pin Arrangement
|
||||||
|
Pin Color
|
||||||
|
Pin Spacing
|
||||||
|
Pin spacing
|
||||||
|
Pinout
|
||||||
|
Pins
|
||||||
|
Play Test
|
||||||
|
Plugin API
|
||||||
|
Point Count
|
||||||
|
Polarity
|
||||||
|
Polarized
|
||||||
|
Pole Color
|
||||||
|
Pole Pieces
|
||||||
|
Pole Pieces 1
|
||||||
|
Pole Pieces 2
|
||||||
|
Positions
|
||||||
|
Positive
|
||||||
|
Power Rating
|
||||||
|
Power Strip
|
||||||
|
Primary CT
|
||||||
|
Print...
|
||||||
|
Radius
|
||||||
|
Rail
|
||||||
|
Recent Files
|
||||||
|
Recent Updates
|
||||||
|
Redo
|
||||||
|
Renumber On Paste
|
||||||
|
Renumber Selection
|
||||||
|
Resistance
|
||||||
|
Rev log
|
||||||
|
Reverse (standing)
|
||||||
|
Right
|
||||||
|
Rods
|
||||||
|
Rotate Clockwise
|
||||||
|
Rotate Counterclockwise
|
||||||
|
Rotate Selection
|
||||||
|
Round
|
||||||
|
Round WOG A
|
||||||
|
Round WOG B
|
||||||
|
Row Spacing
|
||||||
|
Rows
|
||||||
|
Ruler Inch Subdivision...
|
||||||
|
Same Type Only
|
||||||
|
Save
|
||||||
|
Save As
|
||||||
|
Save as Variant
|
||||||
|
Scale
|
||||||
|
Screws
|
||||||
|
Search The Cloud
|
||||||
|
Searchable Tree
|
||||||
|
Secondary CT
|
||||||
|
Select All
|
||||||
|
Selected component(s) have reached the bottom of their layer. Do you want to force the selection to the back?
|
||||||
|
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?
|
||||||
|
Send Backward
|
||||||
|
Send Selection to Back
|
||||||
|
Seven
|
||||||
|
Shaft Down
|
||||||
|
Shaft Up
|
||||||
|
Shape
|
||||||
|
Show Grid
|
||||||
|
Show Rulers
|
||||||
|
Shroud
|
||||||
|
Shrouded
|
||||||
|
Single Rail
|
||||||
|
Single Rods
|
||||||
|
Size
|
||||||
|
Sizing Mode
|
||||||
|
Small-button B7G
|
||||||
|
Smooth
|
||||||
|
Snap To...
|
||||||
|
Soap Bar
|
||||||
|
Solid
|
||||||
|
South
|
||||||
|
Spacing
|
||||||
|
Square
|
||||||
|
Square BR-3
|
||||||
|
Standard
|
||||||
|
Start Arrow
|
||||||
|
Start Recording
|
||||||
|
Stereo
|
||||||
|
Sticky Points
|
||||||
|
Stop Recording
|
||||||
|
Stratocaster
|
||||||
|
Strip Color
|
||||||
|
Stripe
|
||||||
|
Stripe 1
|
||||||
|
Stripe 2
|
||||||
|
Stripe Color
|
||||||
|
Stripe Color 1
|
||||||
|
Stripe Color 2
|
||||||
|
Style
|
||||||
|
Submit a Bug
|
||||||
|
Suppressor grid
|
||||||
|
Switched
|
||||||
|
Switches
|
||||||
|
Tab
|
||||||
|
Tab Border
|
||||||
|
Tabbed Toolbar
|
||||||
|
Taper
|
||||||
|
Telecaster
|
||||||
|
Terminal Spacing
|
||||||
|
Terminals
|
||||||
|
Test
|
||||||
|
Text
|
||||||
|
Text Color
|
||||||
|
Theme
|
||||||
|
There are unsaved changes. Would you like to save them?
|
||||||
|
Thickness
|
||||||
|
Three
|
||||||
|
Through Hole
|
||||||
|
Tick
|
||||||
|
Title
|
||||||
|
Toolbox
|
||||||
|
Top
|
||||||
|
Top Lead
|
||||||
|
Top Left
|
||||||
|
Top Right
|
||||||
|
Top-to-Bottom
|
||||||
|
Trace
|
||||||
|
Trace Color
|
||||||
|
Trace Mask
|
||||||
|
Transform Selection
|
||||||
|
Triangle
|
||||||
|
Tubular
|
||||||
|
Two
|
||||||
|
Type
|
||||||
|
Ultra-miniature
|
||||||
|
Underside Pad Color
|
||||||
|
Underside Trace Color
|
||||||
|
Undo
|
||||||
|
Ungroup Selection
|
||||||
|
Unit
|
||||||
|
Upload A Project
|
||||||
|
User Manual
|
||||||
|
Value
|
||||||
|
Vertical
|
||||||
|
Vertical Alignment
|
||||||
|
Vertical Inline
|
||||||
|
Vertical Offset 1
|
||||||
|
Vertical Offset 2
|
||||||
|
View
|
||||||
|
Visible
|
||||||
|
Voltage
|
||||||
|
Wafer
|
||||||
|
Warning
|
||||||
|
Width
|
||||||
|
Winding Spacing
|
||||||
|
X-axis
|
||||||
|
Y-axis
|
||||||
|
base of 10
|
||||||
|
base of 2
|
||||||
@@ -0,0 +1,403 @@
|
|||||||
|
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
|
||||||
|
Access User Files|Accéder aux fichiers utilisateur
|
||||||
|
Add Flexible Leads|Ajouter des prospects flexibles
|
||||||
|
Add Validation Step|Ajouter une étape de validation
|
||||||
|
All Connected|Tous connectés
|
||||||
|
Alpha|Alpha
|
||||||
|
Analyze|Analyser
|
||||||
|
Analyze Guitar Diagrams|Analyser les diagrammes de guitare
|
||||||
|
And|Et
|
||||||
|
Angle|Angle
|
||||||
|
Anti-Aliasing|Anti crénelage
|
||||||
|
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
|
||||||
|
Board Color|Couleur du plateau
|
||||||
|
Board Width|Largeur du panneau
|
||||||
|
Bobin 1|Bobin 1
|
||||||
|
Bobin 2|Bobin 2
|
||||||
|
Body|Corps
|
||||||
|
Border|Frontière
|
||||||
|
Border Thickness|Épaisseur de bordure
|
||||||
|
Both|Tous les deux
|
||||||
|
Both Sides|Des deux côtés
|
||||||
|
Bottom|Bas
|
||||||
|
Bottom Left|En bas à gauche
|
||||||
|
Bottom Right|En bas à droite
|
||||||
|
Bring Forward|Avancer
|
||||||
|
Bring Selection to Front|Mettre la sélection au premier plan
|
||||||
|
Buffer|Tampon
|
||||||
|
Center|Centre
|
||||||
|
Center Negative|Centre négatif
|
||||||
|
Center Positive|Centre positif
|
||||||
|
Center Terminal|Terminal central
|
||||||
|
Central|Central
|
||||||
|
Change Password|Changer le mot de passe
|
||||||
|
Channel|Canal
|
||||||
|
Chassis|Châssis
|
||||||
|
Circular|Circulaire
|
||||||
|
Coil|Bobine
|
||||||
|
Coil Border|Bordure de bobine
|
||||||
|
Coil Length|Longueur de bobine
|
||||||
|
Coil Width|Largeur de bobine
|
||||||
|
Color|Couleur
|
||||||
|
Color 1|Couleur 1
|
||||||
|
Color 2|Couleur 2
|
||||||
|
Color code|Code couleur
|
||||||
|
Columns|Colonnes
|
||||||
|
Component|Composant
|
||||||
|
Component API|API de composant
|
||||||
|
Components|Composants
|
||||||
|
Config|Config
|
||||||
|
Connector|Connecteur
|
||||||
|
Connector (Mirrored)|Connecteur (en miroir)
|
||||||
|
Contacts|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
|
||||||
|
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 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
|
||||||
|
Create B.O.M.|Créez B.O.M.
|
||||||
|
Create New Account|Créer un nouveau compte
|
||||||
|
Current|Courant
|
||||||
|
Cut|Couper
|
||||||
|
Cut Between Holes|Couper entre les trous
|
||||||
|
Cut Orientation|Orientation de coupe
|
||||||
|
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é
|
||||||
|
Dashed|Dashed
|
||||||
|
Decimals|Décimales
|
||||||
|
Default|Défaut
|
||||||
|
Default Font|Police par défaut
|
||||||
|
Default Font Size|Taille de police par défaut
|
||||||
|
Delete Selection|Supprimer la sélection
|
||||||
|
Description|La description
|
||||||
|
Diameter|Diamètre
|
||||||
|
Directional|Directionnel
|
||||||
|
Directly heated|Directement chauffé
|
||||||
|
Display|Afficher
|
||||||
|
Display Pin #s|Afficher les broches #
|
||||||
|
Dog Ear|Oreille de chien
|
||||||
|
Dot Spacing|Espacement des points
|
||||||
|
Dotted|À pois
|
||||||
|
Dual Rail Humbucker|Humbucker à double rail
|
||||||
|
Dual Rods|Dual Rods
|
||||||
|
Duodecar B12C|Duodecar B12C
|
||||||
|
Duplicate|Dupliquer
|
||||||
|
Edges|Bords
|
||||||
|
Edit|Éditer
|
||||||
|
Edit Project Settings|Modifier les paramètres du projet
|
||||||
|
Edit Selection|Modifier la sélection
|
||||||
|
Electrode Labels|Étiquettes d'électrode
|
||||||
|
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
|
||||||
|
Expand Selection|Développer la sélection
|
||||||
|
Explicit Dimensions|Dimensions explicites
|
||||||
|
Explicit Length|Longueur explicite
|
||||||
|
Explicit Width|Largeur explicite
|
||||||
|
Export Building Blocks|Exporter des blocs de construction
|
||||||
|
Export Grid|Grille d'exportation
|
||||||
|
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
|
||||||
|
FAQ|FAQ
|
||||||
|
File|Fichier
|
||||||
|
Fill|Remplir
|
||||||
|
Filtertron|Filtertron
|
||||||
|
Find|Trouver
|
||||||
|
Five|Cinq
|
||||||
|
Flip|Retourner
|
||||||
|
Folded|Plié
|
||||||
|
Font|Police de caractère
|
||||||
|
Font Bold|Caractères gras
|
||||||
|
Font Italic|Italic
|
||||||
|
Font Size|Taille de police
|
||||||
|
Four|Quatre
|
||||||
|
Full|Plein
|
||||||
|
Fuse|Fusible
|
||||||
|
Generate DIYLC Netlist|Générer une netlist DIYLC
|
||||||
|
Generate Spice Netlist|Générer la netlist Spice
|
||||||
|
Grid|la grille
|
||||||
|
Grid Spacing|Espacement de la grille
|
||||||
|
Group Selection|Sélection de groupe
|
||||||
|
Half|Moitié
|
||||||
|
Hardware Acceleration|Accélération matérielle
|
||||||
|
Heaters|Radiateurs
|
||||||
|
Height|la taille
|
||||||
|
Help|Aider
|
||||||
|
Hi-Quality Rendering|Rendu de haute qualité
|
||||||
|
Highlight Connected Areas|Mettez en surbrillance les zones connectées
|
||||||
|
Hole|Trou
|
||||||
|
Hole Size|Taille du trou
|
||||||
|
Hole Spacing|Espacement des trous
|
||||||
|
Hole size|Taille du trou
|
||||||
|
Holes per strip|Trous par bande
|
||||||
|
Horizontal|Horizontal
|
||||||
|
Horizontal Alignment|Alignement horizontal
|
||||||
|
Horizontal Large|Horizontal Large
|
||||||
|
Horizontal Medium|Moyen horizontal
|
||||||
|
Horizontal Small 1|Horizontal petit 1
|
||||||
|
Horizontal Small 2|Horizontal petit 2
|
||||||
|
Horizontal X-Small|X-Small horizontal
|
||||||
|
Humbucking|Humbucking
|
||||||
|
Image|Image
|
||||||
|
Immediate Only|Immédiatement seulement
|
||||||
|
Import|Importation
|
||||||
|
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
|
||||||
|
Inside color|Couleur intérieure
|
||||||
|
Integration|L'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
|
||||||
|
Layer|Couche
|
||||||
|
Layers|Couches
|
||||||
|
Lead Color|Couleur de plomb
|
||||||
|
Lead Count|Nombre de prospects
|
||||||
|
Lead Length|Longueur de fil
|
||||||
|
Lead Spacing|Espacement des fils
|
||||||
|
Left|La gauche
|
||||||
|
Left-to-Right|De gauche à droite
|
||||||
|
Legs|Jambes
|
||||||
|
Length|Longueur
|
||||||
|
Letters|Des lettres
|
||||||
|
Light|Lumière
|
||||||
|
Lin|Lin
|
||||||
|
Lip|Lèvre
|
||||||
|
Lock|Fermer à clé
|
||||||
|
Log|Journal
|
||||||
|
Log In|S'identifier
|
||||||
|
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 My Uploads|Gérer mes téléchargements
|
||||||
|
Mark Common Lugs|Marquer les cosses communes
|
||||||
|
Marker|Marqueur
|
||||||
|
Mini|Mini
|
||||||
|
Miniature|Miniature
|
||||||
|
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?
|
||||||
|
Model|Modèle
|
||||||
|
Mono|Mono
|
||||||
|
Mount|Monter
|
||||||
|
Mounting Lugs|Pattes de montage
|
||||||
|
Mouse Wheel Zoom|Zoom de la molette de la souris
|
||||||
|
Moveable Label|Étiquette mobile
|
||||||
|
Name|Nom
|
||||||
|
Nand|Nand
|
||||||
|
Negative|Négatif
|
||||||
|
New|Nouveau
|
||||||
|
No|Non
|
||||||
|
None|Aucun
|
||||||
|
North|Nord
|
||||||
|
Noval B9A|Noval B9A
|
||||||
|
Nudge|Coup de coude
|
||||||
|
Numbers|Nombres
|
||||||
|
Nut|Écrou
|
||||||
|
Octal|Octal
|
||||||
|
Offset|Décalage
|
||||||
|
One Side|Un côté
|
||||||
|
Open|Ouvert
|
||||||
|
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
|
||||||
|
Oval horizontal|Ovale horizontal
|
||||||
|
Oval vertical|Verticale ovale
|
||||||
|
Pad Color|Couleur du tampon
|
||||||
|
Paste|Pâte
|
||||||
|
Pin Arrangement|Disposition des broches
|
||||||
|
Pin Color|Couleur de broche
|
||||||
|
Pin Spacing|Espacement des broches
|
||||||
|
Pin spacing|Espacement des broches
|
||||||
|
Pinout|Brochage
|
||||||
|
Pins|Épingles
|
||||||
|
Play Test|Jouer le test
|
||||||
|
Plugin API|API de plugin
|
||||||
|
Point Count|Nombre de points
|
||||||
|
Polarity|Polarité
|
||||||
|
Polarized|Polarisé
|
||||||
|
Pole Color|Couleur de poteau
|
||||||
|
Pole Pieces|Pièces de poteau
|
||||||
|
Pole Pieces 1|Pièces de poteau 1
|
||||||
|
Pole Pieces 2|Pièces de poteau 2
|
||||||
|
Positions|Postes
|
||||||
|
Positive|Positif
|
||||||
|
Power Rating|Puissance nominale
|
||||||
|
Power Strip|Power Strip
|
||||||
|
Primary CT|TDM primaire
|
||||||
|
Print...|Impression...
|
||||||
|
Radius|Rayon
|
||||||
|
Rail|Rail
|
||||||
|
Recent Files|Fichiers récents
|
||||||
|
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
|
||||||
|
Rev log|Journal de rév.
|
||||||
|
Reverse (standing)|Marche arrière (debout)
|
||||||
|
Right|Droite
|
||||||
|
Rods|Cannes
|
||||||
|
Rotate Clockwise|Le sens des aiguilles d'une montre
|
||||||
|
Rotate Counterclockwise|Rotation dans le sens antihoraire
|
||||||
|
Rotate Selection|Faire pivoter la sélection
|
||||||
|
Round|Rond
|
||||||
|
Round WOG A|Round WOG A
|
||||||
|
Round WOG B|Round WOG B
|
||||||
|
Row Spacing|Écartement des rangs
|
||||||
|
Rows|Lignes
|
||||||
|
Ruler Inch Subdivision...|Subdivision en pouces de la règle ...
|
||||||
|
Same Type Only|Même type uniquement
|
||||||
|
Save|sauvegarder
|
||||||
|
Save As|Enregistrer sous
|
||||||
|
Save as Variant|Enregistrer en tant que variante
|
||||||
|
Scale|Échelle
|
||||||
|
Screws|Des vis
|
||||||
|
Search The Cloud|Rechercher dans le cloud
|
||||||
|
Searchable Tree|Arbre consultable
|
||||||
|
Secondary CT|CT secondaire
|
||||||
|
Select All|Tout sélectionner
|
||||||
|
Selected component(s) have reached the bottom of their layer. Do you want to force the selection to the back?|Les composants sélectionnés ont atteint le bas de leur couche. Voulez-vous forcer la sélection vers l'arrière?
|
||||||
|
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
|
||||||
|
Send Selection to Back|Envoyer la sélection à l'arrière
|
||||||
|
Seven|Sept
|
||||||
|
Shaft Down|Shaft Down
|
||||||
|
Shaft Up|Shaft Up
|
||||||
|
Shape|Forme
|
||||||
|
Show Grid|Afficher la grille
|
||||||
|
Show Rulers|Afficher les règles
|
||||||
|
Shroud|Envelopper
|
||||||
|
Shrouded|Enveloppé
|
||||||
|
Single Rail|Rail unique
|
||||||
|
Single Rods|Tiges simples
|
||||||
|
Size|Taille
|
||||||
|
Sizing Mode|Mode de dimensionnement
|
||||||
|
Small-button B7G|Petit bouton B7G
|
||||||
|
Smooth|Lisse
|
||||||
|
Snap To...|Accrocher à ...
|
||||||
|
Soap Bar|Barre de savon
|
||||||
|
Solid|Solide
|
||||||
|
South|Sud
|
||||||
|
Spacing|Espacement
|
||||||
|
Square|Carré
|
||||||
|
Square BR-3|Carré BR-3
|
||||||
|
Standard|la norme
|
||||||
|
Start Arrow|Flèche de départ
|
||||||
|
Start Recording|Commencer l'enregistrement
|
||||||
|
Stereo|Stéréo
|
||||||
|
Sticky Points|Points collants
|
||||||
|
Stop Recording|Arrête d'enregistrer
|
||||||
|
Stratocaster|Stratocaster
|
||||||
|
Strip Color|Couleur de bande
|
||||||
|
Stripe|Bande
|
||||||
|
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
|
||||||
|
Submit a Bug|Soumettre un bug
|
||||||
|
Suppressor grid|Grille de suppression
|
||||||
|
Switched|Switched
|
||||||
|
Switches|Commutateurs
|
||||||
|
Tab|Languette
|
||||||
|
Tab Border|Bordure de tabulation
|
||||||
|
Tabbed Toolbar|Barre d'outils à onglets
|
||||||
|
Taper|Taper
|
||||||
|
Telecaster|Telecaster
|
||||||
|
Terminal Spacing|Espacement des bornes
|
||||||
|
Terminals|Terminaux
|
||||||
|
Test|Tester
|
||||||
|
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
|
||||||
|
Toolbox|Boîte à outils
|
||||||
|
Top|Haut
|
||||||
|
Top Lead|Plaider
|
||||||
|
Top Left|En haut à gauche
|
||||||
|
Top Right|En haut à droite
|
||||||
|
Top-to-Bottom|De haut en bas
|
||||||
|
Trace|Trace
|
||||||
|
Trace Color|Couleur de trace
|
||||||
|
Trace Mask|Masque Trace
|
||||||
|
Transform Selection|Transformer la sélection
|
||||||
|
Triangle|Triangle
|
||||||
|
Tubular|Tubulaire
|
||||||
|
Two|Deux
|
||||||
|
Type|Type
|
||||||
|
Ultra-miniature|Ultra-miniature
|
||||||
|
Underside Pad Color|Couleur du tampon inférieur
|
||||||
|
Underside Trace Color|Couleur de trace en dessous
|
||||||
|
Undo|annuler
|
||||||
|
Ungroup Selection|Dissocier la sélection
|
||||||
|
Unit|Unité
|
||||||
|
Upload A Project|Télécharger un projet
|
||||||
|
User Manual|Manuel de l'Utilisateur
|
||||||
|
Value|Valeur
|
||||||
|
Vertical|Verticale
|
||||||
|
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
|
||||||
|
Visible|Visible
|
||||||
|
Voltage|Tension
|
||||||
|
Wafer|Tranche
|
||||||
|
Warning|avertissement
|
||||||
|
Width|Largeur
|
||||||
|
Winding Spacing|Espacement des enroulements
|
||||||
|
X-axis|Axe X
|
||||||
|
Y-axis|Axe Y
|
||||||
|
base of 10|base de 10
|
||||||
|
base of 2|base de 2
|
||||||
@@ -0,0 +1,403 @@
|
|||||||
|
180 degrees clockwise|180 grados en sentido horario
|
||||||
|
270 degrees clockwise|270 grados en sentido horario
|
||||||
|
90 degrees clockwise|90 grados en sentido horario
|
||||||
|
A variant with that name already exists. Overwrite?|Ya existe una variante con ese nombre. ¿Sobrescribir?
|
||||||
|
About|Acerca de
|
||||||
|
Above|Encima
|
||||||
|
Access User Files|Acceder a archivos de usuario
|
||||||
|
Add Flexible Leads|Agregar cables flexibles
|
||||||
|
Add Validation Step|Agregar paso de validación
|
||||||
|
All Connected|Todos conectados
|
||||||
|
Alpha|Alfa
|
||||||
|
Analyze|Analizar
|
||||||
|
Analyze Guitar Diagrams|Analizar diagramas de guitarra
|
||||||
|
And|Y
|
||||||
|
Angle|Ángulo
|
||||||
|
Anti-Aliasing|Anti-Aliasing
|
||||||
|
Arrow Size|Tamaño de la flecha
|
||||||
|
Author|Autor
|
||||||
|
Auto-Create Pads|Almohadillas de creación automática
|
||||||
|
Auto-Edit Mode|Modo de edición automática
|
||||||
|
Base|Base
|
||||||
|
Below|Abajo
|
||||||
|
Blueprint|Plano
|
||||||
|
Board|Tablero
|
||||||
|
Board Color|Color del tablero
|
||||||
|
Board Width|Ancho del tablero
|
||||||
|
Bobin 1|Bobin 1
|
||||||
|
Bobin 2|Bobin 2
|
||||||
|
Body|Cuerpo
|
||||||
|
Border|Frontera
|
||||||
|
Border Thickness|Espesor de la frontera
|
||||||
|
Both|Ambos
|
||||||
|
Both Sides|Ambos lados
|
||||||
|
Bottom|Fondo
|
||||||
|
Bottom Left|Abajo a la izquierda
|
||||||
|
Bottom Right|Abajo a la derecha
|
||||||
|
Bring Forward|Adelantar
|
||||||
|
Bring Selection to Front|Traer selección al frente
|
||||||
|
Buffer|Buffer
|
||||||
|
Center|Centrar
|
||||||
|
Center Negative|Centro negativo
|
||||||
|
Center Positive|Centro positivo
|
||||||
|
Center Terminal|Terminal central
|
||||||
|
Central|Central
|
||||||
|
Change Password|Cambia la contraseña
|
||||||
|
Channel|Canal
|
||||||
|
Chassis|Chasis
|
||||||
|
Circular|Circular
|
||||||
|
Coil|Bobina
|
||||||
|
Coil Border|Borde de la bobina
|
||||||
|
Coil Length|Longitud de la bobina
|
||||||
|
Coil Width|Ancho de la bobina
|
||||||
|
Color|Color
|
||||||
|
Color 1|Color 1
|
||||||
|
Color 2|Color 2
|
||||||
|
Color code|Codigo de color
|
||||||
|
Columns|Columnas
|
||||||
|
Component|Componente
|
||||||
|
Component API|API de componentes
|
||||||
|
Components|Componentes
|
||||||
|
Config|Config
|
||||||
|
Connector|Conector
|
||||||
|
Connector (Mirrored)|Conector (reflejado)
|
||||||
|
Contacts|Contactos
|
||||||
|
Continuous Creation|Creación continua
|
||||||
|
Coordinate Color|Color coordinado
|
||||||
|
Coordinate Origin|Origen coordinado
|
||||||
|
Coordinates|Coordenadas
|
||||||
|
Copy|Copiar
|
||||||
|
Core|Núcleo
|
||||||
|
Core Border|Borde central
|
||||||
|
Core Thickness|Espesor del núcleo
|
||||||
|
Core Width|Ancho del núcleo
|
||||||
|
Could not create a new file. Check the log for details.|No se pudo crear un nuevo archivo. Consulte el registro para más detalles.
|
||||||
|
Could not create component. Check log for details.|No se pudo crear el componente. Verifique el registro para más detalles.
|
||||||
|
Could not save the project to file. Check the log for details.|No se pudo guardar el proyecto en el archivo. Consulte el registro para más detalles.
|
||||||
|
Could not set component type slot. Check log for details.|No se pudo establecer la ranura de tipo de componente. Verifique el registro para más detalles.
|
||||||
|
Cover|Cubrir
|
||||||
|
Create B.O.M.|Crea B.O.M.
|
||||||
|
Create New Account|Crear una nueva cuenta
|
||||||
|
Current|Actual
|
||||||
|
Cut|Cortar
|
||||||
|
Cut Between Holes|Cortar entre agujeros
|
||||||
|
Cut Orientation|Orientación de corte
|
||||||
|
DIP (Mirrored)|DIP (reflejado)
|
||||||
|
DP3T (Standard 3-Position Strat)|DP3T (Strat estándar de 3 posiciones)
|
||||||
|
DP3T (Standard 5-Position Strat)|DP3T (Strat estándar de 5 posiciones)
|
||||||
|
DP4T (4-Position Tele)|DP4T (Tele de 4 posiciones)
|
||||||
|
Dark|Oscuro
|
||||||
|
Dashed|Rayado
|
||||||
|
Decimals|Decimales
|
||||||
|
Default|Defecto
|
||||||
|
Default Font|Fuente predeterminada
|
||||||
|
Default Font Size|Tamaño de fuente predeterminado
|
||||||
|
Delete Selection|Eliminar selección
|
||||||
|
Description|Descripción
|
||||||
|
Diameter|Diámetro
|
||||||
|
Directional|Direccional
|
||||||
|
Directly heated|Calentado directamente
|
||||||
|
Display|Monitor
|
||||||
|
Display Pin #s|Display Pin #s
|
||||||
|
Dog Ear|Oreja de perro
|
||||||
|
Dot Spacing|Espaciado de puntos
|
||||||
|
Dotted|Punteado
|
||||||
|
Dual Rail Humbucker|Humbucker de doble riel
|
||||||
|
Dual Rods|Varillas dobles
|
||||||
|
Duodecar B12C|Duodecar B12C
|
||||||
|
Duplicate|Duplicar
|
||||||
|
Edges|Bordes
|
||||||
|
Edit|Editar
|
||||||
|
Edit Project Settings|Editar configuración del proyecto
|
||||||
|
Edit Selection|Editar selección
|
||||||
|
Electrode Labels|Etiquetas de electrodos
|
||||||
|
Enable Cache Boost|Habilitar el refuerzo de caché
|
||||||
|
End Arrow|Flecha final
|
||||||
|
Enjoying DIYLC? Click here to buy me a coffe :)|¿Estás disfrutando de DIYLC? Haga clic aquí para comprarme un café :)
|
||||||
|
Error|Error
|
||||||
|
Error occured while editing selection. Check the log for details.|Se produjo un error al editar la selección. Consulte el registro para más detalles.
|
||||||
|
Exit|Salida
|
||||||
|
Expand Selection|Expandir selección
|
||||||
|
Explicit Dimensions|Dimensiones explícitas
|
||||||
|
Explicit Length|Longitud explícita
|
||||||
|
Explicit Width|Ancho explícito
|
||||||
|
Export Building Blocks|Exportar bloques de construcción
|
||||||
|
Export Grid|Exportar cuadrícula
|
||||||
|
Export Variants|Exportar variantes
|
||||||
|
Export to PDF|Exportar a PDF
|
||||||
|
Export to PNG|Exportar a PNG
|
||||||
|
Extra Working Area|Área de trabajo extra
|
||||||
|
Eyelet color|Color del ojal
|
||||||
|
FAQ|Preguntas más frecuentes
|
||||||
|
File|Archivo
|
||||||
|
Fill|Llenar
|
||||||
|
Filtertron|Filtertron
|
||||||
|
Find|Encontrar
|
||||||
|
Five|Cinco
|
||||||
|
Flip|Dar la vuelta
|
||||||
|
Folded|Doblada
|
||||||
|
Font|Fuente
|
||||||
|
Font Bold|Negrita
|
||||||
|
Font Italic|Font Italic
|
||||||
|
Font Size|Tamaño de fuente
|
||||||
|
Four|Cuatro
|
||||||
|
Full|Lleno
|
||||||
|
Fuse|Fusible
|
||||||
|
Generate DIYLC Netlist|Generar Netlist DIYLC
|
||||||
|
Generate Spice Netlist|Generar lista de especias
|
||||||
|
Grid|Cuadrícula
|
||||||
|
Grid Spacing|Espaciado de la cuadrícula
|
||||||
|
Group Selection|Selección de grupo
|
||||||
|
Half|Medio
|
||||||
|
Hardware Acceleration|Aceleracion de hardware
|
||||||
|
Heaters|Calentadores
|
||||||
|
Height|Altura
|
||||||
|
Help|Ayuda
|
||||||
|
Hi-Quality Rendering|Renderizado de alta calidad
|
||||||
|
Highlight Connected Areas|Destacar áreas conectadas
|
||||||
|
Hole|Agujero
|
||||||
|
Hole Size|Tamaño del agujero
|
||||||
|
Hole Spacing|Espaciamiento del agujero
|
||||||
|
Hole size|Tamaño del agujero
|
||||||
|
Holes per strip|Agujeros por tira
|
||||||
|
Horizontal|Horizontal
|
||||||
|
Horizontal Alignment|Alineación horizontal
|
||||||
|
Horizontal Large|Horizontal grande
|
||||||
|
Horizontal Medium|Medio horizontal
|
||||||
|
Horizontal Small 1|Horizontal Pequeño 1
|
||||||
|
Horizontal Small 2|Horizontal Pequeño 2
|
||||||
|
Horizontal X-Small|Horizontal X-Small
|
||||||
|
Humbucking|Humbucking
|
||||||
|
Image|Imagen
|
||||||
|
Immediate Only|Solo inmediato
|
||||||
|
Import|Importar
|
||||||
|
Import Building Blocks|Importar bloques de construcción
|
||||||
|
Import Variants|Importar variantes
|
||||||
|
In-Line D-44|En línea D-44
|
||||||
|
In-line|En línea
|
||||||
|
Indent|Sangrar
|
||||||
|
Inline|En línea
|
||||||
|
Inside color|Color interior
|
||||||
|
Integration|Integración
|
||||||
|
Invert polarity|Polaridad invertida
|
||||||
|
Label|Etiqueta
|
||||||
|
Label Color|Color de etiqueta
|
||||||
|
Label Orientation|Orientación de etiqueta
|
||||||
|
Label Position|Posición de etiqueta
|
||||||
|
Labels|Etiquetas
|
||||||
|
Layer|Capa
|
||||||
|
Layers|Capas
|
||||||
|
Lead Color|Color de plomo
|
||||||
|
Lead Count|Cuenta de plomo
|
||||||
|
Lead Length|Longitud del cable
|
||||||
|
Lead Spacing|Espaciado de plomo
|
||||||
|
Left|Izquierda
|
||||||
|
Left-to-Right|De izquierda a derecha
|
||||||
|
Legs|Piernas
|
||||||
|
Length|Longitud
|
||||||
|
Letters|Letras
|
||||||
|
Light|Ligero
|
||||||
|
Lin|Lin
|
||||||
|
Lip|Labio
|
||||||
|
Lock|Bloquear
|
||||||
|
Log|Iniciar sesión
|
||||||
|
Log In|Iniciar sesión
|
||||||
|
Log Out|Cerrar sesión
|
||||||
|
Lug Size|Tamaño de orejeta
|
||||||
|
Lugs|Agarradera
|
||||||
|
Make a Donation|Haz una donación
|
||||||
|
Manage Account|Administrar cuenta
|
||||||
|
Manage My Uploads|Administrar mis cargas
|
||||||
|
Mark Common Lugs|Marcar orejetas comunes
|
||||||
|
Marker|Marcador
|
||||||
|
Mini|Mini
|
||||||
|
Miniature|Miniatura
|
||||||
|
Mirror Horizontally|Espejo horizontalmente
|
||||||
|
Mirror Selection|Selección de espejo
|
||||||
|
Mirror Vertically|Espejo verticalmente
|
||||||
|
Mirroring operation will change the circuit. Do you want to continue?|La operación de duplicación cambiará el circuito. ¿Quieres continuar?
|
||||||
|
Model|Modelo
|
||||||
|
Mono|Mono
|
||||||
|
Mount|Montar
|
||||||
|
Mounting Lugs|Orejetas de montaje
|
||||||
|
Mouse Wheel Zoom|Mouse Wheel Zoom
|
||||||
|
Moveable Label|Etiqueta movible
|
||||||
|
Name|Nombre
|
||||||
|
Nand|Nand
|
||||||
|
Negative|Negativo
|
||||||
|
New|Nuevo
|
||||||
|
No|No
|
||||||
|
None|Ninguna
|
||||||
|
North|norte
|
||||||
|
Noval B9A|Noval B9A
|
||||||
|
Nudge|Empujar
|
||||||
|
Numbers|Números
|
||||||
|
Nut|Nuez
|
||||||
|
Octal|Octal
|
||||||
|
Offset|Compensar
|
||||||
|
One Side|Un lado
|
||||||
|
Open|Abierto
|
||||||
|
Opposing Points|Puntos de oposición
|
||||||
|
Orientation|Orientación
|
||||||
|
Outer Foil|Lámina exterior
|
||||||
|
Outer Foil Mark|Marca exterior de aluminio
|
||||||
|
Outline Mode|Modo de esquema
|
||||||
|
Outside|Fuera de
|
||||||
|
Oval horizontal|Oval horizontal
|
||||||
|
Oval vertical|Vertical oval
|
||||||
|
Pad Color|Color de la almohadilla
|
||||||
|
Paste|Pegar
|
||||||
|
Pin Arrangement|Arreglo de pin
|
||||||
|
Pin Color|Pin Color
|
||||||
|
Pin Spacing|Espaciado de clavijas
|
||||||
|
Pin spacing|Espaciado de pin
|
||||||
|
Pinout|Pinout
|
||||||
|
Pins|Patas
|
||||||
|
Play Test|Prueba de juego
|
||||||
|
Plugin API|API de complemento
|
||||||
|
Point Count|Recuento de puntos
|
||||||
|
Polarity|Polaridad
|
||||||
|
Polarized|Polarizado
|
||||||
|
Pole Color|Color de poste
|
||||||
|
Pole Pieces|Piezas de poste
|
||||||
|
Pole Pieces 1|Pole Pieces 1
|
||||||
|
Pole Pieces 2|Piezas de poste 2
|
||||||
|
Positions|Posiciones
|
||||||
|
Positive|Positivo
|
||||||
|
Power Rating|Potencia nominal
|
||||||
|
Power Strip|Tira de energía
|
||||||
|
Primary CT|TC primaria
|
||||||
|
Print...|Impresión...
|
||||||
|
Radius|Radio
|
||||||
|
Rail|Carril
|
||||||
|
Recent Files|Archivos recientes
|
||||||
|
Recent Updates|Actualizaciones recientes
|
||||||
|
Redo|Rehacer
|
||||||
|
Renumber On Paste|Renumerar en pasta
|
||||||
|
Renumber Selection|Renumerar selección
|
||||||
|
Resistance|Resistencia
|
||||||
|
Rev log|Rev log
|
||||||
|
Reverse (standing)|Reverso (de pie)
|
||||||
|
Right|Derecho
|
||||||
|
Rods|Varillas
|
||||||
|
Rotate Clockwise|Rotar las agujas del reloj
|
||||||
|
Rotate Counterclockwise|Girar en sentido antihorario
|
||||||
|
Rotate Selection|Girar selección
|
||||||
|
Round|Redondo
|
||||||
|
Round WOG A|Round WOG A
|
||||||
|
Round WOG B|Round WOG B
|
||||||
|
Row Spacing|Distancia entre filas
|
||||||
|
Rows|Filas
|
||||||
|
Ruler Inch Subdivision...|Subdivisión de pulgadas de regla ...
|
||||||
|
Same Type Only|Mismo tipo solo
|
||||||
|
Save|Salvar
|
||||||
|
Save As|Guardar como
|
||||||
|
Save as Variant|Guardar como variante
|
||||||
|
Scale|Escala
|
||||||
|
Screws|Empulgueras
|
||||||
|
Search The Cloud|Busca en la nube
|
||||||
|
Searchable Tree|Árbol de búsqueda
|
||||||
|
Secondary CT|CT secundaria
|
||||||
|
Select All|Seleccionar todo
|
||||||
|
Selected component(s) have reached the bottom of their layer. Do you want to force the selection to the back?|Los componentes seleccionados han alcanzado el fondo de su capa. ¿Desea forzar la selección hacia atrás?
|
||||||
|
Selected component(s) have reached the top of their layer. Do you want to force the selection to the top?|Los componentes seleccionados han alcanzado la parte superior de su capa. ¿Quieres forzar la selección a la cima?
|
||||||
|
Selection contains components that cannot be mirrored. Do you want to exclude them?|La selección contiene componentes que no se pueden reflejar. ¿Quieres excluirlos?
|
||||||
|
Selection contains components that cannot be rotated. Do you want to exclude them?|La selección contiene componentes que no se pueden girar. ¿Quieres excluirlos?
|
||||||
|
Send Backward|Enviar atrás
|
||||||
|
Send Selection to Back|Enviar selección al reverso
|
||||||
|
Seven|Siete
|
||||||
|
Shaft Down|Eje abajo
|
||||||
|
Shaft Up|Eje arriba
|
||||||
|
Shape|Forma
|
||||||
|
Show Grid|Mostrar cuadrícula
|
||||||
|
Show Rulers|Mostrar gobernantes
|
||||||
|
Shroud|Sudario
|
||||||
|
Shrouded|Envuelto
|
||||||
|
Single Rail|Single Rail
|
||||||
|
Single Rods|Varillas individuales
|
||||||
|
Size|Talla
|
||||||
|
Sizing Mode|Modo de dimensionamiento
|
||||||
|
Small-button B7G|Botón pequeño B7G
|
||||||
|
Smooth|Suave
|
||||||
|
Snap To...|Ajustar a...
|
||||||
|
Soap Bar|Pastilla de jabón
|
||||||
|
Solid|Sólido
|
||||||
|
South|Sur
|
||||||
|
Spacing|Espaciado
|
||||||
|
Square|Cuadrado
|
||||||
|
Square BR-3|Square BR-3
|
||||||
|
Standard|Estándar
|
||||||
|
Start Arrow|Flecha de inicio
|
||||||
|
Start Recording|Iniciar la grabación
|
||||||
|
Stereo|Estéreo
|
||||||
|
Sticky Points|Puntos pegajosos
|
||||||
|
Stop Recording|Para de grabar
|
||||||
|
Stratocaster|Stratocaster
|
||||||
|
Strip Color|Color de la tira
|
||||||
|
Stripe|Raya
|
||||||
|
Stripe 1|Raya 1
|
||||||
|
Stripe 2|Raya 2
|
||||||
|
Stripe Color|Color de la raya
|
||||||
|
Stripe Color 1|Color de raya 1
|
||||||
|
Stripe Color 2|Color de rayas 2
|
||||||
|
Style|Estilo
|
||||||
|
Submit a Bug|Enviar un error
|
||||||
|
Suppressor grid|Rejilla supresora
|
||||||
|
Switched|Conmutado
|
||||||
|
Switches|Interruptores
|
||||||
|
Tab|Lengüeta
|
||||||
|
Tab Border|Borde de tabulación
|
||||||
|
Tabbed Toolbar|Barra de herramientas con pestañas
|
||||||
|
Taper|Cirio
|
||||||
|
Telecaster|Telecaster
|
||||||
|
Terminal Spacing|Espaciado de terminal
|
||||||
|
Terminals|Terminales
|
||||||
|
Test|Prueba
|
||||||
|
Text|Texto
|
||||||
|
Text Color|Color de texto
|
||||||
|
Theme|Tema
|
||||||
|
There are unsaved changes. Would you like to save them?|Hay cambios sin guardar. ¿Te gustaría salvarlos?
|
||||||
|
Thickness|Grosor
|
||||||
|
Three|Tres
|
||||||
|
Through Hole|A través del orificio
|
||||||
|
Tick|garrapata
|
||||||
|
Title|Título
|
||||||
|
Toolbox|Caja de herramientas
|
||||||
|
Top|Parte superior
|
||||||
|
Top Lead|Top Lead
|
||||||
|
Top Left|Arriba a la izquierda
|
||||||
|
Top Right|Parte superior derecha
|
||||||
|
Top-to-Bottom|De arriba hacia abajo
|
||||||
|
Trace|Rastro
|
||||||
|
Trace Color|Traza de color
|
||||||
|
Trace Mask|Trace Mask
|
||||||
|
Transform Selection|Transformar selección
|
||||||
|
Triangle|Triángulo
|
||||||
|
Tubular|Tubular
|
||||||
|
Two|Dos
|
||||||
|
Type|Tipo
|
||||||
|
Ultra-miniature|Ultra miniatura
|
||||||
|
Underside Pad Color|Color de la almohadilla inferior
|
||||||
|
Underside Trace Color|Color de trazo inferior
|
||||||
|
Undo|Deshacer
|
||||||
|
Ungroup Selection|Desagrupar selección
|
||||||
|
Unit|Unidad
|
||||||
|
Upload A Project|Subir un proyecto
|
||||||
|
User Manual|Manual de usuario
|
||||||
|
Value|Valor
|
||||||
|
Vertical|Vertical
|
||||||
|
Vertical Alignment|Alineamiento vertical
|
||||||
|
Vertical Inline|En línea vertical
|
||||||
|
Vertical Offset 1|Desplazamiento vertical 1
|
||||||
|
Vertical Offset 2|Desplazamiento vertical 2
|
||||||
|
View|Ver
|
||||||
|
Visible|Visible
|
||||||
|
Voltage|voltaje
|
||||||
|
Wafer|Oblea
|
||||||
|
Warning|Advertencia
|
||||||
|
Width|Anchura
|
||||||
|
Winding Spacing|Espaciado sinuoso
|
||||||
|
X-axis|Eje X
|
||||||
|
Y-axis|Eje Y
|
||||||
|
base of 10|base de 10
|
||||||
|
base of 2|base de 2
|
||||||
Binary file not shown.
Binary file not shown.
@@ -34,6 +34,7 @@ import org.apache.log4j.PropertyConfigurator;
|
|||||||
import org.diylc.appframework.miscutils.ConfigurationManager;
|
import org.diylc.appframework.miscutils.ConfigurationManager;
|
||||||
import org.diylc.appframework.miscutils.PropertyInjector;
|
import org.diylc.appframework.miscutils.PropertyInjector;
|
||||||
import org.diylc.core.IView;
|
import org.diylc.core.IView;
|
||||||
|
import org.diylc.lang.TranslateUtil;
|
||||||
import org.diylc.presenter.Presenter;
|
import org.diylc.presenter.Presenter;
|
||||||
import org.diylc.swing.gui.MainFrame;
|
import org.diylc.swing.gui.MainFrame;
|
||||||
import org.diylc.swing.gui.TemplateDialog;
|
import org.diylc.swing.gui.TemplateDialog;
|
||||||
@@ -67,7 +68,7 @@ public class DIYLCStarter {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println("Splash screen could not be initialized: " + e.getMessage());
|
System.out.println("Splash screen could not be initialized: " + e.getMessage());
|
||||||
splashException = e;
|
splashException = e;
|
||||||
}
|
}
|
||||||
|
|
||||||
URL url = DIYLCStarter.class.getResource("log4j.properties");
|
URL url = DIYLCStarter.class.getResource("log4j.properties");
|
||||||
Properties properties = new Properties();
|
Properties properties = new Properties();
|
||||||
@@ -79,6 +80,8 @@ public class DIYLCStarter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ConfigurationManager.initialize("diylc");
|
ConfigurationManager.initialize("diylc");
|
||||||
|
|
||||||
|
TranslateUtil.configure();
|
||||||
|
|
||||||
LOG.debug("Java version: " + System.getProperty("java.runtime.version") + " by "
|
LOG.debug("Java version: " + System.getProperty("java.runtime.version") + " by "
|
||||||
+ System.getProperty("java.vm.vendor"));
|
+ System.getProperty("java.vm.vendor"));
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ import org.diylc.common.ITask;
|
|||||||
import org.diylc.common.PropertyWrapper;
|
import org.diylc.common.PropertyWrapper;
|
||||||
import org.diylc.core.IView;
|
import org.diylc.core.IView;
|
||||||
import org.diylc.images.IconLoader;
|
import org.diylc.images.IconLoader;
|
||||||
|
import org.diylc.lang.TranslateUtil;
|
||||||
import org.diylc.presenter.Presenter;
|
import org.diylc.presenter.Presenter;
|
||||||
import org.diylc.swing.IDynamicSubmenuHandler;
|
import org.diylc.swing.IDynamicSubmenuHandler;
|
||||||
import org.diylc.swing.ISwingUI;
|
import org.diylc.swing.ISwingUI;
|
||||||
@@ -279,7 +280,7 @@ public class MainFrame extends JFrame implements ISwingUI {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void showMessage(String message, String title, int messageType) {
|
public void showMessage(String message, String title, int messageType) {
|
||||||
JOptionPane.showMessageDialog(this, message, title, messageType);
|
JOptionPane.showMessageDialog(this, message, TranslateUtil.translate(title), messageType);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -295,7 +296,7 @@ public class MainFrame extends JFrame implements ISwingUI {
|
|||||||
@Override
|
@Override
|
||||||
public boolean editProperties(List<PropertyWrapper> properties, Set<PropertyWrapper> defaultedProperties) {
|
public boolean editProperties(List<PropertyWrapper> properties, Set<PropertyWrapper> defaultedProperties) {
|
||||||
PropertyEditorDialog editor =
|
PropertyEditorDialog editor =
|
||||||
DialogFactory.getInstance().createPropertyEditorDialog(properties, "Edit Selection", true);
|
DialogFactory.getInstance().createPropertyEditorDialog(properties, TranslateUtil.translate("Edit Selection"), true);
|
||||||
editor.setVisible(true);
|
editor.setVisible(true);
|
||||||
defaultedProperties.addAll(editor.getDefaultedProperties());
|
defaultedProperties.addAll(editor.getDefaultedProperties());
|
||||||
return ButtonDialog.OK.equals(editor.getSelectedButtonCaption());
|
return ButtonDialog.OK.equals(editor.getSelectedButtonCaption());
|
||||||
@@ -346,11 +347,19 @@ public class MainFrame extends JFrame implements ISwingUI {
|
|||||||
@Override
|
@Override
|
||||||
public void injectMenuAction(Action action, String menuName) {
|
public void injectMenuAction(Action action, String menuName) {
|
||||||
LOG.info(String.format("injectMenuAction(%s, %s)", action == null ? "Separator" : action.getValue(Action.NAME),
|
LOG.info(String.format("injectMenuAction(%s, %s)", action == null ? "Separator" : action.getValue(Action.NAME),
|
||||||
menuName));
|
menuName));
|
||||||
JMenu menu = findOrCreateMenu(menuName);
|
if (menuName != null)
|
||||||
|
menuName = TranslateUtil.translate(menuName);
|
||||||
|
|
||||||
|
JMenu menu = findOrCreateMenu(menuName);
|
||||||
if (action == null) {
|
if (action == null) {
|
||||||
menu.addSeparator();
|
menu.addSeparator();
|
||||||
} else {
|
} else {
|
||||||
|
// translate
|
||||||
|
String name = (String) action.getValue(Action.NAME);
|
||||||
|
if (name != null)
|
||||||
|
action.putValue(Action.NAME, TranslateUtil.translate(name));
|
||||||
|
|
||||||
Boolean isCheckBox = (Boolean) action.getValue(IView.CHECK_BOX_MENU_ITEM);
|
Boolean isCheckBox = (Boolean) action.getValue(IView.CHECK_BOX_MENU_ITEM);
|
||||||
String groupName = (String) action.getValue(IView.RADIO_BUTTON_GROUP_KEY);
|
String groupName = (String) action.getValue(IView.RADIO_BUTTON_GROUP_KEY);
|
||||||
if (isCheckBox != null && isCheckBox) {
|
if (isCheckBox != null && isCheckBox) {
|
||||||
@@ -373,8 +382,13 @@ public class MainFrame extends JFrame implements ISwingUI {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void injectSubmenu(String name, Icon icon, String parentMenuName) {
|
public void injectSubmenu(String name, Icon icon, String parentMenuName) {
|
||||||
LOG.info(String.format("injectSubmenu(%s, icon, %s)", name, parentMenuName));
|
LOG.info(String.format("injectSubmenu(%s, icon, %s)", name, parentMenuName));
|
||||||
|
|
||||||
|
// translate
|
||||||
|
name = TranslateUtil.translate(name);
|
||||||
|
parentMenuName = parentMenuName == null ? null : TranslateUtil.translate(parentMenuName);
|
||||||
|
|
||||||
JMenu menu = findOrCreateMenu(parentMenuName);
|
JMenu menu = findOrCreateMenu(parentMenuName);
|
||||||
JMenu submenu = new JMenu(name);
|
JMenu submenu = new JMenu(name);
|
||||||
submenu.setIcon(icon);
|
submenu.setIcon(icon);
|
||||||
@@ -389,7 +403,12 @@ public class MainFrame extends JFrame implements ISwingUI {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void injectDynamicSubmenu(String name, Icon icon, String parentMenuName, final IDynamicSubmenuHandler handler) {
|
public void injectDynamicSubmenu(String name, Icon icon, String parentMenuName, final IDynamicSubmenuHandler handler) {
|
||||||
LOG.info(String.format("injectDynamicSubmenu(%s, icon, %s)", name, parentMenuName));
|
LOG.info(String.format("injectDynamicSubmenu(%s, icon, %s)", name, parentMenuName));
|
||||||
|
|
||||||
|
// translate
|
||||||
|
name = TranslateUtil.translate(name);
|
||||||
|
parentMenuName = parentMenuName == null ? null : TranslateUtil.translate(parentMenuName);
|
||||||
|
|
||||||
final JMenu menu = findOrCreateMenu(parentMenuName);
|
final JMenu menu = findOrCreateMenu(parentMenuName);
|
||||||
final JMenu submenu = new JMenu(name);
|
final JMenu submenu = new JMenu(name);
|
||||||
submenu.setIcon(icon);
|
submenu.setIcon(icon);
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ import org.diylc.common.IComponentTransformer;
|
|||||||
import org.diylc.common.IPlugIn;
|
import org.diylc.common.IPlugIn;
|
||||||
import org.diylc.common.IPlugInPort;
|
import org.diylc.common.IPlugInPort;
|
||||||
import org.diylc.images.IconLoader;
|
import org.diylc.images.IconLoader;
|
||||||
|
import org.diylc.lang.TranslateUtil;
|
||||||
import org.diylc.swing.ActionFactory;
|
import org.diylc.swing.ActionFactory;
|
||||||
import org.diylc.swing.ISwingUI;
|
import org.diylc.swing.ISwingUI;
|
||||||
import org.diylc.swing.plugins.help.HelpMenuPlugin;
|
import org.diylc.swing.plugins.help.HelpMenuPlugin;
|
||||||
@@ -55,7 +56,7 @@ public class ActionBarPlugin implements IPlugIn {
|
|||||||
private ConfigToolbar configToolbar;
|
private ConfigToolbar configToolbar;
|
||||||
private JLabel donateLabel;
|
private JLabel donateLabel;
|
||||||
|
|
||||||
private static final String DONATE_HTML = "<html><u>Enjoying DIYLC? Click here to buy me a coffe :)</u></html>";
|
private static final String DONATE_HTML = "<html><u>" + TranslateUtil.translate("Enjoying DIYLC? Click here to buy me a coffe :)") + "</u></html>";
|
||||||
|
|
||||||
public ActionBarPlugin(ISwingUI swingUI) {
|
public ActionBarPlugin(ISwingUI swingUI) {
|
||||||
this.swingUI = swingUI;
|
this.swingUI = swingUI;
|
||||||
|
|||||||
@@ -21,14 +21,18 @@
|
|||||||
*/
|
*/
|
||||||
package org.diylc.swing.gui.editor;
|
package org.diylc.swing.gui.editor;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
|
import java.awt.Component;
|
||||||
import java.awt.event.ItemEvent;
|
import java.awt.event.ItemEvent;
|
||||||
import java.awt.event.ItemListener;
|
import java.awt.event.ItemListener;
|
||||||
|
|
||||||
import javax.swing.DefaultComboBoxModel;
|
import javax.swing.DefaultComboBoxModel;
|
||||||
import javax.swing.JComboBox;
|
import javax.swing.DefaultListCellRenderer;
|
||||||
|
import javax.swing.JComboBox;
|
||||||
import org.diylc.common.PropertyWrapper;
|
import javax.swing.JList;
|
||||||
|
|
||||||
|
import org.diylc.common.PropertyWrapper;
|
||||||
|
import org.diylc.lang.TranslateUtil;
|
||||||
import org.diylc.utils.Constants;
|
import org.diylc.utils.Constants;
|
||||||
|
|
||||||
public class EnumEditor extends JComboBox {
|
public class EnumEditor extends JComboBox {
|
||||||
@@ -44,7 +48,19 @@ public class EnumEditor extends JComboBox {
|
|||||||
Object[] values = property.getType().getEnumConstants();
|
Object[] values = property.getType().getEnumConstants();
|
||||||
if (property.isReadOnly())
|
if (property.isReadOnly())
|
||||||
setEnabled(false);
|
setEnabled(false);
|
||||||
setModel(new DefaultComboBoxModel(values));
|
setModel(new DefaultComboBoxModel(values));
|
||||||
|
setRenderer(new DefaultListCellRenderer() {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Component getListCellRendererComponent(JList<?> list, Object value, int index,
|
||||||
|
boolean isSelected, boolean cellHasFocus) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return super.getListCellRendererComponent(list, value == null ? null : TranslateUtil.translate(value.toString()), index, isSelected, cellHasFocus);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
setSelectedItem(property.getValue());
|
setSelectedItem(property.getValue());
|
||||||
addItemListener(new ItemListener() {
|
addItemListener(new ItemListener() {
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ import javax.swing.JPanel;
|
|||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.diylc.common.PropertyWrapper;
|
import org.diylc.common.PropertyWrapper;
|
||||||
import org.diylc.core.ValidationException;
|
import org.diylc.core.ValidationException;
|
||||||
|
import org.diylc.lang.TranslateUtil;
|
||||||
import org.diylc.swingframework.ButtonDialog;
|
import org.diylc.swingframework.ButtonDialog;
|
||||||
|
|
||||||
public class PropertyEditorDialog extends ButtonDialog {
|
public class PropertyEditorDialog extends ButtonDialog {
|
||||||
@@ -127,7 +128,7 @@ public class PropertyEditorDialog extends ButtonDialog {
|
|||||||
gbc.weightx = 0;
|
gbc.weightx = 0;
|
||||||
gbc.insets = new Insets(4, 2, 2, 2);
|
gbc.insets = new Insets(4, 2, 2, 2);
|
||||||
gbc.anchor = GridBagConstraints.WEST;
|
gbc.anchor = GridBagConstraints.WEST;
|
||||||
editorPanel.add(new JLabel(property.getName() + ": "), gbc);
|
editorPanel.add(new JLabel(TranslateUtil.translate(property.getName()) + ": "), gbc);
|
||||||
|
|
||||||
gbc.gridx = 1;
|
gbc.gridx = 1;
|
||||||
gbc.fill = GridBagConstraints.HORIZONTAL;
|
gbc.fill = GridBagConstraints.HORIZONTAL;
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ import org.diylc.common.IPlugIn;
|
|||||||
import org.diylc.common.IPlugInPort;
|
import org.diylc.common.IPlugInPort;
|
||||||
import org.diylc.core.IView;
|
import org.diylc.core.IView;
|
||||||
import org.diylc.images.IconLoader;
|
import org.diylc.images.IconLoader;
|
||||||
|
import org.diylc.lang.TranslateUtil;
|
||||||
import org.diylc.swing.ISwingUI;
|
import org.diylc.swing.ISwingUI;
|
||||||
import org.diylc.swing.gui.DialogFactory;
|
import org.diylc.swing.gui.DialogFactory;
|
||||||
import org.diylc.swingframework.AboutDialog;
|
import org.diylc.swingframework.AboutDialog;
|
||||||
@@ -122,7 +123,7 @@ public class HelpMenuPlugin implements IPlugIn {
|
|||||||
|
|
||||||
public AboutAction() {
|
public AboutAction() {
|
||||||
super();
|
super();
|
||||||
putValue(AbstractAction.NAME, "About");
|
putValue(AbstractAction.NAME, TranslateUtil.translate("About"));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.About.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.About.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,7 +139,7 @@ public class HelpMenuPlugin implements IPlugIn {
|
|||||||
|
|
||||||
public RecentUpdatesAction() {
|
public RecentUpdatesAction() {
|
||||||
super();
|
super();
|
||||||
putValue(AbstractAction.NAME, "Recent Updates");
|
putValue(AbstractAction.NAME, TranslateUtil.translate("Recent Updates"));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.ScrollInformation.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.ScrollInformation.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,7 +165,7 @@ public class HelpMenuPlugin implements IPlugIn {
|
|||||||
public NavigateURLAction(String name, Icon icon, String url) {
|
public NavigateURLAction(String name, Icon icon, String url) {
|
||||||
super();
|
super();
|
||||||
this.url = url;
|
this.url = url;
|
||||||
putValue(AbstractAction.NAME, name);
|
putValue(AbstractAction.NAME, TranslateUtil.translate(name));
|
||||||
putValue(AbstractAction.SMALL_ICON, icon);
|
putValue(AbstractAction.SMALL_ICON, icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,7 +188,7 @@ public class HelpMenuPlugin implements IPlugIn {
|
|||||||
public NavigateFolderAction(String name, Icon icon, String url) {
|
public NavigateFolderAction(String name, Icon icon, String url) {
|
||||||
super();
|
super();
|
||||||
this.url = url;
|
this.url = url;
|
||||||
putValue(AbstractAction.NAME, name);
|
putValue(AbstractAction.NAME, TranslateUtil.translate(name));
|
||||||
putValue(AbstractAction.SMALL_ICON, icon);
|
putValue(AbstractAction.SMALL_ICON, icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user