diff --git a/src/main/java/org/olat/admin/registration/SystemRegistrationAdminController.java b/src/main/java/org/olat/admin/registration/SystemRegistrationAdminController.java index b42ec97910bdfe5d9f552b0259bdc9eec88e0f11..a5efd79b1bc126682dc438ddbed02f90baaa3be8 100644 --- a/src/main/java/org/olat/admin/registration/SystemRegistrationAdminController.java +++ b/src/main/java/org/olat/admin/registration/SystemRegistrationAdminController.java @@ -20,10 +20,10 @@ */ package org.olat.admin.registration; -import java.util.Properties; +import java.util.Map; +import java.util.Set; -import org.apache.commons.lang.StringEscapeUtils; -import org.olat.core.configuration.PersistedProperties; +import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; @@ -64,10 +64,12 @@ public class SystemRegistrationAdminController extends FormBasicController { private MultipleSelectionElement publishWebSiteSelection; // summary of data that will be sent to server - private TextElement summary, webSiteDescription; - // where is your instance running, e.g. "Winterthurerstrasse 190, Zürich" or "Dresden" + private TextElement webSiteDescription; private TextElement locationBox; + private final SystemRegistrationModule registrationModule; + private final SystemRegistrationManager registrationManager; + /** * Constructor for the system registration controller. * @param ureq @@ -75,6 +77,10 @@ public class SystemRegistrationAdminController extends FormBasicController { */ public SystemRegistrationAdminController(UserRequest ureq, WindowControl control) { super(ureq, control, "registration"); + + registrationModule = (SystemRegistrationModule)CoreSpringFactory.getBean("systemRegistrationModule"); + registrationManager = (SystemRegistrationManager)CoreSpringFactory.getBean("systemRegistrationManager"); + initForm(ureq); } @@ -84,55 +90,48 @@ public class SystemRegistrationAdminController extends FormBasicController { */ @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { - SystemRegistrationManager sysRegMgr = SystemRegistrationManager.getInstance(); - PersistedProperties registrationConfig = sysRegMgr.getRegistrationConfiguration(); - // - // Add statistics //always send statistics - this.flc.contextPut("isRegisteredStatistics", Boolean.valueOf(true)); + flc.contextPut("isRegisteredStatistics", Boolean.valueOf(true)); // // Add website publishWebSiteSelection = uifactory.addCheckboxesVertical("registration.publishWebSiteSelection", null, formLayout, new String[] { YES }, new String[] { "" }, null, 1); publishWebSiteSelection.addActionListener(this, FormEvent.ONCLICK); - boolean publishWebsiteCofig = registrationConfig.getBooleanPropertyValue(SystemRegistrationManager.CONF_KEY_PUBLISH_WEBSITE); - publishWebSiteSelection.select(YES, publishWebsiteCofig); - this.flc.contextPut("isRegisteredWeb", Boolean.valueOf(publishWebsiteCofig)); + boolean publishWebsiteConfig = registrationModule.isPublishWebsite(); + publishWebSiteSelection.select(YES, publishWebsiteConfig); + flc.contextPut("isRegisteredWeb", Boolean.valueOf(publishWebsiteConfig)); // Add website description - String webSiteDesc = registrationConfig.getStringPropertyValue(SystemRegistrationManager.CONF_KEY_WEBSITE_DESCRIPTION, true); + String webSiteDesc = registrationModule.getWebsiteDescription(); webSiteDescription = uifactory.addTextAreaElement("registration.webSiteDescription", 5, 60, webSiteDesc, formLayout); webSiteDescription.addActionListener(this, FormEvent.ONCHANGE); - this.flc.contextPut("webSiteURL", Settings.getServerContextPathURI()); + flc.contextPut("webSiteURL", Settings.getServerContextPathURI()); RulesFactory.createHideRule(publishWebSiteSelection, null, webSiteDescription, formLayout); RulesFactory.createShowRule(publishWebSiteSelection, YES, webSiteDescription, formLayout); // Add location input - String location = registrationConfig.getStringPropertyValue(SystemRegistrationManager.CONF_KEY_LOCATION, true); + String location = registrationModule.getLocation(); locationBox = uifactory.addTextElement("registration.location", "registration.location", -1, location, formLayout); locationBox.setExampleKey("registration.location.example", null); - String locationCSV = registrationConfig.getStringPropertyValue(SystemRegistrationManager.CONF_KEY_LOCATION_COORDS, false); + String locationCSV = registrationModule.getLocationCoordinates(); if(locationCSV != null){ - this.flc.contextPut("locationCoordinates", locationCSV); + flc.contextPut("locationCoordinates", locationCSV); } // // Add announce list addToAnnounceListSelection = uifactory.addCheckboxesVertical("registration.addToAnnounceListSelection", null, formLayout, new String[] { YES }, new String[] { "" }, null, 1); addToAnnounceListSelection.addActionListener(this, FormEvent.ONCLICK); - addToAnnounceListSelection.select(YES, registrationConfig.getBooleanPropertyValue(SystemRegistrationManager.CONF_KEY_NOTIFY_RELEASES)); + addToAnnounceListSelection.select(YES, registrationModule.isNotifyReleases()); // // Add email field - String emailValue = registrationConfig.getStringPropertyValue(SystemRegistrationManager.CONF_KEY_EMAIL, true); + String emailValue = registrationModule.getEmail(); email = uifactory.addTextElement("registration.email", "registration.email", 60, emailValue, formLayout); RulesFactory.createHideRule(addToAnnounceListSelection, null, email, formLayout); RulesFactory.createShowRule(addToAnnounceListSelection, YES, email, formLayout); - // - // Add summary field - String summaryText = sysRegMgr.getRegistrationPropertiesMessage(registrationConfig.createPropertiesFromPersistedProperties()); - summaryText = StringEscapeUtils.escapeHtml(summaryText).toString(); - summary = uifactory.addTextAreaElement("registration.summary", null, -1, 5, 60, true, summaryText, formLayout); - summary.setEnabled(false); - // + + Set<Map.Entry<String,String>> properties = registrationManager.getRegistrationPropertiesMessage().entrySet(); + flc.contextPut("properties", properties); + // Add submit button uifactory.addFormSubmitButton("save", formLayout); } @@ -142,44 +141,34 @@ public class SystemRegistrationAdminController extends FormBasicController { */ @Override protected void formOK(UserRequest ureq) { - // Now collect valid data - SystemRegistrationManager sysRegMgr = SystemRegistrationManager.getInstance(); - PersistedProperties registrationConfig = sysRegMgr.getRegistrationConfiguration(); - //always send statistics - this.flc.contextPut("isRegisteredStatistics", Boolean.valueOf(true)); + //always send statistics + flc.contextPut("isRegisteredStatistics", Boolean.valueOf(true)); boolean publishWebsiteCofig = publishWebSiteSelection.isSelected(0); - this.flc.contextPut("isRegisteredWeb", Boolean.valueOf(publishWebsiteCofig)); - registrationConfig.setBooleanProperty(SystemRegistrationManager.CONF_KEY_PUBLISH_WEBSITE, publishWebsiteCofig, false); + flc.contextPut("isRegisteredWeb", Boolean.valueOf(publishWebsiteCofig)); + + registrationModule.setPublishWebsite(publishWebsiteCofig); String webSiteDesc = webSiteDescription.getValue(); - registrationConfig.setStringProperty(SystemRegistrationManager.CONF_KEY_WEBSITE_DESCRIPTION, webSiteDesc, false); + registrationModule.setWebsiteDescription(webSiteDesc); if (MailHelper.isValidEmailAddress(email.getValue()) && StringHelper.containsNonWhitespace(email.getValue())) { boolean notifyConfig = addToAnnounceListSelection.isSelected(0); - registrationConfig.setBooleanProperty(SystemRegistrationManager.CONF_KEY_NOTIFY_RELEASES, notifyConfig, false); - registrationConfig.setStringProperty(SystemRegistrationManager.CONF_KEY_EMAIL, email.getValue(), false); + registrationModule.setNotifyReleases(notifyConfig); + registrationModule.setEmail(email.getValue()); } else { - registrationConfig.setBooleanProperty(SystemRegistrationManager.CONF_KEY_NOTIFY_RELEASES, false, false); + registrationModule.setNotifyReleases(false); } // // Extract location -> uses http request for geolocation resolving String location = locationBox.getValue(); - - registrationConfig.setStringProperty(SystemRegistrationManager.CONF_KEY_LOCATION, location, false); - String locationCSV = SystemRegistrationManager.getInstance().getLocationCoordinates(location); + registrationModule.setLocation(location); + String locationCSV = registrationManager.getLocationCoordinates(location); if(locationCSV != null){ - registrationConfig.setStringProperty(SystemRegistrationManager.CONF_KEY_LOCATION_COORDS, locationCSV, false); - this.flc.contextPut("locationCoordinates", locationCSV); + registrationModule.setLocationCoordinates(locationCSV); + flc.contextPut("locationCoordinates", locationCSV); } - - - // Save to disk - registrationConfig.savePropertiesAndFireChangedEvent(); - // Update summary view - String summaryText = sysRegMgr.getRegistrationPropertiesMessage(registrationConfig.createPropertiesFromPersistedProperties()); - summaryText = StringEscapeUtils.escapeHtml(summaryText).toString(); - summary.setValue(summaryText); + // Submit to olat.org - sysRegMgr.sendRegistrationData(); + registrationManager.send(); } @Override @@ -191,27 +180,16 @@ public class SystemRegistrationAdminController extends FormBasicController { } } // Now collect temporary valid data - Properties tmp = new Properties(); - SystemRegistrationManager sysRegMgr = SystemRegistrationManager.getInstance(); - PersistedProperties registrationConfig = sysRegMgr.getRegistrationConfiguration(); - tmp.setProperty(SystemRegistrationManager.CONF_KEY_IDENTIFYER, registrationConfig.getStringPropertyValue(SystemRegistrationManager.CONF_KEY_IDENTIFYER, true)); - boolean publishWebsiteCofig = publishWebSiteSelection.isSelected(0); - tmp.setProperty(SystemRegistrationManager.CONF_KEY_PUBLISH_WEBSITE, publishWebsiteCofig + ""); - String webSiteDesc = webSiteDescription.getValue(); - tmp.setProperty(SystemRegistrationManager.CONF_KEY_WEBSITE_DESCRIPTION, webSiteDesc); + registrationModule.setPublishWebsite(publishWebSiteSelection.isSelected(0)); + registrationModule.setWebsiteDescription(webSiteDescription.getValue()); if (MailHelper.isValidEmailAddress(email.getValue()) && StringHelper.containsNonWhitespace(email.getValue())) { boolean notifyConfig = addToAnnounceListSelection.isSelected(0); - tmp.setProperty(SystemRegistrationManager.CONF_KEY_NOTIFY_RELEASES, notifyConfig + ""); - tmp.setProperty(SystemRegistrationManager.CONF_KEY_EMAIL, email.getValue()); + registrationModule.setNotifyReleases(notifyConfig); + registrationModule.setEmail(email.getValue()); } else { - tmp.setProperty(SystemRegistrationManager.CONF_KEY_NOTIFY_RELEASES, false + ""); + registrationModule.setNotifyReleases(false); } - // Update summary view - String summaryText = sysRegMgr.getRegistrationPropertiesMessage(tmp); - summaryText = StringEscapeUtils.escapeHtml(summaryText).toString(); - summary.setValue(summaryText); } - /** * @see org.olat.core.gui.components.form.flexible.impl.FormBasicController#doDispose() @@ -220,5 +198,4 @@ public class SystemRegistrationAdminController extends FormBasicController { protected void doDispose() { // nothing to dispose } - -} +} \ No newline at end of file diff --git a/src/main/java/org/olat/admin/registration/SystemRegistrationJob.java b/src/main/java/org/olat/admin/registration/SystemRegistrationJob.java index e3f46f925615c1af32dbaa816bb3f3aec6d369fb..da8cbebf69bcd539af65b108c94096d051385f4b 100644 --- a/src/main/java/org/olat/admin/registration/SystemRegistrationJob.java +++ b/src/main/java/org/olat/admin/registration/SystemRegistrationJob.java @@ -20,6 +20,7 @@ */ package org.olat.admin.registration; +import org.olat.core.CoreSpringFactory; import org.olat.core.commons.scheduler.JobWithDB; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; @@ -42,8 +43,8 @@ public class SystemRegistrationJob extends JobWithDB { @SuppressWarnings("unused") @Override public void executeWithDB(JobExecutionContext arg0) throws JobExecutionException { - SystemRegistrationManager regMgr = SystemRegistrationManager.getInstance(); - regMgr.sendRegistrationData(); + SystemRegistrationManager registrationManager = (SystemRegistrationManager)CoreSpringFactory.getBean("systemRegistrationManager"); + registrationManager.sendRegistrationData(); } } diff --git a/src/main/java/org/olat/admin/registration/SystemRegistrationJobStarter.java b/src/main/java/org/olat/admin/registration/SystemRegistrationJobStarter.java deleted file mode 100644 index 9ad30aeda0d21602913e7358d2f1d558296bc37d..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/admin/registration/SystemRegistrationJobStarter.java +++ /dev/null @@ -1,45 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <p> -*/ -package org.olat.admin.registration; - -import org.olat.core.commons.scheduler.JobWithDB; -import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; - -/** - * Description:<br> - * deferred execution of a cron job, with a cron expression saved in properties. - * - * <P> - * Initial Date: 01.04.2009 <br> - * @author patrickb - */ -public class SystemRegistrationJobStarter extends JobWithDB { - - /** - * @see org.olat.core.commons.scheduler.JobWithDB#executeWithDB(org.quartz.JobExecutionContext) - */ - @Override - public void executeWithDB(JobExecutionContext arg0) throws JobExecutionException { - SystemRegistrationManager.getInstance().setupRegistrationBackgroundThread(); - } - -} diff --git a/src/main/java/org/olat/admin/registration/SystemRegistrationManager.java b/src/main/java/org/olat/admin/registration/SystemRegistrationManager.java index dd0bbd003a2663e735727c32d6e760b2336a2964..88c726a2975f87f94f69571b1c6b0f71cf8d8764 100644 --- a/src/main/java/org/olat/admin/registration/SystemRegistrationManager.java +++ b/src/main/java/org/olat/admin/registration/SystemRegistrationManager.java @@ -20,16 +20,13 @@ */ package org.olat.admin.registration; -import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.math.BigInteger; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; import java.text.ParseException; import java.util.Calendar; -import java.util.List; -import java.util.Properties; +import java.util.HashMap; +import java.util.Map; + +import javax.ws.rs.core.UriBuilder; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; @@ -37,30 +34,19 @@ import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.methods.PutMethod; -import org.apache.commons.httpclient.methods.StringRequestEntity; +import org.apache.commons.io.IOUtils; import org.apache.commons.lang.math.RandomUtils; import org.olat.basesecurity.BaseSecurity; -import org.olat.basesecurity.BaseSecurityManager; import org.olat.basesecurity.Constants; import org.olat.basesecurity.PermissionOnResourceable; import org.olat.basesecurity.SecurityGroup; -import org.olat.core.CoreSpringFactory; import org.olat.core.commons.persistence.DB; import org.olat.core.configuration.Destroyable; import org.olat.core.configuration.Initializable; -import org.olat.core.configuration.PersistedProperties; -import org.olat.core.configuration.PersistedPropertiesChangedEvent; -import org.olat.core.gui.control.Event; import org.olat.core.helpers.Settings; import org.olat.core.id.Identity; -import org.olat.core.logging.OLATRuntimeException; import org.olat.core.manager.BasicManager; -import org.olat.core.util.CodeHelper; import org.olat.core.util.StringHelper; -import org.olat.core.util.WebappHelper; -import org.olat.core.util.event.FrameworkStartedEvent; -import org.olat.core.util.event.FrameworkStartupEventChannel; -import org.olat.core.util.event.GenericEventListener; import org.olat.core.util.httpclient.HttpClientFactory; import org.olat.core.util.i18n.I18nModule; import org.olat.course.CourseModule; @@ -70,7 +56,6 @@ import org.olat.group.context.BGContextManagerImpl; import org.olat.instantMessaging.InstantMessagingModule; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryManager; -import org.quartz.CronExpression; import org.quartz.CronTrigger; import org.quartz.JobDetail; import org.quartz.Scheduler; @@ -86,54 +71,38 @@ import org.quartz.SchedulerException; * * @author gnaegi */ -public class SystemRegistrationManager extends BasicManager implements GenericEventListener, Initializable, Destroyable { - private static final String POST_PARAMETER_NAME = "registrationData"; - private static SystemRegistrationManager INSTANCE; - // Version flag for data xml - private static final String VERSION = "1.0"; + +public class SystemRegistrationManager extends BasicManager implements Initializable, Destroyable { + private static final String SCHEDULER_NAME = "system.registration"; - // configuration keys in persisted properties - private PersistedProperties persitedProperties; - private Scheduler scheduler; - private String clusterMode; - private DB database; - - public static final String CONF_KEY_PUBLISH_WEBSITE = "publishWebsite"; - public static final String CONF_KEY_WEBSITE_DESCRIPTION = "websiteDescription"; - public static final String CONF_KEY_NOTIFY_RELEASES = "notifyReleases"; - public static final String CONF_KEY_EMAIL = "email"; - // not configurable by user - public static final String CONF_KEY_REGISTRATION_CRON = "registrationCron"; - public static final String CONF_KEY_IDENTIFYER = "instanceIdentifyer"; - // Where to post the registration. Don't move this to a config, it should not - // be that easy to modify the registration server URL! - private static final String REGISTRATION_SERVER = "http://www.olat.org/olatregistration/registrations/"; - //private static final String REGISTRATION_SERVER = "http://localhost:8088/olatregistration/registrations/"; - //location described by language, e.g. "Winterthurerstrasse 190, Zürich", or "Dresden".... - public static final String CONF_KEY_LOCATION = "location"; - // the geolocation derived with a google maps service for usage to place markers on a google map - public static final String CONF_KEY_LOCATION_COORDS="location_coords"; - // on first registration request, the registration.olat.org creates a secret key - needed for future updates - private static final String CONF_SECRETKEY = "secret_key"; + private static final String TRIGGER = "system_registration_trigger"; + + private final SystemRegistrationModule registrationModule; + private final Scheduler scheduler; + private final String clusterMode; + private final DB database; + private RepositoryManager repositoryManager; + private BaseSecurity securityManager; + + private static final String REGISTRATION_SERVER = "http://www.openolat.org/registration/restapi/registration/openolat"; + //private static final String REGISTRATION_SERVER = "http://localhost:8081/registration/restapi/registration/openolat"; /** * [used by spring] * Use getInstance(), this is a singleton */ - private SystemRegistrationManager(Scheduler scheduler, String clusterMode, DB database) { + private SystemRegistrationManager(Scheduler scheduler, String clusterMode, DB database, SystemRegistrationModule registrationModule) { this.scheduler = scheduler; - INSTANCE = this; this.clusterMode = clusterMode; this.database = database; - FrameworkStartupEventChannel.registerForStartupEvent(this); + this.registrationModule = registrationModule; } - + /** - * [used by spring] - * @param persitedProperties + * Initialize the configuration */ - public void setPersitedProperties(PersistedProperties persitedProperties) { - this.persitedProperties = persitedProperties; + public void init() { + setupRegistrationBackgroundThread(); } /** @@ -141,47 +110,23 @@ public class SystemRegistrationManager extends BasicManager implements GenericEv * from the PersistedProperties infrastructure */ public void destroy() { - // remove properties - if (persitedProperties != null) { - persitedProperties.destroy(); - } - // Stop registration job - Scheduler scheduler = (Scheduler) CoreSpringFactory.getBean("schedulerFactoryBean"); - try { - scheduler.deleteJob(SCHEDULER_NAME, Scheduler.DEFAULT_GROUP); - } catch (SchedulerException e) { - logError("Could not shut down job::" + SCHEDULER_NAME, e); - } + // } - + /** - * Initialize the configuration + * [used by Spring] + * @param repositoryManager */ - public void init() { - //TODO why does this get set with each start? - persitedProperties.setBooleanPropertyDefault(CONF_KEY_PUBLISH_WEBSITE, false); - persitedProperties.setStringPropertyDefault(CONF_KEY_WEBSITE_DESCRIPTION, ""); - persitedProperties.setBooleanPropertyDefault(CONF_KEY_NOTIFY_RELEASES, false); - persitedProperties.setStringPropertyDefault(CONF_KEY_EMAIL, WebappHelper.getMailConfig("mailSupport")); - // Check if cron property exist - if (persitedProperties.getStringPropertyValue(CONF_KEY_REGISTRATION_CRON, false) == null) { - String cronExpression = createCronTriggerExpression(); - // persist so that next startup we have same trigger - persitedProperties.setStringProperty(CONF_KEY_REGISTRATION_CRON, cronExpression, true); - } - // Check if instance identifyer property exists - if (persitedProperties.getStringPropertyValue(CONF_KEY_IDENTIFYER, false) == null) { - String uniqueID = CodeHelper.getGlobalForeverUniqueID(); - MessageDigest digester; - try { - digester = MessageDigest.getInstance("MD5"); - digester.update(uniqueID.getBytes(),0,uniqueID.length()); - persitedProperties.setStringProperty(CONF_KEY_IDENTIFYER, new BigInteger(1,digester.digest()).toString(16), true); - } catch (NoSuchAlgorithmException e) { - // using no encoding instead - persitedProperties.setStringProperty(CONF_KEY_IDENTIFYER, uniqueID, true); - } - } + public void setRepositoryManager(RepositoryManager repositoryManager) { + this.repositoryManager = repositoryManager; + } + + /** + * [used by Spring] + * @param securityManager + */ + public void setSecurityManager(BaseSecurity securityManager) { + this.securityManager = securityManager; } /** @@ -200,31 +145,7 @@ public class SystemRegistrationManager extends BasicManager implements GenericEv return cronExpression; } - /** - * Singleton, use this to get a handle to the manager - * - * @return - */ - public static SystemRegistrationManager getInstance() { - return INSTANCE; - } - - /** - * [used by spring] - * @param persistedProperties - */ - public void setPersistedProperties(PersistedProperties persistedProperties) { - this.persitedProperties = persistedProperties; - } - - /** - * @return The persisted configuration - */ - PersistedProperties getRegistrationConfiguration() { - return persitedProperties; - } - - String getLocationCoordinates(String textLocation){ + public String getLocationCoordinates(String textLocation){ String csvCoordinates = null; if (textLocation == null || textLocation.length()==0) { @@ -256,163 +177,146 @@ public class SystemRegistrationManager extends BasicManager implements GenericEv } catch (IOException e) { // } - return csvCoordinates; } + public void send() { + try { + scheduler.triggerJob(SCHEDULER_NAME, Scheduler.DEFAULT_GROUP); + } catch (SchedulerException e) { + logError("", e); + } + } /** * Send the registration data now. If the user configured nothing to send, * nothing will be sent. */ - public void sendRegistrationData() { - // Do it optimistic and try to generate the XML message. If the message - // doesn't contain anything, the user does not want to register this - // instance - String registrationData = getRegistrationPropertiesMessage(null); - String registrationKey = persitedProperties.getStringPropertyValue(CONF_SECRETKEY, false); - if (StringHelper.containsNonWhitespace(registrationData)) { + protected void sendRegistrationData() { + PutMethod method = null; + try { + // Do it optimistic and try to generate the XML message. If the message + // doesn't contain anything, the user does not want to register this + // instance + Map<String,String> registrationData = getRegistrationPropertiesMessage(); // only send when there is something to send - HttpClient client = HttpClientFactory.getHttpClientInstance(); - client.getParams().setParameter("http.useragent", "OLAT Registration Agent ; " + VERSION); - String url = REGISTRATION_SERVER+persitedProperties.getStringPropertyValue(CONF_KEY_IDENTIFYER, false)+"/"; - logInfo("URL:"+url, null); - PutMethod method = new PutMethod(url); - if(registrationKey != null){ - //updating - method.setRequestHeader("Authorization",registrationKey); - if(isLogDebugEnabled()){ - logDebug("Authorization: "+registrationKey,null); - }else{ - logDebug("Authorization: EXISTS",null); + UriBuilder builder = UriBuilder.fromUri(REGISTRATION_SERVER); + for(Map.Entry<String, String> entry:registrationData.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + if(StringHelper.containsNonWhitespace(value)) { + builder.queryParam(key, value); } - }else{ - logInfo("Authorization: NONE",null); } - method.setRequestHeader("Content-Type", "application/xml; charset=utf-8"); - try { - method.setRequestEntity(new StringRequestEntity(registrationData, "application/xml", "UTF8")); - client.executeMethod(method); - int status = method.getStatusCode(); - if (status == HttpStatus.SC_NOT_MODIFIED || status == HttpStatus.SC_OK) { - logInfo("Successfully registered OLAT installation on olat.org server, thank you for your support!", null); - registrationKey = method.getResponseBodyAsString(); - persitedProperties.setStringProperty(CONF_SECRETKEY, registrationKey, false); - persitedProperties.savePropertiesAndFireChangedEvent(); - } else if (method.getStatusCode() == HttpStatus.SC_NOT_FOUND) { - logError("File could be created not on registration server::" + method.getStatusLine().toString(), null); - } else if(method.getStatusCode() == HttpStatus.SC_NO_CONTENT){ - logInfo(method.getResponseBodyAsString(), method.getStatusText()); - } - else { - logError("Unexpected HTTP Status::" + method.getStatusLine().toString() + " during registration call", null); - } - } catch (Exception e) { - logError("Unexpected exception during registration call", e); + + builder.queryParam("instanceId", registrationModule.getInstanceIdentifier()); + if(StringHelper.containsNonWhitespace(registrationModule.getSecretKey())) { + String secretKey = registrationModule.getSecretKey(); + builder.queryParam("secretKey", secretKey); + } + + HttpClient client = HttpClientFactory.getHttpClientInstance(); + String url = builder.build().toString(); + method = new PutMethod(url); + client.executeMethod(method); + int status = method.getStatusCode(); + if(status == HttpStatus.SC_CREATED) { + logInfo("Successfully registered OLAT installation on openolat.org server, thank you for your support!", null); + String registrationKey = IOUtils.toString(method.getResponseBodyAsStream()); + registrationModule.setSecretKey(registrationKey); + } else if (status == HttpStatus.SC_NOT_MODIFIED || status == HttpStatus.SC_OK || status == HttpStatus.SC_CREATED) { + logInfo("Successfully registered OLAT installation on openolat.org server, thank you for your support!", null); + } else if (method.getStatusCode() == HttpStatus.SC_NOT_FOUND) { + logError("Registration server not found: " + method.getStatusLine().toString(), null); + } else if(method.getStatusCode() == HttpStatus.SC_NO_CONTENT){ + logInfo(method.getResponseBodyAsString(), method.getStatusText()); + } else { + logError("Unexpected HTTP Status: " + method.getStatusLine().toString() + " during registration call", null); + } + } catch (Exception e) { + logError("Unexpected exception during registration call", e); + } finally { + database.commitAndCloseSession(); + if(method != null) { + method.releaseConnection(); } - } else { - logWarn( - "****************************************************************************************************************************************************************************", - null); - logWarn( - "* This OLAT installation is not registered. Please, help us with your statistical data and register your installation under Adminisration - Systemregistration. THANK YOU! *", - null); - logWarn( - "****************************************************************************************************************************************************************************", - null); } } - String getRegistrationPropertiesMessage(Properties tempConfiguration) { - Properties msgProperties = new Properties(); - if (tempConfiguration == null) { - // Create temp properties from persisted properties - tempConfiguration = persitedProperties.createPropertiesFromPersistedProperties(); - } + public Map<String,String> getRegistrationPropertiesMessage() { + Map<String,String> msgProperties = new HashMap<String,String>(); - boolean website = Boolean.parseBoolean(tempConfiguration.getProperty(CONF_KEY_PUBLISH_WEBSITE)); - boolean notify = Boolean.parseBoolean(tempConfiguration.getProperty(CONF_KEY_NOTIFY_RELEASES)); + boolean website = registrationModule.isPublishWebsite(); + boolean notify = registrationModule.isNotifyReleases(); + //OLAT version + msgProperties.put("appName", Settings.getApplicationName()); + msgProperties.put("version", Settings.getFullVersionInfo()); - if (website || notify) { - msgProperties = tempConfiguration; - - msgProperties.setProperty("RegistrationVersion", "1.0"); - - // OLAT version - msgProperties.setProperty("olatAppName", Settings.getApplicationName()); - msgProperties.setProperty("olatVersion", Settings.getFullVersionInfo()); - // System config - msgProperties.setProperty("configInstantMessagingEnabled", String.valueOf(InstantMessagingModule.isEnabled())); - msgProperties.setProperty("configLanguages", I18nModule.getEnabledLanguageKeys().toString()); - msgProperties.setProperty("configClusterEnabled", clusterMode); - msgProperties.setProperty("configDebugginEnabled", String.valueOf(Settings.isDebuging())); - // Course counts - RepositoryManager repoMgr = RepositoryManager.getInstance(); - int allCourses = repoMgr.countByTypeLimitAccess(CourseModule.ORES_TYPE_COURSE, RepositoryEntry.ACC_OWNERS); - int publishedCourses = repoMgr.countByTypeLimitAccess(CourseModule.ORES_TYPE_COURSE, RepositoryEntry.ACC_USERS); - msgProperties.setProperty("courseCountAll", String.valueOf(allCourses)); - msgProperties.setProperty("courseCountPublished", String.valueOf(publishedCourses)); - // User counts - BaseSecurity secMgr = BaseSecurityManager.getInstance(); - SecurityGroup olatuserGroup = secMgr.findSecurityGroupByName(Constants.GROUP_OLATUSERS); - int users = secMgr.countIdentitiesOfSecurityGroup(olatuserGroup); - int disabled = secMgr.getIdentitiesByPowerSearch(null, null, true, null, null, null, null, null, null, null, Identity.STATUS_LOGIN_DENIED) - .size(); - msgProperties.setProperty("usersEnabled", String.valueOf(users - disabled)); + //Location + msgProperties.put("location", registrationModule.getLocation()); + msgProperties.put("locationCSV", registrationModule.getLocationCoordinates()); + + // System config + msgProperties.put("instantMessagingEnabled", String.valueOf(InstantMessagingModule.isEnabled())); + msgProperties.put("enabledLanguages", I18nModule.getEnabledLanguageKeys().toString()); + msgProperties.put("clusterEnabled", clusterMode); + msgProperties.put("debuggingEnabled", String.valueOf(Settings.isDebuging())); + + // Course counts + int allCourses = repositoryManager.countByTypeLimitAccess(CourseModule.ORES_TYPE_COURSE, RepositoryEntry.ACC_OWNERS); + int publishedCourses = repositoryManager.countByTypeLimitAccess(CourseModule.ORES_TYPE_COURSE, RepositoryEntry.ACC_USERS); + msgProperties.put("courses", String.valueOf(allCourses)); + msgProperties.put("coursesPublished", String.valueOf(publishedCourses)); + + // User counts + SecurityGroup olatuserGroup = securityManager.findSecurityGroupByName(Constants.GROUP_OLATUSERS); + int users = securityManager.countIdentitiesOfSecurityGroup(olatuserGroup); + int disabled = securityManager.getIdentitiesByPowerSearch(null, null, true, null, null, null, null, null, null, null, Identity.STATUS_LOGIN_DENIED).size(); + msgProperties.put("usersEnabled", String.valueOf(users - disabled)); - PermissionOnResourceable[] permissions = { new PermissionOnResourceable(Constants.PERMISSION_HASROLE, Constants.ORESOURCE_AUTHOR) }; - List<Identity> authorsList = secMgr.getIdentitiesByPowerSearch(null, null, true, null, permissions, null, null, null, null, null, null); - int authors = authorsList.size(); - msgProperties.setProperty("usersAuthors", String.valueOf(authors)); - // Activity - Calendar lastLoginLimit = Calendar.getInstance(); - lastLoginLimit.add(Calendar.DAY_OF_YEAR, -6); // -1 - 6 = -7 for last - // week - msgProperties.setProperty("activeUsersLastWeek", String.valueOf(secMgr.countUniqueUserLoginsSince(lastLoginLimit.getTime()))); - lastLoginLimit.add(Calendar.MONTH, -1); - msgProperties.setProperty("activeUsersLastMonth", String.valueOf(secMgr.countUniqueUserLoginsSince(lastLoginLimit.getTime()))); - // Groups - BGContextManager groupMgr = BGContextManagerImpl.getInstance(); - int buddyGroups = groupMgr.countGroupsOfType(BusinessGroup.TYPE_BUDDYGROUP); - msgProperties.setProperty("groupCountBuddyGroups", String.valueOf(buddyGroups)); - int learningGroups = groupMgr.countGroupsOfType(BusinessGroup.TYPE_LEARNINGROUP); - msgProperties.setProperty("groupCountLearningGroups", String.valueOf(learningGroups)); - int rightGroups = groupMgr.countGroupsOfType(BusinessGroup.TYPE_RIGHTGROUP); - msgProperties.setProperty("groupCountRightGroups", String.valueOf(rightGroups)); + PermissionOnResourceable[] permissions = { new PermissionOnResourceable(Constants.PERMISSION_HASROLE, Constants.ORESOURCE_AUTHOR) }; + int authors = securityManager.getIdentitiesByPowerSearch(null, null, true, null, permissions, null, null, null, null, null, null).size(); + msgProperties.put("authors", String.valueOf(authors)); + + // Activity + Calendar lastLoginLimit = Calendar.getInstance(); + lastLoginLimit.add(Calendar.DAY_OF_YEAR, -6); // -1 - 6 = -7 for last week + Long activeUsersLastWeek = securityManager.countUniqueUserLoginsSince(lastLoginLimit.getTime()); + msgProperties.put("activeUsersLastWeek", String.valueOf(activeUsersLastWeek)); + lastLoginLimit = Calendar.getInstance(); + lastLoginLimit.add(Calendar.MONTH, -1); + Long activeUsersLastMonth = securityManager.countUniqueUserLoginsSince(lastLoginLimit.getTime()); + msgProperties.put("activeUsersLastMonth", String.valueOf(activeUsersLastMonth)); + + // Groups + BGContextManager groupMgr = BGContextManagerImpl.getInstance(); + int buddyGroups = groupMgr.countGroupsOfType(BusinessGroup.TYPE_BUDDYGROUP); + msgProperties.put("buddyGroups", String.valueOf(buddyGroups)); + int learningGroups = groupMgr.countGroupsOfType(BusinessGroup.TYPE_LEARNINGROUP); + msgProperties.put("learningGroups", String.valueOf(learningGroups)); + int rightGroups = groupMgr.countGroupsOfType(BusinessGroup.TYPE_RIGHTGROUP); + msgProperties.put("rightGroups", String.valueOf(rightGroups)); - if (website) { - // URL - msgProperties.setProperty("websiteURL", Settings.getServerContextPathURI()); - // Description - String desc = tempConfiguration.getProperty(CONF_KEY_WEBSITE_DESCRIPTION); - msgProperties.setProperty("websiteDescription", desc); - } - if (notify) { - // Email - String email = tempConfiguration.getProperty(CONF_KEY_EMAIL); - msgProperties.setProperty("email", email); - } - } - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - try { - msgProperties.storeToXML(baos, "OLAT Registration Data, since 6.1.1 Release"); - } catch (IOException e) { - throw new OLATRuntimeException("OLAT Registration failed",e); + if (website) { + // URL + msgProperties.put("url", Settings.getServerContextPathURI()); + // Description + String desc = registrationModule.getWebsiteDescription(); + msgProperties.put("description", desc); } - String retVal = null; - try { - retVal = baos.toString("UTF8"); - } catch (UnsupportedEncodingException e) { - throw new OLATRuntimeException("OLAT Registration failed",e); + if (notify) { + // Email + String email = registrationModule.getEmail(); + msgProperties.put("email", email); } - return retVal; + return msgProperties; } /** * Method to initialize the registration submission scheduler. The scheduler * normally runs once a week and submitts the most current data. */ - void setupRegistrationBackgroundThread() { + public void setupRegistrationBackgroundThread() { // Only run scheduler on first cluster node // This is accomplished by the SystemRegistrationJobStarter which is configured and ensured to run only once in a cluster from within // the olatextconfig.xml. This Job uses this method to setup the cronjob defined with the cronexpressioin from the properties. @@ -420,52 +324,23 @@ public class SystemRegistrationManager extends BasicManager implements GenericEv // Don't run in jUnit mode if (Settings.isJUnitTest()) return; - // create a crontrigger inside because cron expression is random generated -> this can not be done by config? REVIEW:gs: - String cronExpression = "ERROR"; + + String cronExpression = createCronTriggerExpression(); try { // Create job with cron trigger configuration JobDetail jobDetail = new JobDetail(SCHEDULER_NAME, Scheduler.DEFAULT_GROUP, SystemRegistrationJob.class); CronTrigger trigger = new CronTrigger(); - trigger.setName("system_registration_trigger"); - cronExpression = persitedProperties.getStringPropertyValue(CONF_KEY_REGISTRATION_CRON, true); - if (!CronExpression.isValidExpression(cronExpression)) { - cronExpression = createCronTriggerExpression(); - persitedProperties.setStringPropertyDefault(CONF_KEY_REGISTRATION_CRON, cronExpression); - } + trigger.setName(TRIGGER); // Use this cron expression for debugging, tries to send data every minute //trigger.setCronExpression("0 * * * * ?"); trigger.setCronExpression(cronExpression); // Schedule job now scheduler.scheduleJob(jobDetail, trigger); } catch (ParseException e) { - logError("Illegal cron expression for system registration", e); } catch (SchedulerException e) { logError("Can not start system registration scheduler", e); } - logInfo("Registration background job successfully started: "+cronExpression, null); } - - /** - * @see org.olat.core.util.event.GenericEventListener#event(org.olat.core.gui.control.Event) - */ - public void event(Event event) { - if (event instanceof PersistedPropertiesChangedEvent) { - init(); - } else if (event instanceof FrameworkStartedEvent) { - // trigger first execution of registration when framework is started - boolean success = false; - try { - sendRegistrationData(); - success = true; - database.commitAndCloseSession(); - } finally { - if (!success) { - database.rollbackAndCloseSession(); - } - } - } - } - -} +} \ No newline at end of file diff --git a/src/main/java/org/olat/admin/registration/SystemRegistrationModule.java b/src/main/java/org/olat/admin/registration/SystemRegistrationModule.java new file mode 100644 index 0000000000000000000000000000000000000000..9db19ea3438766e4fed113b9e774ce7556a823f3 --- /dev/null +++ b/src/main/java/org/olat/admin/registration/SystemRegistrationModule.java @@ -0,0 +1,174 @@ +package org.olat.admin.registration; + +import java.util.UUID; + +import org.olat.core.configuration.AbstractOLATModule; +import org.olat.core.configuration.PersistedProperties; +import org.olat.core.util.StringHelper; + +/** + * + * Description:<br> + * + * <P> + * Initial Date: 25 nov. 2011 <br> + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class SystemRegistrationModule extends AbstractOLATModule { + + protected static final String CONF_KEY_PUBLISH_WEBSITE = "publishWebsite"; + protected static final String CONF_KEY_WEBSITE_DESCRIPTION = "websiteDescription"; + protected static final String CONF_KEY_NOTIFY_RELEASES = "notifyReleases"; + protected static final String CONF_KEY_EMAIL = "email"; + // not configurable by user + protected static final String CONF_KEY_REGISTRATION_CRON = "registrationCron"; + protected static final String CONF_KEY_IDENTIFYER = "instanceIdentifyer"; + //location described by language, e.g. "Winterthurerstrasse 190, Zürich", or "Dresden".... + protected static final String CONF_KEY_LOCATION = "location"; + // the geolocation derived with a google maps service for usage to place markers on a google map + protected static final String CONF_KEY_LOCATION_COORDS="location_coords"; + // on first registration request, the registration.olat.org creates a secret key - needed for future updates + private static final String CONF_SECRETKEY = "secret_key"; + + private boolean publishWebsite; + private String websiteDescription; + private boolean notifyReleases; + private String email; + private String location; + private String locationCoordinates; + private String secretKey; + private String instanceIdentifier; + + @Override + public void init() { + String secretKeyObj = getStringPropertyValue(CONF_SECRETKEY, true); + if(StringHelper.containsNonWhitespace(secretKeyObj)) { + secretKey = secretKeyObj; + } + String publishWebsiteObj = getStringPropertyValue(CONF_KEY_PUBLISH_WEBSITE, true); + if(StringHelper.containsNonWhitespace(publishWebsiteObj)) { + publishWebsite = "true".equals(publishWebsiteObj); + } + String websiteDescriptionObj = getStringPropertyValue(CONF_KEY_WEBSITE_DESCRIPTION, true); + if(StringHelper.containsNonWhitespace(websiteDescriptionObj)) { + websiteDescription = websiteDescriptionObj; + } + String notifyReleasesObj = getStringPropertyValue(CONF_KEY_NOTIFY_RELEASES, true); + if(StringHelper.containsNonWhitespace(notifyReleasesObj)) { + notifyReleases = "true".equals(notifyReleasesObj); + } + + String emailObj = getStringPropertyValue(CONF_KEY_EMAIL, true); + if(StringHelper.containsNonWhitespace(emailObj)) { + email = emailObj; + } + String locationObj = getStringPropertyValue(CONF_KEY_LOCATION, true); + if(StringHelper.containsNonWhitespace(locationObj)) { + location = locationObj; + } + String locationCoordinatesObj = getStringPropertyValue(CONF_KEY_LOCATION_COORDS, true); + if(StringHelper.containsNonWhitespace(locationCoordinatesObj)) { + locationCoordinates = locationCoordinatesObj; + } + + // Check if instance identifier property exists + String instanceIdentifierObj = getStringPropertyValue(CONF_KEY_IDENTIFYER, false); + if (StringHelper.containsNonWhitespace(instanceIdentifierObj)) { + instanceIdentifier = instanceIdentifierObj; + } else { + instanceIdentifier = UUID.randomUUID().toString(); + moduleConfigProperties.setStringProperty(CONF_KEY_IDENTIFYER, instanceIdentifier, true); + } + } + + @Override + public void setPersistedProperties(PersistedProperties persistedProperties) { + this.moduleConfigProperties = persistedProperties; + } + + @Override + protected void initDefaultProperties() { + publishWebsite = getBooleanConfigParameter(CONF_KEY_PUBLISH_WEBSITE, false); + websiteDescription = getStringConfigParameter(CONF_KEY_WEBSITE_DESCRIPTION, "", true); + notifyReleases = getBooleanConfigParameter(CONF_KEY_NOTIFY_RELEASES, false); + email = getStringConfigParameter(CONF_KEY_EMAIL, "", false); + location = getStringConfigParameter(CONF_KEY_LOCATION, "", false); + locationCoordinates = getStringConfigParameter(CONF_KEY_LOCATION_COORDS, "", false); + } + + @Override + protected void initFromChangedProperties() { + init(); + } + + public String getSecretKey() { + return secretKey; + } + + public void setSecretKey(String secretKey) { + setStringProperty(CONF_SECRETKEY, secretKey, true); + } + + public String getInstanceIdentifier() { + return instanceIdentifier; + } + + public boolean isPublishWebsite() { + return publishWebsite; + } + + public void setPublishWebsite(boolean publishWebsite) { + setBooleanProperty(CONF_KEY_PUBLISH_WEBSITE, publishWebsite, true); + } + + public String getWebsiteDescription() { + return websiteDescription; + } + + public void setWebsiteDescription(String websiteDescription) { + setStringProperty(CONF_KEY_WEBSITE_DESCRIPTION, websiteDescription, true); + } + + public boolean isNotifyReleases() { + return notifyReleases; + } + + public void setNotifyReleases(boolean notifyReleases) { + setBooleanProperty(CONF_KEY_NOTIFY_RELEASES, notifyReleases, true); + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + setStringProperty(CONF_KEY_EMAIL, email, true); + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + setStringProperty(CONF_KEY_LOCATION, location, true); + } + + public String getLocationCoordinates() { + return locationCoordinates; + } + + public void setLocationCoordinates(String locationCoordinates) { + setStringProperty(CONF_KEY_LOCATION_COORDS, locationCoordinates, true); + } + + + + + + + + + + +} diff --git a/src/main/java/org/olat/admin/registration/_content/registration.html b/src/main/java/org/olat/admin/registration/_content/registration.html index 1caa494e4bff37dd36e37dd75eb6df25336c283c..614b09a962db8550ef6d7230b91a8e4f094fc7a7 100644 --- a/src/main/java/org/olat/admin/registration/_content/registration.html +++ b/src/main/java/org/olat/admin/registration/_content/registration.html @@ -13,7 +13,7 @@ #end <div class="b_info"> - <a href='http://www.olat.org' target='_blank' class="b_float_right" style="margin: 10px;"> + <a href='http://www.openolat.org' target='_blank' class="b_float_right" style="margin: 10px;"> <img src="$r.staticLink("images/olat/olat_logo2_72.png")" border="0" /> </a> <p> @@ -26,38 +26,36 @@ $r.translate("registration.website") </p> <p> - $r.translate("registration.thanks", "<a href='http://www.olat.org' class='b_link_extern' target='_blank'>www.olat.org</a>") + $r.translate("registration.thanks", "<a href='http://www.openolat.org' class='b_link_extern' target='_blank'>www.openolat.org</a>") </p> </div> <div class="b_form b_clearfix"> <fieldset><legend>$r.translate("registration.title")</legend> - - <div class="b_form_element_wrapper b_form_element_switch b_clearfix"> - <div class="b_form_element">$r.render("registration.publishWebSiteSelection")</div> + <div class="b_form_element">$r.render("registration.publishWebSiteSelection")</div> <div class="b_form_element_label">$r.translate("registration.publishWebSiteSelection", "$webSiteURL")</div> </div> #if ($f.isVisible("registration.webSiteDescription")) - <div class="b_form_subform"> - $r.translate("registration.webSiteDescription", "$webSiteURL") - $r.render("registration.webSiteDescription") - $r.translate("registration.location") - $r.render("registration.location") - $r.render("registration.location_EXAMPLE") - </div> + <div class="b_form_subform"> + $r.translate("registration.webSiteDescription", "$webSiteURL") + $r.render("registration.webSiteDescription") + $r.translate("registration.location") + $r.render("registration.location") + $r.render("registration.location_EXAMPLE") + </div> #end <div class="b_form_element_wrapper b_form_element_switch b_clearfix"> - <div class="b_form_element">$r.render("registration.addToAnnounceListSelection")</div> + <div class="b_form_element">$r.render("registration.addToAnnounceListSelection")</div> <div class="b_form_element_label">$r.translate("registration.addToAnnounceListSelection")</div> </div> #if ($f.isVisible("registration.email")) <div class="b_form_subform"> <div class="b_form_element_wrapper b_form_element_switch b_clearfix #if($f.hasError("registration.email")) b_form_error #end "> - <div class="b_form_element">$r.render("registration.email")</div> + <div class="b_form_element">$r.render("registration.email")</div> <div class="b_form_element_label">$r.render("registration.email_LABEL")</div> - #if($f.hasError("registration.email")) + #if($f.hasError("registration.email")) $r.render("registration.email_ERROR") #end </div> @@ -70,12 +68,23 @@ </div> </div> </fieldset> - - <div style="width: 99%"> ## FF fieldset fix - <p> - $r.translate("registration.summary") - </p> - <div class="b_form_element">$r.render("registration.summary")</div> - </div> </div> -<p /> \ No newline at end of file + +<div class="b_form b_clearfix"> + <fieldset><legend>$r.translate("registration.summary")</legend> + <table class="b_table b_grid"> + <thead> + <tr> + <th>key</th> + <th>value</th> + </tr> + </thead> + #foreach($property in $properties) + <tr> + <td>$property.key</td> + <td>$property.value</td> + </tr> + #end + </table> + </fieldset> +</div> \ No newline at end of file diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_ar.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_ar.properties index 027ad526f290002ece6d5d7a3076e28acc3dc8df..db7b51af95b2a1b73e6f09e7b10829ab08bfce4b 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_ar.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_ar.properties @@ -4,15 +4,15 @@ registration.email=\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0628\u0631\u064A registration.email.error=\u064A\u0631\u062C\u0649 \u062A\u062D\u062F\u064A\u062F \u0639\u0646\u0648\u0627\u0646 \u0628\u0631\u064A\u062F \u0627\u0644\u0643\u062A\u0631\u0648\u0646\u0649 \u0635\u062D\u064A\u062D. registration.location=\u0645\u0643\u0627\u0646 \u0627\u0644\u062A\u0633\u062C\u064A\u0644 registration.location.example=e.g. Sunset Boulevard, Los Angeles -registration.publishWebSiteSelection=olat.org \u0646\u0634\u0631 \u0627\u0644\u062A\u062B\u0628\u064A\u062A {0} \u0641\u0649 -registration.sendAnonymousStatisticSelection=olat.org \u062A\u062D\u0648\u064A\u0644 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0625\u062D\u0635\u0627\u0626\u064A\u0629 \u0627\u0644\u0645\u062C\u0647\u0648\u0644\u0629 \u0645\u0646 +registration.publishWebSiteSelection=openolat.org \u0646\u0634\u0631 \u0627\u0644\u062A\u062B\u0628\u064A\u062A {0} \u0641\u0649 +registration.sendAnonymousStatisticSelection=openolat.org \u062A\u062D\u0648\u064A\u0644 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0625\u062D\u0635\u0627\u0626\u064A\u0629 \u0627\u0644\u0645\u062C\u0647\u0648\u0644\u0629 \u0645\u0646 registration.statistics=\u0623\u0648\u0644\u0627\u062A \u0647\u0648 \u0645\u0635\u062F\u0631 \u062A\u0639\u0644\u064A\u0645 \u0645\u0641\u062A\u0648\u062D \u0648\u064A\u062D\u062A\u0627\u062C \u062A\u0646\u0634\u064A\u0637 \u0644\u0645\u062C\u062A\u0645\u0639 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645\u060C \u0648\u064A\u0645\u0643\u0646\u0643 \u0623\u0646 \u062A\u0646\u0636\u0645 \u0625\u0644\u0649 \u0623\u0648\u0644\u0627\u062A \u0648\u062A\u0642\u0648\u0645 \u0628\u062A\u0633\u062C\u064A\u0644 \u062A\u062B\u0628\u064A\u062A \u0623\u0648\u0644\u0627\u062A \u0627\u0644\u062E\u0627\u0635 \u0628\u0643 \u0639\u0644\u0649 \u0645\u0648\u0642\u0639 \u0623\u0648\u0644\u0627\u062A\u060C \u0644\u0646\u0642\u0644 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0627\u0644\u0625\u062D\u0635\u0627\u0626\u064A\u0629 \u0627\u0644\u0645\u062C\u0647\u0648\u0644\u0629 (\u0645\u062B\u0644 \u0639\u062F\u062F \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645\u064A\u0646\u060C \u0627\u0644\u0645\u0642\u0631\u0631\u0627\u062A\u060C \u0627\u0644\u062E) -registration.summary=\:olat.org \u0633\u064A\u062A\u0645 \u0646\u0642\u0644 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u062A\u0627\u0644\u064A\u0629 \u0625\u0644\u0649 +registration.summary=\:openolat.org \u0633\u064A\u062A\u0645 \u0646\u0642\u0644 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u062A\u0627\u0644\u064A\u0629 \u0625\u0644\u0649 registration.sustainability=\u062A\u0633\u062C\u064A\u0644\u0643 \u0645\u0641\u064A\u062F \u0623\u064A\u0636\u0627\! \u0645\u0639 \u0643\u0644 \u0627\u0644\u0645\u0643\u0627\u0633\u0628 \u0645\u0646 \u062A\u062B\u0628\u064A\u062A \u0623\u0648\u0644\u0627\u062A \u0648\u0627\u0633\u062A\u062B\u0645\u0627\u0631 \u0645\u0634\u0627\u0631\u0643\u0627\u062A\u0643 \u0628\u0635\u0648\u0631\u0629 \u062F\u0627\u0626\u0645\u0629. registration.thanks=.{0} \u0634\u0643\u0631\u0627\u064B \u0644\u0645\u0633\u0627\u0639\u062F\u062A\u0643\! \u0644\u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u064A\u0631\u062C\u0649 \u0627\u0644\u0630\u0647\u0627\u0628 \u0625\u0644\u0649 registration.title=\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u0646\u0638\u0627\u0645 registration.title.notregistered=\u064A\u0631\u062C\u0649 \u062A\u0633\u062C\u064A\u0644 \u062A\u062B\u0628\u064A\u062A \u0623\u0648\u0644\u0627\u062A \u0644\u0646\u0634\u0631 \u0645\u0632\u064A\u062F \u0645\u0646 \u0623\u0648\u0644\u0627\u062A\! -registration.title.partialregistered=\u061Folat.org \u0634\u0643\u0631\u0627\u064B \u0644\u0643 \u0639\u0644\u0649 \u062A\u0648\u0641\u064A\u0631 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0645\u062C\u0647\u0648\u0644\u0629\u060C \u0647\u0644 \u062A\u0631\u064A\u062F \u0627\u0644\u0645\u062A\u0627\u0628\u0639\u0629 \u0648\u0646\u0634\u0631 \u062A\u062B\u0628\u064A\u062A\u0643 \u0639\u0644\u0649 +registration.title.partialregistered=\u061Fopenolat.org \u0634\u0643\u0631\u0627\u064B \u0644\u0643 \u0639\u0644\u0649 \u062A\u0648\u0641\u064A\u0631 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0645\u062C\u0647\u0648\u0644\u0629\u060C \u0647\u0644 \u062A\u0631\u064A\u062F \u0627\u0644\u0645\u062A\u0627\u0628\u0639\u0629 \u0648\u0646\u0634\u0631 \u062A\u062B\u0628\u064A\u062A\u0643 \u0639\u0644\u0649 registration.title.registered=\!\u0634\u0643\u0631\u0627\u064B \u0644\u0643 \u0639\u0644\u0649 \u062A\u0633\u062C\u064A\u0644 \u0623\u0648\u0644\u0627\u062A registration.webSiteDescription={0} \u0648\u0635\u0641 registration.website=\u064A\u0645\u0643\u0646\u0643 \u062A\u0642\u062F\u064A\u0645 \u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0645\u0633\u0627\u0639\u062F\u0629 \u0645\u0646 \u062E\u0644\u0627\u0644 \u0627\u0644\u0633\u0645\u0627\u062D \u0644\u0646\u0627 \u0628\u0646\u0634\u0631 \u0631\u0627\u0628\u0637 \u0627\u0644\u062A\u062B\u0628\u064A\u062A \u0627\u0644\u062E\u0627\u0635 \u0628\u0643 \u0641\u0649 \u0645\u0648\u0642\u0639 \u0623\u0648\u0644\u0627\u062A\! diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_de.properties index e0702db1ea6f543831f32d2c9bd0dcf41bf36da3..50bcb3f3102191c8f610295337588672e356a8f7 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_de.properties @@ -4,15 +4,15 @@ registration.email=E-Mail-Adresse registration.email.error=Bitte geben Sie eine g\u00FCltige E-Mail-Adresse an. registration.location=Standort der Instanz registration.location.example=z.B. Winterthurerstrasse 190, Z\u00FCrich -registration.publishWebSiteSelection=Installation {0} auf olat.org ver\u00F6ffentlichen -registration.sendAnonymousStatisticSelection=Statistische Daten anonym an olat.org \u00FCbertragen (empfohlen) -registration.statistics=OLAT ist Open-Source und braucht eine aktive Anwendercommunity. Sie k\u00F6nnen Ihren Beitrag dazu leisten, indem Sie Ihre OLAT-Installation auf dem Server olat.org registrieren und uns anonym einige statistische Informationen \u00FCber die Anzahl der Benutzer, Kurse etc. \u00FCbermitteln. Diese Daten werden nicht mit Ihrer Installation in Verbindung gebracht, sondern dienen lediglich dazu, die Verwendung von OLAT besser zu dokumentieren. -registration.summary=Folgende Daten werden an olat.org \u00FCbertragen\: -registration.sustainability=Nicht zuletzt ist eine Registration in Ihrem Sinne, denn jede bekannte Installation erh\u00F6ht die Bedeutung von OLAT und ist somit ein Beitrag zur Nachhaltigkeit Ihrer Investitionen. +registration.publishWebSiteSelection=Installation {0} auf openolat.org ver\u00F6ffentlichen +registration.sendAnonymousStatisticSelection=Statistische Daten anonym an openolat.org \u00FCbertragen (empfohlen) +registration.statistics=OpenOLAT ist Open-Source und braucht eine aktive Anwendercommunity. Sie k\u00F6nnen Ihren Beitrag dazu leisten, indem Sie Ihre OpenOLAT-Installation auf dem Server openolat.org registrieren und uns anonym einige statistische Informationen \u00FCber die Anzahl der Benutzer, Kurse etc. \u00FCbermitteln. Diese Daten werden nicht mit Ihrer Installation in Verbindung gebracht, sondern dienen lediglich dazu, die Verwendung von OpenOLAT besser zu dokumentieren. +registration.summary=Folgende Daten werden an openolat.org \u00FCbertragen\: +registration.sustainability=Nicht zuletzt ist eine Registration in Ihrem Sinne, denn jede bekannte Installation erh\u00F6ht die Bedeutung von OpenOLAT und ist somit ein Beitrag zur Nachhaltigkeit Ihrer Investitionen. registration.thanks=Vielen Dank f\u00FCr Ihre Unterst\u00FCtzung\! Weitere Informationen finden Sie unter {0}. registration.title=Systemregistration -registration.title.notregistered=Bitte registrieren Sie Ihre OLAT-Installation und helfen Sie uns, OLAT weiter zu verbreiten\! -registration.title.partialregistered=Vielen Dank, dass Sie Ihre Daten anonym zur Verf\u00FCgung stellen. <br> Wollen Sie Ihre Installation auf olat.org ver\u00F6ffentlichen? -registration.title.registered=Vielen Dank, dass Sie OLAT registriert haben\! +registration.title.notregistered=Bitte registrieren Sie Ihre OpenOLAT-Installation und helfen Sie uns, OpenOLAT weiter zu verbreiten\! +registration.title.partialregistered=Vielen Dank, dass Sie Ihre Daten anonym zur Verf\u00FCgung stellen. <br> Wollen Sie Ihre Installation auf openolat.org ver\u00F6ffentlichen? +registration.title.registered=Vielen Dank, dass Sie OpenOLAT registriert haben\! registration.webSiteDescription=Beschreibung zu {0} -registration.website=Weiter k\u00F6nnen Sie uns die Erlaubnis geben, die URL Ihrer OLAT-Installation auf olat.org zu publizieren. Helfen Sie mit zu zeigen, wo OLAT im Einsatz ist\! +registration.website=Weiter k\u00F6nnen Sie uns die Erlaubnis geben, die URL Ihrer OpenOLAT-Installation auf openolat.org zu publizieren. Helfen Sie mit zu zeigen, wo OpenOLAT im Einsatz ist\! diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_el.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_el.properties index c0d19d7de9eb42b66aa047ff8d1e1b2ecb1e3b41..77cf3a137596527741265adc8e3c24afaab6feb0 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_el.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_el.properties @@ -4,15 +4,15 @@ registration.email=E-mail \u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 registration.email.error=\u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03B5\u03B9\u03C3\u03AC\u03B3\u03B5\u03C4\u03B5 \u03BC\u03B9\u03B1 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email. registration.location=\u03A4\u03CC\u03C0\u03BF\u03C2 \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\u03C2 registration.location.example=\u03C0.\u03C7. Sunset Boulevard, Los Angeles -registration.publishWebSiteSelection=\u0394\u03B7\u03BC\u03BF\u03C3\u03AF\u03B5\u03C5\u03C3\u03B7 \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\u03C2 {0} \u03C3\u03C4\u03BF olat.org -registration.sendAnonymousStatisticSelection=\u039C\u03B5\u03C4\u03B1\u03C6\u03BF\u03C1\u03AC \u03C3\u03C4\u03B1\u03C4\u03B9\u03C3\u03C4\u03B9\u03BA\u03CE\u03BD \u03B4\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03C9\u03BD \u03B1\u03BD\u03CE\u03BD\u03C5\u03BC\u03B1 \u03C3\u03C4\u03BF olat.org (\u03C0\u03C1\u03BF\u03C4\u03B5\u03AF\u03BD\u03B5\u03C4\u03B1\u03B9) -registration.statistics=\u03A4\u03BF OLAT \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BB\u03BF\u03B3\u03B9\u03C3\u03BC\u03B9\u03BA\u03CC \u03B1\u03BD\u03BF\u03B9\u03BA\u03C4\u03BF\u03CD \u03BA\u03CE\u03B4\u03B9\u03BA\u03B1 \u03BA\u03B1\u03B9 \u03C7\u03C1\u03B5\u03B9\u03AC\u03B6\u03B5\u03C4\u03B1\u03B9 \u03BC\u03B9\u03B1 \u03B5\u03BD\u03B5\u03C1\u03B3\u03AE \u03BA\u03BF\u03B9\u03BD\u03CC\u03C4\u03B7\u03C4\u03B1 \u03C7\u03C1\u03B7\u03C3\u03C4\u03CE\u03BD. \u039C\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03B5\u03AF\u03C4\u03B5 \u03BA\u03B1\u03B9 \u03BD\u03B1 \u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03C4\u03B5 \u03C4\u03B7\u03BD \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7 \u03C3\u03B1\u03C2 \u03C3\u03C4\u03BF olat.org \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03BC\u03B5\u03C4\u03B1\u03C6\u03AD\u03C1\u03B5\u03C4\u03B5 \u03B1\u03BD\u03CE\u03BD\u03C5\u03BC\u03B5\u03C2 \u03C3\u03C4\u03B1\u03C4\u03B9\u03C3\u03C4\u03B9\u03BA\u03AD\u03C2 \u03C0\u03BB\u03B7\u03C1\u03BF\u03C6\u03BF\u03C1\u03AF\u03B5\u03C2 (\u03CC\u03C0\u03C9\u03C2 \u03BF \u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 \u03C7\u03C1\u03B7\u03C3\u03C4\u03CE\u03BD, \u03C3\u03B5\u03B9\u03C1\u03CE\u03BD \u03BC\u03B1\u03B8\u03B7\u03BC\u03AC\u03C4\u03C9\u03BD, \u03BA\u03BB\u03C0.). \u0391\u03C5\u03C4\u03AC \u03C4\u03B1 \u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1 \u03B4\u03B5\u03BD \u03B1\u03C6\u03BF\u03C1\u03BF\u03CD\u03BD \u03C4\u03B7\u03BD \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03AE \u03C3\u03B1\u03C2. \u0398\u03B1 \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03B5\u03CD\u03C3\u03BF\u03C5\u03BD \u03BC\u03CC\u03BD\u03BF \u03C3\u03C4\u03BF \u03BD\u03B1 \u03C4\u03B5\u03BA\u03BC\u03B7\u03C1\u03B9\u03CE\u03C3\u03BF\u03C5\u03BD \u03BA\u03B1\u03BB\u03CD\u03C4\u03B5\u03C1\u03B1 \u03C4\u03B7 \u03C7\u03C1\u03AE\u03C3\u03B7 \u03C4\u03BF\u03C5 OLAT. -registration.summary=\u03A4\u03B1 \u03C0\u03B1\u03C1\u03B1\u03BA\u03AC\u03C4\u03C9 \u03B4\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03B1 \u03B8\u03B1 \u03BC\u03B5\u03C4\u03B1\u03C6\u03B5\u03C1\u03B8\u03BF\u03CD\u03BD \u03C3\u03C4\u03BF olat.org -registration.sustainability=\u0397 \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AE \u03C3\u03B1\u03C2 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B5\u03C0\u03AF\u03C3\u03B7\u03C2 \u03C3\u03C5\u03BC\u03C6\u03AD\u03C1\u03BF\u03C5\u03C3\u03B1\! \u039C\u03B5 \u03BA\u03AC\u03B8\u03B5 \u03B4\u03B7\u03BB\u03C9\u03BC\u03AD\u03BD\u03B7 \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7, \u03C4\u03BF OLAT \u03BA\u03B5\u03C1\u03B4\u03AF\u03B6\u03B5\u03B9 \u03C3\u03B5 \u03C3\u03C0\u03BF\u03C5\u03B4\u03B1\u03B9\u03CC\u03C4\u03B7\u03C4\u03B1 \u03BA\u03B1\u03B9 \u03C3\u03C5\u03BC\u03B2\u03AC\u03BB\u03BB\u03B5\u03B9 \u03C3\u03C4\u03B7\u03BD \u03C5\u03C0\u03BF\u03C3\u03C4\u03AE\u03C1\u03B9\u03BE\u03B7 \u03C4\u03B7\u03C2 \u03B5\u03C0\u03AD\u03BD\u03B4\u03C5\u03C3\u03AE\u03C2 \u03C3\u03B1\u03C2. +registration.publishWebSiteSelection=\u0394\u03B7\u03BC\u03BF\u03C3\u03AF\u03B5\u03C5\u03C3\u03B7 \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\u03C2 {0} \u03C3\u03C4\u03BF openolat.org +registration.sendAnonymousStatisticSelection=\u039C\u03B5\u03C4\u03B1\u03C6\u03BF\u03C1\u03AC \u03C3\u03C4\u03B1\u03C4\u03B9\u03C3\u03C4\u03B9\u03BA\u03CE\u03BD \u03B4\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03C9\u03BD \u03B1\u03BD\u03CE\u03BD\u03C5\u03BC\u03B1 \u03C3\u03C4\u03BF openolat.org (\u03C0\u03C1\u03BF\u03C4\u03B5\u03AF\u03BD\u03B5\u03C4\u03B1\u03B9) +registration.statistics=\u03A4\u03BF OpenOLAT \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BB\u03BF\u03B3\u03B9\u03C3\u03BC\u03B9\u03BA\u03CC \u03B1\u03BD\u03BF\u03B9\u03BA\u03C4\u03BF\u03CD \u03BA\u03CE\u03B4\u03B9\u03BA\u03B1 \u03BA\u03B1\u03B9 \u03C7\u03C1\u03B5\u03B9\u03AC\u03B6\u03B5\u03C4\u03B1\u03B9 \u03BC\u03B9\u03B1 \u03B5\u03BD\u03B5\u03C1\u03B3\u03AE \u03BA\u03BF\u03B9\u03BD\u03CC\u03C4\u03B7\u03C4\u03B1 \u03C7\u03C1\u03B7\u03C3\u03C4\u03CE\u03BD. \u039C\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03B5\u03AF\u03C4\u03B5 \u03BA\u03B1\u03B9 \u03BD\u03B1 \u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03C4\u03B5 \u03C4\u03B7\u03BD \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7 \u03C3\u03B1\u03C2 \u03C3\u03C4\u03BF openolat.org \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03BC\u03B5\u03C4\u03B1\u03C6\u03AD\u03C1\u03B5\u03C4\u03B5 \u03B1\u03BD\u03CE\u03BD\u03C5\u03BC\u03B5\u03C2 \u03C3\u03C4\u03B1\u03C4\u03B9\u03C3\u03C4\u03B9\u03BA\u03AD\u03C2 \u03C0\u03BB\u03B7\u03C1\u03BF\u03C6\u03BF\u03C1\u03AF\u03B5\u03C2 (\u03CC\u03C0\u03C9\u03C2 \u03BF \u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 \u03C7\u03C1\u03B7\u03C3\u03C4\u03CE\u03BD, \u03C3\u03B5\u03B9\u03C1\u03CE\u03BD \u03BC\u03B1\u03B8\u03B7\u03BC\u03AC\u03C4\u03C9\u03BD, \u03BA\u03BB\u03C0.). \u0391\u03C5\u03C4\u03AC \u03C4\u03B1 \u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1 \u03B4\u03B5\u03BD \u03B1\u03C6\u03BF\u03C1\u03BF\u03CD\u03BD \u03C4\u03B7\u03BD \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03AE \u03C3\u03B1\u03C2. \u0398\u03B1 \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03B5\u03CD\u03C3\u03BF\u03C5\u03BD \u03BC\u03CC\u03BD\u03BF \u03C3\u03C4\u03BF \u03BD\u03B1 \u03C4\u03B5\u03BA\u03BC\u03B7\u03C1\u03B9\u03CE\u03C3\u03BF\u03C5\u03BD \u03BA\u03B1\u03BB\u03CD\u03C4\u03B5\u03C1\u03B1 \u03C4\u03B7 \u03C7\u03C1\u03AE\u03C3\u03B7 \u03C4\u03BF\u03C5 OpenOLAT. +registration.summary=\u03A4\u03B1 \u03C0\u03B1\u03C1\u03B1\u03BA\u03AC\u03C4\u03C9 \u03B4\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03B1 \u03B8\u03B1 \u03BC\u03B5\u03C4\u03B1\u03C6\u03B5\u03C1\u03B8\u03BF\u03CD\u03BD \u03C3\u03C4\u03BF openolat.org +registration.sustainability=\u0397 \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AE \u03C3\u03B1\u03C2 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B5\u03C0\u03AF\u03C3\u03B7\u03C2 \u03C3\u03C5\u03BC\u03C6\u03AD\u03C1\u03BF\u03C5\u03C3\u03B1\! \u039C\u03B5 \u03BA\u03AC\u03B8\u03B5 \u03B4\u03B7\u03BB\u03C9\u03BC\u03AD\u03BD\u03B7 \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7, \u03C4\u03BF OpenOLAT \u03BA\u03B5\u03C1\u03B4\u03AF\u03B6\u03B5\u03B9 \u03C3\u03B5 \u03C3\u03C0\u03BF\u03C5\u03B4\u03B1\u03B9\u03CC\u03C4\u03B7\u03C4\u03B1 \u03BA\u03B1\u03B9 \u03C3\u03C5\u03BC\u03B2\u03AC\u03BB\u03BB\u03B5\u03B9 \u03C3\u03C4\u03B7\u03BD \u03C5\u03C0\u03BF\u03C3\u03C4\u03AE\u03C1\u03B9\u03BE\u03B7 \u03C4\u03B7\u03C2 \u03B5\u03C0\u03AD\u03BD\u03B4\u03C5\u03C3\u03AE\u03C2 \u03C3\u03B1\u03C2. registration.thanks=\u0395\u03C5\u03C7\u03B1\u03C1\u03B9\u03C3\u03C4\u03BF\u03CD\u03BC\u03B5 \u03B3\u03B9\u03B1 \u03C4\u03B7 \u03C3\u03C4\u03AE\u03C1\u03B9\u03BE\u03AE \u03C3\u03B1\u03C2\! \u03A0\u03B5\u03C1\u03B9\u03C3\u03C3\u03CC\u03C4\u03B5\u03C1\u03B5\u03C2 \u03C0\u03BB\u03B7\u03C1\u03BF\u03C6\u03BF\u03C1\u03AF\u03B5\u03C2 \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B2\u03C1\u03B5\u03AF\u03C4\u03B5 \u03C3\u03C4\u03BF {0}. registration.title=\u039A\u03B1\u03C4\u03B1\u03C7\u03CE\u03C1\u03B7\u03C3\u03B7 \u03C3\u03C5\u03C3\u03C4\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2 -registration.title.notregistered=\u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03C4\u03B5 \u03C4\u03B7\u03BD \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7 \u03C4\u03BF\u03C5 OLAT \u03B3\u03B9\u03B1 \u03C4\u03B7\u03BD \u03C0\u03B5\u03C1\u03B1\u03B9\u03C4\u03AD\u03C1\u03C9 \u03C0\u03C1\u03BF\u03CE\u03B8\u03B7\u03C3\u03B7 \u03C4\u03B7\u03BD \u03B5\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE\u03C2\! -registration.title.partialregistered=\u0395\u03C5\u03C7\u03B1\u03C1\u03B9\u03C3\u03C4\u03BF\u03CD\u03BC\u03B5 \u03B3\u03B9\u03B1 \u03C4\u03B7\u03BD \u03C0\u03B1\u03C1\u03BF\u03C7\u03AE \u03B1\u03BD\u03CE\u03BD\u03C5\u03BC\u03C9\u03BD \u03B4\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03C9\u03BD. \u0398\u03AD\u03BB\u03B5\u03C4\u03B5 \u03BD\u03B1 \u03C0\u03C1\u03BF\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03C4\u03B5 \u03C3\u03C4\u03B7 \u03B4\u03B7\u03BC\u03BF\u03C3\u03AF\u03B5\u03C5\u03C3\u03B7 \u03C4\u03B7\u03C2 \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03AE\u03C2 \u03C3\u03B1\u03C2 \u03C3\u03C4\u03BF olat.org ; -registration.title.registered=\u0395\u03C5\u03C7\u03B1\u03C1\u03B9\u03C3\u03C4\u03BF\u03CD\u03BC\u03B5 \u03C0\u03BF\u03C5 \u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B1\u03C4\u03B5 \u03C4\u03BF OLAT +registration.title.notregistered=\u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03C4\u03B5 \u03C4\u03B7\u03BD \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7 \u03C4\u03BF\u03C5 OpenOLAT \u03B3\u03B9\u03B1 \u03C4\u03B7\u03BD \u03C0\u03B5\u03C1\u03B1\u03B9\u03C4\u03AD\u03C1\u03C9 \u03C0\u03C1\u03BF\u03CE\u03B8\u03B7\u03C3\u03B7 \u03C4\u03B7\u03BD \u03B5\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE\u03C2\! +registration.title.partialregistered=\u0395\u03C5\u03C7\u03B1\u03C1\u03B9\u03C3\u03C4\u03BF\u03CD\u03BC\u03B5 \u03B3\u03B9\u03B1 \u03C4\u03B7\u03BD \u03C0\u03B1\u03C1\u03BF\u03C7\u03AE \u03B1\u03BD\u03CE\u03BD\u03C5\u03BC\u03C9\u03BD \u03B4\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03C9\u03BD. \u0398\u03AD\u03BB\u03B5\u03C4\u03B5 \u03BD\u03B1 \u03C0\u03C1\u03BF\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03C4\u03B5 \u03C3\u03C4\u03B7 \u03B4\u03B7\u03BC\u03BF\u03C3\u03AF\u03B5\u03C5\u03C3\u03B7 \u03C4\u03B7\u03C2 \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03AE\u03C2 \u03C3\u03B1\u03C2 \u03C3\u03C4\u03BF openolat.org ; +registration.title.registered=\u0395\u03C5\u03C7\u03B1\u03C1\u03B9\u03C3\u03C4\u03BF\u03CD\u03BC\u03B5 \u03C0\u03BF\u03C5 \u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B1\u03C4\u03B5 \u03C4\u03BF OpenOLAT registration.webSiteDescription=\u03A0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE \u03C4\u03BF\u03C5 {0} -registration.website=\u039C\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B2\u03BF\u03B7\u03B8\u03AE\u03C3\u03B5\u03C4\u03B5 \u03C0\u03B5\u03C1\u03B1\u03B9\u03C4\u03AD\u03C1\u03C9 \u03B4\u03AF\u03BD\u03BF\u03BD\u03C4\u03AC\u03C2 \u03BC\u03B1\u03C2 \u03C4\u03B7\u03BD \u03AC\u03B4\u03B5\u03B9\u03B1 \u03BD\u03B1 \u03B4\u03B7\u03BC\u03BF\u03C3\u03B9\u03B5\u03CD\u03C3\u03BF\u03C5\u03BC\u03B5 \u03C4\u03BF URL \u03C4\u03B7\u03C2 \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\u03C2 \u03C3\u03B1\u03C2 \u03C3\u03C4\u03BF olat.org. \u03A5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03BE\u03C4\u03B5 \u03BC\u03B1\u03C2 \u03B5\u03C0\u03B9\u03B4\u03B5\u03B9\u03BA\u03BD\u03CD\u03BF\u03BD\u03C4\u03B1\u03C2 \u03C4\u03BF \u03AD\u03C5\u03C1\u03BF\u03C2 \u03B5\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE\u03C2 \u03C4\u03BF\u03C5 OLAT \! +registration.website=\u039C\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B2\u03BF\u03B7\u03B8\u03AE\u03C3\u03B5\u03C4\u03B5 \u03C0\u03B5\u03C1\u03B1\u03B9\u03C4\u03AD\u03C1\u03C9 \u03B4\u03AF\u03BD\u03BF\u03BD\u03C4\u03AC\u03C2 \u03BC\u03B1\u03C2 \u03C4\u03B7\u03BD \u03AC\u03B4\u03B5\u03B9\u03B1 \u03BD\u03B1 \u03B4\u03B7\u03BC\u03BF\u03C3\u03B9\u03B5\u03CD\u03C3\u03BF\u03C5\u03BC\u03B5 \u03C4\u03BF URL \u03C4\u03B7\u03C2 \u03B5\u03B3\u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\u03C2 \u03C3\u03B1\u03C2 \u03C3\u03C4\u03BF openolat.org. \u03A5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03BE\u03C4\u03B5 \u03BC\u03B1\u03C2 \u03B5\u03C0\u03B9\u03B4\u03B5\u03B9\u03BA\u03BD\u03CD\u03BF\u03BD\u03C4\u03B1\u03C2 \u03C4\u03BF \u03AD\u03C5\u03C1\u03BF\u03C2 \u03B5\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE\u03C2 \u03C4\u03BF\u03C5 OpenOLAT \! diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_en.properties index b1bac862c35810c7793ae67e520690f1c1a7b021..45333ae954b65b910f78fb2be5cbf250ea1b990a 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_en.properties @@ -4,15 +4,15 @@ registration.email=E-mail address registration.email.error=Please indicate a valid e-mail address. registration.location=Location of registration registration.location.example=e.g. Sunset Boulevard, Los Angeles -registration.publishWebSiteSelection=Publish installation {0} at olat.org -registration.sendAnonymousStatisticSelection=Transfer statistical data to olat.org anonymously (recommended) -registration.statistics=OLAT is open source and needs an active user community. You can join and register your OLAT installation at olat.org to transfer statistical information anonymously (such as number of users, courses, etc.). These data will not be related to your installation. They will only serve to better document OLAT's use. -registration.summary=The following data will be transferred to olat.org\: -registration.sustainability=Your registration is also advantageous\! With each communicated installation OLAT gains in importance and makes a contribution to your investment's sustainability. +registration.publishWebSiteSelection=Publish installation {0} at openolat.org +registration.sendAnonymousStatisticSelection=Transfer statistical data to openolat.org anonymously (recommended) +registration.statistics=OpenOLAT is open source and needs an active user community. You can join and register your OpenOLAT installation at openolat.org to transfer statistical information anonymously (such as number of users, courses, etc.). These data will not be related to your installation. They will only serve to better document OpenOLAT's use. +registration.summary=The following data will be transferred to openolat.org\: +registration.sustainability=Your registration is also advantageous\! With each communicated installation OpenOLAT gains in importance and makes a contribution to your investment's sustainability. registration.thanks=Thank you for your support\! For further information please go to {0}. registration.title=System registration -registration.title.notregistered=Please register your OLAT installation to promote OLAT further\! -registration.title.partialregistered=Thank you for providing anonymous data. Do you want to proceed and publish your installation at olat.org? -registration.title.registered=Thanks for registering OLAT\! +registration.title.notregistered=Please register your OpenOLAT installation to promote OpenOLAT further\! +registration.title.partialregistered=Thank you for providing anonymous data. Do you want to proceed and publish your installation at openolat.org? +registration.title.registered=Thanks for registering OpenOLAT\! registration.webSiteDescription=Description of {0} -registration.website=You can be of further help by allowing us to publish the URL of your OLAT installation at olat.org. Support us by illustrating OLAT's range of application\! +registration.website=You can be of further help by allowing us to publish the URL of your OpenOLAT installation at openolat.org. Support us by illustrating OpenOLAT's range of application\! diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_es.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_es.properties index b7b23137ff78a5543a09f12cb8f2eedfefb394d5..494093e6eb9d8d9c504948841e92764eb89fd02b 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_es.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_es.properties @@ -2,15 +2,15 @@ registration.addToAnnounceListSelection=Obtenga informaci\u00F3n sobre nuevas versiones y actualizaciones seguras. registration.email=Direcci\u00F3n de correo electr\u00F3nico registration.email.error=Por favor indique un direcci\u00F3n de correo electr\u00F3nico v\u00E1lida. -registration.publishWebSiteSelection=Publicar la instalaci\u00F3n {0} en olat.org -registration.sendAnonymousStatisticSelection=Transferir datos estad\u00EDsticos a olat.org de forma an\u00F3nima (recomendado) -registration.statistics=OLAT es una plataforma de c\u00F3digo abierto y necesita una comunidad de usuarios activa. Usted puede unirse y registrar su instalaci\u00F3n de OLAT en olat.org para transferir informaci\u00F3n de forma an\u00F3nima (tal como el n\u00FAmero de usuarios, cursos, etc.). Estos datos no estar\u00E1n relacionados con su instalaci\u00F3n. Esto solamente servir\u00E1 como un mejor documento para el uso de OLAT. -registration.summary=Los siguientes datos ser\u00E1n transferidos a olat.org -registration.sustainability=\u00A1Su registro tambi\u00E9n conlleva ventajas\! Con cada instalaci\u00F3n de OLAT que comunique ganar\u00E1 importancia y contribuir\u00E1 a la sostenibilidad de su inversi\u00F3n. +registration.publishWebSiteSelection=Publicar la instalaci\u00F3n {0} en openolat.org +registration.sendAnonymousStatisticSelection=Transferir datos estad\u00EDsticos a openolat.org de forma an\u00F3nima (recomendado) +registration.statistics=OpenOLAT es una plataforma de c\u00F3digo abierto y necesita una comunidad de usuarios activa. Usted puede unirse y registrar su instalaci\u00F3n de OpenOLAT en openolat.org para transferir informaci\u00F3n de forma an\u00F3nima (tal como el n\u00FAmero de usuarios, cursos, etc.). Estos datos no estar\u00E1n relacionados con su instalaci\u00F3n. Esto solamente servir\u00E1 como un mejor documento para el uso de OpenOLAT. +registration.summary=Los siguientes datos ser\u00E1n transferidos a openolat.org +registration.sustainability=\u00A1Su registro tambi\u00E9n conlleva ventajas\! Con cada instalaci\u00F3n de OpenOLAT que comunique ganar\u00E1 importancia y contribuir\u00E1 a la sostenibilidad de su inversi\u00F3n. registration.thanks=\u00A1Muchas gracias por su apoyo\! Para informaci\u00F3n adicional por favor vaya a {0}. registration.title=Registro de sistema -registration.title.notregistered=\u00A1Por favor registre su instalaci\u00F3n de OLAT para as\u00ED poder promoverlo\! -registration.title.partialregistered=Muchas gracias por proveer datos an\u00F3nimos. \u00BFDesea proceder y publicar su instalaci\u00F3n en olat.org? -registration.title.registered=\u00A1Muchas gracias por registrar OLAT\! +registration.title.notregistered=\u00A1Por favor registre su instalaci\u00F3n de OpenOLAT para as\u00ED poder promoverlo\! +registration.title.partialregistered=Muchas gracias por proveer datos an\u00F3nimos. \u00BFDesea proceder y publicar su instalaci\u00F3n en openolat.org? +registration.title.registered=\u00A1Muchas gracias por registrar OpenOLAT\! registration.webSiteDescription=Descripci\u00F3n de {0} -registration.website=Podr\u00EDa obtener mayor soporte si nos permitiera publicar la direcci\u00F3n URL de su instalaci\u00F3n de OLAT en olat.org. \u00A1Ap\u00F3yenos ilustrando el nivel y alcance de aplicaci\u00F3n de OLAT\! +registration.website=Podr\u00EDa obtener mayor soporte si nos permitiera publicar la direcci\u00F3n URL de su instalaci\u00F3n de OpenOLAT en openolat.org. \u00A1Ap\u00F3yenos ilustrando el nivel y alcance de aplicaci\u00F3n de OpenOLAT\! diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_fr.properties index 16f426d6504169ef92b8838b34b84389b5a0b611..7157fc9b5274870a76f5a0616952321d3da6b308 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_fr.properties @@ -4,15 +4,15 @@ registration.email=Adresse e-mail registration.email.error=Veuillez indiquer une adresse email valable. registration.location=Lieu de l'enregistrement registration.location.example=p.ex. Avenue Saint Fran\u00E7ois 30, Lausanne -registration.publishWebSiteSelection=Publier l'installation {0} sur olat.org -registration.sendAnonymousStatisticSelection=Transmettre les dates statistiques sur olat.org de fa\u00E7on anonyme (recommand\u00E9) -registration.statistics=OLAT est open-source et a besoin d'une communaut\u00E9 d'utilisateurs active. Vous pouvez y ajouter votre contribution en enregistrant votre installation OLAT sur le serveur olat.org et en nous transmettant de fa\u00E7on anonyme certaines informations sur le nombre d'utilisateurs, de cours etc. Ces donn\u00E9es ne seront pas mis en relation avec votre installation, mais servent seulement \u00E0 documenter mieux l'utilisation d'OLAT. -registration.summary=Les donn\u00E9es suivantes seront transmis \u00E0 olat.org\: -registration.sustainability=En derni\u00E8re instance, une enregistrement est dans votre int\u00E9r\u00EAt, car chaque installation connue augmente la signification d'OLAT et consiste ainsi une contribution \u00E0 la durabilit\u00E9 des vos investissements. +registration.publishWebSiteSelection=Publier l'installation {0} sur openolat.org +registration.sendAnonymousStatisticSelection=Transmettre les dates statistiques sur openolat.org de fa\u00E7on anonyme (recommand\u00E9) +registration.statistics=OpenOLAT est open-source et a besoin d'une communaut\u00E9 d'utilisateurs active. Vous pouvez y ajouter votre contribution en enregistrant votre installation OpenOLAT sur le serveur openolat.org et en nous transmettant de fa\u00E7on anonyme certaines informations sur le nombre d'utilisateurs, de cours etc. Ces donn\u00E9es ne seront pas mis en relation avec votre installation, mais servent seulement \u00E0 documenter mieux l'utilisation d'OpenOLAT. +registration.summary=Les donn\u00E9es suivantes seront transmis \u00E0 openolat.org\: +registration.sustainability=En derni\u00E8re instance, une enregistrement est dans votre int\u00E9r\u00EAt, car chaque installation connue augmente la signification d'OpenOLAT et consiste ainsi une contribution \u00E0 la durabilit\u00E9 des vos investissements. registration.thanks=Merci beaucoup pour votre soutien\! Vous trouverez plus d'informations sous {0}. registration.title=Enregistrement syst\u00E8me -registration.title.notregistered=Veuillez enregistrer votre installation OLAT et aidez-nous \u00E0 am\u00E9liorer la distribution d'OLAT. -registration.title.partialregistered=Merci beaucoup de mettre vos donn\u00E9es \u00E0 disposition anonymement. Voulez-vous publier votre installation sur olat.org? -registration.title.registered=Merci beaucoup d'avoir enregistr\u00E9 OLAT\! +registration.title.notregistered=Veuillez enregistrer votre installation OpenOLAT et aidez-nous \u00E0 am\u00E9liorer la distribution d'OpenOLAT. +registration.title.partialregistered=Merci beaucoup de mettre vos donn\u00E9es \u00E0 disposition anonymement. Voulez-vous publier votre installation sur openolat.org? +registration.title.registered=Merci beaucoup d'avoir enregistr\u00E9 OpenOLAT\! registration.webSiteDescription=Description de {0} -registration.website=Vous pouvez en plus nous autoriser \u00E0 publier l'adresse URL de votre installation sur olat.org. Aidez-nous \u00E0 montrer o\u00F9 OLAT est utilis\u00E9\! +registration.website=Vous pouvez en plus nous autoriser \u00E0 publier l'adresse URL de votre installation sur openolat.org. Aidez-nous \u00E0 montrer o\u00F9 OpenOLAT est utilis\u00E9\! diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_it.properties index 6b221f7e4408276181b9dc8bf5eebf387986ec64..00a05aec3e6c48304ccb6548c9cc36a9d70ca25d 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_it.properties @@ -4,15 +4,15 @@ registration.email=Indirizzo e-mail registration.email.error=Indichi un indirizzo e-mail valido, p.f. registration.location=Luogo della registrazione registration.location.example=ad es. Via San Gottardo 1000, Lugano -registration.publishWebSiteSelection=<span class\="b_translation_i18nitem"><a class\="b_translation_i18nitem_launcher" style\="display\:none" href\="/translation/auth/3%3A2%3A1000052659%3A1%3A0%3Abundle%3Aorg.olat.admin.registration%3Akey%3Aregistration.publishWebSiteSelection%3Aid%3A1000054562/" title\="Traduca il frammento testuale 'org.olat.admin.registration\:registration.publishWebSiteSelection\:1000054562'"></a>Pubblichi l'installazione {0} su olat.org</span> -registration.sendAnonymousStatisticSelection=Trasmettere i dati statistici anonimamente a olat.org (raccomandato) -registration.statistics=OLAT \u00E8 open source e ha bisogno di una comunit\u00E0 di utenti attivi. Lei pu\u00F2 dare il Suo contributo registrando la Sua installazione OLAT sul server olat.org e inviandoci anonimamente alcune informazioni statistiche sul numero degli utenti, dei corsi ecc. Questi dati non verranno messi in relazione con la Sua installazione, ma serviranno soltanto a documentare meglio l'utilizzo di OLAT. -registration.summary=I dati seguenti vengono trasmessi a olat.org\: -registration.sustainability=Inoltre una registrazione \u00E8 vantaggiosa anche per Lei, poich\u00E9 ogni registrazione conosciuta aumenta la rilevanza di OLAT e contribuisce alla durabilit\u00E0 del Suo investimento. +registration.publishWebSiteSelection=<span class\="b_translation_i18nitem"><a class\="b_translation_i18nitem_launcher" style\="display\:none" href\="/translation/auth/3%3A2%3A1000052659%3A1%3A0%3Abundle%3Aorg.olat.admin.registration%3Akey%3Aregistration.publishWebSiteSelection%3Aid%3A1000054562/" title\="Traduca il frammento testuale 'org.olat.admin.registration\:registration.publishWebSiteSelection\:1000054562'"></a>Pubblichi l'installazione {0} su openolat.org</span> +registration.sendAnonymousStatisticSelection=Trasmettere i dati statistici anonimamente a openolat.org (raccomandato) +registration.statistics=OpenOLAT \u00E8 open source e ha bisogno di una comunit\u00E0 di utenti attivi. Lei pu\u00F2 dare il Suo contributo registrando la Sua installazione OpenOLAT sul server openolat.org e inviandoci anonimamente alcune informazioni statistiche sul numero degli utenti, dei corsi ecc. Questi dati non verranno messi in relazione con la Sua installazione, ma serviranno soltanto a documentare meglio l'utilizzo di OpenOLAT. +registration.summary=I dati seguenti vengono trasmessi a openolat.org\: +registration.sustainability=Inoltre una registrazione \u00E8 vantaggiosa anche per Lei, poich\u00E9 ogni registrazione conosciuta aumenta la rilevanza di OpenOLAT e contribuisce alla durabilit\u00E0 del Suo investimento. registration.thanks=La ringraziamo molto per il Suo sostegno. Trover\u00E0 maggiori informazioni sotto {0}. registration.title=Registrazione sistema -registration.title.notregistered=Registri per cortesia la Sua installazione OLAT e ci aiuti a migliorare la distribuzione di OLAT\! -registration.title.partialregistered=La ringraziamo di avere messo a disposizione i Suo dati anonimamente. Desidera pubblicare la Sua installazione su olat.org? -registration.title.registered=La ringraziamo molto di avere registrato OLAT\! +registration.title.notregistered=Registri per cortesia la Sua installazione OpenOLAT e ci aiuti a migliorare la distribuzione di OpenOLAT\! +registration.title.partialregistered=La ringraziamo di avere messo a disposizione i Suo dati anonimamente. Desidera pubblicare la Sua installazione su openolat.org? +registration.title.registered=La ringraziamo molto di avere registrato OpenOLAT\! registration.webSiteDescription=Descrizione di {0} -registration.website=Lei pu\u00F2 inoltre autorizzarci a pubblicare l'indirizzo URL della Sua installazione su olat.org. Ci aiuti a mostrare dove OLAT viene impiegato\! +registration.website=Lei pu\u00F2 inoltre autorizzarci a pubblicare l'indirizzo URL della Sua installazione su openolat.org. Ci aiuti a mostrare dove OpenOLAT viene impiegato\! diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_jp.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_jp.properties index cec4d0dbabbde06eff63f8ae2481b3cde7c919a8..425db221bcb403fba51455ca00c0ab437def8f92 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_jp.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_jp.properties @@ -4,15 +4,15 @@ registration.email=E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9 registration.email.error=\u6709\u52B9\u306A\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 registration.location=\u767B\u9332\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3 registration.location.example=\u4F8B) \u30B5\u30F3\u30BB\u30C3\u30C8\u5927\u901A\u308A\u3001\u30ED\u30B5\u30F3\u30B8\u30A7\u30EB\u30B9 -registration.publishWebSiteSelection=\u30A4\u30F3\u30B9\u30C8\u30EC\u30FC\u30B7\u30E7\u30F3 {0} \u3092olat.org\u3067\u516C\u958B\u3059\u308B +registration.publishWebSiteSelection=\u30A4\u30F3\u30B9\u30C8\u30EC\u30FC\u30B7\u30E7\u30F3 {0} \u3092openolat.org\u3067\u516C\u958B\u3059\u308B registration.sendAnonymousStatisticSelection=\u7D71\u8A08\u30C7\u30FC\u30BF\u3092olat.org\u306B\u533F\u540D\u9001\u4FE1\u3059\u308B (\u63A8\u5968) -registration.statistics=OLAT\u306F\u3001\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u3067\u3042\u308A\u3001\u6D3B\u767A\u306A\u30E6\u30FC\u30B6\u30B3\u30DF\u30E5\u30CB\u30C6\u30A3\u3092\u5FC5\u8981\u3068\u3057\u307E\u3059\u3002\u3042\u306A\u305F\u306EOLAT\u30A4\u30F3\u30B9\u30C8\u30EC\u30FC\u30B7\u30E7\u30F3\u3092olat.org\u306B\u767B\u9332\u3057\u3066\u3001\u7D71\u8A08\u60C5\u5831 (\u30E6\u30FC\u30B6\u6570\u3001\u30B3\u30FC\u30B9\u6570\u7B49) \u3092\u533F\u540D\u3067\u9001\u4FE1\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u3053\u308C\u3089\u306E\u30C7\u30FC\u30BF\u306F\u3001\u3042\u306A\u305F\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307FOLAT\u3068\u95A2\u9023\u4ED8\u3051\u3089\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u7D71\u8A08\u60C5\u5831\u306F\u3001OLAT\u306B\u95A2\u3059\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5411\u4E0A\u306E\u305F\u3081\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002 -registration.summary=\u4EE5\u4E0B\u306E\u30C7\u30FC\u30BF\u304Colat.org\u306B\u8EE2\u9001\u3055\u308C\u307E\u3059\u3002 -registration.sustainability=\u3042\u306A\u305F\u306E\u767B\u9332\u306B\u306F\u3001\u6709\u5229\u306A\u70B9\u3082\u3042\u308A\u307E\u3059\! \u305D\u308C\u305E\u308C\u306B\u901A\u4FE1\u3059\u308B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307FOLAT\u306F\u91CD\u8981\u6027\u3092\u5897\u3057\u3001\u3042\u306A\u305F\u306E\u6295\u8CC7\u306E\u6301\u7D9A\u53EF\u80FD\u6027\u306B\u8CA2\u732E\u3057\u307E\u3059\u3002 +registration.statistics=OpenOLAT\u306F\u3001\u30AA\u30FC\u30D7\u30F3\u30BD\u30FC\u30B9\u3067\u3042\u308A\u3001\u6D3B\u767A\u306A\u30E6\u30FC\u30B6\u30B3\u30DF\u30E5\u30CB\u30C6\u30A3\u3092\u5FC5\u8981\u3068\u3057\u307E\u3059\u3002\u3042\u306A\u305F\u306EOpenOLAT\u30A4\u30F3\u30B9\u30C8\u30EC\u30FC\u30B7\u30E7\u30F3\u3092openolat.org\u306B\u767B\u9332\u3057\u3066\u3001\u7D71\u8A08\u60C5\u5831 (\u30E6\u30FC\u30B6\u6570\u3001\u30B3\u30FC\u30B9\u6570\u7B49) \u3092\u533F\u540D\u3067\u9001\u4FE1\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u3053\u308C\u3089\u306E\u30C7\u30FC\u30BF\u306F\u3001\u3042\u306A\u305F\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307FOpenOLAT\u3068\u95A2\u9023\u4ED8\u3051\u3089\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u7D71\u8A08\u60C5\u5831\u306F\u3001OpenOLAT\u306B\u95A2\u3059\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5411\u4E0A\u306E\u305F\u3081\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002 +registration.summary=\u4EE5\u4E0B\u306E\u30C7\u30FC\u30BF\u304Copenolat.org\u306B\u8EE2\u9001\u3055\u308C\u307E\u3059\u3002 +registration.sustainability=\u3042\u306A\u305F\u306E\u767B\u9332\u306B\u306F\u3001\u6709\u5229\u306A\u70B9\u3082\u3042\u308A\u307E\u3059\! \u305D\u308C\u305E\u308C\u306B\u901A\u4FE1\u3059\u308B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307FOpenOLAT\u306F\u91CD\u8981\u6027\u3092\u5897\u3057\u3001\u3042\u306A\u305F\u306E\u6295\u8CC7\u306E\u6301\u7D9A\u53EF\u80FD\u6027\u306B\u8CA2\u732E\u3057\u307E\u3059\u3002 registration.thanks=\u30B5\u30DD\u30FC\u30C8\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\! \u8A73\u7D30\u60C5\u5831\u306F\u3001{0} \u306B\u30A2\u30AF\u30BB\u30B9\u3057\u3066\u304F\u3060\u3055\u3044\u3002 registration.title=\u30B7\u30B9\u30C6\u30E0\u767B\u9332 -registration.title.notregistered=OLAT\u3092\u3055\u3089\u306B\u666E\u53CA\u3055\u305B\u308B\u305F\u3081\u3001\u3042\u306A\u305F\u306EOLAT\u3092\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\! -registration.title.partialregistered=\u533F\u540D\u30C7\u30FC\u30BF\u3092\u3054\u63D0\u4F9B\u9802\u304D\u307E\u3057\u3066\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\u3002\u7D9A\u3051\u3066\u3001\u3042\u306A\u305F\u306E\u30A4\u30F3\u30B9\u30C8\u30EC\u30FC\u30B7\u30E7\u30F3\u3092olat.org\u3067\u516C\u958B\u3057\u307E\u3059\u304B? -registration.title.registered=OLAT\u3078\u306E\u767B\u9332\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\! +registration.title.notregistered=OpenOLAT\u3092\u3055\u3089\u306B\u666E\u53CA\u3055\u305B\u308B\u305F\u3081\u3001\u3042\u306A\u305F\u306EOpenOLAT\u3092\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\! +registration.title.partialregistered=\u533F\u540D\u30C7\u30FC\u30BF\u3092\u3054\u63D0\u4F9B\u9802\u304D\u307E\u3057\u3066\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\u3002\u7D9A\u3051\u3066\u3001\u3042\u306A\u305F\u306E\u30A4\u30F3\u30B9\u30C8\u30EC\u30FC\u30B7\u30E7\u30F3\u3092openolat.org\u3067\u516C\u958B\u3057\u307E\u3059\u304B? +registration.title.registered=OpenOLAT\u3078\u306E\u767B\u9332\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\! registration.webSiteDescription={0} \u306E\u8AAC\u660E -registration.website=\u3042\u306A\u305F\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307FOLAT\u306EURI\u3092olat.org\u3067\u79C1\u305F\u3061\u304C\u516C\u958B\u3067\u304D\u308B\u3088\u3046\u306B\u3059\u308B\u3053\u3068\u3067\u3001\u3055\u3089\u306B\u5F79\u7ACB\u3061\u307E\u3059\u3002\u79C1\u305F\u3061\u304COLAT\u306E\u9069\u7528\u7BC4\u56F2\u3092\u628A\u63E1\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\! +registration.website=\u3042\u306A\u305F\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307FOpenOLAT\u306EURI\u3092openolat.org\u3067\u79C1\u305F\u3061\u304C\u516C\u958B\u3067\u304D\u308B\u3088\u3046\u306B\u3059\u308B\u3053\u3068\u3067\u3001\u3055\u3089\u306B\u5F79\u7ACB\u3061\u307E\u3059\u3002\u79C1\u305F\u3061\u304COpenOLAT\u306E\u9069\u7528\u7BC4\u56F2\u3092\u628A\u63E1\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\! diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_nl_NL.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_nl_NL.properties index 3e11f604fa5903145b8fc52f1d4a80d8df59f768..147c085e3b0a0e62ed718ecc43d0e4b0ac48787d 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_nl_NL.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_nl_NL.properties @@ -4,15 +4,15 @@ registration.email=E-mailadres registration.email.error=Gelieve een geldig e-mailadres in te geven. registration.location=Plaats van registratie registration.location.example=b.v. Steenweg op Turnhout, Antwerpen -registration.publishWebSiteSelection=Installatie {0} publiceren op olat.org -registration.sendAnonymousStatisticSelection=Statistische data anoniem verplaatsen naar olat.org (aanbevolen) -registration.statistics=OLAT is een open bron en heeft een actieve gebruikerscommunity nodig. U kunt lid worden en uw OLAT installatie op olat.org registreren om zo statistische informatie anioniem te verplaatsen (zoals aantal gebruikers, vursussen, etc.). Deze data zal niet in verbinding staan met us installatie. Ze zullen enkel dienen voor een betere documentatie van OLAT's gebruik. -registration.summary=De volgende data zal verplaatst worden naar olat.org -registration.sustainability=Uw registratie is ook bevorderlijk\! Met elke gecommuniceerde installatie verwerft OLAT in belangerijkheid en maakt een contributie aan de duurzaamheid van uw investering. +registration.publishWebSiteSelection=Installatie {0} publiceren op openolat.org +registration.sendAnonymousStatisticSelection=Statistische data anoniem verplaatsen naar openolat.org (aanbevolen) +registration.statistics=OpenOLAT is een open bron en heeft een actieve gebruikerscommunity nodig. U kunt lid worden en uw OpenOLAT installatie op openolat.org registreren om zo statistische informatie anioniem te verplaatsen (zoals aantal gebruikers, vursussen, etc.). Deze data zal niet in verbinding staan met us installatie. Ze zullen enkel dienen voor een betere documentatie van OpenOLAT's gebruik. +registration.summary=De volgende data zal verplaatst worden naar openolat.org +registration.sustainability=Uw registratie is ook bevorderlijk\! Met elke gecommuniceerde installatie verwerft OpenOLAT in belangerijkheid en maakt een contributie aan de duurzaamheid van uw investering. registration.thanks=Bedankt voor uw steun\! Gelieve voor verdere informatie naar {0} te gaan. registration.title=Systeemregistratie -registration.title.notregistered=Gelieve uw OLAT installatie te registreren om OLAT zo verder te promoten\! -registration.title.partialregistered=Bedankt om ons te voorzien van anonieme data. Wenst u verder te gaan en uw installatie te publiceren op olat.org? -registration.title.registered=Bedankt om OLAT te registreren\! +registration.title.notregistered=Gelieve uw OpenOLAT installatie te registreren om OpenOLAT zo verder te promoten\! +registration.title.partialregistered=Bedankt om ons te voorzien van anonieme data. Wenst u verder te gaan en uw installatie te publiceren op openolat.org? +registration.title.registered=Bedankt om OpenOLAT te registreren\! registration.webSiteDescription=Beschrijving van {0} -registration.website=U kunt ons nog verder helpen door ons de toestemming te geven om de URL van uw OLAT installatie te publiceren op olat.org. Steun ons door het OLAT toepassingsgebied te illustreren\! +registration.website=U kunt ons nog verder helpen door ons de toestemming te geven om de URL van uw OpenOLAT installatie te publiceren op openolat.org. Steun ons door het OpenOLAT toepassingsgebied te illustreren\! diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_pl.properties index b434e536fe07c4c5def635fdfd06e98b8e13fca4..00af87b1d81b6b986a72cf8296c4934037c68dd9 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_pl.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_pl.properties @@ -4,15 +4,15 @@ registration.email=Adres e-mail registration.email.error=Podaj prawid\u0142owy adres e-mail registration.location=Miejsce rejestracji registration.location.example=np. ul. My\u015Bliwiecka 3/5/7, Warszawa -registration.publishWebSiteSelection=Opublikuj instalacj\u0119 {0} na olat.org -registration.sendAnonymousStatisticSelection=Wy\u015Blij anonimowe dane statystyczne na olat.org (zalecane) -registration.statistics=OLAT jest oprogramowaniem typu open source, dlatego wymaga wsparcia spo\u0142eczno\u015Bci jego u\u017Cytkownik\u00F3w. Mo\u017Cesz przy\u0142\u0105czy\u0107 si\u0119 i zarejestrowa\u0107 swoj\u0105 instalacj\u0119 OLAT na olat.org, aby umo\u017Cliwi\u0107 wysy\u0142anie anonimowych danych statystycznych (takich jak liczba u\u017Cytkownik\u00F3w, kurs\u00F3w, itp.). Dane te nie zostan\u0105 odniesione do Twojej instalacji i pos\u0142u\u017C\u0105 jedynie do lepszego poznania wykorzystania OLAT. -registration.summary=Nast\u0119puj\u0105ce dane b\u0119d\u0105 przesy\u0142ane na serwer olat.org\: -registration.sustainability=Twoja rejestracja jest tak\u017Ce wa\u017Cna\! Z ka\u017Cd\u0105 zarejestrowan\u0105 instalacj\u0105, OLAT zyskuje na znaczeniu i przyczynia si\u0119 do wzrostu efektywno\u015Bci Twojego przedsi\u0119wzi\u0119cia. +registration.publishWebSiteSelection=Opublikuj instalacj\u0119 {0} na openolat.org +registration.sendAnonymousStatisticSelection=Wy\u015Blij anonimowe dane statystyczne na openolat.org (zalecane) +registration.statistics=OpenOLAT jest oprogramowaniem typu open source, dlatego wymaga wsparcia spo\u0142eczno\u015Bci jego u\u017Cytkownik\u00F3w. Mo\u017Cesz przy\u0142\u0105czy\u0107 si\u0119 i zarejestrowa\u0107 swoj\u0105 instalacj\u0119 OpenOLAT na openolat.org, aby umo\u017Cliwi\u0107 wysy\u0142anie anonimowych danych statystycznych (takich jak liczba u\u017Cytkownik\u00F3w, kurs\u00F3w, itp.). Dane te nie zostan\u0105 odniesione do Twojej instalacji i pos\u0142u\u017C\u0105 jedynie do lepszego poznania wykorzystania OpenOLAT. +registration.summary=Nast\u0119puj\u0105ce dane b\u0119d\u0105 przesy\u0142ane na serwer openolat.org\: +registration.sustainability=Twoja rejestracja jest tak\u017Ce wa\u017Cna\! Z ka\u017Cd\u0105 zarejestrowan\u0105 instalacj\u0105, OpenOLAT zyskuje na znaczeniu i przyczynia si\u0119 do wzrostu efektywno\u015Bci Twojego przedsi\u0119wzi\u0119cia. registration.thanks=Dzi\u0119kujemy za wsparcie\! Aby otrzyma\u0107 dalsze informacje, przejd\u017A do {0}. registration.title=Rejestracja platformy -registration.title.notregistered=Zarejestruj swoj\u0105 instalacj\u0119 OLAT, aby m\u00F3c promowa\u0107 platform\u0119 dalej. -registration.title.partialregistered=Dzi\u0119kujemy za udost\u0119pnienie anonimowych danych. Czy chcesz kontynuowa\u0107 i zarejestrowa\u0107 swoj\u0105 instalacj\u0119 na olat.org? -registration.title.registered=Dzi\u0119kujemy za rejestracj\u0119 OLAT\! +registration.title.notregistered=Zarejestruj swoj\u0105 instalacj\u0119 OpenOLAT, aby m\u00F3c promowa\u0107 platform\u0119 dalej. +registration.title.partialregistered=Dzi\u0119kujemy za udost\u0119pnienie anonimowych danych. Czy chcesz kontynuowa\u0107 i zarejestrowa\u0107 swoj\u0105 instalacj\u0119 na openolat.org? +registration.title.registered=Dzi\u0119kujemy za rejestracj\u0119 OpenOLAT\! registration.webSiteDescription=Opis {0} -registration.website=Mo\u017Cesz pom\u00F3c nam jeszcze bardziej, je\u017Celi zgodzisz si\u0119 na publikacj\u0119 adresu internetowego swojej instalacji OLAT na serwerze olat.org. Wspom\u00F3\u017C nas informacjami o tym, w jaki spos\u00F3b wykorzystujesz OLAT. +registration.website=Mo\u017Cesz pom\u00F3c nam jeszcze bardziej, je\u017Celi zgodzisz si\u0119 na publikacj\u0119 adresu internetowego swojej instalacji OpenOLAT na serwerze openolat.org. Wspom\u00F3\u017C nas informacjami o tym, w jaki spos\u00F3b wykorzystujesz OpenOLAT. diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_pt_BR.properties index 83977ca892c01b0c23e5763b821367c51f1bc37e..2254e3a91094a5da21a3e59885aa2cfc11a870b8 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_pt_BR.properties @@ -4,15 +4,15 @@ registration.email=Endere\u00E7o de E-mail registration.email.error=Por favor, indique um endere\u00E7o de e-mail v\u00E1lido. registration.location=Localiza\u00E7\u00E3o do registro registration.location.example=Ex\: Av. Paulista, S\u00E3o Paulo -registration.publishWebSiteSelection=Publicar Instala\u00E7\u00E3o {0} em olat.org -registration.sendAnonymousStatisticSelection=Transfer\u00EAncia de dados estat\u00EDsticos para olat.org anonimamente (recomendado) -registration.statistics=OLAT \u00E9 open source e precisa de uma comunidade de usu\u00E1rios ativa. Voc\u00EA pode participar e registrar a sua instala\u00E7\u00E3o OLAT em olat.org para transfer\u00EAncia de dados estat\u00EDsticos an\u00F4nimos (como o n\u00FAmero de usu\u00E1rios, cursos, etc). Estes dados n\u00E3o ser\u00E3o relacionados com sua instala\u00E7\u00E3o. Eles s\u00F3 servem para melhor documentar a utiliza\u00E7\u00E3o do OLAT. -registration.summary=Os seguintes dados ser\u00E3o transferidos para olat.org -registration.sustainability=Sua inscri\u00E7\u00E3o tamb\u00E9m \u00E9 vantajosa\! A cada instala\u00E7\u00E3o comunicada o OLAT ganha em import\u00E2ncia e faz uma contribui\u00E7\u00E3o para a sustentabilidade do seu investimento. +registration.publishWebSiteSelection=Publicar Instala\u00E7\u00E3o {0} em openolat.org +registration.sendAnonymousStatisticSelection=Transfer\u00EAncia de dados estat\u00EDsticos para openolat.org anonimamente (recomendado) +registration.statistics=OpenOLAT \u00E9 open source e precisa de uma comunidade de usu\u00E1rios ativa. Voc\u00EA pode participar e registrar a sua instala\u00E7\u00E3o OpenOLAT em openolat.org para transfer\u00EAncia de dados estat\u00EDsticos an\u00F4nimos (como o n\u00FAmero de usu\u00E1rios, cursos, etc). Estes dados n\u00E3o ser\u00E3o relacionados com sua instala\u00E7\u00E3o. Eles s\u00F3 servem para melhor documentar a utiliza\u00E7\u00E3o do OpenOLAT. +registration.summary=Os seguintes dados ser\u00E3o transferidos para openolat.org +registration.sustainability=Sua inscri\u00E7\u00E3o tamb\u00E9m \u00E9 vantajosa\! A cada instala\u00E7\u00E3o comunicada o OpenOLAT ganha em import\u00E2ncia e faz uma contribui\u00E7\u00E3o para a sustentabilidade do seu investimento. registration.thanks=Obrigado pelo seu apoio\! Para maiores informa\u00E7\u00F5es favor ir para {0}. registration.title=Registro do sistema -registration.title.notregistered=Favor registre sua instala\u00E7\u00E3o para promover o OLAT ainda mais\! -registration.title.partialregistered=Obrigado por fornecer seus dados. Voc\u00EA deseja proceder e publicar sua instala\u00E7\u00E3o em olat.org? -registration.title.registered=Obrigado por registrar seu OLAT\! +registration.title.notregistered=Favor registre sua instala\u00E7\u00E3o para promover o OpenOLAT ainda mais\! +registration.title.partialregistered=Obrigado por fornecer seus dados. Voc\u00EA deseja proceder e publicar sua instala\u00E7\u00E3o em openolat.org? +registration.title.registered=Obrigado por registrar seu OpenOLAT\! registration.webSiteDescription=Descri\u00E7\u00E3o de {0} -registration.website=Voc\u00EA pode ajudar ainda mais, permitindo-nos a publicar a URL de sua instala\u00E7\u00E3o no OLAT olat.org. Ajude-nos ilustrando a gama de aplica\u00E7\u00E3o de OLAT\! +registration.website=Voc\u00EA pode ajudar ainda mais, permitindo-nos a publicar a URL de sua instala\u00E7\u00E3o no OpenOLAT openolat.org. Ajude-nos ilustrando a gama de aplica\u00E7\u00E3o de OpenOLAT\! diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_ru.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_ru.properties index 3442c42ac61d022a88b4878ae9d4b194f841e3ec..61e728e5e4c0bd965f13df29de9d12ebbc8ccace 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_ru.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_ru.properties @@ -4,5 +4,5 @@ registration.email=E-mail \u0430\u0434\u0440\u0435\u0441 registration.email.error=\u041F\u043E\u0436\u0430\u0439\u043B\u0443\u0441\u0442\u0430, \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0439 e-mail \u0430\u0434\u0440\u0435\u0441. registration.location=\u041C\u0435\u0441\u0442\u043E \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 registration.location.example=\u043D\u0430\u043F\u0440. \u041D\u0435\u0432\u0441\u043A\u0438\u0439 \u041F\u0440\u043E\u0441\u043F\u0435\u043A\u0442 7, \u0421\u0430\u043D\u043A\u0442 \u041F\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433 -registration.publishWebSiteSelection=\u041E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u0442\u044C \u0438\u043D\u0441\u0442\u0430\u043B\u043B\u044F\u0446\u0438\u044E {0} \u043D\u0430 olat.org -registration.sendAnonymousStatisticSelection=\u041F\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0434\u0430\u043D\u043D\u044B\u0445 \u043D\u0430 olat.org \u0430\u043D\u043E\u043D\u0438\u043C\u043D\u043E (\u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u0442\u0441\u044F) +registration.publishWebSiteSelection=\u041E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u0442\u044C \u0438\u043D\u0441\u0442\u0430\u043B\u043B\u044F\u0446\u0438\u044E {0} \u043D\u0430 openolat.org +registration.sendAnonymousStatisticSelection=\u041F\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0434\u0430\u043D\u043D\u044B\u0445 \u043D\u0430 openolat.org \u0430\u043D\u043E\u043D\u0438\u043C\u043D\u043E (\u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u0442\u0441\u044F) diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_zh_CN.properties index a9ebbe411a1927f50647380bad57a5b4dd580fad..327cacecd77a5f8dd951218f9ae504513895ff19 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_zh_CN.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_zh_CN.properties @@ -4,15 +4,15 @@ registration.email=\u7535\u5B50\u90AE\u4EF6\u5730\u5740 registration.email.error=\u8BF7\u60A8\u8F93\u5165\u4E00\u4E2A\u6709\u6548\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u3002 registration.location=\u672C\u5730\u6CE8\u518C registration.location.example=\u4F8B\u5982\uFF1A\u65E5\u843D\u5927\u9053\uFF0C\u6D1B\u6749\u77F6 -registration.publishWebSiteSelection=\u5728OLAT\u5B98\u7F51\u4E0A\u53D1\u5E03\u5B89\u88C5\u4FE1\u606F{0} -registration.sendAnonymousStatisticSelection=\u4EE5\u533F\u540D\u7684\u65B9\u5F0F\u628A\u7EDF\u8BA1\u4FE1\u606F\u53D1\u9001\u5230OLAT\u5B98\u7F51\u4E0A(\u63A8\u8350) -registration.statistics=OLAT\u662F\u4E00\u4E2A\u5F00\u6E90\u7CFB\u7EDF\uFF0C\u5B83\u9700\u8981\u4E00\u4E2A\u6D3B\u6CFC\u7684\u7528\u6237\u793E\u533A\u3002\u60A8\u53EF\u4EE5\u5728olat.org\u4E0A\u52A0\u5165\u5E76\u6CE8\u518C\u6210\u4E3A\u7528\u6237\uFF0C\u5E76\u5C06\u6CE8\u518C\u7684\u7EDF\u8BA1\u4FE1\u606F\u4EE5\u533F\u540D\u7684\u65B9\u5F0F\u4F20\u9012\u5230OLAT\u5B98\u7F51\u4E2D\uFF08\u6BD4\u5982\u7528\u6237\u7684\u6570\u91CF\uFF0C\u8BFE\u7A0B\uFF0C\u7B49\u7B49\uFF09\u3002\u8FD9\u4E9B\u6570\u636E\u4E0E\u60A8\u7684\u5B89\u88C5\u65E0\u5173\u3002\u5B83\u4EEC\u4F7F\u7528\u6237\u63D0\u4F9B\u80FD\u591F\u66F4\u597D\u7684\u4F7F\u7528OLAT\u3002 -registration.summary=\u4EE5\u4E0B\u6570\u636E\u5C06\u4F20\u9001\u5230olat.org -registration.sustainability=\u60A8\u7684\u6CE8\u518C\u4E5F\u662F\u6709\u76CA\u7684\u3002\u56E0\u4E3A\u6BCF\u4E00\u6B21\u4E0E\u65B0\u5B89\u88C5\u7684\u6570\u636E\u53D6\u5F97\u6C9F\u901A\uFF0COLAT\u90FD\u4F1A\u53D6\u5F97\u66F4\u91CD\u8981\u7684\u53D1\u5C55\uFF0C\u540C\u65F6\u4E5F\u4E3A\u60A8\u7684\u53EF\u6301\u7EED\u6027\u6295\u8D44\u4F5C\u51FA\u8D21\u732E\u3002 +registration.publishWebSiteSelection=\u5728OpenOLAT\u5B98\u7F51\u4E0A\u53D1\u5E03\u5B89\u88C5\u4FE1\u606F{0} +registration.sendAnonymousStatisticSelection=\u4EE5\u533F\u540D\u7684\u65B9\u5F0F\u628A\u7EDF\u8BA1\u4FE1\u606F\u53D1\u9001\u5230OpenOLAT\u5B98\u7F51\u4E0A(\u63A8\u8350) +registration.statistics=OpenOLAT\u662F\u4E00\u4E2A\u5F00\u6E90\u7CFB\u7EDF\uFF0C\u5B83\u9700\u8981\u4E00\u4E2A\u6D3B\u6CFC\u7684\u7528\u6237\u793E\u533A\u3002\u60A8\u53EF\u4EE5\u5728openolat.org\u4E0A\u52A0\u5165\u5E76\u6CE8\u518C\u6210\u4E3A\u7528\u6237\uFF0C\u5E76\u5C06\u6CE8\u518C\u7684\u7EDF\u8BA1\u4FE1\u606F\u4EE5\u533F\u540D\u7684\u65B9\u5F0F\u4F20\u9012\u5230OpenOLAT\u5B98\u7F51\u4E2D\uFF08\u6BD4\u5982\u7528\u6237\u7684\u6570\u91CF\uFF0C\u8BFE\u7A0B\uFF0C\u7B49\u7B49\uFF09\u3002\u8FD9\u4E9B\u6570\u636E\u4E0E\u60A8\u7684\u5B89\u88C5\u65E0\u5173\u3002\u5B83\u4EEC\u4F7F\u7528\u6237\u63D0\u4F9B\u80FD\u591F\u66F4\u597D\u7684\u4F7F\u7528OpenOLAT\u3002 +registration.summary=\u4EE5\u4E0B\u6570\u636E\u5C06\u4F20\u9001\u5230openolat.org +registration.sustainability=\u60A8\u7684\u6CE8\u518C\u4E5F\u662F\u6709\u76CA\u7684\u3002\u56E0\u4E3A\u6BCF\u4E00\u6B21\u4E0E\u65B0\u5B89\u88C5\u7684\u6570\u636E\u53D6\u5F97\u6C9F\u901A\uFF0COpenOLAT\u90FD\u4F1A\u53D6\u5F97\u66F4\u91CD\u8981\u7684\u53D1\u5C55\uFF0C\u540C\u65F6\u4E5F\u4E3A\u60A8\u7684\u53EF\u6301\u7EED\u6027\u6295\u8D44\u4F5C\u51FA\u8D21\u732E\u3002 registration.thanks=\u70ED\u5FF1\u611F\u8C22\u60A8\u7684\u652F\u6301\uFF01\u60F3\u8981\u83B7\u5F97\u66F4\u591A\u4FE1\u606F\uFF0C\u8BF7\u8BBF\u95EE{0}. registration.title=\u7CFB\u7EDF\u6CE8\u518C -registration.title.notregistered=\u8BF7\u60A8\u6CE8\u518C\u60A8\u7684OLAT\u5B89\u88C5\u4FE1\u606F\u4EE5\u5E2E\u52A9OLAT\u4ECA\u540E\u7684\u53D1\u5C55\u548C\u5347\u7EA7\u3002 -registration.title.partialregistered=\u611F\u8C22\u60A8\u63D0\u4F9B\u533F\u540D\u6570\u636E\uFF0C\u60A8\u60F3\u7EE7\u7EED\u5728OLAT\u5B98\u7F51\uFF08olat.org\uFF09\u4E0A\u53D1\u5E03\u60A8\u7684\u5B89\u88C5\u4FE1\u606F\u5417\uFF1F -registration.title.registered=\u611F\u8C22\u60A8\u6CE8\u518COLAT\uFF01 +registration.title.notregistered=\u8BF7\u60A8\u6CE8\u518C\u60A8\u7684OpenOLAT\u5B89\u88C5\u4FE1\u606F\u4EE5\u5E2E\u52A9OpenOLAT\u4ECA\u540E\u7684\u53D1\u5C55\u548C\u5347\u7EA7\u3002 +registration.title.partialregistered=\u611F\u8C22\u60A8\u63D0\u4F9B\u533F\u540D\u6570\u636E\uFF0C\u60A8\u60F3\u7EE7\u7EED\u5728OpenOLAT\u5B98\u7F51\uFF08openolat.org\uFF09\u4E0A\u53D1\u5E03\u60A8\u7684\u5B89\u88C5\u4FE1\u606F\u5417\uFF1F +registration.title.registered=\u611F\u8C22\u60A8\u6CE8\u518COpenOLAT\uFF01 registration.webSiteDescription={0}\u7684\u63CF\u8FF0 -registration.website=\u901A\u8FC7\u5141\u8BB8\u6211\u4EEC\u5728OLAT\u5B98\u7F51\u4E0A\u53D1\u5E03\u60A8\u7684\u94FE\u63A5\uFF0C\u60A8\u53EF\u4EE5\u7ED9\u4E88\u6211\u4EEC\u66F4\u591A\u7684\u5E2E\u52A9\u3002\u901A\u8FC7\u8BE0\u91CAOLAT\u7684\u5E94\u7528\u8303\u56F4\u6765\u652F\u6301\u6211\u4EEC\uFF01 +registration.website=\u901A\u8FC7\u5141\u8BB8\u6211\u4EEC\u5728OpenOLAT\u5B98\u7F51\u4E0A\u53D1\u5E03\u60A8\u7684\u94FE\u63A5\uFF0C\u60A8\u53EF\u4EE5\u7ED9\u4E88\u6211\u4EEC\u66F4\u591A\u7684\u5E2E\u52A9\u3002\u901A\u8FC7\u8BE0\u91CAOpenOLAT\u7684\u5E94\u7528\u8303\u56F4\u6765\u652F\u6301\u6211\u4EEC\uFF01 diff --git a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_zh_TW.properties b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_zh_TW.properties index 1f13a22b5553180de8e321e256cf9ee6d83306a2..6153a452bac45fa31eafd6884936aaf8fba6bd93 100644 --- a/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_zh_TW.properties +++ b/src/main/java/org/olat/admin/registration/_i18n/LocalStrings_zh_TW.properties @@ -4,15 +4,15 @@ registration.email=\u96FB\u5B50\u90F5\u4EF6\u5730\u5740 registration.email.error=\u8ACB\u6307\u793A\u4E00\u500B\u6709\u6548\u7684\u96FB\u5B50\u90F5\u4EF6\u5730\u5740\u3002 registration.location=\u8A3B\u518A\u5730\u9EDE registration.location.example=\u4F8B\u5982\uFF1A\u65E5\u843D\u5927\u9053\uFF0C\u6D1B\u6749\u78EF -registration.publishWebSiteSelection=\u5728 olat.org \u516C\u5E03 {0} \u7684\u5B89\u88DD -registration.sendAnonymousStatisticSelection=\u533F\u540D\u5730\u50B3\u8F38\u7D71\u8A08\u8CC7\u6599\u5230 olat.org (\u5EFA\u8B70) -registration.statistics=OLAT \u662F\u958B\u653E\u539F\u59CB\u78BC\u4E14\u9700\u8981\u4E00\u500B\u6D3B\u8E8D\u7684\u4F7F\u7528\u8005\u793E\u7FA4\u3002\u60A8\u53EF\u4EE5\u5728 olat.org \u52A0\u5165\u4E26\u8A3B\u518A\u60A8\u7684 OLAT \u5B89\u88DD\u4F86\u533F\u540D\u5730\u50B3\u8F38\u7D71\u8A08\u8CC7\u8A0A(\u5982\u4F7F\u7528\u8005\u6578\u3001\u8AB2\u7A0B\u6578\u7B49)\u3002\u9019\u4E9B\u8CC7\u6599\u4E0D\u6703\u548C\u60A8\u7684\u5B89\u88DD\u95DC\u9023\u8D77\u4F86\u3002\u4ED6\u5011\u53EA\u6703\u7528\u4F86\u66F4\u597D\u5730\u8A18\u9304 OLAT \u7684\u4F7F\u7528\u3002 +registration.publishWebSiteSelection=\u5728 openolat.org \u516C\u5E03 {0} \u7684\u5B89\u88DD +registration.sendAnonymousStatisticSelection=\u533F\u540D\u5730\u50B3\u8F38\u7D71\u8A08\u8CC7\u6599\u5230 openolat.org (\u5EFA\u8B70) +registration.statistics=OpenOLAT \u662F\u958B\u653E\u539F\u59CB\u78BC\u4E14\u9700\u8981\u4E00\u500B\u6D3B\u8E8D\u7684\u4F7F\u7528\u8005\u793E\u7FA4\u3002\u60A8\u53EF\u4EE5\u5728 openolat.org \u52A0\u5165\u4E26\u8A3B\u518A\u60A8\u7684 OpenOLAT \u5B89\u88DD\u4F86\u533F\u540D\u5730\u50B3\u8F38\u7D71\u8A08\u8CC7\u8A0A(\u5982\u4F7F\u7528\u8005\u6578\u3001\u8AB2\u7A0B\u6578\u7B49)\u3002\u9019\u4E9B\u8CC7\u6599\u4E0D\u6703\u548C\u60A8\u7684\u5B89\u88DD\u95DC\u9023\u8D77\u4F86\u3002\u4ED6\u5011\u53EA\u6703\u7528\u4F86\u66F4\u597D\u5730\u8A18\u9304 OpenOLAT \u7684\u4F7F\u7528\u3002 registration.summary=\u4E0B\u5217\u7684\u8CC7\u6599\u5C07\u6703\u88AB\u50B3\u8F38\u5230 olat.org -registration.sustainability=\u60A8\u7684\u8A3B\u518A\u4E5F\u662F\u6709\u5229\u7684\uFF01\u85C9\u7531\u6BCF\u500B\u50B3\u9054\u7684\u5B89\u88DD\uFF0C OLAT \u7372\u5F97\u91CD\u8996\u4E26\u4E14\u5C0D\u60A8\u6295\u8CC7\u7684\u6301\u7E8C\u6027\u6709\u6240\u8CA2\u737B\u3002 +registration.sustainability=\u60A8\u7684\u8A3B\u518A\u4E5F\u662F\u6709\u5229\u7684\uFF01\u85C9\u7531\u6BCF\u500B\u50B3\u9054\u7684\u5B89\u88DD\uFF0C OpenOLAT \u7372\u5F97\u91CD\u8996\u4E26\u4E14\u5C0D\u60A8\u6295\u8CC7\u7684\u6301\u7E8C\u6027\u6709\u6240\u8CA2\u737B\u3002 registration.thanks=\u611F\u8B1D\u60A8\u7684\u652F\u6301\uFF01\u5982\u9700\u8981\u66F4\u9032\u4E00\u6B65\u7684\u8CC7\u8A0A\u8ACB\u524D\u5F80 {0}\u3002 registration.title=\u7CFB\u7D71\u8A3B\u518A -registration.title.notregistered=\u8ACB\u8A3B\u518A\u60A8\u7684 OLAT \u5B89\u88DD\u4F86\u66F4\u52A0\u63A8\u5EE3 OLAT\uFF01 -registration.title.partialregistered=\u611F\u8B1D\u60A8\u63D0\u4F9B\u533F\u540D\u8CC7\u6599\u3002\u60A8\u8981\u7E7C\u7E8C\u5728 olat.org \u516C\u5E03\u60A8\u7684\u5B89\u88DD\u55CE\uFF1F -registration.title.registered=\u611F\u8B1D\u8A3B\u518A OLAT\uFF01 +registration.title.notregistered=\u8ACB\u8A3B\u518A\u60A8\u7684 OpenOLAT \u5B89\u88DD\u4F86\u66F4\u52A0\u63A8\u5EE3 OpenOLAT\uFF01 +registration.title.partialregistered=\u611F\u8B1D\u60A8\u63D0\u4F9B\u533F\u540D\u8CC7\u6599\u3002\u60A8\u8981\u7E7C\u7E8C\u5728 openolat.org \u516C\u5E03\u60A8\u7684\u5B89\u88DD\u55CE\uFF1F +registration.title.registered=\u611F\u8B1D\u8A3B\u518A OpenOLAT\uFF01 registration.webSiteDescription={0}\u7684\u8AAA\u660E -registration.website=\u85C9\u7531\u5141\u8A31\u6211\u5011\u5728 olat.org \u516C\u5E03\u60A8\u7684 OLAT \u5B89\u88DD\u7684\u7DB2\u5740\uFF0C\u60A8\u53EF\u4EE5\u63D0\u4F9B\u66F4\u9032\u4E00\u6B65\u7684\u5E6B\u52A9\u3002\u8AAA\u660E OLAT \u7684\u61C9\u7528\u7BC4\u570D\u4EE5\u652F\u63F4\u6211\u5011\uFF01 +registration.website=\u85C9\u7531\u5141\u8A31\u6211\u5011\u5728 openolat.org \u516C\u5E03\u60A8\u7684 OpenOLAT \u5B89\u88DD\u7684\u7DB2\u5740\uFF0C\u60A8\u53EF\u4EE5\u63D0\u4F9B\u66F4\u9032\u4E00\u6B65\u7684\u5E6B\u52A9\u3002\u8AAA\u660E OpenOLAT \u7684\u61C9\u7528\u7BC4\u570D\u4EE5\u652F\u63F4\u6211\u5011\uFF01 diff --git a/src/main/java/org/olat/admin/registration/_spring/registrationContext.xml b/src/main/java/org/olat/admin/registration/_spring/registrationContext.xml index a5a5bcc8d1250e6d6ec0ab6022100f000709aefd..ff000c4636891c14876d367d6241228b4755953e 100644 --- a/src/main/java/org/olat/admin/registration/_spring/registrationContext.xml +++ b/src/main/java/org/olat/admin/registration/_spring/registrationContext.xml @@ -8,22 +8,25 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> -<context:property-placeholder location="classpath:serviceconfig/olat.properties, classpath:olat.local.properties" /> + <context:property-placeholder location="classpath:serviceconfig/olat.properties, classpath:olat.local.properties" /> -<bean id="systemRegistrationManager" class="org.olat.admin.registration.SystemRegistrationManager" - init-method="init" destroy-method="destroy" depends-on="coordinatorManager"> - <constructor-arg index="0" ref="schedulerFactoryBean"/> - <constructor-arg index="1" value="${cluster.mode}"/> - <constructor-arg index="2" ref="database"/> - <property name="persistedProperties"> - <bean class="org.olat.core.configuration.PersistedProperties" scope="prototype" init-method="init" destroy-method="destroy"> - <constructor-arg index="0" ref="coordinatorManager"/> - <constructor-arg index="1" ref="systemRegistrationManager"/> - </bean> - </property> -</bean> - + <bean id="systemRegistrationModule" class="org.olat.admin.registration.SystemRegistrationModule" + init-method="init" depends-on="coordinatorManager"> + <property name="persistedProperties"> + <bean class="org.olat.core.configuration.PersistedProperties" scope="prototype" init-method="init" destroy-method="destroy"> + <constructor-arg index="0" ref="coordinatorManager"/> + <constructor-arg index="1" ref="systemRegistrationModule"/> + </bean> + </property> + </bean> - - + <bean id="systemRegistrationManager" class="org.olat.admin.registration.SystemRegistrationManager" + init-method="init" destroy-method="destroy" depends-on="systemRegistrationModule"> + <constructor-arg index="0" ref="schedulerFactoryBean"/> + <constructor-arg index="1" value="${cluster.mode}"/> + <constructor-arg index="2" ref="database"/> + <constructor-arg index="3" ref="systemRegistrationModule"/> + <property name="securityManager" ref="baseSecurityManager" /> + <property name="repositoryManager" ref="repositoryManager" /> + </bean> </beans> \ No newline at end of file diff --git a/src/main/resources/serviceconfig/org/olat/core/commons/scheduler/_spring/olatextconfig.xml b/src/main/resources/serviceconfig/org/olat/core/commons/scheduler/_spring/olatextconfig.xml index 04020a8a314bad0e6379c3191169ca1cfa1951e3..be8f303fcfc35e1d2750ef1f0218a973c6eceef1 100644 --- a/src/main/resources/serviceconfig/org/olat/core/commons/scheduler/_spring/olatextconfig.xml +++ b/src/main/resources/serviceconfig/org/olat/core/commons/scheduler/_spring/olatextconfig.xml @@ -35,7 +35,6 @@ How to add a new job: <ref bean="sendNotificationsEmailTrigger" /> <ref bean="changePresenceJobTrigger" /> <!-- <ref bean="dumpJMXJobTrigger"/> --> - <ref bean="registrationTrigger"/> <ref bean="adobeCleanupJob"/> <!-- <ref bean="translationToolStatusGeneratorTrigger"/> @@ -70,16 +69,6 @@ requests and therefore the session in never invalidated --> <property name="repeatInterval" value="60000" /> </bean> -<bean id="registrationTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> - <property name="jobDetail" ref="registrationJob" /> - <!-- 10 minutes--> - <property name="startDelay" value="600000" /> - <!-- repeat every 10 seconds --> - <property name="repeatInterval" value="10000" /> - <!-- never repeat --> - <property name="repeatCount" value="0"/> -</bean> - <bean id="translationToolStatusGeneratorTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <!-- Status generation is only needed for a translationserver. --> <property name="jobDetail" ref="translationToolStatusGeneratorJob.${is.translation.server}" /> @@ -142,11 +131,6 @@ requests and therefore the session in never invalidated --> </property> </bean> -<bean id="registrationJob" class="org.springframework.scheduling.quartz.JobDetailBean"> - <!-- Creates after OLAT Startup a Cron Job to send registration data on weekly base --> - <property name="jobClass" value="org.olat.admin.registration.SystemRegistrationJobStarter"/> -</bean> - <!-- Export your Beans via JMX, to enable start you JVM with "-Dcom.sun.management.jmxremote=true". This only enables JMX locally and allows you to connect with the same user. To connect via remote read: