WordPress / create-block-theme

A WordPress plugin to create block themes

Home Page:https://wordpress.org/plugins/create-block-theme/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Localize option tries to localize already localized strings breaking the patters.

matiasbenedetto opened this issue · comments

What

The localize option tries to localize already localized strings, breaking the patterns.

Example output of saving TT4 theme using 'Localize Text' option enabled:

<!-- wp:paragraph {"align":"left"} -->
<p class="has-text-align-left"><?php echo __('Experience the fusion of imagination and expertise with Études <?php echo __('Architectural Solutions', 'twentytwentyfour');?>.', 'twentytwentyfour');?></p>
<!-- /wp:paragraph --></div>

Please observe that an echo statement is inside another echo statement, which will result in a parse error. This breaks the pattern where this is included.

Expected

The localize functionality should not try to localize already localized text.

Adding more details:

What's the bug? 'Localize text' functionality collects the strings that should be translated in a theme as a list. Example:

  • "Hi!"
  • "Hi! I'm glad you chose My Theme"
  • "Good bye"

Having that it tries to add translation marks to each of those strings in the templates. Example:

<?php echo __("Hi!", "my-theme"); ?>
<?php echo __("Good bye!", "my-theme"); ?>

The problem arises when a longer string contains a shorter string present in other element. In those cases the output is invalid PHP so the templates break.

<?php echo __("<?php echo __("Hi!", "my-theme"); ?> I'm glad you chose My Theme", "my-theme"); ?>