blob: 5bbdec25ce36076fa1a88f95152224c17e50dbd7 [file] [log] [blame]
<%-- /*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/ --%>
<%@include file="/libs/sling-cms/global.jsp"%>
<div class="scroll-container reload-container" data-path="${resource.path}.html${sling:encode(slingRequest.requestPathInfo.suffix,'HTML_ATTR')}">
<sling:include path="${resource.path}" resourceType="sling-cms/components/general/container" />
<c:forEach var="language" items="${sling:listChildren(slingRequest.requestPathInfo.suffixResource)}">
<c:if test="${firstChild == null && not empty language.valueMap['jcr:language']}">
<c:set var="firstChild" value="${language}" />
</c:if>
</c:forEach>
<nav class="level">
<div class="level-left">
<div class="level-item">
<a class="Button Fetch-Modal" data-title="Add Entry" data-path=".Main-Content form" href="/cms/i18n/entry/create.html${firstChild.path}">
<fmt:message key="+ Entry" />
</a>
</div>
</div>
</nav>
<form method="post" action="${sling:encode(slingRequest.requestPathInfo.suffix,'HTML_ATTR')}" enctype="multipart/form-data" class="Form-Ajax" data-add-date="false">
<fieldset class="form-wrapper field">
<input type="hidden" name="_charset_" value="utf-8" />
<div class="table-container">
<table class="table is-fullwidth is-striped is-hoverable">
<thead>
<tr>
<th class="Column-key" scope="col">
<fmt:message key="Key" />
</th>
<c:forEach var="language" items="${sling:listChildren(slingRequest.requestPathInfo.suffixResource)}">
<c:if test="${not empty language.valueMap['jcr:language']}">
<th class="Column-${language.valueMap['jcr:language']}" scope="col">
<sling:adaptTo adaptable="${language}" adaptTo="org.apache.sling.cms.core.models.LocaleResource" var="localeResource" />
<sling:encode value="${localeResource.locale.displayLanguage}" mode="HTML" /> <sling:encode value="${localeResource.locale.displayCountry}" mode="HTML" />
<br/>
<small>(<sling:encode value="${language.valueMap['jcr:language']}" mode="HTML" />)</small>
</th>
</c:if>
</c:forEach>
</tr>
</thead>
<tbody>
<sling:adaptTo var="helper" adaptable="${slingRequest.requestPathInfo.suffixResource}" adaptTo="org.apache.sling.cms.core.models.i18nHelper" />
<c:forEach var="key" items="${helper.keys}">
<tr>
<td>
<sling:encode value="${key}" mode="HTML" />
</td>
<c:forEach var="language" items="${sling:listChildren(slingRequest.requestPathInfo.suffixResource)}">
<c:if test="${not empty language.valueMap['jcr:language']}">
<td>
<c:set var="keyfound" value="false" />
<c:forEach var="entry" items="${sling:listChildren(language)}">
<c:if test="${entry.valueMap['sling:key'] == key}">
<c:set var="keyfound" value="true" />
<input name="${language.name}/${entry.name}/sling:message" class="input" type="text" value="${sling:encode(entry.valueMap['sling:message'],'HTML_ATTR')}" />
<input name="${language.name}/${entry.name}/sling:key" type="hidden" value="${key}" />
</c:if>
</c:forEach>
<c:if test="${keyfound == 'false'}">
<input name="${language.name}/${key}/sling:message" class="input" type="text" value="" />
<input name="${language.name}/${key}/sling:key" type="hidden" value="${key}" />
<input name="${language.name}/${key}/jcr:primaryType" type="hidden" value="sling:MessageEntry" />
</c:if>
</td>
</c:if>
</c:forEach>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<button class="button is-primary"><fmt:message key="Save i18n Dictionary" /></button>
</fieldset>
</form>
</div>