#470 Keep original Define*Texts and DefineFonts panels size after resizing from full screen to windowed and back

#877 A small glitch after search in AS
This commit is contained in:
honfika@gmail.com
2015-05-05 18:04:09 +02:00
parent e39ebcdbd9
commit 93dca87ec9
19 changed files with 242 additions and 275 deletions

View File

@@ -251,20 +251,20 @@ public class Configuration {
@ConfigurationName("gui.window.maximized.vertical")
public static final ConfigurationItem<Boolean> guiWindowMaximizedVertical = null;
@ConfigurationName("gui.avm2.splitPane.dividerLocation")
public static final ConfigurationItem<Integer> guiAvm2SplitPaneDividerLocation = null;
@ConfigurationName("gui.avm2.splitPane.dividerLocationPercent")
public static final ConfigurationItem<Integer> guiAvm2SplitPaneDividerLocationPercent = null;
@ConfigurationName("guiActionSplitPaneDividerLocation")
public static final ConfigurationItem<Integer> guiActionSplitPaneDividerLocation = null;
@ConfigurationName("guiActionSplitPaneDividerLocationPercent")
public static final ConfigurationItem<Integer> guiActionSplitPaneDividerLocationPercent = null;
@ConfigurationName("guiPreviewSplitPaneDividerLocation")
public static final ConfigurationItem<Integer> guiPreviewSplitPaneDividerLocation = null;
@ConfigurationName("guiPreviewSplitPaneDividerLocationPercent")
public static final ConfigurationItem<Integer> guiPreviewSplitPaneDividerLocationPercent = null;
@ConfigurationName("gui.splitPane1.dividerLocation")
public static final ConfigurationItem<Integer> guiSplitPane1DividerLocation = null;
@ConfigurationName("gui.splitPane1.dividerLocationPercent")
public static final ConfigurationItem<Integer> guiSplitPane1DividerLocationPercent = null;
@ConfigurationName("gui.splitPane2.dividerLocation")
public static final ConfigurationItem<Integer> guiSplitPane2DividerLocation = null;
@ConfigurationName("gui.splitPane2.dividerLocationPercent")
public static final ConfigurationItem<Integer> guiSplitPane2DividerLocationPercent = null;
@ConfigurationDefaultString("com.jpexs.decompiler.flash.gui.OceanicSkin")
@ConfigurationName("gui.skin")

View File

@@ -85,24 +85,22 @@ public class ErrorLogFrame extends AppFrame {
public static ErrorLogFrame getInstance() {
if (instance == null) {
instance = new ErrorLogFrame();
View.execInEventDispatch(() -> {
Logger logger = Logger.getLogger("");
logger.addHandler(instance.getHandler());
});
Logger logger = Logger.getLogger("");
logger.addHandler(instance.getHandler());
}
return instance;
}
public static ErrorLogFrame createNewInstance() {
if (instance != null) {
View.execInEventDispatch(() -> {
Logger logger = Logger.getLogger("");
logger.removeHandler(instance.getHandler());
});
Logger logger = Logger.getLogger("");
logger.removeHandler(instance.getHandler());
instance.setVisible(false);
instance.dispose();
instance = null;
}
return getInstance();
}

View File

@@ -313,6 +313,7 @@ public class GenericTagPanel extends JPanel implements ChangeListener {
} catch (InterruptedException ex) {
Logger.getLogger(GenericTagPanel.class.getName()).log(Level.SEVERE, null, ex);
}
View.execInEventDispatch(() -> {
genericTagPropertiesEditPanelScrollPanel.getVerticalScrollBar().setValue(val);
});
@@ -359,6 +360,7 @@ public class GenericTagPanel extends JPanel implements ChangeListener {
} catch (InterruptedException ex) {
Logger.getLogger(GenericTagPanel.class.getName()).log(Level.SEVERE, null, ex);
}
View.execInEventDispatch(() -> {
genericTagPropertiesEditPanelScrollPanel.getVerticalScrollBar().setValue(val);
});

View File

@@ -39,7 +39,6 @@ import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
@@ -218,31 +217,27 @@ public class LoadFromMemoryFrame extends AppFrame {
progress.setStringPainted(true);
progress.setVisible(true);
final SelectProcessWorker wrk = new SelectProcessWorker(selProcesses);
wrk.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
switch (evt.getPropertyName()) {
case "progress":
progress.setIndeterminate(false);
progress.setStringPainted(false);
progress.setValue((Integer) evt.getNewValue());
break;
case "state":
if (((StateValue) evt.getNewValue()) == StateValue.DONE) {
try {
foundIs = wrk.get();
} catch (InterruptedException | ExecutionException ex) {
Logger.getLogger(LoadFromMemoryFrame.class.getName()).log(Level.SEVERE, null, ex);
}
if (foundIs == null) {
addResultRow(null);
}
tableRes.setEnabled(foundIs != null);
progress.setVisible(false);
processing = false;
wrk.addPropertyChangeListener((PropertyChangeEvent evt) -> {
switch (evt.getPropertyName()) {
case "progress":
progress.setIndeterminate(false);
progress.setStringPainted(false);
progress.setValue((Integer) evt.getNewValue());
break;
case "state":
if (((StateValue) evt.getNewValue()) == StateValue.DONE) {
try {
foundIs = wrk.get();
} catch (InterruptedException | ExecutionException ex) {
Logger.getLogger(LoadFromMemoryFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
if (foundIs == null) {
addResultRow(null);
}
tableRes.setEnabled(foundIs != null);
progress.setVisible(false);
processing = false;
}
}
});
wrk.execute();

View File

@@ -181,11 +181,10 @@ public class Main {
}
public static void startProxy(int port) {
View.execInEventDispatch(() -> {
if (proxyFrame == null) {
proxyFrame = new ProxyFrame(mainFrame);
}
});
if (proxyFrame == null) {
proxyFrame = new ProxyFrame(mainFrame);
}
proxyFrame.setPort(port);
addTrayIcon();
switchProxy();
@@ -472,13 +471,13 @@ public class Main {
if (firstSWF == null) {
firstSWF = swfs1.get(0);
}
try {
Main.startWork(AppStrings.translate("work.creatingwindow") + "...");
View.execInEventDispatch(() -> {
Main.startWork(AppStrings.translate("work.creatingwindow") + "...");
ensureMainFrame();
mainFrame.getPanel().load(swfs1, first1);
});
} catch (Exception ex) {
logger.log(Level.SEVERE, null, ex);
}
@@ -839,22 +838,17 @@ public class Main {
logger.log(Level.SEVERE, null, ex);
}
}
View.execInEventDispatch(() -> {
ErrorLogFrame.createNewInstance();
});
ErrorLogFrame.createNewInstance();
autoCheckForUpdates();
offerAssociation();
View.execInEventDispatch(() -> {
loadingDialog = new LoadingDialog();
});
loadingDialog = new LoadingDialog();
}
public static void showModeFrame() {
View.execInEventDispatch(() -> {
ensureMainFrame();
mainFrame.setVisible(true);
});
ensureMainFrame();
mainFrame.setVisible(true);
}
private static void offerAssociation() {
@@ -1073,26 +1067,29 @@ public class Main {
}
if (args.length == 0) {
initGui();
if (Configuration.allowOnlyOneInstance.get() && FirstInstance.focus()) { //Try to focus first instance
Main.exit();
} else {
showModeFrame();
reloadLastSession();
}
View.execInEventDispatch(() -> {
initGui();
if (Configuration.allowOnlyOneInstance.get() && FirstInstance.focus()) { //Try to focus first instance
Main.exit();
} else {
showModeFrame();
reloadLastSession();
}
});
} else {
String[] filesToOpen = CommandLineArgumentParser.parseArguments(args);
if (filesToOpen != null && filesToOpen.length > 0) {
initGui();
shouldCloseWhenClosingLoadingDialog = true;
if (Configuration.allowOnlyOneInstance.get() && FirstInstance.openFiles(Arrays.asList(filesToOpen))) { //Try to open in first instance
Main.exit();
} else {
for (String fileToOpen : filesToOpen) {
openFile(fileToOpen, null);
View.execInEventDispatch(() -> {
initGui();
shouldCloseWhenClosingLoadingDialog = true;
if (Configuration.allowOnlyOneInstance.get() && FirstInstance.openFiles(Arrays.asList(filesToOpen))) { //Try to open in first instance
Main.exit();
} else {
for (String fileToOpen : filesToOpen) {
openFile(fileToOpen, null);
}
}
}
});
}
}
}

View File

@@ -156,7 +156,6 @@ import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
@@ -564,20 +563,22 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
welcomePanel = createWelcomePanel();
add(welcomePanel, BorderLayout.CENTER);
splitPane1.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent pce) {
if (splitsInited) {
Configuration.guiSplitPane1DividerLocation.set((Integer) pce.getNewValue());
splitPane1.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, (PropertyChangeEvent pce) -> {
if (splitsInited) {
int width = ((JSplitPane) pce.getSource()).getWidth();
if (width != 0) {
int p = Math.round((100.0f * (Integer) pce.getNewValue() / width));
Configuration.guiSplitPane1DividerLocationPercent.set(p);
}
}
});
splitPane2.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent pce) {
if (detailPanel.isVisible()) {
Configuration.guiSplitPane2DividerLocation.set((Integer) pce.getNewValue());
splitPane2.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, (PropertyChangeEvent pce) -> {
if (detailPanel.isVisible()) {
int width = ((JSplitPane) pce.getSource()).getWidth();
if (width != 0) {
int p = Math.round((100.0f * (Integer) pce.getNewValue() / width));
Configuration.guiSplitPane2DividerLocationPercent.set(p);
}
}
});
@@ -657,6 +658,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
if (abcPanel != null) {
abcPanel.reload();
}
updateClassesList();
} catch (InterruptedException ex) {
logger.log(Level.SEVERE, null, ex);
@@ -678,21 +680,19 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
abcPanel = new ABCPanel(this);
displayPanel.add(abcPanel, CARDACTIONSCRIPT3PANEL);
detailPanel.add(abcPanel.tabbedPane, DETAILCARDAS3NAVIGATOR);
abcPanel.initSplits();
}
return abcPanel;
}
private void ensureActionPanel() {
if (actionPanel == null) {
View.execInEventDispatch(() -> {
actionPanel = new ActionPanel(MainPanel.this);
displayPanel.add(actionPanel, CARDACTIONSCRIPTPANEL);
});
}
}
private ActionPanel getActionPanel() {
ensureActionPanel();
if (actionPanel == null) {
actionPanel = new ActionPanel(MainPanel.this);
displayPanel.add(actionPanel, CARDACTIONSCRIPTPANEL);
actionPanel.initSplits();
}
return actionPanel;
}
@@ -840,9 +840,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
refreshTree();
if (updateNeeded) {
View.execInEventDispatch(() -> {
tagTree.updateUI();
});
tagTree.updateUI();
}
}
@@ -863,27 +861,18 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
public void setVisible(boolean b) {
super.setVisible(b);
if (b) {
if (abcPanel != null) {
abcPanel.initSplits();
}
if (actionPanel != null) {
actionPanel.initSplits();
}
int split = Configuration.guiSplitPane1DividerLocationPercent.get(33);
splitPane1.setDividerLocation(split / 100.0);
View.execInEventDispatchLater(() -> {
splitPane1.setDividerLocation(Configuration.guiSplitPane1DividerLocation.get(getWidth() / 3));
int confDivLoc = Configuration.guiSplitPane2DividerLocation.get(splitPane2.getHeight() * 3 / 5);
if (confDivLoc > splitPane2.getHeight() - 10) { //In older releases, divider location was saved when detailPanel was invisible too
confDivLoc = splitPane2.getHeight() * 3 / 5;
}
splitPane2.setDividerLocation(confDivLoc);
previewPanel.setDividerLocation(Configuration.guiPreviewSplitPaneDividerLocation.get(previewPanel.getWidth() / 2));
splitPos = splitPane2.getDividerLocation();
splitsInited = true;
previewPanel.setSplitsInited();
});
int confDivLoc = Configuration.guiSplitPane2DividerLocationPercent.get(60);
splitPane2.setDividerLocation(confDivLoc / 100.0);
split = Configuration.guiPreviewSplitPaneDividerLocationPercent.get(50);
previewPanel.setDividerLocation(split / 100.0);
splitPos = splitPane2.getDividerLocation();
splitsInited = true;
previewPanel.setSplitsInited();
}
}
@@ -1361,7 +1350,12 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
boolean found = false;
if (searchDialog.searchInASRadioButton.isSelected()) {
if (swf.isAS3()) {
if (abcPanel != null && abcPanel.search(txt, searchDialog.ignoreCaseCheckBox.isSelected(), searchDialog.regexpCheckBox.isSelected())) {
// todo: honfika: do not call this from background thread
View.execInEventDispatch(() -> {
getActionPanel();
});
if (getABCPanel().search(txt, searchDialog.ignoreCaseCheckBox.isSelected(), searchDialog.regexpCheckBox.isSelected())) {
found = true;
View.execInEventDispatch(() -> {
showDetail(DETAILCARDAS3NAVIGATOR);
@@ -1369,6 +1363,11 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
});
}
} else {
// todo: honfika: do not call this from background thread
View.execInEventDispatch(() -> {
getActionPanel();
});
if (getActionPanel().search(txt, searchDialog.ignoreCaseCheckBox.isSelected(), searchDialog.regexpCheckBox.isSelected())) {
found = true;
View.execInEventDispatch(() -> {
@@ -1927,10 +1926,10 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
@Override
protected void done() {
Main.stopWork();
View.showMessageDialog(null, translate("work.restoringControlFlow.complete"));
View.execInEventDispatch(() -> {
Main.stopWork();
View.showMessageDialog(null, translate("work.restoringControlFlow.complete"));
getABCPanel().reload();
updateClassesList();
});
@@ -2023,10 +2022,10 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
@Override
protected void done() {
Main.stopWork();
View.showMessageDialog(null, translate("work.deobfuscating.complete"));
View.execInEventDispatch(() -> {
Main.stopWork();
View.showMessageDialog(null, translate("work.deobfuscating.complete"));
clearAllScriptCache();
getABCPanel().reload();
updateClassesList();
@@ -2129,9 +2128,10 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
ignoreMissingCharacters ? JOptionPane.OK_OPTION : JOptionPane.CANCEL_OPTION) == JOptionPane.OK_OPTION;
return false;
}
View.execInEventDispatch(() -> {
//View.execInEventDispatch(() -> {
font.addCharacter(character, f);
});
//});
return true;
}
@@ -2706,7 +2706,6 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
showCard(CARDPREVIEWPANEL);
previewPanel.showBinaryPanel(binaryTag);
} else if (treeItem instanceof ASMSource && (!(treeItem instanceof DrawableTag) || preferScript)) {
ensureActionPanel();
showCard(CARDACTIONSCRIPTPANEL);
getActionPanel().setSource((ASMSource) treeItem, !forceReload);
} else if (treeItem instanceof ImageTag) {

View File

@@ -76,7 +76,6 @@ import java.awt.Font;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -209,11 +208,12 @@ public class PreviewPanel extends JSplitPane {
});
addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent pce) {
if (splitsInited && getRightComponent().isVisible()) {
Configuration.guiPreviewSplitPaneDividerLocation.set((Integer) pce.getNewValue());
addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, (PropertyChangeEvent pce) -> {
if (splitsInited && getRightComponent().isVisible()) {
int width = ((JSplitPane) pce.getSource()).getWidth();
if (width != 0) {
int p = Math.round((100.0f * (Integer) pce.getNewValue() / width));
Configuration.guiPreviewSplitPaneDividerLocationPercent.set(p);
}
}
});
@@ -505,7 +505,7 @@ public class PreviewPanel extends JSplitPane {
showCardRight(CARDFONTPANEL);
parametersPanel.setVisible(true);
setDividerLocation(Configuration.guiPreviewSplitPaneDividerLocation.get(getWidth() / 2));
setDividerLocation(Configuration.guiPreviewSplitPaneDividerLocationPercent.get(50) / 100.0);
fontPanel.showFontTag(fontTag);
int pageCount = getFontPageCount(fontTag);
@@ -536,7 +536,7 @@ public class PreviewPanel extends JSplitPane {
showCardRight(CARDTEXTPANEL);
parametersPanel.setVisible(true);
setDividerLocation(Configuration.guiPreviewSplitPaneDividerLocation.get(getWidth() / 2));
setDividerLocation(Configuration.guiPreviewSplitPaneDividerLocationPercent.get(50) / 100.0);
textPanel.setText(textTag);
}

View File

@@ -80,7 +80,6 @@ import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -127,8 +126,6 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener<ABC
public JSplitPane splitPane;
//public JSplitPane splitPaneTreeVSNavigator;
//public JSplitPane splitPaneTreeNavVSDecompiledDetail;
private JTable constantTable;
public JComboBox<String> constantTypeList;
@@ -278,21 +275,7 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener<ABC
}
public void initSplits() {
//splitPaneTreeVSNavigator.setDividerLocation(splitPaneTreeVSNavigator.getHeight() / 2);
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
Logger.getLogger(ABCPanel.class.getName()).log(Level.SEVERE, null, ex);
}
//splitPaneTreeNavVSDecompiledDetail.setDividerLocation(splitPaneTreeNavVSDecompiledDetail.getWidth() * 1 / 3);
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
Logger.getLogger(ABCPanel.class.getName()).log(Level.SEVERE, null, ex);
}
splitPane.setDividerLocation(Configuration.guiAvm2SplitPaneDividerLocation.get(splitPane.getWidth() * 1 / 2));
splitPane.setDividerLocation(Configuration.guiAvm2SplitPaneDividerLocationPercent.get(50) / 100.0);
}
private boolean isFreeing;
@@ -393,11 +376,12 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener<ABC
splitPane.setResizeWeight(0.5);
splitPane.setContinuousLayout(true);
splitPane.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent pce) {
if (!directEditing) {
Configuration.guiAvm2SplitPaneDividerLocation.set((Integer) pce.getNewValue());
splitPane.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, (PropertyChangeEvent pce) -> {
if (!directEditing) {
int width = ((JSplitPane) pce.getSource()).getWidth();
if (width != 0) {
int p = Math.round((100.0f * (Integer) pce.getNewValue() / width));
Configuration.guiAvm2SplitPaneDividerLocationPercent.set(p);
}
}
});

View File

@@ -57,7 +57,6 @@ import java.awt.Font;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
@@ -557,10 +556,11 @@ public class ActionPanel extends JPanel implements SearchListener<ActionSearchRe
setLayout(new BorderLayout());
add(splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panA, panB), BorderLayout.CENTER);
splitPane.setResizeWeight(0.5);
splitPane.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent pce) {
Configuration.guiActionSplitPaneDividerLocation.set((Integer) pce.getNewValue());
splitPane.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, (PropertyChangeEvent pce) -> {
int width = ((JSplitPane) pce.getSource()).getWidth();
if (width != 0) {
int p = Math.round((100.0f * (Integer) pce.getNewValue() / width));
Configuration.guiActionSplitPaneDividerLocationPercent.set(p);
}
});
@@ -628,16 +628,8 @@ public class ActionPanel extends JPanel implements SearchListener<ActionSearchRe
}
public void initSplits() {
int split = Configuration.guiActionSplitPaneDividerLocation.get(getWidth() / 2);
if (split == 0) {
split = getWidth() / 2;
}
splitPane.setDividerLocation(split);
}
public void display() {
setVisible(true);
splitPane.setDividerLocation(0.5);
int split = Configuration.guiActionSplitPaneDividerLocationPercent.get(50);
splitPane.setDividerLocation(split / 100.0);
}
public void setEditMode(boolean val) {

View File

@@ -176,20 +176,20 @@ config.description.gui.window.maximized.horizontal = Last window state - maximiz
config.name.gui.window.maximized.vertical = (Internal) Window maximized vertically
config.description.gui.window.maximized.vertical = Last window state - maximized vertically
config.name.gui.avm2.splitPane.dividerLocation = (Internal) AS3 Splitter location
config.description.gui.avm2.splitPane.dividerLocation =
config.name.gui.avm2.splitPane.dividerLocationPercent = (Internal) AS3 Splitter location
config.description.gui.avm2.splitPane.dividerLocationPercent =
config.name.guiActionSplitPaneDividerLocation = (Internal) AS1/2 splitter location
config.description.guiActionSplitPaneDividerLocation =
config.name.guiActionSplitPaneDividerLocationPercent = (Internal) AS1/2 splitter location
config.description.guiActionSplitPaneDividerLocationPercent =
config.name.guiPreviewSplitPaneDividerLocation = (Internal) Preview splitter location
config.description.guiPreviewSplitPaneDividerLocation =
config.name.guiPreviewSplitPaneDividerLocationPercent = (Internal) Preview splitter location
config.description.guiPreviewSplitPaneDividerLocationPercent =
config.name.gui.splitPane1.dividerLocation = (Internal) Splitter location 1
config.description.gui.splitPane1.dividerLocation =
config.name.gui.splitPane1.dividerLocationPercent = (Internal) Splitter location 1
config.description.gui.splitPane1.dividerLocationPercent =
config.name.gui.splitPane2.dividerLocation = (Internal) Splitter location 2
config.description.gui.splitPane2.dividerLocation =
config.name.gui.splitPane2.dividerLocationPercent = (Internal) Splitter location 2
config.description.gui.splitPane2.dividerLocationPercent =
config.name.saveAsExeScaleMode = Save as EXE scale mode
config.description.saveAsExeScaleMode = Scaling mode for EXE export

View File

@@ -176,20 +176,20 @@ config.description.gui.window.maximized.horizontal = Darrer estat de la finestra
config.name.gui.window.maximized.vertical = (Intern) Finestra maximitzada verticalment
config.description.gui.window.maximized.vertical = Darrer estat de la finestra - maximitzada verticalment
config.name.gui.avm2.splitPane.dividerLocation = (Intern) Ubicaci\u00f3 del Splitter AS3
config.description.gui.avm2.splitPane.dividerLocation =
config.name.gui.avm2.splitPane.dividerLocationPercent = (Intern) Ubicaci\u00f3 del Splitter AS3
config.description.gui.avm2.splitPane.dividerLocationPercent =
config.name.guiActionSplitPaneDividerLocation = (Intern) Ubicaci\u00f3 del Splitter AS1/2
config.description.guiActionSplitPaneDividerLocation =
config.name.guiActionSplitPaneDividerLocationPercent = (Intern) Ubicaci\u00f3 del Splitter AS1/2
config.description.guiActionSplitPaneDividerLocationPercent =
config.name.guiPreviewSplitPaneDividerLocation = (Intern) Previsualitza la ubicaci\u00f3 del splitter
config.description.guiPreviewSplitPaneDividerLocation =
config.name.guiPreviewSplitPaneDividerLocationPercent = (Intern) Previsualitza la ubicaci\u00f3 del splitter
config.description.guiPreviewSplitPaneDividerLocationPercent =
config.name.gui.splitPane1.dividerLocation = (Intern) Ubicaci\u00f3 del Splitter 1
config.description.gui.splitPane1.dividerLocation =
config.name.gui.splitPane1.dividerLocationPercent = (Intern) Ubicaci\u00f3 del Splitter 1
config.description.gui.splitPane1.dividerLocationPercent =
config.name.gui.splitPane2.dividerLocation = (Intern) Ubicaci\u00f3 del Splitter 2
config.description.gui.splitPane2.dividerLocation =
config.name.gui.splitPane2.dividerLocationPercent = (Intern) Ubicaci\u00f3 del Splitter 2
config.description.gui.splitPane2.dividerLocationPercent =
config.name.saveAsExeScaleMode = Desa com a mode d'escala EXE
config.description.saveAsExeScaleMode = Mode d'escala per a exporaci\u00f3 EXE

View File

@@ -176,20 +176,20 @@ config.description.gui.window.maximized.horizontal = Posledn\u00ed stav okna - m
config.name.gui.window.maximized.vertical = (Intern\u00ed) Maximalizace okna vertik\u00e1ln\u011b
config.description.gui.window.maximized.vertical = Posledn\u00ed stav okna - maximalizov\u00e1n\u00ed vertik\u00e1ln\u011b
config.name.gui.avm2.splitPane.dividerLocation = (Intern\u00ed) AS3 pozice rozd\u011blova\u010de
config.description.gui.avm2.splitPane.dividerLocation =
config.name.gui.avm2.splitPane.dividerLocationPercent = (Intern\u00ed) AS3 pozice rozd\u011blova\u010de
config.description.gui.avm2.splitPane.dividerLocationPercent =
config.name.guiActionSplitPaneDividerLocation = (Intern\u00ed) AS1/2 pozice rozd\u011blova\u010de
config.description.guiActionSplitPaneDividerLocation =
config.name.guiActionSplitPaneDividerLocationPercent = (Intern\u00ed) AS1/2 pozice rozd\u011blova\u010de
config.description.guiActionSplitPaneDividerLocationPercent =
config.name.guiPreviewSplitPaneDividerLocation = (Intern\u00ed) Pozice rozd\u011blova\u010de n\u00e1hledu
config.description.guiPreviewSplitPaneDividerLocation =
config.name.guiPreviewSplitPaneDividerLocationPercent = (Intern\u00ed) Pozice rozd\u011blova\u010de n\u00e1hledu
config.description.guiPreviewSplitPaneDividerLocationPercent =
config.name.gui.splitPane1.dividerLocation = (Intern\u00ed) Pozice rozd\u011blova\u010de 1
config.description.gui.splitPane1.dividerLocation =
config.name.gui.splitPane1.dividerLocationPercent = (Intern\u00ed) Pozice rozd\u011blova\u010de 1
config.description.gui.splitPane1.dividerLocationPercent =
config.name.gui.splitPane2.dividerLocation = (Intern\u00ed) Pozice rozd\u011blova\u010de 2
config.description.gui.splitPane2.dividerLocation =
config.name.gui.splitPane2.dividerLocationPercent = (Intern\u00ed) Pozice rozd\u011blova\u010de 2
config.description.gui.splitPane2.dividerLocationPercent =
config.name.saveAsExeScaleMode = Zv\u011bt\u0161ovac\u00ed m\u00f3d ulo\u017een\u00ed jako EXE
config.description.saveAsExeScaleMode = M\u00f3d zv\u011bt\u0161ov\u00e1n\u00ed pro EXE export

View File

@@ -176,20 +176,20 @@ config.description.gui.window.maximized.horizontal = Ultimo estado de la ventana
config.name.gui.window.maximized.vertical = (Interno) Ventana maximizada verticalmente
config.description.gui.window.maximized.vertical = Ultimo estado de la ventana - maximizada verticalmente
config.name.gui.avm2.splitPane.dividerLocation = (Interno) Ubicaci\u00f3n del divisor del AS3
config.description.gui.avm2.splitPane.dividerLocation =
config.name.gui.avm2.splitPane.dividerLocationPercent = (Interno) Ubicaci\u00f3n del divisor del AS3
config.description.gui.avm2.splitPane.dividerLocationPercent =
config.name.guiActionSplitPaneDividerLocation = (Interno) Ubicaci\u00f3n del divisor del AS1/2
config.description.guiActionSplitPaneDividerLocation =
config.name.guiActionSplitPaneDividerLocationPercent = (Interno) Ubicaci\u00f3n del divisor del AS1/2
config.description.guiActionSplitPaneDividerLocationPercent =
config.name.guiPreviewSplitPaneDividerLocation = (Interno) Previsualizar la ubicaci\u00f3n del divisor
config.description.guiPreviewSplitPaneDividerLocation =
config.name.guiPreviewSplitPaneDividerLocationPercent = (Interno) Previsualizar la ubicaci\u00f3n del divisor
config.description.guiPreviewSplitPaneDividerLocationPercent =
config.name.gui.splitPane1.dividerLocation = (Interno) Ubicaci\u00f3n del divisor 1
config.description.gui.splitPane1.dividerLocation =
config.name.gui.splitPane1.dividerLocationPercent = (Interno) Ubicaci\u00f3n del divisor 1
config.description.gui.splitPane1.dividerLocationPercent =
config.name.gui.splitPane2.dividerLocation = (Interno) Ubicaci\u00f3n del divisor 2
config.description.gui.splitPane2.dividerLocation =
config.name.gui.splitPane2.dividerLocationPercent = (Interno) Ubicaci\u00f3n del divisor 2
config.description.gui.splitPane2.dividerLocationPercent =
config.name.saveAsExeScaleMode = Guardar como modo de escala EXE
config.description.saveAsExeScaleMode = Modo de escala para la exportaci\u00f3n EXE

View File

@@ -176,20 +176,20 @@ config.description.gui.window.maximized.horizontal = Dernier \u00e9tat de la fen
config.name.gui.window.maximized.vertical = (Interne) Agrandissement vertical de la fen\u00eatre
config.description.gui.window.maximized.vertical = Derni\u00e8r \u00e9tat de la fen\u00eatre - Agrandissement vertical
config.name.gui.avm2.splitPane.dividerLocation = (Interne) Emplacement du s\u00e9parateur AS3
config.description.gui.avm2.splitPane.dividerLocation =
config.name.gui.avm2.splitPane.dividerLocationPercent = (Interne) Emplacement du s\u00e9parateur AS3
config.description.gui.avm2.splitPane.dividerLocationPercent =
config.name.guiActionSplitPaneDividerLocation = (Interne) Emplacement du s\u00e9parateur AS1/2
config.description.guiActionSplitPaneDividerLocation =
config.name.guiActionSplitPaneDividerLocationPercent = (Interne) Emplacement du s\u00e9parateur AS1/2
config.description.guiActionSplitPaneDividerLocationPercent =
config.name.guiPreviewSplitPaneDividerLocation = (Interne) Aper\u00e7u de l'emplacement du s\u00e9parateur
config.description.guiPreviewSplitPaneDividerLocation =
config.name.guiPreviewSplitPaneDividerLocationPercent = (Interne) Aper\u00e7u de l'emplacement du s\u00e9parateur
config.description.guiPreviewSplitPaneDividerLocationPercent =
config.name.gui.splitPane1.dividerLocation = (Interne) Emplacement du s\u00e9parateur 1
config.description.gui.splitPane1.dividerLocation =
config.name.gui.splitPane1.dividerLocationPercent = (Interne) Emplacement du s\u00e9parateur 1
config.description.gui.splitPane1.dividerLocationPercent =
config.name.gui.splitPane2.dividerLocation = (Interne) Emplacement du s\u00e9parateur 2
config.description.gui.splitPane2.dividerLocation =
config.name.gui.splitPane2.dividerLocationPercent = (Interne) Emplacement du s\u00e9parateur 2
config.description.gui.splitPane2.dividerLocationPercent =
config.name.saveAsExeScaleMode = Enregistrer en tant qu'\u00e9chelle de mode EXE
config.description.saveAsExeScaleMode = Mode de mise \u00e0 l'\u00e9chelle pour un export EXE

View File

@@ -176,20 +176,20 @@ config.description.gui.window.maximized.horizontal = Ablak utols\u00f3 \u00e1lla
config.name.gui.window.maximized.vertical = (Bels\u0151) Az ablak f\u00fcgg\u0151legesen maxim\u00e1lis m\u00e9ret\u0171
config.description.gui.window.maximized.vertical = Ablak utols\u00f3 \u00e1llapota - f\u00fcgg\u0151legesen maxim\u00e1lis
config.name.gui.avm2.splitPane.dividerLocation = (Bels\u0151) AS3 oszt\u00f3 helyzete
config.description.gui.avm2.splitPane.dividerLocation =
config.name.gui.avm2.splitPane.dividerLocationPercent = (Bels\u0151) AS3 oszt\u00f3 helyzete
config.description.gui.avm2.splitPane.dividerLocationPercent =
config.name.guiActionSplitPaneDividerLocation = (Bels\u0151) AS1/2 oszt\u00f3 helyzete
config.description.guiActionSplitPaneDividerLocation =
config.name.guiActionSplitPaneDividerLocationPercent = (Bels\u0151) AS1/2 oszt\u00f3 helyzete
config.description.guiActionSplitPaneDividerLocationPercent =
config.name.guiPreviewSplitPaneDividerLocation = (Bels\u0151) El\u0151n\u00e9zet oszt\u00f3 helyzete
config.description.guiPreviewSplitPaneDividerLocation =
config.name.guiPreviewSplitPaneDividerLocationPercent = (Bels\u0151) El\u0151n\u00e9zet oszt\u00f3 helyzete
config.description.guiPreviewSplitPaneDividerLocationPercent =
config.name.gui.splitPane1.dividerLocation = (Bels\u0151) Oszt\u00f3 helyzete 1
config.description.gui.splitPane1.dividerLocation =
config.name.gui.splitPane1.dividerLocationPercent = (Bels\u0151) Oszt\u00f3 helyzete 1
config.description.gui.splitPane1.dividerLocationPercent =
config.name.gui.splitPane2.dividerLocation = (Bels\u0151) Oszt\u00f3 helyzete 2
config.description.gui.splitPane2.dividerLocation =
config.name.gui.splitPane2.dividerLocationPercent = (Bels\u0151) Oszt\u00f3 helyzete 2
config.description.gui.splitPane2.dividerLocationPercent =
config.name.saveAsExeScaleMode = Ment\u00e9s EXE-k\u00e9nt nagy\u00edt\u00e1s m\u00f3dja
config.description.saveAsExeScaleMode = Nagy\u00edt\u00e1s m\u00f3dja EXE export eset\u00e9n

View File

@@ -176,20 +176,20 @@ config.description.gui.window.maximized.horizontal = Ostatni stan okna - maksyma
config.name.gui.window.maximized.vertical = (Wewn\u0119trzne) Okno maksymalizowane pionowo
config.description.gui.window.maximized.vertical = Ostatni stan okna - maksymalizowane pionowo
config.name.gui.avm2.splitPane.dividerLocation = (Wewn\u0119trzne) Lokalizacja rozga\u0142\u0119\u017anika AS3
config.description.gui.avm2.splitPane.dividerLocation =
config.name.gui.avm2.splitPane.dividerLocationPercent = (Wewn\u0119trzne) Lokalizacja rozga\u0142\u0119\u017anika AS3
config.description.gui.avm2.splitPane.dividerLocationPercent =
config.name.guiActionSplitPaneDividerLocation = (Wewn\u0119trzne) Lokalizacja rozga\u0142\u0119\u017anika AS1/2
config.description.guiActionSplitPaneDividerLocation =
config.name.guiActionSplitPaneDividerLocationPercent = (Wewn\u0119trzne) Lokalizacja rozga\u0142\u0119\u017anika AS1/2
config.description.guiActionSplitPaneDividerLocationPercent =
config.name.guiPreviewSplitPaneDividerLocation = (Wewn\u0119trzne) Lokalizacja rozga\u0142\u0119\u017anika podgl\u0105du
config.description.guiPreviewSplitPaneDividerLocation =
config.name.guiPreviewSplitPaneDividerLocationPercent = (Wewn\u0119trzne) Lokalizacja rozga\u0142\u0119\u017anika podgl\u0105du
config.description.guiPreviewSplitPaneDividerLocationPercent =
config.name.gui.splitPane1.dividerLocation = (Wewn\u0119trzne) Lokalizacja rozga\u0142\u0119\u017anika 1
config.description.gui.splitPane1.dividerLocation =
config.name.gui.splitPane1.dividerLocationPercent = (Wewn\u0119trzne) Lokalizacja rozga\u0142\u0119\u017anika 1
config.description.gui.splitPane1.dividerLocationPercent =
config.name.gui.splitPane2.dividerLocation = (Wewn\u0119trzne) Lokalizacja rozga\u0142\u0119\u017anika 2
config.description.gui.splitPane2.dividerLocation =
config.name.gui.splitPane2.dividerLocationPercent = (Wewn\u0119trzne) Lokalizacja rozga\u0142\u0119\u017anika 2
config.description.gui.splitPane2.dividerLocationPercent =
config.name.saveAsExeScaleMode = Zapisz jako plik EXE w trybie skalowania
config.description.saveAsExeScaleMode = Tryb skalowania dla eksportu plik\u00f3w EXE

View File

@@ -170,20 +170,20 @@ config.description.gui.window.maximized.horizontal = Last window state - maximiz
config.name.gui.window.maximized.vertical = (Internal) Window maximized vertically
config.description.gui.window.maximized.vertical = Last window state - maximized vertically
config.name.gui.avm2.splitPane.dividerLocation = (Internal) AS3 Splitter location
config.description.gui.avm2.splitPane.dividerLocation =
config.name.gui.avm2.splitPane.dividerLocationPercent = (Internal) AS3 Splitter location
config.description.gui.avm2.splitPane.dividerLocationPercent =
config.name.guiActionSplitPaneDividerLocation = (Internal) AS1/2 splitter location
config.description.guiActionSplitPaneDividerLocation =
config.name.guiActionSplitPaneDividerLocationPercent = (Internal) AS1/2 splitter location
config.description.guiActionSplitPaneDividerLocationPercent =
config.name.guiPreviewSplitPaneDividerLocation = (Internal) Preview splitter location
config.description.guiPreviewSplitPaneDividerLocation =
config.name.guiPreviewSplitPaneDividerLocationPercent = (Internal) Preview splitter location
config.description.guiPreviewSplitPaneDividerLocationPercent =
config.name.gui.splitPane1.dividerLocation = (Internal) Splitter location 1
config.description.gui.splitPane1.dividerLocation =
config.name.gui.splitPane1.dividerLocationPercent = (Internal) Splitter location 1
config.description.gui.splitPane1.dividerLocationPercent =
config.name.gui.splitPane2.dividerLocation = (Internal) Splitter location 2
config.description.gui.splitPane2.dividerLocation =
config.name.gui.splitPane2.dividerLocationPercent = (Internal) Splitter location 2
config.description.gui.splitPane2.dividerLocationPercent =
config.name.saveAsExeScaleMode = Save as EXE scale mode
config.description.saveAsExeScaleMode = Scaling mode for EXE export

View File

@@ -172,20 +172,20 @@ config.description.gui.window.maximized.horizontal = \u041f\u043e\u0441\u043b\u0
config.name.gui.window.maximized.vertical = (\u0412\u043d\u0443\u0442\u0440.) \u041e\u043a\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u043e \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e
config.description.gui.window.maximized.vertical = \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043e\u043a\u043d\u0430 - \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u043e \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e
config.name.gui.avm2.splitPane.dividerLocation = (\u0412\u043d\u0443\u0442\u0440.) \u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f AS3
config.description.gui.avm2.splitPane.dividerLocation =
config.name.gui.avm2.splitPane.dividerLocationPercent = (\u0412\u043d\u0443\u0442\u0440.) \u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f AS3
config.description.gui.avm2.splitPane.dividerLocationPercent =
config.name.guiActionSplitPaneDividerLocation = (\u0412\u043d\u0443\u0442\u0440.) \u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f AS1/2
config.description.guiActionSplitPaneDividerLocation =
config.name.guiActionSplitPaneDividerLocationPercent = (\u0412\u043d\u0443\u0442\u0440.) \u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f AS1/2
config.description.guiActionSplitPaneDividerLocationPercent =
config.name.guiPreviewSplitPaneDividerLocation = (\u0412\u043d\u0443\u0442\u0440.) \u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0440\u0435\u0434\u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430
config.description.guiPreviewSplitPaneDividerLocation =
config.name.guiPreviewSplitPaneDividerLocationPercent = (\u0412\u043d\u0443\u0442\u0440.) \u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0440\u0435\u0434\u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430
config.description.guiPreviewSplitPaneDividerLocationPercent =
config.name.gui.splitPane1.dividerLocation = (\u0412\u043d\u0443\u0442\u0440.) \u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f 1
config.description.gui.splitPane1.dividerLocation =
config.name.gui.splitPane1.dividerLocationPercent = (\u0412\u043d\u0443\u0442\u0440.) \u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f 1
config.description.gui.splitPane1.dividerLocationPercent =
config.name.gui.splitPane2.dividerLocation = (\u0412\u043d\u0443\u0442\u0440.) \u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f 2
config.description.gui.splitPane2.dividerLocation =
config.name.gui.splitPane2.dividerLocationPercent = (\u0412\u043d\u0443\u0442\u0440.) \u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f 2
config.description.gui.splitPane2.dividerLocationPercent =
config.name.saveAsExeScaleMode = \u0420\u0435\u0436\u0438\u043c \u0440\u0430\u0441\u0442\u044f\u0433\u0438\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0430\u043a EXE
config.description.saveAsExeScaleMode = \u0420\u0435\u0436\u0438\u043c \u0440\u0430\u0441\u0442\u044f\u0433\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 EXE

View File

@@ -176,20 +176,20 @@ config.description.gui.window.maximized.horizontal = Senaste f\u00f6nsterl\u00e4
config.name.gui.window.maximized.vertical = (Internal) Maximerat f\u00f6nter vertikalt
config.description.gui.window.maximized.vertical = Senaste f\u00f6nsterl\u00e4ge - maximerat vertikalt
config.name.gui.avm2.splitPane.dividerLocation = (Internal) AS3 Splitter l\u00e4ge
config.description.gui.avm2.splitPane.dividerLocation =
config.name.gui.avm2.splitPane.dividerLocationPercent = (Internal) AS3 Splitter l\u00e4ge
config.description.gui.avm2.splitPane.dividerLocationPercent =
config.name.guiActionSplitPaneDividerLocation = (Internal) AS1/2 splitter l\u00e4ge
config.description.guiActionSplitPaneDividerLocation =
config.name.guiActionSplitPaneDividerLocationPercent = (Internal) AS1/2 splitter l\u00e4ge
config.description.guiActionSplitPaneDividerLocationPercent =
config.name.guiPreviewSplitPaneDividerLocation = (Internal) F\u00f6rhandsvisa splitter l\u00e4ge
config.description.guiPreviewSplitPaneDividerLocation =
config.name.guiPreviewSplitPaneDividerLocationPercent = (Internal) F\u00f6rhandsvisa splitter l\u00e4ge
config.description.guiPreviewSplitPaneDividerLocationPercent =
config.name.gui.splitPane1.dividerLocation = (Internal) Splitter l\u00e4ge 1
config.description.gui.splitPane1.dividerLocation =
config.name.gui.splitPane1.dividerLocationPercent = (Internal) Splitter l\u00e4ge 1
config.description.gui.splitPane1.dividerLocationPercent =
config.name.gui.splitPane2.dividerLocation = (Internal) Splitter l\u00e4ge 2
config.description.gui.splitPane2.dividerLocation =
config.name.gui.splitPane2.dividerLocationPercent = (Internal) Splitter l\u00e4ge 2
config.description.gui.splitPane2.dividerLocationPercent =
config.name.saveAsExeScaleMode = Spara som EXE skalningsl\u00e4ge
config.description.saveAsExeScaleMode = Skalningsl\u00e4ge f\u00f6r EXE exportering