Edit steps for Multipart Article part IV. Not tested yet!

pull/10/head
Jens Pelzetter 2021-12-18 19:53:55 +01:00
parent a124d529d2
commit afdbc72240
10 changed files with 441 additions and 86 deletions

View File

@ -214,38 +214,6 @@ public class MvcArticleTextBodyStep extends AbstractMvcAuthoringStep {
}
}
// @GET
//// @Path("/{locale}/@view")
// @Path("/variants/{locale}")
// @Transactional(Transactional.TxType.REQUIRED)
// public String viewTextValue(
// @PathParam(MvcAuthoringSteps.SECTION_IDENTIFIER_PATH_PARAM)
// final String sectionIdentifier,
// @PathParam(MvcAuthoringSteps.DOCUMENT_PATH_PATH_PARAM_NAME)
// final String documentPath,
// @PathParam("locale") final String localeParam
// ) {
// try {
// init();
// } catch (ContentSectionNotFoundException ex) {
// return ex.showErrorMessage();
// } catch (DocumentNotFoundException ex) {
// return ex.showErrorMessage();
// }
//
// if (itemPermissionChecker.canEditItem(getArticle())) {
// selectedLocale = new Locale(localeParam).toString();
//
//// return "org/librecms/ui/contenttypes/article/article-text/view.xhtml";
// return getTextValues().get(localeParam);
// } else {
// return documentUi.showAccessDenied(
// getContentSection(),
// getArticle(),
// articleMessageBundle.getMessage("article.edit.denied")
// );
// }
// }
@GET
@Path("/edit/{locale}")
@Transactional(Transactional.TxType.REQUIRED)

View File

