diff --git a/src/java/org/jivesoftware/spark/ui/rooms/ChatRoomImpl.java b/src/java/org/jivesoftware/spark/ui/rooms/ChatRoomImpl.java index 075d1000b..6365a5b8b 100644 --- a/src/java/org/jivesoftware/spark/ui/rooms/ChatRoomImpl.java +++ b/src/java/org/jivesoftware/spark/ui/rooms/ChatRoomImpl.java @@ -10,6 +10,7 @@ package org.jivesoftware.spark.ui.rooms; +import org.jivesoftware.resource.Res; import org.jivesoftware.resource.SparkRes; import org.jivesoftware.smack.PacketListener; import org.jivesoftware.smack.Roster; @@ -139,7 +140,7 @@ public class ChatRoomImpl extends ChatRoom { // Create toolbar buttons. ChatRoomButton infoButton = new ChatRoomButton("", SparkRes.getImageIcon(SparkRes.PROFILE_IMAGE_24x24)); - infoButton.setToolTipText("View information about this user"); + infoButton.setToolTipText(Res.getString("message.view.information.about.this.user")); // Create basic toolbar. getToolBar().addChatRoomButton(infoButton); @@ -147,7 +148,7 @@ public class ChatRoomImpl extends ChatRoom { // If the user is not in the roster, then allow user to add them. if (entry == null && !StringUtils.parseResource(participantJID).equals(participantNickname)) { ChatRoomButton addToRosterButton = new ChatRoomButton("", SparkRes.getImageIcon(SparkRes.ADD_IMAGE_24x24)); - addToRosterButton.setToolTipText("Add this user to your roster."); + addToRosterButton.setToolTipText(Res.getString("message.add.this.user.to.your.roster")); getToolBar().addChatRoomButton(addToRosterButton); addToRosterButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -366,13 +367,13 @@ public class ChatRoomImpl extends ChatRoom { if (presence.getType() == Presence.Type.unavailable && contactItem != null) { if (isOnline) { - getTranscriptWindow().insertNotificationMessage("*** " + participantNickname + " went offline at " + time + "."); + getTranscriptWindow().insertNotificationMessage("*** " + Res.getString("message.went.offline", participantNickname, time)); } isOnline = false; } else if (presence.getType() == Presence.Type.available) { if (!isOnline) { - getTranscriptWindow().insertNotificationMessage("*** " + participantNickname + " is online at " + time + "."); + getTranscriptWindow().insertNotificationMessage("*** " + Res.getString("message.came.online", participantNickname, time)); } isOnline = true; } @@ -387,7 +388,7 @@ public class ChatRoomImpl extends ChatRoom { // Check to see if the user is online to recieve this message. RosterEntry entry = roster.getEntry(participantJID); if (presence == null && !offlineSent && entry != null) { - getTranscriptWindow().insertErrorMessage("The user will be unable to receive offline messages."); + getTranscriptWindow().insertErrorMessage(Res.getString("message.offline.error")); offlineSent = true; } } @@ -397,7 +398,7 @@ public class ChatRoomImpl extends ChatRoom { // Check to see if the user is online to recieve this message. RosterEntry entry = roster.getEntry(participantJID); if (presence == null && !offlineSent && entry != null) { - getTranscriptWindow().insertErrorMessage("The user is offline and will receive the message on their next login."); + getTranscriptWindow().insertErrorMessage(Res.getString("message.offline")); offlineSent = true; } @@ -538,7 +539,7 @@ public class ChatRoomImpl extends ChatRoom { */ public void showTyping(boolean typing) { if (typing) { - String isTypingText = participantNickname + " is typing a message..."; + String isTypingText = Res.getString("message.is.typing.a.message", participantNickname); getNotificationLabel().setText(isTypingText); getNotificationLabel().setIcon(SparkRes.getImageIcon(SparkRes.SMALL_MESSAGE_EDIT_IMAGE)); } diff --git a/src/java/org/jivesoftware/spark/ui/rooms/GroupChatRoom.java b/src/java/org/jivesoftware/spark/ui/rooms/GroupChatRoom.java index dfc190935..5aa43f0aa 100644 --- a/src/java/org/jivesoftware/spark/ui/rooms/GroupChatRoom.java +++ b/src/java/org/jivesoftware/spark/ui/rooms/GroupChatRoom.java @@ -11,6 +11,7 @@ package org.jivesoftware.spark.ui.rooms; import org.jivesoftware.resource.SparkRes; +import org.jivesoftware.resource.Res; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.filter.AndFilter; import org.jivesoftware.smack.filter.FromContainsFilter; @@ -143,7 +144,7 @@ public final class GroupChatRoom extends ChatRoom { } }; - inviteAction.putValue(Action.NAME, "Invite Users"); + inviteAction.putValue(Action.NAME, Res.getString("menuitem.invite.users")); inviteAction.putValue(Action.SMALL_ICON, SparkRes.getImageIcon(SparkRes.SMALL_MESSAGE_IMAGE)); popup.add(inviteAction); @@ -162,7 +163,7 @@ public final class GroupChatRoom extends ChatRoom { } }; - configureAction.putValue(Action.NAME, "Configure Room"); + configureAction.putValue(Action.NAME, Res.getString("title.configure.room")); configureAction.putValue(Action.SMALL_ICON, SparkRes.getImageIcon(SparkRes.SMALL_ALL_AGENTS_IMAGE)); if (SparkManager.getUserManager().isOwner((GroupChatRoom)getChatRoom(), chat.getNickname())) { popup.add(configureAction); @@ -170,7 +171,7 @@ public final class GroupChatRoom extends ChatRoom { Action subjectAction = new AbstractAction() { public void actionPerformed(ActionEvent actionEvent) { - String newSubject = JOptionPane.showInputDialog(getChatRoom(), "Enter New Subject?", "Change Subject", JOptionPane.QUESTION_MESSAGE); + String newSubject = JOptionPane.showInputDialog(getChatRoom(), Res.getString("message.enter.new.subject") + ":", Res.getString("title.change.subject"), JOptionPane.QUESTION_MESSAGE); if (ModelUtil.hasLength(newSubject)) { try { chat.changeSubject(newSubject); @@ -182,19 +183,19 @@ public final class GroupChatRoom extends ChatRoom { } }; - subjectAction.putValue(Action.NAME, "Change subject"); + subjectAction.putValue(Action.NAME, Res.getString("menuitem.change.subject")); subjectAction.putValue(Action.SMALL_ICON, SparkRes.getImageIcon(SparkRes.SMALL_MESSAGE_EDIT_IMAGE)); popup.add(subjectAction); // Define actions to modify/view room information Action destroyRoomAction = new AbstractAction() { public void actionPerformed(ActionEvent e) { - int ok = JOptionPane.showConfirmDialog(getChatRoom(), "Destroying the room removes all users from the room. Continue?", "Destroy Room Confirmation", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); + int ok = JOptionPane.showConfirmDialog(getChatRoom(), Res.getString("message.confirm.destruction.of.room"), Res.getString("title.confirmation"), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (ok == JOptionPane.NO_OPTION) { return; } - String reason = JOptionPane.showInputDialog(getChatRoom(), "Reason for destroying the room?", "Enter Reason", JOptionPane.QUESTION_MESSAGE); + String reason = JOptionPane.showInputDialog(getChatRoom(), Res.getString("message.room.destruction.reason"), Res.getString("title.enter.reason"), JOptionPane.QUESTION_MESSAGE); if (ModelUtil.hasLength(reason)) { try { chat.destroy(reason, null); @@ -207,7 +208,7 @@ public final class GroupChatRoom extends ChatRoom { } }; - destroyRoomAction.putValue(Action.NAME, "Destroy Room"); + destroyRoomAction.putValue(Action.NAME, Res.getString("menuitem.destroy.room")); destroyRoomAction.putValue(Action.SMALL_ICON, SparkRes.getImageIcon(SparkRes.SMALL_DELETE)); if (SparkManager.getUserManager().isOwner((GroupChatRoom)getChatRoom(), getNickname())) { popup.add(destroyRoomAction); @@ -441,7 +442,7 @@ public final class GroupChatRoom extends ChatRoom { getToolBar().setVisible(false); // Update Room Notice To Inform Agent that he has left the chat. - getTranscriptWindow().insertNotificationMessage(getNickname() + " has left the room."); + getTranscriptWindow().insertNotificationMessage(Res.getString("message.user.left.room", getNickname())); // Leave the Chat. try { @@ -455,7 +456,7 @@ public final class GroupChatRoom extends ChatRoom { getTranscriptWindow().showDisabledWindowUI(); // Update Notification Label - getNotificationLabel().setText("Chat session ended on " + SparkManager.DATE_SECOND_FORMATTER.format(new java.util.Date())); + getNotificationLabel().setText(Res.getString("message.chat.session.ended", SparkManager.DATE_SECOND_FORMATTER.format(new java.util.Date()))); getNotificationLabel().setIcon(null); getNotificationLabel().setEnabled(false); @@ -611,11 +612,11 @@ public final class GroupChatRoom extends ChatRoom { String errorMessage = ""; if (message.getError().getCode() == 403 && message.getSubject() != null) { - errorMessage = "You are not allowed to change the subject of this room."; + errorMessage = Res.getString("message.subject.change.error"); } else if (message.getError().getCode() == 403) { - errorMessage = "Received a forbidden error from the server."; + errorMessage = Res.getString("message.forbidden.error"); } if (ModelUtil.hasLength(errorMessage)) { @@ -637,7 +638,7 @@ public final class GroupChatRoom extends ChatRoom { Destroy destroy = mucUser.getDestroy(); if (destroy != null) { String reason = destroy.getReason(); - JOptionPane.showMessageDialog(this, "This room has been destroyed.\nReason: " + reason, "Room Destroyed", JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(this, Res.getString("message.room.destroyed", reason), Res.getString("title.room.destroyed"), JOptionPane.INFORMATION_MESSAGE); leaveChatRoom(); return; } @@ -647,7 +648,7 @@ public final class GroupChatRoom extends ChatRoom { if (presence.getType() == Presence.Type.unavailable && !"303".equals(code)) { if (currentUserList.contains(from)) { if (showPresenceMessages) { - getTranscriptWindow().insertNotificationMessage(nickname + " has left the room."); + getTranscriptWindow().insertNotificationMessage(Res.getString("message.user.left.room", nickname)); scrollToBottom(); } currentUserList.remove(from); @@ -658,7 +659,7 @@ public final class GroupChatRoom extends ChatRoom { currentUserList.add(from); getChatInputEditor().setEnabled(true); if (showPresenceMessages) { - getTranscriptWindow().insertNotificationMessage(nickname + " has joined the room."); + getTranscriptWindow().insertNotificationMessage(Res.getString("message.user.joined.room", nickname)); scrollToBottom(); } } @@ -669,121 +670,123 @@ public final class GroupChatRoom extends ChatRoom { chat.addParticipantStatusListener(new DefaultParticipantStatusListener() { public void kicked(String participant) { String nickname = StringUtils.parseResource(participant); - insertText(nickname + " has been kicked out of the room."); + insertText(Res.getString("message.user.kicked.from.room", nickname)); } public void voiceGranted(String participant) { String nickname = StringUtils.parseResource(participant); - insertText(nickname + " has been given a voice in this room."); + insertText(Res.getString("message.user.given.voice", nickname)); } public void voiceRevoked(String participant) { String nickname = StringUtils.parseResource(participant); - insertText(nickname + "'s voice has been revoked."); + insertText(Res.getString("message.user.voice.revoked", nickname)); } public void banned(String participant) { String nickname = StringUtils.parseResource(participant); - insertText(nickname + " has been banned from this room."); + insertText(Res.getString("message.user.banned", nickname)); } public void membershipGranted(String participant) { String nickname = StringUtils.parseResource(participant); - insertText(nickname + " has been given membership priviliges."); + insertText(Res.getString("message.user.granted.membership", nickname)); } public void membershipRevoked(String participant) { String nickname = StringUtils.parseResource(participant); - insertText(nickname + "'s membership has been revoked."); + insertText(Res.getString("message.user.revoked.membership", nickname)); } public void moderatorGranted(String participant) { String nickname = StringUtils.parseResource(participant); - insertText(nickname + " has been granted moderator privileges."); + insertText(Res.getString("message.user.granted.moderator", nickname)); } public void moderatorRevoked(String participant) { String nickname = StringUtils.parseResource(participant); - insertText(nickname + "'s moderator privileges have been revoked."); + insertText(Res.getString("message.user.revoked.moderator", nickname)); } public void ownershipGranted(String participant) { String nickname = StringUtils.parseResource(participant); - insertText(nickname + " has been granted owner privileges."); + insertText(Res.getString("message.user.granted.owner", nickname)); } public void ownershipRevoked(String participant) { String nickname = StringUtils.parseResource(participant); - insertText(nickname + "'s owner privileges have been revoked."); + insertText(Res.getString("message.user.revoked.owner", nickname)); } public void adminGranted(String participant) { String nickname = StringUtils.parseResource(participant); - insertText(nickname + " has been granted administrator privileges."); + insertText(Res.getString("message.user.granted.admin", nickname)); } public void adminRevoked(String participant) { String nickname = StringUtils.parseResource(participant); - insertText(nickname + " administrator privileges have been revoked."); + insertText(Res.getString("message.user.revoked.admin", nickname)); } public void nicknameChanged(String participant, String nickname) { - insertText(StringUtils.parseResource(participant) + " is now known as " + nickname); + insertText(Res.getString("message.user.nickname.changed", StringUtils.parseResource(participant), nickname)); } }); + + chat.addUserStatusListener(new DefaultUserStatusListener() { public void kicked(String s, String reason) { - insertText("You have been kicked by " + s); + insertText(Res.getString("message.your.kicked", s)); getChatInputEditor().setEnabled(false); getSplitPane().setRightComponent(null); leaveChatRoom(); } public void voiceGranted() { - insertText("You have been given a voice in this chat."); + insertText(Res.getString("message.your.voice.revoked")); getChatInputEditor().setEnabled(true); } public void voiceRevoked() { - insertText("Your voice has been revoked."); + insertText(Res.getString("message.your.voice.revoked")); getChatInputEditor().setEnabled(false); } public void banned(String s, String reason) { - insertText("You have been banned from this room."); + insertText(Res.getString("message.your.banned")); } public void membershipGranted() { - insertText("You have been granted membership privileges."); + insertText(Res.getString("message.your.membership.granted")); } public void membershipRevoked() { - insertText("Your membership has been revoked."); + insertText(Res.getString("message.your.membership.revoked")); } public void moderatorGranted() { - insertText("You have been granted moderator privileges."); + insertText(Res.getString("message.your.moderator.granted")); } public void moderatorRevoked() { - insertText("Your moderator privileges have been revoked."); + insertText(Res.getString("message.your.moderator.revoked")); } public void ownershipGranted() { - insertText("You have been granted owner privileges."); + insertText(Res.getString("message.your.ownership.granted")); } public void ownershipRevoked() { - insertText("Your owner privileges have been revoked."); + insertText(Res.getString("message.your.ownership.revoked")); } public void adminGranted() { - insertText("You have been granted administrator privileges."); + insertText(Res.getString("message.your.admin.granted")); } public void adminRevoked() { - insertText("Your admin privileges have been revoked."); + insertText(Res.getString("message.your.revoked.granted")); } }); @@ -805,12 +808,12 @@ public final class GroupChatRoom extends ChatRoom { private class SubjectListener implements SubjectUpdatedListener { public void subjectUpdated(String subject, String by) { - subjectLabel.setText("Subject: " + subject); + subjectLabel.setText(Res.getString("subject") + ": " + subject); subjectLabel.setToolTipText(subject); String nickname = StringUtils.parseResource(by); - String insertMessage = "The subject has been changed to: " + subject; + String insertMessage = Res.getString("message.subject.has.been.changed.to", subject); getTranscriptWindow().insertNotificationMessage(insertMessage); } @@ -939,7 +942,7 @@ public final class GroupChatRoom extends ChatRoom { if (bareAddress.equals(getRoomname())) { String nickname = StringUtils.parseResource(from); - String isTypingText = nickname + " is typing a message..."; + String isTypingText = Res.getString("message.is.typing.a.message", nickname); getNotificationLabel().setText(isTypingText); getNotificationLabel().setIcon(SparkRes.getImageIcon(SparkRes.SMALL_MESSAGE_EDIT_IMAGE)); typingTimer.restart(); diff --git a/src/resources/i18n/spark_i18n_en.properties b/src/resources/i18n/spark_i18n_en.properties index d374e9153..9c0c24416 100644 --- a/src/resources/i18n/spark_i18n_en.properties +++ b/src/resources/i18n/spark_i18n_en.properties @@ -163,6 +163,50 @@ message.specify.information.for.conference = Specify information for conference message.no.description.available = No description available message.no.subject.available = No subject available message.room.information.for = Room information for {0} +message.view.information.about.this.user = View information about this user. +message.add.this.user.to.your.roster = Add this user to your buddy list. +message.came.online = {0} is online at {1} +message.went.offline = {0} went offline at {1} +message.offline.error = The user will be unable to receive offline messages. +message.offline = The user is offline and will receive the message on their next login. +message.is.typing.a.message = {0} is typing a message... +message.enter.new.subject = Enter new subject +message.confirm.destruction.of.room = Destroying the room removes all users from the room. Continue? +message.room.destruction.reason = Reason for destroying the room? +message.user.left.room = {0} has left the room. +message.user.joined.room = {0} has joined the room. +message.chat.session.ended = Chat session has ended on {0} +message.subject.change.error = You are not allowed to change the subject of this room. +message.forbidden.error = Received a forbidden error from the server. +message.room.destroyed = This room has been destroyed due to the following reason: {0} +message.subject.has.been.changed.to = The subject has been changed to {0}. + +message.user.kicked.from.room = {0} has been kicked out of the room. +message.user.given.voice = {0} has been given a voice in this room. +message.user.voice.revoked = Voice has been revoked for {0}. +message.user.banned = {0} has been banned from this room. +message.user.granted.membership = {0} has been given membership priviliges. +message.user.revoked.membership = Membership has been revoked for {0}. +message.user.granted.moderator = {0} has been granted moderator privileges. +message.user.revoked.moderator = Moderator priviliges have been revoked for {0}. +message.user.granted.owner = {0} has been granted owner privileges. +message.user.revoked.owner = Owner priviliges have been revoked for {0}. +message.user.granted.admin = {0} has been granted administrator priviliges. +message.user.revoked.admin = Administrator privileges have been revoked for {0}. +message.user.nickname.changed = {0} is now knowns as {1}. +message.your.kicked = You have been kicked by {0}. +message.your.voice.revoked = You have been given a voice in this chat. +message.your.voice.revoked = Your voice has been revoked. +message.your.banned = You have been banned from this room. +message.your.membership.granted = You have been granted membership privileges. +message.your.membership.revoked = Your membership has been revoked. +message.your.moderator.granted = You have been granted moderator privileges. +message.your.moderator.revoked = Your moderator privileges have been revoked. +message.your.ownership.granted = Your have been granted owner privileges. +message.your.ownership.revoked = Your owner privilieges have been revoked. +message.your.admin.granted = You have been granted administrator privileges. +message.your.revoked.granted = Your admin privileges have been revoked. + title.passwords.no.match = Confirm passwords. title.create.problem = Account Creation Problem @@ -205,6 +249,10 @@ title.configure.chat.room = Configure Chat Room title.conference.invitation = Conference Invitation title.join.conference.room = Join Conference Room title.view.room.information = View Room Information +title.configure.room = Configure Room +title.change.subject = Change Subject +title.enter.reason = Enter Reason +title.room.destroyed = Room Destroyed @@ -260,7 +308,8 @@ menuitem.revoke.moderator = Revoke Moderator menuitem.invite.users = Invite Users menuitem.invite.group.to.conference = Invite group to conference menuitem.start.a.conference = Start a conference... - +menuitem.change.subject = Change Subject +menuitem.destroy.room = Destroy Room tree.conference.services = Conference Services tree.users.in.room = Users In Room