first commit
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
<div id="batch-media-translation-wrap" class="batch-media-translation-wrap notice otgs-notice notice-info otgs-is-dismissible" style="display: none">
|
||||
<span class="notice-dismiss js-close"><span class="screen-reader-text">{{ strings.close }}</span></span>
|
||||
<form id="batch-media-translation-form" method="post" action="">
|
||||
<input type="hidden" name="action" value="wpml_media_scan_prepare" />
|
||||
<div class="usage" style="display: none">
|
||||
<p>{{ strings.was_replaced }}</p>
|
||||
<ul class="batch-media-translation-post-list"></ul>
|
||||
<p>{{ strings.other_posts }}</p>
|
||||
</div>
|
||||
<div class="no-usage" style="display: none">
|
||||
<p>{{ strings.without_usage }}</p>
|
||||
</div>
|
||||
<div class="batch-media-translation-action-wrap">
|
||||
<ul class="batch-media-translation-action-list">
|
||||
<li>
|
||||
<label>
|
||||
<input type="radio" name="global-scan-scope" value="0" checked/>{{ strings.scan_for_this_media }}
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
<input type="radio" name="global-scan-scope" value="1"/>{{ strings.scan_for_all_media }}
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="text-right">
|
||||
<input type="submit" class="button-primary" value="{{ strings.button_label }}"/>
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
<p class="status"></p>
|
||||
</div>
|
||||
@@ -0,0 +1,50 @@
|
||||
<form id="posts-filter" method="get">
|
||||
<input type="hidden" name="page" value="wpml-media"/>
|
||||
<input type="hidden" name="sm" value="media-translation"/>
|
||||
{{ nonce|raw }}
|
||||
<label for="filter-by-date" class="screen-reader-text">{{ strings.filter_by_date }}</label>
|
||||
<select id="filter-by-date" name="m">
|
||||
<option {% if( selected_month == 0 ) %}selected="selected"{% endif %}
|
||||
value="0">{{ strings.all_dates }}</option>
|
||||
{% for month in months %}
|
||||
<option {% if( selected_month == month.id ) %}selected="selected"{% endif %}
|
||||
value="{{ month.id }}">{{ month.label }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
{{ strings.in }}
|
||||
<label for="filter-by-language" class="screen-reader-text">{{ strings.filter_by_language }}</label>
|
||||
<select id="filter-by-language" name="slang">
|
||||
<option value="">{{ strings.any_language }}</option>
|
||||
{% for code, language in languages %}
|
||||
<option {% if( from_language == code ) %}selected="selected"{% endif %}
|
||||
value="{{ code }}">{{ language.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
{{ strings.to }}
|
||||
<select id="filter-by-language" name="tlang">
|
||||
<option value="">{{ strings.any_language }}</option>
|
||||
{% for code, language in languages %}
|
||||
<option {% if( to_language == code ) %}selected="selected"{% endif %}
|
||||
value="{{ code }}">{{ language.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
|
||||
<label for="filter-by-translation-status" class="screen-reader-text">{{ strings.filter_by_status }}</label>
|
||||
<select id="filter-by-translation-status" name="status">
|
||||
<option {% if( selected_status|length == 0 ) %}selected="selected"{% endif %}
|
||||
value="">{{ strings.status_all }}</option>
|
||||
<option {% if( selected_status == statuses.not_translated and selected_status|length > 0 ) %}selected="selected"{% endif %}
|
||||
value="{{ statuses.not_translated }}">{{ strings.status_not }}</option>
|
||||
<option {% if( selected_status == statuses.in_progress and selected_status|length > 0 ) %}selected="selected"{% endif %}
|
||||
value="{{ statuses.in_progress }}">{{ strings.status_in_progress }}</option>
|
||||
<option {% if( selected_status == statuses.translated ) %}selected="selected"{% endif %}
|
||||
value="{{ statuses.translated }}">{{ strings.status_translated }}</option>
|
||||
<option {% if( selected_status == statuses.needs_translation ) %}selected="selected"{% endif %}
|
||||
value="{{ statuses.needs_translation }}">{{ strings.status_needs_translation }}</option>
|
||||
</select>
|
||||
|
||||
<label class="screen-reader-text" for="media-search-input">{{ strings.search_media }}</label>
|
||||
<input size="25" type="search" id="media-search-input" placeholder="{{ strings.search_placeholder }}" name="s"
|
||||
value="{{ search }}">
|
||||
<input type="submit" class="button action" value="{{ strings.search_button_label }}">
|
||||
</form>
|
||||
@@ -0,0 +1,93 @@
|
||||
<div id="wpml-media-dialog">
|
||||
<span class="ajax-loader"></span>
|
||||
<form id="wpml-media-dialog-form" method="post" enctype="multipart/form-data">
|
||||
{{ nonce|raw }}
|
||||
<input type="hidden" name="original-attachment-id" value=""/>
|
||||
<input type="hidden" name="translated-attachment-id" value=""/>
|
||||
<input type="hidden" name="translated-language" value=""/>
|
||||
<input type="hidden" name="restore-media" value="0"/>
|
||||
<input type="hidden" name="update-media-file" value="0"/>
|
||||
<input type="hidden" name="action" value="wpml_media_save_translation"/>
|
||||
<header class="wpml-media-translation-header">
|
||||
<h3 class="wpml-header-original">{{ strings.original }}<span class="wpml-title-flag"><img
|
||||
src="#"></span><strong>%from_language%</strong>
|
||||
</h3>
|
||||
<h3 class="wpml-header-translation">{{ strings.translation }}<span class="wpml-title-flag"><img
|
||||
src="#"></span><strong>%to_language%</strong>
|
||||
</h3>
|
||||
</header>
|
||||
|
||||
|
||||
<div class="wpml-form-row">
|
||||
|
||||
<label>{{ strings.file }}</label>
|
||||
|
||||
<span class="wpml-media-wrapper">
|
||||
<span class="wpml-media-original-image">
|
||||
<img src="#" alt="#">
|
||||
<span class="wpml-media-original-title"></span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="wpml-media-wrapper wpml-media-upload-handle">
|
||||
<a class="wpml-media-translation-image drag-drop-area">
|
||||
<img src="#" alt="#">
|
||||
<span class="wpml-media-translated-title"></span>
|
||||
<span class="wpml-media-upload-text hidden">{{ strings.use_different_file }}</span>
|
||||
</a>
|
||||
|
||||
<span class="js-wpml-media-revert wpml-display-block text-center hidden">
|
||||
<a class="button button-secondary button-small">{{ strings.revert_to_original }}</a>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="wpml-form-row wpml-form-row-title hidden">
|
||||
<label for="media-title">{{ strings.name }}</label>
|
||||
<input readonly value="" id="media-title-original" type="text">
|
||||
<button class="button-copy button-secondary js-button-copy otgs-ico-copy"
|
||||
title="{{ strings.copy_from_original }}"></button>
|
||||
<input name="translation[title]" id="media-title-translation" value="" type="text">
|
||||
</div>
|
||||
<div class="wpml-form-row wpml-form-row-caption hidden">
|
||||
<label for="media-caption">{{ strings.caption }}</label>
|
||||
<textarea readonly id="media-caption-original" cols="22" rows="4"></textarea>
|
||||
<button class="button-copy button-secondary js-button-copy otgs-ico-copy"
|
||||
title="{{ strings.copy_from_original }}"></button>
|
||||
<textarea name="translation[caption]" id="media-caption-translation" cols="22" rows="4"></textarea>
|
||||
</div>
|
||||
<div class="wpml-form-row wpml-form-row-alt-text hidden">
|
||||
<label for="media-alt-text">{{ strings.alt_text }}</label>
|
||||
<input readonly value="" id="media-alt-text-original" type="text">
|
||||
<button class="button-copy button-secondary js-button-copy otgs-ico-copy"
|
||||
title="{{ strings.copy_from_original }}"></button>
|
||||
<input name="translation[alt-text]" id="media-alt-text-translation" value="" type="text">
|
||||
</div>
|
||||
<div class="wpml-form-row wpml-form-row-description hidden">
|
||||
<label for="media-description">{{ strings.description }}</label>
|
||||
<textarea readonly id="media-description-original" cols="22" rows="4"></textarea>
|
||||
<button class="button-copy button-secondary js-button-copy otgs-ico-copy"
|
||||
title="{{ strings.copy_from_original }}"></button>
|
||||
<textarea name="translation[description]" id="media-description-translation" cols="22" rows="4"></textarea>
|
||||
</div>
|
||||
</form>
|
||||
{% if( show_text_change_notice) %}
|
||||
<div class="text-change-notice notice notice-info inline is-dismissible hidden">
|
||||
<p>{{ strings.texts_change_notice }}</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div id="wpml-media-upload-progress-animation">
|
||||
<div class="upload-progress-bar"></div>
|
||||
<div class="status">0%</div>
|
||||
</div>
|
||||
<span id="wpml-media-upload-error" class="icl_error_text"></span>
|
||||
</div>
|
||||
<form id="wpml-media-file-upload-form" enctype="multipart/form-data">
|
||||
<input type="hidden" name="action" value="wpml_media_upload_file">
|
||||
<input type="hidden" name="attachment-id" value="">
|
||||
<input type="hidden" name="original-attachment-id" value="">
|
||||
<input type="hidden" name="language" value="">
|
||||
{{ nonce|raw }}
|
||||
<input style="display:none" type="file" name="image" accept="image/*" />
|
||||
</form>
|
||||
@@ -0,0 +1,77 @@
|
||||
<tr class="wpml-media-attachment-row" data-attachment-id="{{ attachment.post.ID }}"
|
||||
data-language-code="{{ attachment.language }}"
|
||||
data-language-name="{{ languages[attachment.language].name }}"
|
||||
data-is-image="{{ attachment.is_image }}"
|
||||
data-thumb="{{ attachment.thumb.src }}"
|
||||
data-file-name="{{ attachment.file_name }}"
|
||||
data-mime-type="{{ attachment.mime_type }}"
|
||||
data-title="{{ attachment.post.post_title }}"
|
||||
data-caption="{{ attachment.post.post_excerpt }}"
|
||||
data-alt_text="{{ attachment.alt }}"
|
||||
data-description="{{ attachment.post.post_content }}"
|
||||
data-flag="{{ languages[attachment.language].flag }}">
|
||||
<td class="wpml-col-media-title">
|
||||
<span title="{{ languages[attachment.language].name }}" class="wpml-media-original-flag js-otgs-popover-tooltip"
|
||||
data-tippy-distance="-12">
|
||||
<img src="{{ languages[attachment.language].flag }}" width="16" height="12" alt="{{ attachment.language }}">
|
||||
</span>
|
||||
<span class="wpml-media-wrapper">
|
||||
<img src="{{ attachment.thumb.src }}"
|
||||
width="{{ attachment.thumb.width }}"
|
||||
height="{{ attachment.thumb.height }}"
|
||||
alt="{{ attachment.language }}"
|
||||
{% if not attachment.is_image %}
|
||||
class="is-non-image"
|
||||
{% else %}
|
||||
data-tippy-boundary="viewport"
|
||||
data-tippy-flip="true"
|
||||
data-tippy-placement="right"
|
||||
data-tippy-maxWidth= "{{ attachment.preview.width }}px"
|
||||
data-tippy-content="{{ '<img style=\"max-width:100%;width:auto;max-height:' ~ attachment.preview.height ~ 'px;height:auto;\" src="' ~ attachment.url ~ '" />' }}"
|
||||
class="js-otgs-popover-tooltip"
|
||||
{% endif %}
|
||||
>
|
||||
</span>
|
||||
</td>
|
||||
<td class="wpml-col-media-translations">
|
||||
{% for code, language in languages %}
|
||||
{% if target_language is empty or target_language == code %}
|
||||
{% if attachment.language == code %}
|
||||
<span class="js-otgs-popover-tooltip" data-tippy-distance="-12"
|
||||
title="{{ languages[attachment.language].name }}: {{ strings.original_language }}">
|
||||
<i class="otgs-ico-original"></i>
|
||||
</span>
|
||||
{% else %}
|
||||
<span class="wpml-media-wrapper js-otgs-popover-tooltip"
|
||||
id="media-attachment-{{ attachment.post.ID }}-{{ code }}"
|
||||
data-file-name="{{ attachment.translations[code].file_name }}"
|
||||
title="{{ strings.edit_translation | format(languages[code].name ) }}"
|
||||
{% if not attachment.translations[code].media_is_translated %}
|
||||
data-tippy-distance="-12"
|
||||
{% endif %}
|
||||
data-attachment-id="{{ attachment.translations[code].id }}"
|
||||
data-language-code="{{ code }}"
|
||||
data-language-name="{{ language.name }}"
|
||||
data-url="{{ attachment.url }}"
|
||||
data-thumb="{{ attachment.translations[code].thumb.src }}"
|
||||
data-title="{{ attachment.translations[code].title }}"
|
||||
data-caption="{{ attachment.translations[code].caption }}"
|
||||
data-alt_text="{{ attachment.translations[code].alt }}"
|
||||
data-description="{{ attachment.translations[code].description }}"
|
||||
data-flag="{{ languages[code].flag }}"
|
||||
data-media-is-translated="{{ attachment.translations[code].media_is_translated }}">
|
||||
<a class="js-open-media-translation-dialog {% if attachment.translations[code].media_is_translated %}wpml-media-translation-image{% endif %}">
|
||||
<img src="{{ attachment.translations[code].thumb.src }}"
|
||||
width="{{ attachment.thumb.width }}" height="{{ attachment.thumb.height }}"
|
||||
alt="{{ attachment.language }}"
|
||||
{% if not attachment.is_image %}class="is-non-image"{% endif %}
|
||||
{% if not attachment.translations[code].media_is_translated %}style="display:none"{% endif %}>
|
||||
<i class="{% if attachment.translations[code].id %}otgs-ico-edit{% else %}otgs-ico-add{% endif %}"
|
||||
{% if attachment.translations[code].media_is_translated %}style="display:none"{% endif %}></i>
|
||||
</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -0,0 +1,47 @@
|
||||
<div class="wrap">
|
||||
|
||||
<h2>{{ strings.heading }}</h2>
|
||||
|
||||
{% include 'batch-translation.twig' with batch_translation %}
|
||||
|
||||
<div class="tablenav top wpml-media-tablenav">
|
||||
{% include 'media-translation-filters.twig' %}
|
||||
</div>
|
||||
|
||||
<table class="widefat striped wpml-media-table js-otgs-table-sticky-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="wpml-col-media-title">{{ strings.original_language }}</th>
|
||||
<th class="wpml-col-media-translations">
|
||||
{% for code, language in languages %}
|
||||
{% if target_language is empty or target_language == code %}
|
||||
<span class="js-otgs-popover-tooltip" title="{{ language.name }}"><img src="{{ language.flag }}"
|
||||
width="16" height="12"
|
||||
alt="{{ language.code }}"></span>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% if attachments %}
|
||||
{% for attachment in attachments %}
|
||||
{% include 'media-translation-table-row.twig' with {'attachment' : attachment, 'languages': languages, 'strings': strings, 'target_language': target_language } only %}
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<tr>
|
||||
<td colspan="2">{{ strings.no_attachments }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
<div class="tablenav bottom">
|
||||
{% include 'pagination.twig' with {'pagination_model' : pagination} only %}
|
||||
|
||||
{% include 'media-translation-popup.twig' %}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
Reference in New Issue
Block a user