@ -32,9 +32,11 @@ import javax.inject.Named;
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@RequestScoped
@Named("CmsMpaSectionModel")
@Named("CmsMpaSectionStep")
public class MpaSectionModel {
private String articleTitle;
private long sectionId;
private boolean pageBreak;
@ -52,6 +54,14 @@ public class MpaSectionModel {
private Map<String, String> truncatedTextValues;
private List<String> unusedTextLocales;
public String getArticleTitle() {
return articleTitle;
}
protected void setArticleTitle(final String articleTitle) {
this.articleTitle = articleTitle;
}
public long getSectionId() {
return sectionId;
@ -101,6 +111,10 @@ public class MpaSectionModel {
this.unusedTitleLocales = new ArrayList<>(unusedTitleLocales);
}
public boolean getHasUnusedTitleLocales() {
return !unusedTitleLocales.isEmpty();
}
public Map<String, String> getTextValues() {
return Collections.unmodifiableMap(textValues);
}
@ -122,6 +136,10 @@ public class MpaSectionModel {
public List<String> getUnusedTextLocales() {
return Collections.unmodifiableList(unusedTextLocales);
}
public boolean getHasUnusedTextLocales() {
return !unusedTextLocales.isEmpty();
}
protected void setUnusedTextLocales(
final List<String> unusedTextLocales

View File

@ -32,25 +32,35 @@ import javax.inject.Named;
@RequestScoped
@Named("CmsMpaSectionsStep")
public class MpaSectionsStepModel {
private String articleTitle;
private boolean canEdit;
private List<MpaSectionsTableRow> rows;
public boolean getCanEdit() {
private List<MpaSectionsTableRow> sections;
public String getArticleTitle() {
return articleTitle;
}
protected void setArticleTitle(final String articleTitle) {
this.articleTitle = articleTitle;
}
public boolean getCanEdit() {
return canEdit;
}
protected void setCanEdit(final boolean canEdit) {
this.canEdit = canEdit;
}
public List<MpaSectionsTableRow> getRows() {
return Collections.unmodifiableList(rows);
public List<MpaSectionsTableRow> getSections() {
return Collections.unmodifiableList(sections);
}
protected void setRows(final List<MpaSectionsTableRow> rows) {
this.rows = new ArrayList<>(rows);
protected void setSections(final List<MpaSectionsTableRow> sections) {
this.sections = new ArrayList<>(sections);
}
}

View File

@ -118,7 +118,13 @@ public class MvcMpaSectionsStep extends AbstractMvcAuthoringStep {
}
if (itemPermissionChecker.canEditItem(getMpa())) {
mpaSectionsStepModel.setRows(
mpaSectionsStepModel.setCanEdit(true);
mpaSectionsStepModel.setArticleTitle(
globalizationHelper.getValueFromLocalizedString(
getMpa().getTitle()
)
);
mpaSectionsStepModel.setSections(
getMpa()
.getSections()
.stream()
@ -205,7 +211,7 @@ public class MvcMpaSectionsStep extends AbstractMvcAuthoringStep {
}
@POST
@Path("/@remove/{sectionId}")
@Path("/{sectionId}/@remove")
@Transactional(Transactional.TxType.REQUIRED)
public String removeSection(
@PathParam(MvcAuthoringSteps.SECTION_IDENTIFIER_PATH_PARAM)
@ -249,7 +255,7 @@ public class MvcMpaSectionsStep extends AbstractMvcAuthoringStep {
}
}
@POST
@GET
@Path("/{sectionId}")
@Transactional(Transactional.TxType.REQUIRED)
public String showSection(
@ -573,7 +579,7 @@ public class MvcMpaSectionsStep extends AbstractMvcAuthoringStep {
final String documentPath,
@PathParam("sectionId")
final String sectionIdParam,
@FormParam("pageBreak") final String pageBreakParam
@FormParam("pagebreak") final String pageBreakParam
) {
try {
init();
@ -618,7 +624,7 @@ public class MvcMpaSectionsStep extends AbstractMvcAuthoringStep {
itemPermissionChecker.canEditItem(getMpa())
);
mpaSectionsStepModel
.setRows(
.setSections(
getMpa()
.getSections()
.stream()
@ -705,6 +711,10 @@ public class MvcMpaSectionsStep extends AbstractMvcAuthoringStep {
}
final MultiPartArticleSection section = result.get();
mpaSectionModel.setArticleTitle(
globalizationHelper.getValueFromLocalizedString(
getMpa().getTitle())
);
mpaSectionModel.setPageBreak(section.isPageBreak());
mpaSectionModel.setRank(section.getRank());
mpaSectionModel.setSectionId(section.getSectionId());

View File

@ -1,36 +0,0 @@
<!DOCTYPE html [<!ENTITY times '&#215;'>]>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:bootstrap="http://xmlns.jcp.org/jsf/composite/components/bootstrap"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
xmlns:libreccm="http://xmlns.jcp.org/jsf/composite/components/libreccm"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:composition template="/WEB-INF/views/org/librecms/ui/contentsection/documents/authoringstep.xhtml">
<ui:define name="authoringStep">
<div class="d-flex">
<a class="btn btn-secondary btn-sm algin-self-center mr-2"
href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@article-text">
<bootstrap:svgIcon icon="caret-left-fill" />
<span class="sr-only">#{CmsArticleMessageBundle['textstep.back']}</span>
</a>
<h2>#{CmsArticleMessageBundle.getMessage('textstep.header.view',[CmsArticleTextBodyStep.selectedLocale])}</h2>
</div>
<c:if test="#{CmsArticleTextBodyStep.canEdit}">
<div class="text-right">
<a class="btn btn-secondary"
href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@article-text/#{CmsArticleTextBodyStep.selectedLocale}/@edit">
<bootstrap:svgIcon icon="pen" />
<span class="sr-only">#{CmsArticleMessageBundle['textstep.languages.edit']}</span>
</a>
</div>
</c:if>
<div class="cms-text-preview article-text">
#{CmsArticleTextBodyStep.textValues.get(CmsArticleTextBodyStep.selectedLocale)}
</div>
</ui:define>
</ui:composition>
</html>

View File

@ -0,0 +1,43 @@
<!DOCTYPE html [<!ENTITY times '&#215;'>]>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:bootstrap="http://xmlns.jcp.org/jsf/composite/components/bootstrap"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
xmlns:libreccm="http://xmlns.jcp.org/jsf/composite/components/libreccm"
xmlns:librecms="http://xmlns.jcp.org/jsf/composite/components/librecms"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:composition template="/WEB-INF/views/org/librecms/ui/contentsection/documents/authoringstep.xhtml">
<ui:define name="authoringStep">
<div class="d-flex">
<a class="btn btn-secondary btn-sm mr-2"
href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{CmsMpaSectionStep.sectionId}">
<bootstrap:svgIcon icon="caret-left-fill" />
<span class="sr-only">#{CmsMpaMessageBundle['sectionstep.textstep.back']}</span>
</a>
<h2>#{CmsMpaMessageBundle.getMessage('sectionstep.textstep.header.edit',[CmsMpaSectionStep.articleTitle, CmsMpaSectionStep.titleValues.get(CmsMpaSectionStep.selectedLocale) , CmsMpaSectionStep.selectedLocale])}</h2>
<c:if test="#{CmsArticleTextBodyStep.canEdit}">
<librecms:cmsEditor
backUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{CmsMpaSectionStep.sectionId}"
baseUrl="#{mvc.basePath}"
canEdit="#{CmsMpaSectionStep.canEdit}"
contentSection="#{ContentSectionModel.sectionName}"
editMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/edit"
editorId="cms-mpa-section-text-editor"
objectIdentifier="#{CmsSelectedDocumentModel.itemPath}"
selectedLocale="#{CmsMpaSectionStep.selectedLocale}"
title="#{CmsMpaMessageBundle['sectionstep.textstep.text.editor.header']}"
variantUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/variants"
/>
</c:if>
</div>
</ui:define>
<ui:define name="scripts">
<script src="#{request.contextPath}/assets/@content-sections/article-text-step.js"></script>
</ui:define>
</ui:composition>
</html>

View File

@ -0,0 +1,109 @@
<!DOCTYPE html [<!ENTITY times '&#215;'>]>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:bootstrap="http://xmlns.jcp.org/jsf/composite/components/bootstrap"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
xmlns:libreccm="http://xmlns.jcp.org/jsf/composite/components/libreccm"
xmlns:librecms="http://xmlns.jcp.org/jsf/composite/components/librecms"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:composition template="/WEB-INF/views/org/librecms/ui/contentsection/documents/authoringstep.xhtml">
<ui:define name="authoringStep">
<div class="d-flex">
<a class="btn btn-secondary btn-sm mr-2"
href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections">
<bootstrap:svgIcon icon="caret-left-fill" />
<span class="sr-only">#{CmsMpaMessageBundle['sectionstep.back']}</span>
</a>
<h2>#{CmsMpaMessageBundle.getMessage('sectionstep.header', CmsMpaSectionStep.articleTitle, CmsMpaSectionStep.titleValues.get(CmsMpaSectionStep.selectedLocale))}</h2>
<libreccm:localizedStringEditor
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{CmsMpaSectionStep.sectionId}/title/@add"
editMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{CmsMpaSectionStep.sectionId}/title/@edit"
editorId="section-title-editor"
hasUnusedLocales="#{CmsMpaSectionStep.hasUnusedTitleLocales}"
objectIdentifier="#{CmsMpaSectionStep.sectionId}"
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{CmsMpaSectionStep.sectionId}/title/@remove"
title="#{CmsMpaMessageBundle['sectionstep.title.label']}"
unusedLocales="#{CmsMpaSectionStep.unusedTitleLocales}"
values="#{CmsMpaSectionStep.titleValues}"
/>
<h3>#{CmsMpaMessageBundle['sectionsection.pagebreak.title']}</h3>
<div>
<c:choose>
<c:when test="#{CmsMpaSectionStep.pageBreak}">
#{CmsMpaMessageBundle['sectionsection.pagebreak.yes']}
</c:when>
<c:otherwise>
#{CmsMpaMessageBundle['sectionsection.pagebreak.no']}
</c:otherwise>
</c:choose>
<button class="btn btn-secondary"
data-target="#pagebreak-edit-dialog"
data-toggle="modal"
type="button">
<bootstrap:svgIcon icon="pen" />
<span class="sr-only">#{CmsMpaMessageBundle['pageBreak.edit.label']}</span>
</button>
</div>
<div aria-describedby="pagebreak-edit-dialog-title"
aria-hidden="true"
class="modal-fade"
id="page-edit-dialog"
tabindex="-1">
<div class="modal-dialog">
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{CmsMpaSectionStep.sectionId}/pagebreak"
class="modal-content"
method="post">
<div class="modal-header">
<h4 class="modal-title"
id="page-edit-dialog-title">#{CmsMpaMessageBundle['sectionstep.pagebreak.edit.dialog.title']}
</h4>
<button aria-label="#{CmsMpaMessageBundle['sectionstep.pagebreak.edit.dialog.close']}"
class="close"
data-dismiss="modal"
type="button">
<bootstrap:svgIcon icon="x" />
</button>
</div>
<div class="modal-body">
<bootstrap:formCheck
inputId="mpa-section-pagebreak"
label="#{CmsMpaMessageBundle['sectionstep.pagebreak.edit.dialog.pagebreak.label']}"
name="pagebreak"
/>
</div>
<div class="modal-footer">
<button class="btn btn-warning"
data-dismiss="modal"
type="button">
#{CmsMpaMessageBundle['sectionstep.pagebreak.edit.dialog.close']}
</button>
<button class="btn btn-success"
type="submit">
#{CmsMpaMessageBundle['sectionstep.pagebreak.edit.dialog.submit']}
</button>
</div>
</form>
</div>
</div>
<librecms:cmsEditorVariants
addButtonLabel="#{CmsMpaMessageBundle['sectionstep.text.editor.add_variant']}"
addDialogLocaleSelectHelp="#{CmsAdminMessages['sectionsstep.text.editor.add.locale.help']}"
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{CmsMpaSectionStep.sectionId}/text/@add"
canEdit="#{CmsSelectedDocumentModel.canEdit}"
editorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{CmsMpaSectionStep.sectionId}/text/@edit"
hasUnusedLocales="#{!CmsMpaSectionStep.hasUnusedTextLocales}"
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{CmsMpaSectionStep.sectionId}/text/@remove"
sourceEditorPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{CmsMpaSectionStep.sectionId}/text/@edit-source"
title="#{CmsMpaMessageBundle['text.editor.header']}"
unusedLocales="#{CmsMpaSectionStep.unusedTextLocales}"
variants="#{CmsMpaSectionStep.textValues}"
viewPageUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{CmsMpaSectionStep.sectionId}/text/@view"
/>
</div>
</ui:define>
</html>

View File

@ -0,0 +1,157 @@
<!DOCTYPE html [<!ENTITY times '&#215;'>]>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:bootstrap="http://xmlns.jcp.org/jsf/composite/components/bootstrap"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
xmlns:libreccm="http://xmlns.jcp.org/jsf/composite/components/libreccm"
xmlns:librecms="http://xmlns.jcp.org/jsf/composite/components/librecms"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:composition template="/WEB-INF/views/org/librecms/ui/contentsection/documents/authoringstep.xhtml">
<ui:param name="authoringStep"
value="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections" />
<ui:define name="authoringStep">
<h2>#{CmsMpaMessageBundle.getMessage('sectionsstep.header', CmsMpaSectionsStep.articleTitle)}</h2>
<c:if test="#{CmsMpaSectionsStep.canEdit}">
<div class="text-right">
<button
class="btn btn-secondary"
data-target="add-section-dialog"
data-toggle="modal"
type="button"
>
<bootstrap:svgIcon icon="plus-circle" />
<span> #{cc.attrs.addButtonLabel} </span>
</button>
</div>
<div aria-labelledby="add-section-dialog-title"
aria-hidden="true"
class="modal fade"
id="add-section-dialog"
tabindex="-1">
<div class="modal-dialog">
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/@add"
class="modal-content"
method="post">
<div class="modal-header">
<h3 class="modal-title"
id="add-section-dialog-title">
#{CmsMpaMessageBundle['sectionsstep.sections.add.label']}
</h3>
<button
aria-label="#{CmsMpaMessageBundle['sectionsstep.sections.add.dialog.cancel']}"
class="close"
data-dismiss="modal"
type="button">
<span aria-hidden="true">
<bootstrap:svgIcon icon="x" />
</span>
</button>
</div>
<div class="modal-content">
<bootstrap:formGroupSelect
help="#{CmsMpaMessageBundle['sectionsstep.sections.add.dialog.initial_locale.help']}"
inputId="locale"
label="#{CmsMpaMessageBundle['sectionsstep.sections.add.dialog.initial_locale.label']}"
name="locale"
options="#{CmsMpaCreateStep.availableLocales}"
required="true"
selectedOptions="#{[CmsMpaCreateStep.initialLocale]}" />
<bootstrap:formGroupText
help="#{CmsMpaMessageBundle['sectionsstep.sections.add.dialog.title.help']}"
inputId="title"
label="#{CmsMpaMessageBundle['sectionsstep.sections.add.dialog.title.label']}"
name="title"
required="true" />
<bootstrap:formGroupTextarea
cols="80"
help="#{CmsMpaMessageBundle['sectionsstep.sections.add.dialog.text.help']}"
inputId="summary"
label="#{CmsMpaMessageBundle['sectionsstep.sections.add.dialog.text.label']}"
name="summary"
required="true"
rows="16"
/>
</div>
<div class="modal-footer">
<button
class="btn btn-secondary"
data-dismiss="modal"
type="button" >
#{CmsMpaMessageBundle['sectionsstep.sections.add.dialog.cancel']}
</button>
<button
type="submit"
class="btn btn-primary">
#{CmsMpaMessageBundle['sectionsstep.sections.add.dialog.submit']}
</button>
</div>
</form>
</div>
</div>
</c:if>
<table>
<thead>
<tr>
<th>#{CmsMpaMessageBundle['sectionsstep.sections.section.title']}</th>
<th>#{CmsMpaMessageBundle['sectionsstep.sections.text']}</th>
<th>#{CmsMpaMessageBundle['sectionsstep.sections.pagebreak']}</th>
<th>#{CmsMpaMessageBundle['sectionsstep.sections.actions']}</th>
</tr>
</thead>
<tbody>
<c:forEach items="#{CmsMpaSectionsStep.sections}"
var="section">
<tr id="mpa-section-#{section.sectionId}">
<td>
<a href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{section.sectionId}">
#{section.title}
</a>
</td>
<td>#{section.textPreview}</td>
<td>
<c:choose>
<c:when test="#{section.pageBreak}">
<bootstrap:svgIcon icon="check2-square"
iconClass="text-success" />
<span class="sr-only">#{CmsMpaMessageBundle['sectionsstep.sections.section.pagebreak.yes']}</span>
</c:when>
<c:otherwise>
<span class="sr-only">#{CmsMpaMessageBundle['sectionsstep.sections.section.pagebreak.no']}</span>
<bootstrap:svgIcon icon="check" />
</c:otherwise>
</c:choose>
</td>
<td>
<a class="btn btn-primary"
href="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{section.sectionId}">
<bootstrap:svgIcon icon="eye" />
<span class="sr-only">#{CmsMpaMessageBundle['sectionsstep.sections.section.show_details']}</span>
</a>
<c:if test="#{CmsMpaSectionsStep.canEdit}">
<libreccm:deleteDialog
actionTarget="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@mpa-sections/#{section.sectionId}/@remove"
buttonText="#{CmsMpaMessageBundle['sectionsstep.sections.section.remove.label']}"
cancelLabel="#{CmsMpaMessageBundle['sectionsstep.sections.section.remove.dialog.cancel']}"
confirmLabel="#{CmsMpaMessageBundle['sectionsstep.sections.section.remove.dialog.confirm']}"
dialogId="remove-section-dialog-#{section.sectionId}"
dialogTitle="#{CmsMpaMessageBundle['sectionsstep.sections.section.remove.dialog.title']}"
message="#{CmsMpaMessageBundle['sectionsstep.sections.section.remove.dialog.message']}"
/>
</c:if>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</ui:define>
</ui:composition>
</html>

View File

@ -74,3 +74,41 @@ basicproperties.description.remove.header=Remove localized summary
basicproperties.description.header=Summary
basicproperties.name.header=Name of the multipart article
create_new_article.denied=The permissions required to create a new multipart article have not been granted to you.
sectionsstep.header=Sections of Multipart Article {0}
sectionsstep.sections.add.label=Add section
sectionsstep.sections.add.dialog.cancel=Cancel
sectionsstep.sections.add.dialog.initial_locale.help=The initial locale of the new section. Localizable values provided in this form will be added to the version of the section for this language.
sectionsstep.sections.add.dialog.initial_locale.label=Initial Locale
sectionsstep.sections.add.dialog.title.help=The title of the new section.
sectionsstep.sections.add.dialog.title.label=Title
sectionsstep.sections.add.dialog.text.help=Text of the new section.
sectionsstep.sections.add.dialog.text.label=Text
sectionsstep.sections.add.dialog.submit=Add section
sectionsstep.sections.section.title=Title
sectionsstep.sections.text=Text
sectionsstep.sections.pagebreak=Page Break after section?
sectionsstep.sections.actions=Actions
sectionsstep.sections.section.pagebreak.yes=Yes
sectionsstep.sections.section.pagebreak.no=No
sectionsstep.sections.section.show_details=Show details
sectionsstep.sections.section.remove.label=Remove
sectionsstep.sections.section.remove.dialog.cancel=Cancel
sectionsstep.sections.section.remove.dialog.confirm=Remove section
sectionsstep.sections.section.remove.dialog.title=Confirm removal of section
sectionsstep.sections.section.remove.dialog.message=Are you sure to remove the following section?
sectionstep.back=Back
sectionstep.header=Edit section {1} of multipart article {0}
sectionstep.title.label=Title
sectionsection.pagebreak.title=Page break after section?
sectionsection.pagebreak.yes=Yes
sectionsection.pagebreak.no=No
pageBreak.edit.label=Edit
sectionstep.pagebreak.edit.dialog.title=Page Break after section?
sectionstep.pagebreak.edit.dialog.close=Cancel
sectionstep.pagebreak.edit.dialog.pagebreak.label=Page break?
sectionstep.pagebreak.edit.dialog.submit=Submit
sectionstep.text.editor.add_variant=Add localized text
text.editor.header=Text
sectionstep.textstep.back=Back
sectionstep.textstep.header.edit=Edit text for locale {2} of section {1} of multipart article {0}
sectionstep.textstep.text.editor.header=Text

View File

@ -74,3 +74,41 @@ basicproperties.description.remove.header=Lokalisierte Zusammenfassung entfernen
basicproperties.description.header=Zusammenfassung
basicproperties.name.header=Name des mehrteiligen Artikels
create_new_article.denied=Ihnen wurden nicht die f\u00fcr das Anlegen eines neuen mehrteiligen Artikels erforderlichen Berechtigungen erteilt.
sectionsstep.header=Abschnitte des mehrteiligen Artikels {0}
sectionsstep.sections.add.label=Abschnitt hinzuf\u00fcgen
sectionsstep.sections.add.dialog.cancel=Abbrechen
sectionsstep.sections.add.dialog.initial_locale.help=Die initiale Sprache des Abschnitts. Lokaliserbare Eigenschaften, die in diesem Formualar angegeben werden, werden f\u00fcr diese Sprache dem neuen Abschnitt hinzugef\u00fcgt.
sectionsstep.sections.add.dialog.initial_locale.label=Initiale Sprache
sectionsstep.sections.add.dialog.title.help=Der Titel des neuen Abschnitts.
sectionsstep.sections.add.dialog.title.label=Titel
sectionsstep.sections.add.dialog.text.help=Der Text des neuen Abschnitts.
sectionsstep.sections.add.dialog.text.label=Text
sectionsstep.sections.add.dialog.submit=Abschnitt hinzuf\u00fcgen
sectionsstep.sections.section.title=Titel
sectionsstep.sections.text=Text
sectionsstep.sections.pagebreak=Seiteumbruch nach dem Abschnitt?
sectionsstep.sections.actions=Aktionen
sectionsstep.sections.section.pagebreak.yes=Ja
sectionsstep.sections.section.pagebreak.no=Nein
sectionsstep.sections.section.show_details=Details anzeigen
sectionsstep.sections.section.remove.label=L\u00f6schen
sectionsstep.sections.section.remove.dialog.cancel=Abbrechen
sectionsstep.sections.section.remove.dialog.confirm=Abschnitt entfernen
sectionsstep.sections.section.remove.dialog.title=Entfernen des Abschnitts best\u00e4tigen
sectionsstep.sections.section.remove.dialog.message=Sind Sie sicher, dass Sie den folgenden Abschnitt entfernen wollen?
sectionstep.back=Zur\u00fcck
sectionstep.header=Abschnitt {1} des mehrteiligen Artikels {0} bearbeiten
sectionstep.title.label=Titel
sectionsection.pagebreak.title=Seitenumbruch nach Abschnitt?
sectionsection.pagebreak.yes=Ja
sectionsection.pagebreak.no=Nein
pageBreak.edit.label=Bearbeiten
sectionstep.pagebreak.edit.dialog.title=Seitenumbruch nach Abschnitt?
sectionstep.pagebreak.edit.dialog.close=Abbrechen
sectionstep.pagebreak.edit.dialog.pagebreak.label=Seitenumbruch
sectionstep.pagebreak.edit.dialog.submit=Anwenden
sectionstep.text.editor.add_variant=Lokalisierten Text hinzuf\u00fcgen
text.editor.header=Text
sectionstep.textstep.back=Zur\u00fcck
sectionstep.textstep.header.edit=Text f\u00fcr Sprache {2} des Abschnitts {1} des mehrteiligen Artikels {0} bearbeiten
sectionstep.textstep.text.editor.header=Text