You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2019/01/28 13:15:52 UTC

[openmeetings] branch 4.0.x updated: [OPENMEETINGS-1867] 'Model.of(getString())' is replaced with 'new ResourceModel()'

This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch 4.0.x
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/4.0.x by this push:
     new 36af58d  [OPENMEETINGS-1867] 'Model.of(getString())' is replaced with 'new ResourceModel()'
36af58d is described below

commit 36af58dc904f0d66312c45074becab2df35f54a1
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Mon Jan 28 20:15:39 2019 +0700

    [OPENMEETINGS-1867] 'Model.of(getString())' is replaced with 'new ResourceModel()'
---
 .../web/admin/configurations/ConfigForm.java          | 12 ++++++------
 .../openmeetings/web/admin/groups/GroupForm.java      | 19 ++++++++++---------
 .../apache/openmeetings/web/admin/ldaps/LdapForm.java |  6 +++---
 .../openmeetings/web/admin/oauth/OAuthForm.java       | 19 ++++++++++---------
 .../apache/openmeetings/web/admin/rooms/RoomForm.java |  7 ++++---
 .../openmeetings/web/admin/users/PasswordDialog.java  |  5 +++--
 .../apache/openmeetings/web/admin/users/UserForm.java |  5 +++--
 .../org/apache/openmeetings/web/common/Captcha.java   |  3 ++-
 .../openmeetings/web/common/GeneralUserForm.java      |  6 +++---
 .../openmeetings/web/common/InvitationForm.java       |  5 +++--
 .../web/common/tree/ConvertingErrorsDialog.java       |  3 ++-
 .../web/pages/InvitationPasswordDialog.java           |  3 ++-
 .../web/pages/auth/ForgetPasswordDialog.java          |  3 ++-
 .../openmeetings/web/pages/auth/RegisterDialog.java   | 13 +++++++------
 .../web/pages/auth/ResetPasswordDialog.java           |  5 +++--
 .../openmeetings/web/pages/auth/SignInDialog.java     |  6 +++---
 .../openmeetings/web/pages/install/InstallWizard.java |  9 +++++----
 .../openmeetings/web/room/EventDetailDialog.java      |  6 +++---
 .../apache/openmeetings/web/room/NicknameDialog.java  |  8 ++++----
 .../web/room/menu/RoomInvitationForm.java             |  3 ++-
 .../openmeetings/web/room/menu/SipDialerDialog.java   |  3 ++-
 .../openmeetings/web/room/poll/CreatePollDialog.java  |  6 +++---
 .../web/user/calendar/AppointmentDialog.java          | 11 ++++++-----
 .../web/user/calendar/CalendarDialog.java             |  3 ++-
 .../user/dashboard/admin/AdminCleanupInfoDialog.java  |  4 ++--
 .../web/user/profile/ChangePasswordDialog.java        | 11 ++++++-----
 .../openmeetings/web/user/profile/ProfileForm.java    |  3 ++-
 .../openmeetings/web/user/profile/SettingsPanel.java  | 14 +++++++-------
 28 files changed, 110 insertions(+), 91 deletions(-)

diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
index 3229507..4bf1943 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
@@ -42,7 +42,7 @@ import org.apache.wicket.markup.html.form.TextArea;
 import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.validation.IValidatable;
 import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.ValidationError;
@@ -126,7 +126,7 @@ public class ConfigForm extends AdminBaseForm<Configuration> {
 				}
 				return null;
 			}
-		}).setLabel(Model.of(getString("45"))).add(new AjaxFormComponentUpdatingBehavior("change") {
+		}).setLabel(new ResourceModel("45")).add(new AjaxFormComponentUpdatingBehavior("change") {
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -134,7 +134,7 @@ public class ConfigForm extends AdminBaseForm<Configuration> {
 				update(target);
 			}
 		}));
