debug/dump.php000064400000000707147206776120007330 0ustar00view('debug/dump',..) */ ?>
$value ): if( '_' !== substr($prop,0,1) ):?>
debug/xml.php000064400000000123147206776120007153 0ustar00
e('xml')?>
admin/list/bundles.php000064400000000253147206776120010770 0ustar00extend('../layout'); echo $this->render('../common/inc-table-filter'); echo $this->render('inc-table');admin/list/inc-table.php000064400000003062147206776120011173 0ustar00
e('name')?> e('dflt')?> n('size')?>
admin/list/locales.php000064400000003577147206776120010772 0ustar00extend('../layout'); echo $this->render('../common/inc-table-filter'); ?>
lattr?>>e('lcode')?> e('lname')?> e('lcode')?> n('nfiles',0)?> e('used')?>
admin/common/inc-po-header.php000064400000001201147206776120012256 0ustar00

e('code')?> e('name')?> : date('modified')?>has('meta') && self::e( $meta->getProgressSummary() )?>

admin/common/inc-table-filter.php000064400000000505147206776120012772 0ustar00
admin/common/inc-fsconn.php000064400000005344147206776120011714 0ustar00has('fsLocked') ):?>

: e('fsLocked')?>.

has('fsDenied') ):?>

: .

:

: .

_e();?>
extend('../layout'); echo $header; /* @var Loco_mvc_ViewParams $params */ /* @var Loco_mvc_ViewParams[] $debug */ if( $params->has('debug') && $debug ): foreach( $debug['notices'] as $type => $notes ): if($notes):?>

escape($text);?>.

:

e('xml')?>
has('credit') ):?>

.

extend('../layout'); ?>

attr?>>e('code')?> e('name')?> : date('modified')?>

$group ): $type = $types[$t];?>

e('name')?>

render('../common/inc-table-filter'); ?> type ):?>
e('title')?> meta->printProgress()?> meta->getPercent()?>% n('todo')?> -- -- e('name')?> e('store')?>

e('text')?>

extend('../../layout'); ?>

. .

admin/bundle/setup/inc-nav.php000064400000001766147206776120012337 0ustar00has('notices') ):?>

admin/bundle/setup/saved.php000064400000001623147206776120012076 0ustar00extend('../setup'); $this->start('header'); ?>

.

_e()?>
admin/bundle/setup/none.php000064400000001060147206776120011726 0ustar00extend('../setup'); $this->start('header'); ?>

. .

render('inc-nav')?>
admin/bundle/setup/author.php000064400000001125147206776120012273 0ustar00extend('../setup'); $this->start('header'); ?>

. .

render('inc-nav')?>
admin/bundle/setup/partial.php000064400000001036147206776120012426 0ustar00extend('../setup'); $this->start('header'); ?>

.

render('inc-nav')?>
admin/bundle/setup/meta.php000064400000001207147206776120011720 0ustar00extend('../setup'); $this->start('header'); ?>

. .

render('inc-nav')?>
admin/bundle/setup/conf.php000064400000006347147206776120011731 0ustar00extend('../setup'); $this->start('header'); /*if( $params->has('jsonFields') ): Remote JSON config is scrapped

_e()?>
has('xmlFields') ):?>

:

_e()?>
has('autoFields') ):?>

Auto setup

We can make some guesses about how this bundle is set up, but we can't guarantee they'll be right.

This is not recommended unless you're a developer able to make manual changes afterwards.

_e()?>
lcode; $ispo = (bool) $lc;?>
lattr?>>e('lcode')?> e('lname')?> meta->printProgress()?> meta->getPercent()?>% n('total')?> n('todo')?> -- -- -- -- e('name')?> e('store');?>
extend('../layout'); ?>

.

admin/bundle/inc-po-links.php000064400000000552147206776120012137 0ustar00 admin/bundle/view.php000064400000005066147206776120010613 0ustar00extend('../layout'); /* @var Loco_mvc_ViewParams[] $projects */ /* @var Loco_mvc_ViewParams[] $unknown */ if( $projects ): foreach( $projects as $p ): ?>
name === $p->short ):?>

e('name')?>

e('name')?> (e('short')?>)

