spanish translation

2005-10-16
2013-05-23
  • i want to contribute my i18n_es.properties file.

    I also have noticed a lot of messages outside the i18n file, i would like to help in translating all the stuff (adding the strings to the i18n file)

     
    • Trevor Croft
      Trevor Croft
      2005-10-16

      Your contribution is very welcome :)  The property file is easy to integrate, the code updates are a little tricker.  To submit the code updates, load the CVS version of MapTool into Eclipse, make your changes and have eclipse make a patch for you.  Send that file in and we'll certainly integrate it.  If that process is new to you let me know and we can work it out.

      On a similar note, we're looking for people interested in helping with the art, layout, and usability (non technical stuff :) ), so if you or anyone you know are interested, let us know !

       
    • Index: net/rptools/maptool/language/i18n_es.properties

      RCS file: net/rptools/maptool/language/i18n_es.properties
      diff -N net/rptools/maptool/language/i18n_es.properties
      --- /dev/null    1 Jan 1970 00:00:00 -0000
      +++ net/rptools/maptool/language/i18n_es.properties    1 Jan 1970 00:00:00 -0000
      @@ -0,0 +1,64 @@
      +menu.file=&Archivo
      +menu.view=&Ver
      +menu.map=&Mapa
      +menu.tools=&Herramientas
      +menu.help=A&yuda
      +menu.zoom=&Zoom
      +
      +action.newCampaign=New Campaa
      +action.loadCampaign=Abrir Campaa
      +action.saveCampaign=Guardar Campaa
      +
      +action.removeAssetRoot=Eliminar
      +action.enforceView=Centrar a los jugadores en la &vista actual
      +action.enforceView.accel=ctrl V
      +action.runMacro=&Ejecutar Macro
      +action.runMacro.accel=typed /
      +action.debug.duplicateLastIcon=Duplicar el ltimo icono (debug)
      +
      +action.adjustGrid=Ajustar Rejilla
      +action.showGrid=Mostrar &Rejilla
      +action.showGrid.accel=ctrl G
      +
      +action.enableFogOfWar=Activar "Fog of War"
      +action.enableFogOfWar.description=Activar "Fog of War" para el mapa actual
      +
      +action.showNames=Mostrar &texto en los iconos
      +action.showNames.accel=ctrl T
      +
      +action.showAboutDialog=Acerca de...
      +
      +action.hideMap=&Ocultar el mapa a los jugadores
      +action.hideMap.description=Oculta el mapa actual a los jugadores
      +
      +action.autohideNewMaps=Auto Ocultar mapas nuevos
      +action.autohideNewMaps.description=Hace invisibles los nuevos mapas a los jugadores
      +action.autohideNewIcons=Auto Ocultar nuevos iconos
      +action.autohideNewIcons.description=Hace invisibles los nuevos iconos a los jugadores
      +
      +action.zoomIn=Zoom &In
      +action.zoomIn.accel=typed +
      +action.zoomOut=Zoom &Out
      +action.zoomOut.accel=typed -
      +action.zoom100=Zoom 1:1
      +action.zoom100.accel=typed =
      +
      +action.showMapSelector=Mostrar &Selector del mapa
      +action.showInformationPanel=Mostrar panel de informacin
      +
      +action.serverStart=Arrancar servidor
      +action.clientConnect=Conectarse a servidor remoto
      +action.clientDisconnect=Desconectarse de un servidor remoto
      +
      +action.newUnboundedMap=Nuevo mapa con fondo
      +action.newUnboundedMap.accel=ctrl shift N
      +action.newMap=Nuevo mapa
      +action.newMap.accel=ctrl N
      +
      +action.showInformationPanel=Mostrar panel de informacin
      +action.addIconSelector=Aadir &carpeta de imgenes
      +action.addIconSelector.accel=ctrl I
      +
      +action.refresh=Actualizar
      +action.refresh.accel=F5
      +action.exit=Salir

       
      • There is a problem with the encoding of the spanish special characters. I will post the new version (with utf-8 correct chars) soon. Note the tildes and ñ are not shown correctly now.

        It's a detail, of course :)

         
        • Trevor Croft
          Trevor Croft
          2006-02-12

          Sounds good, note that we've updated the file with lots of text.

          Also, if you were so inclined there's a lot of new unexternalized strings (bad me BAD) that you would be welcome to submit patches for.

          On another note, we've moved to new forums (rptools.net/phpbb2

           
    • this patch is mine, is from the src folder and adds a new spanish i18n.properties file.

      I'm patching now other files and extracting the messages to the bundles...

       
    • Index: net/rptools/maptool/client/AppActions.java

      RCS file: /cvsroot/rptools/maptool/src/net/rptools/maptool/client/AppActions.java,v
      retrieving revision 1.28
      diff -u -r1.28 AppActions.java
      --- net/rptools/maptool/client/AppActions.java    12 Oct 2005 03:53:42 -0000    1.28
      +++ net/rptools/maptool/client/AppActions.java    18 Oct 2005 23:12:57 -0000
      @@ -72,12 +72,12 @@
                   Directory dir = assetPanel.getSelectedAssetRoot();

                   if (dir == null) {
      -                MapTool.showError("Select an asset group first");
      +                MapTool.showI18NError("msg.error.mustSelectAssetGroupFirst");
                       return;
                   }

                   if (!assetPanel.isAssetRoot(dir)) {
      -                MapTool.showError("Must select a root group");
      +                MapTool.showI18NError("msg.error.mustSelectRootGroup");
                       return;
                   }

      @@ -108,7 +108,7 @@

                   if (!MapTool.getPlayer().isGM()) {
                       // TODO: This option should be disabled when not a GM
      -                MapTool.showError("Only GMs can do that");
      +                MapTool.showI18NError("msg.error.gmRequired");
                       return;
                   }

      @@ -165,12 +165,12 @@
               public void execute(ActionEvent e) {

                   if (!MapTool.getPlayer().isGM()) {
      -                MapTool.showError("Must be GM to adjust grid");
      +                MapTool.showI18NError("msg.error.gmRequired");
                       return;
                   }

                   if (MapTool.getFrame().getCurrentZoneRenderer().getZone().getType() == Zone.Type.INFINITE) {
      -                MapTool.showError("Cannot adjust grid on infinite maps.");
      +                MapTool.showI18NError("msg.error.cantAdjustGridInfMaps");
                       return;
                   }

      @@ -306,7 +306,7 @@
                   if (MapTool.isConnected()) {

                       MapTool
      -                        .showError("You are connected to a server.  Please disconnect first.");
      +                        .showI18NError("msg.error.mustDisconnectFirst");
                       return;
                   }

      @@ -380,7 +380,7 @@
                       public void run() {

                           if (MapTool.isConnected()) {
      -                        MapTool.showError("Already connected.");
      +                        MapTool.showI18NError("msg.error.mustDisconnectFirst");
                               return;
                           }

      @@ -412,11 +412,11 @@
                                       .setStatus(ConnectionStatusPanel.Status.server);
                           } catch (UnknownHostException uh) {
                               MapTool
      -                                .showError("Whoah, 'localhost' is not a valid address.  Weird.");
      +                                .showI18NError("msg.error.noLocalhost");
                               return;
                           } catch (IOException ioe) {
                               MapTool
      -                                .showError("Could not connect to server: "
      +                                .showI18NError("msg.error.unknownHost"
                                               + ioe);
                               return;
                           }
      @@ -437,7 +437,7 @@
                   try {

                       if (MapTool.isConnected()) {
      -                    MapTool.showError("Already connected.");
      +                    MapTool.showI18NError("msg.error.mustDisconnectFirst");
                           return;
                       }

      @@ -464,11 +464,11 @@
                               ConnectionStatusPanel.Status.connected);
                   } catch (UnknownHostException e1) {
                       // TODO Auto-generated catch block
      -                MapTool.showError("Unknown host");
      +                MapTool.showI18NError("msg.error.unknownHost");
                       e1.printStackTrace();
                   } catch (IOException e1) {
                       // TODO Auto-generated catch block
      -                MapTool.showError("IO Error: " + e1);
      +                MapTool.showI18NError("msg.error.ioError" + e1);
                       e1.printStackTrace();
                   }

      @@ -489,7 +489,7 @@
                   }

                   if (MapTool.isHostingServer()) {
      -                MapTool.showError("Can't disconnect from yourself");
      +                MapTool.showI18NError("msg.error.disconnectYourself");
                       return;
                   }

      @@ -506,12 +506,12 @@
               public void execute(ActionEvent ae) {

                   if (MapTool.isConnected() && !MapTool.getPlayer().isGM()) {
      -                MapTool.showError("Must be a GM to load a campaign.");
      +                MapTool.showI18NError("msg.error.gmRequired");
                       return;
                   }

                   JFileChooser chooser = MapTool.getLoadFileChooser();
      -            chooser.setDialogTitle("Load Campaign");
      +            chooser.setDialogTitle(I18N.getText("msg.loadCampaign"));

                   if (chooser.showOpenDialog(MapTool.getFrame()) == JFileChooser.APPROVE_OPTION) {

      @@ -527,7 +527,7 @@
                           }

                       } catch (IOException ioe) {
      -                    MapTool.showError("Could not load campaign: " + ioe);
      +                    MapTool.showI18NError("msg.error.couldntLoadCampaign" + ioe);
                       }
                   }
               }
      @@ -545,7 +545,7 @@
                   // TODO: this should eventually just remember the last place it was
                   // saved
                   JFileChooser chooser = MapTool.getSaveFileChooser();
      -            chooser.setDialogTitle("Save Campaign");
      +            chooser.setDialogTitle(I18N.getText("msg.saveCampaign"));

                   if (chooser.showSaveDialog(MapTool.getFrame()) == JFileChooser.APPROVE_OPTION) {

      @@ -553,7 +553,7 @@
                           PersistenceUtil.saveCampaign(campaign, chooser
                                   .getSelectedFile());
                       } catch (IOException ioe) {
      -                    MapTool.showError("Could not save campaign: " + ioe);
      +                    MapTool.showError("msg.error.couldntSaveCampaign" + ioe);
                       }
                   }
               }
      @@ -592,7 +592,7 @@
                       public void run() {
                           JFileChooser loadFileChooser = MapTool.getLoadFileChooser();

      -                    loadFileChooser.setDialogTitle("Load Map");
      +                    loadFileChooser.setDialogTitle(I18N.getText("msg.loadMap"));
                           loadFileChooser
                                   .setFileSelectionMode(JFileChooser.FILES_ONLY);

      @@ -615,7 +615,7 @@
                               zone.setVisible(AppState.isNewZonesVisible());
                               MapTool.addZone(zone);
                           } catch (IOException ioe) {
      -                        MapTool.showError("Could not load image: " + ioe);
      +                        MapTool.showI18NError("msg.couldntLoad" + ioe);
                               return;
                           }
                       }
      @@ -652,7 +652,7 @@
                       public void run() {

                           JFileChooser chooser = MapTool.getLoadFileChooser();
      -                    chooser.setDialogTitle("Load Asset Tree");
      +                    chooser.setDialogTitle(I18N.getText("msg.loadAssetTree"));
                           chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

                           if (chooser.showOpenDialog(MapTool.getFrame()) != JFileChooser.APPROVE_OPTION) {
      Index: net/rptools/maptool/client/MapTool.java
      ===================================================================
      RCS file: /cvsroot/rptools/maptool/src/net/rptools/maptool/client/MapTool.java,v
      retrieving revision 1.22
      diff -u -r1.22 MapTool.java
      --- net/rptools/maptool/client/MapTool.java    23 Sep 2005 20:34:28 -0000    1.22
      +++ net/rptools/maptool/client/MapTool.java    18 Oct 2005 23:12:57 -0000
      @@ -41,6 +41,7 @@
      import net.rptools.maptool.client.ui.MapToolClient;
      import net.rptools.maptool.client.ui.zone.ZoneRenderer;
      import net.rptools.maptool.client.ui.zone.ZoneRendererFactory;
      +import net.rptools.maptool.language.I18N;
      import net.rptools.maptool.model.Campaign;
      import net.rptools.maptool.model.ObservableList;
      import net.rptools.maptool.model.Player;
      @@ -73,11 +74,15 @@
           // Components
           private static JFileChooser loadFileChooser;
           private static JFileChooser saveFileChooser;
      -
      +   
           public static void showError(String message) {
               JOptionPane.showMessageDialog(clientFrame, message, "Error", JOptionPane.ERROR_MESSAGE);
           }
      -   
      +
      +    public static void showI18NError(String key) {
      +        JOptionPane.showMessageDialog(clientFrame, I18N.getText(key), I18N.getText("msg.error"), JOptionPane.ERROR_MESSAGE);
      +    }
      +
           private MapTool() {
               // Not instantiatable
           }
      Index: net/rptools/maptool/language/i18n.properties
      ===================================================================
      RCS file: /cvsroot/rptools/maptool/src/net/rptools/maptool/language/i18n.properties,v
      retrieving revision 1.3
      diff -u -r1.3 i18n.properties
      --- net/rptools/maptool/language/i18n.properties    12 Oct 2005 03:53:42 -0000    1.3
      +++ net/rptools/maptool/language/i18n.properties    18 Oct 2005 23:12:57 -0000
      @@ -61,4 +61,23 @@

      action.refresh=Refresh
      action.refresh.accel=F5
      -action.exit=E&xit
      \ No newline at end of file
      +action.exit=E&xit
      +
      +msg.error.mustSelectRootGroup=Must select a root group
      +msg.error.mustSelectAssetGroupFirst=Select an asset group first
      +msg.error.gmRequired=Only GMs can do that
      +msg.error.cantAdjustGridInfMaps=Cannot adjust grid on infinite maps
      +msg.error.mustDisconnectFirst=You are connected to a server.  Please disconnect first.
      +msg.error.noLocalhost=Whoah, 'localhost' is not a valid address.  Weird.
      +msg.error.unknownHost=Could not connect to server
      +msg.error.disconnectYourself=Can't disconnect from yourself
      +msg.error.ioError=IO Error
      +msg.error.couldntLoadCampaign=Could not load campaign
      +msg.error.couldntSaveCampaign=Could not save campaign
      +msg.error.couldntLoad=Could not load
      +
      +
      +msg.loadCampaign=Load Campaign
      +msg.saveCampaign=Save Campaign
      +msg.loadMap=Load Map
      +msg.loadAssetTree=Load Asset Tree
      \ No newline at end of file
      Index: net/rptools/maptool/language/i18n_es.properties
      ===================================================================
      RCS file: net/rptools/maptool/language/i18n_es.properties
      diff -N net/rptools/maptool/language/i18n_es.properties
      --- /dev/null    1 Jan 1970 00:00:00 -0000
      +++ net/rptools/maptool/language/i18n_es.properties    1 Jan 1970 00:00:00 -0000
      @@ -0,0 +1,83 @@
      +menu.file=&Archivo
      +menu.view=&Ver
      +menu.map=&Mapa
      +menu.tools=&Herramientas
      +menu.help=A&yuda
      +menu.zoom=&Zoom
      +
      +action.newCampaign=New Campaa
      +action.loadCampaign=Abrir Campaa
      +action.saveCampaign=Guardar Campaa
      +
      +action.removeAssetRoot=Eliminar
      +action.enforceView=Centrar a los jugadores en la &vista actual
      +action.enforceView.accel=ctrl V
      +action.runMacro=&Ejecutar Macro
      +action.runMacro.accel=typed /
      +action.debug.duplicateLastIcon=Duplicar el ltimo icono (debug)
      +
      +action.adjustGrid=Ajustar Rejilla
      +action.showGrid=Mostrar &Rejilla
      +action.showGrid.accel=ctrl G
      +
      +action.enableFogOfWar=Activar "Fog of War"
      +action.enableFogOfWar.description=Activar "Fog of War" para el mapa actual
      +
      +action.showNames=Mostrar &texto en los iconos
      +action.showNames.accel=ctrl T
      +
      +action.showAboutDialog=Acerca de...
      +
      +action.hideMap=&Ocultar el mapa a los jugadores
      +action.hideMap.description=Oculta el mapa actual a los jugadores
      +
      +action.autohideNewMaps=Auto Ocultar mapas nuevos
      +action.autohideNewMaps.description=Hace invisibles los nuevos mapas a los jugadores
      +action.autohideNewIcons=Auto Ocultar nuevos iconos
      +action.autohideNewIcons.description=Hace invisibles los nuevos iconos a los jugadores
      +
      +action.zoomIn=Zoom &In
      +action.zoomIn.accel=typed +
      +action.zoomOut=Zoom &Out
      +action.zoomOut.accel=typed -
      +action.zoom100=Zoom 1:1
      +action.zoom100.accel=typed =
      +
      +action.showMapSelector=Mostrar &Selector del mapa
      +action.showInformationPanel=Mostrar panel de informacin
      +
      +action.serverStart=Arrancar servidor
      +action.clientConnect=Conectarse a servidor remoto
      +action.clientDisconnect=Desconectarse de un servidor remoto
      +
      +action.newUnboundedMap=Nuevo mapa con fondo
      +action.newUnboundedMap.accel=ctrl shift N
      +action.newMap=Nuevo mapa
      +action.newMap.accel=ctrl N
      +
      +action.showInformationPanel=Mostrar panel de informacin
      +action.addIconSelector=Aadir &carpeta de imgenes
      +action.addIconSelector.accel=ctrl I
      +
      +action.refresh=Actualizar
      +action.refresh.accel=F5
      +action.exit=Salir
      +
      +msg.error.mustSelectRootGroup=Debe seleccionar un grupo raz
      +msg.error.mustSelectAssetGroupFirst=Seleccione un grupo de Marcadores primero
      +msg.error.gmRequired=Esta operacin slo est permitida para los DJs
      +msg.error.cantAdjustGridInfMaps=No se puede ajustar la rejilla en un mapa infinito
      +msg.error.mustDisconnectFirst=Ya ests conectado a un servidor, primero desconecta.
      +msg.error.noLocalhost=Localhost no es una direccin vlida, esto es realmente extrao...
      +msg.error.unknownHost=No se pudo conectar al servidor
      +msg.error.disconnectYourself=No puedes desconectar de ti mismo
      +msg.error.ioError=Error de E/S
      +msg.error.couldntLoadCampaign=No se pudo cargar la Campaa
      +msg.error.couldntSaveCampaign=No se pudo guardar la Campaa
      +msg.error.couldntLoad=No se pudo leer
      +
      +
      +msg.loadCampaign=Abrir Campaa
      +msg.saveCampaign=Guardar Campaa
      +msg.loadMap=Abrir Mapa
      +msg.loadAssetTree=Abrir Ruta de Marcadores

       
    • Note: use the last one. It includes changes in the AppActions.java file, to translate window titles and some error messages.

      I will continue the I18N process, if you think it's ok. Please tell me.

       
      • Trevor Croft
        Trevor Croft
        2005-10-18

        Thanks for the contribution.

        Looking over the patch, it reminds me that I put in a swing i18n framework into another project I worked on recently.  I think I'll integrate a similar framework into MapTool, it will make your integrations much easier. 

        Give me a day or two and I'll get that set up so you can do all the i18n you want :)

         
    • Look at the Struts ActionMessage classes, they have i18n parametrized messages and are well known for the avg. java developer.

       
    • Here is:

      Index: net/rptools/maptool/client/AppActions.java

      RCS file: /cvsroot/rptools/maptool/src/net/rptools/maptool/client/AppActions.java,v
      retrieving revision 1.33
      diff -u -r1.33 AppActions.java
      --- net/rptools/maptool/client/AppActions.java    28 Oct 2005 02:21:57 -0000    1.33
      +++ net/rptools/maptool/client/AppActions.java    20 Nov 2005 13:45:48 -0000
      @@ -101,12 +101,12 @@
                   Directory dir = assetPanel.getSelectedAssetRoot();

                   if (dir == null) {
      -                MapTool.showError("Select an asset group first");
      +                MapTool.showI18NError("msg.error.mustSelectAssetGroupFirst");
                       return;
                   }

                   if (!assetPanel.isAssetRoot(dir)) {
      -                MapTool.showError("Must select a root group");
      +                MapTool.showI18NError("msg.error.mustSelectRootGroup");
                       return;
                   }

      @@ -137,7 +137,7 @@

                   if (!MapTool.getPlayer().isGM()) {
                       // TODO: This option should be disabled when not a GM
      -                MapTool.showError("Only GMs can do that");
      +                MapTool.showI18NError("msg.error.gmRequired");
                       return;
                   }

      @@ -221,12 +221,12 @@
               public void execute(ActionEvent e) {

                   if (!MapTool.getPlayer().isGM()) {
      -                MapTool.showError("Must be GM to adjust grid");
      +                MapTool.showI18NError("msg.error.gmRequired");
                       return;
                   }

                   if (MapTool.getFrame().getCurrentZoneRenderer().getZone().getType() == Zone.Type.INFINITE) {
      -                MapTool.showError("Cannot adjust grid on infinite maps.");
      +                MapTool.showI18NError("msg.error.cantAdjustGridInfMaps");
                       return;
                   }

      @@ -362,7 +362,7 @@
                   if (MapTool.isConnected()) {

                       MapTool
      -                        .showError("You are connected to a server.  Please disconnect first.");
      +                        .showI18NError("msg.error.mustDisconnectFirst");
                       return;
                   }

      @@ -441,7 +441,7 @@
                       public void run() {

                           if (MapTool.isConnected()) {
      -                        MapTool.showError("Already connected.");
      +                        MapTool.showI18NError("msg.error.mustDisconnectFirst");
                               return;
                           }

      @@ -466,10 +466,12 @@
                               MapTool.getFrame().getConnectionStatusPanel()
                                       .setStatus(ConnectionStatusPanel.Status.server);
                           } catch (UnknownHostException uh) {
      -                        MapTool.showError("Whoah, 'localhost' is not a valid address.  Weird.");
      +                        MapTool
      +                                .showI18NError("msg.error.noLocalhost");
                               return;
                           } catch (IOException ioe) {
      -                        MapTool.showError("Could not connect to server: "
      +                        MapTool
      +                                .showI18NError("msg.error.unknownHost"
                                               + ioe);
                               return;
                           }
      @@ -495,7 +497,7 @@
                   try {

                       if (MapTool.isConnected()) {
      -                    MapTool.showError("Already connected.");
      +                    MapTool.showI18NError("msg.error.mustDisconnectFirst");
                           return;
                       }

      @@ -516,11 +518,11 @@
                               ConnectionStatusPanel.Status.connected);
                   } catch (UnknownHostException e1) {
                       // TODO Auto-generated catch block
      -                MapTool.showError("Unknown host");
      +                MapTool.showI18NError("msg.error.unknownHost");
                       e1.printStackTrace();
                   } catch (IOException e1) {
                       // TODO Auto-generated catch block
      -                MapTool.showError("IO Error: " + e1);
      +                MapTool.showI18NError("msg.error.ioError" + e1);
                       e1.printStackTrace();
                   }

      @@ -546,7 +548,7 @@
                   }

                   if (MapTool.isHostingServer()) {
      -                MapTool.showError("Can't disconnect from yourself");
      +                MapTool.showI18NError("msg.error.disconnectYourself");
                       return;
                   }

      @@ -563,12 +565,12 @@
               public void execute(ActionEvent ae) {

                   if (MapTool.isConnected() && !MapTool.getPlayer().isGM()) {
      -                MapTool.showError("Must be a GM to load a campaign.");
      +                MapTool.showI18NError("msg.error.gmRequired");
                       return;
                   }

                   JFileChooser chooser = MapTool.getLoadFileChooser();
      -            chooser.setDialogTitle("Load Campaign");
      +            chooser.setDialogTitle(I18N.getText("msg.loadCampaign"));

                   if (chooser.showOpenDialog(MapTool.getFrame()) == JFileChooser.APPROVE_OPTION) {

      @@ -584,7 +586,7 @@
                           }

                       } catch (IOException ioe) {
      -                    MapTool.showError("Could not load campaign: " + ioe);
      +                    MapTool.showI18NError("msg.error.couldntLoadCampaign" + ioe);
                       }
                   }
               }
      @@ -602,7 +604,7 @@
                   // TODO: this should eventually just remember the last place it was
                   // saved
                   JFileChooser chooser = MapTool.getSaveFileChooser();
      -            chooser.setDialogTitle("Save Campaign");
      +            chooser.setDialogTitle(I18N.getText("msg.saveCampaign"));

                   if (chooser.showSaveDialog(MapTool.getFrame()) == JFileChooser.APPROVE_OPTION) {

      @@ -610,7 +612,7 @@
                           PersistenceUtil.saveCampaign(campaign, chooser
                                   .getSelectedFile());
                       } catch (IOException ioe) {
      -                    MapTool.showError("Could not save campaign: " + ioe);
      +                    MapTool.showError("msg.error.couldntSaveCampaign" + ioe);
                       }
                   }
               }
      @@ -649,7 +651,7 @@
                       public void run() {
                           JFileChooser loadFileChooser = MapTool.getLoadFileChooser();

      -                    loadFileChooser.setDialogTitle("Load Map");
      +                    loadFileChooser.setDialogTitle(I18N.getText("msg.loadMap"));
                           loadFileChooser
                                   .setFileSelectionMode(JFileChooser.FILES_ONLY);

      @@ -672,7 +674,7 @@
                               zone.setVisible(AppState.isNewZonesVisible());
                               MapTool.addZone(zone);
                           } catch (IOException ioe) {
      -                        MapTool.showError("Could not load image: " + ioe);
      +                        MapTool.showI18NError("msg.couldntLoad" + ioe);
                               return;
                           }
                       }
      @@ -709,7 +711,7 @@
                       public void run() {

                           JFileChooser chooser = MapTool.getLoadFileChooser();
      -                    chooser.setDialogTitle("Load Asset Tree");
      +                    chooser.setDialogTitle(I18N.getText("msg.loadAssetTree"));
                           chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

                           if (chooser.showOpenDialog(MapTool.getFrame()) != JFileChooser.APPROVE_OPTION) {
      Index: net/rptools/maptool/client/MapTool.java
      ===================================================================
      RCS file: /cvsroot/rptools/maptool/src/net/rptools/maptool/client/MapTool.java,v
      retrieving revision 1.24
      diff -u -r1.24 MapTool.java
      --- net/rptools/maptool/client/MapTool.java    15 Nov 2005 22:49:39 -0000    1.24
      +++ net/rptools/maptool/client/MapTool.java    20 Nov 2005 13:45:48 -0000
      @@ -41,6 +41,7 @@
      import net.rptools.maptool.client.ui.MapToolClient;
      import net.rptools.maptool.client.ui.zone.ZoneRenderer;
      import net.rptools.maptool.client.ui.zone.ZoneRendererFactory;
      +import net.rptools.maptool.language.I18N;
      import net.rptools.maptool.model.Campaign;
      import net.rptools.maptool.model.MessageChannel;
      import net.rptools.maptool.model.ObservableList;
      @@ -74,11 +75,15 @@
           // Components
           private static JFileChooser loadFileChooser;
           private static JFileChooser saveFileChooser;
      -
      +   
           public static void showError(String message) {
               JOptionPane.showMessageDialog(clientFrame, message, "Error", JOptionPane.ERROR_MESSAGE);
           }
      -   
      +
      +    public static void showI18NError(String key) {
      +        JOptionPane.showMessageDialog(clientFrame, I18N.getText(key), I18N.getText("msg.error"), JOptionPane.ERROR_MESSAGE);
      +    }
      +
           private MapTool() {
               // Not instantiatable
           }
      Index: net/rptools/maptool/language/i18n.properties
      ===================================================================
      RCS file: /cvsroot/rptools/maptool/src/net/rptools/maptool/language/i18n.properties,v
      retrieving revision 1.3
      diff -u -r1.3 i18n.properties
      --- net/rptools/maptool/language/i18n.properties    12 Oct 2005 03:53:42 -0000    1.3
      +++ net/rptools/maptool/language/i18n.properties    20 Nov 2005 13:45:50 -0000
      @@ -61,4 +61,23 @@

      action.refresh=Refresh
      action.refresh.accel=F5
      -action.exit=E&xit
      \ No newline at end of file
      +action.exit=E&xit
      +
      +msg.error.mustSelectRootGroup=Must select a root group
      +msg.error.mustSelectAssetGroupFirst=Select an asset group first
      +msg.error.gmRequired=Only GMs can do that
      +msg.error.cantAdjustGridInfMaps=Cannot adjust grid on infinite maps
      +msg.error.mustDisconnectFirst=You are connected to a server.  Please disconnect first.
      +msg.error.noLocalhost=Whoah, 'localhost' is not a valid address.  Weird.
      +msg.error.unknownHost=Could not connect to server
      +msg.error.disconnectYourself=Can't disconnect from yourself
      +msg.error.ioError=IO Error
      +msg.error.couldntLoadCampaign=Could not load campaign
      +msg.error.couldntSaveCampaign=Could not save campaign
      +msg.error.couldntLoad=Could not load
      +
      +
      +msg.loadCampaign=Load Campaign
      +msg.saveCampaign=Save Campaign
      +msg.loadMap=Load Map
      +msg.loadAssetTree=Load Asset Tree
      \ No newline at end of file
      Index: net/rptools/maptool/language/i18n_es.properties
      ===================================================================
      RCS file: net/rptools/maptool/language/i18n_es.properties
      diff -N net/rptools/maptool/language/i18n_es.properties
      --- /dev/null    1 Jan 1970 00:00:00 -0000
      +++ net/rptools/maptool/language/i18n_es.properties    1 Jan 1970 00:00:00 -0000
      @@ -0,0 +1,83 @@
      +menu.file=&Archivo
      +menu.view=&Ver
      +menu.map=&Mapa
      +menu.tools=&Herramientas
      +menu.help=A&yuda
      +menu.zoom=&Zoom
      +
      +action.newCampaign=New Campaña
      +action.loadCampaign=Abrir Campaña
      +action.saveCampaign=Guardar Campaña
      +
      +action.removeAssetRoot=Eliminar
      +action.enforceView=Centrar a los jugadores en la &vista actual
      +action.enforceView.accel=ctrl V
      +action.runMacro=&Ejecutar Macro
      +action.runMacro.accel=typed /
      +action.debug.duplicateLastIcon=Duplicar el último icono (debug)
      +
      +action.adjustGrid=Ajustar Rejilla
      +action.showGrid=Mostrar &Rejilla
      +action.showGrid.accel=ctrl G
      +
      +action.enableFogOfWar=Activar "Fog of War"
      +action.enableFogOfWar.description=Activar "Fog of War" para el mapa actual
      +
      +action.showNames=Mostrar &texto en los iconos
      +action.showNames.accel=ctrl T
      +
      +action.showAboutDialog=Acerca de...
      +
      +action.hideMap=&Ocultar el mapa a los jugadores
      +action.hideMap.description=Oculta el mapa actual a los jugadores
      +
      +action.autohideNewMaps=Auto Ocultar mapas nuevos
      +action.autohideNewMaps.description=Hace invisibles los nuevos mapas a los jugadores
      +action.autohideNewIcons=Auto Ocultar nuevos iconos
      +action.autohideNewIcons.description=Hace invisibles los nuevos iconos a los jugadores
      +
      +action.zoomIn=Zoom &In
      +action.zoomIn.accel=typed +
      +action.zoomOut=Zoom &Out
      +action.zoomOut.accel=typed -
      +action.zoom100=Zoom 1:1
      +action.zoom100.accel=typed =
      +
      +action.showMapSelector=Mostrar &Selector del mapa
      +action.showInformationPanel=Mostrar panel de información
      +
      +action.serverStart=Arrancar servidor
      +action.clientConnect=Conectarse a servidor remoto
      +action.clientDisconnect=Desconectarse de un servidor remoto
      +
      +action.newUnboundedMap=Nuevo mapa con fondo
      +action.newUnboundedMap.accel=ctrl shift N
      +action.newMap=Nuevo mapa
      +action.newMap.accel=ctrl N
      +
      +action.showInformationPanel=Mostrar panel de información
      +action.addIconSelector=Añadir &carpeta de imágenes
      +action.addIconSelector.accel=ctrl I
      +
      +action.refresh=Actualizar
      +action.refresh.accel=F5
      +action.exit=Salir
      +
      +msg.error.mustSelectRootGroup=Debe seleccionar un grupo raíz
      +msg.error.mustSelectAssetGroupFirst=Seleccione un grupo de Marcadores primero
      +msg.error.gmRequired=Esta operación sólo está permitida para los DJs
      +msg.error.cantAdjustGridInfMaps=No se puede ajustar la rejilla en un mapa infinito
      +msg.error.mustDisconnectFirst=Ya estás conectado a un servidor, primero desconecta.
      +msg.error.noLocalhost=Localhost no es una dirección válida, esto es realmente extraño...
      +msg.error.unknownHost=No se pudo conectar al servidor
      +msg.error.disconnectYourself=No puedes desconectar de ti mismo
      +msg.error.ioError=Error de E/S
      +msg.error.couldntLoadCampaign=No se pudo cargar la Campaña
      +msg.error.couldntSaveCampaign=No se pudo guardar la Campaña
      +msg.error.couldntLoad=No se pudo leer
      +
      +
      +msg.loadCampaign=Abrir Campaña
      +msg.saveCampaign=Guardar Campaña
      +msg.loadMap=Abrir Mapa
      +msg.loadAssetTree=Abrir Ruta de Marcadores

       
      • Trevor Croft
        Trevor Croft
        2005-11-23

        This has been applied to the code base, please check the latest CVS to verify.

        Note that I made one change, showI18NError() simply calls showError() and the message it automatically looked up in i18n