-		add(new RequiredTextField<String>("key").setLabel(Model.of(getString("265"))).add(new IValidator<String>(){
+		add(new RequiredTextField<String>("key").setLabel(new ResourceModel("265")).add(new IValidator<String>(){
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -145,9 +145,9 @@ public class ConfigForm extends AdminBaseForm<Configuration> {
 				}
 			}
 		}));
-		add(valueS.setLabel(Model.of(getString("271"))).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true));
-		add(valueN.setLabel(Model.of(getString("271"))).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true));
-		add(valueB.setLabel(Model.of(getString("271"))).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true));
+		add(valueS.setLabel(new ResourceModel("271")).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true));
+		add(valueN.setLabel(new ResourceModel("271")).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true));
+		add(valueB.setLabel(new ResourceModel("271")).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true));
 	}
 
 	@Override
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
index e97eae6..705f94f 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
@@ -50,6 +50,7 @@ import org.apache.wicket.markup.html.form.RequiredTextField;
 import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.wicketstuff.select2.Select2Choice;
 
 public class GroupForm extends AdminBaseForm<Group> {
@@ -147,10 +148,10 @@ public class GroupForm extends AdminBaseForm<Group> {
 		final boolean isGroupAdmin = hasGroupAdminLevel(getRights());
 		setNewVisible(!isGroupAdmin);
 		userToadd.setEnabled(!isGroupAdmin);
-		add(new RequiredTextField<String>("name").setLabel(Model.of(getString("165"))));
+		add(new RequiredTextField<String>("name").setLabel(new ResourceModel("165")));
 		add(logo);
-		add(new TextField<String>("tag").setLabel(Model.of(getString("admin.group.form.tag"))));
-		add(new CheckBox("restricted").setLabel(Model.of(getString("restricted.group.files"))));
+		add(new TextField<String>("tag").setLabel(new ResourceModel("admin.group.form.tag")));
+		add(new CheckBox("restricted").setLabel(new ResourceModel("restricted.group.files")));
 		add(new AjaxCheckBox("limited") {
 			private static final long serialVersionUID = 1L;
 
@@ -164,12 +165,12 @@ public class GroupForm extends AdminBaseForm<Group> {
 					, reminderDays.setEnabled(getModelObject())
 				);
 			}
-		}.setLabel(Model.of(getString("admin.group.form.limited"))));
-		add(maxFilesSize.setLabel(Model.of(getString("admin.group.form.maxFilesSize"))).setEnabled(false).setOutputMarkupId(true));
-		add(maxRecordingsSize.setLabel(Model.of(getString("admin.group.form.maxRecordingsSize"))).setEnabled(false).setOutputMarkupId(true));
-		add(maxRooms.setLabel(Model.of(getString("admin.group.form.maxRooms"))).setEnabled(false).setOutputMarkupId(true));
-		add(recordingTtl.setLabel(Model.of(getString("admin.group.form.recordingTtl"))).setEnabled(false).setOutputMarkupId(true));
-		add(reminderDays.setLabel(Model.of(getString("admin.group.form.reminderDays"))).setEnabled(false).setOutputMarkupId(true));
+		}.setLabel(new ResourceModel("admin.group.form.limited")));
+		add(maxFilesSize.setLabel(new ResourceModel("admin.group.form.maxFilesSize")).setEnabled(false).setOutputMarkupId(true));
+		add(maxRecordingsSize.setLabel(new ResourceModel("admin.group.form.maxRecordingsSize")).setEnabled(false).setOutputMarkupId(true));
+		add(maxRooms.setLabel(new ResourceModel("admin.group.form.maxRooms")).setEnabled(false).setOutputMarkupId(true));
+		add(recordingTtl.setLabel(new ResourceModel("admin.group.form.recordingTtl")).setEnabled(false).setOutputMarkupId(true));
+		add(reminderDays.setLabel(new ResourceModel("admin.group.form.reminderDays")).setEnabled(false).setOutputMarkupId(true));
 	}
 
 	@Override
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
index a54535f..c9503a9 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
@@ -34,7 +34,7 @@ import org.apache.wicket.markup.html.form.RequiredTextField;
 import org.apache.wicket.markup.html.form.TextArea;
 import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.model.CompoundPropertyModel;