render('inc-po-links', [ 'nav' => $p->nav ] ); echo $this->render('inc-po-table', [ 'pairs' => $p->po, 'domain' => $p->domain, 'installed'=>$p->installed, 'warnings'=>$p->warnings ] ); ?>

. tag intact echo wp_kses( sprintf( __('Click the setup tab to complete the bundle configuration','loco-translate'), $tabs[1]->href ), ['a'=>['href'=>true]], ['http','https'] );?>.

render('../common/inc-table-filter'); echo $this->render('inc-po-table', [ 'pairs' => $unknown, 'domain' => null ] )?>

e('name')?> ()

. setup tab to complete the bundle configuration','loco-translate'), $tabs[1]->href ), ['a'=>['href'=>true]], ['http','https'] );?>.

render('inc-po-table', [ 'pairs' => $unknown, 'domain' => null ] )?>
extend('../layout'); ?>
$p ): $id = sprintf('loco-conf-%u',$i)?>
remove name === $p->short ):?>

e('name')?>

e('name')?> (e('short')?>)

:
:

. ()

:
:

. ()

extend('../layout'); /* @var Loco_mvc_ViewParams $params */ /* @var Loco_mvc_ViewParams $prompt */ if( $params->has('prompt') ):?>

e('title')?>. e('text')?>.

e('subhead')?>

e('summary')?>

_e();?> $location ):?> has('sourceLocale') ):?>
e('text')?>

e('label')?>:

disabled ):?>

3. : e('text')?>

admin/init/init-prompt.php000064400000002764147206776120011617 0ustar00extend('../layout'); $help = apply_filters('loco_external','https://localise.biz/wordpress/plugin/manual/templates'); /* @var Loco_mvc_ViewParams $params */ /* @var Loco_mvc_ViewParams $ext */ /* @var Loco_mvc_ViewParams $skip */ /* @var Loco_mvc_ViewParams $conf */ ?>

has('pot') ):?>

.

.

e('text')?> e('text')?>has('conf') ):?> e('text')?>

admin/init/init-copy.php000064400000002022147206776120011233 0ustar00extend('../layout'); $help = apply_filters('loco_external','https://localise.biz/wordpress/plugin/manual/templates'); /* @var Loco_mvc_ViewParams $params */ /* @var Loco_mvc_ViewParams $ext */ /* @var Loco_mvc_ViewParams $skip */ /* @var Loco_mvc_ViewParams $copy */ ?>

.

e('text')?> e('text')?> e('text')?>

admin/init/init-pot.php000064400000004224147206776120011071 0ustar00extend('../layout'); $help = apply_filters('loco_external','https://localise.biz/wordpress/plugin/manual/templates'); ?>

e('subhead')?>

n('count')?> (f( 'size', __('%s on disk','loco-translate') );?>, f( 'largest', __('largest is %s','loco-translate') )?>)

skip ):?>

large )?>. Help

e('relpath')?>

$value ):?>

admin/init/upload.php000064400000004553147206776120010617 0ustar00extend('../layout'); /* @var Loco_Locale $locale */ ?>
_e();?>

$location ):?>

e('label')?>:

{locale}', ''.$locale.'' ), ['code'=>[]] )?>

admin/config/debug.php000064400000011237147206776120010720 0ustar00extend('../layout'); /* @var Loco_mvc_ViewParams $versions */ /* @var Loco_mvc_ViewParams $encoding */ ?>

Versions

$value ): if( $value ):?>
:
e($key)?>

Unicode

UTF-8 rendering:
OK?> tick?>
Multibyte support:
e('mbstring')?>
Site character set
e('charset')?>

Ajax

Endpoint:
/wp-admin/admin-ajax.php
JSON decoding:
json?>
Ajax test result:

Translation APIs

e('name')?>:

Limits

$value ):?>
escape($key)?>:
e($key)?>

Filesystem

File mods disallowed:
disabled?'Yes':'No'?>
File mod safety level:
e('fs_protect')?>
$f ):?>
escape($label)?>:
e('path'); if( $f->writable ): echo ' ✓'; else:?>
PHP open_basedir:

Debug settings

