PKp\0SS debug/xml.phpnuW+A
e('xml')?>
PKp\,b__debug/dump.phpnuW+A
$value ): if( '_' !== $prop{0} ):?>
PKp\,%sPPadmin/help/tab-file-info.phpnuW+A

File information

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

About filesystem access

PKp\3DDadmin/help/tab-bundle-setup.phpnuW+A

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

PKp\P\ladmin/help/tab-file-view.phpnuW+A

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.

PKp\]))admin/help/tab-init-po.phpnuW+A

Adding a new language

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

Full documentation

PKp\/]admin/help/tab-support.phpnuW+A

If you need help using Loco Translate, please try reading our help pages first. There's a lot of information there to help you understand how it all works.

To ask us a question please start a new thread in the support forum. Provide as much relevant detail as possible and please make it clear how your query is related to Loco Translate.

PKp\`Uadmin/help/tab-bundle-conf.phpnuW+A

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

PKp\YsIIadmin/help/tab-file-edit.phpnuW+A

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

PKp\tadmin/help/tab-home.phpnuW+A

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.

PKp\ILadmin/help/side-bar.phpnuW+A

PKp\3 FFadmin/help/tab-list-bundles.phpnuW+A

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.

PKp\p:DLLadmin/help/tab-locale-view.phpnuW+A

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.

PKp\ǭadmin/help/tab-settings.phpnuW+A

. .

PKp\bp_admin/help/tab-init-pot.phpnuW+A

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

PKp\Yadmin/help/tab-bundle-view.phpnuW+A

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.

PKp\1y,,admin/help/tab-list-locales.phpnuW+A

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.

PKp\Ъ<admin/errors/file-missing.phpnuW+Aextend('../layout'); ?>

:

e('path')?>

PKp\8admin/errors/no-tokenizer.phpnuW+Aextend('../layout'); ?>

Tokenizer extension to scan PHP source code for translatable strings','loco')?>.

template','loco'),$help)?>.

PKp\dadmin/errors/file-sec.phpnuW+Aextend('../layout'); ?>

: e('reason')?>

PKp\xxadmin/errors/file-isdir.phpnuW+Aextend('../layout'); ?>

:

e('relpath')?>

PKp\admin/errors/no-locale.phpnuW+Aextend('../layout'); ?>

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

PKp\bbbadmin/errors/generic.phpnuW+Aextend('../layout'); ?>

getTitle() )?>

getMessage() )?>

PKp\admin/errors/no-backups.phpnuW+Aextend('../layout'); $help = esc_url( apply_filters('loco_external','https://localise.biz/wordpress/plugin/manual/settings') ); ?>

.

|

PKp\jjadmin/bundle/inc-po-links.phpnuW+A PKp\*#admin/bundle/alias.phpnuW+Aextend('../layout'); ?>

.

PKp\$ & &admin/bundle/conf.phpnuW+Aextend('../layout'); ?>
$p ): $id = sprintf('loco-conf-%u',$i)?>
remove name === $p->short ):?>

e('name')?>

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

:
:

. ()

:
:

. ()

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

.

author?>

e('body')?>

has('xml') ):?>

Current configuration as XML:

e('xml')?>
PKp\E=D44admin/bundle/inc-po-table.phpnuW+A lcode;?>
lattr?>>e('lcode')?> e('lname')?> () meta->printProgress()?> meta->getPercent()?>% n('todo')?> -- -- e('name')?> e('store')?>
extend('../layout'); echo $header; ?>

.

PKp\admin/bundle/setup/inc-nav.phpnuW+Ahas('notices') ):?>

PKp\ ttadmin/bundle/setup/saved.phpnuW+Aextend('../setup'); $this->start('header'); ?>

.

_e()?>
PKp\Vq admin/bundle/setup/conf.phpnuW+Aextend('../setup'); $this->start('header'); if( $params->has('jsonFields') ):?>

_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()?>
extend('../setup'); $this->start('header'); ?>

. .

render('inc-nav')?>
PKp\admin/bundle/setup/none.phpnuW+Aextend('../setup'); $this->start('header'); ?>

. .

render('inc-nav')?>
PKp\\admin/bundle/setup/core.phpnuW+Aextend('../../layout'); ?>

. .

PKp\/Prradmin/bundle/setup/meta.phpnuW+Aextend('../setup'); $this->start('header'); ?>

. .

render('inc-nav')?>
PKp\DGadmin/bundle/setup/partial.phpnuW+Aextend('../setup'); $this->start('header'); ?>

.

render('inc-nav')?>
PKp\ىNadmin/bundle/view.phpnuW+Aextend('../layout'); /* @var $p Loco_mvc_ViewParams */ if( $projects ): foreach( $projects as $p ): ?>
name === $p->short ):?>

e('name')?>

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

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

. setup tab to complete the bundle configuration','loco'), $tabs[1]->href )?>.

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

e('name')?> ()

. setup tab to complete the bundle configuration','loco'), $tabs[1]->href )?>.

render('inc-po-table', array( 'pairs' => $unknown, 'domain' => null ) )?>
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')?>

    $line ):?>
  1. '; continue; } // may be a comment line if( '#' === $line{0} ){ // may be able to parse out references if( isset($line{1}) ){ $symbol = $line{1}; if( ':' === $symbol ){ echo '',preg_replace('/\\S+:\d+/', '\\0', $params->escape($line) ),''; continue; } // parse out flags and formatting directives else if( ',' === $symbol ){ echo '',preg_replace('/[-a-z]+/', '\\0', $params->escape($line) ),''; continue; } } // else treat as normal comment even if empty 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),''; ?>
PKp\J''admin/file/edit-po.phpnuW+Aextend('editor'); $this->start('header'); ?>

e('localeName')?>: : date('modified')?>

PKp\_hadmin/file/edit-pot.phpnuW+Aextend('editor'); $this->start('header'); ?>

: : date('modified')?>

PKp\}bnnadmin/file/view.phpnuW+Aextend('../layout'); echo $source;PKp\DX:55admin/file/move-po.phpnuW+Aextend('move'); $this->start('source'); /* @var Loco_mvc_ViewParams $current */ /* @var Loco_mvc_ViewParams[] $locations */ ?>

Choose a new location for these translations

$location ):?>

e('label')?>:

active ):?>

PKp\X,,admin/file/view-pot.phpnuW+Aextend('view'); $this->start('source'); ?>

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

render('msgcat'); PKp\\''admin/file/info.phpnuW+Aextend('../layout'); echo $header; ?> existant ):?>

e('relpath')?>

writable ):?>

type )?>

.

ls()?>

.

httpd )?>.

ls()?>

existant ):?>

.

e('relpath')?>

writable ):?>

httpd )?>.

ls()?>

deletable ):?>

.

.

httpd )?>.

ls()?>

extend('info'); $this->start('header'); ?>

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

:
date('mtime')?>
:
e('author')?> — date('potime')?>
:
getProgressSummary() )?>
printProgress()?>
existant ):?>

.

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

name )?>.

name )?>

has('altpot') ):?>

Alternative template file

extend('../layout'); $dfmt = _x( 'j M @ H:i', 'revision date short format', 'default' ); ?>
Current revision saved e('reltime')?>

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

_e();?>
PKp\ x 66admin/file/info-mo.phpnuW+Aextend('info'); $this->start('header'); ?>

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

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

.

admin/file/move.phpnuW+Aextend('../layout'); ?>
_e(); echo $source?>

Confirm relocation

The following files will be moved/renamed to the new location:',$params->escape( $file->basename() ),'

'; endforeach?>

has('advanced') ):?> Advanced

PKp\tO admin/file/editor.phpnuW+Aextend('../layout'); echo $header; ?>
Loading..
PKp\2admin/file/view-mo.phpnuW+Aextend('view'); $this->start('source'); ?>

.

 126 ) {
                    $line[] = '.'; // <- unprintable
                }
                else {
                    $line[] = $params->escape($c); // <- printable
                }
                // wrap at cols, and print plain text
                if( ++$i === $cols ){
                    echo '  ', implode('', $line ), "\n";
                    $line = array();
                    $i = 0;
                    $r++;
                }
            }
            if( $line ){
                if( $r ){
                   echo str_repeat( '   ', $cols - $i );
                }
                echo '  ', implode('', $line ), "\n";
            }
            ?>
PKp\Ζadmin/file/delete.phpnuW+Aextend('../layout'); ?>

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

e('relpath')?>

has('deps') ):?>

e('warn')?>

e('name')?>

_e();?>
PKp\Hadmin/file/view-po.phpnuW+Aextend('view'); $this->start('source'); ?>

e('localeName')?>: : date('modified')?>getProgressSummary() )?>

render('msgcat'); PKp\֓  admin/file/info-pot.phpnuW+Aextend('info'); $this->start('header'); ?>

:
date('mtime')?>
:
date('potime')?>
:
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.

extend('move'); $this->start('source'); /* @var Loco_mvc_FileParams $file */ /* @var Loco_mvc_ViewParams $current */ ?>

Enter a new location for this file

PKp\V \\admin/file/info-other.phpnuW+Aextend('info'); $this->start('header'); ?>

e('error')?>

PKp\_Eadmin/debug.phpnuW+Aextend('layout'); ?>

Debug

render('../debug/dump'); ?>
PKp\WPVadmin/common/inc-po-header.phpnuW+A

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

PKp\hadmin/common/inc-fsconn.phpnuW+Ahas('connection_type') ):?>

(e('connection_type')?>)

_e();?>

auth ): case 'all': esc_html_e('Write protected','loco'); break; case 'create': esc_html_e('Folder is protected','loco'); break; default: esc_html_e('File is protected','loco'); endswitch;?>: . ?

_e();?>
PKp\Hrradmin/list/locales.phpnuW+Aextend('../layout'); echo $this->render('../common/inc-table-filter'); ?>
lattr?>>e('lcode')?> e('lname')?> e('lcode')?> n('nfiles',0)?> e('used')?>
PKp\rhv||admin/list/inc-table.phpnuW+A
e('name')?> e('dflt')?> time ? $bundle->date('time') : print '--'?> n('size')?>
PKp\ұadmin/list/bundles.phpnuW+Aextend('../layout'); echo $this->render('../common/inc-table-filter'); echo $this->render('inc-table');PKp\<$Cadmin/config/version.phpnuW+Aextend('../layout'); if( $params->has('update') ):?>

.

Downgrade to 1.5.6

If you have problems running the 2.x branch, you can revert back to the legacy version.
Note that maintenance for the 1.x branch has stopped and there will be no further releases.

PKp\admin/config/prefs.phpnuW+Aextend('../layout'); ?>

PKp\8admin/config/settings.phpnuW+Aextend('../layout'); ?>

PKp\ admin/config/debug.phpnuW+Aextend('../layout'); ?>

Versions

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

Unicode

UTF-8 rendering:
OK?> tick?>
Multibyte support:
mbstring?>

Ajax

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

Limits

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

Filesystem

Custom languages directory:
e('langdir')?>
Directory writable:
writable?'Yes':'No'?>
File mods disallowed:
disabled?'Yes':'No'?>
File mod safety level:
e('fs_protect')?>

Debug settings

$value ):?>
escape($key)?>:
e($key)?>
PKp\ bbadmin/layout.phpnuW+A
has('breadcrumb') ):?>

e('title')?>

has('tabs') ):?>
has('fsFields') ): echo $this->render('common/inc-fsconn'); endif?>
_content;?>
has('js') ):?> extend('../layout'); ?>

e('subhead')?>

n('count')?> (f( 'size', __('%s on disk','loco') )?>)skip ):?> large )?>.

e('relpath')?>

$value ):?>

PKp\߀EEadmin/init/init-po.phpnuW+Aextend('../layout'); ?> has('ext') ):?>

. .

e('subhead')?>

e('summary')?>

$value ):?> $location ):?> has('sourceLocale') ):?>

e('label')?>:

:

PKp\P %%admin/init/init-prompt.phpnuW+Aextend('../layout'); $help = apply_filters('loco_external','https://localise.biz/wordpress/plugin/manual/templates'); ?>

has('pot') ):?>

.

.

.

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

PKp\+)admin/root.phpnuW+Aextend('layout'); ?>

Welcome to the all new version 2

This is an early release of our completely rebuilt plugin. You can switch to version 1 if you want to keep using the old plugin.

:

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

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

:

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

extend('../layout');PK\7u:zzadmin/file/sync-po.phpnuW+Aextend('../layout'); ?>

e('title')?>

PK\M  admin-poinit.tpl.phpnuW+A array( 'href' => LocoAdmin::uri() ), __('Settings','loco-translate') => array( 'href' => LocoAdmin::uri( array(), 'settings' ), 'icon' => 'admin-settings' ), // $title => array( 'icon' => 'welcome-add-page' ), ); /* @var $package LocoPackage */ $argpair = $package->get_query(); ?>

$v ):?>


PK\GPҥadmin-fscheck.tpl.phpnuW+A array( 'href' => LocoAdmin::uri() ), __('Settings','loco-translate') => array( 'href' => LocoAdmin::uri( array(), 'settings' ), 'icon' => 'admin-settings' ), // __('File check','loco-translate') => array( 'icon' => 'admin-tools' ), ); ?>

get_permission_errors() as $path => $error ):?> get_author_warnings() ):?>

PK\admin-nav.tpl.phpnuW+A

Legacy mode: You're running the old version of Loco Translate. Start using the all new version 2.

PK\Bladmin-root.tpl.phpnuW+A array(), __('Settings','loco-translate') => array( 'href' => LocoAdmin::uri( array(), 'settings' ), 'icon' => 'admin-settings' ), ); ?>


$themes) ) ?>

$plugins) ) ?>

$core) ) ?>
PK\7}}admin-list.tpl.phpnuW+A meta() ); $mtime = $package->get_modified(); $n = count( $po ); ?>
  • get_name())?>
  • get_code(); $label = $code ? $code.' : '.$po_locale->get_name() : $po_name; ?>
  • icon_class() )?> %
    check_permissions();?>
  • getMessage() )?>
PK\5admin-poedit.tpl.phpnuW+A array( 'href' => LocoAdmin::uri() ), __('Settings','loco-translate') => array( 'href' => LocoAdmin::uri( array(), 'settings' ), 'icon' => 'admin-settings' ), // $name => array( 'icon' => 'POT' === $type ? 'edit' : 'translation' ), ); $phpbase = Loco::html( Loco::baseurl() ).'/php'; $argpair = $package->get_query(); // whether to show file switcher $pofiles = $package->get_gettext_files(); $modified or $pofiles[] = $path; ?>

get_name() )?>::
:

Loading..
PK\Ladmin-opts.tpl.phpnuW+A array( 'href' => LocoAdmin::uri() ), __('Settings','loco-translate') => array( 'icon' => 'admin-settings' ), ); ?>
 

PK\[[admin-upgrade.tpl.phpnuW+A

Start using Loco Translate 2

Version 1 of Loco Translate is no longer maintained.

Version 2 is a complete rebuild. See what's changed here.
Because it's a major version increase, we're making the upgrade optional for the time being.

Keep using the old version

This upgrade will not modify any files. You can change back to version 1 later if you need to.
PKp\0SS debug/xml.phpnuW+APKp\,b__debug/dump.phpnuW+APKp\,%sPP-admin/help/tab-file-info.phpnuW+APKp\3DDadmin/help/tab-bundle-setup.phpnuW+APKp\P\l\admin/help/tab-file-view.phpnuW+APKp\]))admin/help/tab-init-po.phpnuW+APKp\/] admin/help/tab-support.phpnuW+APKp\`U admin/help/tab-bundle-conf.phpnuW+APKp\YsIIadmin/help/tab-file-edit.phpnuW+APKp\tadmin/help/tab-home.phpnuW+APKp\ILadmin/help/side-bar.phpnuW+APKp\3 FFadmin/help/tab-list-bundles.phpnuW+APKp\p:DLLCadmin/help/tab-locale-view.phpnuW+APKp\ǭadmin/help/tab-settings.phpnuW+APKp\bp_admin/help/tab-init-pot.phpnuW+APKp\Yadmin/help/tab-bundle-view.phpnuW+APKp\1y,,admin/help/tab-list-locales.phpnuW+APKp\Ъ<admin/errors/file-missing.phpnuW+APKp\8admin/errors/no-tokenizer.phpnuW+APKp\d#admin/errors/file-sec.phpnuW+APKp\xx%admin/errors/file-isdir.phpnuW+APKp\'admin/errors/no-locale.phpnuW+APKp\bbb)admin/errors/generic.phpnuW+APKp\+admin/errors/no-backups.phpnuW+APKp\jj/admin/bundle/inc-po-links.phpnuW+APKp\*#g1admin/bundle/alias.phpnuW+APKp\$ & &Y4admin/bundle/conf.phpnuW+APKp\CMZadmin/bundle/debug.phpnuW+APKp\E=D44^admin/bundle/inc-po-table.phpnuW+APKp\n -padmin/bundle/setup.phpnuW+APKp\radmin/bundle/setup/inc-nav.phpnuW+APKp\ ttwadmin/bundle/setup/saved.phpnuW+APKp\Vq R{admin/bundle/setup/conf.phpnuW+APKp\p@@Eadmin/bundle/setup/author.phpnuW+APKp\Ҋadmin/bundle/setup/none.phpnuW+APKp\\8admin/bundle/setup/core.phpnuW+APKp\/Prr3admin/bundle/setup/meta.phpnuW+APKp\DGadmin/bundle/setup/partial.phpnuW+APKp\ىNQadmin/bundle/view.phpnuW+APKp\T!!6admin/bundle/locale.phpnuW+APKp\_Yggadmin/file/msgcat.phpnuW+APKp\J''Jadmin/file/edit-po.phpnuW+APKp\_hadmin/file/edit-pot.phpnuW+APKp\}bnnοadmin/file/view.phpnuW+APKp\DX:55admin/file/move-po.phpnuW+APKp\X,,admin/file/view-pot.phpnuW+APKp\\''madmin/file/info.phpnuW+APKp\}i admin/file/info-po.phpnuW+APKp\upp&admin/file/diff.phpnuW+APKp\ x 66admin/file/info-mo.phpnuW+APKp\>Uadmin/file/move.phpnuW+APKp\tO admin/file/editor.phpnuW+APKp\2admin/file/view-mo.phpnuW+APKp\Ζadmin/file/delete.phpnuW+APKp\Hadmin/file/view-po.phpnuW+APKp\֓  admin/file/info-pot.phpnuW+APKp\RCCadmin/file/move-pot.phpnuW+APKp\V \\admin/file/info-other.phpnuW+APKp\_E%!admin/debug.phpnuW+APKp\WPVs"admin/common/inc-po-header.phpnuW+APKp\hB%admin/common/inc-fsconn.phpnuW+APKp\V5p]!7+admin/common/inc-table-filter.phpnuW+APKp\Hrr,admin/list/locales.phpnuW+APKp\rhv||=4admin/list/inc-table.phpnuW+APKp\ұ:admin/list/bundles.phpnuW+APKp\<$C:admin/config/version.phpnuW+APKp\%Badmin/config/prefs.phpnuW+APKp\8,Gadmin/config/settings.phpnuW+APKp\ (cadmin/config/debug.phpnuW+APKp\ bbVqadmin/layout.phpnuW+APKp\XpBxadmin/init/init-pot.phpnuW+APKp\߀EE~admin/init/init-po.phpnuW+APKp\P %%cadmin/init/init-prompt.phpnuW+APKp\+)Ңadmin/root.phpnuW+APK\a!!admin/file/sync-pot.phpnuW+APK\7u:zzJadmin/file/sync-po.phpnuW+APK\M   admin-poinit.tpl.phpnuW+APK\GPҥaadmin-fscheck.tpl.phpnuW+APK\Kadmin-nav.tpl.phpnuW+APK\Bliadmin-root.tpl.phpnuW+APK\7}}Jadmin-list.tpl.phpnuW+APK\5 admin-poedit.tpl.phpnuW+APK\Ladmin-opts.tpl.phpnuW+APK\[[.admin-upgrade.tpl.phpnuW+APKTT