-import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 
 /**
  * Form components to insert/update/delete {@link LdapConfig}
@@ -63,8 +63,8 @@ public class LdapForm extends AdminBaseForm<LdapConfig> {
 
 	@Override
 	protected void onInitialize() {
-		add(new RequiredTextField<String>("name").setLabel(Model.of(getString("165"))));
-		add(new RequiredTextField<String>("configFileName").setLabel(Model.of(getString("1115"))));
+		add(new RequiredTextField<String>("name").setLabel(new ResourceModel("165")));
+		add(new RequiredTextField<String>("configFileName").setLabel(new ResourceModel("1115")));
 		super.onInitialize();
 	}
 
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
index 91d0660..60a2efd 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
@@ -48,6 +48,7 @@ import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.util.ListModel;
 import org.apache.wicket.util.string.Strings;
 
@@ -90,16 +91,16 @@ public class OAuthForm extends AdminBaseForm<OAuthServer> {
 	@Override
 	protected void onInitialize() {
 		add(new CheckBox("isEnabled"));
-		add(new RequiredTextField<String>("name").setLabel(Model.of(getString("165"))));
-		add(new TextField<String>("iconUrl").setLabel(Model.of(getString("1575"))));
-		add(new RequiredTextField<String>("clientId").setLabel(Model.of(getString("1576"))));
-		add(new RequiredTextField<String>("clientSecret").setLabel(Model.of(getString("1577"))));
-		add(redirectUriText = (TextField<String>) new TextField<>("redirectUri", Model.of("")).setLabel(Model.of(getString("1587"))));
-		add(new RequiredTextField<String>("requestKeyUrl").setLabel(Model.of(getString("1578"))));
+		add(new RequiredTextField<String>("name").setLabel(new ResourceModel("165")));
+		add(new TextField<String>("iconUrl").setLabel(new ResourceModel("1575")));
+		add(new RequiredTextField<String>("clientId").setLabel(new ResourceModel("1576")));
+		add(new RequiredTextField<String>("clientSecret").setLabel(new ResourceModel("1577")));
+		add(redirectUriText = (TextField<String>) new TextField<>("redirectUri", Model.of("")).setLabel(new ResourceModel("1587")));
+		add(new RequiredTextField<String>("requestKeyUrl").setLabel(new ResourceModel("1578")));
 		add(new DropDownChoice<>("requestTokenMethod", Arrays.asList(RequestTokenMethod.values()), new ChoiceRenderer<RequestTokenMethod>("name", "name")));
-		add(new RequiredTextField<String>("requestTokenUrl").setLabel(Model.of(getString("1579"))));
-		add(new RequiredTextField<String>("requestTokenAttributes").setLabel(Model.of(getString("1586"))));
-		add(new RequiredTextField<String>("requestInfoUrl").setLabel(Model.of(getString("1580"))));
+		add(new RequiredTextField<String>("requestTokenUrl").setLabel(new ResourceModel("1579")));
+		add(new RequiredTextField<String>("requestTokenAttributes").setLabel(new ResourceModel("1586")));
+		add(new RequiredTextField<String>("requestInfoUrl").setLabel(new ResourceModel("1580")));
 		add(new DropDownChoice<>("requestInfoMethod", Arrays.asList(RequestInfoMethod.values()), new ChoiceRenderer<RequestInfoMethod>("name", "name")));
 		Form<Void> mappingForm = new Form<>("mappingForm");
 		final TextField<String> omAttr = new TextField<>("omAttr", Model.of(""));
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
index 3c5d747..dcea45f 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
@@ -72,6 +72,7 @@ import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.util.CollectionModel;
 import org.apache.wicket.util.string.Strings;
 import org.wicketstuff.select2.ChoiceProvider;
@@ -141,7 +142,7 @@ public class RoomForm extends AdminBaseForm<Room> {
 					}
 				}));
 
-		add(new RoomTypeDropDown("type").setRequired(true).setLabel(Model.of(getString("45"))));
+		add(new RoomTypeDropDown("type").setRequired(true).setLabel(new ResourceModel("45")));
 
 		add(new TextArea<String>("comment"));
 
@@ -189,7 +190,7 @@ public class RoomForm extends AdminBaseForm<Room> {
 				Group g = getBean(GroupDao.class).get(id);
 				return new RoomGroup(g, RoomForm.this.getModelObject());
 			}
-		}).setLabel(Model.of(getString("828"))).setRequired(isGroupAdmin));
+		}).setLabel(new ResourceModel("828")).setRequired(isGroupAdmin));
 
 		add(new CheckBox("isDemoRoom"));
 		TextField<Integer> demoTime = new TextField<>("demoTime");
@@ -336,7 +337,7 @@ public class RoomForm extends AdminBaseForm<Room> {
 				public Collection<BaseFileItem> toChoices(Collection<String> ids) {
 					return getBean(FileItemDao.class).get(ids);
 				}
-			}).setLabel(Model.of(getString("245"))))
+			}).setLabel(new ResourceModel("245")))
 			.add(new TextField<Long>("wbidx", wbIdx) {
 				private static final long serialVersionUID = 1L;
 
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/PasswordDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/PasswordDialog.java
index c5a6edb..705a137 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/PasswordDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/PasswordDialog.java
@@ -30,6 +30,7 @@ import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.PasswordTextField;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.danekja.java.util.function.serializable.SerializableConsumer;
 
 import com.googlecode.wicket.jquery.core.Options;
@@ -56,10 +57,10 @@ public class PasswordDialog extends AbstractFormDialog<String> {
 
 	@Override
 	protected void onInitialize() {
-		setTitle(Model.of(getString("537")));
+		setTitle(new ResourceModel("537"));
 		ok = new DialogButton("ok", getString("54"));
 		cancel = new DialogButton("cancel", getString("lbl.cancel"));
-		add(form.add(feedback, pass.setRequired(false).setLabel(Model.of(getString("110"))).setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true)));
+		add(form.add(feedback, pass.setRequired(false).setLabel(new ResourceModel("110")).setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true)));
 		super.onInitialize();
 	}
 
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
index 7784802..e6dad17 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
@@ -67,6 +67,7 @@ import org.apache.wicket.markup.html.panel.IMarkupSourcingStrategy;
 import org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.util.string.Strings;
 import org.danekja.java.util.function.serializable.SerializableConsumer;
 import org.red5.logging.Red5LoggerFactory;
@@ -108,9 +109,9 @@ public class UserForm extends AdminBaseForm<User> {
 		super.onInitialize();
 		add(mainContainer);
 		mainContainer.add(generalForm = new GeneralUserForm("general", getModel(), true));
-		mainContainer.add(password.setResetPassword(false).setLabel(Model.of(getString("110"))).setRequired(false)
+		mainContainer.add(password.setResetPassword(false).setLabel(new ResourceModel("110")).setRequired(false)
 				.add(passValidator = new StrongPasswordValidator(getModelObject())));
-		login.setLabel(Model.of(getString("108")));
+		login.setLabel(new ResourceModel("108"));
 		mainContainer.add(login.add(minimumLength(getMinLoginLength())));
 
 		mainContainer.add(new DropDownChoice<>("type", Arrays.asList(Type.values())).add(new OnChangeAjaxBehavior() {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/Captcha.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/Captcha.java
index cde0bb7..e58ad5c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/Captcha.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/Captcha.java
@@ -29,6 +29,7 @@ import org.apache.wicket.markup.html.form.RequiredTextField;
 import org.apache.wicket.markup.html.image.Image;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.validation.IValidatable;
 import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.ValidationError;
@@ -77,7 +78,7 @@ public class Captcha extends Panel {
 	@Override
 	protected void onInitialize() {
 		super.onInitialize();
-		add(captchaText.setLabel(Model.of(getString("captcha.text"))).add(new IValidator<String>() {
+		add(captchaText.setLabel(new ResourceModel("captcha.text")).add(new IValidator<String>() {
 			private static final long serialVersionUID = 1L;
 
 			@Override
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
index b2739ff..ace052f 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
@@ -52,8 +52,8 @@ import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.markup.html.panel.IMarkupSourcingStrategy;
 import org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.util.string.Strings;
 import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2MultiChoice;
@@ -78,7 +78,7 @@ public class GeneralUserForm extends Form<User> {
 	protected void onInitialize() {
 		super.onInitialize();
 		add(email);
-		email.setLabel(Model.of(getString("119")));
+		email.setLabel(new ResourceModel("119"));
 		email.add(RfcCompliantEmailAddressValidator.getInstance());
 		add(new DropDownChoice<>("salutation"
 				, Arrays.asList(Salutation.values())
@@ -148,7 +148,7 @@ public class GeneralUserForm extends Form<User> {
 				int idx = grpUsers.indexOf(gu);
 				return idx < 0 ? gu : grpUsers.get(idx);
 			}
-		}).setLabel(Model.of(getString("161"))).setRequired(isAdminForm && hasGroupAdminLevel(getRights())).setEnabled(isAdminForm));
+		}).setLabel(new ResourceModel("161")).setRequired(isAdminForm && hasGroupAdminLevel(getRights())).setEnabled(isAdminForm));
 	}
 
 	public void updateModelObject(User u, boolean isAdminForm) {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
index d91f4f8..f136fec 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
@@ -56,6 +56,7 @@ import org.apache.wicket.markup.html.panel.IMarkupSourcingStrategy;
 import org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.util.CollectionModel;
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
@@ -88,7 +89,7 @@ public abstract class InvitationForm extends Form<Invitation> {
 	@Override
 	protected void onInitialize() {
 		add(subject, message);
-		recipients.setLabel(Model.of(getString("216"))).setRequired(true).add(new AjaxFormComponentUpdatingBehavior("change") {
+		recipients.setLabel(new ResourceModel("216")).setRequired(true).add(new AjaxFormComponentUpdatingBehavior("change") {
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -122,7 +123,7 @@ public abstract class InvitationForm extends Form<Invitation> {
 				, new Radio<>("endless", Model.of(Valid.Endless))));
 		add(passwd);
 		Invitation i = getModelObject();
-		passwd.setLabel(Model.of(getString("110"))).setOutputMarkupId(true).setEnabled(i.isPasswordProtected());
+		passwd.setLabel(new ResourceModel("110")).setOutputMarkupId(true).setEnabled(i.isPasswordProtected());
 		add(from.setOutputMarkupId(true), to.setOutputMarkupId(true), timeZoneId.setOutputMarkupId(true));
 		timeZoneId.add(new AjaxFormComponentUpdatingBehavior("change") {
 			private static final long serialVersionUID = 1L;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java
index c44bc52..f6b881b 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java
@@ -35,6 +35,7 @@ import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 
 import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
@@ -89,7 +90,7 @@ public class ConvertingErrorsDialog extends AbstractDialog<BaseFileItem> {
 	@Override
 	protected void onOpen(IPartialPageRequestHandler handler) {
 		BaseFileItem f = getModelObject();
-		setTitle(handler, Model.of(getString(f.getType() == BaseFileItem.Type.Recording ? "887" : "convert.errors.file")));
+		setTitle(handler, new ResourceModel(f.getType() == BaseFileItem.Type.Recording ? "887" : "convert.errors.file"));
 		List<FileItemLog> logs = getBean(FileItemLogDao.class).get(f);
 		if (f.getHash() == null) {
 			message.setVisible(true);
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
index 8b3be39..710412e 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
@@ -32,6 +32,7 @@ import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.PasswordTextField;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.validation.IValidatable;
 import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.ValidationError;
@@ -84,7 +85,7 @@ public class InvitationPasswordDialog extends NonClosableDialog<Invitation> {
 	@Override
 	protected void onInitialize() {
 		getTitle().setObject(getString("230"));
-		password.setLabel(Model.of(getString("110")));
+		password.setLabel(new ResourceModel("110"));
 		check = new DialogButton("check", getString("537"));
 		super.onInitialize();
 	}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
index 5cf629f..01757cc 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
@@ -47,6 +47,7 @@ import org.apache.wicket.markup.html.form.Radio;
 import org.apache.wicket.markup.html.form.RadioGroup;
 import org.apache.wicket.markup.html.form.RequiredTextField;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.validation.IValidatable;
@@ -141,7 +142,7 @@ public class ForgetPasswordDialog extends AbstractFormDialog<String> {
 
 	@Override
 	protected void onInitialize() {
-		setTitle(Model.of(getString("312")));
+		setTitle(new ResourceModel("312"));
 		send = new DialogButton("send", getString("317"));
 		cancel = new DialogButton("cancel", getString("lbl.cancel"));
 		add(form);
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
index 153b180..76aa971 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
@@ -52,6 +52,7 @@ import org.apache.wicket.markup.html.link.BookmarkablePageLink;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.validation.IValidatable;
 import org.red5.logging.Red5LoggerFactory;
@@ -226,9 +227,9 @@ public class RegisterDialog extends NonClosableDialog<String> {
 		@Override
 		protected void onInitialize() {
 			super.onInitialize();
-			firstNameField.setLabel(Model.of(getString("117")));
-			lastNameField.setLabel(Model.of(getString("136")));
-			loginField.add(minimumLength(getMinLoginLength())).setLabel(Model.of(getString("114")));
+			firstNameField.setLabel(new ResourceModel("117"));
+			lastNameField.setLabel(new ResourceModel("136"));
+			loginField.add(minimumLength(getMinLoginLength())).setLabel(new ResourceModel("114"));
 			passwordField.setResetPassword(true).add(new StrongPasswordValidator(new User()) {
 				private static final long serialVersionUID = 1L;
 
@@ -241,9 +242,9 @@ public class RegisterDialog extends NonClosableDialog<String> {
 					setUser(u);
 					super.validate(pass);
 				}
-			}).setLabel(Model.of(getString("110")));
-			confirmPassword.setLabel(Model.of(getString("116")));
-			emailField.add(RfcCompliantEmailAddressValidator.getInstance()).setLabel(Model.of(getString("119")));
+			}).setLabel(new ResourceModel("110"));
+			confirmPassword.setLabel(new ResourceModel("116"));
+			emailField.add(RfcCompliantEmailAddressValidator.getInstance()).setLabel(new ResourceModel("119"));
 			add(new AjaxButton("submit") { // FAKE button so "submit-on-enter" works as expected
 				private static final long serialVersionUID = 1L;
 
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java
index 5fe2ad3..aee9e33 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java
@@ -36,6 +36,7 @@ import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.PasswordTextField;
 import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 
 import com.googlecode.wicket.jquery.core.JQueryBehavior;
 import com.googlecode.wicket.jquery.core.Options;
@@ -135,10 +136,10 @@ public class ResetPasswordDialog extends NonClosableDialog<String> {
 			add(login = new TextField<>("login", Model.of(user.getLogin())));
 			login.setOutputMarkupId(true);
 			add(password = new PasswordTextField("password", new Model<String>()));
-			password.setLabel(Model.of(getString("328"))).setOutputMarkupId(true);
+			password.setLabel(new ResourceModel("328")).setOutputMarkupId(true);
 			password.setRequired(false).add(new StrongPasswordValidator(user));
 			add(confirmPassword = new PasswordTextField("confirmPassword", new Model<String>()));
-			confirmPassword.setLabel(Model.of(getString("116"))).setOutputMarkupId(true);
+			confirmPassword.setLabel(new ResourceModel("116")).setOutputMarkupId(true);
 
 			add(new AjaxButton("submit") { // FAKE button so "submit-on-enter" works as expected
 				private static final long serialVersionUID = 1L;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
index b757cd0..5f1ee05 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
@@ -63,8 +63,8 @@ import org.apache.wicket.markup.html.form.StatelessForm;
 import org.apache.wicket.markup.html.link.Link;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
@@ -299,8 +299,8 @@ public class SignInDialog extends NonClosableDialog<String> {
 
 		@Override
 		protected void onInitialize() {
-			loginField.setLabel(Model.of(getString("114")));
-			passField.setLabel(Model.of(getString("110")));
+			loginField.setLabel(new ResourceModel("114"));
+			passField.setLabel(new ResourceModel("110"));
 			super.onInitialize();
 		}
 
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
index e0c4c45..9ef231f 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
@@ -75,6 +75,7 @@ import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.StringResourceModel;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.time.Duration;
@@ -419,12 +420,12 @@ public class InstallWizard extends AbstractWizard<InstallationConfig> {
 		@Override
 		protected void onInitialize() {
 			super.onInitialize();
-			add(new RequiredTextField<String>("username").setLabel(Model.of(getString("install.wizard.params.step1.username"))).add(minimumLength(USER_LOGIN_MINIMUM_LENGTH)));
+			add(new RequiredTextField<String>("username").setLabel(new ResourceModel("install.wizard.params.step1.username")).add(minimumLength(USER_LOGIN_MINIMUM_LENGTH)));
 			add(new PasswordTextField("password")
-					.setResetPassword(false).setLabel(Model.of(getString("install.wizard.params.step1.password")))
+					.setResetPassword(false).setLabel(new ResourceModel("install.wizard.params.step1.password"))
 					.add(new StrongPasswordValidator(new User())));
-			add(new RequiredTextField<String>("email").setLabel(Model.of(getString("install.wizard.params.step1.email"))).add(RfcCompliantEmailAddressValidator.getInstance()));
-			add(new RequiredTextField<String>("group").setLabel(Model.of(getString("install.wizard.params.step1.group"))));
+			add(new RequiredTextField<String>("email").setLabel(new ResourceModel("install.wizard.params.step1.email")).add(RfcCompliantEmailAddressValidator.getInstance()));
+			add(new RequiredTextField<String>("group").setLabel(new ResourceModel("install.wizard.params.step1.group")));
 		}
 
 		@Override
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/EventDetailDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/EventDetailDialog.java
index f1c7b27..1d94798 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/EventDetailDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/EventDetailDialog.java
@@ -27,7 +27,7 @@ import org.apache.openmeetings.db.entity.calendar.Appointment;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.model.CompoundPropertyModel;
-import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 
 import com.googlecode.wicket.jquery.core.JQueryBehavior;
 import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog;
@@ -43,7 +43,7 @@ public class EventDetailDialog extends AbstractDialog<Appointment> {
 	@Override
 	protected void onInitialize() {
 		super.onInitialize();
-		setTitle(Model.of(getString("815")));
+		setTitle(new ResourceModel("815"));
 		add(new Label("title"));
 		add(new Label("description"));
 		add(new Label("owner.timeZoneId"));
@@ -67,6 +67,6 @@ public class EventDetailDialog extends AbstractDialog<Appointment> {
 
 	@Override
 	protected List<DialogButton> getButtons() {
-		return Arrays.asList(new DialogButton("cancel", Model.of(getString("lbl.cancel"))));
+		return Arrays.asList(new DialogButton("cancel", new ResourceModel("lbl.cancel")));
 	}
 }
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
index 566db07..a0ef146 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
@@ -37,7 +37,7 @@ import org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddres
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.RequiredTextField;
 import org.apache.wicket.model.CompoundPropertyModel;
-import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.util.string.Strings;
 
 import com.googlecode.wicket.jquery.core.JQueryBehavior;
@@ -64,9 +64,9 @@ public class NicknameDialog extends NonClosableDialog<User> {
 		getTitle().setObject(getString("1287"));
 		ok = new DialogButton("ok", getString("54"));
 		form.add(feedback);
-		form.add(new RequiredTextField<String>("firstname").setLabel(Model.of(getString("135"))).add(minimumLength(getMinFnameLength())));
-		form.add(new RequiredTextField<String>("lastname").setLabel(Model.of(getString("136"))).add(minimumLength(getMinLnameLength())));
-		form.add(new RequiredTextField<String>("address.email").setLabel(Model.of(getString("119"))).add(RfcCompliantEmailAddressValidator.getInstance()));
+		form.add(new RequiredTextField<String>("firstname").setLabel(new ResourceModel("135")).add(minimumLength(getMinFnameLength())));
+		form.add(new RequiredTextField<String>("lastname").setLabel(new ResourceModel("136")).add(minimumLength(getMinLnameLength())));
+		form.add(new RequiredTextField<String>("address.email").setLabel(new ResourceModel("119")).add(RfcCompliantEmailAddressValidator.getInstance()));
 		super.onInitialize();
 	}
 
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
index 4165a7b..6931cc9 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
@@ -43,6 +43,7 @@ import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.Radio;
 import org.apache.wicket.markup.html.form.RadioGroup;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.util.CollectionModel;
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
@@ -101,7 +102,7 @@ public class RoomInvitationForm extends InvitationForm {
 
 	@Override
 	protected void onInitialize() {
-		groups.setLabel(Model.of(getString("126")));
+		groups.setLabel(new ResourceModel("126"));
 		super.onInitialize();
 	}
 
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/SipDialerDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/SipDialerDialog.java
index 00edb63..f62e502 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/SipDialerDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/SipDialerDialog.java
@@ -30,6 +30,7 @@ import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 
 import com.googlecode.wicket.jquery.core.Options;
 import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
@@ -67,7 +68,7 @@ public class SipDialerDialog extends AbstractFormDialog<String> {
 
 	@Override
 	protected void onInitialize() {
-		setTitle(Model.of(getString("1003")));
+		setTitle(new ResourceModel("1003"));
 		call = new DialogButton("call", getString("1448"));
 		close = new DialogButton("close", getString("85"));
 		super.onInitialize();
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/CreatePollDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/CreatePollDialog.java
index 8531880..5ad665b 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/CreatePollDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/poll/CreatePollDialog.java
@@ -40,7 +40,7 @@ import org.apache.wicket.markup.html.form.RequiredTextField;
 import org.apache.wicket.markup.html.form.TextArea;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 
 import com.googlecode.wicket.jquery.core.Options;
 import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
@@ -117,7 +117,7 @@ public class CreatePollDialog extends AbstractFormDialog<RoomPoll> {
 
 		@Override
 		protected void onInitialize() {
-			add(new RequiredTextField<String>("name").setLabel(Model.of(getString("1410"))));
+			add(new RequiredTextField<String>("name").setLabel(new ResourceModel("1410")));
 			add(new TextArea<String>("question"));
 			add(new DropDownChoice<>("type", Arrays.asList(RoomPoll.Type.values())
 					, new ChoiceRenderer<RoomPoll.Type>() {
@@ -133,7 +133,7 @@ public class CreatePollDialog extends AbstractFormDialog<RoomPoll> {
 							return pt.name();
 						}
 					})
-					.setRequired(true).setLabel(Model.of(getString("21"))));
+					.setRequired(true).setLabel(new ResourceModel("21")));
 			add(feedback);
 			super.onInitialize();
 		}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
index d32343e..6021a87 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
@@ -80,6 +80,7 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.util.CollectionModel;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
@@ -486,11 +487,11 @@ public class AppointmentDialog extends AbstractFormDialog<Appointment> {
 
 		@Override
 		protected void onInitialize() {
-			groups.setLabel(Model.of(getString("126")));
-			add(new RequiredTextField<String>("title").setLabel(Model.of(getString("572"))));
-			add(start.setLabel(Model.of(getString("570"))).setRequired(true)
-					, end.setLabel(Model.of(getString("571"))).setRequired(true)
-					, groom.setLabel(Model.of(getString("406"))));
+			groups.setLabel(new ResourceModel("126"));
+			add(new RequiredTextField<String>("title").setLabel(new ResourceModel("572")));
+			add(start.setLabel(new ResourceModel("570")).setRequired(true)
+					, end.setLabel(new ResourceModel("571")).setRequired(true)
+					, groom.setLabel(new ResourceModel("406")));
 			super.onInitialize();
 		}
 
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarDialog.java
index 58a4a16..2b5803a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarDialog.java
@@ -43,6 +43,7 @@ import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.markup.html.form.UrlTextField;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.validation.IValidatable;
 import org.apache.wicket.validation.validator.UrlValidator;
 import org.slf4j.Logger;
@@ -555,7 +556,7 @@ public class CalendarDialog extends AbstractFormDialog<OmCalendar> {
 				username.setModelObject(null);
 
 				urlLabel.setDefaultModelObject(getString("calendar.url"));
-				url.setLabel(Model.of(getString("calendar.url")));
+				url.setLabel(new ResourceModel("calendar.url"));
 			}
 
 			//Add new AttributeModifier to change the type of URLTextField, to text for
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
index 1497912..474efae 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
@@ -38,7 +38,7 @@ import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 
 import com.googlecode.wicket.jquery.core.Options;
 import com.googlecode.wicket.jquery.ui.form.button.ConfirmAjaxButton;
@@ -99,7 +99,7 @@ public class AdminCleanupInfoDialog extends AbstractDialog<String> {
 	@Override
 	protected void onInitialize() {
 		super.onInitialize();
-		setTitle(Model.of(getString("dashboard.widget.admin.cleanup.title")));
+		setTitle(new ResourceModel("dashboard.widget.admin.cleanup.title"));
 	}
 
 	@Override
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ChangePasswordDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ChangePasswordDialog.java
index 2866490..7e2f561 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ChangePasswordDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ChangePasswordDialog.java
@@ -31,6 +31,7 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.PasswordTextField;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
@@ -80,7 +81,7 @@ public class ChangePasswordDialog extends AbstractFormDialog<String> {
 	@Override
 	protected void onInitialize() {
 		getTitle().setObject(getString("327"));
-		update = new DialogButton("update", Model.of(getString("327"))) {
+		update = new DialogButton("update", new ResourceModel("327")) {
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -88,12 +89,12 @@ public class ChangePasswordDialog extends AbstractFormDialog<String> {
 				return true;
 			}
 		};
-		cancel = new DialogButton("cancel", Model.of(getString("lbl.cancel")));
+		cancel = new DialogButton("cancel", new ResourceModel("lbl.cancel"));
 		passValidator = new StrongPasswordValidator(getBean(UserDao.class).get(getUserId()));
 		add(form.add(
-				current.setLabel(Model.of(getString("current.password"))).setRequired(true)
-				, pass.setLabel(Model.of(getString("328"))).add(passValidator)
-				, pass2.setLabel(Model.of(getString("116")))
+				current.setLabel(new ResourceModel("current.password")).setRequired(true)
+				, pass.setLabel(new ResourceModel("328")).add(passValidator)
+				, pass2.setLabel(new ResourceModel("116"))
 				, feedback.setOutputMarkupId(true)
 				));
 		super.onInitialize();
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ProfileForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ProfileForm.java
index 28e61e4..7a7c23d 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ProfileForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/ProfileForm.java
@@ -41,6 +41,7 @@ import org.apache.wicket.markup.html.panel.IMarkupSourcingStrategy;
 import org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.time.Duration;
 import org.red5.logging.Red5LoggerFactory;
@@ -67,7 +68,7 @@ public class ProfileForm extends Form<User> {
 	@Override
 	protected void onInitialize() {
 		super.onInitialize();
-		add(passwd.setLabel(Model.of(getString("current.password"))).setRequired(true).setVisible(checkPassword));
+		add(passwd.setLabel(new ResourceModel("current.password")).setRequired(true).setVisible(checkPassword));
 
 		add(actions = new FormActionsPanel<User>("buttons", this) {
 			private static final long serialVersionUID = 1L;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/SettingsPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/SettingsPanel.java
index 4441df9..e29ded8 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/SettingsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/SettingsPanel.java
@@ -30,7 +30,7 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
 import org.apache.wicket.extensions.markup.html.tabs.ITab;
 import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 
 import com.googlecode.wicket.jquery.core.Options;
 import com.googlecode.wicket.jquery.ui.widget.tabs.AjaxTab;
@@ -54,7 +54,7 @@ public class SettingsPanel extends UserBasePanel {
 	@Override
 	protected void onInitialize() {
 		List<ITab> tabs = new ArrayList<>();
-		tabs.add(new AjaxTab(Model.of(getString("1170"))) {
+		tabs.add(new AjaxTab(new ResourceModel("1170")) {
 			private static final long serialVersionUID = 1L;
 			UserProfilePanel profilePanel = null;
 
@@ -76,7 +76,7 @@ public class SettingsPanel extends UserBasePanel {
 				return super.load(target);
 			}
 		});
-		tabs.add(new AjaxTab(Model.of(getString("1188"))) {
+		tabs.add(new AjaxTab(new ResourceModel("1188")) {
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -84,7 +84,7 @@ public class SettingsPanel extends UserBasePanel {
 				return new MessagesContactsPanel(panelId);
 			}
 		});
-		tabs.add(new AbstractTab(Model.of(getString("1171"))) {
+		tabs.add(new AbstractTab(new ResourceModel("1171")) {
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -92,7 +92,7 @@ public class SettingsPanel extends UserBasePanel {
 				return new ProfilePanel(panelId);
 			}
 		});
-		tabs.add(new AbstractTab(Model.of(getString("1172"))) {
+		tabs.add(new AbstractTab(new ResourceModel("1172")) {
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -100,7 +100,7 @@ public class SettingsPanel extends UserBasePanel {
 				return new UserSearchPanel(panelId);
 			}
 		});
-		tabs.add(new AbstractTab(Model.of(getString("profile.invitations"))) {
+		tabs.add(new AbstractTab(new ResourceModel("profile.invitations")) {
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -108,7 +108,7 @@ public class SettingsPanel extends UserBasePanel {
 				return new InvitationsPanel(panelId);
 			}
 		});
-		tabs.add(new AbstractTab(Model.of(getString("1548"))) {
+		tabs.add(new AbstractTab(new ResourceModel("1548")) {
 			private static final long serialVersionUID = 1L;
 
 			@Override