$value ):?>
escape($key)?>:
e($key)?>
admin/config/settings.php000064400000034445147206776120011500 0ustar00extend('../layout'); $help_url = esc_html( apply_filters('loco_external','https://localise.biz/wordpress/plugin/manual/settings') ); /* @var Loco_data_Settings $opts */ /* @var Loco_data_Settings $dflt */ /* @var Loco_mvc_ViewParams $nonce */ /* @var Loco_mvc_ViewParams $verbose */ ?>
(?)

(?)

(?)

%

(?)

(?)

(?)

(?)

admin/config/prefs.php000064400000004330147206776120010745 0ustar00extend('../layout'); /* @var Loco_data_Preferences $opts */ $help = apply_filters('loco_external','https://localise.biz/wordpress/plugin/manual/settings'); ?>

admin/config/version.php000064400000006506147206776120011322 0ustar00extend('../layout'); // Loco Translate version: if( $params->has('update') ):?>

.

has('devel') ):?>

has('phpupdate') ):?>

PHP 7.4 PHP 8.x

has('wpupdate') ):?>

extend('../layout'); /* @var Loco_mvc_ViewParams $ui */ /* @var Loco_mvc_ViewParams[] $apis */ /* @var Loco_mvc_ViewParams $nonce */ $help = apply_filters('loco_external','https://localise.biz/wordpress/plugin/manual/providers'); ?>
e('name')?>
e('api_key')?>

https://www.deepl.com/translator

e('name')?>
e('api_key')?>

https://cloud.google.com/translate

e('name')?>
e('api_key')?>

https://lecto.ai/?ref=loco

e('name')?>
e('api_key')?>

https://aka.ms/MicrosoftTranslator

: . .

admin/errors/no-tokenizer.php000064400000002402147206776120012317 0ustar00extend('../layout'); ?>

Tokenizer extension to scan PHP source code for translatable strings','loco-translate'), ['a'=>['href'=>true,'target'=>true]], ['http','https'] );?>.

tag intact sprintf( __('You can still translate any bundle that has a template','loco-translate'), $help ), ['a'=>['href'=>true,'target'=>true]], ['https'] );?>.

admin/errors/no-backups.php000064400000001704147206776120011741 0ustar00extend('../layout'); $help = esc_url( apply_filters('loco_external','https://localise.biz/wordpress/plugin/manual/settings') ); ?>

.

|

admin/errors/file-missing.php000064400000000731147206776120012264 0ustar00extend('../layout'); ?>

:

e('path')?>

admin/errors/generic.php000064400000001622147206776120011312 0ustar00extend('../layout'); /* @var Loco_mvc_View $this */ /* @var Loco_error_Exception $error */ ?>

getTitle() )?>

getMessage() )?>

has('file') && $file->line ):?>

e('relpath')?>#e('line')?>

has('trace') ): echo "\n"; endif; admin/errors/file-sec.php000064400000000602147206776120011362 0ustar00extend('../layout'); ?>

: e('reason')?>

admin/errors/no-locale.php000064400000000774147206776120011556 0ustar00extend('../layout'); ?>

It may not be installed properly. See Installing WordPress in your language.

admin/errors/file-isdir.php000064400000000721147206776120011724 0ustar00extend('../layout'); ?>

:

e('relpath')?>

admin/debug.php000064400000000424147206776120007447 0ustar00extend('layout'); ?>

Debug

render('../debug/dump'); ?>
admin/debug/debug-layout.php000064400000001611147206776120012047 0ustar00extend('../layout'); ?> has('header') and print $header; /* @var ArrayIterator|null $log */ if( $params->has('log') ):?>

Trace log:

If you're asking for help on the WordPress forum, please post the full text below.

extend('debug-form'); $this->start('header'); /* @var Loco_mvc_ViewParams $result */ if( $result->translated ):?>

Translation result:

e('msgstr')?>

This is the translation value returned from the e('callee')?> function.

String found, but no translation returned

The e('callee')?> function returned the same value as the source string. Either the string isn't translated, or the required translation file wasn't loaded.

See below for the exact string matches we found in your translation files.

matches as $g => $matched ): /* @var Loco_mvc_FileParams $group */ $group = $result->grouped[$g];?>

e('type');?> translations:

e('relpath') ?>e('msgstr');?>

has('href') ):?>

Edit PO

extend('debug-layout'); $this->start('form'); // Translators: This file is intentionally in English only. /* @var Loco_mvc_ViewParams $form */ /* @var Loco_mvc_ViewParams $default */ ?>

Enter the original string exactly. This field is mandatory.

Context is optional. It's used to disambiguate duplicate strings. If in doubt, leave blank.

Plural form is optional, and will only work if the string has been pluralized.

Leaving empty will use the WordPress core (default) text domain.

Enter a valid locale code. Your translation files must be suffixed exactly with this value.

See the WordPress documentation for correct usage of the path argument.

Simulate wp_set_script_translations with a relative script path, e.g. blocks/example.js.

Options

Lucky dip

admin/layout.php000064400000006156147206776120007706 0ustar00
has('breadcrumb') ):?>

has('title') ):?>

e('title')?>

has('tabs') ):?>
has('fsFields') ): echo $this->render('common/inc-fsconn'); endif?>
_content;?>
has('js') && $js instanceof Loco_mvc_ViewParams ):?>extend('view'); $this->start('source'); /* @var Loco_mvc_ViewParams $params */ /* @var string $phps */ echo $this->render('../common/inc-po-header');?>
admin/file/edit-po.php000064400000003060147206776120010640 0ustar00extend('editor'); $this->start('header'); /* @var Loco_mvc_ViewParams $params */ ?>
has('domain') ):?>
_e();?>
render('../common/inc-po-header'); admin/file/info-mo.php000064400000003026147206776120010645 0ustar00extend('info'); $this->start('header'); ?>

e('code')?> e('name')?>

:
e('size')?>
:
date('mtime')?>
:
e('author')?> — date('potime')?>
:
getTotalSummary() )?>
existent ):?>

.

extend('../layout'); echo $header; /* @var Loco_mvc_ViewParams $js */ /* @var Loco_mvc_ViewParams $ui */ /* @var Loco_mvc_ViewParams $params */ /* @var Loco_mvc_ViewParams $locale */ /* @var Loco_mvc_HiddenFields $dlFields */ ?>
admin/file/info-other.php000064400000000535147206776120011355 0ustar00extend('info'); $this->start('header'); ?>

e('error')?>

admin/file/view-mo.php000064400000003736147206776120010674 0ustar00extend('view'); $this->start('source'); /* @var Loco_mvc_ViewParams $params */ /* @var string $bin */ ?>

.

 126 ) {
                    $line[] = '.'; // <- unprintable
                }
                else {
                    $line[] = $params->escape($c); // <- printable
                }
                // wrap at cols, and print plain text
                if( ++$i === $cols ){
                    echo '  ', implode('', $line ), "\n";
                    $line = [];
                    $i = 0;
                    $r++;
                }
            }
            if( $line ){
                if( $r ){
                   echo str_repeat( '   ', $cols - $i );
                }
                echo '  ', implode('', $line ), "\n";
            }
            ?>
admin/file/diff.php000064400000004513147206776120010213 0ustar00extend('../layout'); $dfmt = _x( 'j M @ H:i', 'revision date short format', 'default' ); /* @var Loco_mvc_ViewParams $master */ ?>
Current revision saved e('reltime')?>

$file ):?>
e('name')?>

_e();?>
admin/file/head.php000064400000002253147206776120010203 0ustar00extend('../layout'); ?>

_e();?> $value ): if( preg_match('/^[-A-Za-z]+$/',$key) ):?>

admin/file/move-po.php000064400000003112147206776120010657 0ustar00extend('move'); $this->start('source'); /* @var Loco_mvc_ViewParams $current */ /* @var Loco_mvc_ViewParams[] $locations */ ?>

$location ):?>

e('label')?>:

active ):?>

admin/file/info-po.php000064400000006566147206776120010664 0ustar00extend('info'); $this->start('header'); /* @var Loco_mvc_FileParams $file */ /* @var Loco_mvc_FileParams $locale */ /* @var Loco_gettext_Metadata $meta */ ?>

e('code')?> e('name')?>

:
e('size')?>
:
:
e('author')?> — date('potime')?>
:
getProgressSummary() )?>
printProgress()?>
existent ):?>

