{combine_css path=$PLA_PATH|@cat:"template/style.css"} {combine_css path=$PLA_PATH|@cat:"template/fontello/css/fontello_pla.css"}

Plugin Language Analysis

{if isset($U_BACK)}

{'Back'|@translate}

{/if} {* *} {if $PLA_STEP=='select'} {footer_script}{literal} $('form#pla').submit(function() { window.location.href = location.href + '&plugin_id=' + $(this).find('select').val(); return false; }); {/literal}{/footer_script}
{'How to use?'|@translate}

This tool analyzes each file of the selected plugin, searching for l10n, l10n_dec and translate functions.
Then it compares the matched strings to the content of the plugin language file and the common and admin core language files.
Each file of the plugin can be configured as Common (public) or Admin.

When the analysis is complete, each string can have one of these three status :

missing
not in the plugin language file
AND not in the common language file
AND (
    belonging to at least one common file
    OR not in the admin language file
)
useless
in the plugin language file
AND (
    in the common language file
    OR (
        not belonging to any common file
        AND in the admin language file
    )
)
ok
any other case

You can click the icon on the left of each string to see where it is located.

{'Select a plugin'|@translate}

{* *} {elseif $PLA_STEP=='config'} {footer_script}{literal} $('.switch-button.type span').click(function() { $(this).siblings('span').removeClass('active'); $(this).addClass('active'); if ($(this).hasClass('common')) { $(this).nextAll('input').val('false'); } else { $(this).nextAll('input').val('true'); } }); $('.switch-button.other span').click(function() { if ($(this).hasClass('active')) { $(this).removeClass('active'); $(this).next('input').val('false'); } else { $(this).addClass('active'); $(this).next('input').val('true'); } }); {/literal}{/footer_script}
{'Select dependencies'|@translate} {foreach from=$PLA_FILES item=file} {/foreach}
{'Core dependency'|@translate} {'Local dependencies'|@translate}
{$file.path}
{'Common'|@translate} {'Admin'|@translate}
{foreach from=$PLA_LANG_FILES item=path key=lang_file} {$lang_file} {/foreach}

{* *} {elseif $PLA_STEP=='analysis'} {footer_script}{literal} $('.strings tr.string td.toggler').click(function() { if ($(this).hasClass('iconpla-plus-circled')) { $(this).removeClass('iconpla-plus-circled').addClass('iconpla-minus-circled'); $(this).parent().nextUntil('tr.string').show(); } else { $(this).removeClass('iconpla-minus-circled').addClass('iconpla-plus-circled'); $(this).parent().nextUntil('tr.string').hide(); } }); $('.strings tr.string').hover( function() { $(this).addClass('hover').nextUntil('tr.string').addClass('hover'); }, function() { $(this).removeClass('hover').nextUntil('tr.string').removeClass('hover'); } ); $('.strings tr.file').hover( function() { $(this).prevAll('tr.string:first').addClass('hover').nextUntil('tr.string').addClass('hover'); }, function() { $(this).prevAll('tr.string:first').removeClass('hover').nextUntil('tr.string').removeClass('hover'); } ); $('.open-all').click(function() { $('.strings tr.file').show(); }); $('.open-missing').click(function() { $('.strings tr.file.string-missing').show(); }); $('.close-all').click(function() { $('.strings tr.file').hide(); }); {/literal}{/footer_script} {html_style} .strings tr td:nth-last-child(-n+{math equation="2+x" x=$PLA_LANG_FILES|@count}) {ldelim} text-align:center; } {/html_style}
{$PLA_PLUGIN.name}

{'Expand all'|@translate} / {'Expand missing'|@translate} / {'Collapse all'|@translate}

{foreach from=$PLA_LANG_FILES item=path key=lang_file} {/foreach} {foreach from=$PLA_STRINGS item=data key=string} {if $data.is_admin} {else}{/if} {foreach from=$PLA_LANG_FILES item=path key=lang_file} {/foreach} {foreach from=$data.files item=file_data key=file} {if $file_data.is_admin} {else}{/if} {foreach from=$PLA_LANG_FILES item=path key=lang_file} {/foreach} {/foreach} {* *} {/foreach} {* *}
{'Missing'|@translate} {'Useless'|@translate} {'Dependency'|@translate}{$lang_file}common.lang admin.lang
{$string|htmlspecialchars}{'Admin'|@translate}{'Common'|@translate}{if $lang_file|in_array:$data.in_plugin}{'Yes'|@translate}{else}{'No'|@translate}{/if}{if $data.in_common}{'Yes'|@translate}{else}{'No'|@translate}{/if} {if $data.in_admin}{'Yes'|@translate}{else}{'No'|@translate}{/if}
{$file} ({', '|@implode:$file_data.lines}){'Admin'|@translate}{'Common'|@translate}{if $lang_file|in_array:$file_data.lang_files}{'Yes'|@translate}{else}{'No'|@translate}{/if}
{'%d strings : %d missing and %d useless.'|@translate|sprintf:$PLA_COUNTS.total:$PLA_COUNTS.missing:$PLA_COUNTS.useless}
{/if}