From 280affa97ebcbd3e08c1b13c8fcdea37ff7c9ee6 Mon Sep 17 00:00:00 2001 From: Dave Ward Date: Mon, 25 Jul 2011 19:32:17 +0000 Subject: [PATCH] Merged V3.4-BUG-FIX to HEAD 29057: ALF-9491: Bitrock 7.2.2 29063: ALF-8766 Concatenated strings in EN webclient file 29066: Merge DEV/DEV/BELARUS/V3.4-BUG-FIX-2011_07_13 to DEV/V3.4-BUG-FIX 29010: ALF-7396: Japanese- Untranslated 29072: HomeFolderProvider work - Changes as a result of Dave Ward's comments (HomeFolderManager not fully done as there is a spring issue with using NodeService, FileFolderService, fileFolderService, SearchService or searchService) 29074: ALF-7637 - Share displays incorrect folder contents after copy-on-outbound rule against working copy 29075: ALF-8406 - Configuring the datalist display for sub-types does not work 29082: ALF-6847 translation: "Collega" should be reverted to English: "Link" as per term list. 29087: ALF-5717 property names for wcm quickstart website-model had an invalid format or did not end in .description or .title 29093: Merge V3.3 to DEV/V3.4-BUG-FIX (28596) 28596: Remove dependency between subsystems and all the object factories in the parent context! - Do not allow eager initialization when looking up parent post processors - Removes circular dependencies from sysAdmin subsystem 29094: Merge HEAD to DEV/V3.4-BUG-FIX () 28892: Broke circular references between NodeService beans, NodeIndexer, Lucene and back to NodeService. - NodeIndexer is now bootstrapped to pull out reference to the Lucene beans 29100: Revert Merge V3.3 to DEV/V3.4-BUG-FIX (28596) Caused RepositoryStartupTest to fail 28596: Remove dependency between subsystems and all the object factories in the parent context! - Do not allow eager initialization when looking up parent post processors - Removes circular dependencies from sysAdmin subsystem 29102: ALF-9048: Make apply_amps.bat work from its installed location 29103: ALF-8746: Restored Japanese choice format translations 29104: Merged V3.3 to V3.4-BUG-FIX (Reinstated this revision as it is required) 28596: Remove dependency between subsystems and all the object factories in the parent context! - Do not allow eager initialization when looking up parent post processors - Removes circular dependencies from sysAdmin subsystem 29105: Use org.springframework.aop.target.LazyInitTargetSource in the NodeService public proxy to break a circular dependency 29106: Make PersonService interact with HomeFolderManager via a lazy proxy to prevent another circular dependency - Simple HomeFolderManager interface created - Implementation class renamed to PortableHomeFolderManager - Removed TODOs from authentication-services-context.xml 29107: Forgot to remove the serviceRegistry dependency from homeFolderManager 29108: ALF-9529: Installer memory consumption and startup time improvements - Bitrock discover the for loop! 29109: ALF-9530: Postgres installed as Windows service should run as a postgres user, not System - Fix from Bitrock 29118: Fix for ALF-6737 - It's impossible to view any version of the wiki page if it was renamed with native characters 29119: Fix for ALF-5787 - strings extracted for L10N in Web form creation help text 29124: ALF-9530: Follow up fix from Bitrock 29126: Fix for ALF-8344 - Incorrect message is displayed while recover deleted file 29127: Fix for ALF-9445 - French - Share, translation on Transfer Target configuration 29129: ALF-9476: Make FTPS work on IBM JDK 29133: Fix failing DictionaryRestApiTest 29136: Fix build issues from 29104: - run as system when creating home folders (PortableHomeFolderManager) - re-factored onCreateNode out of PortableHomeFolderManager into PersonServiceImpl - re-factored property PortableHomeFolderManager.enableHomeFolderCreationAsPeopleAreCreated to PersonServiceImpl.homeFolderCreationEager 29137: Fix for ALF-8831 - Internal error occurs in My Tasks Webscripts component 29138: Fix for ALF-8765 - Layout is displaced if translated string occupies more than 1 line 29140: Fix for ALF-8668 - Deleting author account causes Failed to load the forum posts 29142: - PortableHomeFolderManager: Moved code to run as System into PersonServiceImpl so that one must have a valid authority to call the publick makeHomeFolder method. The authority should already be valid if called via PersonServiceImpl. - Removed unused policyBehaviourFilter property from PersonServiceImpl 29146: ALF-8701: partially translated string in html-upload.get_fr 29147: ALF-8727: DE - changes to Root Category 29149: ALF-8731: DE - Wiki changes (space before full stop) 29152: ALF-9503: Add space after colon in strings in file wdr-messages.properties 29153: Fixed ALF-7899: association.ftl does not render when showTargetLink=true in workflow 29165: ALF-8749: on submit action properties in wcn-workflow-messages.properties 29166: Fix for ALF-6220 - Language pack - .ftl localization 29167: ALF-9550 - Typos in new section of webclient.properties 29169: Fix for ALF-7844 - W3C: Impossible to activate 'Choose from popular tags in this site' link by Enter/Space keys 29170: Merge V3.4-TEAM to V3.4-BUG-FIX (3.4.4) 27471: Fix for ALF-8150 - check for visibility before applying focus to element for IE. 29171: Fixes: ALF-8922, removes date formatting from API (now returns ISO8601) and instead formats it on the client, using L10N strings. 29172: Fix for ALF-2023 - Repository Action - Copy item to specific space doesn not include content. The option to 'deep copy' is now exposed in the UI for Run Action and Rules in Explorer. 29173: Fix for ALF-1446 - Sorting of inline descendants is not observed 29175: ALF-241 - The item is not coppied via 'Paste All' in Shelf when 'Details' page is opened 29177: Fix for ALF-9520 - confusing sample config. Reordered sample config file as suggested. 29178: Fixed ALF-6400: GERMAN: Explorer mouse over hints for TinyMCE are not localized Fixed ALF-5766: ALL translations errors in Explorer - Calendars are not localizable for content based on webforms 29202: Merge DEV/BELARUS/V3.4-BUG-FIX-2011_04_12 to V3.4-BUG-FIX (3.4.4) 27836: ALF-8524: CLONE - Sharepoint doesn't work with HTTPS Changes in url links required for HTTPS support. 29203: Restored removal of postgresCreateSymLinksLinuxBuildingFromWindows tag (32 bit Linux) from revision 26582 29211: Fix for ALF-1051 - It is impossible to find link by tag from link details page 29212: Fix for ALF-5301 - TinyMCE is replacing carriage return with white spaces 29250: Latest L10N update for all languages (DE, ES, FR, IT, JA) from Gloria (based on r29172) 29253: L10N Update from Gloria 29270: Fixed ALF-516: Unable to add content/delete tables in webform content when using FireFox 29271: Update from Gloria 29272: Merged BRANCHES/DEV/BELARUS/V3.4-BUG-FIX-2011_07_13 to BRANCHES/DEV/V3.4-BUG-FIX: (with minor modification) 29223: ALF-7619: When document A has an association with a document B editing A's properties fails if user has no permission to edit B 29274: ALF-9517 Incorrect behaviour of versions on Copy action. Version is 0.1 rather than 1.0 29283: Resolve ALF-8273: Valid datetime value cannot be parsed by CMIS AtomPub interface 29284: Update from Gloria 29286: ALF-9596: Merged PATCHES/V3.4.1 to V3.4-BUG-FIX 28150: ALF-8607: Detailed debug logging when out of sync transaction detected by index checker / tracker 28177: ALF-8607: Corrections to debug logging in AbstractReindexComponent 28213: ALF-8607: Further corrections to debug logging in AbstractReindexComponent - Log attributes from indexes, rather than nodeService properties 28341: ALF-8607: Stop index checker from 'lying' - isTxnPresentInIndex() call must be made in a new transaction in order to get a database view in sync with the current indexes 28352: ALF-8607: Revisit transaction delineation. Nested transaction only required in checkTxnsImpl() 28403: ALF-8607: Merged PATCHES/V3.3.4 to PATCHES/V3.4.1 27823: ALF-7237: Index tracker needs to perform a cascade reindex on updated nodes in order to cope with node moves 28406: ALF-8607: Improvement to FTS fix. Prevent FTS from restoring documents that have been deleted! 28412: ALF-8607: Invalidate properties and aspects as well as parent assocs when stale cache entry dected during transaction tracking 28427: ALF-8607: Prevent NPE with bad NodeRef in ADMLuceneIndexerImpl.createDocumentsImpl() 28705: ALF-8607: Validate transaction IDs when fetching parent associations - Compare the cached child node transaction ID against one fetched from the DB - Stops us from pairing up the cached node for an older or newer transaction with the wrong parent associations 28707: ALF-8607: Merged PATCHES/V3.3.4 to PATCHES/V3.4.1 28588: ALF-7237: Prevent FTS from ever wiping out a document that still exists and ignore duplicates 28708: ALF-8607: Make FTS capable of recovering from cache concurrency issues by using a RetryingTransactionHelper and better exception handling. - Also avoids skipping the entire batch when the reindexing of a particular document fails. 28710: ALF-8607: Corrected transaction delineation 28753: ALF-8607: Prevent errors caused by AbstractReindexComponent diagnostics trying to parse FTSREF document IDs as NodeRefs (which they aren't!) 28755: ALF-8607: When 'failing over' during FTS indexing, don't bother adding a FTS status document so we don't get stuck in a loop with a problematic document 28815: ALF-8607: Do two way validation of cached / fetched nodes and their parent associations to avoid skew - Should resolve problem of tracking moves to the archive store and moves in general 28862: ALF-8607: Lucene indexers now support 'read through' behaviour for FTS and Index tracking batches - Small discrete read only transactions used to read each reindexed node from the database / cache - Avoids cache 'drift' and 'skew' after long running indexing transactions 28863: ALF-8607: Missing file 28869: ALF-8607: isTxnPresentInIndex() needs to 'read through' so index tracker and checker don't pollute the cache 28872: ALF-8607: Optimization to prevent constant writing to AVM indexes whilst 'ticking over'. 28950: ALF-8607: Improved logic in AbstractReindexComponent.isTxnPresentInIndex() so that we can reliably cope with multi-store transactions (e.g. archive store + spaces store) - Due to FTS, the txn ID may have 'drifted in' to one store but not the other so we must validate all stores in the txn 29098: ALF-8607: Use getNodeRefStatus as a cache validation point for reindexing 'read through' transactions - Guarantees that FTS reindexed node will see correct state (well if we had consistent read behaviour it would!) - Removes stale nodeRef -> ID mappings (e.g. when original node moved to archive store and substituted with deleted node) - Inexplicably seems to produce a ~30x speedup in performance tests on MySQL! Appears to remove a contention point. More investigation required to find out what! 29287: ALF-9598: Merged PATCHES/V3.4.1 to V3.4-BUG-FIX 28653: ALF-9189: More efficient usage of IndexReaders to avoid huge memory churn with large indexes - A single reading thread could block out all other reading threads because a write lock is obtained whilst constructing a set of FilterIndexReaderByStringId readers and all deletions across all indexes have to be evaluated. We now cache a FilterIndexReaderByStringId for each 'layer' of the index so that we get some reuse. We also defer evaluation of deletions to AFTER the write lock is returned and in some cases never have to evaluate the deletions at all. - When merging deletions we now make use of a cached index reader for locating the documents, and only resort to a new reader if deletions have to be performed. Hopefully this will mean that the reader for the largest indexes, containing the least recently used stuff, will get left alone most of the time. 28690: ALF-9189: Corrections to previous fix - Forgot to remove non-lazy reader initialization - Fixed NPE - Reinstated correct looping behaviour - each processed delta must be considered as one of the indexes to search for the next processed delta 29099: ALF-9189: Avoid having to allocate a byte array full of number ones for all occurrences of a term to 'fake' norms. - Severe Lucene memory hog during FTS 29262: ALF-9189: Fixed memory leak during index tracking / reindexing and further memory leak regression - Fixed up Lucene refcounting again - remember to propagate through decrefs on ReferenceCounting readers - Refined ALF-9189 fix to guarantee mainreader clean up - Remember to flush the delta during reindexing / tracking - Some extra trace diagnostics to help 29288: ALF-9600: Merged PATCHES/V3.4.1 to V3.4-BUG_FIX 28876: ALF-9041: Merged HEAD to PATCHES/V3.4.1 28850: Latest SpringSurf libs - Fix to SSO connector passing empty username 29289: ALF-8241: assemble-tomcat populates endorsed directory with xalan.jar and serializer.jar and Bitrock installer installs these too 29291: Merged DEV/SWIFT to V3.4-BUG-FIX (3.4.4) - already merged to HEAD as part of a larger merge 26104: RM: Remove incomplete and unnecessary unit test 29302: Fix for ALF-8885 - Unable to paste item due to system error:null git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29325 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../messages/office-addin_de.properties | 30 +- .../messages/office-addin_es.properties | 26 +- .../messages/office-addin_fr.properties | 30 +- .../messages/office-addin_it.properties | 26 +- .../messages/office-addin_ja.properties | 260 +++++++++--------- config/alfresco/messages/webclient.properties | 25 +- .../alfresco/messages/webclient_de.properties | 38 ++- .../alfresco/messages/webclient_es.properties | 44 ++- .../alfresco/messages/webclient_fr.properties | 32 ++- .../alfresco/messages/webclient_it.properties | 44 ++- .../alfresco/messages/webclient_ja.properties | 44 ++- .../templates/client/task_summary_panel.ftl | 4 +- .../templates/email/invite_user_email.ftl | 8 +- config/alfresco/web-client-config-dialogs.xml | 2 +- config/alfresco/web-client-config-wcm.xml | 5 +- .../web/bean/TemplateMailHelperBean.java | 21 +- .../bean/actions/handlers/CopyHandler.java | 14 +- .../alfresco/web/bean/ajax/TaskInfoBean.java | 3 + .../web/bean/clipboard/ClipboardBean.java | 52 +++- .../web/forms/xforms/XFormsProcessor.java | 5 + .../property/BaseAssociationEditor.java | 73 +++-- .../renderer/NodeDescendantsLinkRenderer.java | 28 +- source/web/jsp/actions/copy.jsp | 7 + source/web/jsp/coci/edit-offline-file.jsp | 5 +- .../web/jsp/wcm/output-path-pattern-help.jsp | 82 +++--- source/web/scripts/ajax/xforms.js | 2 + 26 files changed, 560 insertions(+), 350 deletions(-) diff --git a/config/alfresco/messages/office-addin_de.properties b/config/alfresco/messages/office-addin_de.properties index 9b2d8ed186..98340e519f 100644 --- a/config/alfresco/messages/office-addin_de.properties +++ b/config/alfresco/messages/office-addin_de.properties @@ -1,23 +1,23 @@ ## -## Microsoft Office Add-In Messages +##Microsoft Office Add-In Messages ## -# Page Titles +#Page Titles office.title.my_alfresco=Mein Alfresco -office.title.navigation=R\u00e4ume und Dokumente durchsuchen +office.title.navigation=Arbeitsbereiche und Dokumente durchsuchen office.title.search=Alfresco durchsuchen office.title.document_details=Dokumentendetails office.title.my_tasks=Meine Aufgaben office.title.document_tags=Dokumenten-Tags -# Help +#Help office.help.title=Online Hilfe office.help.url=http://docs.alfresco.com/{0}.{1}/topic/com.alfresco.{2}_{0}_{1}_0.doc/concepts/MSAddin-using.html -# Headers and Subheaders +#Headers and Subheaders office.header.my_checked_out_documents=Meine ausgecheckten Dokumente office.header.my_tasks=Meine Aufgaben office.header.current_space=Aktueller Arbeitsbereich -office.header.spaces_in=R\u00e4ume in {0} +office.header.spaces_in=Arbeitsbereiche in {0} office.header.documents_in=Dokumente in {0} office.header.document_actions=Dokumentenaktionen office.header.actions=Aktionen @@ -31,10 +31,10 @@ office.header.task_details=Aufgabendetails office.header.tag_cloud=Tag Cloud office.header.tagged=Getaggde Dokumente -# Document Status +#Document Status office.status.locked=Gesperrt -# Actions +#Actions office.action.add_tag=Einen Tag hinzuf\u00fcgen office.action.remove_tag=Tag "{0}" entfernen office.action.download={0} downloaden @@ -67,13 +67,13 @@ office.action.return_search=Zur\u00fcck zu Suchergebnissen office.action.return_search.description=Zur\u00fcck zum Such-Tab office.action.manage_task=Verwalten -# Buttons +#Buttons office.button.submit=Vorlegen office.button.cancel=Abbrechen office.button.ok=OK office.button.search=Suche -# Messages +#Messages office.message.unmanaged=Das aktuelle Dokument wird nicht von Alfresco verwaltet. office.message.unversioned=Das aktuelle Dokument ist nicht versioniert. office.message.none=Keine @@ -87,9 +87,9 @@ office.message.results_max.after=Elemente office.message.no_results=Keine Ergebnisse gefunden office.message.confirm_delete=Wollen Sie dieses Dokument wirklich l\u00f6schen? office.message.enter_workflow_details=Neue Details f\u00fcr den Workflow untenstehend eingeben -office.message.workflow_action_complete=Aktion ''{0}'' des Workflows abgeschlossen. +office.message.workflow_action_complete=Workflow-Aktion ''{0}'' abgeschlossen. -# Properties +#Properties office.property.title=Titel office.property.description=Beschreibung office.property.creator=Ersteller @@ -113,11 +113,11 @@ office.property.start_date=Anfangsdatum office.property.type=Typ office.property.complete=Abschlie\u00dfen -#\u00c2\u00a0Workflow +#Workflow office.workflow.review=\u00dcberpr\u00fcfen und zustimmen office.workflow.adhoc=Adhoc Aufgabe -# Result messages +#Result messages office.result.failed=Aktion fehlgeschlagen office.result.convert.failed=Dokument konnte nicht konvertiert werden office.result.converted=Dokument konvertiert @@ -137,7 +137,7 @@ office.result.create_space.missing_name=Arbeitsbereich muss \u00fcber einen Name office.result.space_created=Neuer Arbeitsbereich erstellt office.result.user_not_found=Benutzer nicht gefunden -# Miscellaneous +#Miscellaneous office.unit.kb=KB office.version.notes=Notizen office.task.overdue=\u00fcberf\u00e4llig diff --git a/config/alfresco/messages/office-addin_es.properties b/config/alfresco/messages/office-addin_es.properties index 40d561aa2b..f891a374c2 100755 --- a/config/alfresco/messages/office-addin_es.properties +++ b/config/alfresco/messages/office-addin_es.properties @@ -1,7 +1,7 @@ ## -## Microsoft Office Add-In Messages +##Microsoft Office Add-In Messages ## -# Page Titles +#Page Titles office.title.my_alfresco=Mi Alfresco office.title.navigation=Examinar espacios y documentos office.title.search=Buscar en Alfresco @@ -9,11 +9,11 @@ office.title.document_details=Detalles del documento office.title.my_tasks=Mis Tareas office.title.document_tags=Etiquetas de documento -# Help +#Help office.help.title=Ayuda en l\u00ednea office.help.url=http://docs.alfresco.com/{0}.{1}/topic/com.alfresco.{2}_{0}_{1}_0.doc/concepts/MSAddin-using.html -# Headers and Subheaders +#Headers and Subheaders office.header.my_checked_out_documents=Mis Documentos bloqueados office.header.my_tasks=Mis Tareas office.header.current_space=Espacio actual @@ -31,10 +31,10 @@ office.header.task_details=Detalles de la tarea office.header.tag_cloud=Nube de etiquetas office.header.tagged=Documentos etiquetados -# Document Status +#Document Status office.status.locked=Bloqueado -# Actions +#Actions office.action.add_tag=A\u00f1adir una etiqueta office.action.remove_tag=Quitar etiqueta ''{0}'' office.action.download=Descargar {0} @@ -67,13 +67,13 @@ office.action.return_search=Volver a resultados de b\u00fasqueda office.action.return_search.description=Volver a la pesta\u00f1a de b\u00fasqueda office.action.manage_task=Gestionar -# Buttons +#Buttons office.button.submit=Enviar office.button.cancel=Cancelar office.button.ok=Aceptar office.button.search=Buscar -# Messages +#Messages office.message.unmanaged=El documento actual no est\u00e1 administrado por Alfresco. office.message.unversioned=El documento actual no est\u00e1 versionado. office.message.none=Ninguno @@ -87,9 +87,9 @@ office.message.results_max.after=elementos office.message.no_results=Ning\u00fan resultado encontrado office.message.confirm_delete=\u00bfEst\u00e1 seguro de que quiere eliminar este documento? office.message.enter_workflow_details=Introduzca los datos del nuevo flujo de trabajo a continuaci\u00f3n -office.message.workflow_action_complete=Acci\u00f3n ''{0}'' de flujo de trabajo completada. +office.message.workflow_action_complete=Acci\u00f3n ''{0}'' del flujo de trabajo completada. -# Properties +#Properties office.property.title=T\u00edtulo office.property.description=Descripci\u00f3n office.property.creator=Creador @@ -113,11 +113,11 @@ office.property.start_date=Fecha de inicio office.property.type=Tipo office.property.complete=Completar -#\u00c2\u00a0Workflow +#\u00a0Workflow office.workflow.review=Revisar y aprobar office.workflow.adhoc=Tarea ad hoc -# Result messages +#Result messages office.result.failed=Acci\u00f3n fallida office.result.convert.failed=No se pudo convertir el documento office.result.converted=Documento convertido @@ -137,7 +137,7 @@ office.result.create_space.missing_name=El espacio debe tener un nombre office.result.space_created=Nuevo espacio creado office.result.user_not_found=Usuario no encontrado -# Miscellaneous +#Miscellaneous office.unit.kb=KB office.version.notes=Notas office.task.overdue=con retraso diff --git a/config/alfresco/messages/office-addin_fr.properties b/config/alfresco/messages/office-addin_fr.properties index 1e04dd871f..7c8e881981 100755 --- a/config/alfresco/messages/office-addin_fr.properties +++ b/config/alfresco/messages/office-addin_fr.properties @@ -1,7 +1,7 @@ ## -## Microsoft Office Add-In Messages +##Microsoft Office Add-In Messages ## -# Page Titles +#Page Titles office.title.my_alfresco=Mon Alfresco office.title.navigation=Parcourir les espaces et les documents office.title.search=Rechercher sur Alfresco @@ -9,11 +9,11 @@ office.title.document_details=D\u00e9tails du document office.title.my_tasks=Mes t\u00e2ches office.title.document_tags=Tags du document -# Help +#Help office.help.title=Aide en Ligne office.help.url=http://docs.alfresco.com/{0}.{1}/topic/com.alfresco.{2}_{0}_{1}_0.doc/concepts/MSAddin-using.html -# Headers and Subheaders +#Headers and Subheaders office.header.my_checked_out_documents=Mes copies de travail office.header.my_tasks=Mes t\u00e2ches office.header.current_space=Espace actuel @@ -28,15 +28,15 @@ office.header.version_history=Historique des versions office.header.version_history.for=Historique des versions pour {0} office.header.search=Rechercher office.header.task_details=D\u00e9tails de la t\u00e2che -office.header.tag_cloud=Nuage d'\u00e9tiquettes +office.header.tag_cloud=Nuage de tags office.header.tagged=Documents tagg\u00e9s -# Document Status +#Document Status office.status.locked=Verrouill\u00e9 -# Actions +#Actions office.action.add_tag=Ajouter un tag -office.action.remove_tag=Supprimer l''\u00e9tiquette "{0}" +office.action.remove_tag=Supprimer le tag "{0}" office.action.download=T\u00e9l\u00e9charger {0} office.action.open=Ouvrir {0} office.action.make_versionable=Rendre versionnable @@ -67,13 +67,13 @@ office.action.return_search=Revenir aux r\u00e9sultats de la recherche office.action.return_search.description=Retourner \u00e0\u00a0 l'onglet de recherche office.action.manage_task=G\u00e9rer -# Buttons +#Buttons office.button.submit=Soumettre office.button.cancel=Annuler office.button.ok=OK office.button.search=Rechercher -# Messages +#Messages office.message.unmanaged=Le document actuel n'est pas g\u00e9r\u00e9 par Alfresco. office.message.unversioned=Le document actuel n'est pas versionn\u00e9. office.message.none=Aucun @@ -89,7 +89,7 @@ office.message.confirm_delete=Etes-vous s\u00fbr de vouloir supprimer ce documen office.message.enter_workflow_details=Saisir les d\u00e9tails du nouveau workflow ci-dessous office.message.workflow_action_complete=Action de workflow ''{0}'' termin\u00e9e. -# Properties +#Properties office.property.title=Titre office.property.description=Description office.property.creator=Cr\u00e9ateur @@ -100,7 +100,7 @@ office.property.size=Taille office.property.categories=Cat\u00e9gories office.property.author=Auteur office.property.date=Date -office.property.due_date=Date limite +office.property.due_date=Date d'\u00e9ch\u00e9ance office.property.name=Nom office.property.template=Mod\u00e8le office.property.filename=Nom de fichier du document @@ -113,11 +113,11 @@ office.property.start_date=Date de D\u00e9but office.property.type=Type office.property.complete=Achev\u00e9 -#\u00c2\u00a0Workflow +#\u00a0Workflow office.workflow.review=R\u00e9viser et approuver office.workflow.adhoc=T\u00e2che Adhoc -# Result messages +#Result messages office.result.failed=\u00c9chec de l'action office.result.convert.failed=Impossible de convertir le document office.result.converted=Document converti @@ -137,7 +137,7 @@ office.result.create_space.missing_name=L'espace doit comporter un nom office.result.space_created=Espace cr\u00e9\u00e9 office.result.user_not_found=Utilisateur introuvable -# Miscellaneous +#Miscellaneous office.unit.kb=Ko office.version.notes=Notes office.task.overdue=En retard diff --git a/config/alfresco/messages/office-addin_it.properties b/config/alfresco/messages/office-addin_it.properties index 9b21e45b17..9b29687186 100755 --- a/config/alfresco/messages/office-addin_it.properties +++ b/config/alfresco/messages/office-addin_it.properties @@ -1,7 +1,7 @@ ## -## Microsoft Office Add-In Messages +##Microsoft Office Add-In Messages ## -# Page Titles +#Page Titles office.title.my_alfresco=Il mio Alfresco office.title.navigation=Sfoglia spazi e documenti office.title.search=Cerca in Alfresco @@ -9,11 +9,11 @@ office.title.document_details=Dettagli documento office.title.my_tasks=I miei compiti office.title.document_tags=Tag documento -# Help +#Help office.help.title=Aiuto online office.help.url=http://docs.alfresco.com/{0}.{1}/topic/com.alfresco.{2}_{0}_{1}_0.doc/concepts/MSAddin-using.html -# Headers and Subheaders +#Headers and Subheaders office.header.my_checked_out_documents=I miei documenti sottoposti a Check Out office.header.my_tasks=I miei compiti office.header.current_space=Spazio attuale @@ -31,10 +31,10 @@ office.header.task_details=Dettagli compito office.header.tag_cloud=Cloud di tag office.header.tagged=Documenti etichettati -# Document Status +#Document Status office.status.locked=Bloccato -# Actions +#Actions office.action.add_tag=Aggiungi un tag office.action.remove_tag=Rimuovi il tag ''{0}'' office.action.download=Scarica {0} @@ -67,13 +67,13 @@ office.action.return_search=Torna ai risultati della ricerca office.action.return_search.description=Torna alla scheda di ricerca office.action.manage_task=Gestisci -# Buttons +#Buttons office.button.submit=Invia office.button.cancel=Annulla office.button.ok=OK office.button.search=Cerca -# Messages +#Messages office.message.unmanaged=Il documento attuale non \u00e8 gestito da Alfresco. office.message.unversioned=Il documento attuale non \u00e8 sottoposto alla gestione delle versioni. office.message.none=Nessuno @@ -87,9 +87,9 @@ office.message.results_max.after=elementi office.message.no_results=Nessun risultato trovato office.message.confirm_delete=Eliminare questo documento? office.message.enter_workflow_details=Immettere i dettagli del nuovo workflow di seguito -office.message.workflow_action_complete=L''azione del workflow ''{0}'' \u00e8 stata completata. +office.message.workflow_action_complete=L''azione del workflow''{0}'' \u00e8 stata completata. -# Properties +#Properties office.property.title=Titolo office.property.description=Descrizione office.property.creator=Creatore @@ -113,11 +113,11 @@ office.property.start_date=Data di inizio office.property.type=Tipo office.property.complete=Completato -#\u00c2\u00a0Workflow +#Workflow office.workflow.review=Esamina e approva office.workflow.adhoc=Compito ad-hoc -# Result messages +#Result messages office.result.failed=Azione non riuscita office.result.convert.failed=Impossibile convertire il documento office.result.converted=Documento convertito @@ -137,7 +137,7 @@ office.result.create_space.missing_name=Lo spazio deve disporre di un nome office.result.space_created=Nuovo spazio creato office.result.user_not_found=Utente non trovato -# Miscellaneous +#Miscellaneous office.unit.kb=KB office.version.notes=Note office.task.overdue=scaduti diff --git a/config/alfresco/messages/office-addin_ja.properties b/config/alfresco/messages/office-addin_ja.properties index a6188fc1a2..da62a5aa32 100755 --- a/config/alfresco/messages/office-addin_ja.properties +++ b/config/alfresco/messages/office-addin_ja.properties @@ -1,145 +1,145 @@ ## -## Microsoft Office Add-In Messages +##Microsoft Office Add-In Messages ## -# Page Titles -office.title.my_alfresco=\u3042\u306A\u305F\u306EAlfresco -office.title.navigation=\u30B9\u30DA\u30FC\u30B9\u3068\u6587\u66F8\u306E\u95B2\u89A7 -office.title.search=Alfresco\u3092\u691C\u7D22 -office.title.document_details=\u6587\u66F8\u306E\u8A73\u7D30 -office.title.my_tasks=\u30BF\u30B9\u30AF -office.title.document_tags=\u6587\u66F8\u30BF\u30B0 +#Page Titles +office.title.my_alfresco=\u3042\u306a\u305f\u306eAlfresco +office.title.navigation=\u30b9\u30da\u30fc\u30b9\u3068\u6587\u66f8\u306e\u95b2\u89a7 +office.title.search=Alfresco\u3092\u691c\u7d22 +office.title.document_details=\u6587\u66f8\u306e\u8a73\u7d30 +office.title.my_tasks=\u3042\u306a\u305f\u306e\u30bf\u30b9\u30af +office.title.document_tags=\u6587\u66f8\u30bf\u30b0 -# Help -office.help.title=\u30AA\u30F3\u30E9\u30A4\u30F3\u30FB\u30D8\u30EB\u30D7 +#Help +office.help.title=\u30aa\u30f3\u30e9\u30a4\u30f3\u30fb\u30d8\u30eb\u30d7 office.help.url=http://docs.alfresco.com/{0}.{1}/topic/com.alfresco.{2}_{0}_{1}_0.doc/concepts/MSAddin-using.html -# Headers and Subheaders -office.header.my_checked_out_documents=\u3042\u306A\u305F\u306E\u30C1\u30A7\u30C3\u30AF\u30A2\u30A6\u30C8\u6E08\u6587\u66F8 -office.header.my_tasks=\u30BF\u30B9\u30AF -office.header.current_space=\u73FE\u5728\u306E\u30B9\u30DA\u30FC\u30B9 -office.header.spaces_in={0}\u306E\u30B9\u30DA\u30FC\u30B9 -office.header.documents_in={0}\u306E\u6587\u66F8 -office.header.document_actions=\u6587\u66F8\u5411\u3051\u30A2\u30AF\u30B7\u30E7\u30F3 -office.header.actions=\u30A2\u30AF\u30B7\u30E7\u30F3 -office.header.details=\u73FE\u5728\u306E\u6587\u66F8\u306E\u8A73\u7D30 -office.header.document_tags=\u6587\u66F8\u30BF\u30B0 -office.header.document_tags.for={0}\u306E\u6587\u66F8\u30BF\u30B0 -office.header.version_history=\u30D0\u30FC\u30B8\u30E7\u30F3\u5C65\u6B74 -office.header.version_history.for={0}\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u5C65\u6B74 -office.header.search=\u691C\u7D22 -office.header.task_details=\u30BF\u30B9\u30AF\u306E\u8A73\u7D30 -office.header.tag_cloud=\u30BF\u30B0\u30FB\u30AF\u30E9\u30A6\u30C9 -office.header.tagged=\u30BF\u30B0\u4ED8\u304D\u6587\u66F8 +#Headers and Subheaders +office.header.my_checked_out_documents=\u3042\u306a\u305f\u306e\u30c1\u30a7\u30c3\u30af\u30a2\u30a6\u30c8\u6e08\u6587\u66f8 +office.header.my_tasks=\u3042\u306a\u305f\u306e\u30bf\u30b9\u30af +office.header.current_space=\u73fe\u5728\u306e\u30b9\u30da\u30fc\u30b9 +office.header.spaces_in={0}\u306e\u30b9\u30da\u30fc\u30b9 +office.header.documents_in={0}\u306e\u6587\u66f8 +office.header.document_actions=\u6587\u66f8\u5411\u3051\u30a2\u30af\u30b7\u30e7\u30f3 +office.header.actions=\u30a2\u30af\u30b7\u30e7\u30f3 +office.header.details=\u73fe\u5728\u306e\u6587\u66f8\u306e\u8a73\u7d30 +office.header.document_tags=\u6587\u66f8\u30bf\u30b0 +office.header.document_tags.for={0}\u306e\u6587\u66f8\u30bf\u30b0 +office.header.version_history=\u30d0\u30fc\u30b8\u30e7\u30f3\u5c65\u6b74 +office.header.version_history.for={0}\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u5c65\u6b74 +office.header.search=\u691c\u7d22 +office.header.task_details=\u30bf\u30b9\u30af\u306e\u8a73\u7d30 +office.header.tag_cloud=\u30bf\u30b0\u30fb\u30af\u30e9\u30a6\u30c9 +office.header.tagged=\u30bf\u30b0\u4ed8\u304d\u6587\u66f8 -# Document Status -office.status.locked=\u30ED\u30C3\u30AF\u6E08 +#Document Status +office.status.locked=\u30ed\u30c3\u30af\u6e08 -# Actions -office.action.add_tag=\u30BF\u30B0\u306E\u8FFD\u52A0 -office.action.remove_tag=\u30BF\u30B0"{0}"\u306E\u524A\u9664 -office.action.download={0}\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9 -office.action.open={0}\u3092\u958B\u304F -office.action.make_versionable=\u30D0\u30FC\u30B8\u30E7\u30F3\u7BA1\u7406\u5BFE\u8C61\u306B\u3059\u308B -office.action.compare_current=\u73FE\u5728\u3068\u6BD4\u8F03 -office.action.checkin=\u30C1\u30A7\u30C3\u30AF\u30A4\u30F3 -office.action.checkin.description=\u73FE\u5728\u306E\u6587\u66F8\u3092\u30C1\u30A7\u30C3\u30AF\u30A4\u30F3\u3057\u307E\u3059\u3002 -office.action.checkout=\u30C1\u30A7\u30C3\u30AF\u30A2\u30A6\u30C8 -office.action.checkout.description=\u73FE\u5728\u306E\u6587\u66F8\u3092\u4F5C\u696D\u7528\u30B3\u30D4\u30FC\u306B\u30C1\u30A7\u30C3\u30AF\u30A2\u30A6\u30C8\u3057\u307E\u3059\u3002 -office.action.start_workflow=\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306E\u958B\u59CB -office.action.start_workflow.description=\u73FE\u5728\u306E\u6587\u66F8\u306E\u30A2\u30C9\u30D0\u30F3\u30B9\u30C9\u30FB\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3092\u958B\u59CB\u3057\u307E\u3059\u3002 -office.action.transform_pdf=PDF\u3078\u306E\u5909\u63DB -office.action.transform_pdf.description=Adobe PDF\u5F62\u5F0F\u306B\u5909\u63DB\u3057\u307E\u3059\u3002. -office.action.open_details=\u8A73\u7D30\u3092\u958B\u304F -office.action.open_details.description=Alfresco Explorer\u3067\u6587\u66F8\u306E\u8A73\u7D30\u3092\u958B\u304D\u307E\u3059\u3002 -office.action.save_to_alfresco=Alfresco\u306B\u4FDD\u5B58 -office.action.save_to_alfresco.description=\u73FE\u5728\u306E\u6587\u66F8\u3092Alfresco\u306E\u7BA1\u7406\u30B7\u30B9\u30C6\u30E0\u306B\u4FDD\u5B58\u3057\u307E\u3059\u3002 -office.action.insert=\u73FE\u5728\u306E\u6587\u66F8\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u633F\u5165 -office.action.create_collaboration_space=\u30B3\u30E9\u30DC\u30EC\u30FC\u30B7\u30E7\u30F3\u30FB\u30B9\u30DA\u30FC\u30B9\u306E\u4F5C\u6210 -office.action.create_collaboration_space.description=Alfresco\u30EA\u30DD\u30B8\u30C8\u30EA\u306B\u65B0\u3057\u3044\u30B3\u30E9\u30DC\u30EC\u30FC\u30B7\u30E7\u30F3\u30FB\u30B9\u30DA\u30FC\u30B9\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002 -office.action.launch_alfresco=Alfresco\u306E\u8D77\u52D5 -office.action.launch_alfresco.description=Alfresco Explorer\u306EWeb\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u3092\u958B\u59CB\u3057\u307E\u3059\u3002 -office.action.userhome=\u30E6\u30FC\u30B6\u306E\u30DB\u30FC\u30E0\u30FB\u30B9\u30DA\u30FC\u30B9\u306B -office.action.parent_space=\u89AA\u30B9\u30DA\u30FC\u30B9\u307E\u3067 -office.action.create_space=\u65B0\u898F\u30B9\u30DA\u30FC\u30B9\u306E\u4F5C\u6210 -office.action.create_collaboration_space=\u65B0\u898F\u30B3\u30E9\u30DC\u30EC\u30FC\u30B7\u30E7\u30F3\u30FB\u30B9\u30DA\u30FC\u30B9\u306E\u4F5C\u6210 -office.action.delete=\u524A\u9664 -office.action.return_search=\u691C\u7D22\u7D50\u679C\u306B\u623B\u308B -office.action.return_search.description=\u691C\u7D22\u30BF\u30D6\u306B\u623B\u308B -office.action.manage_task=\u7BA1\u7406 +#Actions +office.action.add_tag=\u30bf\u30b0\u306e\u8ffd\u52a0 +office.action.remove_tag=\u30bf\u30b0"{0}"\u306e\u524a\u9664 +office.action.download={0}\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9 +office.action.open={0}\u3092\u958b\u304f +office.action.make_versionable=\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u5bfe\u8c61\u306b\u3059\u308b +office.action.compare_current=\u73fe\u5728\u3068\u6bd4\u8f03 +office.action.checkin=\u30c1\u30a7\u30c3\u30af\u30a4\u30f3 +office.action.checkin.description=\u73fe\u5728\u306e\u6587\u66f8\u3092\u30c1\u30a7\u30c3\u30af\u30a4\u30f3\u3057\u307e\u3059\u3002 +office.action.checkout=\u30c1\u30a7\u30c3\u30af\u30a2\u30a6\u30c8 +office.action.checkout.description=\u73fe\u5728\u306e\u6587\u66f8\u3092\u4f5c\u696d\u7528\u30b3\u30d4\u30fc\u306b\u30c1\u30a7\u30c3\u30af\u30a2\u30a6\u30c8\u3057\u307e\u3059\u3002 +office.action.start_workflow=\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u306e\u958b\u59cb +office.action.start_workflow.description=\u73fe\u5728\u306e\u6587\u66f8\u306e\u30a2\u30c9\u30d0\u30f3\u30b9\u30c9\u30fb\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3092\u958b\u59cb\u3057\u307e\u3059\u3002 +office.action.transform_pdf=PDF\u3078\u306e\u5909\u63db +office.action.transform_pdf.description=Adobe PDF\u5f62\u5f0f\u306b\u5909\u63db\u3057\u307e\u3059\u3002 +office.action.open_details=\u8a73\u7d30\u3092\u958b\u304f +office.action.open_details.description=Alfresco Explorer\u3067\u6587\u66f8\u306e\u8a73\u7d30\u3092\u958b\u304d\u307e\u3059\u3002 +office.action.save_to_alfresco=Alfresco\u306b\u4fdd\u5b58 +office.action.save_to_alfresco.description=\u73fe\u5728\u306e\u6587\u66f8\u3092Alfresco\u306e\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u306b\u4fdd\u5b58\u3057\u307e\u3059\u3002 +office.action.insert=\u73fe\u5728\u306e\u6587\u66f8\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u633f\u5165 +office.action.create_collaboration_space=\u30b3\u30e9\u30dc\u30ec\u30fc\u30b7\u30e7\u30f3\u30fb\u30b9\u30da\u30fc\u30b9\u306e\u4f5c\u6210 +office.action.create_collaboration_space.description=Alfresco\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u65b0\u3057\u3044\u30b3\u30e9\u30dc\u30ec\u30fc\u30b7\u30e7\u30f3\u30fb\u30b9\u30da\u30fc\u30b9\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002 +office.action.launch_alfresco=Alfresco\u306e\u8d77\u52d5 +office.action.launch_alfresco.description=Alfresco Explorer\u306eWeb\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3092\u958b\u59cb\u3057\u307e\u3059\u3002 +office.action.userhome=\u30e6\u30fc\u30b6\u306e\u30db\u30fc\u30e0\u30fb\u30b9\u30da\u30fc\u30b9\u306b +office.action.parent_space=\u89aa\u30b9\u30da\u30fc\u30b9\u307e\u3067 +office.action.create_space=\u65b0\u898f\u30b9\u30da\u30fc\u30b9\u306e\u4f5c\u6210 +office.action.create_collaboration_space=\u65b0\u898f\u30b3\u30e9\u30dc\u30ec\u30fc\u30b7\u30e7\u30f3\u30fb\u30b9\u30da\u30fc\u30b9\u306e\u4f5c\u6210 +office.action.delete=\u524a\u9664 +office.action.return_search=\u691c\u7d22\u7d50\u679c\u306b\u623b\u308b +office.action.return_search.description=\u691c\u7d22\u30bf\u30d6\u306b\u623b\u308b +office.action.manage_task=\u7ba1\u7406 -# Buttons -office.button.submit=\u9001\u4FE1 -office.button.cancel=\u30AD\u30E3\u30F3\u30BB\u30EB +#Buttons +office.button.submit=\u9001\u4fe1 +office.button.cancel=\u30ad\u30e3\u30f3\u30bb\u30eb office.button.ok=OK -office.button.search=\u691C\u7D22 +office.button.search=\u691c\u7d22 -# Messages -office.message.unmanaged=\u73FE\u5728\u306E\u6587\u66F8\u306FAlfresco\u306B\u3088\u3063\u3066\u7BA1\u7406\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -office.message.unversioned=\u73FE\u5728\u306E\u6587\u66F8\u306F\u30D0\u30FC\u30B8\u30E7\u30F3\u7BA1\u7406\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -office.message.none=\u306A\u3057 -office.message.no_documents=\u6587\u66F8\u304C\u3042\u308A\u307E\u305B\u3093 -office.message.no_due_date=\u7DE0\u5207\u65E5\u306A\u3057 -office.message.no_tasks=\u30BF\u30B9\u30AF\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -office.message.no_subspaces=\u30B5\u30D6\u30B9\u30DA\u30FC\u30B9\u304C\u3042\u308A\u307E\u305B\u3093 -office.message.search_for=\u691C\u7D22\u5BFE\u8C61 -office.message.results_max.before=\u6700\u5927\u691C\u7D22\u6570 -office.message.results_max.after=\u30A2\u30A4\u30C6\u30E0 -office.message.no_results=\u691C\u7D22\u7D50\u679C\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -office.message.confirm_delete=\u3053\u306E\u6587\u66F8\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F -office.message.enter_workflow_details=\u65B0\u3057\u3044\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8A73\u7D30\u3092\u4E0B\u306B\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044 -office.message.workflow_action_complete=\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u30FB\u30A2\u30AF\u30B7\u30E7\u30F3''{0}''\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002 +#Messages +office.message.unmanaged=\u73fe\u5728\u306e\u6587\u66f8\u306fAlfresco\u306b\u3088\u3063\u3066\u7ba1\u7406\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002 +office.message.unversioned=\u73fe\u5728\u306e\u6587\u66f8\u306f\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002 +office.message.none=\u306a\u3057 +office.message.no_documents=\u6587\u66f8\u304c\u3042\u308a\u307e\u305b\u3093 +office.message.no_due_date=\u7de0\u5207\u65e5\u306a\u3057 +office.message.no_tasks=\u30bf\u30b9\u30af\u306f\u3042\u308a\u307e\u305b\u3093\u3002 +office.message.no_subspaces=\u30b5\u30d6\u30b9\u30da\u30fc\u30b9\u304c\u3042\u308a\u307e\u305b\u3093 +office.message.search_for=\u691c\u7d22\u5bfe\u8c61 +office.message.results_max.before=\u6700\u5927\u691c\u7d22\u6570 +office.message.results_max.after=\u30a2\u30a4\u30c6\u30e0 +office.message.no_results=\u691c\u7d22\u7d50\u679c\u304c\u3042\u308a\u307e\u305b\u3093\u3002 +office.message.confirm_delete=\u3053\u306e\u6587\u66f8\u3092\u524a\u9664\u3057\u307e\u3059\u304b\uff1f +office.message.enter_workflow_details=\u65b0\u3057\u3044\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u8a73\u7d30\u3092\u4e0b\u306b\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044 +office.message.workflow_action_complete=\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30fb\u30a2\u30af\u30b7\u30e7\u30f3''{0}''\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002 -# Properties -office.property.title=\u30BF\u30A4\u30C8\u30EB -office.property.description=\u8AAC\u660E -office.property.creator=\u4F5C\u6210\u8005 -office.property.created=\u4F5C\u6210\u6E08 -office.property.modifier=\u4FEE\u6B63\u8005 -office.property.modified=\u5909\u66F4\u6E08 -office.property.size=\u30B5\u30A4\u30BA -office.property.categories=\u30AB\u30C6\u30B4\u30EA -office.property.author=\u4F5C\u6210\u8005 -office.property.date=\u65E5\u4ED8 -office.property.due_date=\u7DE0\u5207\u65E5 -office.property.name=\u540D\u524D -office.property.template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 -office.property.filename=\u6587\u66F8\u306E\u30D5\u30A1\u30A4\u30EB\u540D -office.property.workflow=\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC -office.property.assign_to=\u5272\u5F53\u3066\u5148 -office.property.due_on=\u7DE0\u5207\u65E5 -office.property.status=\u30B9\u30C6\u30FC\u30BF\u30B9 -office.property.priority=\u512A\u5148 -office.property.start_date=\u958B\u59CB\u65E5 -office.property.type=\u30BF\u30A4\u30D7 -office.property.complete=\u5B8C\u4E86 +#Properties +office.property.title=\u30bf\u30a4\u30c8\u30eb +office.property.description=\u8aac\u660e +office.property.creator=\u4f5c\u6210\u8005 +office.property.created=\u4f5c\u6210\u6e08 +office.property.modifier=\u4fee\u6b63\u8005 +office.property.modified=\u5909\u66f4\u6e08 +office.property.size=\u30b5\u30a4\u30ba +office.property.categories=\u30ab\u30c6\u30b4\u30ea +office.property.author=\u4f5c\u6210\u8005 +office.property.date=\u65e5\u4ed8 +office.property.due_date=\u7de0\u5207\u65e5 +office.property.name=\u540d\u524d +office.property.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 +office.property.filename=\u6587\u66f8\u306e\u30d5\u30a1\u30a4\u30eb\u540d +office.property.workflow=\u30ef\u30fc\u30af\u30d5\u30ed\u30fc +office.property.assign_to=\u5272\u5f53\u3066\u5148 +office.property.due_on=\u7de0\u5207\u65e5 +office.property.status=\u30b9\u30c6\u30fc\u30bf\u30b9 +office.property.priority=\u512a\u5148 +office.property.start_date=\u958b\u59cb\u65e5 +office.property.type=\u30bf\u30a4\u30d7 +office.property.complete=\u5b8c\u4e86 -#\u00A0Workflow -office.workflow.review=\u30EC\u30D3\u30E5\u30FC\u3068\u627F\u8A8D -office.workflow.adhoc=\u30A2\u30C9\u30DB\u30C3\u30AF\u30FB\u30BF\u30B9\u30AF +#Workflow +office.workflow.review=\u30ec\u30d3\u30e5\u30fc\u3068\u627f\u8a8d +office.workflow.adhoc=\u30a2\u30c9\u30db\u30c3\u30af\u30fb\u30bf\u30b9\u30af -# Result messages -office.result.failed=\u30A2\u30AF\u30B7\u30E7\u30F3\u304C\u5931\u6557\u3057\u307E\u3057\u305F -office.result.convert.failed=\u6587\u66F8\u3092\u5909\u63DB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F -office.result.converted=\u6587\u66F8\u304C\u5909\u63DB\u3055\u308C\u307E\u3057\u305F -office.result.delete.failed=\u6587\u66F8\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F -office.result.deleted=\u6587\u66F8\u304C\u524A\u9664\u3055\u308C\u307E\u3057\u305F -office.result.checkout.failed=\u6587\u66F8\u3092\u30C1\u30A7\u30C3\u30AF\u30A2\u30A6\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F -office.result.checked_out=\u6587\u66F8\u304C\u30C1\u30A7\u30C3\u30AF\u30A2\u30A6\u30C8\u3055\u308C\u307E\u3057\u305F -office.result.checkin.failed=\u6587\u66F8\u3092\u30C1\u30A7\u30C3\u30AF\u30A4\u30F3\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F -office.result.checked_in=\u6587\u66F8\u304C\u30C1\u30A7\u30C3\u30AF\u30A4\u30F3\u3055\u308C\u307E\u3057\u305F -office.result.version.failed=\u6587\u66F8\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u7BA1\u7406\u304C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F -office.result.versioned=\u6587\u66F8\u304C\u30D0\u30FC\u30B8\u30E7\u30F3\u7BA1\u7406\u3055\u308C\u307E\u3057\u305F -office.result.workflow_started=\u65B0\u3057\u3044\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u304C\u958B\u59CB\u3055\u308C\u307E\u3057\u305F -office.result.unknown=\u4E0D\u660E\u306A\u30A2\u30AF\u30B7\u30E7\u30F3 -office.result.exception=\u4F8B\u5916\u304C\u767A\u751F\u3057\u305F\u305F\u3081\u30A2\u30AF\u30B7\u30E7\u30F3\u3092\u5B9F\u884C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F -office.result.create_space.failed=\u30B9\u30DA\u30FC\u30B9\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F -office.result.create_space.missing_name=\u30B9\u30DA\u30FC\u30B9\u306B\u306F\u540D\u524D\u304C\u5FC5\u8981\u3067\u3059 -office.result.space_created=\u65B0\u898F\u30B9\u30DA\u30FC\u30B9\u304C\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F -office.result.user_not_found=\u30E6\u30FC\u30B6\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093 +#Result messages +office.result.failed=\u30a2\u30af\u30b7\u30e7\u30f3\u304c\u5931\u6557\u3057\u307e\u3057\u305f +office.result.convert.failed=\u6587\u66f8\u3092\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f +office.result.converted=\u6587\u66f8\u304c\u5909\u63db\u3055\u308c\u307e\u3057\u305f +office.result.delete.failed=\u6587\u66f8\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f +office.result.deleted=\u6587\u66f8\u304c\u524a\u9664\u3055\u308c\u307e\u3057\u305f +office.result.checkout.failed=\u6587\u66f8\u3092\u30c1\u30a7\u30c3\u30af\u30a2\u30a6\u30c8\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f +office.result.checked_out=\u6587\u66f8\u304c\u30c1\u30a7\u30c3\u30af\u30a2\u30a6\u30c8\u3055\u308c\u307e\u3057\u305f +office.result.checkin.failed=\u6587\u66f8\u3092\u30c1\u30a7\u30c3\u30af\u30a4\u30f3\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f +office.result.checked_in=\u6587\u66f8\u304c\u30c1\u30a7\u30c3\u30af\u30a4\u30f3\u3055\u308c\u307e\u3057\u305f +office.result.version.failed=\u6587\u66f8\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f +office.result.versioned=\u6587\u66f8\u304c\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u3055\u308c\u307e\u3057\u305f +office.result.workflow_started=\u65b0\u3057\u3044\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u304c\u958b\u59cb\u3055\u308c\u307e\u3057\u305f +office.result.unknown=\u4e0d\u660e\u306a\u30a2\u30af\u30b7\u30e7\u30f3 +office.result.exception=\u4f8b\u5916\u304c\u767a\u751f\u3057\u305f\u305f\u3081\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f +office.result.create_space.failed=\u30b9\u30da\u30fc\u30b9\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f +office.result.create_space.missing_name=\u30b9\u30da\u30fc\u30b9\u306b\u306f\u540d\u524d\u304c\u5fc5\u8981\u3067\u3059 +office.result.space_created=\u65b0\u898f\u30b9\u30da\u30fc\u30b9\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f +office.result.user_not_found=\u30e6\u30fc\u30b6\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093 -# Miscellaneous +#Miscellaneous office.unit.kb=KB -office.version.notes=\u30E1\u30E2 -office.task.overdue=\u671F\u9650\u5207\u308C -office.task.due_today=\u672C\u65E5\u671F\u9650 -office.tip.task_item=\u30BF\u30B9\u30AF\u30FB\u30A2\u30A4\u30C6\u30E0 +office.version.notes=\u30e1\u30e2 +office.task.overdue=\u671f\u9650\u5207\u308c +office.task.due_today=\u672c\u65e5\u671f\u9650 +office.tip.task_item=\u30bf\u30b9\u30af\u30fb\u30a2\u30a4\u30c6\u30e0 diff --git a/config/alfresco/messages/webclient.properties b/config/alfresco/messages/webclient.properties index a11bdc5d2a..9f12c5e47e 100644 --- a/config/alfresco/messages/webclient.properties +++ b/config/alfresco/messages/webclient.properties @@ -142,8 +142,8 @@ download_doc=Download # Offline editing click_here= click here offline_help=For help on offline editing -offline_download_first=If your document does not start downloading in -offline_download_second=seconds then +offline_download=Your download will start automatically shortly. If it does not happen you can use the link next to the timer. Seconds remaining: +offline_start_download=Start download offline_download_auto_change=If you do not want files to start downloading automatically when you select offline editing then offline_download_not_started=If your document has not started downloading then offline_editing=Offline Editing @@ -208,6 +208,7 @@ moved=moved copied=copied clipboard=Clipboard node_added_clipboard=An item was added to the clipboard. There are now {0} item(s) in the clipboard. To paste all collected items navigate to the desired space then from the menu under ''More Actions'' select ''Paste All''. +not_suitable_view_for_paste_warn=Cannot paste \"{0}\" to the current view. Please navigate to a valid destination. recent_spaces=Recent Spaces shortcuts=Shortcuts company_home=Company Home @@ -2127,5 +2128,25 @@ trx.fromRepositoryId=Transferred From trx.repositoryId=Transferred Origin trx.invadedBy=Contains transfers +#output-path-pattern-help.jsp +guidelines_title=Guidelines +variables_title=Variables +forexample_title=For example +general_info_part1=An output path pattern is a +general_info_part2=FreeMarker +general_info_part3=expression which is used to specify the path to use when saving a generated asset using variable substitution when creating web content. +guidelines_message=Output path patterns beginning with a leading slash (such as /${webapp}/content/${name}.xml) will produce paths rooted at the sandbox. Those not beginning with a leading slash will produce paths relative to the current working directory when the create web content wizard is invoked. +description_name_field=The name of the form instance data as entered by the user in the create web content wizard. +description_webapp_field=The name of the webapp in which the form instance data is being created. Typically, if specifying an absolute output path pattern, the path will begin with the webapp folder (i.e. /${webapp}/...) +description_cwd_field=The webapp relative path in which the form is being created. +description_extension_field=The default extension associated with the mime-type configured for the rendering engine template. This variable is only available for rendition output path patterns. +description_xml_field=The xml instance data collected by the form. +description_node_field=The form instance data node. This variable is only available for rendition output path patterns. +description_date_field_part1=The current date at which the form instance data is being saved. Refer to the +description_date_field_part2=FreeMarker date reference +description_date_field_part3=for more information. +wiki_reference_part1=For a more complete reference, please refer to the +wiki_reference_part2=wiki. + # Team properties team_login_warning=The requested Alfresco Explorer page is unsupported. Access this page only at the direction of Alfresco Support. diff --git a/config/alfresco/messages/webclient_de.properties b/config/alfresco/messages/webclient_de.properties index a948ce2967..7d0692070b 100644 --- a/config/alfresco/messages/webclient_de.properties +++ b/config/alfresco/messages/webclient_de.properties @@ -142,8 +142,8 @@ download_doc=Herunterladen # Offline editing click_here= Hier klicken offline_help=F\u00fcr Hilfe zur Offline Bearbeitung. -offline_download_first=Wenn der Download Ihres Dokuments nicht in -offline_download_second=Sekunden beginnt, dann +offline_download=Ihr Download wird in wenigen Sekunden automatisch starten. Falls das nicht der Fall sein sollte, k\u00f6nnen Sie den Link neben dem Timer verwenden. Verbleibende Sekunden: +offline_start_download=Starte download offline_download_auto_change=Wenn Sie nicht w\u00fcnschen, dass der Dateidownload automatisch beginnt, wenn Sie Offline Bearbeitung w\u00e4hlen, dann offline_download_not_started=Wenn der Download Ihres Dokuments nicht begonnen hat, dann offline_editing=Offline Bearbeitung @@ -159,7 +159,7 @@ kilobyte=KB megabyte=MB gigabyte=GB locked_you=Von Ihnen gesperrtes Element -locked_user=Element gesperrt durch {0,choice,0#SHOULD_NOT_HAPPEN|1#user|1 +
@@ -19,7 +21,7 @@ "); this.highlightedRow = !this.highlightedRow; diff --git a/source/java/org/alfresco/web/ui/repo/renderer/NodeDescendantsLinkRenderer.java b/source/java/org/alfresco/web/ui/repo/renderer/NodeDescendantsLinkRenderer.java index 81e1d1e58a..e787c265d8 100644 --- a/source/java/org/alfresco/web/ui/repo/renderer/NodeDescendantsLinkRenderer.java +++ b/source/java/org/alfresco/web/ui/repo/renderer/NodeDescendantsLinkRenderer.java @@ -37,7 +37,10 @@ import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.RegexQNamePattern; +import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Repository; +import org.alfresco.web.data.IDataContainer; +import org.alfresco.web.data.QuickSort; import org.alfresco.web.ui.common.Utils; import org.alfresco.web.ui.common.renderer.BaseRenderer; import org.alfresco.web.ui.repo.component.UINodeDescendants; @@ -119,7 +122,7 @@ public class NodeDescendantsLinkRenderer extends BaseRenderer { List childRefs = service.getChildAssocs(parentRef, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL); - List refs = new ArrayList(childRefs.size()); + List nodes = new ArrayList(childRefs.size()); for (int index=0; index control.getMaxChildren() ? control.getMaxChildren() : refs.size(); + int maximum = nodes.size() > control.getMaxChildren() ? control.getMaxChildren() : nodes.size(); for (int index=0; index maximum) + if (control.getShowEllipses() == true && nodes.size() > maximum) { out.write( separator ); // TODO: is this the correct way to get the information we need? // e.g. primary parent may not be the correct path? how do we make sure we find // the correct parent and more importantly the correct Display Name value! - out.write( renderDescendant(context, control, service.getPrimaryParent(parentRef), true) ); + out.write( renderDescendant(context, control, service.getPrimaryParent(parentRef).getChildRef(), true) ); } } @@ -185,7 +191,7 @@ public class NodeDescendantsLinkRenderer extends BaseRenderer * * @return HTML for a descendant link */ - private String renderDescendant(FacesContext context, UINodeDescendants control, ChildAssociationRef childRef, boolean ellipses) + private String renderDescendant(FacesContext context, UINodeDescendants control, NodeRef childRef, boolean ellipses) { StringBuilder buf = new StringBuilder(256); @@ -193,7 +199,7 @@ public class NodeDescendantsLinkRenderer extends BaseRenderer // build an HTML param that contains the client Id of this control, followed by the node Id // followed by whether this is the parent node not a decendant (ellipses clicked) String param = control.getClientId(context) + NamingContainer.SEPARATOR_CHAR + - childRef.getChildRef().getId() + NamingContainer.SEPARATOR_CHAR + + childRef.getId() + NamingContainer.SEPARATOR_CHAR + Boolean.toString(ellipses); buf.append(Utils.generateFormSubmit(context, control, getHiddenFieldName(context, control), param)); buf.append('"'); @@ -214,7 +220,7 @@ public class NodeDescendantsLinkRenderer extends BaseRenderer if (ellipses == false) { // label is the name of the child node assoc - String name = Repository.getNameForNode(getNodeService(context), childRef.getChildRef()); + String name = Repository.getNameForNode(getNodeService(context), childRef); buf.append(Utils.encode(name)); } else diff --git a/source/web/jsp/actions/copy.jsp b/source/web/jsp/actions/copy.jsp index 0e8993e161..03ff94a5ec 100644 --- a/source/web/jsp/actions/copy.jsp +++ b/source/web/jsp/actions/copy.jsp @@ -113,6 +113,13 @@ styleClass="selector" /> + + + +
${msg("task_summary_panel.start_date")}:${task.startDate?string(msg("date_pattern"))}
${msg("task_summary_panel.due_date")}: <#if task.properties["bpm:dueDate"]?exists> - ${task.properties["bpm:dueDate"]?date} + ${task.properties["bpm:dueDate"]?string(msg("date_pattern"))} <#else> ${msg("task_summary_panel.none")} diff --git a/config/alfresco/templates/email/invite_user_email.ftl b/config/alfresco/templates/email/invite_user_email.ftl index a73b48964b..20a27bce90 100644 --- a/config/alfresco/templates/email/invite_user_email.ftl +++ b/config/alfresco/templates/email/invite_user_email.ftl @@ -1,13 +1,13 @@ -You have been invited to '${space.name}' by ${person.properties.firstName}<#if person.properties.lastName?exists> ${person.properties.lastName}. +${msg("templates.invite_user_email.invited_to_space", space.name, person.properties.firstName)}<#if person.properties.lastName?exists> ${person.properties.lastName}. -<#if role?exists>You will have the role of: ${role} +<#if role?exists>${msg("templates.invite_user_email.role", role)} -You can view the space through the Alfresco client: +${msg("templates.invite_user_email.you_can_view_the_space")}: <#assign ref=space.nodeRef> <#assign workspace=ref[0..ref?index_of("://")-1]> <#assign storenode=ref[ref?index_of("://")+3..]> ${url.serverPath}/alfresco/navigate/browse/${workspace}/${storenode} -Regards +${msg("templates.invite_user_email.regards")} Alfresco diff --git a/config/alfresco/web-client-config-dialogs.xml b/config/alfresco/web-client-config-dialogs.xml index 62657ed997..fef36d16ed 100644 --- a/config/alfresco/web-client-config-dialogs.xml +++ b/config/alfresco/web-client-config-dialogs.xml @@ -539,7 +539,7 @@ + description-id="user_console_description" show-ok-button="false" error-message-id="empty_message"/> - bold,italic,underline,separator,forecolor,backcolor,separator,link,unlink,image + bold,italic,underline,separator,forecolor,backcolor,separator,link,unlink,image,code - bold,italic,underline,strikethrough,separator,fontselect,fontsizeselect + bold,italic,underline,strikethrough,separator,fontselect,fontsizeselect,code link,unlink,image,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,separator,undo,redo,separator,forecolor,backcolor 400 @@ -62,6 +62,7 @@ 600 exact true + p true table tablecontrols diff --git a/source/java/org/alfresco/web/bean/TemplateMailHelperBean.java b/source/java/org/alfresco/web/bean/TemplateMailHelperBean.java index 73722760f1..e731baf1f9 100644 --- a/source/java/org/alfresco/web/bean/TemplateMailHelperBean.java +++ b/source/java/org/alfresco/web/bean/TemplateMailHelperBean.java @@ -28,6 +28,7 @@ import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import org.alfresco.model.ContentModel; +import org.alfresco.repo.template.I18NMessageMethod; import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.repository.ContentReader; import org.alfresco.service.cmr.repository.ContentService; @@ -142,18 +143,18 @@ public class TemplateMailHelperBean implements Serializable model.put("space", node); // object to allow client urls to be generated in emails model.put("url", new BaseTemplateContentServlet.URLHelper(fc)); - - model.put("document", node); - if (nodeService.getType(node).equals(ContentModel.TYPE_CONTENT)) + model.put("msg", new I18NMessageMethod()); + model.put("document", node); + if (nodeService.getType(node).equals(ContentModel.TYPE_CONTENT)) + { + NodeRef parentNodeRef = nodeService.getParentAssocs(node).get(0).getParentRef(); + if (parentNodeRef == null) { - NodeRef parentNodeRef = nodeService.getParentAssocs(node).get(0).getParentRef(); - if (parentNodeRef == null) - { - throw new IllegalArgumentException("Parent folder doesn't exists for node: " + node); - } - model.put("space", parentNodeRef); + throw new IllegalArgumentException("Parent folder doesn't exists for node: " + node); } - + model.put("space", parentNodeRef); + } + body = services.getTemplateService().processTemplate("freemarker", templateRef.toString(), model); } this.finalBody = body; diff --git a/source/java/org/alfresco/web/bean/actions/handlers/CopyHandler.java b/source/java/org/alfresco/web/bean/actions/handlers/CopyHandler.java index 205e90cd1e..da83c9ac98 100644 --- a/source/java/org/alfresco/web/bean/actions/handlers/CopyHandler.java +++ b/source/java/org/alfresco/web/bean/actions/handlers/CopyHandler.java @@ -37,8 +37,11 @@ import org.alfresco.web.bean.wizard.IWizardBean; */ public class CopyHandler extends BaseActionHandler { - private static final long serialVersionUID = -3570705279828902436L; - + private static final long serialVersionUID = -3570705279828902437L; + + private static final String PROP_DEEPCOPY = "deepCopy"; + + public String getJSPPath() { return getJSPPath(CopyActionExecuter.NAME); @@ -51,6 +54,9 @@ public class CopyHandler extends BaseActionHandler NodeRef destNodeRef = (NodeRef)actionProps.get(PROP_DESTINATION); repoProps.put(CopyActionExecuter.PARAM_DESTINATION_FOLDER, destNodeRef); + // deep copy option + Boolean deepCopy = (Boolean)actionProps.get(PROP_DEEPCOPY); + repoProps.put(CopyActionExecuter.PARAM_DEEP_COPY, deepCopy); } public void prepareForEdit(Map actionProps, @@ -58,6 +64,9 @@ public class CopyHandler extends BaseActionHandler { NodeRef destNodeRef = (NodeRef)repoProps.get(CopyActionExecuter.PARAM_DESTINATION_FOLDER); actionProps.put(PROP_DESTINATION, destNodeRef); + + Boolean deepCopy = (Boolean)repoProps.get(CopyActionExecuter.PARAM_DEEP_COPY); + actionProps.put(PROP_DEEPCOPY, deepCopy); } public String generateSummary(FacesContext context, IWizardBean wizard, @@ -70,5 +79,4 @@ public class CopyHandler extends BaseActionHandler return MessageFormat.format(Application.getMessage(context, "action_copy"), new Object[] {spaceName}); } - } diff --git a/source/java/org/alfresco/web/bean/ajax/TaskInfoBean.java b/source/java/org/alfresco/web/bean/ajax/TaskInfoBean.java index 5db1f4ea4d..c0cefbcf2d 100644 --- a/source/java/org/alfresco/web/bean/ajax/TaskInfoBean.java +++ b/source/java/org/alfresco/web/bean/ajax/TaskInfoBean.java @@ -36,6 +36,7 @@ import org.alfresco.service.cmr.workflow.WorkflowService; import org.alfresco.service.cmr.workflow.WorkflowTask; import org.alfresco.web.app.servlet.BaseTemplateContentServlet; import org.alfresco.web.bean.repository.Repository; +import org.springframework.extensions.surf.util.I18NUtil; /** * Bean used by an AJAX control to send information back on the requested workflow task. @@ -136,10 +137,12 @@ public class TaskInfoBean implements Serializable FacesContext context = FacesContext.getCurrentInstance(); Map model = new HashMap(8, 1.0f); + I18NUtil.registerResourceBundle("alfresco.messages.webclient"); // create template api methods and objects model.put("date", new Date()); model.put("msg", new I18NMessageMethod()); model.put("url", new BaseTemplateContentServlet.URLHelper(context)); + model.put("locale", I18NUtil.getLocale()); model.put("task", new Workflow.WorkflowTaskItem( Repository.getServiceRegistry(context), this.imageResolver, diff --git a/source/java/org/alfresco/web/bean/clipboard/ClipboardBean.java b/source/java/org/alfresco/web/bean/clipboard/ClipboardBean.java index f70342514a..4600e92451 100644 --- a/source/java/org/alfresco/web/bean/clipboard/ClipboardBean.java +++ b/source/java/org/alfresco/web/bean/clipboard/ClipboardBean.java @@ -56,6 +56,7 @@ public class ClipboardBean implements Serializable /** I18N messages */ private static final String MSG_ERROR_PASTE = "error_paste"; + private static final String MSG_VIEW_FOR_PASTE_WARN = "not_suitable_view_for_paste_warn"; /** Current state of the clipboard items */ private List items = new ArrayList(4); @@ -129,6 +130,12 @@ public class ClipboardBean implements Serializable if (parent != null) { parentNodeRef = new NodeRef(Repository.getStoreRef(), parent); + // ALF-8885 fix, if copied node is the same as parent node we should use null. + // Primary parent will be used later in FileFolderService#moveOrCopy method + if (parentNodeRef.toString().equals(ref)) + { + parentNodeRef = null; + } } addClipboardNode(new NodeRef(ref), parentNodeRef, ClipboardStatus.CUT); } @@ -167,7 +174,7 @@ public class ClipboardBean implements Serializable private void performPasteItems(int index, int action) { FacesContext context = FacesContext.getCurrentInstance(); - + boolean toClear = false; try { if (index == -1) @@ -179,6 +186,7 @@ public class ClipboardBean implements Serializable if (!getNodeService().exists(item.getNodeRef())) { toRemove.add(item); + toClear = true; continue; } @@ -190,22 +198,26 @@ public class ClipboardBean implements Serializable // remember which items to remove. toRemove.add(item); } + toClear = true; } } - // if configured to do so clear the clipboard after a paste all - if (Application.getClientConfig(context).isPasteAllAndClearEnabled()) + // clear the clipboard after a paste all + if (toClear) { - this.items.clear(); - } - else if (toRemove.size() > 0) - { - // remove the items that were cut above - for (ClipboardItem item : toRemove) - { - this.items.remove(item); - } - } + if (Application.getClientConfig(context).isPasteAllAndClearEnabled()) + { + this.items.clear(); + } + else if (toRemove.size() > 0) + { + // remove the items that were cut above + for (ClipboardItem item : toRemove) + { + this.items.remove(item); + } + } + } } else { @@ -256,6 +268,13 @@ public class ClipboardBean implements Serializable } else { + if (Application.getClientConfig(fc).isClipboardStatusVisible()) + { + String pattern = Application.getMessage(fc, MSG_VIEW_FOR_PASTE_WARN); + String msg = MessageFormat.format(pattern, item.getName()); + FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_WARN, msg, msg); + fc.addMessage(null, facesMsg); + } // we cannot support this view as a Move paste location if (logger.isDebugEnabled()) logger.debug("Clipboard Item: " + item.getNodeRef() + " not suitable for Move paste to current View Id."); @@ -269,6 +288,13 @@ public class ClipboardBean implements Serializable } else { + if (Application.getClientConfig(fc).isClipboardStatusVisible()) + { + String pattern = Application.getMessage(fc, MSG_VIEW_FOR_PASTE_WARN); + String msg = MessageFormat.format(pattern, item.getName()); + FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_WARN, msg, msg); + fc.addMessage(null, facesMsg); + } // we cannot support this view as a Copy paste location if (logger.isDebugEnabled()) logger.debug("Clipboard Item: " + item.getNodeRef() + " not suitable for Copy paste to current View Id."); diff --git a/source/java/org/alfresco/web/forms/xforms/XFormsProcessor.java b/source/java/org/alfresco/web/forms/xforms/XFormsProcessor.java index 91cea6953d..71baaf1eb4 100644 --- a/source/java/org/alfresco/web/forms/xforms/XFormsProcessor.java +++ b/source/java/org/alfresco/web/forms/xforms/XFormsProcessor.java @@ -236,6 +236,11 @@ public class XFormsProcessor implements FormProcessor } } + js.append("';\n"); + js.append("alfresco.constants.LANGUAGE = '"); + String lang = Application.getLanguage(FacesContext.getCurrentInstance()).toString(); + lang = lang.substring(0,lang.indexOf("_")); + js.append(lang); js.append("';\n"); js.append("alfresco.xforms.constants.XFORMS_UI_DIV_ID = '"). append(xformsUIDivId). diff --git a/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java b/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java index 9f43f9273e..89c327beae 100644 --- a/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java +++ b/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java @@ -49,6 +49,7 @@ import org.alfresco.service.cmr.search.LimitBy; import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.SearchParameters; import org.alfresco.service.cmr.search.SearchService; +import org.alfresco.service.cmr.security.AccessStatus; import org.alfresco.service.cmr.security.AuthorityService; import org.alfresco.service.cmr.security.AuthorityType; import org.alfresco.service.cmr.security.PermissionService; @@ -101,6 +102,9 @@ public abstract class BaseAssociationEditor extends UIInput private final static String MSG_CANCEL = "cancel"; private final static String MSG_SEARCH = "search"; private final static String MSG_CHANGE = "change"; + private final static String MSG_WARN_CANNOT_VIEW = "warn_cannot_view_target_details"; + + private static final String PERMISSION_SERVICE = "PermissionService"; protected String associationName; protected String availableOptionsSize; @@ -709,6 +713,7 @@ public abstract class BaseAssociationEditor extends UIInput protected void renderExistingAssociation(FacesContext context, ResponseWriter out, NodeService nodeService, NodeRef targetRef, boolean allowMany) throws IOException { + boolean accessDenied = false; out.write("
 "); } else { - out.write("selectedItemsRow"); + out.write(""); + + if (allowMany == false) + { + out.write(" "); + } } - out.write("'>"); - - if (allowMany == false) - { - out.write(" "); - } - out.write("
  + + +
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "white"); %> diff --git a/source/web/jsp/coci/edit-offline-file.jsp b/source/web/jsp/coci/edit-offline-file.jsp index 0b86d34228..188005e0fe 100644 --- a/source/web/jsp/coci/edit-offline-file.jsp +++ b/source/web/jsp/coci/edit-offline-file.jsp @@ -63,12 +63,11 @@ - +  5  - diff --git a/source/web/jsp/wcm/output-path-pattern-help.jsp b/source/web/jsp/wcm/output-path-pattern-help.jsp index a50f6c0f85..b2a1d0786e 100644 --- a/source/web/jsp/wcm/output-path-pattern-help.jsp +++ b/source/web/jsp/wcm/output-path-pattern-help.jsp @@ -1,46 +1,56 @@ - + + + \ No newline at end of file +
+ + + + + + + name + webapp + cwd + extension + xml + node + date + + +
+ +
+ + ${name}.xml + ${name}.${extension} + ${webapp}/content/${name}.xml + ${date?string("yyyy-MM-dd")}.xml +
+ + +
+ +
+ + +
diff --git a/source/web/scripts/ajax/xforms.js b/source/web/scripts/ajax/xforms.js index 5d41b6ef58..bbbee08377 100644 --- a/source/web/scripts/ajax/xforms.js +++ b/source/web/scripts/ajax/xforms.js @@ -36,6 +36,7 @@ alfresco.ieEngine = alfresco.ieVersion == -1 ? -1 : getIEEngine(); djConfig.parseWidgets = false; dojo.require("dojo.lfx.html"); +dojo.locale=alfresco.constants.LANGUAGE alfresco.log = alfresco.constants.DEBUG ? log : Class.empty; //////////////////////////////////////////////////////////////////////////////// @@ -4891,6 +4892,7 @@ alfresco.constants.TINY_MCE_DEFAULT_SETTINGS = theme: "advanced", mode: "exact", plugins: alfresco.constants.TINY_MCE_DEFAULT_PLUGINS, + language: alfresco.constants.LANGUAGE, width: -1, height: -1, auto_resize: false,