.

has('potfile') ): if( $potfile->synced ):?>

name )?>.

name )?>

has('project') ):?>

extend('../layout'); echo $source;admin/file/edit-pot.php000064400000001744147206776120011033 0ustar00extend('editor'); $this->start('header'); ?>
_e();?>

: : date('modified')?>

Template files cannot be translated

admin/file/delete.php000064400000002404147206776120010542 0ustar00extend('../layout'); ?>

permanently delete the following file?','loco-translate')?>

e('relpath')?>

has('deps') ):?>

e('warn')?>

e('name')?>

_e();?>
admin/file/move-pot.php000064400000001130147206776120011041 0ustar00extend('move'); $this->start('source'); /* @var Loco_mvc_FileParams $file */ /* @var Loco_mvc_ViewParams $current */ ?>

admin/file/view-pot.php000064400000001103147206776120011045 0ustar00extend('view'); $this->start('source'); ?>

: : date('modified')?>getTotalSummary() )?>

render('msgcat'); admin/file/view-po.php000064400000000235147206776120010666 0ustar00extend('view'); $this->start('source'); echo $this->render('../common/inc-po-header'); echo $this->render('msgcat'); admin/file/info.php000064400000011022147206776120010227 0ustar00extend('../layout'); echo $header; /* @var Loco_mvc_FileParams $file */ ?> existent ):?>

e('relpath')?>

writable ):?>

type )?>

.

ls()?>

.

httpd )?>.

ls()?>

existent ):?>

.

e('relpath')?>

writable ):?>

httpd )?>.

ls()?>

deletable ):?>

.

.

httpd )?>.

ls()?>

autoupdate ):?>

.

has('debug') ):?>

Developer notes

$raw ):?>

e($prop)?>

extend('../layout'); ?>
_e(); echo $source?>

',$params->escape( $file->basename() ),'

'; endforeach?>

has('advanced') ):?>

admin/file/info-pot.php000064400000003200147206776120011026 0ustar00extend('info'); $this->start('header'); /* @var Loco_mvc_FileParams $file */ /* @var Loco_mvc_ViewParams $params */ /* @var Loco_gettext_Metadata $meta */ /* @var int $words */ ?>

:
e('size')?>
:
:
:
getTotalSummary() )?> ()
type && ! $params->isTemplate ):?>

Unconventional file name

Template files should have the extension ".pot".
If this is intended to be a translation file it should end with a language code.

render('../common/inc-table-filter');?>
    $line ):?>
  1. '; continue; } // may be a comment line if( '#' === substr($line,0,1) ){ // may be able to parse out references $symbol = (string) substr($line,1,1); if( '' !== $symbol ){ $line = substr($line,2); if( ':' === $symbol ){ echo '#:',preg_replace('/\\S+:\d+/', '\\0', $params->escape($line) ),''; } // parse out flags and formatting directives else if( ',' === $symbol ){ echo '#,',preg_replace('/[-a-z]+/', '\\0', $params->escape($line) ),''; } // else treat as normal comment even if empty else { echo '#',$symbol,'',$params->escape($line),''; } } // else probably an empty comment else { echo '',$params->escape($line),''; } continue; } // grab keyword if there is one before quoted string if( preg_match('/^(msg[_a-z0-9\\[\\]]+)(\\s+)/', $line, $r ) ){ echo '',$params->escape($r[1]),'',$params->escape($r[2]),''; $line = substr( $line, strlen($r[0]) ); } // remainder of line (or whole line) should be a quoted string if( preg_match('/^"(.*)"\s*$/', $line, $r ) ){ echo '"',$params->escape($r[1]),'"'; continue; } // else print whatever junk is left of line echo '',$params->escape($line),''; ?>
admin/file/conf.php000064400000005112147206776120010224 0ustar00extend('../layout'); /* @var Loco_gettext_SyncOptions $conf */ /* @var Loco_mvc_ViewParams $params */ ?>

_e();?>

admin/help/tab-support.php000064400000002030147206776120011564 0ustar00

If you have problems using Loco Translate, please try our help pages. There's a lot of information there to help you understand how it works and the most common pitfalls to avoid.

