From 2b55e1daad1cbc3ebd5d5946d3e17f426e3f92cb Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 8 Apr 2013 15:41:31 +0200 Subject: [PATCH] OO-420: bookmarks list and portlet based on the mark service --- .../org/olat/bookmark/BookmarkImpl.hbm.xml | 38 -- .../olat/core/commons/services/mark/Mark.java | 2 + .../commons/services/mark/ui/Bookmark.java | 97 ++++ .../services/mark/ui/BookmarksController.java | 229 ++++++++++ .../services/mark/ui/BookmarksPortlet.java | 114 +++++ .../ui/BookmarksPortletRunController.java | 415 ++++++++++++++++++ .../mark/ui/_content/bookmarksPortlet.html | 4 + .../mark/ui/_i18n/LocalStrings_ar.properties | 30 ++ .../mark/ui/_i18n/LocalStrings_bg.properties | 30 ++ .../mark/ui/_i18n/LocalStrings_cs.properties | 30 ++ .../mark/ui/_i18n/LocalStrings_da.properties | 24 + .../mark/ui/_i18n/LocalStrings_de.properties | 30 ++ .../mark/ui/_i18n/LocalStrings_el.properties | 30 ++ .../mark/ui/_i18n/LocalStrings_en.properties | 30 ++ .../mark/ui/_i18n/LocalStrings_es.properties | 30 ++ .../ui/_i18n/LocalStrings_et_EE.properties | 6 + .../mark/ui/_i18n/LocalStrings_fa.properties | 24 + .../mark/ui/_i18n/LocalStrings_fr.properties | 30 ++ .../mark/ui/_i18n/LocalStrings_it.properties | 30 ++ .../mark/ui/_i18n/LocalStrings_jp.properties | 29 ++ .../mark/ui/_i18n/LocalStrings_lt.properties | 24 + .../ui/_i18n/LocalStrings_nl_NL.properties | 30 ++ .../mark/ui/_i18n/LocalStrings_pl.properties | 30 ++ .../ui/_i18n/LocalStrings_pt_BR.properties | 30 ++ .../ui/_i18n/LocalStrings_pt_PT.properties | 24 + .../mark/ui/_i18n/LocalStrings_ru.properties | 30 ++ .../mark/ui/_i18n/LocalStrings_sq.properties | 30 ++ .../ui/_i18n/LocalStrings_zh_CN.properties | 30 ++ .../ui/_i18n/LocalStrings_zh_TW.properties | 30 ++ .../ui/_i18n/i18nBundleMetadata.properties | 2 + .../org/olat/home/_spring/homeContext.xml | 21 + .../org/olat/_spring/portalContext.xml | 4 + 32 files changed, 1499 insertions(+), 38 deletions(-) delete mode 100644 src/main/java/org/olat/bookmark/BookmarkImpl.hbm.xml create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/Bookmark.java create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/BookmarksController.java create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/BookmarksPortlet.java create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/BookmarksPortletRunController.java create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_content/bookmarksPortlet.html create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_ar.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_bg.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_cs.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_da.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_de.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_el.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_en.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_es.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_et_EE.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_fa.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_fr.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_it.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_jp.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_lt.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_nl_NL.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_pl.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_pt_BR.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_pt_PT.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_ru.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_sq.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_zh_CN.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_zh_TW.properties create mode 100644 src/main/java/org/olat/core/commons/services/mark/ui/_i18n/i18nBundleMetadata.properties diff --git a/src/main/java/org/olat/bookmark/BookmarkImpl.hbm.xml b/src/main/java/org/olat/bookmark/BookmarkImpl.hbm.xml deleted file mode 100644 index ef8646876de..00000000000 --- a/src/main/java/org/olat/bookmark/BookmarkImpl.hbm.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE hibernate-mapping PUBLIC - "-//Hibernate/Hibernate Mapping DTD//EN" - "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> - -<hibernate-mapping default-lazy="false"> - <class name="org.olat.bookmark.BookmarkImpl" table="o_bookmark"> - - <cache usage="transactional" /> - - <id name="key" column="bookmark_id" type="long" unsaved-value="null"> - <generator class="hilo"/> - </id> - - <version name="version" access="field" column="version" type="int"/> - <property name="creationDate" column="creationdate" type="timestamp" /> - - <many-to-one - name="owner" - class="org.olat.basesecurity.IdentityImpl" - column="owner_id" - outer-join="true" - cascade="none" - not-null="true"/> - - <property name="title" unique="false" not-null="true" length="255" /> - <property name="description" type="string"> - <column name="description" unique="false" not-null="false" length="16777210"/> - </property> - <property name="detaildata" unique="false" not-null="false" length="255" /> - - <property name="displayrestype" unique="false" not-null="true" length="50" /> - <property name="olatrestype" unique="false" not-null="true" length="50" /> - <property name="olatreskey" type="long" not-null="false" /> - - </class> -</hibernate-mapping> - diff --git a/src/main/java/org/olat/core/commons/services/mark/Mark.java b/src/main/java/org/olat/core/commons/services/mark/Mark.java index 6fbd2dd285a..c53592e2a4e 100644 --- a/src/main/java/org/olat/core/commons/services/mark/Mark.java +++ b/src/main/java/org/olat/core/commons/services/mark/Mark.java @@ -33,6 +33,8 @@ import org.olat.core.id.OLATResourceable; */ public interface Mark { + public Long getKey(); + public boolean isMarked(); public OLATResourceable getOLATResourceable(); diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/Bookmark.java b/src/main/java/org/olat/core/commons/services/mark/ui/Bookmark.java new file mode 100644 index 00000000000..94d3ca7e1e6 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/Bookmark.java @@ -0,0 +1,97 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <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 the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <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> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.core.commons.services.mark.ui; + +import java.util.Date; + +import org.olat.core.commons.services.mark.Mark; +import org.olat.core.id.OLATResourceable; +import org.olat.group.BusinessGroup; +import org.olat.repository.RepositoryEntry; + +/** + * Internal wrapper + * + * @author srosse + * + */ +class Bookmark { + + private final Mark mark; + private final String title; + private final String description; + private final Date creationDate; + private final String displayrestype; + private int statusCode; + + public Bookmark(Mark mark, RepositoryEntry entry) { + this.mark = mark; + title = entry.getDisplayname(); + description = entry.getDescription(); + statusCode = entry.getStatusCode(); + creationDate = entry.getCreationDate(); + displayrestype = entry.getOlatResource().getResourceableTypeName(); + } + + public Bookmark(Mark mark, BusinessGroup group) { + this.mark = mark; + title = group.getName(); + description = group.getDescription(); + statusCode = -1; + creationDate = group.getCreationDate(); + displayrestype = group.getResourceableTypeName(); + } + + public Long getKey() { + return mark.getKey(); + } + + public String getTitle() { + return title; + } + + public String getDescription() { + return description; + } + + public Date getCreationDate() { + return creationDate; + } + + public String getDisplayrestype() { + return displayrestype; + } + + public int getStatusCode() { + return statusCode; + } + + public OLATResourceable getOLATResourceable() { + return mark.getOLATResourceable(); + } + + public String getResSubPath() { + return mark.getResSubPath(); + } + + public String getBusinessPath() { + return mark.getBusinessPath(); + } +} diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/BookmarksController.java b/src/main/java/org/olat/core/commons/services/mark/ui/BookmarksController.java new file mode 100644 index 00000000000..a701176da78 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/BookmarksController.java @@ -0,0 +1,229 @@ +/** +* 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. +* <hr> +* <a href="http://www.openolat.org"> +* OpenOLAT - Online Learning and Training</a><br> +* This file has been modified by the OpenOLAT community. Changes are licensed +* under the Apache 2.0 license as the original file. +*/ + +package org.olat.core.commons.services.mark.ui; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import org.olat.ControllerFactory; +import org.olat.NewControllerFactory; +import org.olat.core.CoreSpringFactory; +import org.olat.core.commons.services.mark.Mark; +import org.olat.core.commons.services.mark.MarkManager; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.table.DefaultColumnDescriptor; +import org.olat.core.gui.components.table.DefaultTableDataModel; +import org.olat.core.gui.components.table.StaticColumnDescriptor; +import org.olat.core.gui.components.table.Table; +import org.olat.core.gui.components.table.TableController; +import org.olat.core.gui.components.table.TableDataModel; +import org.olat.core.gui.components.table.TableEvent; +import org.olat.core.gui.components.table.TableGuiConfiguration; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.controller.BasicController; +import org.olat.core.gui.control.generic.modal.DialogBoxController; +import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory; +import org.olat.core.gui.translator.PackageTranslator; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryEntryStatus; +import org.olat.repository.RepositoryManager; + +/** + * Description: + * + * @author Sabina Jeger + */ +public class BookmarksController extends BasicController { + + private TableController tableCtr; + private DialogBoxController dc; + + /** constructor constant to search for all repository entry types * */ + private final List<String> types = Collections.singletonList("RepositoryEntry"); + + private final MarkManager markManager; + private final RepositoryManager repositoryManager; + + /** + * Constructor for bookmark list and manage controller. The controller can be + * configured using the allowEdit flag in the constructor and restrict the + * search to specific repository entry types using the type attribute. + * + * @param ureq The user request + * @param wControl The window controller + */ + public BookmarksController(UserRequest ureq, WindowControl wControl) { + super(ureq, wControl); + + markManager = CoreSpringFactory.getImpl(MarkManager.class); + repositoryManager = RepositoryManager.getInstance(); + + TableGuiConfiguration tableConfig = new TableGuiConfiguration(); + tableConfig.setDownloadOffered(false); + tableConfig.setTableEmptyMessage(translate("bookmarks.nobookmarks")); + tableCtr = new TableController(tableConfig, ureq, getWindowControl(), getTranslator()); + tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.bm.title", 0, "choose", getLocale())); + tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.bm.resource", 1, null, getLocale())); + tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.bm.description", 2, null, getLocale())); + tableCtr.addColumnDescriptor(new StaticColumnDescriptor("delete", "table.header.delete", translate("action.delete"))); + listenTo(tableCtr); + + populateBmTable(); + putInitialPanel(tableCtr.getInitialComponent()); + } + + /** + * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, + * org.olat.core.gui.components.Component, org.olat.core.gui.control.Event) + */ + public void event(UserRequest ureq, Component source, Event event) { + // no events + } + + /** + * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, + * org.olat.core.gui.control.Controller, org.olat.core.gui.control.Event) + */ + public void event(UserRequest ureq, Controller source, Event event) { + // if row has been cklicked + if (source == tableCtr) { + if (event.getCommand().equals(Table.COMMANDLINK_ROWACTION_CLICKED)) { + TableEvent te = (TableEvent) event; + String actionid = te.getActionId(); + int rowid = te.getRowId(); + Bookmark bookmark = (Bookmark)tableCtr.getTableDataModel().getObject(rowid); + if (actionid.equals("choose")) { + String businessPath = bookmark.getBusinessPath(); + NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl()); + } else if (actionid.equals("delete")) { + dc = activateYesNoDialog(ureq, null, translate("bookmark.delete.willyou"), dc); + dc.setUserObject(bookmark); + } + } + } else if (source == dc) { + if (DialogBoxUIFactory.isYesEvent(event)) { + Bookmark bookmark = (Bookmark)dc.getUserObject(); + markManager.deleteMark(bookmark.getOLATResourceable(), bookmark.getResSubPath()); + showInfo("bookmark.delete.successfull"); + populateBmTable(); + } + } + } + + private void populateBmTable() { + List<Mark> marks = markManager.getMarks(getIdentity(), types); + List<Bookmark> bookmarks = convertMarkToBookmark(marks); + TableDataModel<Bookmark> tdm = new BmTableDataModel(bookmarks, getLocale()); + tableCtr.setTableDataModel(tdm); + } + + private List<Bookmark> convertMarkToBookmark(List<Mark> items) { + List<Bookmark> convertedList = new ArrayList<Bookmark>(); + + List<Long> reKeys = new ArrayList<Long>(); + for(Mark mark:items) { + reKeys.add(mark.getOLATResourceable().getResourceableId()); + } + + List<RepositoryEntry> repositoryEntries = repositoryManager.lookupRepositoryEntries(reKeys); + Map<Long,RepositoryEntry> keyToRepositoryEntryMap = new HashMap<Long,RepositoryEntry>(); + for(RepositoryEntry repositoryEntry:repositoryEntries) { + keyToRepositoryEntryMap.put(repositoryEntry.getKey(), repositoryEntry); + } + + for(Mark mark:items) { + RepositoryEntry repositoryEntry = keyToRepositoryEntryMap.get(mark.getOLATResourceable().getResourceableId()); + convertedList.add(new Bookmark(mark, repositoryEntry)); + } + return convertedList; + } + + /** + * @see org.olat.core.gui.control.DefaultController#doDispose(boolean) + */ + protected void doDispose() { + // disposed by BasicController + } + + private class BmTableDataModel extends DefaultTableDataModel<Bookmark> { + private Locale locale; + + /** + * @param objects + * @param locale + */ + public BmTableDataModel(List<Bookmark> objects, Locale locale) { + super(objects); + this.locale = locale; + } + + /** + * @see org.olat.core.gui.components.table.TableDataModel#getValueAt(int, int) + */ + public final Object getValueAt(int row, int col) { + Bookmark bm = getObject(row); + switch (col) { + case 0: + return getBookmarkTitle(bm); + case 1: + String resType = bm.getDisplayrestype(); + return (resType == null ? "n/a" : ControllerFactory.translateResourceableTypeName(resType, locale)); + case 2: + String desc = bm.getDescription(); + return (desc == null ? "n/a" : desc); + default: + return "error"; + } + } + + /** + * @see org.olat.core.gui.components.table.TableDataModel#getColumnCount() + */ + public int getColumnCount() { + return 3; + } + + /** + * Get displayname of a bookmark entry. If bookmark entry a RepositoryEntry + * and is this RepositoryEntry closed then add a prefix to the title. + */ + private String getBookmarkTitle(Bookmark bookmark) { + String title = bookmark.getTitle(); + if (RepositoryManager.getInstance().createRepositoryEntryStatus(bookmark.getStatusCode()).isClosed()) { + PackageTranslator pT = new PackageTranslator(RepositoryEntryStatus.class.getPackage().getName(), locale); + title = "[" + pT.translate("title.prefix.closed") + "] ".concat(title); + } + return title; + } + } +} diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/BookmarksPortlet.java b/src/main/java/org/olat/core/commons/services/mark/ui/BookmarksPortlet.java new file mode 100644 index 00000000000..9586016ef2f --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/BookmarksPortlet.java @@ -0,0 +1,114 @@ +/** +* 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. +* <hr> +* <a href="http://www.openolat.org"> +* OpenOLAT - Online Learning and Training</a><br> +* This file has been modified by the OpenOLAT community. Changes are licensed +* under the Apache 2.0 license as the original file. +*/ + +package org.olat.core.commons.services.mark.ui; + +import java.util.Map; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.Component; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.generic.portal.AbstractPortlet; +import org.olat.core.gui.control.generic.portal.Portlet; +import org.olat.core.gui.control.generic.portal.PortletToolController; +import org.olat.core.gui.translator.Translator; +import org.olat.core.util.Util; +/** + * Description:<br> + * Displays the list of most used bookmarks + * <P> + * Initial Date: 08.07.2005 <br> + * @author gnaegi + */ +public class BookmarksPortlet extends AbstractPortlet { + + private BookmarksPortletRunController runCtr; + + /** + * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, java.util.Map) + */ + public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) { + Translator translator = Util.createPackageTranslator(BookmarksPortlet.class, ureq.getLocale()); + Portlet p = new BookmarksPortlet(); + p.setName(this.getName()); + p.setConfiguration(configuration); + p.setTranslator(translator); + return p; + } + + /** + * @see org.olat.gui.control.generic.portal.Portlet#getTitle() + */ + public String getTitle() { + return getTranslator().translate("bookmarksPortlet.title"); + } + + /** + * @see org.olat.gui.control.generic.portal.Portlet#getDescription() + */ + public String getDescription() { + return getTranslator().translate("bookmarksPortlet.description"); + } + + /** + * @see org.olat.gui.control.generic.portal.Portlet#getInitialRunComponent(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest) + */ + public Component getInitialRunComponent(WindowControl wControl, UserRequest ureq) { + if(this.runCtr != null) runCtr.dispose(); + this.runCtr = new BookmarksPortletRunController(wControl, ureq, getTranslator(), this.getName()); + return this.runCtr.getInitialComponent(); + } + + /** + * @see org.olat.core.gui.control.Disposable#dispose(boolean) + */ + public void dispose() { + disposeRunComponent(); + } + + /** + * @see org.olat.gui.control.generic.portal.Portlet#getCssClass() + */ + public String getCssClass() { + return "o_portlet_bookmark"; + } + + /** + * @see org.olat.gui.control.generic.portal.Portlet#disposeRunComponent(boolean) + */ + public void disposeRunComponent() { + if (this.runCtr != null) { + this.runCtr.dispose(); + this.runCtr = null; + } + } + + public PortletToolController<Bookmark> getTools(UserRequest ureq, WindowControl wControl) { + if (runCtr == null ) { + this.runCtr = new BookmarksPortletRunController(wControl, ureq, getTranslator(), this.getName()); + } + return runCtr.createSortingTool(ureq, wControl); + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/BookmarksPortletRunController.java b/src/main/java/org/olat/core/commons/services/mark/ui/BookmarksPortletRunController.java new file mode 100644 index 00000000000..d31de3a1e83 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/BookmarksPortletRunController.java @@ -0,0 +1,415 @@ +/** +* 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. +* <hr> +* <a href="http://www.openolat.org"> +* OpenOLAT - Online Learning and Training</a><br> +* This file has been modified by the OpenOLAT community. Changes are licensed +* under the Apache 2.0 license as the original file. +*/ + +package org.olat.core.commons.services.mark.ui; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import org.apache.commons.lang.StringEscapeUtils; +import org.olat.ControllerFactory; +import org.olat.NewControllerFactory; +import org.olat.core.CoreSpringFactory; +import org.olat.core.commons.services.mark.Mark; +import org.olat.core.commons.services.mark.MarkManager; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.link.Link; +import org.olat.core.gui.components.link.LinkFactory; +import org.olat.core.gui.components.table.ColumnDescriptor; +import org.olat.core.gui.components.table.DefaultColumnDescriptor; +import org.olat.core.gui.components.table.Table; +import org.olat.core.gui.components.table.TableController; +import org.olat.core.gui.components.table.TableEvent; +import org.olat.core.gui.components.table.TableGuiConfiguration; +import org.olat.core.gui.components.velocity.VelocityContainer; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.generic.portal.AbstractPortletRunController; +import org.olat.core.gui.control.generic.portal.PortletDefaultTableDataModel; +import org.olat.core.gui.control.generic.portal.PortletEntry; +import org.olat.core.gui.control.generic.portal.PortletToolSortingControllerImpl; +import org.olat.core.gui.control.generic.portal.SortingCriteria; +import org.olat.core.gui.translator.PackageTranslator; +import org.olat.core.gui.translator.Translator; +import org.olat.core.id.context.BusinessControl; +import org.olat.core.id.context.BusinessControlFactory; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryEntryStatus; +import org.olat.repository.RepositoryManager; + +/** + * Description:<br> + * Run view controller for the groups list portlet + * <P> + * Initial Date: 11.07.2005 <br> + * @author gnaegi + */ +public class BookmarksPortletRunController extends AbstractPortletRunController<Bookmark> { + + private static final String CMD_LAUNCH = "cmd.launch"; + + private TableController tableCtr; + private BookmarkPortletTableDataModel bookmarkListModel; + private VelocityContainer bookmarksVC; + private Link showAllLink; + + private final MarkManager markManager; + private final RepositoryManager repositoryManager; + private final List<String> types = Collections.singletonList("RepositoryEntry"); + + /** + * Constructor + * @param ureq + * @param component + */ + public BookmarksPortletRunController(WindowControl wControl, UserRequest ureq, Translator trans, String portletName) { + super(wControl, ureq, trans, portletName); + sortingTermsList.add(SortingCriteria.TYPE_SORTING); + sortingTermsList.add(SortingCriteria.ALPHABETICAL_SORTING); + sortingTermsList.add(SortingCriteria.DATE_SORTING); + + repositoryManager = RepositoryManager.getInstance(); + markManager = CoreSpringFactory.getImpl(MarkManager.class); + + bookmarksVC = createVelocityContainer("bookmarksPortlet"); + showAllLink = LinkFactory.createLink("bookmarksPortlet.showAll", bookmarksVC, this); + + TableGuiConfiguration tableConfig = new TableGuiConfiguration(); + tableConfig.setTableEmptyMessage(trans.translate("bookmarksPortlet.nobookmarks")); + tableConfig.setDisplayTableHeader(false); + tableConfig.setCustomCssClass("b_portlet_table"); + tableConfig.setDisplayRowCount(false); + tableConfig.setPageingEnabled(false); + tableConfig.setDownloadOffered(false); + //disable the default sorting for this table + tableConfig.setSortingEnabled(false); + tableCtr = new TableController(tableConfig, ureq, getWindowControl(), trans); + listenTo(tableCtr); + // dummy header key, won't be used since setDisplayTableHeader is set to false + tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("bookmarksPortlet.bgname", 0, CMD_LAUNCH, trans.getLocale())); + tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("bookmarksPortlet.type", 1, null, trans.getLocale(), ColumnDescriptor.ALIGNMENT_RIGHT)); + + sortingCriteria = getPersistentSortingConfiguration(ureq); + reloadModel(sortingCriteria); + + bookmarksVC.put("table", tableCtr.getInitialComponent()); + putInitialPanel(bookmarksVC); + } + + /** + * Gets all bookmarks for this identity and converts the list into an PortletEntry list. + * @param ureq + * @return + */ + private List<PortletEntry<Bookmark>> getAllPortletEntries() { + List<Mark> markList = markManager.getMarks(getIdentity(), types); + List<Bookmark> bookmarkList = convertMarkToBookmark(markList); + return convertBookmarkToPortletEntryList(bookmarkList); + } + + /** + * Converts list. + * @param items + * @return + */ + private List<PortletEntry<Bookmark>> convertBookmarkToPortletEntryList(List<Bookmark> items) { + List<PortletEntry<Bookmark>> convertedList = new ArrayList<PortletEntry<Bookmark>>(); + for(Bookmark mark:items) { + convertedList.add(new BookmarkPortletEntry(mark)); + } + return convertedList; + } + + private List<Bookmark> convertMarkToBookmark(List<Mark> items) { + List<Bookmark> convertedList = new ArrayList<Bookmark>(); + + List<Long> reKeys = new ArrayList<Long>(); + for(Mark mark:items) { + reKeys.add(mark.getOLATResourceable().getResourceableId()); + } + + List<RepositoryEntry> repositoryEntries = repositoryManager.lookupRepositoryEntries(reKeys); + Map<Long,RepositoryEntry> keyToRepositoryEntryMap = new HashMap<Long,RepositoryEntry>(); + for(RepositoryEntry repositoryEntry:repositoryEntries) { + keyToRepositoryEntryMap.put(repositoryEntry.getKey(), repositoryEntry); + } + + for(Mark mark:items) { + RepositoryEntry repositoryEntry = keyToRepositoryEntryMap.get(mark.getOLATResourceable().getResourceableId()); + convertedList.add(new Bookmark(mark, repositoryEntry)); + } + return convertedList; + } + + /** + * Reloads the bookmarks table model according with the input SortingCriteria. + * It first evaluate the sortingCriteria type; if auto get bookmarks from BookmarkManager + * and sort the item list according with the sortingCriteria. + * Else get the manually sorted list. + * @param identity + * @param sortingCriteria + */ + protected void reloadModel(SortingCriteria sortingCriteria) { + if (sortingCriteria.getSortingType() == SortingCriteria.AUTO_SORTING) { + List<Mark> markList = markManager.getMarks(getIdentity(), types); + List<Bookmark> bookmarkList = convertMarkToBookmark(markList); + bookmarkList = getSortedList(bookmarkList, sortingCriteria ); + + List<PortletEntry<Bookmark>> entries = convertBookmarkToPortletEntryList(bookmarkList); + bookmarkListModel = new BookmarkPortletTableDataModel(entries, getLocale()); + tableCtr.setTableDataModel(bookmarkListModel); + } else { + reloadModel(this.getPersistentManuallySortedItems()); + } + } + + /** + * Sets the table model if the sorted items list is already available. + * @param ureq + * @param sortedItems + */ + protected void reloadModel(List<PortletEntry<Bookmark>> sortedItems) { + bookmarkListModel = new BookmarkPortletTableDataModel(sortedItems, getLocale()); + tableCtr.setTableDataModel(bookmarkListModel); + } + + /** + * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.components.Component, org.olat.core.gui.control.Event) + */ + public void event(UserRequest ureq, Component source, Event event) { + if (source == showAllLink){ + // activate homes tab in top navigation and active bookmarks menu item + String resourceUrl = "[HomeSite:" + ureq.getIdentity().getKey() + "][bookmarks:0]"; + BusinessControl bc = BusinessControlFactory.getInstance().createFromString(resourceUrl); + WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(bc, getWindowControl()); + NewControllerFactory.getInstance().launch(ureq, bwControl); + } + } + + /** + * @see org.olat.core.gui.control.ControllerEventListener#dispatchEvent(org.olat.core.gui.UserRequest, org.olat.core.gui.control.Controller, org.olat.core.gui.control.Event) + */ + @Override + public void event(UserRequest ureq, Controller source, Event event) { + super.event(ureq, source, event); + if (source == tableCtr) { + if (event.getCommand().equals(Table.COMMANDLINK_ROWACTION_CLICKED)) { + TableEvent te = (TableEvent) event; + String actionid = te.getActionId(); + if (actionid.equals(CMD_LAUNCH)) { + int rowid = te.getRowId(); + PortletEntry<Bookmark> bookmark = bookmarkListModel.getObject(rowid); + String businessPath = bookmark.getValue().getBusinessPath(); + NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl()); + } + } + } + } + + + /** + * Retrieve the persistent manually sorted items for the current portlet. + * @param ureq + * @return + */ + private List<PortletEntry<Bookmark>> getPersistentManuallySortedItems() { + List<PortletEntry<Bookmark>> entries = getAllPortletEntries(); + return getPersistentManuallySortedItems(entries); + } + + /** + * Retrieves the persistent sortingCriteria and the persistent manually sorted, if any, + * creates the table model for the manual sorting, and instantiates the PortletToolSortingControllerImpl. + * @param ureq + * @param wControl + * @return a PortletToolSortingControllerImpl istance. + */ + protected PortletToolSortingControllerImpl<Bookmark> createSortingTool(UserRequest ureq, WindowControl wControl) { + if(portletToolsController==null) { + List<PortletEntry<Bookmark>> entries = getAllPortletEntries(); + PortletDefaultTableDataModel<Bookmark> tableDataModel = new BookmarkManualSortingTableDataModel(entries, ureq.getLocale()); + + List<PortletEntry<Bookmark>> sortedItems = getPersistentManuallySortedItems(); + + portletToolsController = new PortletToolSortingControllerImpl<Bookmark>(ureq, wControl, getTranslator(), sortingCriteria, tableDataModel, sortedItems); + listenTo(portletToolsController); + portletToolsController.setConfigManualSorting(true); + portletToolsController.setConfigAutoSorting(true); + } + return portletToolsController; + } + + /** + * Comparator implementation used for sorting bookmarks entries according with the + * input sortingCriteria. + * <p> + * @param sortingCriteria + * @return a Comparator for the input sortingCriteria + */ + protected Comparator<Bookmark> getComparator(final SortingCriteria sortingCriteria) { + return new Comparator<Bookmark>(){ + public int compare(final Bookmark bookmark1, final Bookmark bookmark2) { + int comparisonResult = 0; + if(sortingCriteria.getSortingTerm()==SortingCriteria.ALPHABETICAL_SORTING) { + comparisonResult = collator.compare(bookmark1.getTitle(), bookmark2.getTitle()); + } else if(sortingCriteria.getSortingTerm()==SortingCriteria.DATE_SORTING) { + comparisonResult = bookmark1.getCreationDate().compareTo(bookmark2.getCreationDate()); + } else if(sortingCriteria.getSortingTerm()==SortingCriteria.TYPE_SORTING) { + comparisonResult = bookmark1.getDisplayrestype().compareTo(bookmark2.getDisplayrestype()); + } + if(!sortingCriteria.isAscending()) { + //if not isAscending return (-comparisonResult) + return -comparisonResult; + } + return comparisonResult; + }}; + } + + /** + * + * PortletDefaultTableDataModel implementation for the current portlet. + * + * <P> + * Initial Date: 10.12.2007 <br> + * @author Lavinia Dumitrescu + */ + private static class BookmarkPortletTableDataModel extends PortletDefaultTableDataModel<Bookmark> { + private final Locale locale; + + public BookmarkPortletTableDataModel(List<PortletEntry<Bookmark>> objects, Locale locale) { + super(objects, 2); + this.locale = locale; + } + + public Object getValueAt(int row, int col) { + PortletEntry<Bookmark> entry = getObject(row); + Bookmark bookmark = entry.getValue(); + switch (col) { + case 0: + String name = getBookmarkTitle(bookmark); + name = StringEscapeUtils.escapeHtml(name).toString(); + return name; + case 1: + String resType = bookmark.getDisplayrestype(); + return ControllerFactory.translateResourceableTypeName(resType, locale); + default: + return "ERROR"; + } + } + + /** + * Get displayname of a bookmark entry. If bookmark entry a RepositoryEntry + * and is this RepositoryEntry closed then add a prefix to the title. + */ + private String getBookmarkTitle(Bookmark bookmark) { + String title = bookmark.getTitle(); + if (RepositoryManager.getInstance().createRepositoryEntryStatus(bookmark.getStatusCode()).isClosed()) { + PackageTranslator pT = new PackageTranslator(RepositoryEntryStatus.class.getPackage().getName(), locale); + title = "[" + pT.translate("title.prefix.closed") + "] ".concat(title); + } + return title; + } + } + + + /** + * + * Description:<br> + * TableDataModel implementation for the bookmark manual sorting. + * + * <P> + * Initial Date: 23.11.2007 <br> + * @author Lavinia Dumitrescu + */ + private static class BookmarkManualSortingTableDataModel extends PortletDefaultTableDataModel<Bookmark> { + private final Locale locale; + + /** + * @param objects + * @param locale + */ + public BookmarkManualSortingTableDataModel(List<PortletEntry<Bookmark>> objects, Locale locale) { + super(objects, 4); + this.locale = locale; + } + + /** + * @see org.olat.core.gui.components.table.TableDataModel#getValueAt(int, int) + */ + public final Object getValueAt(int row, int col) { + PortletEntry<Bookmark> entry = getObject(row); + Bookmark bm = entry.getValue(); + switch (col) { + case 0: + return bm.getTitle(); + case 1: + String desc = bm.getDescription(); + return (desc == null ? "n/a" : desc); + case 2: + String resType = bm.getDisplayrestype(); + return (resType == null ? "n/a" : ControllerFactory.translateResourceableTypeName(resType, locale)); + case 3: + Date date = bm.getCreationDate(); + //return DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, getTranslator().getLocale()).format(date); + //return date else the sorting doesn't work properly + return date; + default: + return "error"; + } + } + } + + /** + * + * PortletEntry impl for Bookmark values. + * + * <P> + * Initial Date: 10.12.2007 <br> + * @author Lavinia Dumitrescu + */ + private static class BookmarkPortletEntry implements PortletEntry<Bookmark> { + private final Bookmark mark; + + public BookmarkPortletEntry(Bookmark mark) { + this.mark = mark; + } + + public Long getKey() { + return mark.getKey(); + } + + public Bookmark getValue() { + return mark; + } + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_content/bookmarksPortlet.html b/src/main/java/org/olat/core/commons/services/mark/ui/_content/bookmarksPortlet.html new file mode 100644 index 00000000000..1a3c570f598 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_content/bookmarksPortlet.html @@ -0,0 +1,4 @@ +<div class="b_portlet_showall"> + $r.render("bookmarksPortlet.showAll") +</div> +$r.render("table") diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_ar.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_ar.properties new file mode 100644 index 00000000000..384a81fd421 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_ar.properties @@ -0,0 +1,30 @@ +#Wed Feb 24 11:14:37 CET 2010 +action.choose=\u0627\u062E\u062A\u064A\u0627\u0631 +action.delete=\u062D\u0630\u0641 +bookmark.delete.successfull=\u062A\u0645 \u062D\u0630\u0641 \u0627\u0644\u0645\u0641\u0636\u0644\u0629. +bookmark.delete.unsuccessfull=\u0644\u0627 \u064A\u0645\u0643\u0646 \u062D\u0630\u0641 \u0627\u0644\u0645\u0641\u0636\u0644\u0629. +bookmark.delete.willyou=\u0647\u0644 \u062A\u0631\u064A\u062F \u062D\u0630\u0641 \u0647\u0630\u0647 \u0627\u0644\u0645\u0641\u0636\u0644\u0629\u061F +bookmarks.nobookmarks=\u0644\u0645 \u064A\u062A\u0645 \u062D\u0641\u0638 \u0623\u0649 \u0645\u0648\u0627\u0642\u0639 \u0645\u0641\u0636\u0644\u0629 \u0634\u062E\u0635\u064A\u0629. +bookmarks.title=\u0627\u0644\u0645\u0641\u0636\u0644\u0627\u062A \u0627\u0644\u062E\u0627\u0635\u0629 \u0628\u0649 +bookmarksPortlet.auto.sorting.title=\u062A\u0631\u062A\u064A\u0628 \u062A\u0644\u0642\u0627\u0626\u0649 \u0644\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u0645\u0641\u0636\u0644\u0629 +bookmarksPortlet.description=\u062F\u062E\u0648\u0644 \u0633\u0631\u064A\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u0645\u0641\u0636\u0644\u0629 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645\u0629 \u0628\u0627\u0633\u062A\u0645\u0631\u0627\u0631. +bookmarksPortlet.manual.sorting.title=\u062A\u0631\u062A\u064A\u0628 \u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u0645\u0641\u0636\u0644\u0629 \u064A\u062F\u0648\u064A\u0627\u064B +bookmarksPortlet.nobookmarks=\u0644\u0627 \u062A\u0648\u062C\u062F \u0644\u062F\u064A\u0643 \u0645\u0648\u0627\u0642\u0639 \u0645\u0641\u0636\u0644\u0629. +bookmarksPortlet.showAll=\u0639\u0631\u0636 \u0627\u0644\u0643\u0644 +bookmarksPortlet.title=\u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u0645\u0641\u0636\u0644\u0629 \u0627\u0644\u062E\u0627\u0635\u0629 \u0628\u0649 +error.title.empty=\u064A\u0631\u062C\u0649 \u0625\u062F\u062E\u0627\u0644 \u0627\u0644\u0639\u0646\u0648\u0627\u0646. +form.bmdescription=\u0627\u0644\u0648\u0635\u0641 +form.bmtitle=\u0627\u0644\u0639\u0646\u0648\u0627\u0646 +form.bmtype=\u0645\u0635\u062F\u0631 \u0623\u0648\u0644\u0627\u062A +table.bm.description=\u0627\u0644\u0648\u0635\u0641 +table.bm.resource=\u0646\u0648\u0639 \u0627\u0644\u0645\u0635\u062F\u0631 +table.bm.title=\u0627\u0644\u0639\u0646\u0648\u0627\u0646 +table.header.delete=\u062D\u0630\u0641 +table.header.edit=\u062A\u0639\u062F\u064A\u0644 +table.manual.sorting.date=\u0627\u0644\u062A\u0627\u0631\u064A\u062E +table.manual.sorting.description=\u0627\u0644\u0648\u0635\u0641 +table.manual.sorting.title=\u0627\u0644\u0639\u0646\u0648\u0627\u0646 +table.manual.sorting.type=\u0627\u0644\u0646\u0648\u0639 +warn.cantlaunch=\u0644\u0627 \u064A\u0645\u0643\u0646 \u0639\u0631\u0636 \u0647\u0630\u0627 \u0627\u0644\u0645\u0635\u062F\u0631\u060C \u0641\u0625\u0645\u0627 \u0623\u0646 \u0647\u0630\u0647 \u0627\u0644\u0645\u0641\u0636\u0644\u0629 \u0644\u0645 \u062A\u0639\u062F \u0635\u0627\u0644\u062D\u0629 \u0623\u0648 \u0623\u0646\u0643 \u0644\u064A\u0633 \u0644\u062F\u064A\u0643 \u0635\u0644\u0627\u062D\u064A\u0629 \u0627\u0633\u062A\u0639\u0631\u0627\u0636 \u0627\u0644\u0645\u0635\u062F\u0631 \u0630\u0649 \u0627\u0644\u0635\u0644\u0629. +menu.bookmarks=\u0627\u0644\u0645\u0641\u0636\u0644\u0627\u062A +menu.bookmarks.alt=\u0628\u062F\u0627\u064A\u0629 \u0648\u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0645\u0641\u0636\u0644\u0627\u062A \u0627\u0644\u062E\u0627\u0635\u0629 \u0628\u0649 diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_bg.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_bg.properties new file mode 100644 index 00000000000..2c75e4659bf --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_bg.properties @@ -0,0 +1,30 @@ +#Wed Jun 03 20:15:25 CEST 2009 +action.choose=\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 +action.delete=\u0418\u0437\u0442\u0440\u0438\u0439\u0442\u0435 +bookmark.delete.successfull=\u041B\u044E\u0431\u0438\u043C\u0430\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0435 \u0438\u0437\u0442\u0440\u0438\u0442\u0430. +bookmark.delete.unsuccessfull=\u041B\u044E\u0431\u0438\u043C\u0430\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0438\u0437\u0442\u0440\u0438\u0442\u0430. +bookmark.delete.willyou=\u041D\u0430\u0438\u0441\u0442\u0438\u043D\u0430 \u043B\u0438 \u0438\u0441\u043A\u0430\u0442\u0435 \u0434\u0430 \u0438\u0437\u0442\u0440\u0438\u0435\u0442\u0435 \u0442\u0430\u0437\u0438 \u043B\u044E\u0431\u0438\u043C\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430? +bookmarks.nobookmarks=\u0412\u0438\u0435 \u043D\u044F\u043C\u0430\u0442\u0435 \u0437\u0430\u043F\u0430\u0437\u0435\u043D\u0438 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438. +bookmarks.title=\u041C\u043E\u0438\u0442\u0435 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438 +bookmarksPortlet.auto.sorting.title=\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u0441\u043E\u0440\u0442\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438 +bookmarksPortlet.description=\u0411\u044A\u0440\u0437 \u0434\u043E\u0441\u0442\u044A\u043F \u0434\u043E \u0447\u0435\u0441\u0442\u043E \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u043D\u0438 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438. +bookmarksPortlet.manual.sorting.title=\u0420\u044A\u0447\u043D\u043E \u0441\u043E\u0440\u0442\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438 +bookmarksPortlet.nobookmarks=\u041D\u044F\u043C\u0430\u0442\u0435 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438 +bookmarksPortlet.showAll=\u041F\u043E\u043A\u0430\u0436\u0435\u0442\u0435 \u0432\u0441\u0438\u0447\u043A\u0438 +bookmarksPortlet.title=\u041C\u043E\u0438\u0442\u0435 \u043B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438 +error.title.empty=\u041C\u043E\u043B\u044F, \u043D\u0430\u043F\u0438\u0448\u0435\u0442\u0435 \u0437\u0430\u0433\u043B\u0430\u0432\u0438\u0435. +form.bmdescription=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 +form.bmtitle=\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 +form.bmtype=\u0421\u0438\u0441\u0442\u0435\u043C\u0435\u043D \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B +table.bm.description=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 +table.bm.resource=\u041C\u0430\u0442\u0435\u0440\u0438\u0430\u043B +table.bm.title=\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 +table.header.delete=\u0418\u0437\u0442\u0440\u0438\u0439\u0442\u0435 +table.header.edit=\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439\u0442\u0435 +table.manual.sorting.date=\u0414\u0430\u0442\u0430 +table.manual.sorting.description=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 +table.manual.sorting.title=\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 +table.manual.sorting.type=\u0412\u0438\u0434 +warn.cantlaunch=\u0422\u043E\u0437\u0438 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u043E\u043A\u0430\u0437\u0430\u043D. \u0418\u043B\u0438 \u0432\u0435\u0447\u0435 \u0435 \u043D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0438\u043B\u0438 \u0432\u0438\u0435 \u043D\u044F\u043C\u0430\u0442\u0435 \u043F\u0440\u0430\u0432\u043E \u0434\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0442\u0435 \u0441\u044A\u043E\u0442\u0432\u0435\u0442\u043D\u0438\u044F \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B. +menu.bookmarks=\u041B\u044E\u0431\u0438\u043C\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438 +menu.bookmarks.alt=\u041E\u0442\u0432\u043E\u0440\u0435\u0442\u0435 \u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439\u0442\u0435 \u043B\u044E\u0431\u0438\u043C\u0438\u0442\u0435 \u0441\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438 diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_cs.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_cs.properties new file mode 100644 index 00000000000..8d292b5c3d6 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_cs.properties @@ -0,0 +1,30 @@ +#Mon Mar 02 09:54:13 CET 2009 +action.choose=Vybrat +action.delete=Smazat +bookmark.delete.successfull=Z\u00E1lo\u017Eka byla smaz\u00E1na +bookmark.delete.unsuccessfull=Z\u00E1lo\u017Eka nem\u016F\u017Ee b\u00FDt smaz\u00E1na +bookmark.delete.willyou=Opravdu chcete smazat tuto z\u00E1lo\u017Eku? +bookmarks.nobookmarks=Nem\u00E1te zat\u00EDm \u017E\u00E1dn\u00E9 vlastn\u00ED z\u00E1lo\u017Eky +bookmarks.title=M\u00E9 z\u00E1lo\u017Eky +bookmarksPortlet.auto.sorting.title=Automatick\u00E9 \u0159azen\u00ED z\u00E1lo\u017Eek +bookmarksPortlet.description=Rychl\u00ED p\u0159\u00EDstup k nejpou\u017E\u00EDvan\u011Bj\u0161\u00EDm z\u00E1lo\u017Ek\u00E1m +bookmarksPortlet.manual.sorting.title=Ru\u010Dn\u00ED \u0159azen\u00ED z\u00E1lo\u017Eek +bookmarksPortlet.nobookmarks=Nem\u00E1te z\u00E1lo\u017Eky +bookmarksPortlet.showAll=Zobrazit v\u0161e +bookmarksPortlet.title=Moje z\u00E1lo\u017Eky +error.title.empty=Pros\u00EDm vlo\u017Ete n\u00E1zev +form.bmdescription=Popis +form.bmtitle=N\u00E1zev +form.bmtype=Zdroje OLATu +table.bm.description=Popis +table.bm.resource=Zdroj +table.bm.title=N\u00E1zev +table.header.delete=Smazat +table.header.edit=Upravit +table.manual.sorting.date=Datum +table.manual.sorting.description=Popis +table.manual.sorting.title=N\u00E1zev +table.manual.sorting.type=Typ +warn.cantlaunch=Zdroj nem\u016F\u017Ee b\u00FDt zobrazen. Z\u00E1lo\u017Eka u\u017E nen\u00ED aktu\u00E1ln\u00ED nebo nem\u00E1te nastavena p\u0159\u00EDstupov\u00E1 pr\u00E1va k tomuto zdroji. +menu.bookmarks=Z\u00E1lo\u017Eky +menu.bookmarks.alt=Spustit a upravit z\u00E1lo\u017Eky \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_da.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_da.properties new file mode 100644 index 00000000000..b7a41b95eee --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_da.properties @@ -0,0 +1,24 @@ +#Mon Mar 02 09:54:08 CET 2009 +action.choose=V\u00E6lg +action.delete=Slet +bookmark.delete.successfull=Bogm\u00E6rket blev slettet +bookmark.delete.unsuccessfull=Bogm\u00E6rket kunne ikke slettes +bookmark.delete.willyou=Vil du virkelig slette dette bogm\u00E6rke +bookmarks.nobookmarks=Du har ikke oprettet nogle bogm\u00E6rker +bookmarks.title=Mine bogm\u00E6rker +bookmarksPortlet.description=Hurtig adgang til de bogm\u00E6rker, du bruger mest +bookmarksPortlet.nobookmarks=Du har ingen bogm\u00E6rker +bookmarksPortlet.showAll=Vis alle +bookmarksPortlet.title=Mine bogm\u00E6rker +error.title.empty=Indtast venligst en titel +form.bmdescription=Beskrivelse +form.bmtitle=OLAT-ressource +form.bmtype=Titel +table.bm.description=Beskrivelse +table.bm.resource=Ressource +table.bm.title=Titel +table.header.delete=Slet +table.header.edit=Rediger +warn.cantlaunch=Ressourcen kunne ikke vises. Enten er bogm\u00E6rket ikke gyldigt l\u00E6ngere, eller ogs\u00E5 har du ikke rettigheder til at tilg\u00E5 denne ressource. +menu.bookmarks=Bogm\u00E6rker +menu.bookmarks.alt=Start og tilret mine bogm\u00E6rker diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_de.properties new file mode 100644 index 00000000000..a31d2561db5 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_de.properties @@ -0,0 +1,30 @@ +#Mon Mar 02 09:54:04 CET 2009 +action.choose=W\u00E4hlen +action.delete=L\u00F6schen +bookmark.delete.successfull=Das Bookmark wurde gel\u00F6scht. +bookmark.delete.unsuccessfull=Das Bookmark konnte nicht gel\u00F6scht werden. +bookmark.delete.willyou=Wollen Sie dieses Bookmark wirklich l\u00F6schen? +bookmarks.nobookmarks=Sie haben keine pers\u00F6nlichen Bookmarks angelegt. +bookmarks.title=Meine Bookmarks +bookmarksPortlet.auto.sorting.title=Bookmarks automatisch sortieren +bookmarksPortlet.description=Schnellzugriff zu Ihren meistbenutzten Bookmarks +bookmarksPortlet.manual.sorting.title=Bookmarks manuell sortieren +bookmarksPortlet.nobookmarks=Sie haben keine Bookmarks erstellt. +bookmarksPortlet.showAll=Alle anzeigen +bookmarksPortlet.title=Meine Bookmarks +error.title.empty=Bitte geben Sie einen Titel an. +form.bmdescription=Beschreibung +form.bmtitle=Titel +form.bmtype=OLAT-Ressource +table.bm.description=Beschreibung +table.bm.resource=Ressource +table.bm.title=Titel +table.header.delete=L\u00F6schen +table.header.edit=Bearbeiten +table.manual.sorting.date=Date +table.manual.sorting.description=Beschreibung +table.manual.sorting.title=Titel +table.manual.sorting.type=Typ +warn.cantlaunch=Die Ressource kann nicht angezeigt werden. Entweder ist das Bookmark nicht mehr g\u00FCltig, oder Sie haben nicht gen\u00FCgend Rechte, um das Bookmark auszuf\u00FChren. +menu.bookmarks=Bookmarks +menu.bookmarks.alt=Meine Bookmarks starten und editieren diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_el.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_el.properties new file mode 100644 index 00000000000..b58bf2feacf --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_el.properties @@ -0,0 +1,30 @@ +#Mon Mar 02 09:54:15 CET 2009 +action.choose=\u0395\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE +action.delete=\u0394\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03AE +bookmark.delete.successfull=\u039F \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7\u03C2 \u03B4\u03B9\u03B1\u03B3\u03C1\u03AC\u03C6\u03B7\u03BA\u03B5 +bookmark.delete.unsuccessfull=\u039F \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7\u03C2 \u03B4\u03B5\u03BD \u03B4\u03B9\u03B1\u03B3\u03C1\u03AC\u03C6\u03B7\u03BA\u03B5 +bookmark.delete.willyou=\u0395\u03AF\u03C3\u03C4\u03B5 \u03C3\u03AF\u03B3\u03BF\u03C5\u03C1\u03BF\u03B9 \u03CC\u03C4\u03B9 \u03B8\u03AD\u03BB\u03B5\u03C4\u03B5 \u03BD\u03B1 \u03B4\u03B9\u03B1\u03B3\u03C1\u03AC\u03C8\u03B5\u03C4\u03B5 \u03C4\u03BF \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7? +bookmarks.nobookmarks=\u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03B1\u03C0\u03BF\u03B8\u03B7\u03BA\u03B5\u03CD\u03C3\u03B5\u03B9 \u03BA\u03AC\u03C0\u03BF\u03B9\u03BF \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7 \u03BC\u03AD\u03C7\u03C1\u03B9 \u03C3\u03C4\u03B9\u03B3\u03BC\u03AE\u03C2. +bookmarks.title=\u03A4\u03B1 \u03B1\u03B3\u03B1\u03C0\u03B7\u03BC\u03AD\u03BD\u03B1 \u03BC\u03BF\u03C5 +bookmarksPortlet.auto.sorting.title=\u0391\u03C5\u03C4\u03CC\u03BC\u03B1\u03C4\u03B7 \u03C4\u03B1\u03BE\u03B9\u03BD\u03CC\u03BC\u03B7\u03C3\u03B7 \u03C4\u03C9\u03BD \u0391\u03B3\u03B1\u03C0\u03B7\u03BC\u03AD\u03BD\u03C9\u03BD \u03BC\u03BF\u03C5 +bookmarksPortlet.description=\u0393\u03C1\u03AE\u03B3\u03BF\u03C1\u03B7 \u03C0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7 \u03C3\u03C4\u03BF\u03C5\u03C2 \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B5\u03C2 \u03C0\u03BF\u03C5 \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03B5\u03AF\u03C4\u03B5 \u03C3\u03C5\u03C7\u03BD\u03CC\u03C4\u03B5\u03C1\u03B1 +bookmarksPortlet.manual.sorting.title=\u03A7\u03B5\u03B9\u03C1\u03BF\u03BA\u03AF\u03BD\u03B7\u03C4\u03B7 \u03C4\u03B1\u03BE\u03B9\u03BD\u03CC\u03BC\u03B7\u03C3\u03B7 \u03C4\u03C9\u03BD \u0391\u03B3\u03B1\u03C0\u03B7\u03BC\u03AD\u03BD\u03C9\u03BD \u03BC\u03BF\u03C5 +bookmarksPortlet.nobookmarks=\u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B5\u03C2 +bookmarksPortlet.showAll=\u03A0\u03C1\u03BF\u03B2\u03BF\u03BB\u03AE \u03CC\u03BB\u03C9\u03BD +bookmarksPortlet.title=\u03A4\u03B1 \u03B1\u03B3\u03B1\u03C0\u03B7\u03BC\u03AD\u03BD\u03B1 \u03BC\u03BF\u03C5 +error.title.empty=\u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03BF\u03CD\u03BC\u03B5 \u03B5\u03B9\u03C3\u03AC\u03B3\u03B5\u03C4\u03B5 \u03C4\u03AF\u03C4\u03BB\u03BF +form.bmdescription=\u03A0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE +form.bmtitle=\u03A0\u03CC\u03C1\u03BF\u03C2 OLAT +form.bmtype=\u03A4\u03AF\u03C4\u03BB\u03BF\u03C2 +table.bm.description=\u03A0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE +table.bm.resource=\u03A0\u03CC\u03C1\u03BF\u03C2 +table.bm.title=\u03A4\u03AF\u03C4\u03BB\u03BF\u03C2 +table.header.delete=\u0394\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03AE +table.header.edit=\u0395\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 +table.manual.sorting.date=\u0397\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 +table.manual.sorting.description=\u03A0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE +table.manual.sorting.title=\u03A4\u03AF\u03C4\u03BB\u03BF\u03C2 +table.manual.sorting.type=\u03A4\u03CD\u03C0\u03BF\u03C2 +warn.cantlaunch=\u039F \u03C0\u03CC\u03C1\u03BF\u03C2 \u03B4\u03B5\u03BD \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF \u03BD\u03B1 \u03C0\u03C1\u03BF\u03B2\u03BB\u03B7\u03B8\u03B5\u03AF. \u0395\u03AF\u03C4\u03B5 \u03BF \u03C3\u03B5\u03BB\u03B9\u03B4\u03BF\u03B4\u03B5\u03AF\u03BA\u03C4\u03B7\u03C2 \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2, \u03B5\u03AF\u03C4\u03B5 \u03B4\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03B4\u03B9\u03BA\u03B1\u03B9\u03CE\u03BC\u03B1\u03C4\u03B1 \u03B5\u03BA\u03C4\u03AD\u03BB\u03B5\u03C3\u03B7\u03C2 \u03C4\u03BF\u03C5 \u03C3\u03C7\u03B5\u03C4\u03B9\u03BA\u03BF\u03CD \u03C0\u03CC\u03C1\u03BF\u03C5. +menu.bookmarks=\u0391\u03B3\u03B1\u03C0\u03B7\u03BC\u03AD\u03BD\u03B1 +menu.bookmarks.alt=\u0395\u03BA\u03BA\u03AF\u03BD\u03B7\u03C3\u03B7 \u03BA\u03B1\u03B9 \u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 \u03C4\u03C9\u03BD \u03B1\u03B3\u03B1\u03C0\u03B7\u03BC\u03AD\u03BD\u03C9\u03BD \u03BC\u03BF\u03C5 diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_en.properties new file mode 100644 index 00000000000..4b530df0f57 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_en.properties @@ -0,0 +1,30 @@ +#Sun Jan 31 17:32:55 CET 2010 +action.choose=Select +action.delete=Delete +bookmark.delete.successfull=Bookmark was deleted. +bookmark.delete.unsuccessfull=Bookmark could not be deleted. +bookmark.delete.willyou=Do you really want to delete this bookmark? +bookmarks.nobookmarks=You have no personal bookmarks saved so far. +bookmarks.title=My bookmarks +bookmarksPortlet.auto.sorting.title=Automatic sorting of bookmarks +bookmarksPortlet.description=Fast access to bookmarks used frequently. +bookmarksPortlet.manual.sorting.title=Manual sorting of bookmarks +bookmarksPortlet.nobookmarks=You have no bookmarks. +bookmarksPortlet.showAll=Show all +bookmarksPortlet.title=My bookmarks +error.title.empty=Please enter a title. +form.bmdescription=Description +form.bmtitle=Title +form.bmtype=OLAT resource +table.bm.description=Description +table.bm.resource=Resource +table.bm.title=Title +table.header.delete=Delete +table.header.edit=Edit +table.manual.sorting.date=Date +table.manual.sorting.description=Description +table.manual.sorting.title=Title +table.manual.sorting.type=Type +warn.cantlaunch=This resource cannot be displayed. Either this bookmark is not valid anymore or you do not have the right to launch the relevant resource. +menu.bookmarks=Bookmarks +menu.bookmarks.alt=Start and edit my bookmarks diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_es.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_es.properties new file mode 100644 index 00000000000..d8378a853b7 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_es.properties @@ -0,0 +1,30 @@ +#Mon Mar 09 04:29:03 CET 2009 +action.choose=Seleccionar +action.delete=Eliminar +bookmark.delete.successfull=El marcador ha sido eliminado +bookmark.delete.unsuccessfull=El marcador no se puede eliminar +bookmark.delete.willyou=\u00BFEst\u00E1s seguro de que deseas eliminar esta marcador? +bookmarks.nobookmarks=No has guardado ningun marcador personal hasta ahora. +bookmarks.title=Mis marcadores +bookmarksPortlet.auto.sorting.title=Ordenar marcadores autom\u00E1ticamente +bookmarksPortlet.description=Acceso r\u00E1pido a tus marcadores m\u00E1s utilizados +bookmarksPortlet.manual.sorting.title=Ordenar marcadores manualmente +bookmarksPortlet.nobookmarks=No tienes marcadores +bookmarksPortlet.showAll=Mostar todos +bookmarksPortlet.title=Mis marcadores +error.title.empty=Por favor introduce un t\u00EDtulo +form.bmdescription=Descripci\u00F3n +form.bmtitle=T\u00EDtulo +form.bmtype=Recurso OLAT +table.bm.description=Descripci\u00F3n +table.bm.resource=Recurso +table.bm.title=T\u00EDtulo +table.header.delete=Eliminar +table.header.edit=Modificar +table.manual.sorting.date=Fecha +table.manual.sorting.description=Descripci\u00F3n +table.manual.sorting.title=T\u00EDtulo +table.manual.sorting.type=Tipo +warn.cantlaunch=El recurso no puede ser mostrado. Puede que este marcador ya no sea v\u00E1lido o que no tengas permiso para lanzar el recurso solicitado. +menu.bookmarks=Marcadores +menu.bookmarks.alt=Iniciar y editar mis marcadores \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_et_EE.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_et_EE.properties new file mode 100644 index 00000000000..e3050bb937d --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_et_EE.properties @@ -0,0 +1,6 @@ +#Sat May 30 00:01:48 CEST 2009 +bookmarksPortlet.showAll=N\u00E4ita k\u00F5iki +form.bmdescription=Kirjeldus +table.header.delete=Kustuta +table.manual.sorting.date=Kuup\u00E4ev +table.manual.sorting.description=Kirjeldus diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_fa.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_fa.properties new file mode 100644 index 00000000000..4949a372efd --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_fa.properties @@ -0,0 +1,24 @@ +#Mon Mar 02 09:54:12 CET 2009 +action.choose=\u0627\u0646\u062A\u062E\u0627\u0628 +action.delete=\u062D\u0630\u0641 +bookmark.delete.successfull=\u0641\u0647\u0631\u0633\u062A \u062D\u0630\u0641 \u0634\u062F +bookmark.delete.unsuccessfull=\u0627\u0645\u06A9\u0627\u0646 \u062D\u0630\u0641 \u0641\u0647\u0631\u0633\u062A \u0648\u062C\u0648\u062F \u0646\u062F\u0627\u0631\u062F +bookmark.delete.willyou=\u0622\u06CC\u0627 \u0648\u0627\u0642\u0639\u0627 \u0642\u0635\u062F \u062D\u0630\u0641 \u0627\u06CC\u0646 \u0641\u0647\u0631\u0633\u062A \u0631\u0627 \u062F\u0627\u0631\u06CC\u062F\u061F +bookmarks.nobookmarks=\u062A\u0627 \u06A9\u0646\u0648\u0646 \u0647\u06CC\u0686 \u0641\u0647\u0631\u0633\u062A \u0634\u062E\u0635\u06CC \u0630\u062E\u06CC\u0631\u0647 \u0646\u0634\u062F\u0647 \u0627\u0633\u062A +bookmarks.title=\u0641\u0647\u0631\u0633\u062A \u0634\u062E\u0635\u06CC +bookmarksPortlet.description=\u062F\u0633\u062A\u0631\u0633\u06CC \u0633\u0631\u06CC\u0639 \u0628\u0647 \u0641\u0647\u0631\u0633\u062A \u0647\u0627\u06CC\u06CC \u06A9\u0647 \u0628\u06CC\u0634\u062A\u0631 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647 +bookmarksPortlet.nobookmarks=\u0634\u0645\u0627 \u0641\u0647\u0631\u0633\u062A\u06CC \u0646\u062F\u0627\u0631\u06CC\u062F +bookmarksPortlet.showAll=\u0646\u0645\u0627\u06CC\u0634 \u0647\u0645\u0647 +bookmarksPortlet.title=\u0641\u0647\u0631\u0633\u062A \u0647\u0627\u06CC \u0634\u062E\u0635\u06CC +error.title.empty=\u0644\u0637\u0641\u0627 \u06CC\u06A9 \u0639\u0646\u0648\u0627\u0646 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F +form.bmdescription=\u0634\u0631\u062D +form.bmtitle=\u0645\u0646\u0627\u0628\u0639 \u0633\u06CC\u0633\u062A\u0645 +form.bmtype=\u0639\u0646\u0648\u0627\u0646 +table.bm.description=\u0634\u0631\u062D +table.bm.resource=\u0645\u0646\u0627\u0628\u0639 +table.bm.title=\u0639\u0646\u0648\u0627\u0646 +table.header.delete=\u062D\u0630\u0641 +table.header.edit=\u0648\u06CC\u0631\u0627\u06CC\u0634 +warn.cantlaunch=\u0645\u0646\u0628\u0639 \u0642\u0627\u0628\u0644 \u0646\u0645\u0627\u06CC\u0634 \u0646\u0645\u06CC \u0628\u0627\u0634\u062F.\u06CC\u0627 \u0627\u06CC\u0646 \u0641\u0647\u0631\u0633\u062A \u0645\u0639\u062A\u0628\u0631 \u0646\u0645\u06CC \u0628\u0627\u0634\u062F \u0648 \u06CC\u0627 \u0634\u0645\u0627 \u0635\u0644\u0627\u062D\u06CC\u062A \u0627\u062C\u0631\u0627\u06CC \u0645\u0646\u0628\u0639 \u0645\u0631\u0628\u0648\u0637 \u0631\u0627 \u0646\u062F\u0627\u0631\u06CC\u062F +menu.bookmarks=\u0646\u0634\u0627\u0646 \u06AF\u0630\u0627\u0631\u06CC +menu.bookmarks.alt=Start and edit my bookmarks \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_fr.properties new file mode 100644 index 00000000000..3291e09727a --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_fr.properties @@ -0,0 +1,30 @@ +#Sun Sep 05 16:11:43 CEST 2010 +action.choose=S\u00E9lectionner +action.delete=Supprimer +bookmark.delete.successfull=Ce favori a \u00E9t\u00E9 supprim\u00E9 avec succ\u00E8s +bookmark.delete.unsuccessfull=Ce favori n'a pas pu \u00EAtre supprim\u00E9 +bookmark.delete.willyou=Voulez-vous vraiment supprimer ce favori? +bookmarks.nobookmarks=Vous n'avez enregistr\u00E9 aucun favori personnel. +bookmarks.title=Mes favoris +bookmarksPortlet.auto.sorting.title=Trier les favoris automatiquement +bookmarksPortlet.description=Raccouci vers vos favoris les plus utilis\u00E9s +bookmarksPortlet.manual.sorting.title=Trier les favoris manuellement +bookmarksPortlet.nobookmarks=Vous n'avez pas cr\u00E9\u00E9 de favoris. +bookmarksPortlet.showAll=Afficher tous +bookmarksPortlet.title=Mes favoris +error.title.empty=Veuillez donner un titre SVP +form.bmdescription=Description +form.bmtitle=Titre +form.bmtype=Ressource OLAT +table.bm.description=Description +table.bm.resource=Ressource +table.bm.title=Titre +table.header.delete=Supprimer +table.header.edit=Editer +table.manual.sorting.date=Date +table.manual.sorting.description=Description +table.manual.sorting.title=Titre +table.manual.sorting.type=Type +warn.cantlaunch=La ressource ne peut pas \u00EAtre affich\u00E9e. Soit le favori n'est plus valable, soit vous ne disposez pas assez de droits pour ex\u00E9cuter le favori. +menu.bookmarks=Mes favoris +menu.bookmarks.alt=D\u00E9marrer/Editer mes favoris \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_it.properties new file mode 100644 index 00000000000..ead4ce390db --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_it.properties @@ -0,0 +1,30 @@ +#Tue Jun 22 18:33:22 CEST 2010 +action.choose=Seleziona +action.delete=Eliminare +bookmark.delete.successfull=Il segnalibro \u00E8 stato eliminato. +bookmark.delete.unsuccessfull=Non \u00E8 stato possibile eliminare il segnalibro. +bookmark.delete.willyou=Vuole veramente eliminare questo segnalibro? +bookmarks.nobookmarks=Non ha creato alcun segnalibro personale. +bookmarks.title=I miei segnalibri +bookmarksPortlet.auto.sorting.title=Ordinare i segnalibri automaticamente +bookmarksPortlet.description=Accesso rapido ai Suoi segnalibri pi\u00F9 utilizzati +bookmarksPortlet.manual.sorting.title=Ordinare i segnalibri manualmente +bookmarksPortlet.nobookmarks=Non ha creato alcun segnalibro +bookmarksPortlet.showAll=Mostrare tutti +bookmarksPortlet.title=I miei segnalibri +error.title.empty=Inserisca un titolo, p.f. +form.bmdescription=Descrizione +form.bmtitle=Titolo +form.bmtype=Risorsa OLAT +table.bm.description=Descrizione +table.bm.resource=Risorsa +table.bm.title=Titolo +table.header.delete=Eliminazione +table.header.edit=Editazione +table.manual.sorting.date=Data +table.manual.sorting.description=Descrizione +table.manual.sorting.title=Titolo +table.manual.sorting.type=Tipo +warn.cantlaunch=La risorsa non pu\u00F2 essere mostrata\: il segnalibro non \u00E8 pi\u00F9 valido, oppure Lei non possiede sufficienti diritti per utilizzarlo. +menu.bookmarks=Segnalibri +menu.bookmarks.alt=Avvio ed editazione dei miei segnalibri \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_jp.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_jp.properties new file mode 100644 index 00000000000..b2920a8b333 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_jp.properties @@ -0,0 +1,29 @@ +#Sun Dec 20 08:51:30 CET 2009 +action.choose=\u9078\u629E +action.delete=\u524A\u9664 +bookmark.delete.successfull=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u304C\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002 +bookmark.delete.unsuccessfull=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 +bookmark.delete.willyou=\u672C\u5F53\u306B\u3053\u306E\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3092\u524A\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B? +bookmarks.nobookmarks=\u73FE\u5728\u306E\u3068\u3053\u308D\u3001\u3042\u306A\u305F\u306E\u30D1\u30FC\u30BD\u30CA\u30EB\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u306F\u3042\u308A\u307E\u305B\u3093\u3002 +bookmarks.title=\u30DE\u30A4\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF +bookmarksPortlet.auto.sorting.title=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u306E\u81EA\u52D5\u4E26\u3073\u66FF\u3048 +bookmarksPortlet.description=\u983B\u7E41\u306B\u4F7F\u7528\u3059\u308B\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u306B\u9AD8\u901F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u308B\u3088\u3046\u306B\u3057\u307E\u3059\u3002 +bookmarksPortlet.manual.sorting.title=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u306E\u624B\u52D5\u4E26\u3073\u66FF\u3048 +bookmarksPortlet.nobookmarks=\u3042\u306A\u305F\u306E\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u306F\u3042\u308A\u307E\u305B\u3093\u3002 +bookmarksPortlet.showAll=\u3059\u3079\u3066\u3092\u8868\u793A\u3059\u308B +bookmarksPortlet.title=\u30DE\u30A4\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF +error.title.empty=\u30BF\u30A4\u30C8\u30EB\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 +form.bmdescription=\u8AAC\u660E +form.bmtitle=\u30BF\u30A4\u30C8\u30EB +form.bmtype=OLAT\u30EA\u30BD\u30FC\u30B9 +table.bm.description=\u8AAC\u660E +table.bm.resource=\u30EA\u30BD\u30FC\u30B9 +table.bm.title=\u30BF\u30A4\u30C8\u30EB +table.header.delete=\u524A\u9664 +table.header.edit=\u7DE8\u96C6 +table.manual.sorting.date=\u65E5\u4ED8 +table.manual.sorting.description=\u8AAC\u660E +table.manual.sorting.title=\u30BF\u30A4\u30C8\u30EB +table.manual.sorting.type=\u30BF\u30A4\u30D7 +warn.cantlaunch=\u3053\u306E\u30EA\u30BD\u30FC\u30B9\u3092\u8868\u793A\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002\u30EA\u30BD\u30FC\u30B9\u304C\u6709\u52B9\u3067\u306F\u306A\u3044\u304B\u3001\u3042\u306A\u305F\u306B\u95A2\u9023\u30EA\u30BD\u30FC\u30B9\u3078\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002 +menu.bookmarks=\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_lt.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_lt.properties new file mode 100644 index 00000000000..a3a463572bb --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_lt.properties @@ -0,0 +1,24 @@ +#Mon Mar 02 09:54:01 CET 2009 +action.choose=Pasirinkti +action.delete=I\u0161trinti +bookmark.delete.successfull=\u017Dymeklis i\u0161trintas +bookmark.delete.unsuccessfull=\u017Dymeklis negali b\u016Bti i\u0161trintas +bookmark.delete.willyou=Ar j\u016Bs tikrai norite i\u0161trinti \u0161\u012F \u017Eymekl\u012F? +bookmarks.nobookmarks=J\u016Bs neturite iki \u0161iol i\u0161saugot\u0173 savo asmenini\u0173 \u017Eymekli\u0173. +bookmarks.title=Mano \u017Eymekliai +bookmarksPortlet.description=Greitas pri\u0117jimas prie \u017Eymekli\u0173, kuriuos da\u017Eniausiai naudojate +bookmarksPortlet.nobookmarks=J\u016Bs neturite \u017Eymekli\u0173 +bookmarksPortlet.showAll=Rodyti visus +bookmarksPortlet.title=Mano \u017Eymekliai +error.title.empty=Pra\u0161ome \u012Fvesti pavadinim\u0105 +form.bmdescription=Apib\u016Bdinimas +form.bmtitle=OLAT resursai +form.bmtype=Pavadinimas +table.bm.description=Apib\u016Bdinimas +table.bm.resource=Resursai +table.bm.title=Pavadinimas +table.header.delete=I\u0161trinti +table.header.edit=Redaguoti +warn.cantlaunch=Resursai negali b\u016Bti parodyti. Arba \u0161is \u017Eymeklis yra negaliojantis arba j\u016Bs neturite teis\u0117s paleisti atatinkamus resursus. +menu.bookmarks=\u017Dym\u0117s +menu.bookmarks.alt=Sukurti ir redaguoti savo \u017Eymes \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_nl_NL.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_nl_NL.properties new file mode 100644 index 00000000000..36dad5b49a3 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_nl_NL.properties @@ -0,0 +1,30 @@ +#Thu Jun 03 11:33:14 CEST 2010 +action.choose=Selecteren +action.delete=Verwijderen +bookmark.delete.successfull=Bladwijzer is verwijderd. +bookmark.delete.unsuccessfull=Bladwijzer kon niet worden verwijderd. +bookmark.delete.willyou=Bent u zeker dat u deze bladwijzer wil verwijderen? +bookmarks.nobookmarks=U hebt nog geen persoonlijke bladwijzers opgeslagen +bookmarks.title=Mijn bladwijzers +bookmarksPortlet.auto.sorting.title=Automatische sortering van de bladwijzers +bookmarksPortlet.description=Snelle toegang tot veel gebruikte bladwijzers +bookmarksPortlet.manual.sorting.title=Handmatige sortering van de bladwijzers +bookmarksPortlet.nobookmarks=Je hebt geen bladwijzers. +bookmarksPortlet.showAll=Toon alles +bookmarksPortlet.title=Mijn bladwijzers +error.title.empty=Voer een titel in. +form.bmdescription=Beschrijving +form.bmtitle=Titel +form.bmtype=OLAT-bron +table.bm.description=\ Beschrijving +table.bm.resource=Bron +table.bm.title=Titel +table.header.delete=Verwijderen +table.header.edit=Bewerken +table.manual.sorting.date=Datum +table.manual.sorting.description=Beschrijving +table.manual.sorting.title=Titel +table.manual.sorting.type=Type +warn.cantlaunch=Deze bron kan niet worden weergegeven. De bron is ofwel niet langer geldig of u heeft geen rechten om de betreffende bron te openen. +menu.bookmarks=Bladwijzers +menu.bookmarks.alt=Mijn bladwijzers openen en bewerken \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_pl.properties new file mode 100644 index 00000000000..be058391f32 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_pl.properties @@ -0,0 +1,30 @@ +#Tue Sep 07 13:48:15 CEST 2010 +action.choose=Wybierz +action.delete=Usu\u0144 +bookmark.delete.successfull=Usuni\u0119to zak\u0142adk\u0119. +bookmark.delete.unsuccessfull=Nie uda\u0142o si\u0119 usun\u0105\u0107 zak\u0142adki. +bookmark.delete.willyou=Czy na pewno chcesz usun\u0105\u0107 zak\u0142adk\u0119? +bookmarks.nobookmarks=Nie masz \u017Cadnych zak\u0142adek. +bookmarks.title=Moje zak\u0142adki +bookmarksPortlet.auto.sorting.title=Automatyczne sortowanie zak\u0142adek. +bookmarksPortlet.description=Szybki dost\u0119p do Twoich najcz\u0119\u015Bciej u\u017Cywanych zak\u0142adek. +bookmarksPortlet.manual.sorting.title=R\u0119czne sortowanie zak\u0142adek. +bookmarksPortlet.nobookmarks=Nie masz zak\u0142adek +bookmarksPortlet.showAll=Poka\u017C wszystko +bookmarksPortlet.title=Moje zak\u0142adki +error.title.empty=Podaj tytu\u0142 +form.bmdescription=Opis +form.bmtitle=Nazwa +form.bmtype=Zas\u00F3b OLAT +table.bm.description=Opis +table.bm.resource=Zas\u00F3b +table.bm.title=Tytu\u0142 +table.header.delete=Usu\u0144 +table.header.edit=Edytuj +table.manual.sorting.date=Data +table.manual.sorting.description=Opis +table.manual.sorting.title=Nazwa +table.manual.sorting.type=Rodzaj +warn.cantlaunch=Nie mo\u017Cna wy\u015Bwietli\u0107 zasobu. Zak\u0142adka jest niewa\u017Cna, lub nie masz praw do uruchomienia tego zasobu. +menu.bookmarks=Zak\u0142adki +menu.bookmarks.alt=Zarz\u0105dzanie zak\u0142adkami \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_pt_BR.properties new file mode 100644 index 00000000000..75258ab1ffc --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_pt_BR.properties @@ -0,0 +1,30 @@ +#Mon Mar 02 09:53:59 CET 2009 +action.choose=Selecionar +action.delete=Apagar +bookmark.delete.successfull=O favorito foi apagado +bookmark.delete.unsuccessfull=O favorito n\u00E3o p\u00F4de ser apagado +bookmark.delete.willyou=Voc\u00EA realmente quer apagar este favorito? +bookmarks.nobookmarks=Voc\u00EA n\u00E3o tem lista pessoal de favoritos salva at\u00E9 agora. +bookmarks.title=Meus favoritos +bookmarksPortlet.auto.sorting.title=Classifica\u00E7\u00E3o autom\u00E1tica de favoritos +bookmarksPortlet.description=Acesso r\u00E1pido aos seus favoritos. +bookmarksPortlet.manual.sorting.title=Classifica\u00E7\u00E3o manual de favoritos +bookmarksPortlet.nobookmarks=Voc\u00EA n\u00E3o tem favoritos +bookmarksPortlet.showAll=Exibir tudo +bookmarksPortlet.title=Meus favoritos +error.title.empty=Favor inserir um t\u00EDtulo +form.bmdescription=Descri\u00E7\u00E3o +form.bmtitle=T\u00EDtulo +form.bmtype=Recurso OLAT +table.bm.description=Descri\u00E7\u00E3o +table.bm.resource=Recurso +table.bm.title=T\u00EDtulo +table.header.delete=Apagar +table.header.edit=Editar +table.manual.sorting.date=Data +table.manual.sorting.description=Descri\u00E7\u00E3o +table.manual.sorting.title=T\u00EDtulo +table.manual.sorting.type=Tipo +warn.cantlaunch=O recurso n\u00E3o pode ser mostrado. Ou n\u00E3o \u00E9 mais v\u00E1lido, ou voc\u00EA n\u00E3o possui o direito de acessar este recurso. +menu.bookmarks=Favoritos +menu.bookmarks.alt=Iniciar e editar meus favoritos \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_pt_PT.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_pt_PT.properties new file mode 100644 index 00000000000..d296297f567 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_pt_PT.properties @@ -0,0 +1,24 @@ +#Mon Mar 02 09:54:04 CET 2009 +action.choose=Selecionar +action.delete=Apagar +bookmark.delete.successfull=O favorito foi apagado +bookmark.delete.unsuccessfull=O favorito n\u00E3o p\u00F4de ser apagado +bookmark.delete.willyou=Voc\u00EA realmente quer apagar este favorito? +bookmarks.nobookmarks=Voc\u00EA n\u00E3o tem lista pessoal de favoritos salva at\u00E9 agora. +bookmarks.title=Meus favoritos +bookmarksPortlet.description=Acesso r\u00E1pido aos seus favoritos. +bookmarksPortlet.nobookmarks=Voc\u00EA n\u00E3o tem favoritos +bookmarksPortlet.showAll=Exibir tudo +bookmarksPortlet.title=Meus favoritos +error.title.empty=Favor inserir um t\u00EDtulo +form.bmdescription=Descri\u00E7\u00E3o +form.bmtitle=T\u00EDtulo +form.bmtype=Recurso OLAT +table.bm.description=Descri\u00E7\u00E3o +table.bm.resource=Recurso +table.bm.title=T\u00EDtulo +table.header.delete=Apagar +table.header.edit=Editar +warn.cantlaunch=O recurso n\u00E3o pode ser mostrado. Ou n\u00E3o \u00E9 mais v\u00E1lido, ou voc\u00EA n\u00E3o possui o direito de acessar este recurso. +menu.bookmarks=Favoritos +menu.bookmarks.alt=Iniciar e editar meus favoritos \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_ru.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_ru.properties new file mode 100644 index 00000000000..8605108e6d2 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_ru.properties @@ -0,0 +1,30 @@ +#Wed Sep 23 23:18:10 CEST 2009 +action.choose=\u0412\u044B\u0431\u0440\u0430\u0442\u044C +action.delete=\u0423\u0434\u0430\u043B\u0438\u0442\u044C +bookmark.delete.successfull=\u0417\u0430\u043A\u043B\u0430\u0434\u043A\u0430 \u0431\u044B\u043B\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0430 +bookmark.delete.unsuccessfull=\u0417\u0430\u043A\u043B\u0430\u0434\u043A\u0443 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0431\u044B\u043B\u043E \u0443\u0434\u0430\u043B\u0438\u0442\u044C +bookmark.delete.willyou=\u0412\u044B \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0434\u0430\u043D\u043D\u0443\u044E \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0443? +bookmarks.nobookmarks=\u041F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0437\u0430\u043A\u043B\u0430\u0434\u043E\u043A \u043D\u0435 \u0431\u044B\u043B\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E. +bookmarks.title=\u041C\u043E\u0438 \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0438 +bookmarksPortlet.auto.sorting.title=\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0438 +bookmarksPortlet.description=\u0411\u044B\u0441\u0442\u0440\u044B\u0439 \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u0447\u0430\u0441\u0442\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u043C \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0430\u043C +bookmarksPortlet.manual.sorting.title=\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0438 \u0432\u0440\u0443\u0447\u043D\u0443\u044E +bookmarksPortlet.nobookmarks=\u0417\u0430\u043A\u043B\u0430\u0434\u043E\u043A \u043D\u0435 \u0431\u044B\u043B\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E. +bookmarksPortlet.showAll=\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435 +bookmarksPortlet.title=\u041C\u043E\u0438 \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0438 +error.title.empty=\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043C\u044F, \u043F\u043E\u0436\u0430\u0439\u043B\u0443\u0441\u0442\u0430 +form.bmdescription=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 +form.bmtitle=\u0418\u043C\u044F +form.bmtype=OLAT \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B +table.bm.description=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 +table.bm.resource=\u041C\u0430\u0442\u0435\u0440\u0438\u0430\u043B +table.bm.title=\u0418\u043C\u044F +table.header.delete=\u0423\u0434\u0430\u043B\u0438\u0442\u044C +table.header.edit=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C +table.manual.sorting.date=\u0414\u0430\u0442\u0430 +table.manual.sorting.description=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 +table.manual.sorting.title=\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 +table.manual.sorting.type=\u0422\u0438\u043F +warn.cantlaunch=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B. \u0418\u043B\u0438 \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0430 \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u0430, \u0438\u043B\u0438 \u0443 \u0412\u0430\u0441 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u0442\u043E\u0447\u043D\u043E \u043F\u0440\u0430\u0432, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0434\u0430\u043D\u043D\u0443\u044E \u0437\u0430\u043A\u043B\u0430\u0434\u043A\u0443. +menu.bookmarks=\u0417\u0430\u043A\u043B\u0430\u0434\u043A\u0438 +menu.bookmarks.alt=\u0421\u0442\u0430\u0440\u0442 \u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043C\u043E\u0438\u0445 \u0437\u0430\u043A\u043B\u0430\u0434\u043E\u043A diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_sq.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_sq.properties new file mode 100644 index 00000000000..9ecaa0c703f --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_sq.properties @@ -0,0 +1,30 @@ +#Mon Mar 02 09:54:11 CET 2009 +action.choose=P\u00EBrzgjedh +action.delete=Fshij +bookmark.delete.successfull=Referenca u fshi +bookmark.delete.unsuccessfull=Referenca nuk mund t\u00EB fshihet +bookmark.delete.willyou=A doni ta fshini k\u00EBt\u00EB referenc\u00EB? +bookmarks.nobookmarks=Deri m\u00EB tani ju nuk keni ndonj\u00EB referenc\u00EB t\u00EB ruajtur. +bookmarks.title=Referencat e mia +bookmarksPortlet.auto.sorting.title=Rendit automatikisht referencat +bookmarksPortlet.description=Qasje e shpejt\u00EB e referencave t\u00EB p\u00EBrdorura s\u00EB fundi +bookmarksPortlet.manual.sorting.title=Rendit manualisht referencat +bookmarksPortlet.nobookmarks=Ju nuk keni ndonj\u00EB referenc\u00EB +bookmarksPortlet.showAll=Shfaqi t\u00EB gjitha +bookmarksPortlet.title=Referenca e mia +error.title.empty=Ju lutem shkruani nj\u00EB titull +form.bmdescription=P\u00EBrshkrimi +form.bmtitle=Titulli +form.bmtype=Burime t\u00EB OLATit +table.bm.description=P\u00EBrshkrimi +table.bm.resource=Burimi +table.bm.title=Titulli +table.header.delete=Fshij +table.header.edit=Redakto +table.manual.sorting.date=Data +table.manual.sorting.description=P\u00EBrshkrimi +table.manual.sorting.title=Titulli +table.manual.sorting.type=Lloji +warn.cantlaunch=Burimet nuk mund t\u00EB shfaqen. Ose referenca nuk \u00EBsht\u00EB m\u00EB e vlefshme, ose ju nuk keni t\u00EB drejt\u00EB p\u00EBr t\u00EB nisur nj\u00EB burim relevant. +menu.bookmarks=Referencat +menu.bookmarks.alt=Nise dhe redakto referencate e mia \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_zh_CN.properties new file mode 100644 index 00000000000..7b98d3a0f37 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_zh_CN.properties @@ -0,0 +1,30 @@ +#Sat Feb 20 14:04:23 CET 2010 +action.choose=\u9009\u62E9 +action.delete=\u5220\u9664 +bookmark.delete.successfull=\u8BE5\u4E66\u7B7E\u5DF2\u5220\u9664 +bookmark.delete.unsuccessfull=\u8BE5\u4E66\u7B7E\u65E0\u6CD5\u5220\u9664 +bookmark.delete.willyou=\u4F60\u662F\u5426\u8981\u5220\u9664\u8BE5\u4E66\u7B7E\uFF1F +bookmarks.nobookmarks=\u4F60\u76EE\u524D\u8FD8\u672A\u4FDD\u5B58\u4EFB\u4F55\u4E66\u7B7E\u3002 +bookmarks.title=\u6211\u7684\u4E66\u7B7E +bookmarksPortlet.auto.sorting.title=\u4E66\u7B7E\u81EA\u52A8\u6392\u5E8F +bookmarksPortlet.description=\u5FEB\u901F\u8BBF\u95EE\u4F60\u6700\u5E38\u4F7F\u7528\u7684\u4E66\u7B7E +bookmarksPortlet.manual.sorting.title=\u4E66\u7B7E\u4EBA\u5DE5\u6392\u5E8F +bookmarksPortlet.nobookmarks=\u60A8\u8FD8\u6CA1\u6709\u4E66\u7B7E +bookmarksPortlet.showAll=\u5168\u90E8\u663E\u793A +bookmarksPortlet.title=\u6211\u7684\u4E66\u7B7E +error.title.empty=\u8BF7\u8F93\u5165\u6807\u9898 +form.bmdescription=\u8BF4\u660E +form.bmtitle=\u6807\u9898 +form.bmtype=OLAT\u8D44\u6E90 +table.bm.description=\u8BF4\u660E +table.bm.resource=\u8D44\u6E90 +table.bm.title=\u6807\u9898 +table.header.delete=\u5220\u9664 +table.header.edit=\u7F16\u8F91 +table.manual.sorting.date=\u65E5\u671F +table.manual.sorting.description=\u63CF\u8FF0 +table.manual.sorting.title=\u6807\u9898 +table.manual.sorting.type=\u7C7B\u578B +warn.cantlaunch=\u65E0\u6CD5\u663E\u793A\u3002\u8BE5\u4E66\u7B7E\u65E0\u6548\uFF0C\u6216\u8005\u4F60\u6743\u9650\u4E0D\u591F\u3002 +menu.bookmarks=\u4E66 \u7B7E +menu.bookmarks.alt=\u5F00\u59CB\u5E76\u7F16\u8F91\u6211\u7684\u4E66\u7B7E \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_zh_TW.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_zh_TW.properties new file mode 100644 index 00000000000..d481ca48926 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/LocalStrings_zh_TW.properties @@ -0,0 +1,30 @@ +#Mon Sep 21 15:33:07 CEST 2009 +action.choose=\u9078\u64C7 +action.delete=\u522A\u9664 +bookmark.delete.successfull=\u66F8\u7C64\u5DF2\u522A\u9664\u3002 +bookmark.delete.unsuccessfull=\u66F8\u7C64\u7121\u6CD5\u522A\u9664\u3002 +bookmark.delete.willyou=\u60A8\u771F\u7684\u8981\u522A\u9664\u9019\u500B\u66F8\u7C64\u55CE\uFF1F +bookmarks.nobookmarks=\u5230\u76EE\u524D\u70BA\u6B62\u60A8\u9084\u6C92\u6709\u5132\u5B58\u4EFB\u4F55\u500B\u4EBA\u66F8\u7C64\u3002 +bookmarks.title=\u6211\u7684\u66F8\u7C64 +bookmarksPortlet.auto.sorting.title=\u81EA\u52D5\u6392\u5E8F\u66F8\u7C64 +bookmarksPortlet.description=\u5FEB\u901F\u5B58\u53D6\u60A8\u6700\u5E38\u4F7F\u7528\u7684\u66F8\u7C64\u3002 +bookmarksPortlet.manual.sorting.title=\u624B\u52D5\u6392\u5E8F\u66F8\u7C64 +bookmarksPortlet.nobookmarks=\u60A8\u6C92\u6709\u66F8\u7C64\u3002 +bookmarksPortlet.showAll=\u986F\u793A\u5168\u90E8 +bookmarksPortlet.title=\u6211\u7684\u66F8\u7C64 +error.title.empty=\u8ACB\u8F38\u5165\u6A19\u984C\u3002 +form.bmdescription=\u8AAA\u660E +form.bmtitle=\u6A19\u984C +form.bmtype=OLAT \u8CC7\u6E90 +table.bm.description=\u8AAA\u660E +table.bm.resource=\u8CC7\u6E90 +table.bm.title=\u6A19\u984C +table.header.delete=\u522A\u9664 +table.header.edit=\u7DE8\u8F2F +table.manual.sorting.date=\u65E5\u671F +table.manual.sorting.description=\u8AAA\u660E +table.manual.sorting.title=\u6A19\u984C +table.manual.sorting.type=\u985E\u578B +warn.cantlaunch=\u9019\u500B\u8CC7\u6E90\u7121\u6CD5\u986F\u793A\u3002\u4E0D\u662F\u8A72\u66F8\u7C64\u7121\u6548\uFF0C\u5C31\u662F\u60A8\u6B0A\u9650\u4E0D\u5920\u3002 +menu.bookmarks=\u66F8\u7C64 +menu.bookmarks.alt=\u958B\u59CB\u4E26\u7DE8\u8F2F\u6211\u7684\u66F8\u7C64 \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/i18nBundleMetadata.properties b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/i18nBundleMetadata.properties new file mode 100644 index 00000000000..9270f58a2a5 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/mark/ui/_i18n/i18nBundleMetadata.properties @@ -0,0 +1,2 @@ +#Tue Feb 10 18:52:47 CET 2009 +bundle.priority=500 diff --git a/src/main/java/org/olat/home/_spring/homeContext.xml b/src/main/java/org/olat/home/_spring/homeContext.xml index 17f02e3466a..6a67134a558 100644 --- a/src/main/java/org/olat/home/_spring/homeContext.xml +++ b/src/main/java/org/olat/home/_spring/homeContext.xml @@ -86,6 +86,27 @@ </property> </bean> + <!-- bookmarks --> + <bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints"> + <property name="order" value="104" /> + <property name="enabled" value="${minimalhome.ext.bookmarks}"></property> + <property name="navigationKey" value="bookmarks" /> + <property name="actionController"> + <bean class="org.olat.core.gui.control.creator.AutoCreator" scope="prototype"> + <property name="className" value="org.olat.core.commons.services.mark.ui.BookmarksController"/> + </bean> + </property> + <property name="securityCallbackClassName" value="org.olat.core.extensions.security.UserOnlyExtensionSecurityCallback" /> + <property name="translationPackage" value="org.olat.core.commons.services.mark.ui" /> + <property name="i18nActionKey" value="menu.bookmarks"/> + <property name="i18nDescriptionKey" value="menu.bookmarks.alt"/> + <property name="extensionPoints"> + <list> + <value>org.olat.home.HomeMainController</value> + </list> + </property> + </bean> + <!-- the users personal folder --> <bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints"> <property name="order" value="105" /> diff --git a/src/main/resources/serviceconfig/org/olat/_spring/portalContext.xml b/src/main/resources/serviceconfig/org/olat/_spring/portalContext.xml index 92fc5e572d7..b4883d2db4f 100644 --- a/src/main/resources/serviceconfig/org/olat/_spring/portalContext.xml +++ b/src/main/resources/serviceconfig/org/olat/_spring/portalContext.xml @@ -50,6 +50,10 @@ <property name="name" value="Groups" /> <property name="enabled" value="${portlet.groups.enabled}" /> </bean> + <bean id="Bookmarks" class="org.olat.core.commons.services.mark.ui.BookmarksPortlet" scope="prototype"> + <property name="name" value="Bookmarks" /> + <property name="enabled" value="${portlet.bookmarks.enabled}" /> + </bean> <bean id="Notes" class="org.olat.note.NotesPortlet" scope="prototype"> <property name="name" value="Notes" /> <property name="enabled" value="${portlet.notes.enabled}" /> -- GitLab