You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

188 lines
8.9 KiB

{title help="i18n" admpage="i18n"}{tr}Translate:{/tr} {$name}{if isset($languageName)} ({$languageName}, {$langpage}){/if}{/title}
<div class="t_navbar mb-4 clearfix">
{if $type eq 'wiki page'}
{assign var=thisname value=$name|escape:'url'}
{button href="tiki-index.php?page=$thisname&no_bl=y" _text="{tr}View Page{/tr}" _icon_name="view" _class="btn btn-link"}
{else}
{button href="tiki-read_article.php?articleId=$id" _text="{tr}View Article{/tr}" _icon_name="view" _class="btn btn-link"}
{/if}
<a href="{service controller=translation action=manage type='wiki page' source=$page}" class="attach_detach_translation btn btn-link tips" data-object_type="wiki page" data-object_id="{$page|escape:'quotes'}" title=":{tr}Attach or detach existing translations of this page{/tr}">{tr}Manage Translations{/tr}</a>
</div>
{if $error}
{remarksbox type="error" title="{tr}Error{/tr}" close="n"}
{if $error == "traLang"}
{tr}You must specify the object language{/tr}
{elseif $error == "srcExists"}
{tr}The object doesn't exist{/tr}
{elseif $error == "srcLang"}
{tr}The object doesn't have a language{/tr}
{elseif $error == "alreadyTrad"}
{tr}The object already has a translation for this language{/tr}
{elseif $error == "alreadySet"}
{tr}The object is already in the set of translations{/tr}
{/if}
{/remarksbox}
{/if}
{if $langpage}
{if $type == 'wiki page'}
<div class="clearfix">
<div class="col-sm-12 mb-4">
<a id="translate_updates"></a>
{$content_of_update_translation_section}
</div>
<a id="new_translation"></a>
<form method="post" action="tiki-editpage.php" onsubmit="return validate_translation_request(this)" role="form">
<div class="card mb-4">
<div class="card-header">
{tr}Translate this page to a new language{/tr}
</div>
<div class="card-body">
<div class="mb-3 row">
<label for="lang" class="col-form-label col-sm-5">
{tr}Select language to translate to:{/tr}
</label>
<div class="col-sm-7">
<select name="lang" id="language_list" size="1" class="form-control">
<option value="unspecified">{tr}Unspecified{/tr}</option>
{section name=ix loop=$languages}
<option value="{$languages[ix].value|escape}"{if $default_target_lang eq $languages[ix].value} selected="selected"{/if}>{$languages[ix].name|escape}</option>
{/section}
</select>
</div>
</div>
<div class="mb-3 row">
<label for="page" class="col-form-label col-sm-5">
{tr}Enter the page title:{/tr}
</label>
<div class="col-sm-7">
<input type="text" name="page" id="translation_name" value="{$translation_name|escape}" class="form-control">
<input type="hidden" name="source_page" value="{$name|escape}">
<input type="hidden" name="oldver" value="-1">
<input type="hidden" name="is_new_translation" value="y">
</div>
</div>
{if $prefs.feature_categories eq 'y'}
<div class="mb-3 row">
<label for="page" class="col-form-label col-sm-4">
{tr}Categories{/tr}
</label>
<div class="col-sm-12">
{include file="categorize.tpl" notable=y}
<span class="form-text">
{tr}Assign categories to this new translation (Note: they should probably be the same as the categories of the page being translate){/tr}
</span>
</div>
</div>
{/if}
</div>
<div class="card-footer text-center">
<input type="submit" class="btn btn-primary" value="{tr}Create translation{/tr}">
</div>
</div>
</form>
<a id="change_language"></a>
<form method="post" action="tiki-edit_translation.php" role="form">
<div class="card mb-4">
<div class="card-header">
{tr}Change language for this page{/tr}
</div>
<div class="card-body">
<div class="mb-3 row">
<label for="langpage" class="col-form-label col-sm-5">
{tr}Language{/tr}
</label>
<div class="col-sm-7">
<select name="langpage" class="form-control">
<option value="">{tr}Unspecified{/tr}</option>
{foreach item=lang from=$languages}
<option value="{$lang.value|escape}" {if $lang.value eq $langpage} selected="selected"{/if}>{$lang.name}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="card-footer text-center">
<input type="hidden" name="id" value="{$id}">
<input type="hidden" name="type" value="{$type}">
<input type="submit" class="btn btn-secondary" name="switch" value="{tr}Change Language{/tr}">
</div>
</div>
</form>
</div>
{/if}
{if !isset($articles)}
{jq notonready=true}
{literal}
// Make the translation name have the focus.
window.onload = function()
{
document.getElementById("translation_name").focus();
}
function validate_translation_request() {
var success = true;
var language_of_translation = $("#language_list").val();
if (language_of_translation == "unspecified") {
{/literal}
var message = "{tr}You forgot to specify the language of the translation. Please choose a language in the picklist.{/tr}";
{literal}
alert(message);
success = false;
} else {
var page_list = $("#existing-page-src");
var page_name = $('#translation_name').val();
var matching_options = $('#existing-page-src option[value="' + page_name + '"]').attr( 'selected', true );
if( matching_options.length > 0 ) {
var message = "{tr}The page already exists. It was selected in the list below.{/tr}";
alert( message );
success = false;
}
}
return success;
}
{/literal}
{/jq}
{/if}
{else}
{remarksbox type="error" title="{tr}Error{/tr}" close="n"}
{tr}No language is assigned to this page.{/tr}
{/remarksbox}
<strong>{tr}Please select a language before translating.{/tr}</strong>
<form method="post" action="tiki-edit_translation.php" class="form">
<div class="input-group">
<select name="langpage" class="form-select">
{foreach item=lang from=$languages}
<option value="{$lang.value|escape}">{$lang.name}</option>
{/foreach}
</select>
<input type="hidden" name="id" value="{$id}">
<input type="hidden" name="type" value="{$type|escape}">
<input type="submit" class="btn btn-primary" value="{tr}Set Page Language{/tr}">
</div>
</form>
{/if}
{jq}
$('a.attach_detach_translation').click(function() {
var object_type = $(this).data('object_type');
var object_to_translate = $(this).data('object_id');
$(this).serviceDialog({
title: '{tr}Manage translations{/tr}',
data: {
controller: 'translation',
action: 'manage',
type: object_type,
source: object_to_translate
}
});
return false;
});
{/jq}