To report a bug please start a new topic in the plugin support forum, but please check the FAQs for similar issues first. If you decide to submit a bug report please post enough relevant detail for us to reproduce your issue.

admin/help/tab-init-po.php000064400000001063147206776120011434 0ustar00

Adding a new language

This screen is for adding new translation files on your server's file system.

The location you choose is important. Some file locations can be overwritten by WordPress updates. See FAQ

Full documentation

admin/help/tab-bundle-view.php000064400000000357147206776120012303 0ustar00

Bundle overview

The Overview tab lists each set of available translations in the current bundle.

If Loco Translate can't configure your bundle automatically, click the Setup tab to see your options.

admin/help/tab-config-apis.php000064400000000774147206776120012264 0ustar00

Loco Translate supports integration with several third party machine translation services. Each of these requires an account with the service provider and an API key for enabling access via the Loco Translate editor.

admin/help/tab-config.php000064400000001001147206776120011312 0ustar00

. .

admin/help/tab-init-pot.php000064400000000626147206776120011624 0ustar00

Creating a template

This screen is for adding a new translations template for a set of translatable strings.

Your language files use this template to ensure they all reference the same strings.

Full documentation

admin/help/tab-list-bundles.php000064400000000506147206776120012463 0ustar00

Bundle listings

This screen lists all bundles of the current type installed in your WordPress. They may not all be ready for translation, but compatible bundles will show at least one "set" of translatable strings.

Clicking a bundle takes you to its translation management screen.

admin/help/side-bar.php000064400000001356147206776120011004 0ustar00

admin/help/tab-list-locales.php000064400000000454147206776120012453 0ustar00

Installed languages

This screen lists all the languages that are installed in your WordPress. For a language to show up here, you must have the WordPress core translation files installed.

Clicking a language takes you to its translation management screen.

admin/help/tab-file-info.php000064400000000520147206776120011722 0ustar00

File information

This screen shows technical information about the selected file. You may find it useful in debugging problems

About filesystem access

admin/help/tab-locale-view.php000064400000000514147206776120012264 0ustar00

Installed language files

This screen lists all files installed for the selected language.

Only files from correctly configured bundles will show up here. If you don't see the files you expect, then locate the bundle in the Themes or Plugins section and ensure it's configured correctly.

admin/help/tab-file-edit.php000064400000000511147206776120011714 0ustar00

The translation editor

This editor allows you to translate and save strings to your server's file system in the correct file format.

Full documentation

admin/help/tab-bundle-setup.php000064400000001104147206776120012460 0ustar00

Bundle setup

The Setup tab shows a summary of whether the bundle is configured for translation and where the configuration is stored.

See our help pages for how to set up unconfigured bundles.

Full documentation

Help for bundle authors

admin/help/tab-file-view.php000064400000000350147206776120011742 0ustar00

Source view

This screen shows translation files in their raw form. It's read-only because the file syntax is very easy to get wrong. Click the "Editor" tab to make changes safely.

admin/help/tab-bundle-conf.php000064400000000631147206776120012251 0ustar00

Advanced configuration

The Advanced tab provides full, manual configuration of the bundle.

This screen is designed for bundle developers, if you don't know what to enter try asking the author.

Full documentation

admin/help/tab-home.php000064400000000357147206776120011012 0ustar00

Loco Translate home screen

From the home screen you can access recently used items and your active theme. To translate other themes, plugins, or the WordPress core, use the subsection links in the side menu.

admin/root.php000064400000004234147206776120007347 0ustar00extend('layout'); ?>

attr?>>e('code')?> link ); if( $params->has('adminLocale') ): echo ' '; // translators: %s will be replaced with the full name of the user profile's admin language printf( esc_html( __('Your admin language is %s.','loco-translate') ), $adminLocale->link ); endif?>

:

render('list/inc-table', [ 'bundles' => $recent ] );?>

render('list/inc-table', [ 'bundles' => [$theme] ] )?>

:

render('list/inc-table', [ 'bundles' => $plugins ] )?>

ajax/modal-apis-batch.php000064400000003602147206776120011322 0ustar00

Initializing...

e('text'); ?> e('text'); ?>