diff --git a/app/build.xml b/app/build.xml index 458df0698fd..06cc52fd7a1 100644 --- a/app/build.xml +++ b/app/build.xml @@ -45,6 +45,9 @@ includeAntRuntime="false" debug="true" classpath="../core/core.jar; ${env.JAVA_HOME}/lib/tools.jar; lib/ant.jar; lib/ant-launcher.jar; lib/apple.jar; lib/ecj.jar; lib/jna.jar; lib/RXTXcomm.jar" /> + + + diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java index 680545e6df7..131f75c8790 100644 --- a/app/src/processing/app/Base.java +++ b/app/src/processing/app/Base.java @@ -32,6 +32,7 @@ import processing.app.debug.Compiler; import processing.app.debug.Target; import processing.core.*; +import static processing.app.I18n._; /** @@ -177,8 +178,8 @@ static public void main(String args[]) { } catch (Exception e) { String mess = e.getMessage(); if (mess.indexOf("ch.randelshofer.quaqua.QuaquaLookAndFeel") == -1) { - System.err.println("Non-fatal error while setting the Look & Feel."); - System.err.println("The error message follows, however Arduino should run fine."); + System.err.println(_("Non-fatal error while setting the Look & Feel.")); + System.err.println(_("The error message follows, however Arduino should run fine.")); System.err.println(mess); } } @@ -213,9 +214,9 @@ static protected void initPlatform() { } platform = (Platform) platformClass.newInstance(); } catch (Exception e) { - Base.showError("Problem Setting the Platform", - "An unknown error occurred while trying to load\n" + - "platform-specific code for your machine.", e); + Base.showError(_("Problem Setting the Platform"), + _("An unknown error occurred while trying to load\n" + + "platform-specific code for your machine."), e); } } @@ -225,10 +226,10 @@ static protected void initRequirements() { Class.forName("com.sun.jdi.VirtualMachine"); } catch (ClassNotFoundException cnfe) { Base.showPlatforms(); - Base.showError("Please install JDK 1.5 or later", - "Arduino requires a full JDK (not just a JRE)\n" + - "to run. Please install JDK 1.5 or later.\n" + - "More information can be found in the reference.", cnfe); + Base.showError(_("Please install JDK 1.5 or later"), + _("Arduino requires a full JDK (not just a JRE)\n" + + "to run. Please install JDK 1.5 or later.\n" + + "More information can be found in the reference."), cnfe); } } @@ -250,12 +251,12 @@ public Base(String[] args) { if (sketchbookPath != null) { File skechbookFolder = new File(sketchbookPath); if (!skechbookFolder.exists()) { - Base.showWarning("Sketchbook folder disappeared", - "The sketchbook folder no longer exists.\n" + - "Arduino will switch to the default sketchbook\n" + - "location, and create a new sketchbook folder if\n" + - "necessary. Arduino will then stop talking about\n" + - "himself in the third person.", null); + Base.showWarning(_("Sketchbook folder disappeared"), + _("The sketchbook folder no longer exists.\n" + + "Arduino will switch to the default sketchbook\n" + + "location, and create a new sketchbook folder if\n" + + "necessary. Arduino will then stop talking about\n" + + "himself in the third person."), null); sketchbookPath = null; } } @@ -525,13 +526,13 @@ protected String createNewUntitled() throws IOException { if (index == 26) { // In 0159, avoid running past z by sending people outdoors. if (!breakTime) { - Base.showWarning("Time for a Break", - "You've reached the limit for auto naming of new sketches\n" + - "for the day. How about going for a walk instead?", null); + Base.showWarning(_("Time for a Break"), + _("You've reached the limit for auto naming of new sketches\n" + + "for the day. How about going for a walk instead?"), null); breakTime = true; } else { - Base.showWarning("Sunshine", - "No really, time for some fresh air for you.", null); + Base.showWarning(_("Sunshine"), + _("No really, time for some fresh air for you."), null); } return null; } @@ -626,7 +627,7 @@ public void handleOpenReplace(String path) { public void handleOpenPrompt() { // get the frontmost window frame for placing file dialog FileDialog fd = new FileDialog(activeEditor, - "Open an Arduino sketch...", + _("Open an Arduino sketch..."), FileDialog.LOAD); // This was annoying people, so disabled it in 0125. //fd.setDirectory(Preferences.get("sketchbook.path")); @@ -765,17 +766,17 @@ public boolean handleClose(Editor editor) { if (Base.isMacOS()) { Object[] options = { "OK", "Cancel" }; String prompt = - " " + - " " + - "Are you sure you want to Quit?" + - "

Closing the last open sketch will quit Arduino."; + _(" " + + " " + + "Are you sure you want to Quit?" + + "

Closing the last open sketch will quit Arduino."); int result = JOptionPane.showOptionDialog(editor, prompt, - "Quit", + _("Quit"), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, @@ -896,7 +897,7 @@ protected void rebuildToolbarMenu(JMenu menu) { //System.out.println("rebuilding toolbar menu"); // Add the single "Open" item - item = Editor.newJMenuItem("Open...", 'O'); + item = Editor.newJMenuItem(_("Open..."), 'O'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleOpenPrompt(); @@ -963,7 +964,7 @@ public void rebuildImportMenu(JMenu importMenu) { File sketchbookLibraries = getSketchbookLibrariesFolder(); boolean found = addLibraries(importMenu, sketchbookLibraries); if (found) { - JMenuItem contrib = new JMenuItem("Contributed"); + JMenuItem contrib = new JMenuItem(_("Contributed")); contrib.setEnabled(false); importMenu.insert(contrib, separatorIndex); importMenu.insertSeparator(separatorIndex); @@ -1087,10 +1088,10 @@ public void actionPerformed(ActionEvent e) { handleOpen(path); } } else { - showWarning("Sketch Does Not Exist", - "The selected sketch no longer exists.\n" + - "You may need to restart Arduino to update\n" + - "the sketchbook menu.", null); + showWarning(_("Sketch Does Not Exist"), + _("The selected sketch no longer exists.\n" + + "You may need to restart Arduino to update\n" + + "the sketchbook menu."), null); } } }; @@ -1116,14 +1117,15 @@ public void actionPerformed(ActionEvent e) { //if (!sanityCheck.equals(list[i])) { if (!Sketch.isSanitaryName(list[i])) { if (!builtOnce) { - String complaining = - "The sketch \"" + list[i] + "\" cannot be used.\n" + - "Sketch names must contain only basic letters and numbers\n" + - "(ASCII-only with no spaces, " + - "and it cannot start with a number).\n" + - "To get rid of this message, remove the sketch from\n" + - entry.getAbsolutePath(); - Base.showMessage("Ignoring sketch with bad name", complaining); + String complaining = I18n.format( + _("The sketch \"{0}\" cannot be used.\n" + + "Sketch names must contain only basic letters and numbers\n" + + "(ASCII-only with no spaces, " + + "and it cannot start with a number).\n" + + "To get rid of this message, remove the sketch from\n" + + "{1}"), list[i], entry.getAbsolutePath() + ); + Base.showMessage(_("Ignoring sketch with bad name"), complaining); } continue; } @@ -1192,11 +1194,13 @@ public void actionPerformed(ActionEvent e) { // if (libraryJar.exists()) { String sanityCheck = Sketch.sanitizeName(potentialName); if (!sanityCheck.equals(potentialName)) { - String mess = - "The library \"" + potentialName + "\" cannot be used.\n" + - "Library names must contain only basic letters and numbers.\n" + - "(ASCII only and no spaces, and it cannot start with a number)"; - Base.showMessage("Ignoring bad library name", mess); + String mess = I18n.format( + _("The library \"{0}\" cannot be used.\n" + + "Library names must contain only basic letters and numbers.\n" + + "(ASCII only and no spaces, and it cannot start with a number)"), + potentialName + ); + Base.showMessage(_("Ignoring bad library name"), mess); continue; } @@ -1421,17 +1425,17 @@ static public File getSettingsFolder() { try { settingsFolder = platform.getSettingsFolder(); } catch (Exception e) { - showError("Problem getting data folder", - "Error getting the Arduino data folder.", e); + showError(_("Problem getting data folder"), + _("Error getting the Arduino data folder."), e); } } // create the folder if it doesn't exist already if (!settingsFolder.exists()) { if (!settingsFolder.mkdirs()) { - showError("Settings issues", - "Arduino cannot run because it could not\n" + - "create a folder to store your settings.", null); + showError(_("Settings issues"), + _("Arduino cannot run because it could not\n" + + "create a folder to store your settings."), null); } } return settingsFolder; @@ -1591,9 +1595,9 @@ protected File getDefaultSketchbookFolder() { } if (!result) { - showError("You forgot your sketchbook", - "Arduino cannot run because it could not\n" + - "create a folder to store your sketchbook.", null); + showError(_("You forgot your sketchbook"), + _("Arduino cannot run because it could not\n" + + "create a folder to store your sketchbook."), null); } return sketchbookFolder; @@ -1612,7 +1616,7 @@ static protected File promptSketchbookLocation() { return folder; } - String prompt = "Select (or create new) folder for sketches..."; + String prompt = _("Select (or create new) folder for sketches..."); folder = Base.selectFolder(prompt, null, null); if (folder == null) { System.exit(0); @@ -1636,8 +1640,8 @@ static public void openURL(String url) { platform.openURL(url); } catch (Exception e) { - showWarning("Problem Opening URL", - "Could not open the URL\n" + url, e); + showWarning(_("Problem Opening URL"), + I18n.format(_("Could not open the URL\n{0}"), url), e); } } @@ -1660,8 +1664,8 @@ static public void openFolder(File file) { platform.openFolder(file); } catch (Exception e) { - showWarning("Problem Opening Folder", - "Could not open the folder\n" + file.getAbsolutePath(), e); + showWarning(_("Problem Opening Folder"), + I18n.format(_("Could not open the folder\n{0}"), file.getAbsolutePath()), e); } } @@ -1774,36 +1778,36 @@ static public void showReference(String filename) { static public void showGettingStarted() { if (Base.isMacOS()) { - Base.showReference("Guide_MacOSX.html"); + Base.showReference(_("Guide_MacOSX.html")); } else if (Base.isWindows()) { - Base.showReference("Guide_Windows.html"); + Base.showReference(_("Guide_Windows.html")); } else { - Base.openURL("http://www.arduino.cc/playground/Learning/Linux"); + Base.openURL(_("http://www.arduino.cc/playground/Learning/Linux")); } } static public void showReference() { - showReference("index.html"); + showReference(_("index.html")); } static public void showEnvironment() { - showReference("Guide_Environment.html"); + showReference(_("Guide_Environment.html")); } static public void showPlatforms() { - showReference("environment" + File.separator + "platforms.html"); + showReference(_("environment") + File.separator + _("platforms.html")); } static public void showTroubleshooting() { - showReference("Guide_Troubleshooting.html"); + showReference(_("Guide_Troubleshooting.html")); } static public void showFAQ() { - showReference("FAQ.html"); + showReference(_("FAQ.html")); } @@ -1815,7 +1819,7 @@ static public void showFAQ() { * much of a bummer, but something to notify the user about. */ static public void showMessage(String title, String message) { - if (title == null) title = "Message"; + if (title == null) title = _("Message"); if (commandLine) { System.out.println(title + ": " + message); @@ -1831,7 +1835,7 @@ static public void showMessage(String title, String message) { * Non-fatal error message with optional stack trace side dish. */ static public void showWarning(String title, String message, Exception e) { - if (title == null) title = "Warning"; + if (title == null) title = _("Warning"); if (commandLine) { System.out.println(title + ": " + message); @@ -1850,7 +1854,7 @@ static public void showWarning(String title, String message, Exception e) { * for errors that allow P5 to continue running. */ static public void showError(String title, String message, Throwable e) { - if (title == null) title = "Error"; + if (title == null) title = _("Error"); if (commandLine) { System.err.println(title + ": " + message); @@ -2183,14 +2187,22 @@ static public void saveFile(String str, File file) throws IOException { if (file.exists()) { boolean result = file.delete(); if (!result) { - throw new IOException("Could not remove old version of " + - file.getAbsolutePath()); + throw new IOException( + I18n.format( + _("Could not remove old version of {0}"), + file.getAbsolutePath() + ) + ); } } boolean result = temp.renameTo(file); if (!result) { - throw new IOException("Could not replace " + - file.getAbsolutePath()); + throw new IOException( + I18n.format( + _("Could not replace {0}"), + file.getAbsolutePath() + ) + ); } } @@ -2228,7 +2240,7 @@ static public void removeDir(File dir) { if (dir.exists()) { removeDescendants(dir); if (!dir.delete()) { - System.err.println("Could not delete " + dir); + System.err.println(I18n.format(_("Could not delete {0}"), dir)); } } } @@ -2251,7 +2263,7 @@ static public void removeDescendants(File dir) { if (!Preferences.getBoolean("compiler.save_build_files")) { if (!dead.delete()) { // temporarily disabled - System.err.println("Could not delete " + dead); + System.err.println(I18n.format(_("Could not delete {0}"), dead)); } } } else { diff --git a/app/src/processing/app/Editor.java b/app/src/processing/app/Editor.java index 6de3c48826f..ba2e641c2d6 100644 --- a/app/src/processing/app/Editor.java +++ b/app/src/processing/app/Editor.java @@ -26,6 +26,7 @@ import processing.app.syntax.*; import processing.app.tools.*; import processing.core.*; +import static processing.app.I18n._; import java.awt.*; import java.awt.datatransfer.*; @@ -370,13 +371,14 @@ public boolean importData(JComponent src, Transferable transferable) { } if (successful == 0) { - statusError("No files were added to the sketch."); + statusError(_("No files were added to the sketch.")); } else if (successful == 1) { - statusNotice("One file added to the sketch."); + statusNotice(_("One file added to the sketch.")); } else { - statusNotice(successful + " files added to the sketch."); + statusNotice( + I18n.format(_("{0} files added to the sketch."), successful)); } return true; } @@ -487,9 +489,9 @@ protected void buildMenuBar() { protected JMenu buildFileMenu() { JMenuItem item; - fileMenu = new JMenu("File"); + fileMenu = new JMenu(_("File")); - item = newJMenuItem("New", 'N'); + item = newJMenuItem(_("New"), 'N'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { base.handleNew(); @@ -497,7 +499,7 @@ public void actionPerformed(ActionEvent e) { }); fileMenu.add(item); - item = Editor.newJMenuItem("Open...", 'O'); + item = Editor.newJMenuItem(_("Open..."), 'O'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { base.handleOpenPrompt(); @@ -506,18 +508,18 @@ public void actionPerformed(ActionEvent e) { fileMenu.add(item); if (sketchbookMenu == null) { - sketchbookMenu = new JMenu("Sketchbook"); + sketchbookMenu = new JMenu(_("Sketchbook")); base.rebuildSketchbookMenu(sketchbookMenu); } fileMenu.add(sketchbookMenu); if (examplesMenu == null) { - examplesMenu = new JMenu("Examples"); + examplesMenu = new JMenu(_("Examples")); base.rebuildExamplesMenu(examplesMenu); } fileMenu.add(examplesMenu); - item = Editor.newJMenuItem("Close", 'W'); + item = Editor.newJMenuItem(_("Close"), 'W'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { base.handleClose(Editor.this); @@ -525,7 +527,7 @@ public void actionPerformed(ActionEvent e) { }); fileMenu.add(item); - saveMenuItem = newJMenuItem("Save", 'S'); + saveMenuItem = newJMenuItem(_("Save"), 'S'); saveMenuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleSave(false); @@ -533,7 +535,7 @@ public void actionPerformed(ActionEvent e) { }); fileMenu.add(saveMenuItem); - saveAsMenuItem = newJMenuItemShift("Save As...", 'S'); + saveAsMenuItem = newJMenuItemShift(_("Save As..."), 'S'); saveAsMenuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleSaveAs(); @@ -541,7 +543,7 @@ public void actionPerformed(ActionEvent e) { }); fileMenu.add(saveAsMenuItem); - item = newJMenuItem("Upload", 'U'); + item = newJMenuItem(_("Upload"), 'U'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleExport(false); @@ -549,7 +551,7 @@ public void actionPerformed(ActionEvent e) { }); fileMenu.add(item); - item = newJMenuItemShift("Upload Using Programmer", 'U'); + item = newJMenuItemShift(_("Upload Using Programmer"), 'U'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleExport(true); @@ -559,7 +561,7 @@ public void actionPerformed(ActionEvent e) { fileMenu.addSeparator(); - item = newJMenuItemShift("Page Setup", 'P'); + item = newJMenuItemShift(_("Page Setup"), 'P'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handlePageSetup(); @@ -567,7 +569,7 @@ public void actionPerformed(ActionEvent e) { }); fileMenu.add(item); - item = newJMenuItem("Print", 'P'); + item = newJMenuItem(_("Print"), 'P'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handlePrint(); @@ -579,7 +581,7 @@ public void actionPerformed(ActionEvent e) { if (!Base.isMacOS()) { fileMenu.addSeparator(); - item = newJMenuItem("Preferences", ','); + item = newJMenuItem(_("Preferences"), ','); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { base.handlePrefs(); @@ -589,7 +591,7 @@ public void actionPerformed(ActionEvent e) { fileMenu.addSeparator(); - item = newJMenuItem("Quit", 'Q'); + item = newJMenuItem(_("Quit"), 'Q'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { base.handleQuit(); @@ -603,9 +605,9 @@ public void actionPerformed(ActionEvent e) { protected JMenu buildSketchMenu() { JMenuItem item; - sketchMenu = new JMenu("Sketch"); + sketchMenu = new JMenu(_("Sketch")); - item = newJMenuItem("Verify / Compile", 'R'); + item = newJMenuItem(_("Verify / Compile"), 'R'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleRun(false); @@ -632,12 +634,12 @@ public void actionPerformed(ActionEvent e) { sketchMenu.addSeparator(); if (importMenu == null) { - importMenu = new JMenu("Import Library..."); + importMenu = new JMenu(_("Import Library...")); base.rebuildImportMenu(importMenu); } sketchMenu.add(importMenu); - item = newJMenuItem("Show Sketch Folder", 'K'); + item = newJMenuItem(_("Show Sketch Folder"), 'K'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Base.openFolder(sketch.getFolder()); @@ -646,7 +648,7 @@ public void actionPerformed(ActionEvent e) { sketchMenu.add(item); item.setEnabled(Base.openFolderAvailable()); - item = new JMenuItem("Add File..."); + item = new JMenuItem(_("Add File...")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { sketch.handleAddFile(); @@ -659,13 +661,13 @@ public void actionPerformed(ActionEvent e) { protected JMenu buildToolsMenu() { - toolsMenu = new JMenu("Tools"); + toolsMenu = new JMenu(_("Tools")); JMenu menu = toolsMenu; JMenuItem item; addInternalTools(menu); - item = newJMenuItemShift("Serial Monitor", 'M'); + item = newJMenuItemShift(_("Serial Monitor"), 'M'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleSerial(); @@ -685,7 +687,7 @@ public void actionPerformed(ActionEvent e) { // API, if possible (i.e. if it supports custom actions, etc.) if (boardsMenu == null) { - boardsMenu = new JMenu("Board"); + boardsMenu = new JMenu(_("Board")); base.rebuildBoardsMenu(boardsMenu); } menu.add(boardsMenu); @@ -693,17 +695,16 @@ public void actionPerformed(ActionEvent e) { if (serialMenuListener == null) serialMenuListener = new SerialMenuListener(); if (serialMenu == null) - serialMenu = new JMenu("Serial Port"); + serialMenu = new JMenu(_("Serial Port")); populateSerialMenu(); menu.add(serialMenu); - menu.addSeparator(); - JMenu programmerMenu = new JMenu("Programmer"); + JMenu programmerMenu = new JMenu(_("Programmer")); base.rebuildProgrammerMenu(programmerMenu); menu.add(programmerMenu); - item = new JMenuItem("Burn Bootloader"); + item = new JMenuItem(_("Burn Bootloader")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleBurnBootloader(); @@ -927,18 +928,18 @@ public void actionPerformed(ActionEvent e) { protected void selectSerialPort(String name) { if(serialMenu == null) { - System.out.println("serialMenu is null"); + System.out.println(_("serialMenu is null")); return; } if (name == null) { - System.out.println("name is null"); + System.out.println(_("name is null")); return; } JCheckBoxMenuItem selection = null; for (int i = 0; i < serialMenu.getItemCount(); i++) { JCheckBoxMenuItem item = ((JCheckBoxMenuItem)serialMenu.getItem(i)); if (item == null) { - System.out.println("name is null"); + System.out.println(_("name is null")); continue; } item.setState(false); @@ -990,7 +991,7 @@ protected void populateSerialMenu() { catch (Exception exception) { - System.out.println("error retrieving port list"); + System.out.println(_("error retrieving port list")); exception.printStackTrace(); } @@ -1001,12 +1002,12 @@ protected void populateSerialMenu() { //serialMenu.addSeparator(); //serialMenu.add(item); } - - + + protected JMenu buildHelpMenu() { // To deal with a Mac OS X 10.5 bug, add an extra space after the name // so that the OS doesn't try to insert its slow help menu. - JMenu menu = new JMenu("Help "); + JMenu menu = new JMenu(_("Help")); JMenuItem item; /* @@ -1045,7 +1046,7 @@ public void actionPerformed(ActionEvent e) { menu.add(item); */ - item = new JMenuItem("Getting Started"); + item = new JMenuItem(_("Getting Started")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Base.showGettingStarted(); @@ -1053,7 +1054,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = new JMenuItem("Environment"); + item = new JMenuItem(_("Environment")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Base.showEnvironment(); @@ -1061,7 +1062,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = new JMenuItem("Troubleshooting"); + item = new JMenuItem(_("Troubleshooting")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Base.showTroubleshooting(); @@ -1069,7 +1070,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = new JMenuItem("Reference"); + item = new JMenuItem(_("Reference")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Base.showReference(); @@ -1077,7 +1078,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = newJMenuItemShift("Find in Reference", 'F'); + item = newJMenuItemShift(_("Find in Reference"), 'F'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (textarea.isSelectionActive()) { @@ -1087,7 +1088,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = new JMenuItem("Frequently Asked Questions"); + item = new JMenuItem(_("Frequently Asked Questions")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Base.showFAQ(); @@ -1095,10 +1096,10 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = new JMenuItem("Visit Arduino.cc"); + item = new JMenuItem(_("Visit Arduino.cc")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - Base.openURL("http://arduino.cc/"); + Base.openURL(_("http://arduino.cc/")); } }); menu.add(item); @@ -1106,7 +1107,7 @@ public void actionPerformed(ActionEvent e) { // macosx already has its own about menu if (!Base.isMacOS()) { menu.addSeparator(); - item = new JMenuItem("About Arduino"); + item = new JMenuItem(_("About Arduino")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { base.handleAbout(); @@ -1120,14 +1121,14 @@ public void actionPerformed(ActionEvent e) { protected JMenu buildEditMenu() { - JMenu menu = new JMenu("Edit"); + JMenu menu = new JMenu(_("Edit")); JMenuItem item; - undoItem = newJMenuItem("Undo", 'Z'); + undoItem = newJMenuItem(_("Undo"), 'Z'); undoItem.addActionListener(undoAction = new UndoAction()); menu.add(undoItem); - redoItem = newJMenuItem("Redo", 'Y'); + redoItem = newJMenuItem(_("Redo"), 'Y'); redoItem.addActionListener(redoAction = new RedoAction()); menu.add(redoItem); @@ -1135,7 +1136,7 @@ protected JMenu buildEditMenu() { // TODO "cut" and "copy" should really only be enabled // if some text is currently selected - item = newJMenuItem("Cut", 'X'); + item = newJMenuItem(_("Cut"), 'X'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleCut(); @@ -1143,7 +1144,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = newJMenuItem("Copy", 'C'); + item = newJMenuItem(_("Copy"), 'C'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { textarea.copy(); @@ -1151,7 +1152,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = newJMenuItemShift("Copy for Forum", 'C'); + item = newJMenuItemShift(_("Copy for Forum"), 'C'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // SwingUtilities.invokeLater(new Runnable() { @@ -1163,7 +1164,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = newJMenuItemAlt("Copy as HTML", 'C'); + item = newJMenuItemAlt(_("Copy as HTML"), 'C'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // SwingUtilities.invokeLater(new Runnable() { @@ -1175,7 +1176,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = newJMenuItem("Paste", 'V'); + item = newJMenuItem(_("Paste"), 'V'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { textarea.paste(); @@ -1184,7 +1185,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = newJMenuItem("Select All", 'A'); + item = newJMenuItem(_("Select All"), 'A'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { textarea.selectAll(); @@ -1194,7 +1195,7 @@ public void actionPerformed(ActionEvent e) { menu.addSeparator(); - item = newJMenuItem("Comment/Uncomment", '/'); + item = newJMenuItem(_("Comment/Uncomment"), '/'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleCommentUncomment(); @@ -1202,7 +1203,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = newJMenuItem("Increase Indent", ']'); + item = newJMenuItem(_("Increase Indent"), ']'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleIndentOutdent(true); @@ -1210,7 +1211,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = newJMenuItem("Decrease Indent", '['); + item = newJMenuItem(_("Decrease Indent"), '['); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleIndentOutdent(false); @@ -1220,7 +1221,7 @@ public void actionPerformed(ActionEvent e) { menu.addSeparator(); - item = newJMenuItem("Find...", 'F'); + item = newJMenuItem(_("Find..."), 'F'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (find == null) { @@ -1235,7 +1236,7 @@ public void actionPerformed(ActionEvent e) { // TODO find next should only be enabled after a // search has actually taken place - item = newJMenuItem("Find Next", 'G'); + item = newJMenuItem(_("Find Next"), 'G'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (find != null) { @@ -1322,7 +1323,7 @@ protected void updateUndoState() { } else { this.setEnabled(false); undoItem.setEnabled(false); - undoItem.setText("Undo"); + undoItem.setText(_("Undo")); putValue(Action.NAME, "Undo"); if (sketch != null) { sketch.setModified(false); // 0107 @@ -1357,7 +1358,7 @@ protected void updateRedoState() { } else { this.setEnabled(false); redoItem.setEnabled(false); - redoItem.setText("Redo"); + redoItem.setText(_("Redo")); putValue(Action.NAME, "Redo"); } } @@ -1797,15 +1798,17 @@ protected void handleFindReference() { String text = textarea.getSelectedText().trim(); if (text.length() == 0) { - statusNotice("First select a word to find in the reference."); + statusNotice(_("First select a word to find in the reference.")); } else { String referenceFile = PdeKeywords.getReference(text); //System.out.println("reference file is " + referenceFile); if (referenceFile == null) { - statusNotice("No reference available for \"" + text + "\""); + statusNotice( + I18n.format(_("No reference available for \"{0}\""), text) + ); } else { - Base.showReference(referenceFile + ".html"); + Base.showReference(I18n.format(_("{0}.html"), referenceFile)); } } } @@ -1822,7 +1825,7 @@ public void handleRun(final boolean verbose) { internalCloseRunner(); running = true; toolbar.activate(EditorToolbar.RUN); - status.progress("Compiling sketch..."); + status.progress(_("Compiling sketch...")); // do this to advance/clear the terminal window / dos prompt / etc for (int i = 0; i < 10; i++) System.out.println(); @@ -1843,7 +1846,7 @@ public void run() { try { sketch.prepare(); sketch.build(false); - statusNotice("Done compiling."); + statusNotice(_("Done compiling.")); } catch (Exception e) { status.unprogress(); statusError(e); @@ -1860,7 +1863,7 @@ public void run() { try { sketch.prepare(); sketch.build(true); - statusNotice("Done compiling."); + statusNotice(_("Done compiling.")); } catch (Exception e) { status.unprogress(); statusError(e); @@ -1952,11 +1955,11 @@ protected boolean checkModified() { // As of Processing 1.0.10, this always happens immediately. // http://dev.processing.org/bugs/show_bug.cgi?id=1456 - String prompt = "Save changes to " + sketch.getName() + "? "; + String prompt = I18n.format(_("Save changes to \"{0}\"? "), sketch.getName()); if (!Base.isMacOS()) { int result = - JOptionPane.showConfirmDialog(this, prompt, "Close", + JOptionPane.showConfirmDialog(this, prompt, _("Close"), JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); @@ -1985,18 +1988,18 @@ protected boolean checkModified() { // Pane formatting adapted from the quaqua guide // http://www.randelshofer.ch/quaqua/guide/joptionpane.html JOptionPane pane = - new JOptionPane(" " + - " " + - "Do you want to save changes to this sketch
" + - " before closing?
" + - "

If you don't save, your changes will be lost.", + new JOptionPane(_(" " + + " " + + "Do you want to save changes to this sketch
" + + " before closing?
" + + "

If you don't save, your changes will be lost."), JOptionPane.QUESTION_MESSAGE); String[] options = new String[] { - "Save", "Cancel", "Don't Save" + _("Save"), _("Cancel"), _("Don't Save") }; pane.setOptions(options); @@ -2068,24 +2071,27 @@ protected boolean handleOpenInternal(String path) { } else if (altInoFile.exists()) { path = altInoFile.getAbsolutePath(); } else if (!path.endsWith(".ino") && !path.endsWith(".pde")) { - Base.showWarning("Bad file selected", - "Processing can only open its own sketches\n" + - "and other files ending in .ino or .pde", null); + Base.showWarning(_("Bad file selected"), + _("Processing can only open its own sketches\n" + + "and other files ending in .ino or .pde"), null); return false; } else { String properParent = fileName.substring(0, fileName.length() - 4); - Object[] options = { "OK", "Cancel" }; - String prompt = - "The file \"" + fileName + "\" needs to be inside\n" + - "a sketch folder named \"" + properParent + "\".\n" + - "Create this folder, move the file, and continue?"; + Object[] options = { _("OK"), _("Cancel") }; + String prompt = I18n.format( + _("The file \"{0}\" needs to be inside\n" + + "a sketch folder named \"{1}\".\n" + + "Create this folder, move the file, and continue?"), + fileName, + properParent + ); int result = JOptionPane.showOptionDialog(this, prompt, - "Moving", + _("Moving"), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, @@ -2096,15 +2102,19 @@ protected boolean handleOpenInternal(String path) { // create properly named folder File properFolder = new File(file.getParent(), properParent); if (properFolder.exists()) { - Base.showWarning("Error", - "A folder named \"" + properParent + "\" " + - "already exists. Can't open sketch.", null); + Base.showWarning(_("Error"), + I18n.format( + _("A folder named \"{0}\" already exists. " + + "Can't open sketch."), + properParent + ), + null); return false; } if (!properFolder.mkdirs()) { //throw new IOException("Couldn't create sketch folder"); - Base.showWarning("Error", - "Could not create the sketch folder.", null); + Base.showWarning(_("Error"), + _("Could not create the sketch folder."), null); return false; } // copy the sketch inside @@ -2113,7 +2123,7 @@ protected boolean handleOpenInternal(String path) { try { Base.copyFile(origPdeFile, properPdeFile); } catch (IOException e) { - Base.showWarning("Error", "Could not copy to a proper location.", e); + Base.showWarning(_("Error"), _("Could not copy to a proper location."), e); return false; } @@ -2131,12 +2141,18 @@ protected boolean handleOpenInternal(String path) { try { sketch = new Sketch(this, path); } catch (IOException e) { - Base.showWarning("Error", "Could not create the sketch.", e); + Base.showWarning(_("Error"), _("Could not create the sketch."), e); return false; } header.rebuild(); // Set the title of the window to "sketch_070752a - Processing 0126" - setTitle(sketch.getName() + " | Arduino " + Base.VERSION_NAME); + setTitle( + I18n.format( + _("{0} | Arduino {1}"), + sketch.getName(), + Base.VERSION_NAME + ) + ); // Disable untitled setting from previous document, if any untitled = false; @@ -2189,12 +2205,12 @@ public void run() { protected boolean handleSave2() { toolbar.activate(EditorToolbar.SAVE); - statusNotice("Saving..."); + statusNotice(_("Saving...")); boolean saved = false; try { saved = sketch.save(); if (saved) - statusNotice("Done Saving."); + statusNotice(_("Done Saving.")); else statusEmpty(); // rebuild sketch menu in case a save-as was forced @@ -2227,16 +2243,16 @@ public boolean handleSaveAs() { //SwingUtilities.invokeLater(new Runnable() { //public void run() { - statusNotice("Saving..."); + statusNotice(_("Saving...")); try { if (sketch.saveAs()) { - statusNotice("Done Saving."); + statusNotice(_("Done Saving.")); // Disabling this for 0125, instead rebuild the menu inside // the Save As method of the Sketch object, since that's the // only one who knows whether something was renamed. //sketchbook.rebuildMenusAsync(); } else { - statusNotice("Save Canceled."); + statusNotice(_("Save Canceled.")); return false; } } catch (Exception e) { @@ -2261,11 +2277,12 @@ public boolean serialPrompt() { String result = (String) JOptionPane.showInputDialog(this, - "Serial port " + - Preferences.get("serial.port") + - " not found.\n" + - "Retry the upload with another serial port?", - "Serial port not found", + I18n.format( + _("Serial port {0} not found.\n" + + "Retry the upload with another serial port?"), + Preferences.get("serial.port") + ), + "Serial port not found", JOptionPane.PLAIN_MESSAGE, null, names, @@ -2296,7 +2313,7 @@ synchronized public void handleExport(final boolean usingProgrammer) { //if (!handleExportCheckModified()) return; toolbar.activate(EditorToolbar.EXPORT); console.clear(); - status.progress("Uploading to I/O Board..."); + status.progress(_("Uploading to I/O Board...")); new Thread(usingProgrammer ? exportAppHandler : exportHandler).start(); } @@ -2313,7 +2330,7 @@ public void run() { boolean success = sketch.exportApplet(false); if (success) { - statusNotice("Done uploading."); + statusNotice(_("Done uploading.")); } else { // error message will already be visible } @@ -2321,7 +2338,7 @@ public void run() { populateSerialMenu(); if (serialMenu.getItemCount() == 0) statusError(e); else if (serialPrompt()) run(); - else statusNotice("Upload canceled."); + else statusNotice(_("Upload canceled.")); } catch (RunnerException e) { //statusError("Error during upload."); //e.printStackTrace(); @@ -2349,7 +2366,7 @@ public void run() { boolean success = sketch.exportApplet(true); if (success) { - statusNotice("Done uploading."); + statusNotice(_("Done uploading.")); } else { // error message will already be visible } @@ -2357,7 +2374,7 @@ public void run() { populateSerialMenu(); if (serialMenu.getItemCount() == 0) statusError(e); else if (serialPrompt()) run(); - else statusNotice("Upload canceled."); + else statusNotice(_("Upload canceled.")); } catch (RunnerException e) { //statusError("Error during upload."); //e.printStackTrace(); @@ -2383,10 +2400,10 @@ public void run() { protected boolean handleExportCheckModified() { if (!sketch.isModified()) return true; - Object[] options = { "OK", "Cancel" }; + Object[] options = { _("OK"), _("Cancel") }; int result = JOptionPane.showOptionDialog(this, - "Save changes before export?", - "Save", + _("Save changes before export?"), + _("Save"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, @@ -2400,7 +2417,7 @@ protected boolean handleExportCheckModified() { // why it's not CANCEL_OPTION is beyond me (at least on the mac) // but f-- it.. let's get this shite done.. //} else if (result == JOptionPane.CANCEL_OPTION) { - statusNotice("Export canceled, changes must first be saved."); + statusNotice(_("Export canceled, changes must first be saved.")); //toolbar.clear(); return false; } @@ -2422,23 +2439,23 @@ public void handleSerial() { protected void handleBurnBootloader() { console.clear(); - statusNotice("Burning bootloader to I/O Board (this may take a minute)..."); + statusNotice(_("Burning bootloader to I/O Board (this may take a minute)...")); SwingUtilities.invokeLater(new Runnable() { public void run() { try { Uploader uploader = new AvrdudeUploader(); if (uploader.burnBootloader()) { - statusNotice("Done burning bootloader."); + statusNotice(_("Done burning bootloader.")); } else { - statusError("Error while burning bootloader."); + statusError(_("Error while burning bootloader.")); // error message will already be visible } } catch (RunnerException e) { - statusError("Error while burning bootloader."); + statusError(_("Error while burning bootloader.")); e.printStackTrace(); //statusError(e); } catch (Exception e) { - statusError("Error while burning bootloader."); + statusError(_("Error while burning bootloader.")); e.printStackTrace(); } }}); @@ -2465,7 +2482,7 @@ public void handlePageSetup() { * Handler for File → Print. */ public void handlePrint() { - statusNotice("Printing..."); + statusNotice(_("Printing...")); //printerJob = null; if (printerJob == null) { printerJob = PrinterJob.getPrinterJob(); @@ -2482,14 +2499,14 @@ public void handlePrint() { if (printerJob.printDialog()) { try { printerJob.print(); - statusNotice("Done printing."); + statusNotice(_("Done printing.")); } catch (PrinterException pe) { - statusError("Error while printing."); + statusError(_("Error while printing.")); pe.printStackTrace(); } } else { - statusNotice("Printing canceled."); + statusNotice(_("Printing canceled.")); } //printerJob = null; // clear this out? } @@ -2537,7 +2554,7 @@ public void statusError(Exception e) { } } if (line < 0 || line >= textarea.getLineCount()) { - System.err.println("Bad error line: " + line); + System.err.println(I18n.format(_("Bad error line: {0}"), line)); } else { textarea.select(textarea.getLineStartOffset(line), textarea.getLineStopOffset(line) - 1); @@ -2606,7 +2623,7 @@ class TextAreaPopup extends JPopupMenu { private String clickedURL; public TextAreaPopup() { - openURLItem = new JMenuItem("Open URL"); + openURLItem = new JMenuItem(_("Open URL")); openURLItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Base.openURL(clickedURL); @@ -2617,7 +2634,7 @@ public void actionPerformed(ActionEvent e) { openURLItemSeparator = new JSeparator(); add(openURLItemSeparator); - cutItem = new JMenuItem("Cut"); + cutItem = new JMenuItem(_("Cut")); cutItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleCut(); @@ -2625,7 +2642,7 @@ public void actionPerformed(ActionEvent e) { }); add(cutItem); - copyItem = new JMenuItem("Copy"); + copyItem = new JMenuItem(_("Copy")); copyItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleCopy(); @@ -2633,7 +2650,7 @@ public void actionPerformed(ActionEvent e) { }); add(copyItem); - discourseItem = new JMenuItem("Copy for Forum"); + discourseItem = new JMenuItem(_("Copy for Forum")); discourseItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleDiscourseCopy(); @@ -2641,7 +2658,7 @@ public void actionPerformed(ActionEvent e) { }); add(discourseItem); - discourseItem = new JMenuItem("Copy as HTML"); + discourseItem = new JMenuItem(_("Copy as HTML")); discourseItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleHTMLCopy(); @@ -2649,7 +2666,7 @@ public void actionPerformed(ActionEvent e) { }); add(discourseItem); - JMenuItem item = new JMenuItem("Paste"); + JMenuItem item = new JMenuItem(_("Paste")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handlePaste(); @@ -2657,7 +2674,7 @@ public void actionPerformed(ActionEvent e) { }); add(item); - item = new JMenuItem("Select All"); + item = new JMenuItem(_("Select All")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleSelectAll(); @@ -2667,7 +2684,7 @@ public void actionPerformed(ActionEvent e) { addSeparator(); - item = new JMenuItem("Comment/Uncomment"); + item = new JMenuItem(_("Comment/Uncomment")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleCommentUncomment(); @@ -2675,7 +2692,7 @@ public void actionPerformed(ActionEvent e) { }); add(item); - item = new JMenuItem("Increase Indent"); + item = new JMenuItem(_("Increase Indent")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleIndentOutdent(true); @@ -2683,7 +2700,7 @@ public void actionPerformed(ActionEvent e) { }); add(item); - item = new JMenuItem("Decrease Indent"); + item = new JMenuItem(_("Decrease Indent")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleIndentOutdent(false); @@ -2693,7 +2710,7 @@ public void actionPerformed(ActionEvent e) { addSeparator(); - referenceItem = new JMenuItem("Find in Reference"); + referenceItem = new JMenuItem(_("Find in Reference")); referenceItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleFindReference(); diff --git a/app/src/processing/app/EditorConsole.java b/app/src/processing/app/EditorConsole.java index 38cf00fc2ed..591b758da64 100644 --- a/app/src/processing/app/EditorConsole.java +++ b/app/src/processing/app/EditorConsole.java @@ -22,6 +22,7 @@ */ package processing.app; +import static processing.app.I18n._; import java.awt.*; import java.awt.event.*; @@ -143,9 +144,8 @@ public EditorConsole(Editor editor) { stderrFile = new FileOutputStream(errFile); } } catch (IOException e) { - Base.showWarning("Console Error", - "A problem occurred while trying to open the\n" + - "files used to store the console output.", e); + Base.showWarning(_("Console Error"), + _("A problem occurred while trying to open the\nfiles used to store the console output."), e); } consoleOut = new PrintStream(new EditorConsoleStream(false)); consoleErr = new PrintStream(new EditorConsoleStream(true)); diff --git a/app/src/processing/app/EditorHeader.java b/app/src/processing/app/EditorHeader.java index d40eddacf51..a331dc4c089 100644 --- a/app/src/processing/app/EditorHeader.java +++ b/app/src/processing/app/EditorHeader.java @@ -22,6 +22,7 @@ */ package processing.app; +import static processing.app.I18n._; import java.awt.*; import java.awt.event.*; @@ -288,7 +289,7 @@ public void actionPerformed(ActionEvent e) { */ //item = new JMenuItem("New Tab"); - item = Editor.newJMenuItemShift("New Tab", 'N'); + item = Editor.newJMenuItemShift(_("New Tab"), 'N'); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { editor.getSketch().handleNewCode(); @@ -296,7 +297,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = new JMenuItem("Rename"); + item = new JMenuItem(_("Rename")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { editor.getSketch().handleRenameCode(); @@ -310,7 +311,7 @@ public void actionPerformed(ActionEvent e) { }); menu.add(item); - item = new JMenuItem("Delete"); + item = new JMenuItem(_("Delete")); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { editor.getSketch().handleDeleteCode(); @@ -322,7 +323,7 @@ public void actionPerformed(ActionEvent e) { // KeyEvent.VK_LEFT and VK_RIGHT will make Windows beep - item = new JMenuItem("Previous Tab"); + item = new JMenuItem(_("Previous Tab")); KeyStroke ctrlAltLeft = KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, Editor.SHORTCUT_ALT_KEY_MASK); item.setAccelerator(ctrlAltLeft); @@ -336,7 +337,7 @@ public void actionPerformed(ActionEvent e) { */ menu.add(item); - item = new JMenuItem("Next Tab"); + item = new JMenuItem(_("Next Tab")); KeyStroke ctrlAltRight = KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, Editor.SHORTCUT_ALT_KEY_MASK); item.setAccelerator(ctrlAltRight); diff --git a/app/src/processing/app/EditorToolbar.java b/app/src/processing/app/EditorToolbar.java index 6b04aa2d98f..e7b8d3752d8 100644 --- a/app/src/processing/app/EditorToolbar.java +++ b/app/src/processing/app/EditorToolbar.java @@ -22,6 +22,7 @@ */ package processing.app; +import static processing.app.I18n._; import java.awt.*; import java.awt.event.*; @@ -37,12 +38,12 @@ public class EditorToolbar extends JComponent implements MouseInputListener, Key /** Rollover titles for each button. */ static final String title[] = { - "Verify", "Upload", "New", "Open", "Save", "Serial Monitor" + _("Verify"), _("Upload"), _("New"), _("Open"), _("Save"), _("Serial Monitor") }; /** Titles for each button when the shift key is pressed. */ static final String titleShift[] = { - "Verify", "Upload Using Programmer", "New Editor Window", "Open in Another Window", "Save", "Serial Monitor" + _("Verify"), _("Upload Using Programmer"), _("New Editor Window"), _("Open in Another Window"), _("Save"), _("Serial Monitor") }; static final int BUTTON_COUNT = title.length; diff --git a/app/src/processing/app/FindReplace.java b/app/src/processing/app/FindReplace.java index 112eca3ade1..95ae7e7cdb7 100644 --- a/app/src/processing/app/FindReplace.java +++ b/app/src/processing/app/FindReplace.java @@ -22,6 +22,7 @@ */ package processing.app; +import static processing.app.I18n._; import java.awt.*; import java.awt.event.*; @@ -75,9 +76,9 @@ public FindReplace(Editor editor) { Container pain = getContentPane(); pain.setLayout(null); - JLabel findLabel = new JLabel("Find:"); + JLabel findLabel = new JLabel(_("Find:")); Dimension d0 = findLabel.getPreferredSize(); - JLabel replaceLabel = new JLabel("Replace with:"); + JLabel replaceLabel = new JLabel(_("Replace with:")); Dimension d1 = replaceLabel.getPreferredSize(); pain.add(findLabel); @@ -117,7 +118,7 @@ public void focusLost(FocusEvent e) { d1.width, d1.height); //ignoreCase = true; - ignoreCaseBox = new JCheckBox("Ignore Case"); + ignoreCaseBox = new JCheckBox(_("Ignore Case")); ignoreCaseBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ignoreCase = ignoreCaseBox.isSelected(); @@ -133,16 +134,16 @@ public void actionPerformed(ActionEvent e) { // ordering is different on mac versus pc if (Base.isMacOS()) { - buttons.add(replaceAllButton = new JButton("Replace All")); - buttons.add(replaceButton = new JButton("Replace")); - buttons.add(replaceFindButton = new JButton("Replace & Find")); - buttons.add(findButton = new JButton("Find")); + buttons.add(replaceAllButton = new JButton(_("Replace All"))); + buttons.add(replaceButton = new JButton(_("Replace"))); + buttons.add(replaceFindButton = new JButton(_("Replace & Find"))); + buttons.add(findButton = new JButton(_("Find"))); } else { - buttons.add(findButton = new JButton("Find")); - buttons.add(replaceFindButton = new JButton("Replace & Find")); - buttons.add(replaceButton = new JButton("Replace")); - buttons.add(replaceAllButton = new JButton("Replace All")); + buttons.add(findButton = new JButton(_("Find"))); + buttons.add(replaceFindButton = new JButton(_("Replace & Find"))); + buttons.add(replaceButton = new JButton(_("Replace"))); + buttons.add(replaceAllButton = new JButton(_("Replace All"))); } pain.add(buttons); diff --git a/app/src/processing/app/I18n.java b/app/src/processing/app/I18n.java new file mode 100644 index 00000000000..0e3396a2797 --- /dev/null +++ b/app/src/processing/app/I18n.java @@ -0,0 +1,33 @@ +/* + * by Shigeru KANEMOTO at SWITCHSCIENCE. + * + * Extract strings to be translated by: + * % xgettext -L Java --from-code=utf-8 -k_ -d Resources_ja *.java + * Extract and merge by: + * % xgettext -j -L Java --from-code=utf-8 -k_ -d Resources_ja *.java + * + * Edit "Resources_ja.po". + * Convert to the properties file format by: + * % msgcat -p Resources_ja.po > Resources_ja.properties + */ + +package processing.app; +import java.util.*; +import java.text.MessageFormat; + +public class I18n { + private static ResourceBundle i18n = ResourceBundle.getBundle("processing.app.Resources"); + + public static String _(String s) { + try { + return i18n.getString(s); + } + catch (MissingResourceException e) { + return s; + } + } + + public static String format(String fmt, Object ... args) { + return MessageFormat.format(fmt, args); + } +} diff --git a/app/src/processing/app/Platform.java b/app/src/processing/app/Platform.java index 9fd0fd972f2..1fcdb899edd 100644 --- a/app/src/processing/app/Platform.java +++ b/app/src/processing/app/Platform.java @@ -21,6 +21,7 @@ */ package processing.app; +import static processing.app.I18n._; import java.io.File; @@ -163,10 +164,8 @@ public int unsetenv(String variable) { protected void showLauncherWarning() { - Base.showWarning("No launcher available", - "Unspecified platform, no launcher available.\n" + - "To enable opening URLs or folders, add a \n" + - "\"launcher=/path/to/app\" line to preferences.txt", + Base.showWarning(_("No launcher available"), + _("Unspecified platform, no launcher available.\nTo enable opening URLs or folders, add a \n\"launcher=/path/to/app\" line to preferences.txt"), null); } -} \ No newline at end of file +} diff --git a/app/src/processing/app/Preferences.java b/app/src/processing/app/Preferences.java index f98fc9df681..5572c62d00c 100644 --- a/app/src/processing/app/Preferences.java +++ b/app/src/processing/app/Preferences.java @@ -32,6 +32,7 @@ import processing.app.syntax.*; import processing.core.*; +import static processing.app.I18n._; @@ -72,11 +73,11 @@ public class Preferences { // prompt text stuff - static final String PROMPT_YES = "Yes"; - static final String PROMPT_NO = "No"; - static final String PROMPT_CANCEL = "Cancel"; - static final String PROMPT_OK = "OK"; - static final String PROMPT_BROWSE = "Browse"; + static final String PROMPT_YES = _("Yes"); + static final String PROMPT_NO = _("No"); + static final String PROMPT_CANCEL = _("Cancel"); + static final String PROMPT_OK = _("OK"); + static final String PROMPT_BROWSE = _("Browse"); /** * Standardized width for buttons. Mac OS X 10.3 wants 70 as its default, @@ -144,8 +145,8 @@ static protected void init(String commandLinePrefs) { try { load(Base.getLibStream("preferences.txt")); } catch (Exception e) { - Base.showError(null, "Could not read default settings.\n" + - "You'll need to reinstall Arduino.", e); + Base.showError(null, _("Could not read default settings.\n" + + "You'll need to reinstall Arduino."), e); } // check for platform-specific properties in the defaults @@ -174,9 +175,11 @@ static protected void init(String commandLinePrefs) { load(new FileInputStream(commandLinePrefs)); } catch (Exception poe) { - Base.showError("Error", - "Could not read preferences from " + - commandLinePrefs, poe); + Base.showError(_("Error"), + I18n.format( + _("Could not read preferences from {0}"), + commandLinePrefs + ), poe); } } else if (!Base.isCommandLine()) { // next load user preferences file @@ -193,11 +196,13 @@ static protected void init(String commandLinePrefs) { load(new FileInputStream(preferencesFile)); } catch (Exception ex) { - Base.showError("Error reading preferences", - "Error reading the preferences file. " + - "Please delete (or move)\n" + - preferencesFile.getAbsolutePath() + - " and restart Arduino.", ex); + Base.showError(_("Error reading preferences"), + I18n.format( + _("Error reading the preferences file. " + + "Please delete (or move)\n" + + "{0} and restart Arduino."), + preferencesFile.getAbsolutePath() + ), ex); } } } @@ -209,7 +214,7 @@ public Preferences() { // setup dialog for the prefs //dialog = new JDialog(editor, "Preferences", true); - dialog = new JFrame("Preferences"); + dialog = new JFrame(_("Preferences")); dialog.setResizable(false); Container pain = dialog.getContentPane(); @@ -229,7 +234,7 @@ public Preferences() { // Sketchbook location: // [...............................] [ Browse ] - label = new JLabel("Sketchbook location:"); + label = new JLabel(_("Sketchbook location:")); pain.add(label); d = label.getPreferredSize(); label.setBounds(left, top, d.width, d.height); @@ -244,7 +249,7 @@ public Preferences() { public void actionPerformed(ActionEvent e) { File dflt = new File(sketchbookLocationField.getText()); File file = - Base.selectFolder("Select new sketchbook location", dflt, dialog); + Base.selectFolder(_("Select new sketchbook location"), dflt, dialog); if (file != null) { sketchbookLocationField.setText(file.getAbsolutePath()); } @@ -268,11 +273,11 @@ public void actionPerformed(ActionEvent e) { // Editor font size [ ] Container box = Box.createHorizontalBox(); - label = new JLabel("Editor font size: "); + label = new JLabel(_("Editor font size: ")); box.add(label); fontSizeField = new JTextField(4); box.add(fontSizeField); - label = new JLabel(" (requires restart of Arduino)"); + label = new JLabel(_(" (requires restart of Arduino)")); box.add(label); pain.add(box); d = box.getPreferredSize(); @@ -285,11 +290,11 @@ public void actionPerformed(ActionEvent e) { // Show verbose output during: [ ] compilation [ ] upload box = Box.createHorizontalBox(); - label = new JLabel("Show verbose output during: "); + label = new JLabel(_("Show verbose output during: ")); box.add(label); - verboseCompilationBox = new JCheckBox("compilation "); + verboseCompilationBox = new JCheckBox(_("compilation ")); box.add(verboseCompilationBox); - verboseUploadBox = new JCheckBox("upload"); + verboseUploadBox = new JCheckBox(_("upload")); box.add(verboseUploadBox); pain.add(box); d = box.getPreferredSize(); @@ -300,7 +305,7 @@ public void actionPerformed(ActionEvent e) { // [ ] Delete previous applet or application folder on export deletePreviousBox = - new JCheckBox("Delete previous applet or application folder on export"); + new JCheckBox(_("Delete previous applet or application folder on export")); pain.add(deletePreviousBox); d = deletePreviousBox.getPreferredSize(); deletePreviousBox.setBounds(left, top, d.width + 10, d.height); @@ -310,7 +315,7 @@ public void actionPerformed(ActionEvent e) { // [ ] Use external editor - externalEditorBox = new JCheckBox("Use external editor"); + externalEditorBox = new JCheckBox(_("Use external editor")); pain.add(externalEditorBox); d = externalEditorBox.getPreferredSize(); externalEditorBox.setBounds(left, top, d.width + 10, d.height); @@ -320,7 +325,7 @@ public void actionPerformed(ActionEvent e) { // [ ] Check for updates on startup - checkUpdatesBox = new JCheckBox("Check for updates on startup"); + checkUpdatesBox = new JCheckBox(_("Check for updates on startup")); pain.add(checkUpdatesBox); d = checkUpdatesBox.getPreferredSize(); checkUpdatesBox.setBounds(left, top, d.width + 10, d.height); @@ -329,7 +334,7 @@ public void actionPerformed(ActionEvent e) { // [ ] Update sketch files to new extension on save (.pde -> .ino) - updateExtensionBox = new JCheckBox("Update sketch files to new extension on save (.pde -> .ino)"); + updateExtensionBox = new JCheckBox(_("Update sketch files to new extension on save (.pde -> .ino)")); pain.add(updateExtensionBox); d = updateExtensionBox.getPreferredSize(); updateExtensionBox.setBounds(left, top, d.width + 10, d.height); @@ -340,7 +345,7 @@ public void actionPerformed(ActionEvent e) { if (Base.isWindows()) { autoAssociateBox = - new JCheckBox("Automatically associate .ino files with Arduino"); + new JCheckBox(_("Automatically associate .ino files with Arduino")); pain.add(autoAssociateBox); d = autoAssociateBox.getPreferredSize(); autoAssociateBox.setBounds(left, top, d.width + 10, d.height); @@ -351,7 +356,7 @@ public void actionPerformed(ActionEvent e) { // More preferences are in the ... - label = new JLabel("More preferences can be edited directly in the file"); + label = new JLabel(_("More preferences can be edited directly in the file")); pain.add(label); d = label.getPreferredSize(); label.setForeground(Color.gray); @@ -380,7 +385,7 @@ public void mouseExited(MouseEvent e) { right = Math.max(right, left + d.width); top += d.height; - label = new JLabel("(edit only when Arduino is not running)"); + label = new JLabel(_("(edit only when Arduino is not running)")); pain.add(label); d = label.getPreferredSize(); label.setForeground(Color.gray); @@ -528,7 +533,7 @@ protected void applyFrame() { set("editor.font", PApplet.join(pieces, ',')); } catch (Exception e) { - System.err.println("ignoring invalid font size " + newSizeText); + System.err.println(I18n.format(_("ignoring invalid font size {0}"), newSizeText)); } if (autoAssociateBox != null) { diff --git a/app/src/processing/app/Resources.java b/app/src/processing/app/Resources.java new file mode 100644 index 00000000000..18d81d7ad52 --- /dev/null +++ b/app/src/processing/app/Resources.java @@ -0,0 +1,13 @@ +/* + * by Shigeru KANEMOTO at SWITCHSCIENCE. + * on 2011-10-15 + */ + +package processing.app; +import java.util.ListResourceBundle; + +public class Resources extends ListResourceBundle { + protected Object[][] getContents() { + return new Object[][] {}; // Empty + } +} diff --git a/app/src/processing/app/Resources_ja.po b/app/src/processing/app/Resources_ja.po new file mode 100644 index 00000000000..730eb86ac31 --- /dev/null +++ b/app/src/processing/app/Resources_ja.po @@ -0,0 +1,1507 @@ +# Japanese language resource for the Arduino IDE. +# Copyright (C) 2011 switch-science.com +# This file is distributed under the same license as the Arduino IDE package. +# Shigeru KANEMOTO . +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-10-11 23:09+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Shigeru KANEMOTO \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: SketchCode.java:83 +#, java-format +msgid "Error while loading code {0}" +msgstr "「{0}」からのコード読み込みの際にエラーが発生しました。" + +#: SketchCode.java:258 +#, java-format +msgid "" +"\"{0}\" contains unrecognized characters.If this code was created with an " +"older version of Processing,you may need to use Tools -> Fix Encoding & " +"Reload to updatethe sketch to use UTF-8 encoding. If not, you may need " +"todelete the bad characters to get rid of this warning." +msgstr "" +"「{0}」には、認識できない文字が含まれています。もしも、古いバージョンのIDEでこのスケッチを作成していた場合には、「ツール」メニューの「エンコーディングの修正」を実行する事によって、ファイルのエンコーディングをUTF-8に変更してください。そうでない場合には、これらの認識できない文字を手作業で削除していただく必要があります。" + +#: Preferences.java:76 UpdateCheck.java:108 +msgid "Yes" +msgstr "はい" + +#: Preferences.java:77 UpdateCheck.java:108 +msgid "No" +msgstr "いいえ" + +#: Preferences.java:78 Sketch.java:589 Sketch.java:741 Sketch.java:1046 +#: Editor.java:2002 Editor.java:2083 Editor.java:2403 +msgid "Cancel" +msgstr "キャンセル" + +#: Preferences.java:79 Sketch.java:589 Sketch.java:741 Sketch.java:1046 +#: Editor.java:2083 Editor.java:2403 +msgid "OK" +msgstr "" + +#: Preferences.java:80 +msgid "Browse" +msgstr "参照" + +#: Preferences.java:148 +msgid "" +"Could not read default settings.\n" +"You'll need to reinstall Arduino." +msgstr "" +"既定の設定を読み込むことができませんでした。\n" +"Arduino IDEをもう一度インストールしてください。" + +#: Preferences.java:178 Base.java:1857 Sketch.java:479 Sketch.java:485 +#: Sketch.java:500 Sketch.java:507 Sketch.java:530 Sketch.java:547 +#: Editor.java:2105 Editor.java:2116 Editor.java:2126 Editor.java:2144 +msgid "Error" +msgstr "エラー" + +#: Preferences.java:180 +#, java-format +msgid "Could not read preferences from {0}" +msgstr "「{0}」から設定を読み込めませんでした。" + +#: Preferences.java:199 +msgid "Error reading preferences" +msgstr "設定ファイルを読み込む際にエラーが発生しました。" + +#: Preferences.java:201 +#, java-format +msgid "" +"Error reading the preferences file. Please delete (or move)\n" +"{0} and restart Arduino." +msgstr "" +"初期設定ファイルを読み込む際にエラーが発生しました。" +"「{0}」を削除または移動してから、Arduino IDEを再起動してください。" + +#: Preferences.java:217 Editor.java:584 +msgid "Preferences" +msgstr "環境設定" + +#: Preferences.java:237 +msgid "Sketchbook location:" +msgstr "スケッチブックの保存場所:" + +#: Preferences.java:252 +msgid "Select new sketchbook location" +msgstr "スケッチブックの保存場所を決めてください" + +#: Preferences.java:276 +msgid "Editor font size: " +msgstr "エディタの文字の大きさ:" + +#: Preferences.java:280 +msgid " (requires restart of Arduino)" +msgstr "(変更の反映には、Arduino IDEの再起動が必要。)" + +#: Preferences.java:293 +msgid "Show verbose output during: " +msgstr "より詳細な情報を表示する:" + +#: Preferences.java:295 +msgid "compilation " +msgstr "コンパイル " + +#: Preferences.java:297 +msgid "upload" +msgstr "書き込み" + +#: Preferences.java:308 +msgid "Delete previous applet or application folder on export" +msgstr "エクスポートの前に、コンパイルで生成されたフォルダを削除する" + +#: Preferences.java:318 +msgid "Use external editor" +msgstr "外部のエディタを使用する。" + +#: Preferences.java:328 +msgid "Check for updates on startup" +msgstr "起動時に最新バージョンの有無をチェックする。" + +#: Preferences.java:337 +msgid "Update sketch files to new extension on save (.pde -> .ino)" +msgstr "スケッチを保存する際に、拡張子を.pdeから.inoに変更する" + +#: Preferences.java:348 +msgid "Automatically associate .ino files with Arduino" +msgstr ".inoファイルをArduino IDEに関連づける。" + +#: Preferences.java:359 +msgid "More preferences can be edited directly in the file" +msgstr "以下のファイルを直接編集すれば、より多くの設定を行うことができます。" + +#: Preferences.java:388 +msgid "(edit only when Arduino is not running)" +msgstr "(編集する際には、Arduino IDEを終了させておいてください。)" + +#: Preferences.java:536 +#, java-format +msgid "ignoring invalid font size {0}" +msgstr "フォントサイズの指定「{0}」が異常なので無視します。" + +#: UpdateCheck.java:53 +msgid "http://www.arduino.cc/latest.txt" +msgstr "" + +#: UpdateCheck.java:103 +msgid "" +"A new version of Arduino is available,\n" +"would you like to visit the Arduino download page?" +msgstr "" +"Arduino IDEの新しいバージョンが入手可能になりました。\n" +"ダウンロードページを開きますか?" + +#: UpdateCheck.java:111 +msgid "Update" +msgstr "更新" + +#: UpdateCheck.java:118 +msgid "http://www.arduino.cc/en/Main/Software" +msgstr "" + +#: Base.java:181 +msgid "Non-fatal error while setting the Look & Feel." +msgstr "GUIの挙動を設定する際にエラーが発生しましたが、重大ではありません。" + +#: Base.java:182 +msgid "The error message follows, however Arduino should run fine." +msgstr "エラーメッセージは以下の通りです。Arduino IDEの動作に問題はありません。" + +#: Base.java:217 +msgid "Problem Setting the Platform" +msgstr "プラットフォームを設定する際に問題が発生しました。" + +#: Base.java:218 +msgid "" +"An unknown error occurred while trying to load\n" +"platform-specific code for your machine." +msgstr "" +"プラットフォーム依存の機能を読み込む際に、\n" +"何らかのエラーが発生しました。" + +#: Base.java:229 +msgid "Please install JDK 1.5 or later" +msgstr "JDKのバージョン1.5以降をインストールしてください。" + +#: Base.java:230 +msgid "" +"Arduino requires a full JDK (not just a JRE)\n" +"to run. Please install JDK 1.5 or later.\n" +"More information can be found in the reference." +msgstr "" +"Arduino IDEを実行するにはJDKが必要です。\n" +"JREでは動作しません。\n" +"JDKのバージョン1.5以降をインストールしてください。\n" +"詳しくはリファレンスマニュアルをご覧ください。" + +#: Base.java:254 +msgid "Sketchbook folder disappeared" +msgstr "スケッチブックの保存場所フォルダが無くなってしまいました。" + +#: Base.java:255 +msgid "" +"The sketchbook folder no longer exists.\n" +"Arduino will switch to the default sketchbook\n" +"location, and create a new sketchbook folder if\n" +"necessary. Arduino will then stop talking about\n" +"himself in the third person." +msgstr "" + +#: Base.java:529 +msgid "Time for a Break" +msgstr "そろそろ休みましょう" + +#: Base.java:530 +msgid "" +"You've reached the limit for auto naming of new sketches\n" +"for the day. How about going for a walk instead?" +msgstr "" +"今日はもう、これ以上、新しいスケッチに自動的に名前を付ける\n" +"事ができません。そろそろ、お休みにしませんか?" + +#: Base.java:534 +msgid "Sunshine" +msgstr "終わりにしましょう" + +#: Base.java:535 +msgid "No really, time for some fresh air for you." +msgstr "先程も指摘したように、今日は頑張りすぎです。" + +#: Base.java:630 +msgid "Open an Arduino sketch..." +msgstr "Arduinoのスケッチを開く..." + +#: Base.java:769 +msgid "" +" Are you " +"sure you want to Quit?

Closing the last open sketch will quit Arduino." +msgstr "" + +#: Base.java:779 Editor.java:594 +msgid "Quit" +msgstr "終了" + +#: Base.java:900 Editor.java:502 +msgid "Open..." +msgstr "開く..." + +#: Base.java:967 +msgid "Contributed" +msgstr "ユーザ提供" + +#: Base.java:1091 +msgid "Sketch Does Not Exist" +msgstr "スケッチが存在しません。" + +#: Base.java:1092 +msgid "" +"The selected sketch no longer exists.\n" +"You may need to restart Arduino to update\n" +"the sketchbook menu." +msgstr "" +"選択したスケッチが存在しません。\n" +"スケッチブックメニューを更新するにはArduino IDEを再起動して下さい。" + +#: Base.java:1121 +#, java-format +msgid "" +"The sketch \"{0}\" cannot be used.\n" +"Sketch names must contain only basic letters and numbers\n" +"(ASCII-only with no spaces, and it cannot start with a number).\n" +"To get rid of this message, remove the sketch from\n" +"{1}" +msgstr "" +"「{0}」という名前をスケッチに付けることはできません。\n" +"スケッチ名には半角文字と数字のみが使用可能です。\n" +"(ASCII文字のみ、スペースを除きます。数字で始まる名前は使えません。)\n" +"このメッセージを表示しないようにするには、「{1}」からスケッチを削除\n" +"して下さい。" + +#: Base.java:1128 +msgid "Ignoring sketch with bad name" +msgstr "使用できない名前のスケッチは無視します。" + +#: Base.java:1198 +#, java-format +msgid "" +"The library \"{0}\" cannot be used.\n" +"Library names must contain only basic letters and numbers.\n" +"(ASCII only and no spaces, and it cannot start with a number)" +msgstr "" +"「{0}」という名前のライブラリは使用できません。\n" +"ライブラリ名には半角文字と数字のみが使用可能です。\n" +"(ASCII文字のみ、スペースを除きます。数字で始まる名前は使えません。)" + +#: Base.java:1203 +msgid "Ignoring bad library name" +msgstr "使用できないファイル名のライブラリは無視します。" + +#: Base.java:1428 +msgid "Problem getting data folder" +msgstr "データフォルダを読み込めません。" + +#: Base.java:1429 +msgid "Error getting the Arduino data folder." +msgstr "Arduino IDEデータフォルダを読み込めません。" + +#: Base.java:1436 +msgid "Settings issues" +msgstr "設定に関する問題" + +#: Base.java:1437 +msgid "" +"Arduino cannot run because it could not\n" +"create a folder to store your settings." +msgstr "" +"設定を保存するためのフォルダを作成できないため、動作を停止します。" + +#: Base.java:1598 +msgid "You forgot your sketchbook" +msgstr "スケッチブックをどこかにやっちゃいましたね。" + +#: Base.java:1599 +msgid "" +"Arduino cannot run because it could not\n" +"create a folder to store your sketchbook." +msgstr "スケッチブックを保存するフォルダを作成できないため、動作を停止します。" + +#: Base.java:1619 +msgid "Select (or create new) folder for sketches..." +msgstr "スケッチを保存するフォルダを選択するか作成してください。" + +#: Base.java:1643 +msgid "Problem Opening URL" +msgstr "指定のURLを開くことができませんでした。" + +#: Base.java:1644 +#, java-format +msgid "" +"Could not open the URL\n" +"{0}" +msgstr "" +"URL「{0}」を開くことができませんでした。" + +#: Base.java:1667 +msgid "Problem Opening Folder" +msgstr "フォルダを開くことができませんでした。" + +#: Base.java:1668 +#, java-format +msgid "" +"Could not open the folder\n" +"{0}" +msgstr "" +"フォルダ「{0}」を開くことができませんでした。" + +#: Base.java:1781 +msgid "Guide_MacOSX.html" +msgstr "" + +#: Base.java:1783 +msgid "Guide_Windows.html" +msgstr "" + +#: Base.java:1785 +msgid "http://www.arduino.cc/playground/Learning/Linux" +msgstr "" + +#: Base.java:1790 +msgid "index.html" +msgstr "" + +#: Base.java:1795 +msgid "Guide_Environment.html" +msgstr "" + +#: Base.java:1800 +msgid "environment" +msgstr "" + +#: Base.java:1800 +msgid "platforms.html" +msgstr "" + +#: Base.java:1805 +msgid "Guide_Troubleshooting.html" +msgstr "" + +#: Base.java:1810 +msgid "FAQ.html" +msgstr "" + +#: Base.java:1822 +msgid "Message" +msgstr "メッセージ" + +#: Base.java:1838 +msgid "Warning" +msgstr "警告" + +#: Base.java:2192 +#, java-format +msgid "Could not remove old version of {0}" +msgstr "「{0}」の古いバージョンを削除できませんでした。" + +#: Base.java:2202 +#, java-format +msgid "Could not replace {0}" +msgstr "「{0}」を置き換える事ができませんでした。" + +#: Base.java:2243 Base.java:2266 +#, java-format +msgid "Could not delete {0}" +msgstr "「{0}」を削除できませんでした。" + +#: EditorToolbar.java:41 EditorToolbar.java:46 +msgid "Verify" +msgstr "検証" + +#: EditorToolbar.java:41 Editor.java:546 +msgid "Upload" +msgstr "マイコンボードに書き込む" + +#: EditorToolbar.java:41 Editor.java:494 +msgid "New" +msgstr "新規ファイル" + +#: EditorToolbar.java:41 +msgid "Open" +msgstr "開く" + +#: EditorToolbar.java:41 EditorToolbar.java:46 Editor.java:530 +#: Editor.java:2002 Editor.java:2406 +msgid "Save" +msgstr "保存" + +#: EditorToolbar.java:41 EditorToolbar.java:46 Editor.java:670 +msgid "Serial Monitor" +msgstr "シリアルモニタ" + +#: EditorToolbar.java:46 Editor.java:554 +msgid "Upload Using Programmer" +msgstr "書込装置を使って書き込む" + +#: EditorToolbar.java:46 +msgid "New Editor Window" +msgstr "新規ウィンドウ" + +#: EditorToolbar.java:46 +msgid "Open in Another Window" +msgstr "新規ウィンドウでファイルを開く" + +#: Serial.java:147 +#, java-format +msgid "" +"Serial port ''{0}'' already in use. Try quiting any programs that may be " +"using it." +msgstr "" +"シリアルポート「{0}」は、ほかのアプリケーションが使用中です。" +"シリアルポートを使っている可能性のあるアプリケーションを終了してみてください。" + +#: Serial.java:154 +#, java-format +msgid "Error opening serial port ''{0}''." +msgstr "シリアルポート「{0}」が開けません。" + +#: Serial.java:167 +#, java-format +msgid "" +"Serial port ''{0}'' not found. Did you select the right one from the Tools > " +"Serial Port menu?" +msgstr "" +"シリアルポート「{0}」が存在しません。" +"「ツール」メニューの「シリアルポート」で、" +"正しいシリアルポートを選んでありますか?" + +#: Serial.java:424 +#, java-format +msgid "" +"readBytesUntil() byte buffer is too small for the {0} bytes up to and " +"including char {1}" +msgstr "" +"readBytesUntil()で文字「{1}」が見つかるまで読み込もうとしましたが、バッファの長さ{0}バイトでは足りません。" + +#: Serial.java:567 +#, java-format +msgid "Error inside Serial.{0}()" +msgstr "Serial.{0}()でエラー" + +#: Theme.java:52 +msgid "" +"Could not read color theme settings.\n" +"You'll need to reinstall Processing." +msgstr "" +"カラーテーマの設定を読み込めません。\n" +"Arduino IDEを再インストールしてください。" + +#: EditorHeader.java:292 +msgid "New Tab" +msgstr "新規タブ" + +#: EditorHeader.java:300 +msgid "Rename" +msgstr "名前を変更" + +#: EditorHeader.java:314 Sketch.java:595 +msgid "Delete" +msgstr "削除" + +#: EditorHeader.java:326 +msgid "Previous Tab" +msgstr "前のタブ" + +#: EditorHeader.java:340 +msgid "Next Tab" +msgstr "次のタブ" + +#: SerialMonitor.java:91 +msgid "Send" +msgstr "送信" + +#: SerialMonitor.java:108 +msgid "Autoscroll" +msgstr "自動スクロール" + +#: SerialMonitor.java:110 +msgid "No line ending" +msgstr "改行なし" + +#: SerialMonitor.java:110 +msgid "Newline" +msgstr "LFのみ" + +#: SerialMonitor.java:110 +msgid "Carriage return" +msgstr "CRのみ" + +#: SerialMonitor.java:110 +msgid "Both NL & CR" +msgstr "CRおよびLF" + +#: SerialMonitor.java:128 SerialMonitor.java:131 +msgid " baud" +msgstr " bps" + +#: FindReplace.java:79 +msgid "Find:" +msgstr "検索テキスト:" + +#: FindReplace.java:81 +msgid "Replace with:" +msgstr "置換テキスト:" + +#: FindReplace.java:121 +msgid "Ignore Case" +msgstr "大文字小文字を区別しない" + +#: FindReplace.java:137 FindReplace.java:146 +msgid "Replace All" +msgstr "全て置換" + +#: FindReplace.java:138 FindReplace.java:145 Sketch.java:1050 +msgid "Replace" +msgstr "置換" + +#: FindReplace.java:139 FindReplace.java:144 +msgid "Replace & Find" +msgstr "置換して次" + +#: FindReplace.java:140 FindReplace.java:143 +msgid "Find" +msgstr "検索" + +#: Sketch.java:278 Sketch.java:307 Sketch.java:581 Sketch.java:970 +msgid "Sketch is Read-Only" +msgstr "スケッチに書き込めません。" + +#: Sketch.java:279 Sketch.java:308 Sketch.java:582 Sketch.java:971 +msgid "" +"Some files are marked \"read-only\", so you'll\n" +"need to re-save the sketch in another location,\n" +"and try again." +msgstr "" +"読込専用に設定されたファイルがあります。\n" +"スケッチを別の場所に保存してください。\n" + +#: Sketch.java:286 +msgid "Name for new file:" +msgstr "新規ファイルの名前:" + +#: Sketch.java:298 +msgid "Sketch is Untitled" +msgstr "スケッチには、まだ名前がありません。" + +#: Sketch.java:299 +msgid "" +"How about saving the sketch first \n" +"before trying to rename it?" +msgstr "" +"スケッチの名前を変更する前に、スケッチを保存しますか?" + +#: Sketch.java:359 Sketch.java:366 Sketch.java:377 +msgid "Problem with rename" +msgstr "名前を変更できませんでした。" + +#: Sketch.java:360 +msgid "The name cannot start with a period." +msgstr "この名前の先頭はピリオド「.」にしてはいけません。" + +#: Sketch.java:368 +#, java-format +msgid "\".{0}\" is not a valid extension." +msgstr "拡張子「.{0}」は、使えません。" + +#: Sketch.java:378 +msgid "" +"The main file can't use an extension.\n" +"(It may be time for your to graduate to a\n" +"\"real\" programming environment)" +msgstr "" + +#: Sketch.java:400 Sketch.java:414 Sketch.java:423 Sketch.java:863 +msgid "Nope" +msgstr "ダメ。" + +#: Sketch.java:402 +#, java-format +msgid "A file named \"{0}\" already exists in \"{1}\"" +msgstr "「{0}」というファイルは、すでにフォルダ「{1}」内に存在します。" + +#: Sketch.java:415 +msgid "You can't have a .cpp file with the same name as the sketch." +msgstr "スケッチと同じ名前の.cppファイルは使えません。" + +#: Sketch.java:425 +msgid "" +"You can't rename the sketch to \"{0}\"\n" +"because the sketch already has a .cpp file with that name." +msgstr "" +"このスケッチには、すでにその名前の.cppファイルが存在するため、" +"スケッチの名前を「{0}」に変更する事ができません。" + +#: Sketch.java:459 +msgid "Cannot Rename" +msgstr "名前を変更できません。" + +#: Sketch.java:461 +#, java-format +msgid "Sorry, a sketch (or folder) named \"{0}\" already exists." +msgstr "すでに「{0}」という名前のスケッチまたはフォルダが存在します。" + +#: Sketch.java:479 +msgid "Could not rename the sketch. (0)" +msgstr "スケッチの名前を変更できませんでした。(0)" + +#: Sketch.java:487 Sketch.java:532 +#, java-format +msgid "Could not rename \"{0}\" to \"{1}\"" +msgstr "「{0}」の名前を「{1}」に変更できませんでした。" + +#: Sketch.java:500 +msgid "Could not rename the sketch. (1)" +msgstr "スケッチの名前を変更できませんでした。(1)" + +#: Sketch.java:507 +msgid "Could not rename the sketch. (2)" +msgstr "スケッチの名前を変更できませんでした。(2)" + +#: Sketch.java:544 +msgid "createNewFile() returned false" +msgstr "createNewFile()がfalseを返しました。" + +#: Sketch.java:591 +msgid "Are you sure you want to delete this sketch?" +msgstr "このスケッチを本当に削除しますか?" + +#: Sketch.java:592 +#, java-format +msgid "Are you sure you want to delete \"{0}\"?" +msgstr "「{0}」を本当に削除しますか?" + +#: Sketch.java:620 +msgid "Couldn't do it" +msgstr "それは実行できませんでした。" + +#: Sketch.java:621 +#, java-format +msgid "Could not delete \"{0}\"." +msgstr "「{0}」を削除できませんでした。" + +#: Sketch.java:651 +msgid "removeCode: internal error.. could not find code" +msgstr "removeCode:内部エラー、対象のコードが見つかりません。" + +#: Sketch.java:724 +msgid "Sketch is read-only" +msgstr "スケッチに書き込めません。" + +#: Sketch.java:725 +msgid "" +"Some files are marked \"read-only\", so you'll\n" +"need to re-save this sketch to another location." +msgstr "" +"書き込み先の場所には、書き込み禁止のファイルがあります。" +"このため、このスケッチは別の場所に保存し直してください。" + +#: Sketch.java:743 +msgid "" +"In Arduino 1.0, the default file extension has changed\n" +"from .pde to .ino. New sketches (including those created\n" +"by \"Save-As\" will use the new extension. The extension\n" +"of existing sketches will be updated on save, but you can\n" +"disable this in the Preferences dialog.\n" +"\n" +"Save sketch and update its extension?" +msgstr "" +"Arduino 1.0では、スケッチのファイルの拡張子を.pdeから.inoに\n" +"変更しました。新しいスケッチおよび「名前を付けて保存」で保存\n" +"したスケッチには、新しい拡張子が使われます。また、既存のスケッチ\n" +"を開いてから保存すると、新しい拡張子に自動的に変更されます。\n" +"この機能は、「環境設定」で無効にする事ができます。\n" +"\n" +"拡張子を変更してスケッチを保存しますか?" + +#: Sketch.java:750 +msgid ".pde -> .ino" +msgstr "" + +#: Sketch.java:829 +msgid "Save sketch folder as..." +msgstr "スケッチのフォルダの保存先..." + +#: Sketch.java:865 +msgid "" +"You can't save the sketch as \"{0}\"\n" +"because the sketch already has a .cpp file with that name." +msgstr "" +"このスケッチには、すでにその名前の.cppファイルが存在するため、" +"スケッチを「{0}」として保存することができません。" + +#: Sketch.java:886 +msgid "How very Borges of you" +msgstr "それはムリ。" + +#: Sketch.java:887 +msgid "" +"You cannot save the sketch into a folder\n" +"inside itself. This would go on forever." +msgstr "" +"自らのスケッチのフォルダの中にスケッチを保存することなんてできません。" +"無限ループになっちゃいます。" + +#: Sketch.java:979 +msgid "Select an image or other data file to copy to your sketch" +msgstr "" +"画像など、スケッチの一部としてコピーして加えたいファイルを選択してください。" + +#: Sketch.java:996 Editor.java:377 +msgid "One file added to the sketch." +msgstr "スケッチにファイルを1個追加しました。" + +#: Sketch.java:1047 +#, java-format +msgid "Replace the existing version of {0}?" +msgstr "" +"すでに同じ「{0}」という名前のファイルがスケッチの中にありますが、" +"置き換えますか?" + +#: Sketch.java:1069 Sketch.java:1092 +msgid "Error adding file" +msgstr "ファイルを追加する際にエラーが発生しました。" + +#: Sketch.java:1070 +#, java-format +msgid "Could not delete the existing ''{0}'' file." +msgstr "既存の「{0}」というファイルを削除できませんでした。" + +#: Sketch.java:1078 +msgid "You can't fool me" +msgstr "ヘンなことしちゃだめ。" + +#: Sketch.java:1079 +msgid "" +"This file has already been copied to the\n" +"location from which where you're trying to add it.\n" +"I ain't not doin nuthin'." +msgstr "" +"このファイルはすでにコピーされてスケッチの中にあります。" +"まだ、何もしてませんよ!" + +#: Sketch.java:1093 +#, java-format +msgid "Could not add ''{0}'' to the sketch." +msgstr "ファイル「{0}」をスケッチに加えることができませんでした。" + +#: Sketch.java:1359 Sketch.java:1390 +msgid "Build folder disappeared or could not be written" +msgstr "ビルド用のフォルダが消えてしまったか、書き込みができません。" + +#: Sketch.java:1374 +msgid "Could not find main class" +msgstr "メインのクラスが見つかりません。" + +#: Sketch.java:1399 +#, java-format +msgid "Uncaught exception type: {0}" +msgstr "想定外の例外「{0}」が発生しました。" + +#: Sketch.java:1431 +#, java-format +msgid "Problem moving {0} to the build folder" +msgstr "「{0}」をビルドフォルダに移動できませんでした。" + +#: Sketch.java:1631 Editor.java:1828 +msgid "Compiling sketch..." +msgstr "スケッチをコンパイルしています…" + +#: Sketch.java:1645 +msgid "Uploading..." +msgstr "マイコンボードに書き込んでいます…" + +#: Sketch.java:1668 +#, java-format +msgid "Binary sketch size: {0} bytes (of a {1} byte maximum)" +msgstr "コンパイル後のスケッチのサイズ:{0}バイト(最大容量{1}バイト)" + +#: Sketch.java:1673 +msgid "Couldn't determine program size: {0}" +msgstr "コンパイル後のサイズがわかりません:{0}" + +#: Sketch.java:1678 +msgid "" +"Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for " +"tips on reducing it." +msgstr "" +"スケッチが大きすぎます。" +"http://www.arduino.cc/en/Guide/Troubleshooting#size には、小さくするコツが書いてあります。" + +#: Sketch.java:1738 +msgid "Missing the */ from the end of a /* comment */" +msgstr "「/* */」形式のコメントの「*/」がありません。" + +#: Sketch.java:1780 +msgid "Sketch Disappeared" +msgstr "スケッチが消滅してしまいました。" + +#: Sketch.java:1781 +msgid "" +"The sketch folder has disappeared.\n" +" Will attempt to re-save in the same location,\n" +"but anything besides the code will be lost." +msgstr "" +"スケッチブックの保存場所フォルダが無くなってしまいました。\n" +"環境設定で指定している保存場所に保存し直します。\n" +"このスケッチと一緒に保存していたファイルは失われるかもしれません。" + +#: Sketch.java:1794 +msgid "Could not re-save sketch" +msgstr "スケッチを保存し直すことができませんでした。" + +#: Sketch.java:1795 +msgid "" +"Could not properly re-save the sketch. You may be in trouble at this point,\n" +"and it might be time to copy and paste your code to another text editor." +msgstr "" +"スケッチを正常に保存することができませんでした。\n" +"保存先に問題がある可能性があります。\n" +"別のテキストエディタでスケッチを開き、コードをコピー&ペーストして別のファイルに保存することをおすすめします。" + +#: Sketch.java:2044 +msgid "" +"The sketch name had to be modified. Sketch names can only consist\n" +"of ASCII characters and numbers (but cannot start with a number).\n" +"They should also be less less than 64 characters long." +msgstr "" +"都合により、スケッチの名前を変更しました。" +"スケッチの名前は、ASCII文字および数字(先頭を除く)であり、" +"64文字以下であることが必要です。" + +#: EditorConsole.java:147 +msgid "Console Error" +msgstr "コンソールの異常" + +#: EditorConsole.java:148 +msgid "" +"A problem occurred while trying to open the\n" +"files used to store the console output." +msgstr "" +"コンソール出力を保存するファイルを開こうとしたら、\n" +"問題が発生しました。" + +#: debug/Uploader.java:52 +msgid "https://developer.berlios.de/bugs/?group_id=3590" +msgstr "" + +#: debug/Uploader.java:54 debug/Compiler.java:43 +#, java-format +msgid "Compiler error, please submit this code to {0}" +msgstr "コンパイラのエラーです。問題の起きたスケッチを{0}に送ってください。" + +#: debug/Uploader.java:199 +#, java-format +msgid "" +"the selected serial port {0} does not exist or your board is not connected" +msgstr "" +"シリアルポート「{0}」が選択されていますが、そのポートは存在しないか、マイコンボードが接続されていません。" + +#: debug/Uploader.java:203 +msgid "" +"Device is not responding, check the right serial port is selected or RESET " +"the board right before exporting" +msgstr "" +"マイコンボードが応答しません。シリアルポートが正しく選択されている事を確認してください。また、書き込みの直前にマイコンボードのリセットボタンを押してみてください。" + +#: debug/Uploader.java:209 +msgid "" +"Problem uploading to board. See http://www.arduino.cc/en/Guide/" +"Troubleshooting#upload for suggestions." +msgstr "" +"マイコンボードに書き込もうとしましたが、エラーが発生しました。\n" +"このページを参考にしてください。\n" +"http://www.arduino.cc/en/Guide/Troubleshooting#upload" + +#: debug/Uploader.java:213 +msgid "" +"Wrong microcontroller found. Did you select the right board from the Tools " +"> Board menu?" +msgstr "" +"マイコンボードと通信したところ、選択と異なるマイコンチップが応答しました。" +"「ツール」メニューの「マイコンボード」の選択肢から、正しいマイコンボードを選んでください。" + +#: debug/Compiler.java:41 +msgid "http://code.google.com/p/arduino/issues/list" +msgstr "" + +#: debug/Compiler.java:79 +msgid "No board selected; please choose a board from the Tools > Board menu." +msgstr "マイコンボードが選ばれていません。「ツール」メニューの「マイコンボード」の選択肢から、マイコンボードを選んでください。" + +#: debug/Compiler.java:346 +#, java-format +msgid "{0} returned {1}" +msgstr "{0}が{1}を返しました。" + +#: debug/Compiler.java:350 +msgid "Error compiling." +msgstr "コンパイル時にエラーが発生しました。" + +#: debug/Compiler.java:389 +msgid "Please import the SPI library from the Sketch > Import Library menu." +msgstr "「スケッチ」メニューの「ライブラリを使用」で、SPIライブラリを読み込んでください。" + +#: debug/Compiler.java:390 +msgid "" +"\n" +"As of Arduino 0019, the Ethernet library depends on the SPI library.\n" +"You appear to be using it or another library that depends on the SPI " +"library.\n" +"\n" +msgstr "" +"\n" +"Arduino 0019以降、EthernetライブラリはSPIライブラリに依存しています。\n" +"Ethernetライブラリまたはその他の、SPIライブラリに依存するライブラリを使用しているようですね。\n" +"\n" + +#: debug/Compiler.java:395 +msgid "The 'BYTE' keyword is no longer supported." +msgstr "「BYTE」キーワードは、使用できなくなりました。" + +#: debug/Compiler.java:396 +msgid "" +"\n" +"As of Arduino 1.0, the 'BYTE' keyword is no longer supported.\n" +"Please use Serial.write() instead.\n" +"\n" +msgstr "" +"\n" +"Arduino 1.0以降、「BYTE」キーワードは使用できなくなりました。\n" +"Serial.write()を使用してください。\n" +"\n" + +#: debug/Compiler.java:401 +msgid "The Server class has been renamed EthernetServer." +msgstr "「Server」クラスは「EthernetServer」に名称変更されました。" + +#: debug/Compiler.java:402 +msgid "" +"\n" +"As of Arduino 1.0, the Server class in the Ethernet library has been renamed " +"to EthernetServer.\n" +"\n" +msgstr "" +"\n" +"Arduino 1.0以降、Ethernetライブラリの「Server」クラスは、「EthernetServer」に名称変更されました。\n" +"\n" + +#: debug/Compiler.java:407 +msgid "The Client class has been renamed EthernetClient." +msgstr "「Client」クラスは「EthernetClient」に名称変更されました。" + +#: debug/Compiler.java:408 +msgid "" +"\n" +"As of Arduino 1.0, the Client class in the Ethernet library has been renamed " +"to EthernetClient.\n" +"\n" +msgstr "" +"\n" +"Arduino 1.0以降、Ethernetライブラリの「Client」クラスは、「EthernetClient」に名称変更されました。\n" +"\n" + +#: debug/Compiler.java:413 +msgid "The Udp class has been renamed EthernetUdp." +msgstr "「Udp」クラスは「EthernetUdp」に名称変更されました。" + +#: debug/Compiler.java:414 +msgid "" +"\n" +"As of Arduino 1.0, the Udp class in the Ethernet library has been renamed to " +"EthernetClient.\n" +"\n" +msgstr "" +"\n" +"Arduino 1.0以降、Ethernetライブラリの「Udp」クラスは、「EthernetUdp」に名称変更されました。\n" +"\n" + +#: debug/Compiler.java:419 +msgid "Wire.send() has been renamed Wire.write()." +msgstr "「Wire.send()」は、「Wire.write()」に名称変更されました。" + +#: debug/Compiler.java:420 +msgid "" +"\n" +"As of Arduino 1.0, the Wire.send() function was renamed to Wire.write() for " +"consistency with other libraries.\n" +"\n" +msgstr "" +"\n" +"Arduino 1.0以降、「Wire.send()」関数は、他のライブラリとの整合性を高めるため、「Wire.write()」に名称変更されました。" +"\n" + +#: debug/Compiler.java:425 +msgid "Wire.receive() has been renamed Wire.read()." +msgstr "「Wire.receive()」は、「Wire.read()」に名称変更されました。" + +#: debug/Compiler.java:426 +msgid "" +"\n" +"As of Arduino 1.0, the Wire.receive() function was renamed to Wire.read() " +"for consistency with other libraries.\n" +"\n" +msgstr "" +"\n" +"Arduino 1.0以降、「Wire.receive()」関数は、他のライブラリとの整合性を高めるため、「Wire.read()」に名称変更されました。" +"\n" + +#: tools/format/src/AutoFormat.java:54 tools/AutoFormat.java:913 +msgid "No changes necessary for Auto Format." +msgstr "整形の必要はありませんでした。" + +#: tools/Archiver.java:48 +msgid "Archive Sketch" +msgstr "スケッチをアーカイブする。" + +#: tools/Archiver.java:59 +msgid "yyMMdd" +msgstr "yyyyMMdd" + +#: tools/Archiver.java:74 +msgid "Couldn't archive sketch" +msgstr "スケッチをアーカイブできませんでした。" + +#: tools/Archiver.java:75 +msgid "" +"Archiving the sketch has been canceled because\n" +"the sketch couldn't save properly." +msgstr "" +"スケッチを保存できなかったため、スケッチのアーカイブは取りやめました。" + +#: tools/Archiver.java:109 +msgid "Archive sketch as:" +msgstr "スケッチをアーカイブする名前:" + +#: tools/Archiver.java:139 +msgid "Archive sketch canceled." +msgstr "スケッチのアーカイブを取りやめました" + +#: tools/AutoFormat.java:91 +msgid "Auto Format" +msgstr "自動整形" + +#: tools/AutoFormat.java:919 +msgid "Auto Format Canceled: Too many right parentheses." +msgstr "「)」が多すぎるため、自動整形を取りやめました。" + +#: tools/AutoFormat.java:922 +msgid "Auto Format Canceled: Too many left parentheses." +msgstr "「(」が多すぎるため、自動整形を取りやめました。" + +#: tools/AutoFormat.java:928 +msgid "Auto Format Canceled: Too many right curly braces." +msgstr "「}」が多すぎるため、自動整形を取りやめました。" + +#: tools/AutoFormat.java:931 +msgid "Auto Format Canceled: Too many left curly braces." +msgstr "「{」が多すぎるため、自動整形を取りやめました。" + +#: tools/AutoFormat.java:941 +msgid "Auto Format finished." +msgstr "自動整形が完了しました。" + +#: tools/FixEncoding.java:41 tools/FixEncoding.java:58 +#: tools/FixEncoding.java:79 +msgid "Fix Encoding & Reload" +msgstr "エンコーディングを修正" + +#: tools/FixEncoding.java:57 +msgid "Discard all changes and reload sketch?" +msgstr "未保存の変更を破棄してスケッチを読み込み直しますか?" + +#: tools/FixEncoding.java:77 +msgid "" +"An error occurred while trying to fix the file encoding.\n" +"Do not attempt to save this sketch as it may overwrite\n" +"the old version. Use Open to re-open the sketch and try again.\n" +msgstr "" +"エンコーディングを修正しようとしましたが、エラーが発生しました。\n" +"今ここで保存すると、修正前のスケッチをおかしな内容で上書きしてしまう\n" +"可能性があります。スケッチを開き直して、もう一度エンコーディングの\n" +"修正をしてみてください。" + +#: Editor.java:374 +msgid "No files were added to the sketch." +msgstr "スケッチにファイルは追加されませんでした。" + +#: Editor.java:381 +#, java-format +msgid "{0} files added to the sketch." +msgstr "スケッチにファイルを{0}個追加しました。" + +#: Editor.java:492 +msgid "File" +msgstr "ファイル" + +#: Editor.java:511 +msgid "Sketchbook" +msgstr "スケッチブック" + +#: Editor.java:517 +msgid "Examples" +msgstr "スケッチ例" + +#: Editor.java:522 Editor.java:1962 +msgid "Close" +msgstr "閉じる" + +#: Editor.java:538 +msgid "Save As..." +msgstr "名前を付けて保存" + +#: Editor.java:564 +msgid "Page Setup" +msgstr "プリンタの設定..." + +#: Editor.java:572 +msgid "Print" +msgstr "印刷..." + +#: Editor.java:608 +msgid "Sketch" +msgstr "スケッチ" + +#: Editor.java:610 +msgid "Verify / Compile" +msgstr "検証・コンパイル" + +#: Editor.java:637 +msgid "Import Library..." +msgstr "ライブラリを使用" + +#: Editor.java:642 +msgid "Show Sketch Folder" +msgstr "スケッチのフォルダを表示" + +#: Editor.java:651 +msgid "Add File..." +msgstr "ファイルを追加..." + +#: Editor.java:664 +msgid "Tools" +msgstr "ツール" + +#: Editor.java:690 +msgid "Board" +msgstr "マイコンボード" + +#: Editor.java:698 +msgid "Serial Port" +msgstr "シリアルポート" + +#: Editor.java:703 +msgid "Programmer" +msgstr "書込装置" + +#: Editor.java:707 +msgid "Burn Bootloader" +msgstr "ブートローダを書き込む" + +#: Editor.java:931 +msgid "serialMenu is null" +msgstr "serialMenuがカラです" + +#: Editor.java:935 Editor.java:942 +msgid "name is null" +msgstr "名前がカラです" + +#: Editor.java:994 +msgid "error retrieving port list" +msgstr "ポート名の一覧を取得できませんでした。" + +#: Editor.java:1010 +msgid "Help" +msgstr "ヘルプ" + +#: Editor.java:1049 +msgid "Getting Started" +msgstr "初心者向けガイド" + +#: Editor.java:1057 +msgid "Environment" +msgstr "このソフトの使い方について" + +#: Editor.java:1065 +msgid "Troubleshooting" +msgstr "トラブルシューティング" + +#: Editor.java:1073 +msgid "Reference" +msgstr "リファレンス" + +#: Editor.java:1081 Editor.java:2713 +msgid "Find in Reference" +msgstr "リファレンスで検索" + +#: Editor.java:1091 +msgid "Frequently Asked Questions" +msgstr "よくある質問" + +#: Editor.java:1099 +msgid "Visit Arduino.cc" +msgstr "Arduino.ccウェブサイトを開く" + +#: Editor.java:1102 +msgid "http://arduino.cc/" +msgstr "" + +#: Editor.java:1110 +msgid "About Arduino" +msgstr "Arduinoについて..." + +#: Editor.java:1124 +msgid "Edit" +msgstr "編集" + +#: Editor.java:1127 Editor.java:1326 +msgid "Undo" +msgstr "元に戻す" + +#: Editor.java:1131 Editor.java:1361 +msgid "Redo" +msgstr "やり直し" + +#: Editor.java:1139 Editor.java:2637 +msgid "Cut" +msgstr "切り取り" + +#: Editor.java:1147 Editor.java:2645 +msgid "Copy" +msgstr "コピー" + +#: Editor.java:1155 Editor.java:2653 +msgid "Copy for Forum" +msgstr "フォーラム投稿形式でコピーする" + +#: Editor.java:1167 Editor.java:2661 +msgid "Copy as HTML" +msgstr "HTML形式でコピーする" + +#: Editor.java:1179 Editor.java:2669 +msgid "Paste" +msgstr "貼り付け" + +#: Editor.java:1188 Editor.java:2677 +msgid "Select All" +msgstr "全て選択" + +#: Editor.java:1198 Editor.java:2687 +msgid "Comment/Uncomment" +msgstr "コメント化・復帰" + +#: Editor.java:1206 Editor.java:2695 +msgid "Increase Indent" +msgstr "インデントを増やす" + +#: Editor.java:1214 Editor.java:2703 +msgid "Decrease Indent" +msgstr "インデントを減らす" + +#: Editor.java:1224 +msgid "Find..." +msgstr "検索..." + +#: Editor.java:1239 +msgid "Find Next" +msgstr "次を検索" + +#: Editor.java:1801 +msgid "First select a word to find in the reference." +msgstr "リファレンスで検索したい言葉を選んだ状態にしてから実行してください。" + +#: Editor.java:1808 +#, java-format +msgid "No reference available for \"{0}\"" +msgstr "リファレンスマニュアルに「{0}」はありません。" + +#: Editor.java:1811 +#, java-format +msgid "{0}.html" +msgstr "" + +#: Editor.java:1849 Editor.java:1866 +msgid "Done compiling." +msgstr "コンパイル終了。" + +#: Editor.java:1958 +#, java-format +msgid "Save changes to \"{0}\"? " +msgstr "変更内容を「{0}」に書き込みますか?" + +#: Editor.java:1991 +msgid "" +" Do you " +"want to save changes to this sketch
before closing?

If you don't " +"save, your changes will be lost." +msgstr "" +" " +"閉じる前にスケッチに加えた変更内容を保存しますか?" +"

保存しないと、変更内容は失われます。" + +#: Editor.java:2002 +msgid "Don't Save" +msgstr "保存しない" + +#: Editor.java:2074 +msgid "Bad file selected" +msgstr "間違ったファイルを開きました。" + +#: Editor.java:2075 +msgid "" +"Processing can only open its own sketches\n" +"and other files ending in .ino or .pde" +msgstr "" +"このIDEは、ファイル名が拡張子.inoまたは.pdeで\n" +"終わるファイルだけを開くことができます。" + +#: Editor.java:2085 +#, java-format +msgid "" +"The file \"{0}\" needs to be inside\n" +"a sketch folder named \"{1}\".\n" +"Create this folder, move the file, and continue?" +msgstr "" +"「{0}」というファイルは、「{1}」という名前のフォルダの中にある必要がありま" +"す。自動的にこのフォルダを作って、ファイルを中に入れますか?" + +#: Editor.java:2094 +msgid "Moving" +msgstr "移動中" + +#: Editor.java:2107 +#, java-format +msgid "A folder named \"{0}\" already exists. Can't open sketch." +msgstr "「{0}」という名前のフォルダはすでに存在します。スケッチを開けません。" + +#: Editor.java:2117 +msgid "Could not create the sketch folder." +msgstr "スケッチフォルダを作成できません。" + +#: Editor.java:2126 +msgid "Could not copy to a proper location." +msgstr "コピーするべきフォルダにファイルをコピーできませんでした。" + +#: Editor.java:2144 +msgid "Could not create the sketch." +msgstr "スケッチを作成できません。" + +#: Editor.java:2151 +#, java-format +msgid "{0} | Arduino {1}" +msgstr "" + +#: Editor.java:2208 Editor.java:2246 +msgid "Saving..." +msgstr "保存中です..." + +#: Editor.java:2213 Editor.java:2249 +msgid "Done Saving." +msgstr "保存しました。" + +#: Editor.java:2255 +msgid "Save Canceled." +msgstr "保存を中止しました。" + +#: Editor.java:2281 +#, java-format +msgid "" +"Serial port {0} not found.\n" +"Retry the upload with another serial port?" +msgstr "" +"シリアルポート「{0}」が存在しません。\n" +"シリアルポートを変更して、もう一度書き込みますか?" + +#: Editor.java:2316 +msgid "Uploading to I/O Board..." +msgstr "マイコンボードに書き込んでいます…" + +#: Editor.java:2333 Editor.java:2369 +msgid "Done uploading." +msgstr "マイコンボードへの書き込みが完了しました。" + +#: Editor.java:2341 Editor.java:2377 +msgid "Upload canceled." +msgstr "書き込みを取りやめました。" + +#: Editor.java:2405 +msgid "Save changes before export?" +msgstr "エクスポートを行う前に保存しますか?" + +#: Editor.java:2420 +msgid "Export canceled, changes must first be saved." +msgstr "" +"エクスポートを取りやめました。" +"エクスポートを行う前に保存する必要があります。" + +#: Editor.java:2442 +msgid "Burning bootloader to I/O Board (this may take a minute)..." +msgstr "マイコンボードにブートローダを書き込んでいます…" + +#: Editor.java:2448 +msgid "Done burning bootloader." +msgstr "ブートローダの書き込みが完了しました。" + +#: Editor.java:2450 Editor.java:2454 Editor.java:2458 +msgid "Error while burning bootloader." +msgstr "ブートローダを書き込もうとしましたが、エラーが発生しました。" + +#: Editor.java:2485 +msgid "Printing..." +msgstr "印刷しています..." + +#: Editor.java:2502 +msgid "Done printing." +msgstr "印刷が完了しました。" + +#: Editor.java:2505 +msgid "Error while printing." +msgstr "印刷中にエラーが発生しました。" + +#: Editor.java:2509 +msgid "Printing canceled." +msgstr "印刷を取りやめました。" + +#: Editor.java:2557 +#, java-format +msgid "Bad error line: {0}" +msgstr "エラーの行番号「{0}」は範囲外です。" + +#: Editor.java:2626 +msgid "Open URL" +msgstr "URLを開く" + +#: Platform.java:167 +msgid "No launcher available" +msgstr "外部プログラム起動ツールが有りません。" + +#: Platform.java:168 +msgid "" +"Unspecified platform, no launcher available.\n" +"To enable opening URLs or folders, add a \n" +"\"launcher=/path/to/app\" line to preferences.txt" +msgstr "" +"外部プログラム起動ツールが有りません。" +"URLやフォルダを自動的に開く機能を有効にするには、" +"preferences.txtに\"launcher=/path/to/app\"の設定行を追加してください。" diff --git a/app/src/processing/app/Resources_ja.properties b/app/src/processing/app/Resources_ja.properties new file mode 100644 index 00000000000..7018d049808 --- /dev/null +++ b/app/src/processing/app/Resources_ja.properties @@ -0,0 +1,936 @@ +# Japanese language resource for the Arduino IDE. +# Copyright (C) 2011 switch-science.com +# This file is distributed under the same license as the Arduino IDE package. +# Shigeru KANEMOTO . +# +#, fuzzy +!=Project-Id-Version\: PACKAGE VERSION\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2011-10-11 23\:09+0900\nPO-Revision-Date\: YEAR-MO-DA HO\:MI+ZONE\nLast-Translator\: Shigeru KANEMOTO \nLanguage-Team\: \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\n + +#: SketchCode.java:83 +#, java-format +Error\ while\ loading\ code\ {0}=\u300c{0}\u300d\u304b\u3089\u306e\u30b3\u30fc\u30c9\u8aad\u307f\u8fbc\u307f\u306e\u969b\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 + +#: SketchCode.java:258 +#, java-format +"{0}"\ contains\ unrecognized\ characters.If\ this\ code\ was\ created\ with\ an\ older\ version\ of\ Processing,you\ may\ need\ to\ use\ Tools\ ->\ Fix\ Encoding\ &\ Reload\ to\ updatethe\ sketch\ to\ use\ UTF-8\ encoding.\ If\ not,\ you\ may\ need\ todelete\ the\ bad\ characters\ to\ get\ rid\ of\ this\ warning.=\u300c{0}\u300d\u306b\u306f\u3001\u8a8d\u8b58\u3067\u304d\u306a\u3044\u6587\u5b57\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002\u3082\u3057\u3082\u3001\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306eIDE\u3067\u3053\u306e\u30b9\u30b1\u30c3\u30c1\u3092\u4f5c\u6210\u3057\u3066\u3044\u305f\u5834\u5408\u306b\u306f\u3001\u300c\u30c4\u30fc\u30eb\u300d\u30e1\u30cb\u30e5\u30fc\u306e\u300c\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u4fee\u6b63\u300d\u3092\u5b9f\u884c\u3059\u308b\u4e8b\u306b\u3088\u3063\u3066\u3001\u30d5\u30a1\u30a4\u30eb\u306e\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092UTF-8\u306b\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u305d\u3046\u3067\u306a\u3044\u5834\u5408\u306b\u306f\u3001\u3053\u308c\u3089\u306e\u8a8d\u8b58\u3067\u304d\u306a\u3044\u6587\u5b57\u3092\u624b\u4f5c\u696d\u3067\u524a\u9664\u3057\u3066\u3044\u305f\u3060\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 + +#: Preferences.java:76 UpdateCheck.java:108 +Yes=\u306f\u3044 + +#: Preferences.java:77 UpdateCheck.java:108 +No=\u3044\u3044\u3048 + +#: Preferences.java:78 Sketch.java:589 Sketch.java:741 Sketch.java:1046 +#: Editor.java:2002 Editor.java:2083 Editor.java:2403 +Cancel=\u30ad\u30e3\u30f3\u30bb\u30eb + +#: Preferences.java:79 Sketch.java:589 Sketch.java:741 Sketch.java:1046 +#: Editor.java:2083 Editor.java:2403 +!OK= + +#: Preferences.java:80 +Browse=\u53c2\u7167 + +#: Preferences.java:148 +Could\ not\ read\ default\ settings.\nYou'll\ need\ to\ reinstall\ Arduino.=\u65e2\u5b9a\u306e\u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\nArduino IDE\u3092\u3082\u3046\u4e00\u5ea6\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002 + +#: Preferences.java:178 Base.java:1857 Sketch.java:479 Sketch.java:485 +#: Sketch.java:500 Sketch.java:507 Sketch.java:530 Sketch.java:547 +#: Editor.java:2105 Editor.java:2116 Editor.java:2126 Editor.java:2144 +Error=\u30a8\u30e9\u30fc + +#: Preferences.java:180 +#, java-format +Could\ not\ read\ preferences\ from\ {0}=\u300c{0}\u300d\u304b\u3089\u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Preferences.java:199 +Error\ reading\ preferences=\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3080\u969b\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 + +#: Preferences.java:201 +#, java-format +Error\ reading\ the\ preferences\ file.\ Please\ delete\ (or\ move)\n{0}\ and\ restart\ Arduino.=\u521d\u671f\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3080\u969b\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u300c{0}\u300d\u3092\u524a\u9664\u307e\u305f\u306f\u79fb\u52d5\u3057\u3066\u304b\u3089\u3001Arduino IDE\u3092\u518d\u8d77\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002 + +#: Preferences.java:217 Editor.java:584 +Preferences=\u74b0\u5883\u8a2d\u5b9a + +#: Preferences.java:237 +Sketchbook\ location\:=\u30b9\u30b1\u30c3\u30c1\u30d6\u30c3\u30af\u306e\u4fdd\u5b58\u5834\u6240\uff1a + +#: Preferences.java:252 +Select\ new\ sketchbook\ location=\u30b9\u30b1\u30c3\u30c1\u30d6\u30c3\u30af\u306e\u4fdd\u5b58\u5834\u6240\u3092\u6c7a\u3081\u3066\u304f\u3060\u3055\u3044 + +#: Preferences.java:276 +Editor\ font\ size\:\ =\u30a8\u30c7\u30a3\u30bf\u306e\u6587\u5b57\u306e\u5927\u304d\u3055\uff1a + +#: Preferences.java:280 +\ \ (requires\ restart\ of\ Arduino)=\uff08\u5909\u66f4\u306e\u53cd\u6620\u306b\u306f\u3001Arduino IDE\u306e\u518d\u8d77\u52d5\u304c\u5fc5\u8981\u3002\uff09 + +#: Preferences.java:293 +Show\ verbose\ output\ during\:\ =\u3088\u308a\u8a73\u7d30\u306a\u60c5\u5831\u3092\u8868\u793a\u3059\u308b\uff1a + +#: Preferences.java:295 +compilation\ =\u30b3\u30f3\u30d1\u30a4\u30eb + +#: Preferences.java:297 +upload=\u66f8\u304d\u8fbc\u307f + +#: Preferences.java:308 +Delete\ previous\ applet\ or\ application\ folder\ on\ export=\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u306e\u524d\u306b\u3001\u30b3\u30f3\u30d1\u30a4\u30eb\u3067\u751f\u6210\u3055\u308c\u305f\u30d5\u30a9\u30eb\u30c0\u3092\u524a\u9664\u3059\u308b + +#: Preferences.java:318 +Use\ external\ editor=\u5916\u90e8\u306e\u30a8\u30c7\u30a3\u30bf\u3092\u4f7f\u7528\u3059\u308b\u3002 + +#: Preferences.java:328 +Check\ for\ updates\ on\ startup=\u8d77\u52d5\u6642\u306b\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u6709\u7121\u3092\u30c1\u30a7\u30c3\u30af\u3059\u308b\u3002 + +#: Preferences.java:337 +Update\ sketch\ files\ to\ new\ extension\ on\ save\ (.pde\ ->\ .ino)=\u30b9\u30b1\u30c3\u30c1\u3092\u4fdd\u5b58\u3059\u308b\u969b\u306b\u3001\u62e1\u5f35\u5b50\u3092.pde\u304b\u3089.ino\u306b\u5909\u66f4\u3059\u308b + +#: Preferences.java:348 +Automatically\ associate\ .ino\ files\ with\ Arduino=.ino\u30d5\u30a1\u30a4\u30eb\u3092Arduino IDE\u306b\u95a2\u9023\u3065\u3051\u308b\u3002 + +#: Preferences.java:359 +More\ preferences\ can\ be\ edited\ directly\ in\ the\ file=\u4ee5\u4e0b\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u76f4\u63a5\u7de8\u96c6\u3059\u308c\u3070\u3001\u3088\u308a\u591a\u304f\u306e\u8a2d\u5b9a\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 + +#: Preferences.java:388 +(edit\ only\ when\ Arduino\ is\ not\ running)=\uff08\u7de8\u96c6\u3059\u308b\u969b\u306b\u306f\u3001Arduino IDE\u3092\u7d42\u4e86\u3055\u305b\u3066\u304a\u3044\u3066\u304f\u3060\u3055\u3044\u3002\uff09 + +#: Preferences.java:536 +#, java-format +ignoring\ invalid\ font\ size\ {0}=\u30d5\u30a9\u30f3\u30c8\u30b5\u30a4\u30ba\u306e\u6307\u5b9a\u300c{0}\u300d\u304c\u7570\u5e38\u306a\u306e\u3067\u7121\u8996\u3057\u307e\u3059\u3002 + +#: UpdateCheck.java:53 +!http\://www.arduino.cc/latest.txt= + +#: UpdateCheck.java:103 +A\ new\ version\ of\ Arduino\ is\ available,\nwould\ you\ like\ to\ visit\ the\ Arduino\ download\ page?=Arduino IDE\u306e\u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u5165\u624b\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\n\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30da\u30fc\u30b8\u3092\u958b\u304d\u307e\u3059\u304b\uff1f + +#: UpdateCheck.java:111 +Update=\u66f4\u65b0 + +#: UpdateCheck.java:118 +!http\://www.arduino.cc/en/Main/Software= + +#: Base.java:181 +Non-fatal\ error\ while\ setting\ the\ Look\ &\ Feel.=GUI\u306e\u6319\u52d5\u3092\u8a2d\u5b9a\u3059\u308b\u969b\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u304c\u3001\u91cd\u5927\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 + +#: Base.java:182 +The\ error\ message\ follows,\ however\ Arduino\ should\ run\ fine.=\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002Arduino IDE\u306e\u52d5\u4f5c\u306b\u554f\u984c\u306f\u3042\u308a\u307e\u305b\u3093\u3002 + +#: Base.java:217 +Problem\ Setting\ the\ Platform=\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3092\u8a2d\u5b9a\u3059\u308b\u969b\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 + +#: Base.java:218 +An\ unknown\ error\ occurred\ while\ trying\ to\ load\nplatform-specific\ code\ for\ your\ machine.=\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u4f9d\u5b58\u306e\u6a5f\u80fd\u3092\u8aad\u307f\u8fbc\u3080\u969b\u306b\u3001\n\u4f55\u3089\u304b\u306e\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 + +#: Base.java:229 +Please\ install\ JDK\ 1.5\ or\ later=JDK\u306e\u30d0\u30fc\u30b8\u30e7\u30f31.5\u4ee5\u964d\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002 + +#: Base.java:230 +Arduino\ requires\ a\ full\ JDK\ (not\ just\ a\ JRE)\nto\ run.\ Please\ install\ JDK\ 1.5\ or\ later.\nMore\ information\ can\ be\ found\ in\ the\ reference.=Arduino IDE\u3092\u5b9f\u884c\u3059\u308b\u306b\u306fJDK\u304c\u5fc5\u8981\u3067\u3059\u3002\nJRE\u3067\u306f\u52d5\u4f5c\u3057\u307e\u305b\u3093\u3002\nJDK\u306e\u30d0\u30fc\u30b8\u30e7\u30f31.5\u4ee5\u964d\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\u8a73\u3057\u304f\u306f\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\u30de\u30cb\u30e5\u30a2\u30eb\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002 + +#: Base.java:254 +Sketchbook\ folder\ disappeared=\u30b9\u30b1\u30c3\u30c1\u30d6\u30c3\u30af\u306e\u4fdd\u5b58\u5834\u6240\u30d5\u30a9\u30eb\u30c0\u304c\u7121\u304f\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002 + +#: Base.java:255 +!The\ sketchbook\ folder\ no\ longer\ exists.\nArduino\ will\ switch\ to\ the\ default\ sketchbook\nlocation,\ and\ create\ a\ new\ sketchbook\ folder\ if\nnecessary.\ Arduino\ will\ then\ stop\ talking\ about\nhimself\ in\ the\ third\ person.= + +#: Base.java:529 +Time\ for\ a\ Break=\u305d\u308d\u305d\u308d\u4f11\u307f\u307e\u3057\u3087\u3046 + +#: Base.java:530 +You've\ reached\ the\ limit\ for\ auto\ naming\ of\ new\ sketches\nfor\ the\ day.\ How\ about\ going\ for\ a\ walk\ instead?=\u4eca\u65e5\u306f\u3082\u3046\u3001\u3053\u308c\u4ee5\u4e0a\u3001\u65b0\u3057\u3044\u30b9\u30b1\u30c3\u30c1\u306b\u81ea\u52d5\u7684\u306b\u540d\u524d\u3092\u4ed8\u3051\u308b\n\u4e8b\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u308d\u305d\u308d\u3001\u304a\u4f11\u307f\u306b\u3057\u307e\u305b\u3093\u304b\uff1f + +#: Base.java:534 +Sunshine=\u7d42\u308f\u308a\u306b\u3057\u307e\u3057\u3087\u3046 + +#: Base.java:535 +No\ really,\ time\ for\ some\ fresh\ air\ for\ you.=\u5148\u7a0b\u3082\u6307\u6458\u3057\u305f\u3088\u3046\u306b\u3001\u4eca\u65e5\u306f\u9811\u5f35\u308a\u3059\u304e\u3067\u3059\u3002 + +#: Base.java:630 +Open\ an\ Arduino\ sketch...=Arduino\u306e\u30b9\u30b1\u30c3\u30c1\u3092\u958b\u304f... + +#: Base.java:769 +!\ \ b\ {\ font\:\ 13pt\ "Lucida\ Grande"\ }p\ {\ font\:\ 11pt\ "Lucida\ Grande";\ margin-top\:\ 8px\ }\ Are\ you\ sure\ you\ want\ to\ Quit?

Closing\ the\ last\ open\ sketch\ will\ quit\ Arduino.= + +#: Base.java:779 Editor.java:594 +Quit=\u7d42\u4e86 + +#: Base.java:900 Editor.java:502 +Open...=\u958b\u304f... + +#: Base.java:967 +Contributed=\u30e6\u30fc\u30b6\u63d0\u4f9b + +#: Base.java:1091 +Sketch\ Does\ Not\ Exist=\u30b9\u30b1\u30c3\u30c1\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002 + +#: Base.java:1092 +The\ selected\ sketch\ no\ longer\ exists.\nYou\ may\ need\ to\ restart\ Arduino\ to\ update\nthe\ sketchbook\ menu.=\u9078\u629e\u3057\u305f\u30b9\u30b1\u30c3\u30c1\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\n\u30b9\u30b1\u30c3\u30c1\u30d6\u30c3\u30af\u30e1\u30cb\u30e5\u30fc\u3092\u66f4\u65b0\u3059\u308b\u306b\u306fArduino IDE\u3092\u518d\u8d77\u52d5\u3057\u3066\u4e0b\u3055\u3044\u3002 + +#: Base.java:1121 +#, java-format +The\ sketch\ "{0}"\ cannot\ be\ used.\nSketch\ names\ must\ contain\ only\ basic\ letters\ and\ numbers\n(ASCII-only\ with\ no\ spaces,\ and\ it\ cannot\ start\ with\ a\ number).\nTo\ get\ rid\ of\ this\ message,\ remove\ the\ sketch\ from\n{1}=\u300c{0}\u300d\u3068\u3044\u3046\u540d\u524d\u3092\u30b9\u30b1\u30c3\u30c1\u306b\u4ed8\u3051\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\n\u30b9\u30b1\u30c3\u30c1\u540d\u306b\u306f\u534a\u89d2\u6587\u5b57\u3068\u6570\u5b57\u306e\u307f\u304c\u4f7f\u7528\u53ef\u80fd\u3067\u3059\u3002\n\uff08ASCII\u6587\u5b57\u306e\u307f\u3001\u30b9\u30da\u30fc\u30b9\u3092\u9664\u304d\u307e\u3059\u3002\u6570\u5b57\u3067\u59cb\u307e\u308b\u540d\u524d\u306f\u4f7f\u3048\u307e\u305b\u3093\u3002\uff09\n\u3053\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8868\u793a\u3057\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u306b\u306f\u3001\u300c{1}\u300d\u304b\u3089\u30b9\u30b1\u30c3\u30c1\u3092\u524a\u9664\n\u3057\u3066\u4e0b\u3055\u3044\u3002 + +#: Base.java:1128 +Ignoring\ sketch\ with\ bad\ name=\u4f7f\u7528\u3067\u304d\u306a\u3044\u540d\u524d\u306e\u30b9\u30b1\u30c3\u30c1\u306f\u7121\u8996\u3057\u307e\u3059\u3002 + +#: Base.java:1198 +#, java-format +The\ library\ "{0}"\ cannot\ be\ used.\nLibrary\ names\ must\ contain\ only\ basic\ letters\ and\ numbers.\n(ASCII\ only\ and\ no\ spaces,\ and\ it\ cannot\ start\ with\ a\ number)=\u300c{0}\u300d\u3068\u3044\u3046\u540d\u524d\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002\n\u30e9\u30a4\u30d6\u30e9\u30ea\u540d\u306b\u306f\u534a\u89d2\u6587\u5b57\u3068\u6570\u5b57\u306e\u307f\u304c\u4f7f\u7528\u53ef\u80fd\u3067\u3059\u3002\n\uff08ASCII\u6587\u5b57\u306e\u307f\u3001\u30b9\u30da\u30fc\u30b9\u3092\u9664\u304d\u307e\u3059\u3002\u6570\u5b57\u3067\u59cb\u307e\u308b\u540d\u524d\u306f\u4f7f\u3048\u307e\u305b\u3093\u3002\uff09 + +#: Base.java:1203 +Ignoring\ bad\ library\ name=\u4f7f\u7528\u3067\u304d\u306a\u3044\u30d5\u30a1\u30a4\u30eb\u540d\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u306f\u7121\u8996\u3057\u307e\u3059\u3002 + +#: Base.java:1428 +Problem\ getting\ data\ folder=\u30c7\u30fc\u30bf\u30d5\u30a9\u30eb\u30c0\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3002 + +#: Base.java:1429 +Error\ getting\ the\ Arduino\ data\ folder.=Arduino IDE\u30c7\u30fc\u30bf\u30d5\u30a9\u30eb\u30c0\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3002 + +#: Base.java:1436 +Settings\ issues=\u8a2d\u5b9a\u306b\u95a2\u3059\u308b\u554f\u984c + +#: Base.java:1437 +Arduino\ cannot\ run\ because\ it\ could\ not\ncreate\ a\ folder\ to\ store\ your\ settings.=\u8a2d\u5b9a\u3092\u4fdd\u5b58\u3059\u308b\u305f\u3081\u306e\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3067\u304d\u306a\u3044\u305f\u3081\u3001\u52d5\u4f5c\u3092\u505c\u6b62\u3057\u307e\u3059\u3002 + +#: Base.java:1598 +You\ forgot\ your\ sketchbook=\u30b9\u30b1\u30c3\u30c1\u30d6\u30c3\u30af\u3092\u3069\u3053\u304b\u306b\u3084\u3063\u3061\u3083\u3044\u307e\u3057\u305f\u306d\u3002 + +#: Base.java:1599 +Arduino\ cannot\ run\ because\ it\ could\ not\ncreate\ a\ folder\ to\ store\ your\ sketchbook.=\u30b9\u30b1\u30c3\u30c1\u30d6\u30c3\u30af\u3092\u4fdd\u5b58\u3059\u308b\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3067\u304d\u306a\u3044\u305f\u3081\u3001\u52d5\u4f5c\u3092\u505c\u6b62\u3057\u307e\u3059\u3002 + +#: Base.java:1619 +Select\ (or\ create\ new)\ folder\ for\ sketches...=\u30b9\u30b1\u30c3\u30c1\u3092\u4fdd\u5b58\u3059\u308b\u30d5\u30a9\u30eb\u30c0\u3092\u9078\u629e\u3059\u308b\u304b\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002 + +#: Base.java:1643 +Problem\ Opening\ URL=\u6307\u5b9a\u306eURL\u3092\u958b\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Base.java:1644 +#, java-format +Could\ not\ open\ the\ URL\n{0}=URL\u300c{0}\u300d\u3092\u958b\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Base.java:1667 +Problem\ Opening\ Folder=\u30d5\u30a9\u30eb\u30c0\u3092\u958b\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Base.java:1668 +#, java-format +Could\ not\ open\ the\ folder\n{0}=\u30d5\u30a9\u30eb\u30c0\u300c{0}\u300d\u3092\u958b\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Base.java:1781 +!Guide_MacOSX.html= + +#: Base.java:1783 +!Guide_Windows.html= + +#: Base.java:1785 +!http\://www.arduino.cc/playground/Learning/Linux= + +#: Base.java:1790 +!index.html= + +#: Base.java:1795 +!Guide_Environment.html= + +#: Base.java:1800 +!environment= + +#: Base.java:1800 +!platforms.html= + +#: Base.java:1805 +!Guide_Troubleshooting.html= + +#: Base.java:1810 +!FAQ.html= + +#: Base.java:1822 +Message=\u30e1\u30c3\u30bb\u30fc\u30b8 + +#: Base.java:1838 +Warning=\u8b66\u544a + +#: Base.java:2192 +#, java-format +Could\ not\ remove\ old\ version\ of\ {0}=\u300c{0}\u300d\u306e\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Base.java:2202 +#, java-format +Could\ not\ replace\ {0}=\u300c{0}\u300d\u3092\u7f6e\u304d\u63db\u3048\u308b\u4e8b\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Base.java:2243 Base.java:2266 +#, java-format +Could\ not\ delete\ {0}=\u300c{0}\u300d\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: EditorToolbar.java:41 EditorToolbar.java:46 +Verify=\u691c\u8a3c + +#: EditorToolbar.java:41 Editor.java:546 +Upload=\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u306b\u66f8\u304d\u8fbc\u3080 + +#: EditorToolbar.java:41 Editor.java:494 +New=\u65b0\u898f\u30d5\u30a1\u30a4\u30eb + +#: EditorToolbar.java:41 +Open=\u958b\u304f + +#: EditorToolbar.java:41 EditorToolbar.java:46 Editor.java:530 +#: Editor.java:2002 Editor.java:2406 +Save=\u4fdd\u5b58 + +#: EditorToolbar.java:41 EditorToolbar.java:46 Editor.java:670 +Serial\ Monitor=\u30b7\u30ea\u30a2\u30eb\u30e2\u30cb\u30bf + +#: EditorToolbar.java:46 Editor.java:554 +Upload\ Using\ Programmer=\u66f8\u8fbc\u88c5\u7f6e\u3092\u4f7f\u3063\u3066\u66f8\u304d\u8fbc\u3080 + +#: EditorToolbar.java:46 +New\ Editor\ Window=\u65b0\u898f\u30a6\u30a3\u30f3\u30c9\u30a6 + +#: EditorToolbar.java:46 +Open\ in\ Another\ Window=\u65b0\u898f\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f + +#: Serial.java:147 +#, java-format +Serial\ port\ ''{0}''\ already\ in\ use.\ Try\ quiting\ any\ programs\ that\ may\ be\ using\ it.=\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8\u300c{0}\u300d\u306f\u3001\u307b\u304b\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u4f7f\u7528\u4e2d\u3067\u3059\u3002\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8\u3092\u4f7f\u3063\u3066\u3044\u308b\u53ef\u80fd\u6027\u306e\u3042\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u7d42\u4e86\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002 + +#: Serial.java:154 +#, java-format +Error\ opening\ serial\ port\ ''{0}''.=\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8\u300c{0}\u300d\u304c\u958b\u3051\u307e\u305b\u3093\u3002 + +#: Serial.java:167 +#, java-format +Serial\ port\ ''{0}''\ not\ found.\ Did\ you\ select\ the\ right\ one\ from\ the\ Tools\ >\ Serial\ Port\ menu?=\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8\u300c{0}\u300d\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\u300c\u30c4\u30fc\u30eb\u300d\u30e1\u30cb\u30e5\u30fc\u306e\u300c\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8\u300d\u3067\u3001\u6b63\u3057\u3044\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8\u3092\u9078\u3093\u3067\u3042\u308a\u307e\u3059\u304b\uff1f + +#: Serial.java:424 +#, java-format +readBytesUntil()\ byte\ buffer\ is\ too\ small\ for\ the\ {0}\ bytes\ up\ to\ and\ including\ char\ {1}=readBytesUntil()\u3067\u6587\u5b57\u300c{1}\u300d\u304c\u898b\u3064\u304b\u308b\u307e\u3067\u8aad\u307f\u8fbc\u3082\u3046\u3068\u3057\u307e\u3057\u305f\u304c\u3001\u30d0\u30c3\u30d5\u30a1\u306e\u9577\u3055{0}\u30d0\u30a4\u30c8\u3067\u306f\u8db3\u308a\u307e\u305b\u3093\u3002 + +#: Serial.java:567 +#, java-format +Error\ inside\ Serial.{0}()=Serial.{0}()\u3067\u30a8\u30e9\u30fc + +#: Theme.java:52 +Could\ not\ read\ color\ theme\ settings.\nYou'll\ need\ to\ reinstall\ Processing.=\u30ab\u30e9\u30fc\u30c6\u30fc\u30de\u306e\u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3002\nArduino IDE\u3092\u518d\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002 + +#: EditorHeader.java:292 +New\ Tab=\u65b0\u898f\u30bf\u30d6 + +#: EditorHeader.java:300 +Rename=\u540d\u524d\u3092\u5909\u66f4 + +#: EditorHeader.java:314 Sketch.java:595 +Delete=\u524a\u9664 + +#: EditorHeader.java:326 +Previous\ Tab=\u524d\u306e\u30bf\u30d6 + +#: EditorHeader.java:340 +Next\ Tab=\u6b21\u306e\u30bf\u30d6 + +#: SerialMonitor.java:91 +Send=\u9001\u4fe1 + +#: SerialMonitor.java:108 +Autoscroll=\u81ea\u52d5\u30b9\u30af\u30ed\u30fc\u30eb + +#: SerialMonitor.java:110 +No\ line\ ending=\u6539\u884c\u306a\u3057 + +#: SerialMonitor.java:110 +Newline=LF\u306e\u307f + +#: SerialMonitor.java:110 +Carriage\ return=CR\u306e\u307f + +#: SerialMonitor.java:110 +Both\ NL\ &\ CR=CR\u304a\u3088\u3073LF + +#: SerialMonitor.java:128 SerialMonitor.java:131 +\ baud=\ bps + +#: FindReplace.java:79 +Find\:=\u691c\u7d22\u30c6\u30ad\u30b9\u30c8\uff1a + +#: FindReplace.java:81 +Replace\ with\:=\u7f6e\u63db\u30c6\u30ad\u30b9\u30c8\uff1a + +#: FindReplace.java:121 +Ignore\ Case=\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044 + +#: FindReplace.java:137 FindReplace.java:146 +Replace\ All=\u5168\u3066\u7f6e\u63db + +#: FindReplace.java:138 FindReplace.java:145 Sketch.java:1050 +Replace=\u7f6e\u63db + +#: FindReplace.java:139 FindReplace.java:144 +Replace\ &\ Find=\u7f6e\u63db\u3057\u3066\u6b21 + +#: FindReplace.java:140 FindReplace.java:143 +Find=\u691c\u7d22 + +#: Sketch.java:278 Sketch.java:307 Sketch.java:581 Sketch.java:970 +Sketch\ is\ Read-Only=\u30b9\u30b1\u30c3\u30c1\u306b\u66f8\u304d\u8fbc\u3081\u307e\u305b\u3093\u3002 + +#: Sketch.java:279 Sketch.java:308 Sketch.java:582 Sketch.java:971 +Some\ files\ are\ marked\ "read-only",\ so\ you'll\nneed\ to\ re-save\ the\ sketch\ in\ another\ location,\nand\ try\ again.=\u8aad\u8fbc\u5c02\u7528\u306b\u8a2d\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u3059\u3002\n\u30b9\u30b1\u30c3\u30c1\u3092\u5225\u306e\u5834\u6240\u306b\u4fdd\u5b58\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n + +#: Sketch.java:286 +Name\ for\ new\ file\:=\u65b0\u898f\u30d5\u30a1\u30a4\u30eb\u306e\u540d\u524d\uff1a + +#: Sketch.java:298 +Sketch\ is\ Untitled=\u30b9\u30b1\u30c3\u30c1\u306b\u306f\u3001\u307e\u3060\u540d\u524d\u304c\u3042\u308a\u307e\u305b\u3093\u3002 + +#: Sketch.java:299 +How\ about\ saving\ the\ sketch\ first\ \nbefore\ trying\ to\ rename\ it?=\u30b9\u30b1\u30c3\u30c1\u306e\u540d\u524d\u3092\u5909\u66f4\u3059\u308b\u524d\u306b\u3001\u30b9\u30b1\u30c3\u30c1\u3092\u4fdd\u5b58\u3057\u307e\u3059\u304b\uff1f + +#: Sketch.java:359 Sketch.java:366 Sketch.java:377 +Problem\ with\ rename=\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Sketch.java:360 +The\ name\ cannot\ start\ with\ a\ period.=\u3053\u306e\u540d\u524d\u306e\u5148\u982d\u306f\u30d4\u30ea\u30aa\u30c9\u300c.\u300d\u306b\u3057\u3066\u306f\u3044\u3051\u307e\u305b\u3093\u3002 + +#: Sketch.java:368 +#, java-format +".{0}"\ is\ not\ a\ valid\ extension.=\u62e1\u5f35\u5b50\u300c.{0}\u300d\u306f\u3001\u4f7f\u3048\u307e\u305b\u3093\u3002 + +#: Sketch.java:378 +!The\ main\ file\ can't\ use\ an\ extension.\n(It\ may\ be\ time\ for\ your\ to\ graduate\ to\ a\n"real"\ programming\ environment)= + +#: Sketch.java:400 Sketch.java:414 Sketch.java:423 Sketch.java:863 +Nope=\u30c0\u30e1\u3002 + +#: Sketch.java:402 +#, java-format +A\ file\ named\ "{0}"\ already\ exists\ in\ "{1}"=\u300c{0}\u300d\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u306f\u3001\u3059\u3067\u306b\u30d5\u30a9\u30eb\u30c0\u300c{1}\u300d\u5185\u306b\u5b58\u5728\u3057\u307e\u3059\u3002 + +#: Sketch.java:415 +You\ can't\ have\ a\ .cpp\ file\ with\ the\ same\ name\ as\ the\ sketch.=\u30b9\u30b1\u30c3\u30c1\u3068\u540c\u3058\u540d\u524d\u306e.cpp\u30d5\u30a1\u30a4\u30eb\u306f\u4f7f\u3048\u307e\u305b\u3093\u3002 + +#: Sketch.java:425 +You\ can't\ rename\ the\ sketch\ to\ "{0}"\nbecause\ the\ sketch\ already\ has\ a\ .cpp\ file\ with\ that\ name.=\u3053\u306e\u30b9\u30b1\u30c3\u30c1\u306b\u306f\u3001\u3059\u3067\u306b\u305d\u306e\u540d\u524d\u306e.cpp\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3059\u308b\u305f\u3081\u3001\u30b9\u30b1\u30c3\u30c1\u306e\u540d\u524d\u3092\u300c{0}\u300d\u306b\u5909\u66f4\u3059\u308b\u4e8b\u304c\u3067\u304d\u307e\u305b\u3093\u3002 + +#: Sketch.java:459 +Cannot\ Rename=\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3002 + +#: Sketch.java:461 +#, java-format +Sorry,\ a\ sketch\ (or\ folder)\ named\ "{0}"\ already\ exists.=\u3059\u3067\u306b\u300c{0}\u300d\u3068\u3044\u3046\u540d\u524d\u306e\u30b9\u30b1\u30c3\u30c1\u307e\u305f\u306f\u30d5\u30a9\u30eb\u30c0\u304c\u5b58\u5728\u3057\u307e\u3059\u3002 + +#: Sketch.java:479 +Could\ not\ rename\ the\ sketch.\ (0)=\u30b9\u30b1\u30c3\u30c1\u306e\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002(0) + +#: Sketch.java:487 Sketch.java:532 +#, java-format +Could\ not\ rename\ "{0}"\ to\ "{1}"=\u300c{0}\u300d\u306e\u540d\u524d\u3092\u300c{1}\u300d\u306b\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Sketch.java:500 +Could\ not\ rename\ the\ sketch.\ (1)=\u30b9\u30b1\u30c3\u30c1\u306e\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002(1) + +#: Sketch.java:507 +Could\ not\ rename\ the\ sketch.\ (2)=\u30b9\u30b1\u30c3\u30c1\u306e\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002(2) + +#: Sketch.java:544 +createNewFile()\ returned\ false=createNewFile()\u304cfalse\u3092\u8fd4\u3057\u307e\u3057\u305f\u3002 + +#: Sketch.java:591 +Are\ you\ sure\ you\ want\ to\ delete\ this\ sketch?=\u3053\u306e\u30b9\u30b1\u30c3\u30c1\u3092\u672c\u5f53\u306b\u524a\u9664\u3057\u307e\u3059\u304b\uff1f + +#: Sketch.java:592 +#, java-format +Are\ you\ sure\ you\ want\ to\ delete\ "{0}"?=\u300c{0}\u300d\u3092\u672c\u5f53\u306b\u524a\u9664\u3057\u307e\u3059\u304b\uff1f + +#: Sketch.java:620 +Couldn't\ do\ it=\u305d\u308c\u306f\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Sketch.java:621 +#, java-format +Could\ not\ delete\ "{0}".=\u300c{0}\u300d\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Sketch.java:651 +removeCode\:\ internal\ error..\ could\ not\ find\ code=removeCode\uff1a\u5185\u90e8\u30a8\u30e9\u30fc\u3001\u5bfe\u8c61\u306e\u30b3\u30fc\u30c9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002 + +#: Sketch.java:724 +Sketch\ is\ read-only=\u30b9\u30b1\u30c3\u30c1\u306b\u66f8\u304d\u8fbc\u3081\u307e\u305b\u3093\u3002 + +#: Sketch.java:725 +Some\ files\ are\ marked\ "read-only",\ so\ you'll\nneed\ to\ re-save\ this\ sketch\ to\ another\ location.=\u66f8\u304d\u8fbc\u307f\u5148\u306e\u5834\u6240\u306b\u306f\u3001\u66f8\u304d\u8fbc\u307f\u7981\u6b62\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u305f\u3081\u3001\u3053\u306e\u30b9\u30b1\u30c3\u30c1\u306f\u5225\u306e\u5834\u6240\u306b\u4fdd\u5b58\u3057\u76f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002 + +#: Sketch.java:743 +In\ Arduino\ 1.0,\ the\ default\ file\ extension\ has\ changed\nfrom\ .pde\ to\ .ino.\ \ New\ sketches\ (including\ those\ created\nby\ "Save-As"\ will\ use\ the\ new\ extension.\ \ The\ extension\nof\ existing\ sketches\ will\ be\ updated\ on\ save,\ but\ you\ can\ndisable\ this\ in\ the\ Preferences\ dialog.\n\nSave\ sketch\ and\ update\ its\ extension?=Arduino 1.0\u3067\u306f\u3001\u30b9\u30b1\u30c3\u30c1\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u62e1\u5f35\u5b50\u3092.pde\u304b\u3089.ino\u306b\n\u5909\u66f4\u3057\u307e\u3057\u305f\u3002\u65b0\u3057\u3044\u30b9\u30b1\u30c3\u30c1\u304a\u3088\u3073\u300c\u540d\u524d\u3092\u4ed8\u3051\u3066\u4fdd\u5b58\u300d\u3067\u4fdd\u5b58\n\u3057\u305f\u30b9\u30b1\u30c3\u30c1\u306b\u306f\u3001\u65b0\u3057\u3044\u62e1\u5f35\u5b50\u304c\u4f7f\u308f\u308c\u307e\u3059\u3002\u307e\u305f\u3001\u65e2\u5b58\u306e\u30b9\u30b1\u30c3\u30c1\n\u3092\u958b\u3044\u3066\u304b\u3089\u4fdd\u5b58\u3059\u308b\u3068\u3001\u65b0\u3057\u3044\u62e1\u5f35\u5b50\u306b\u81ea\u52d5\u7684\u306b\u5909\u66f4\u3055\u308c\u307e\u3059\u3002\n\u3053\u306e\u6a5f\u80fd\u306f\u3001\u300c\u74b0\u5883\u8a2d\u5b9a\u300d\u3067\u7121\u52b9\u306b\u3059\u308b\u4e8b\u304c\u3067\u304d\u307e\u3059\u3002\n\n\u62e1\u5f35\u5b50\u3092\u5909\u66f4\u3057\u3066\u30b9\u30b1\u30c3\u30c1\u3092\u4fdd\u5b58\u3057\u307e\u3059\u304b\uff1f + +#: Sketch.java:750 +!.pde\ ->\ .ino= + +#: Sketch.java:829 +Save\ sketch\ folder\ as...=\u30b9\u30b1\u30c3\u30c1\u306e\u30d5\u30a9\u30eb\u30c0\u306e\u4fdd\u5b58\u5148... + +#: Sketch.java:865 +You\ can't\ save\ the\ sketch\ as\ "{0}"\nbecause\ the\ sketch\ already\ has\ a\ .cpp\ file\ with\ that\ name.=\u3053\u306e\u30b9\u30b1\u30c3\u30c1\u306b\u306f\u3001\u3059\u3067\u306b\u305d\u306e\u540d\u524d\u306e.cpp\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3059\u308b\u305f\u3081\u3001\u30b9\u30b1\u30c3\u30c1\u3092\u300c{0}\u300d\u3068\u3057\u3066\u4fdd\u5b58\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002 + +#: Sketch.java:886 +How\ very\ Borges\ of\ you=\u305d\u308c\u306f\u30e0\u30ea\u3002 + +#: Sketch.java:887 +You\ cannot\ save\ the\ sketch\ into\ a\ folder\ninside\ itself.\ This\ would\ go\ on\ forever.=\u81ea\u3089\u306e\u30b9\u30b1\u30c3\u30c1\u306e\u30d5\u30a9\u30eb\u30c0\u306e\u4e2d\u306b\u30b9\u30b1\u30c3\u30c1\u3092\u4fdd\u5b58\u3059\u308b\u3053\u3068\u306a\u3093\u3066\u3067\u304d\u307e\u305b\u3093\u3002\u7121\u9650\u30eb\u30fc\u30d7\u306b\u306a\u3063\u3061\u3083\u3044\u307e\u3059\u3002 + +#: Sketch.java:979 +Select\ an\ image\ or\ other\ data\ file\ to\ copy\ to\ your\ sketch=\u753b\u50cf\u306a\u3069\u3001\u30b9\u30b1\u30c3\u30c1\u306e\u4e00\u90e8\u3068\u3057\u3066\u30b3\u30d4\u30fc\u3057\u3066\u52a0\u3048\u305f\u3044\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 + +#: Sketch.java:996 Editor.java:377 +One\ file\ added\ to\ the\ sketch.=\u30b9\u30b1\u30c3\u30c1\u306b\u30d5\u30a1\u30a4\u30eb\u30921\u500b\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002 + +#: Sketch.java:1047 +#, java-format +Replace\ the\ existing\ version\ of\ {0}?=\u3059\u3067\u306b\u540c\u3058\u300c{0}\u300d\u3068\u3044\u3046\u540d\u524d\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u30b9\u30b1\u30c3\u30c1\u306e\u4e2d\u306b\u3042\u308a\u307e\u3059\u304c\u3001\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b\uff1f + +#: Sketch.java:1069 Sketch.java:1092 +Error\ adding\ file=\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0\u3059\u308b\u969b\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 + +#: Sketch.java:1070 +#, java-format +Could\ not\ delete\ the\ existing\ ''{0}''\ file.=\u65e2\u5b58\u306e\u300c{0}\u300d\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Sketch.java:1078 +You\ can't\ fool\ me=\u30d8\u30f3\u306a\u3053\u3068\u3057\u3061\u3083\u3060\u3081\u3002 + +#: Sketch.java:1079 +This\ file\ has\ already\ been\ copied\ to\ the\nlocation\ from\ which\ where\ you're\ trying\ to\ add\ it.\nI\ ain't\ not\ doin\ nuthin'.=\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u30b3\u30d4\u30fc\u3055\u308c\u3066\u30b9\u30b1\u30c3\u30c1\u306e\u4e2d\u306b\u3042\u308a\u307e\u3059\u3002\u307e\u3060\u3001\u4f55\u3082\u3057\u3066\u307e\u305b\u3093\u3088\uff01 + +#: Sketch.java:1093 +#, java-format +Could\ not\ add\ ''{0}''\ to\ the\ sketch.=\u30d5\u30a1\u30a4\u30eb\u300c{0}\u300d\u3092\u30b9\u30b1\u30c3\u30c1\u306b\u52a0\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Sketch.java:1359 Sketch.java:1390 +Build\ folder\ disappeared\ or\ could\ not\ be\ written=\u30d3\u30eb\u30c9\u7528\u306e\u30d5\u30a9\u30eb\u30c0\u304c\u6d88\u3048\u3066\u3057\u307e\u3063\u305f\u304b\u3001\u66f8\u304d\u8fbc\u307f\u304c\u3067\u304d\u307e\u305b\u3093\u3002 + +#: Sketch.java:1374 +Could\ not\ find\ main\ class=\u30e1\u30a4\u30f3\u306e\u30af\u30e9\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002 + +#: Sketch.java:1399 +#, java-format +Uncaught\ exception\ type\:\ {0}=\u60f3\u5b9a\u5916\u306e\u4f8b\u5916\u300c{0}\u300d\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 + +#: Sketch.java:1431 +#, java-format +Problem\ moving\ {0}\ to\ the\ build\ folder=\u300c{0}\u300d\u3092\u30d3\u30eb\u30c9\u30d5\u30a9\u30eb\u30c0\u306b\u79fb\u52d5\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Sketch.java:1631 Editor.java:1828 +Compiling\ sketch...=\u30b9\u30b1\u30c3\u30c1\u3092\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u3044\u307e\u3059\u2026 + +#: Sketch.java:1645 +Uploading...=\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u306b\u66f8\u304d\u8fbc\u3093\u3067\u3044\u307e\u3059\u2026 + +#: Sketch.java:1668 +#, java-format +Binary\ sketch\ size\:\ {0}\ bytes\ (of\ a\ {1}\ byte\ maximum)=\u30b3\u30f3\u30d1\u30a4\u30eb\u5f8c\u306e\u30b9\u30b1\u30c3\u30c1\u306e\u30b5\u30a4\u30ba\uff1a{0}\u30d0\u30a4\u30c8\uff08\u6700\u5927\u5bb9\u91cf{1}\u30d0\u30a4\u30c8\uff09 + +#: Sketch.java:1673 +Couldn't\ determine\ program\ size\:\ {0}=\u30b3\u30f3\u30d1\u30a4\u30eb\u5f8c\u306e\u30b5\u30a4\u30ba\u304c\u308f\u304b\u308a\u307e\u305b\u3093\uff1a{0} + +#: Sketch.java:1678 +Sketch\ too\ big;\ see\ http\://www.arduino.cc/en/Guide/Troubleshooting\#size\ for\ tips\ on\ reducing\ it.=\u30b9\u30b1\u30c3\u30c1\u304c\u5927\u304d\u3059\u304e\u307e\u3059\u3002http\://www.arduino.cc/en/Guide/Troubleshooting\#size \u306b\u306f\u3001\u5c0f\u3055\u304f\u3059\u308b\u30b3\u30c4\u304c\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002 + +#: Sketch.java:1738 +Missing\ the\ */\ from\ the\ end\ of\ a\ /*\ comment\ */=\u300c/* */\u300d\u5f62\u5f0f\u306e\u30b3\u30e1\u30f3\u30c8\u306e\u300c*/\u300d\u304c\u3042\u308a\u307e\u305b\u3093\u3002 + +#: Sketch.java:1780 +Sketch\ Disappeared=\u30b9\u30b1\u30c3\u30c1\u304c\u6d88\u6ec5\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002 + +#: Sketch.java:1781 +The\ sketch\ folder\ has\ disappeared.\n\ Will\ attempt\ to\ re-save\ in\ the\ same\ location,\nbut\ anything\ besides\ the\ code\ will\ be\ lost.=\u30b9\u30b1\u30c3\u30c1\u30d6\u30c3\u30af\u306e\u4fdd\u5b58\u5834\u6240\u30d5\u30a9\u30eb\u30c0\u304c\u7121\u304f\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002\n\u74b0\u5883\u8a2d\u5b9a\u3067\u6307\u5b9a\u3057\u3066\u3044\u308b\u4fdd\u5b58\u5834\u6240\u306b\u4fdd\u5b58\u3057\u76f4\u3057\u307e\u3059\u3002\n\u3053\u306e\u30b9\u30b1\u30c3\u30c1\u3068\u4e00\u7dd2\u306b\u4fdd\u5b58\u3057\u3066\u3044\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u5931\u308f\u308c\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002 + +#: Sketch.java:1794 +Could\ not\ re-save\ sketch=\u30b9\u30b1\u30c3\u30c1\u3092\u4fdd\u5b58\u3057\u76f4\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Sketch.java:1795 +Could\ not\ properly\ re-save\ the\ sketch.\ You\ may\ be\ in\ trouble\ at\ this\ point,\nand\ it\ might\ be\ time\ to\ copy\ and\ paste\ your\ code\ to\ another\ text\ editor.=\u30b9\u30b1\u30c3\u30c1\u3092\u6b63\u5e38\u306b\u4fdd\u5b58\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\n\u4fdd\u5b58\u5148\u306b\u554f\u984c\u304c\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\n\u5225\u306e\u30c6\u30ad\u30b9\u30c8\u30a8\u30c7\u30a3\u30bf\u3067\u30b9\u30b1\u30c3\u30c1\u3092\u958b\u304d\u3001\u30b3\u30fc\u30c9\u3092\u30b3\u30d4\u30fc\uff06\u30da\u30fc\u30b9\u30c8\u3057\u3066\u5225\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58\u3059\u308b\u3053\u3068\u3092\u304a\u3059\u3059\u3081\u3057\u307e\u3059\u3002 + +#: Sketch.java:2044 +The\ sketch\ name\ had\ to\ be\ modified.\ Sketch\ names\ can\ only\ consist\nof\ ASCII\ characters\ and\ numbers\ (but\ cannot\ start\ with\ a\ number).\nThey\ should\ also\ be\ less\ less\ than\ 64\ characters\ long.=\u90fd\u5408\u306b\u3088\u308a\u3001\u30b9\u30b1\u30c3\u30c1\u306e\u540d\u524d\u3092\u5909\u66f4\u3057\u307e\u3057\u305f\u3002\u30b9\u30b1\u30c3\u30c1\u306e\u540d\u524d\u306f\u3001ASCII\u6587\u5b57\u304a\u3088\u3073\u6570\u5b57\uff08\u5148\u982d\u3092\u9664\u304f\uff09\u3067\u3042\u308a\u3001\uff16\uff14\u6587\u5b57\u4ee5\u4e0b\u3067\u3042\u308b\u3053\u3068\u304c\u5fc5\u8981\u3067\u3059\u3002 + +#: EditorConsole.java:147 +Console\ Error=\u30b3\u30f3\u30bd\u30fc\u30eb\u306e\u7570\u5e38 + +#: EditorConsole.java:148 +A\ problem\ occurred\ while\ trying\ to\ open\ the\nfiles\ used\ to\ store\ the\ console\ output.=\u30b3\u30f3\u30bd\u30fc\u30eb\u51fa\u529b\u3092\u4fdd\u5b58\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u3053\u3046\u3068\u3057\u305f\u3089\u3001\n\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 + +#: debug/Uploader.java:52 +!https\://developer.berlios.de/bugs/?group_id\=3590= + +#: debug/Uploader.java:54 debug/Compiler.java:43 +#, java-format +Compiler\ error,\ please\ submit\ this\ code\ to\ {0}=\u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u30a8\u30e9\u30fc\u3067\u3059\u3002\u554f\u984c\u306e\u8d77\u304d\u305f\u30b9\u30b1\u30c3\u30c1\u3092{0}\u306b\u9001\u3063\u3066\u304f\u3060\u3055\u3044\u3002 + +#: debug/Uploader.java:199 +#, java-format +the\ selected\ serial\ port\ {0}\ does\ not\ exist\ or\ your\ board\ is\ not\ connected=\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8\u300c{0}\u300d\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u305d\u306e\u30dd\u30fc\u30c8\u306f\u5b58\u5728\u3057\u306a\u3044\u304b\u3001\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u304c\u63a5\u7d9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002 + +#: debug/Uploader.java:203 +Device\ is\ not\ responding,\ check\ the\ right\ serial\ port\ is\ selected\ or\ RESET\ the\ board\ right\ before\ exporting=\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u304c\u5fdc\u7b54\u3057\u307e\u305b\u3093\u3002\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8\u304c\u6b63\u3057\u304f\u9078\u629e\u3055\u308c\u3066\u3044\u308b\u4e8b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u307e\u305f\u3001\u66f8\u304d\u8fbc\u307f\u306e\u76f4\u524d\u306b\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u306e\u30ea\u30bb\u30c3\u30c8\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002 + +#: debug/Uploader.java:209 +Problem\ uploading\ to\ board.\ \ See\ http\://www.arduino.cc/en/Guide/Troubleshooting\#upload\ for\ suggestions.=\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u306b\u66f8\u304d\u8fbc\u3082\u3046\u3068\u3057\u307e\u3057\u305f\u304c\u3001\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\n\u3053\u306e\u30da\u30fc\u30b8\u3092\u53c2\u8003\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\nhttp\://www.arduino.cc/en/Guide/Troubleshooting\#upload + +#: debug/Uploader.java:213 +Wrong\ microcontroller\ found.\ \ Did\ you\ select\ the\ right\ board\ from\ the\ Tools\ >\ Board\ menu?=\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u3068\u901a\u4fe1\u3057\u305f\u3068\u3053\u308d\u3001\u9078\u629e\u3068\u7570\u306a\u308b\u30de\u30a4\u30b3\u30f3\u30c1\u30c3\u30d7\u304c\u5fdc\u7b54\u3057\u307e\u3057\u305f\u3002\u300c\u30c4\u30fc\u30eb\u300d\u30e1\u30cb\u30e5\u30fc\u306e\u300c\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u300d\u306e\u9078\u629e\u80a2\u304b\u3089\u3001\u6b63\u3057\u3044\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u3092\u9078\u3093\u3067\u304f\u3060\u3055\u3044\u3002 + +#: debug/Compiler.java:41 +!http\://code.google.com/p/arduino/issues/list= + +#: debug/Compiler.java:79 +No\ board\ selected;\ please\ choose\ a\ board\ from\ the\ Tools\ >\ Board\ menu.=\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u304c\u9078\u3070\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u300c\u30c4\u30fc\u30eb\u300d\u30e1\u30cb\u30e5\u30fc\u306e\u300c\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u300d\u306e\u9078\u629e\u80a2\u304b\u3089\u3001\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u3092\u9078\u3093\u3067\u304f\u3060\u3055\u3044\u3002 + +#: debug/Compiler.java:346 +#, java-format +{0}\ returned\ {1}={0}\u304c{1}\u3092\u8fd4\u3057\u307e\u3057\u305f\u3002 + +#: debug/Compiler.java:350 +Error\ compiling.=\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 + +#: debug/Compiler.java:389 +Please\ import\ the\ SPI\ library\ from\ the\ Sketch\ >\ Import\ Library\ menu.=\u300c\u30b9\u30b1\u30c3\u30c1\u300d\u30e1\u30cb\u30e5\u30fc\u306e\u300c\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u300d\u3067\u3001SPI\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u8aad\u307f\u8fbc\u3093\u3067\u304f\u3060\u3055\u3044\u3002 + +#: debug/Compiler.java:390 +\nAs\ of\ Arduino\ 0019,\ the\ Ethernet\ library\ depends\ on\ the\ SPI\ library.\nYou\ appear\ to\ be\ using\ it\ or\ another\ library\ that\ depends\ on\ the\ SPI\ library.\n\n=\nArduino 0019\u4ee5\u964d\u3001Ethernet\u30e9\u30a4\u30d6\u30e9\u30ea\u306fSPI\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u4f9d\u5b58\u3057\u3066\u3044\u307e\u3059\u3002\nEthernet\u30e9\u30a4\u30d6\u30e9\u30ea\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u3001SPI\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u4f9d\u5b58\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u306d\u3002\n\n + +#: debug/Compiler.java:395 +The\ 'BYTE'\ keyword\ is\ no\ longer\ supported.=\u300cBYTE\u300d\u30ad\u30fc\u30ef\u30fc\u30c9\u306f\u3001\u4f7f\u7528\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002 + +#: debug/Compiler.java:396 +\nAs\ of\ Arduino\ 1.0,\ the\ 'BYTE'\ keyword\ is\ no\ longer\ supported.\nPlease\ use\ Serial.write()\ instead.\n\n=\nArduino 1.0\u4ee5\u964d\u3001\u300cBYTE\u300d\u30ad\u30fc\u30ef\u30fc\u30c9\u306f\u4f7f\u7528\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002\nSerial.write()\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\n + +#: debug/Compiler.java:401 +The\ Server\ class\ has\ been\ renamed\ EthernetServer.=\u300cServer\u300d\u30af\u30e9\u30b9\u306f\u300cEthernetServer\u300d\u306b\u540d\u79f0\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3002 + +#: debug/Compiler.java:402 +\nAs\ of\ Arduino\ 1.0,\ the\ Server\ class\ in\ the\ Ethernet\ library\ has\ been\ renamed\ to\ EthernetServer.\n\n=\nArduino 1.0\u4ee5\u964d\u3001Ethernet\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u300cServer\u300d\u30af\u30e9\u30b9\u306f\u3001\u300cEthernetServer\u300d\u306b\u540d\u79f0\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3002\n\n + +#: debug/Compiler.java:407 +The\ Client\ class\ has\ been\ renamed\ EthernetClient.=\u300cClient\u300d\u30af\u30e9\u30b9\u306f\u300cEthernetClient\u300d\u306b\u540d\u79f0\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3002 + +#: debug/Compiler.java:408 +\nAs\ of\ Arduino\ 1.0,\ the\ Client\ class\ in\ the\ Ethernet\ library\ has\ been\ renamed\ to\ EthernetClient.\n\n=\nArduino 1.0\u4ee5\u964d\u3001Ethernet\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u300cClient\u300d\u30af\u30e9\u30b9\u306f\u3001\u300cEthernetClient\u300d\u306b\u540d\u79f0\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3002\n\n + +#: debug/Compiler.java:413 +The\ Udp\ class\ has\ been\ renamed\ EthernetUdp.=\u300cUdp\u300d\u30af\u30e9\u30b9\u306f\u300cEthernetUdp\u300d\u306b\u540d\u79f0\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3002 + +#: debug/Compiler.java:414 +\nAs\ of\ Arduino\ 1.0,\ the\ Udp\ class\ in\ the\ Ethernet\ library\ has\ been\ renamed\ to\ EthernetClient.\n\n=\nArduino 1.0\u4ee5\u964d\u3001Ethernet\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u300cUdp\u300d\u30af\u30e9\u30b9\u306f\u3001\u300cEthernetUdp\u300d\u306b\u540d\u79f0\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3002\n\n + +#: debug/Compiler.java:419 +Wire.send()\ has\ been\ renamed\ Wire.write().=\u300cWire.send()\u300d\u306f\u3001\u300cWire.write()\u300d\u306b\u540d\u79f0\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3002 + +#: debug/Compiler.java:420 +\nAs\ of\ Arduino\ 1.0,\ the\ Wire.send()\ function\ was\ renamed\ to\ Wire.write()\ for\ consistency\ with\ other\ libraries.\n\n=\nArduino 1.0\u4ee5\u964d\u3001\u300cWire.send()\u300d\u95a2\u6570\u306f\u3001\u4ed6\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3068\u306e\u6574\u5408\u6027\u3092\u9ad8\u3081\u308b\u305f\u3081\u3001\u300cWire.write()\u300d\u306b\u540d\u79f0\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3002\n + +#: debug/Compiler.java:425 +Wire.receive()\ has\ been\ renamed\ Wire.read().=\u300cWire.receive()\u300d\u306f\u3001\u300cWire.read()\u300d\u306b\u540d\u79f0\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3002 + +#: debug/Compiler.java:426 +\nAs\ of\ Arduino\ 1.0,\ the\ Wire.receive()\ function\ was\ renamed\ to\ Wire.read()\ for\ consistency\ with\ other\ libraries.\n\n=\nArduino 1.0\u4ee5\u964d\u3001\u300cWire.receive()\u300d\u95a2\u6570\u306f\u3001\u4ed6\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3068\u306e\u6574\u5408\u6027\u3092\u9ad8\u3081\u308b\u305f\u3081\u3001\u300cWire.read()\u300d\u306b\u540d\u79f0\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3002\n + +#: tools/format/src/AutoFormat.java:54 tools/AutoFormat.java:913 +No\ changes\ necessary\ for\ Auto\ Format.=\u6574\u5f62\u306e\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: tools/Archiver.java:48 +Archive\ Sketch=\u30b9\u30b1\u30c3\u30c1\u3092\u30a2\u30fc\u30ab\u30a4\u30d6\u3059\u308b\u3002 + +#: tools/Archiver.java:59 +yyMMdd=yyyyMMdd + +#: tools/Archiver.java:74 +Couldn't\ archive\ sketch=\u30b9\u30b1\u30c3\u30c1\u3092\u30a2\u30fc\u30ab\u30a4\u30d6\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: tools/Archiver.java:75 +Archiving\ the\ sketch\ has\ been\ canceled\ because\nthe\ sketch\ couldn't\ save\ properly.=\u30b9\u30b1\u30c3\u30c1\u3092\u4fdd\u5b58\u3067\u304d\u306a\u304b\u3063\u305f\u305f\u3081\u3001\u30b9\u30b1\u30c3\u30c1\u306e\u30a2\u30fc\u30ab\u30a4\u30d6\u306f\u53d6\u308a\u3084\u3081\u307e\u3057\u305f\u3002 + +#: tools/Archiver.java:109 +Archive\ sketch\ as\:=\u30b9\u30b1\u30c3\u30c1\u3092\u30a2\u30fc\u30ab\u30a4\u30d6\u3059\u308b\u540d\u524d\uff1a + +#: tools/Archiver.java:139 +Archive\ sketch\ canceled.=\u30b9\u30b1\u30c3\u30c1\u306e\u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u53d6\u308a\u3084\u3081\u307e\u3057\u305f + +#: tools/AutoFormat.java:91 +Auto\ Format=\u81ea\u52d5\u6574\u5f62 + +#: tools/AutoFormat.java:919 +Auto\ Format\ Canceled\:\ Too\ many\ right\ parentheses.=\u300c)\u300d\u304c\u591a\u3059\u304e\u308b\u305f\u3081\u3001\u81ea\u52d5\u6574\u5f62\u3092\u53d6\u308a\u3084\u3081\u307e\u3057\u305f\u3002 + +#: tools/AutoFormat.java:922 +Auto\ Format\ Canceled\:\ Too\ many\ left\ parentheses.=\u300c(\u300d\u304c\u591a\u3059\u304e\u308b\u305f\u3081\u3001\u81ea\u52d5\u6574\u5f62\u3092\u53d6\u308a\u3084\u3081\u307e\u3057\u305f\u3002 + +#: tools/AutoFormat.java:928 +Auto\ Format\ Canceled\:\ Too\ many\ right\ curly\ braces.=\u300c}\u300d\u304c\u591a\u3059\u304e\u308b\u305f\u3081\u3001\u81ea\u52d5\u6574\u5f62\u3092\u53d6\u308a\u3084\u3081\u307e\u3057\u305f\u3002 + +#: tools/AutoFormat.java:931 +Auto\ Format\ Canceled\:\ Too\ many\ left\ curly\ braces.=\u300c{\u300d\u304c\u591a\u3059\u304e\u308b\u305f\u3081\u3001\u81ea\u52d5\u6574\u5f62\u3092\u53d6\u308a\u3084\u3081\u307e\u3057\u305f\u3002 + +#: tools/AutoFormat.java:941 +Auto\ Format\ finished.=\u81ea\u52d5\u6574\u5f62\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002 + +#: tools/FixEncoding.java:41 tools/FixEncoding.java:58 +#: tools/FixEncoding.java:79 +Fix\ Encoding\ &\ Reload=\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u4fee\u6b63 + +#: tools/FixEncoding.java:57 +Discard\ all\ changes\ and\ reload\ sketch?=\u672a\u4fdd\u5b58\u306e\u5909\u66f4\u3092\u7834\u68c4\u3057\u3066\u30b9\u30b1\u30c3\u30c1\u3092\u8aad\u307f\u8fbc\u307f\u76f4\u3057\u307e\u3059\u304b\uff1f + +#: tools/FixEncoding.java:77 +An\ error\ occurred\ while\ trying\ to\ fix\ the\ file\ encoding.\nDo\ not\ attempt\ to\ save\ this\ sketch\ as\ it\ may\ overwrite\nthe\ old\ version.\ Use\ Open\ to\ re-open\ the\ sketch\ and\ try\ again.\n=\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u4fee\u6b63\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u304c\u3001\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\n\u4eca\u3053\u3053\u3067\u4fdd\u5b58\u3059\u308b\u3068\u3001\u4fee\u6b63\u524d\u306e\u30b9\u30b1\u30c3\u30c1\u3092\u304a\u304b\u3057\u306a\u5185\u5bb9\u3067\u4e0a\u66f8\u304d\u3057\u3066\u3057\u307e\u3046\n\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u30b9\u30b1\u30c3\u30c1\u3092\u958b\u304d\u76f4\u3057\u3066\u3001\u3082\u3046\u4e00\u5ea6\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\n\u4fee\u6b63\u3092\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002 + +#: Editor.java:374 +No\ files\ were\ added\ to\ the\ sketch.=\u30b9\u30b1\u30c3\u30c1\u306b\u30d5\u30a1\u30a4\u30eb\u306f\u8ffd\u52a0\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Editor.java:381 +#, java-format +{0}\ files\ added\ to\ the\ sketch.=\u30b9\u30b1\u30c3\u30c1\u306b\u30d5\u30a1\u30a4\u30eb\u3092{0}\u500b\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002 + +#: Editor.java:492 +File=\u30d5\u30a1\u30a4\u30eb + +#: Editor.java:511 +Sketchbook=\u30b9\u30b1\u30c3\u30c1\u30d6\u30c3\u30af + +#: Editor.java:517 +Examples=\u30b9\u30b1\u30c3\u30c1\u4f8b + +#: Editor.java:522 Editor.java:1962 +Close=\u9589\u3058\u308b + +#: Editor.java:538 +Save\ As...=\u540d\u524d\u3092\u4ed8\u3051\u3066\u4fdd\u5b58 + +#: Editor.java:564 +Page\ Setup=\u30d7\u30ea\u30f3\u30bf\u306e\u8a2d\u5b9a... + +#: Editor.java:572 +Print=\u5370\u5237... + +#: Editor.java:608 +Sketch=\u30b9\u30b1\u30c3\u30c1 + +#: Editor.java:610 +Verify\ /\ Compile=\u691c\u8a3c\u30fb\u30b3\u30f3\u30d1\u30a4\u30eb + +#: Editor.java:637 +Import\ Library...=\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528 + +#: Editor.java:642 +Show\ Sketch\ Folder=\u30b9\u30b1\u30c3\u30c1\u306e\u30d5\u30a9\u30eb\u30c0\u3092\u8868\u793a + +#: Editor.java:651 +Add\ File...=\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0... + +#: Editor.java:664 +Tools=\u30c4\u30fc\u30eb + +#: Editor.java:690 +Board=\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9 + +#: Editor.java:698 +Serial\ Port=\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8 + +#: Editor.java:703 +Programmer=\u66f8\u8fbc\u88c5\u7f6e + +#: Editor.java:707 +Burn\ Bootloader=\u30d6\u30fc\u30c8\u30ed\u30fc\u30c0\u3092\u66f8\u304d\u8fbc\u3080 + +#: Editor.java:931 +serialMenu\ is\ null=serialMenu\u304c\u30ab\u30e9\u3067\u3059 + +#: Editor.java:935 Editor.java:942 +name\ is\ null=\u540d\u524d\u304c\u30ab\u30e9\u3067\u3059 + +#: Editor.java:994 +error\ retrieving\ port\ list=\u30dd\u30fc\u30c8\u540d\u306e\u4e00\u89a7\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Editor.java:1010 +Help=\u30d8\u30eb\u30d7 + +#: Editor.java:1049 +Getting\ Started=\u521d\u5fc3\u8005\u5411\u3051\u30ac\u30a4\u30c9 + +#: Editor.java:1057 +Environment=\u3053\u306e\u30bd\u30d5\u30c8\u306e\u4f7f\u3044\u65b9\u306b\u3064\u3044\u3066 + +#: Editor.java:1065 +Troubleshooting=\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0 + +#: Editor.java:1073 +Reference=\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9 + +#: Editor.java:1081 Editor.java:2713 +Find\ in\ Reference=\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\u3067\u691c\u7d22 + +#: Editor.java:1091 +Frequently\ Asked\ Questions=\u3088\u304f\u3042\u308b\u8cea\u554f + +#: Editor.java:1099 +Visit\ Arduino.cc=Arduino.cc\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u3092\u958b\u304f + +#: Editor.java:1102 +!http\://arduino.cc/= + +#: Editor.java:1110 +About\ Arduino=Arduino\u306b\u3064\u3044\u3066... + +#: Editor.java:1124 +Edit=\u7de8\u96c6 + +#: Editor.java:1127 Editor.java:1326 +Undo=\u5143\u306b\u623b\u3059 + +#: Editor.java:1131 Editor.java:1361 +Redo=\u3084\u308a\u76f4\u3057 + +#: Editor.java:1139 Editor.java:2637 +Cut=\u5207\u308a\u53d6\u308a + +#: Editor.java:1147 Editor.java:2645 +Copy=\u30b3\u30d4\u30fc + +#: Editor.java:1155 Editor.java:2653 +Copy\ for\ Forum=\u30d5\u30a9\u30fc\u30e9\u30e0\u6295\u7a3f\u5f62\u5f0f\u3067\u30b3\u30d4\u30fc\u3059\u308b + +#: Editor.java:1167 Editor.java:2661 +Copy\ as\ HTML=HTML\u5f62\u5f0f\u3067\u30b3\u30d4\u30fc\u3059\u308b + +#: Editor.java:1179 Editor.java:2669 +Paste=\u8cbc\u308a\u4ed8\u3051 + +#: Editor.java:1188 Editor.java:2677 +Select\ All=\u5168\u3066\u9078\u629e + +#: Editor.java:1198 Editor.java:2687 +Comment/Uncomment=\u30b3\u30e1\u30f3\u30c8\u5316\u30fb\u5fa9\u5e30 + +#: Editor.java:1206 Editor.java:2695 +Increase\ Indent=\u30a4\u30f3\u30c7\u30f3\u30c8\u3092\u5897\u3084\u3059 + +#: Editor.java:1214 Editor.java:2703 +Decrease\ Indent=\u30a4\u30f3\u30c7\u30f3\u30c8\u3092\u6e1b\u3089\u3059 + +#: Editor.java:1224 +Find...=\u691c\u7d22... + +#: Editor.java:1239 +Find\ Next=\u6b21\u3092\u691c\u7d22 + +#: Editor.java:1801 +First\ select\ a\ word\ to\ find\ in\ the\ reference.=\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\u3067\u691c\u7d22\u3057\u305f\u3044\u8a00\u8449\u3092\u9078\u3093\u3060\u72b6\u614b\u306b\u3057\u3066\u304b\u3089\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002 + +#: Editor.java:1808 +#, java-format +No\ reference\ available\ for\ "{0}"=\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\u30de\u30cb\u30e5\u30a2\u30eb\u306b\u300c{0}\u300d\u306f\u3042\u308a\u307e\u305b\u3093\u3002 + +#: Editor.java:1811 +#, java-format +!{0}.html= + +#: Editor.java:1849 Editor.java:1866 +Done\ compiling.=\u30b3\u30f3\u30d1\u30a4\u30eb\u7d42\u4e86\u3002 + +#: Editor.java:1958 +#, java-format +Save\ changes\ to\ "{0}"?\ \ =\u5909\u66f4\u5185\u5bb9\u3092\u300c{0}\u300d\u306b\u66f8\u304d\u8fbc\u307f\u307e\u3059\u304b\uff1f + +#: Editor.java:1991 +\ \ b\ {\ font\:\ 13pt\ "Lucida\ Grande"\ }p\ {\ font\:\ 11pt\ "Lucida\ Grande";\ margin-top\:\ 8px\ }\ Do\ you\ want\ to\ save\ changes\ to\ this\ sketch
\ before\ closing?

If\ you\ don't\ save,\ your\ changes\ will\ be\ lost.= \u9589\u3058\u308b\u524d\u306b\u30b9\u30b1\u30c3\u30c1\u306b\u52a0\u3048\u305f\u5909\u66f4\u5185\u5bb9\u3092\u4fdd\u5b58\u3057\u307e\u3059\u304b\uff1f

\u4fdd\u5b58\u3057\u306a\u3044\u3068\u3001\u5909\u66f4\u5185\u5bb9\u306f\u5931\u308f\u308c\u307e\u3059\u3002 + +#: Editor.java:2002 +Don't\ Save=\u4fdd\u5b58\u3057\u306a\u3044 + +#: Editor.java:2074 +Bad\ file\ selected=\u9593\u9055\u3063\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304d\u307e\u3057\u305f\u3002 + +#: Editor.java:2075 +Processing\ can\ only\ open\ its\ own\ sketches\nand\ other\ files\ ending\ in\ .ino\ or\ .pde=\u3053\u306eIDE\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u62e1\u5f35\u5b50.ino\u307e\u305f\u306f.pde\u3067\n\u7d42\u308f\u308b\u30d5\u30a1\u30a4\u30eb\u3060\u3051\u3092\u958b\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 + +#: Editor.java:2085 +#, java-format +The\ file\ "{0}"\ needs\ to\ be\ inside\na\ sketch\ folder\ named\ "{1}".\nCreate\ this\ folder,\ move\ the\ file,\ and\ continue?=\u300c{0}\u300d\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u306f\u3001\u300c{1}\u300d\u3068\u3044\u3046\u540d\u524d\u306e\u30d5\u30a9\u30eb\u30c0\u306e\u4e2d\u306b\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u81ea\u52d5\u7684\u306b\u3053\u306e\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u3063\u3066\u3001\u30d5\u30a1\u30a4\u30eb\u3092\u4e2d\u306b\u5165\u308c\u307e\u3059\u304b\uff1f + +#: Editor.java:2094 +Moving=\u79fb\u52d5\u4e2d + +#: Editor.java:2107 +#, java-format +A\ folder\ named\ "{0}"\ already\ exists.\ Can't\ open\ sketch.=\u300c{0}\u300d\u3068\u3044\u3046\u540d\u524d\u306e\u30d5\u30a9\u30eb\u30c0\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u30b9\u30b1\u30c3\u30c1\u3092\u958b\u3051\u307e\u305b\u3093\u3002 + +#: Editor.java:2117 +Could\ not\ create\ the\ sketch\ folder.=\u30b9\u30b1\u30c3\u30c1\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002 + +#: Editor.java:2126 +Could\ not\ copy\ to\ a\ proper\ location.=\u30b3\u30d4\u30fc\u3059\u308b\u3079\u304d\u30d5\u30a9\u30eb\u30c0\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u30b3\u30d4\u30fc\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 + +#: Editor.java:2144 +Could\ not\ create\ the\ sketch.=\u30b9\u30b1\u30c3\u30c1\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002 + +#: Editor.java:2151 +#, java-format +!{0}\ |\ Arduino\ {1}= + +#: Editor.java:2208 Editor.java:2246 +Saving...=\u4fdd\u5b58\u4e2d\u3067\u3059... + +#: Editor.java:2213 Editor.java:2249 +Done\ Saving.=\u4fdd\u5b58\u3057\u307e\u3057\u305f\u3002 + +#: Editor.java:2255 +Save\ Canceled.=\u4fdd\u5b58\u3092\u4e2d\u6b62\u3057\u307e\u3057\u305f\u3002 + +#: Editor.java:2281 +#, java-format +Serial\ port\ {0}\ not\ found.\nRetry\ the\ upload\ with\ another\ serial\ port?=\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8\u300c{0}\u300d\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\n\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8\u3092\u5909\u66f4\u3057\u3066\u3001\u3082\u3046\u4e00\u5ea6\u66f8\u304d\u8fbc\u307f\u307e\u3059\u304b\uff1f + +#: Editor.java:2316 +Uploading\ to\ I/O\ Board...=\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u306b\u66f8\u304d\u8fbc\u3093\u3067\u3044\u307e\u3059\u2026 + +#: Editor.java:2333 Editor.java:2369 +Done\ uploading.=\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u3078\u306e\u66f8\u304d\u8fbc\u307f\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002 + +#: Editor.java:2341 Editor.java:2377 +Upload\ canceled.=\u66f8\u304d\u8fbc\u307f\u3092\u53d6\u308a\u3084\u3081\u307e\u3057\u305f\u3002 + +#: Editor.java:2405 +Save\ changes\ before\ export?=\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3092\u884c\u3046\u524d\u306b\u4fdd\u5b58\u3057\u307e\u3059\u304b\uff1f + +#: Editor.java:2420 +Export\ canceled,\ changes\ must\ first\ be\ saved.=\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3092\u53d6\u308a\u3084\u3081\u307e\u3057\u305f\u3002\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3092\u884c\u3046\u524d\u306b\u4fdd\u5b58\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 + +#: Editor.java:2442 +Burning\ bootloader\ to\ I/O\ Board\ (this\ may\ take\ a\ minute)...=\u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9\u306b\u30d6\u30fc\u30c8\u30ed\u30fc\u30c0\u3092\u66f8\u304d\u8fbc\u3093\u3067\u3044\u307e\u3059\u2026 + +#: Editor.java:2448 +Done\ burning\ bootloader.=\u30d6\u30fc\u30c8\u30ed\u30fc\u30c0\u306e\u66f8\u304d\u8fbc\u307f\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002 + +#: Editor.java:2450 Editor.java:2454 Editor.java:2458 +Error\ while\ burning\ bootloader.=\u30d6\u30fc\u30c8\u30ed\u30fc\u30c0\u3092\u66f8\u304d\u8fbc\u3082\u3046\u3068\u3057\u307e\u3057\u305f\u304c\u3001\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 + +#: Editor.java:2485 +Printing...=\u5370\u5237\u3057\u3066\u3044\u307e\u3059... + +#: Editor.java:2502 +Done\ printing.=\u5370\u5237\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002 + +#: Editor.java:2505 +Error\ while\ printing.=\u5370\u5237\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 + +#: Editor.java:2509 +Printing\ canceled.=\u5370\u5237\u3092\u53d6\u308a\u3084\u3081\u307e\u3057\u305f\u3002 + +#: Editor.java:2557 +#, java-format +Bad\ error\ line\:\ {0}=\u30a8\u30e9\u30fc\u306e\u884c\u756a\u53f7\u300c{0}\u300d\u306f\u7bc4\u56f2\u5916\u3067\u3059\u3002 + +#: Editor.java:2626 +Open\ URL=URL\u3092\u958b\u304f + +#: Platform.java:167 +No\ launcher\ available=\u5916\u90e8\u30d7\u30ed\u30b0\u30e9\u30e0\u8d77\u52d5\u30c4\u30fc\u30eb\u304c\u6709\u308a\u307e\u305b\u3093\u3002 + +#: Platform.java:168 +Unspecified\ platform,\ no\ launcher\ available.\nTo\ enable\ opening\ URLs\ or\ folders,\ add\ a\ \n"launcher\=/path/to/app"\ line\ to\ preferences.txt=\u5916\u90e8\u30d7\u30ed\u30b0\u30e9\u30e0\u8d77\u52d5\u30c4\u30fc\u30eb\u304c\u6709\u308a\u307e\u305b\u3093\u3002URL\u3084\u30d5\u30a9\u30eb\u30c0\u3092\u81ea\u52d5\u7684\u306b\u958b\u304f\u6a5f\u80fd\u3092\u6709\u52b9\u306b\u3059\u308b\u306b\u306f\u3001preferences.txt\u306b"launcher\=/path/to/app"\u306e\u8a2d\u5b9a\u884c\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002 diff --git a/app/src/processing/app/Serial.java b/app/src/processing/app/Serial.java index c84c949cd1e..93bfdac9e8f 100755 --- a/app/src/processing/app/Serial.java +++ b/app/src/processing/app/Serial.java @@ -26,6 +26,7 @@ //import processing.core.*; import processing.app.debug.MessageConsumer; +import static processing.app.I18n._; import gnu.io.*; @@ -141,16 +142,32 @@ public Serial(String iname, int irate, } } } catch (PortInUseException e) { - throw new SerialException("Serial port '" + iname + "' already in use. Try quiting any programs that may be using it."); + throw new SerialException( + I18n.format( + _("Serial port ''{0}'' already in use. Try quiting any programs that may be using it."), + iname + ) + ); } catch (Exception e) { - throw new SerialException("Error opening serial port '" + iname + "'.", e); + throw new SerialException( + I18n.format( + _("Error opening serial port ''{0}''."), + iname + ), + e + ); // //errorMessage("", e); // //exception = e; // //e.printStackTrace(); } if (port == null) { - throw new SerialNotFoundException("Serial port '" + iname + "' not found. Did you select the right one from the Tools > Serial Port menu?"); + throw new SerialNotFoundException( + I18n.format( + _("Serial port ''{0}'' not found. Did you select the right one from the Tools > Serial Port menu?"), + iname + ) + ); } } @@ -402,9 +419,14 @@ public int readBytesUntil(int interesting, byte outgoing[]) { int length = found - bufferIndex + 1; if (length > outgoing.length) { - System.err.println("readBytesUntil() byte buffer is" + - " too small for the " + length + - " bytes up to and including char " + interesting); + System.err.println( + I18n.format( + _("readBytesUntil() byte buffer is too small for the {0}" + + " bytes up to and including char {1}"), + length, + interesting + ) + ); return -1; } //byte outgoing[] = new byte[length]; @@ -542,7 +564,7 @@ static public String[] list() { * I think of something slightly more intelligent to do. */ static public void errorMessage(String where, Throwable e) { - System.err.println("Error inside Serial." + where + "()"); + System.err.println(I18n.format(_("Error inside Serial.{0}()"), where)); e.printStackTrace(); } } diff --git a/app/src/processing/app/SerialMonitor.java b/app/src/processing/app/SerialMonitor.java index 009305413e0..901e50a4e49 100644 --- a/app/src/processing/app/SerialMonitor.java +++ b/app/src/processing/app/SerialMonitor.java @@ -20,6 +20,7 @@ import processing.app.debug.MessageConsumer; import processing.core.*; +import static processing.app.I18n._; import java.awt.*; import java.awt.event.*; @@ -87,7 +88,7 @@ public void actionPerformed(ActionEvent e) { textField.setText(""); }}); - sendButton = new JButton("Send"); + sendButton = new JButton(_("Send")); sendButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { send(textField.getText()); @@ -104,9 +105,9 @@ public void actionPerformed(ActionEvent e) { pane.setLayout(new BoxLayout(pane, BoxLayout.X_AXIS)); pane.setBorder(new EmptyBorder(4, 4, 4, 4)); - autoscrollBox = new JCheckBox("Autoscroll", true); + autoscrollBox = new JCheckBox(_("Autoscroll"), true); - lineEndings = new JComboBox(new String[] { "No line ending", "Newline", "Carriage return", "Both NL & CR" }); + lineEndings = new JComboBox(new String[] { _("No line ending"), _("Newline"), _("Carriage return"), _("Both NL & CR") }); lineEndings.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { Preferences.setInteger("serial.line_ending", lineEndings.getSelectedIndex()); @@ -124,10 +125,10 @@ public void actionPerformed(ActionEvent event) { serialRates = new JComboBox(); for (int i = 0; i < serialRateStrings.length; i++) - serialRates.addItem(serialRateStrings[i] + " baud"); + serialRates.addItem(serialRateStrings[i] + _(" baud")); serialRate = Preferences.getInteger("serial.debug_rate"); - serialRates.setSelectedItem(serialRate + " baud"); + serialRates.setSelectedItem(serialRate + _(" baud")); serialRates.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { String wholeString = (String) serialRates.getSelectedItem(); @@ -225,4 +226,4 @@ public void run() { } }}); } -} \ No newline at end of file +} diff --git a/app/src/processing/app/Sketch.java b/app/src/processing/app/Sketch.java index 4a90795de01..6c425927e9d 100644 --- a/app/src/processing/app/Sketch.java +++ b/app/src/processing/app/Sketch.java @@ -30,6 +30,7 @@ import processing.app.debug.Uploader; import processing.app.preproc.*; import processing.core.*; +import static processing.app.I18n._; import java.awt.*; import java.awt.event.*; @@ -274,15 +275,15 @@ public void handleNewCode() { // if read-only, give an error if (isReadOnly()) { // if the files are read-only, need to first do a "save as". - Base.showMessage("Sketch is Read-Only", - "Some files are marked \"read-only\", so you'll\n" + - "need to re-save the sketch in another location,\n" + - "and try again."); + Base.showMessage(_("Sketch is Read-Only"), + _("Some files are marked \"read-only\", so you'll\n" + + "need to re-save the sketch in another location,\n" + + "and try again.")); return; } renamingCode = false; - editor.status.edit("Name for new file:", ""); + editor.status.edit(_("Name for new file:"), ""); } @@ -294,19 +295,19 @@ public void handleRenameCode() { ensureExistence(); if (currentIndex == 0 && editor.untitled) { - Base.showMessage("Sketch is Untitled", - "How about saving the sketch first \n" + - "before trying to rename it?"); + Base.showMessage(_("Sketch is Untitled"), + _("How about saving the sketch first \n" + + "before trying to rename it?")); return; } // if read-only, give an error if (isReadOnly()) { // if the files are read-only, need to first do a "save as". - Base.showMessage("Sketch is Read-Only", - "Some files are marked \"read-only\", so you'll\n" + - "need to re-save the sketch in another location,\n" + - "and try again."); + Base.showMessage(_("Sketch is Read-Only"), + _("Some files are marked \"read-only\", so you'll\n" + + "need to re-save the sketch in another location,\n" + + "and try again.")); return; } @@ -355,16 +356,17 @@ protected void nameCode(String newName) { int dot = newName.indexOf('.'); if (dot == 0) { - Base.showWarning("Problem with rename", - "The name cannot start with a period.", null); + Base.showWarning(_("Problem with rename"), + _("The name cannot start with a period."), null); return; } String newExtension = newName.substring(dot+1).toLowerCase(); if (!validExtension(newExtension)) { - Base.showWarning("Problem with rename", - "\"." + newExtension + "\"" + - "is not a valid extension.", null); + Base.showWarning(_("Problem with rename"), + I18n.format( + _("\".{0}\" is not a valid extension."), newExtension + ), null); return; } @@ -372,10 +374,10 @@ protected void nameCode(String newName) { if (!isDefaultExtension(newExtension)) { if (renamingCode) { // If creating a new tab, don't show this error if (current == code[0]) { // If this is the main tab, disallow - Base.showWarning("Problem with rename", - "The main file can't use an extension.\n" + - "(It may be time for your to graduate to a\n" + - "\"real\" programming environment)", null); + Base.showWarning(_("Problem with rename"), + _("The main file can't use an extension.\n" + + "(It may be time for your to graduate to a\n" + + "\"real\" programming environment)"), null); return; } } @@ -395,9 +397,12 @@ protected void nameCode(String newName) { // might cause problems: http://dev.processing.org/bugs/show_bug.cgi?id=543 for (SketchCode c : code) { if (newName.equalsIgnoreCase(c.getFileName())) { - Base.showMessage("Nope", - "A file named \"" + c.getFileName() + "\" already exists\n" + - "in \"" + folder.getAbsolutePath() + "\""); + Base.showMessage(_("Nope"), + I18n.format( + _("A file named \"{0}\" already exists in \"{1}\""), + c.getFileName(), + folder.getAbsolutePath() + )); return; } } @@ -406,8 +411,8 @@ protected void nameCode(String newName) { // because the sketch is concatenated into a file with that name as part // of the build process. if (newName.equals(getName() + ".cpp")) { - Base.showMessage("Nope", - "You can't have a .cpp file with the same name as the sketch."); + Base.showMessage(_("Nope"), + _("You can't have a .cpp file with the same name as the sketch.")); return; } @@ -415,9 +420,12 @@ protected void nameCode(String newName) { for (int i = 1; i < codeCount; i++) { if (sanitaryName.equalsIgnoreCase(code[i].getPrettyName()) && code[i].getExtension().equalsIgnoreCase("cpp")) { - Base.showMessage("Nope", - "You can't rename the sketch to \"" + sanitaryName + "\"\n" + - "because the sketch already has a .cpp file with that name."); + Base.showMessage(_("Nope"), + I18n.format( + _("You can't rename the sketch to \"{0}\"\n" + + "because the sketch already has a .cpp file with that name."), + sanitaryName + )); return; } } @@ -448,9 +456,12 @@ protected void nameCode(String newName) { String folderName = newName.substring(0, newName.indexOf('.')); File newFolder = new File(folder.getParentFile(), folderName); if (newFolder.exists()) { - Base.showWarning("Cannot Rename", - "Sorry, a sketch (or folder) named " + - "\"" + newName + "\" already exists.", null); + Base.showWarning(_("Cannot Rename"), + I18n.format( + _("Sorry, a sketch (or folder) named " + + "\"{0}\" already exists."), + newName + ), null); return; } @@ -465,15 +476,18 @@ protected void nameCode(String newName) { // save this new SketchCode current.save(); } catch (Exception e) { - Base.showWarning("Error", "Could not rename the sketch. (0)", e); + Base.showWarning(_("Error"), _("Could not rename the sketch. (0)"), e); return; } } if (!current.renameTo(newFile, newExtension)) { - Base.showWarning("Error", - "Could not rename \"" + current.getFileName() + - "\" to \"" + newFile.getName() + "\"", null); + Base.showWarning(_("Error"), + I18n.format( + _("Could not rename \"{0}\" to \"{1}\""), + current.getFileName(), + newFile.getName() + ), null); return; } @@ -483,14 +497,14 @@ protected void nameCode(String newName) { code[i].save(); } } catch (Exception e) { - Base.showWarning("Error", "Could not rename the sketch. (1)", e); + Base.showWarning(_("Error"), _("Could not rename the sketch. (1)"), e); return; } // now rename the sketch folder and re-open boolean success = folder.renameTo(newFolder); if (!success) { - Base.showWarning("Error", "Could not rename the sketch. (2)", null); + Base.showWarning(_("Error"), _("Could not rename the sketch. (2)"), null); return; } // if successful, set base properties for the sketch @@ -513,9 +527,12 @@ protected void nameCode(String newName) { } else { // else if something besides code[0] if (!current.renameTo(newFile, newExtension)) { - Base.showWarning("Error", - "Could not rename \"" + current.getFileName() + - "\" to \"" + newFile.getName() + "\"", null); + Base.showWarning(_("Error"), + I18n.format( + _("Could not rename \"{0}\" to \"{1}\""), + current.getFileName(), + newFile.getName() + ), null); return; } } @@ -524,12 +541,15 @@ protected void nameCode(String newName) { try { if (!newFile.createNewFile()) { // Already checking for IOException, so make our own. - throw new IOException("createNewFile() returned false"); + throw new IOException(_("createNewFile() returned false")); } } catch (IOException e) { - Base.showWarning("Error", - "Could not create the file \"" + newFile + "\"\n" + - "in \"" + folder.getAbsolutePath() + "\"", e); + Base.showWarning(_("Error"), + I18n.format( + "Could not create the file \"{0}\" in \"{1}\"", + newFile, + folder.getAbsolutePath() + ), e); return; } SketchCode newCode = new SketchCode(newFile, newExtension); @@ -558,21 +578,21 @@ public void handleDeleteCode() { // if read-only, give an error if (isReadOnly()) { // if the files are read-only, need to first do a "save as". - Base.showMessage("Sketch is Read-Only", - "Some files are marked \"read-only\", so you'll\n" + + Base.showMessage(_("Sketch is Read-Only"), + _("Some files are marked \"read-only\", so you'll\n" + "need to re-save the sketch in another location,\n" + - "and try again."); + "and try again.")); return; } // confirm deletion with user, yes/no - Object[] options = { "OK", "Cancel" }; + Object[] options = { _("OK"), _("Cancel") }; String prompt = (currentIndex == 0) ? - "Are you sure you want to delete this sketch?" : - "Are you sure you want to delete \"" + current.getPrettyName() + "\"?"; + _("Are you sure you want to delete this sketch?") : + I18n.format(_("Are you sure you want to delete \"{0}\"?"), current.getPrettyName()); int result = JOptionPane.showOptionDialog(editor, prompt, - "Delete", + _("Delete"), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, @@ -597,9 +617,8 @@ public void handleDeleteCode() { } else { // delete the file if (!current.deleteFile()) { - Base.showMessage("Couldn't do it", - "Could not delete \"" + - current.getFileName() + "\"."); + Base.showMessage(_("Couldn't do it"), + I18n.format(_("Could not delete \"{0}\"."), current.getFileName())); return; } @@ -629,7 +648,7 @@ protected void removeCode(SketchCode which) { return; } } - System.err.println("removeCode: internal error.. could not find code"); + System.err.println(_("removeCode: internal error.. could not find code")); } @@ -702,9 +721,9 @@ public boolean save() throws IOException { if (isReadOnly()) { // if the files are read-only, need to first do a "save as". - Base.showMessage("Sketch is read-only", - "Some files are marked \"read-only\", so you'll\n" + - "need to re-save this sketch to another location."); + Base.showMessage(_("Sketch is read-only"), + _("Some files are marked \"read-only\", so you'll\n" + + "need to re-save this sketch to another location.")); // if the user cancels, give up on the save() if (!saveAs()) return false; } else { @@ -719,16 +738,16 @@ public boolean accept(File dir, String name) { if (pdeFiles != null && pdeFiles.length > 0) { if (Preferences.get("editor.update_extension") == null) { - Object[] options = { "OK", "Cancel" }; + Object[] options = { _("OK"), _("Cancel") }; int result = JOptionPane.showOptionDialog(editor, - "In Arduino 1.0, the default file extension has changed\n" + - "from .pde to .ino. New sketches (including those created\n" + - "by \"Save-As\" will use the new extension. The extension\n" + - "of existing sketches will be updated on save, but you can\n" + - "disable this in the Preferences dialog.\n" + - "\n" + - "Save sketch and update its extension?", - ".pde -> .ino", + _("In Arduino 1.0, the default file extension has changed\n" + + "from .pde to .ino. New sketches (including those created\n" + + "by \"Save-As\" will use the new extension. The extension\n" + + "of existing sketches will be updated on save, but you can\n" + + "disable this in the Preferences dialog.\n" + + "\n" + + "Save sketch and update its extension?"), + _(".pde -> .ino"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, @@ -807,7 +826,7 @@ protected boolean saveAs() throws IOException { // get new name for folder FileDialog fd = new FileDialog(editor, - "Save sketch folder as...", + _("Save sketch folder as..."), FileDialog.SAVE); if (isReadOnly() || isUntitled()) { // default to the sketchbook folder @@ -841,9 +860,12 @@ protected boolean saveAs() throws IOException { for (int i = 1; i < codeCount; i++) { if (newName.equalsIgnoreCase(code[i].getPrettyName()) && code[i].getExtension().equalsIgnoreCase("cpp")) { - Base.showMessage("Nope", - "You can't save the sketch as \"" + newName + "\"\n" + - "because the sketch already has a .cpp file with that name."); + Base.showMessage(_("Nope"), + I18n.format( + _("You can't save the sketch as \"{0}\"\n" + + "because the sketch already has a .cpp file with that name."), + newName + )); return false; } } @@ -861,9 +883,9 @@ protected boolean saveAs() throws IOException { String oldPath = folder.getCanonicalPath() + File.separator; if (newPath.indexOf(oldPath) == 0) { - Base.showWarning("How very Borges of you", - "You cannot save the sketch into a folder\n" + - "inside itself. This would go on forever.", null); + Base.showWarning(_("How very Borges of you"), + _("You cannot save the sketch into a folder\n" + + "inside itself. This would go on forever."), null); return false; } } catch (IOException e) { } @@ -945,16 +967,16 @@ public void handleAddFile() { // if read-only, give an error if (isReadOnly()) { // if the files are read-only, need to first do a "save as". - Base.showMessage("Sketch is Read-Only", - "Some files are marked \"read-only\", so you'll\n" + - "need to re-save the sketch in another location,\n" + - "and try again."); + Base.showMessage(_("Sketch is Read-Only"), + _("Some files are marked \"read-only\", so you'll\n" + + "need to re-save the sketch in another location,\n" + + "and try again.")); return; } // get a dialog, select a file to add to the sketch String prompt = - "Select an image or other data file to copy to your sketch"; + _("Select an image or other data file to copy to your sketch"); //FileDialog fd = new FileDialog(new Frame(), prompt, FileDialog.LOAD); FileDialog fd = new FileDialog(editor, prompt, FileDialog.LOAD); fd.setVisible(true); @@ -971,7 +993,7 @@ public void handleAddFile() { boolean result = addFile(sourceFile); if (result) { - editor.statusNotice("One file added to the sketch."); + editor.statusNotice(_("One file added to the sketch.")); } } @@ -1021,11 +1043,11 @@ public boolean addFile(File sourceFile) { // check whether this file already exists if (destFile.exists()) { - Object[] options = { "OK", "Cancel" }; - String prompt = "Replace the existing version of " + filename + "?"; + Object[] options = { _("OK"), _("Cancel") }; + String prompt = I18n.format(_("Replace the existing version of {0}?"), filename); int result = JOptionPane.showOptionDialog(editor, prompt, - "Replace", + _("Replace"), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, @@ -1044,19 +1066,19 @@ public boolean addFile(File sourceFile) { if (replacement) { boolean muchSuccess = destFile.delete(); if (!muchSuccess) { - Base.showWarning("Error adding file", - "Could not delete the existing '" + - filename + "' file.", null); + Base.showWarning(_("Error adding file"), + I18n.format(_("Could not delete the existing ''{0}'' file."), filename), + null); return false; } } // make sure they aren't the same file if ((codeExtension == null) && sourceFile.equals(destFile)) { - Base.showWarning("You can't fool me", - "This file has already been copied to the\n" + - "location from which where you're trying to add it.\n" + - "I ain't not doin nuthin'.", null); + Base.showWarning(_("You can't fool me"), + _("This file has already been copied to the\n" + + "location from which where you're trying to add it.\n" + + "I ain't not doin nuthin'."), null); return false; } @@ -1067,8 +1089,9 @@ public boolean addFile(File sourceFile) { Base.copyFile(sourceFile, destFile); } catch (IOException e) { - Base.showWarning("Error adding file", - "Could not add '" + filename + "' to the sketch.", e); + Base.showWarning(_("Error adding file"), + I18n.format(_("Could not add ''{0}'' to the sketch."), filename), + e); return false; } } @@ -1333,7 +1356,7 @@ public String preprocess(String buildPath, PdePreprocessor preprocessor) throws codeFolderPackages); } catch (FileNotFoundException fnfe) { fnfe.printStackTrace(); - String msg = "Build folder disappeared or could not be written"; + String msg = _("Build folder disappeared or could not be written"); throw new RunnerException(msg); } @@ -1348,7 +1371,7 @@ public String preprocess(String buildPath, PdePreprocessor preprocessor) throws String className = preprocessor.write(); if (className == null) { - throw new RunnerException("Could not find main class"); + throw new RunnerException(_("Could not find main class")); // this situation might be perfectly fine, // (i.e. if the file is empty) //System.out.println("No class found in " + code[i].name); @@ -1364,7 +1387,7 @@ public String preprocess(String buildPath, PdePreprocessor preprocessor) throws } catch (FileNotFoundException fnfe) { fnfe.printStackTrace(); - String msg = "Build folder disappeared or could not be written"; + String msg = _("Build folder disappeared or could not be written"); throw new RunnerException(msg); } catch (RunnerException pe) { // RunnerExceptions are caught here and re-thrown, so that they don't @@ -1373,7 +1396,7 @@ public String preprocess(String buildPath, PdePreprocessor preprocessor) throws } catch (Exception ex) { // TODO better method for handling this? - System.err.println("Uncaught exception type:" + ex.getClass()); + System.err.println(I18n.format(_("Uncaught exception type: {0}"), ex.getClass())); ex.printStackTrace(); throw new RunnerException(ex.toString()); } @@ -1405,8 +1428,7 @@ public String preprocess(String buildPath, PdePreprocessor preprocessor) throws Base.saveFile(sc.getProgram(), new File(buildPath, filename)); } catch (IOException e) { e.printStackTrace(); - throw new RunnerException("Problem moving " + filename + - " to the build folder"); + throw new RunnerException(I18n.format(_("Problem moving {0} to the build folder"), filename)); } // sc.setPreprocName(filename); @@ -1606,7 +1628,7 @@ public boolean exportApplet(String appletPath, boolean usingProgrammer) appletFolder.mkdirs(); // build the sketch - editor.status.progressNotice("Compiling sketch..."); + editor.status.progressNotice(_("Compiling sketch...")); String foundName = build(appletFolder.getPath(), false); // (already reported) error during export, exit this function if (foundName == null) return false; @@ -1620,7 +1642,7 @@ public boolean exportApplet(String appletPath, boolean usingProgrammer) // return false; // } - editor.status.progressNotice("Uploading..."); + editor.status.progressNotice(_("Uploading...")); upload(appletFolder.getPath(), foundName, usingProgrammer); editor.status.progressUpdate(100); return true; @@ -1641,15 +1663,19 @@ protected void size(String buildPath, String suggestedClassName) Sizer sizer = new Sizer(buildPath, suggestedClassName); try { size = sizer.computeSize(); - System.out.println("Binary sketch size: " + size + " bytes (of a " + - maxsize + " byte maximum)"); + System.out.println( + I18n.format( + _("Binary sketch size: {0} bytes (of a {1} byte maximum)"), + size, maxsize + ) + ); } catch (RunnerException e) { - System.err.println("Couldn't determine program size: " + e.getMessage()); + System.err.println(I18n.format(_("Couldn't determine program size: {0}"), e.getMessage())); } if (size > maxsize) throw new RunnerException( - "Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it."); + _("Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.")); } @@ -1709,8 +1735,8 @@ static public String scrubComments(String what) { } } if (!endOfRainbow) { - throw new RuntimeException("Missing the */ from the end of a " + - "/* comment */"); + throw new RuntimeException(_("Missing the */ from the end of a " + + "/* comment */")); } } else { // any old character, move along index++; @@ -1751,10 +1777,10 @@ public boolean exportApplication(String destPath, protected void ensureExistence() { if (folder.exists()) return; - Base.showWarning("Sketch Disappeared", - "The sketch folder has disappeared.\n " + - "Will attempt to re-save in the same location,\n" + - "but anything besides the code will be lost.", null); + Base.showWarning(_("Sketch Disappeared"), + _("The sketch folder has disappeared.\n " + + "Will attempt to re-save in the same location,\n" + + "but anything besides the code will be lost."), null); try { folder.mkdirs(); modified = true; @@ -1765,11 +1791,11 @@ protected void ensureExistence() { calcModified(); } catch (Exception e) { - Base.showWarning("Could not re-save sketch", - "Could not properly re-save the sketch. " + - "You may be in trouble at this point,\n" + - "and it might be time to copy and paste " + - "your code to another text editor.", e); + Base.showWarning(_("Could not re-save sketch"), + _("Could not properly re-save the sketch. " + + "You may be in trouble at this point,\n" + + "and it might be time to copy and paste " + + "your code to another text editor."), e); } } @@ -2015,9 +2041,9 @@ static public String checkName(String origName) { if (!newName.equals(origName)) { String msg = - "The sketch name had to be modified. Sketch names can only consist\n" + - "of ASCII characters and numbers (but cannot start with a number).\n" + - "They should also be less less than 64 characters long."; + _("The sketch name had to be modified. Sketch names can only consist\n" + + "of ASCII characters and numbers (but cannot start with a number).\n" + + "They should also be less less than 64 characters long."); System.out.println(msg); } return newName; diff --git a/app/src/processing/app/SketchCode.java b/app/src/processing/app/SketchCode.java index 2a6e8256097..807d479ea47 100644 --- a/app/src/processing/app/SketchCode.java +++ b/app/src/processing/app/SketchCode.java @@ -28,6 +28,7 @@ import javax.swing.text.Document; import javax.swing.undo.*; +import static processing.app.I18n._; /** @@ -78,7 +79,8 @@ public SketchCode(File file, String extension) { try { load(); } catch (IOException e) { - System.err.println("Error while loading code " + file.getName()); + System.err.println( + I18n.format(_("Error while loading code {0}"), file.getName())); } } @@ -251,11 +253,16 @@ public void load() throws IOException { program = Base.loadFile(file); if (program.indexOf('\uFFFD') != -1) { - System.err.println(file.getName() + " contains unrecognized characters."); - System.err.println("If this code was created with an older version of Processing,"); - System.err.println("you may need to use Tools -> Fix Encoding & Reload to update"); - System.err.println("the sketch to use UTF-8 encoding. If not, you may need to"); - System.err.println("delete the bad characters to get rid of this warning."); + System.err.println( + I18n.format( + _("\"{0}\" contains unrecognized characters." + + "If this code was created with an older version of Processing," + + "you may need to use Tools -> Fix Encoding & Reload to update" + + "the sketch to use UTF-8 encoding. If not, you may need to" + + "delete the bad characters to get rid of this warning."), + file.getName() + ) + ); System.err.println(); } diff --git a/app/src/processing/app/Theme.java b/app/src/processing/app/Theme.java index 373b568351c..e6442584b83 100644 --- a/app/src/processing/app/Theme.java +++ b/app/src/processing/app/Theme.java @@ -29,6 +29,7 @@ import processing.app.syntax.*; import processing.core.*; +import static processing.app.I18n._; /** @@ -48,8 +49,8 @@ static protected void init() { try { load(Base.getLibStream("theme/theme.txt")); } catch (Exception te) { - Base.showError(null, "Could not read color theme settings.\n" + - "You'll need to reinstall Processing.", te); + Base.showError(null, _("Could not read color theme settings.\n" + + "You'll need to reinstall Processing."), te); } // check for platform-specific properties in the defaults @@ -200,4 +201,4 @@ static public SyntaxStyle getStyle(String what) { return new SyntaxStyle(color, italic, bold, underlined); } -} \ No newline at end of file +} diff --git a/app/src/processing/app/UpdateCheck.java b/app/src/processing/app/UpdateCheck.java index b59c1a9107d..21db25b5ce0 100644 --- a/app/src/processing/app/UpdateCheck.java +++ b/app/src/processing/app/UpdateCheck.java @@ -32,6 +32,7 @@ import javax.swing.JOptionPane; import processing.core.PApplet; +import static processing.app.I18n._; /** @@ -49,7 +50,7 @@ */ public class UpdateCheck implements Runnable { Base base; - String downloadURL = "http://www.arduino.cc/latest.txt"; + String downloadURL = _("http://www.arduino.cc/latest.txt"); static final long ONE_DAY = 24 * 60 * 60 * 1000; @@ -99,22 +100,22 @@ public void run() { Preferences.set("update.last", String.valueOf(now)); String prompt = - "A new version of Arduino is available,\n" + - "would you like to visit the Arduino download page?"; + _("A new version of Arduino is available,\n" + + "would you like to visit the Arduino download page?"); if (base.activeEditor != null) { if (latest > Base.REVISION) { - Object[] options = { "Yes", "No" }; + Object[] options = { _("Yes"), _("No") }; int result = JOptionPane.showOptionDialog(base.activeEditor, prompt, - "Update", + _("Update"), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]); if (result == JOptionPane.YES_OPTION) { - Base.openURL("http://www.arduino.cc/en/Main/Software"); + Base.openURL(_("http://www.arduino.cc/en/Main/Software")); } } } diff --git a/app/src/processing/app/debug/Compiler.java b/app/src/processing/app/debug/Compiler.java index 17b7a23b277..bdc436f37f9 100644 --- a/app/src/processing/app/debug/Compiler.java +++ b/app/src/processing/app/debug/Compiler.java @@ -28,6 +28,8 @@ import processing.app.Sketch; import processing.app.SketchCode; import processing.core.*; +import processing.app.I18n; +import static processing.app.I18n._; import java.io.*; import java.util.*; @@ -36,9 +38,9 @@ public class Compiler implements MessageConsumer { static final String BUGS_URL = - "http://code.google.com/p/arduino/issues/list"; + _("http://code.google.com/p/arduino/issues/list"); static final String SUPER_BADNESS = - "Compiler error, please submit this code to " + BUGS_URL; + I18n.format(_("Compiler error, please submit this code to {0}"), BUGS_URL); Sketch sketch; String buildPath; @@ -74,7 +76,7 @@ public boolean compile(Sketch sketch, Map boardPreferences = Base.getBoardPreferences(); String core = boardPreferences.get("build.core"); if (core == null) { - RunnerException re = new RunnerException("No board selected; please choose a board from the Tools > Board menu."); + RunnerException re = new RunnerException(_("No board selected; please choose a board from the Tools > Board menu.")); re.hideStackTrace(); throw re; } @@ -340,11 +342,12 @@ private void execAsynchronously(List commandList) throws RunnerException { if (result > 1) { // a failure in the tool (e.g. unable to locate a sub-executable) - System.err.println(command[0] + " returned " + result); + System.err.println( + I18n.format(_("{0} returned {1}"), command[0], result)); } if (result != 0) { - RunnerException re = new RunnerException("Error compiling."); + RunnerException re = new RunnerException(_("Error compiling.")); re.hideStackTrace(); throw re; } @@ -383,45 +386,45 @@ public void message(String s) { String error = pieces[3], msg = ""; if (pieces[3].trim().equals("SPI.h: No such file or directory")) { - error = "Please import the SPI library from the Sketch > Import Library menu."; - msg = "\nAs of Arduino 0019, the Ethernet library depends on the SPI library." + - "\nYou appear to be using it or another library that depends on the SPI library.\n\n"; + error = _("Please import the SPI library from the Sketch > Import Library menu."); + msg = _("\nAs of Arduino 0019, the Ethernet library depends on the SPI library." + + "\nYou appear to be using it or another library that depends on the SPI library.\n\n"); } if (pieces[3].trim().equals("'BYTE' was not declared in this scope")) { - error = "The 'BYTE' keyword is no longer supported."; - msg = "\nAs of Arduino 1.0, the 'BYTE' keyword is no longer supported." + - "\nPlease use Serial.write() instead.\n\n"; + error = _("The 'BYTE' keyword is no longer supported."); + msg = _("\nAs of Arduino 1.0, the 'BYTE' keyword is no longer supported." + + "\nPlease use Serial.write() instead.\n\n"); } if (pieces[3].trim().equals("no matching function for call to 'Server::Server(int)'")) { - error = "The Server class has been renamed EthernetServer."; - msg = "\nAs of Arduino 1.0, the Server class in the Ethernet library " + - "has been renamed to EthernetServer.\n\n"; + error = _("The Server class has been renamed EthernetServer."); + msg = _("\nAs of Arduino 1.0, the Server class in the Ethernet library " + + "has been renamed to EthernetServer.\n\n"); } if (pieces[3].trim().equals("no matching function for call to 'Client::Client(byte [4], int)'")) { - error = "The Client class has been renamed EthernetClient."; - msg = "\nAs of Arduino 1.0, the Client class in the Ethernet library " + - "has been renamed to EthernetClient.\n\n"; + error = _("The Client class has been renamed EthernetClient."); + msg = _("\nAs of Arduino 1.0, the Client class in the Ethernet library " + + "has been renamed to EthernetClient.\n\n"); } if (pieces[3].trim().equals("'Udp' was not declared in this scope")) { - error = "The Udp class has been renamed EthernetUdp."; - msg = "\nAs of Arduino 1.0, the Udp class in the Ethernet library " + - "has been renamed to EthernetClient.\n\n"; + error = _("The Udp class has been renamed EthernetUdp."); + msg = _("\nAs of Arduino 1.0, the Udp class in the Ethernet library " + + "has been renamed to EthernetClient.\n\n"); } if (pieces[3].trim().equals("'class TwoWire' has no member named 'send'")) { - error = "Wire.send() has been renamed Wire.write()."; - msg = "\nAs of Arduino 1.0, the Wire.send() function was renamed " + - "to Wire.write() for consistency with other libraries.\n\n"; + error = _("Wire.send() has been renamed Wire.write()."); + msg = _("\nAs of Arduino 1.0, the Wire.send() function was renamed " + + "to Wire.write() for consistency with other libraries.\n\n"); } if (pieces[3].trim().equals("'class TwoWire' has no member named 'receive'")) { - error = "Wire.receive() has been renamed Wire.read()."; - msg = "\nAs of Arduino 1.0, the Wire.receive() function was renamed " + - "to Wire.read() for consistency with other libraries.\n\n"; + error = _("Wire.receive() has been renamed Wire.read()."); + msg = _("\nAs of Arduino 1.0, the Wire.receive() function was renamed " + + "to Wire.read() for consistency with other libraries.\n\n"); } RunnerException e = sketch.placeException(error, pieces[1], PApplet.parseInt(pieces[2]) - 1); diff --git a/app/src/processing/app/debug/Uploader.java b/app/src/processing/app/debug/Uploader.java index 71739f129fd..245e43bfd79 100755 --- a/app/src/processing/app/debug/Uploader.java +++ b/app/src/processing/app/debug/Uploader.java @@ -31,6 +31,8 @@ import processing.app.Serial; import processing.app.SerialException; import processing.app.SerialNotFoundException; +import processing.app.I18n; +import static processing.app.I18n._; import java.io.*; import java.util.*; @@ -47,9 +49,9 @@ public abstract class Uploader implements MessageConsumer { static final String BUGS_URL = - "https://developer.berlios.de/bugs/?group_id=3590"; + _("https://developer.berlios.de/bugs/?group_id=3590"); static final String SUPER_BADNESS = - "Compiler error, please submit this code to " + BUGS_URL; + I18n.format(_("Compiler error, please submit this code to {0}"), BUGS_URL); RunnerException exception; //PdePreferences preferences; @@ -194,21 +196,21 @@ public void message(String s) { } if(notFoundError) { //System.out.println("throwing something"); - exception = new RunnerException("the selected serial port "+s+" does not exist or your board is not connected"); + exception = new RunnerException(I18n.format(_("the selected serial port {0} does not exist or your board is not connected"), s)); return; } if (s.indexOf("Device is not responding") != -1 ) { - exception = new RunnerException("Device is not responding, check the right serial port is selected or RESET the board right before exporting"); + exception = new RunnerException(_("Device is not responding, check the right serial port is selected or RESET the board right before exporting")); return; } if (s.indexOf("Programmer is not responding") != -1 || s.indexOf("programmer is not responding") != -1 || s.indexOf("protocol error") != -1) { - exception = new RunnerException("Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions."); + exception = new RunnerException(_("Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.")); return; } if (s.indexOf("Expected signature") != -1) { - exception = new RunnerException("Wrong microcontroller found. Did you select the right board from the Tools > Board menu?"); + exception = new RunnerException(_("Wrong microcontroller found. Did you select the right board from the Tools > Board menu?")); return; } } diff --git a/app/src/processing/app/i18n_update.py b/app/src/processing/app/i18n_update.py new file mode 100644 index 00000000000..925d9a8417a --- /dev/null +++ b/app/src/processing/app/i18n_update.py @@ -0,0 +1,78 @@ +#!/usr/bin/python +#vim:set fileencoding=utf-8 sw=2 + +# +# Remove unused catalog text lines from ".po" file. +# + +def unquote(s): + s = s.strip() + if s[0] != '"' or s[-1] != '"': + raise RuntimeError + return s[1:-1] + +def read_po(fp): + st = 1 + comment = key = value = rkey = rvalue = '' + for line in fp: + if line[0] == '#' or line.strip() == '': + if st == 2: + yield (comment, key, value, rkey, rvalue) + st = 1 + comment = key = value = rkey = rvalue = '' + comment += line + elif line[0] == '"': + if st == 1: + key += unquote(line) + rkey += line + else: + value += unquote(line) + rvalue += line + elif line.startswith('msgid '): + st = 1 + key = unquote(line[5:]) + rkey = line + elif line.startswith('msgstr '): + st = 2 + value = unquote(line[6:]) + rvalue = line + else: + raise RuntimeError + + if st == 2: + yield (comment, key, value, rkey, rvalue) + +def main(): + import sys + + # Read the current text catalog. + d = {} + firstcomment = '' + it = read_po(file(sys.argv[1])) + try: + (comment, key, value, rkey, rvalue) = it.next() + d[key] = rvalue + firstcomment = comment # Preserve the first comment block + except StopIteration: + pass + for (comment, key, value, rkey, rvalue) in it: + d[key] = rvalue + + # Read the new text catalog template and output. + # The translated values come from the current text catalog read above. + out = file(sys.argv[1], 'w') + out.write(firstcomment) + it = read_po(sys.stdin) + try: + (comment, key, value, rkey, rvalue) = it.next() + out.write(rkey) + out.write(d.get(key, rvalue)) + except StopIteration: + pass + for (comment, key, value, rkey, rvalue) in it: + out.write(comment) + out.write(rkey) + out.write(d.get(key, rvalue)) + +if __name__ == '__main__': + main() diff --git a/app/src/processing/app/i18n_update.sh b/app/src/processing/app/i18n_update.sh new file mode 100755 index 00000000000..df38a69987c --- /dev/null +++ b/app/src/processing/app/i18n_update.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +# +# Extract the text catalog from the source code, +# and merge with the already translated texts. +# +# Please be aware that this OVERWRITES the existing *.po and *.properties files. +# You may want to commit to your repository before running this script. +# + +# by Shigeru KANEMOTO at SWITCHSCIENCE. +# on 2011-10-15 + +catalog="/tmp/$$.po" +files="/tmp/$$.files" + +trap "rm -f '$catalog' '$files'" 0 1 2 15 + +# Generate the new text catalog without the already translated texts. +# The 'merge existing' option for xgetext does not work propery for our purpose. +find . -name '*.java' -print > "$files" +xgettext -L Java --from-code=utf-8 -k_ --output="$catalog" --files-from="$files" + +# Then, merge with already translated texts. +for target in *.po; do + echo "Updating $target..." + cat "$catalog" | python i18n_update.py "$target" + msgcat -p "$target" > $(basename "$target" .po).properties + # msgcat may complain about "CHARSET" if you didn't replace "CHARSET" with + # your correct charset. +done diff --git a/app/src/processing/app/syntax/im/CompositionTextManager.java b/app/src/processing/app/syntax/im/CompositionTextManager.java index 3c2bec06334..ba9ee155f7f 100644 --- a/app/src/processing/app/syntax/im/CompositionTextManager.java +++ b/app/src/processing/app/syntax/im/CompositionTextManager.java @@ -54,6 +54,18 @@ public CompositionTextManager(JEditTextArea textArea) { public boolean getIsInputProcess() { return isInputProcess; } + /** + * Insert full width space + */ + public void insertFullWidthSpace() { + initialCaretPosition = textArea.getCaretPosition(); + int layoutCaretPosition = initialCaretPosition; + try { + textArea.getDocument().insertString(layoutCaretPosition, "\u3000", null); + } catch (BadLocationException e) { + e.printStackTrace(); + } + } /** * Called when a user begins input from input method. @@ -115,7 +127,6 @@ private boolean canRemovePreviousInput(int committed_count){ * @param commited_count Numbers of committed characters in text. */ public void endCompositionText(AttributedCharacterIterator text, int committed_count) { - isInputProcess = false; /* * If there are no committed characters, remove it all from textarea. * This case will happen if a user delete all composing characters by backspace or delete key. diff --git a/app/src/processing/app/syntax/im/InputMethodSupport.java b/app/src/processing/app/syntax/im/InputMethodSupport.java index 33a86bb1a33..461be3d1677 100644 --- a/app/src/processing/app/syntax/im/InputMethodSupport.java +++ b/app/src/processing/app/syntax/im/InputMethodSupport.java @@ -73,6 +73,11 @@ public AttributedCharacterIterator getSelectedText( public void inputMethodTextChanged(InputMethodEvent event) { AttributedCharacterIterator text = event.getText(); committed_count = event.getCommittedCharacterCount(); + if(isFullWidthSpaceInput(text)){ + textManager.insertFullWidthSpace(); + caretPositionChanged(event); + return; + } if(isBeginInputProcess(text, textManager)){ textManager.beginCompositionText(text, committed_count); caretPositionChanged(event); @@ -86,11 +91,21 @@ public void inputMethodTextChanged(InputMethodEvent event) { textManager.endCompositionText(text, committed_count); caretPositionChanged(event); } - + + private boolean isFullWidthSpaceInput(AttributedCharacterIterator text){ + if(text == null) + return false; + if(textManager.getIsInputProcess()) + return false; + return (String.valueOf(text.first()).equals("\u3000")); + } + private boolean isBeginInputProcess(AttributedCharacterIterator text, CompositionTextManager textManager){ if(text == null) return false; - return (isInputProcess(text) && !textManager.getIsInputProcess()); + if(textManager.getIsInputProcess()) + return false; + return (isInputProcess(text)); } private boolean isInputProcess(AttributedCharacterIterator text){ diff --git a/app/src/processing/app/tools/Archiver.java b/app/src/processing/app/tools/Archiver.java index 9eb9655ff60..cb282ed6993 100755 --- a/app/src/processing/app/tools/Archiver.java +++ b/app/src/processing/app/tools/Archiver.java @@ -24,6 +24,7 @@ package processing.app.tools; import processing.app.*; +import static processing.app.I18n._; import java.awt.FileDialog; import java.io.*; @@ -44,7 +45,7 @@ public class Archiver implements Tool { public String getMenuTitle() { - return "Archive Sketch"; + return _("Archive Sketch"); } @@ -55,7 +56,7 @@ public void init(Editor editor) { numberFormat.setGroupingUsed(false); // no commas numberFormat.setMinimumIntegerDigits(digits); - dateFormat = new SimpleDateFormat("yyMMdd"); + dateFormat = new SimpleDateFormat(_("yyMMdd")); } @@ -70,9 +71,8 @@ public void run() { e.printStackTrace(); } if (!success) { - Base.showWarning("Couldn't archive sketch", - "Archiving the sketch has been canceled because\n" + - "the sketch couldn't save properly.", null); + Base.showWarning(_("Couldn't archive sketch"), + _("Archiving the sketch has been canceled because\nthe sketch couldn't save properly."), null); return; } @@ -106,7 +106,7 @@ public void run() { // open up a prompt for where to save this fella FileDialog fd = - new FileDialog(editor, "Archive sketch as:", FileDialog.SAVE); + new FileDialog(editor, _("Archive sketch as:"), FileDialog.SAVE); fd.setDirectory(parent.getAbsolutePath()); fd.setFile(newbie.getName()); fd.setVisible(true); @@ -136,7 +136,7 @@ public void run() { e.printStackTrace(); } } else { - editor.statusNotice("Archive sketch canceled."); + editor.statusNotice(_("Archive sketch canceled.")); } } diff --git a/app/src/processing/app/tools/AutoFormat.java b/app/src/processing/app/tools/AutoFormat.java index ba4fba89f03..074e7d8a287 100644 --- a/app/src/processing/app/tools/AutoFormat.java +++ b/app/src/processing/app/tools/AutoFormat.java @@ -26,6 +26,7 @@ Bug fixes Copyright (c) 2005-09 Ben Fry and Casey Reas import processing.app.*; import processing.core.PApplet; +import static processing.app.I18n._; import java.io.*; @@ -87,7 +88,7 @@ public void init(Editor editor) { public String getMenuTitle() { - return "Auto Format"; + return _("Auto Format"); } public void comment() throws IOException { @@ -909,18 +910,26 @@ else if(tabs > 0) String formattedText = strOut.toString(); if (formattedText.equals(originalText)) { - editor.statusNotice("No changes necessary for Auto Format."); + editor.statusNotice(_("No changes necessary for Auto Format.")); } else if (paren != 0) { // warn user if there are too many parens in either direction - editor.statusError("Auto Format Canceled: Too many " + - ((paren < 0) ? "right" : "left") + - " parentheses."); + if (paren < 0) { + editor.statusError( + _("Auto Format Canceled: Too many right parentheses.")); + } else { + editor.statusError( + _("Auto Format Canceled: Too many left parentheses.")); + } } else if (c_level != 0) { // check braces only if parens are ok - editor.statusError("Auto Format Canceled: Too many " + - ((c_level < 0) ? "right" : "left") + - " curly braces."); + if (c_level < 0) { + editor.statusError( + _("Auto Format Canceled: Too many right curly braces.")); + } else { + editor.statusError( + _("Auto Format Canceled: Too many left curly braces.")); + } } else { // replace with new bootiful text @@ -929,7 +938,7 @@ else if(tabs > 0) editor.setSelection(selectionEnd, selectionEnd); editor.getSketch().setModified(true); // mark as finished - editor.statusNotice("Auto Format finished."); + editor.statusNotice(_("Auto Format finished.")); } } catch (Exception e) { diff --git a/app/src/processing/app/tools/FixEncoding.java b/app/src/processing/app/tools/FixEncoding.java index ecdfc6df9ed..5bfb52462cc 100644 --- a/app/src/processing/app/tools/FixEncoding.java +++ b/app/src/processing/app/tools/FixEncoding.java @@ -30,6 +30,7 @@ import javax.swing.JOptionPane; import processing.app.*; +import static processing.app.I18n._; public class FixEncoding implements Tool { @@ -37,7 +38,7 @@ public class FixEncoding implements Tool { public String getMenuTitle() { - return "Fix Encoding & Reload"; + return _("Fix Encoding & Reload"); } @@ -53,8 +54,8 @@ public void run() { if (sketch.isModified()) { int result = JOptionPane.showConfirmDialog(editor, - "Discard all changes and reload sketch?", - "Fix Encoding & Reload", + _("Discard all changes and reload sketch?"), + _("Fix Encoding & Reload"), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); @@ -73,11 +74,9 @@ public void run() { } catch (IOException e) { String msg = - "An error occurred while trying to fix the file encoding.\n" + - "Do not attempt to save this sketch as it may overwrite\n" + - "the old version. Use Open to re-open the sketch and try again.\n" + + _("An error occurred while trying to fix the file encoding.\nDo not attempt to save this sketch as it may overwrite\nthe old version. Use Open to re-open the sketch and try again.\n") + e.getMessage(); - Base.showWarning("Fix Encoding & Reload", msg, e); + Base.showWarning(_("Fix Encoding & Reload"), msg, e); } } @@ -96,4 +95,4 @@ protected String loadWithLocalEncoding(File file) throws IOException { reader.close(); return buffer.toString(); } -} \ No newline at end of file +} diff --git a/app/src/processing/app/tools/format/src/AutoFormat.java b/app/src/processing/app/tools/format/src/AutoFormat.java index e047e9371ba..6f82eaa0993 100644 --- a/app/src/processing/app/tools/format/src/AutoFormat.java +++ b/app/src/processing/app/tools/format/src/AutoFormat.java @@ -24,6 +24,7 @@ import processing.app.*; import processing.core.*; +import static processing.app.I18n._; import java.io.*; @@ -50,7 +51,7 @@ public void show() { String formattedText = null; //strOut.toString(); if (formattedText.equals(originalText)) { - editor.message("No changes necessary for Auto Format."); + editor.message(_("No changes necessary for Auto Format.")); } else { // replace with new bootiful text