Wp 6.7 child theme lang works only in custom folder

[ad_1]

Plugin Author
Tim W

(@timwhitlock)

Translations of my child theme are shown only if I have a copy in Loco custom folder.

Do you mean a copy in the custom folder AND one in the system folder? Is the problem when there’s only a system file, or only a custom file?

Please show your translation file layout for both the parent and child themes.

  • This reply was modified 3 hours, 17 minutes ago by Tim W.

I never had child theme translations in system folder. Just a copy in author was working.

Now it works only in custom folder.
No need of system or author copies

I’ll come back with others details asap

  • This reply was modified 3 hours, 1 minute ago by bluantinoo.

@timwhitlock I double checked. In my Child theme there’s no need for system or author. As long as I have the translations in custom folder it’s working.

This is the beginning my child theme xxx-ja.po file:

msgid ""
msgstr ""
"Project-Id-Version: Hello Elementor Child IIC\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-08 14:50+0000\n"
"PO-Revision-Date: 2024-11-14 10:29+0000\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.6.6; wp-6.7\n"
"X-Domain: iic_corsi"

#: includes/inc-woocommerce.php:900
msgid "%d Place Still Available"
msgid_plural "%d Places Still Available"
msgstr[0] "残席%d名"

#: includes/inc-shortcodes.php:821
#, php-format
msgid "%s Available classes"
msgstr "開講クラス数:%s"

#: includes/inc-shortcodes.php:814
#, php-format
msgid "%s Class Available"
msgstr "開講クラス数:%s"

Parent theme has translations only in the default “system” folder (never touched or used it).

this is the beginning of my hello-elementor-ja.po

# Translation of Themes - Hello Elementor in Japanese
# This file is distributed under the same license as the Themes - Hello Elementor package.
msgid ""
msgstr ""
"PO-Revision-Date: 2024-06-21 13:43:06+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: GlotPress/4.0.1\n"
"Language: ja_JP\n"
"Project-Id-Version: Themes - Hello Elementor\n"

#. Description of the theme
#: style.css
#, gp-priority: high
msgid "Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators."
msgstr "Hello Elementor は、Elementor サイトビルダープラグインとシームレスに動作するように特別に構築された、軽量でミニマルな WordPress テーマです。このテーマは無料のオープンソースで、柔軟で使いやすく、カスタマイズ可能なサイトを求めるユーザー向けに設計されています。パフォーマンスが最適化されたテーマは、Elementor のドラッグアンドドロップサイトビルダーを使用してユーザーが独自のデザインを構築するための強固な基盤を提供します。そのシンプルさと柔軟性により、初心者にも経験豊富な Web クリエイターにも最適です。"

#. Theme Name of the theme
#: style.css
#, gp-priority: high
msgid "Hello Elementor"
msgstr "Hello Elementor"

#: includes/settings/settings-footer.php:600
#: includes/settings/settings-header.php:634
msgid "Elementor Pro"
msgstr "Elementor Pro"

Hope it helps

Plugin Author
Tim W

(@timwhitlock)

Seeing your PO files isn’t useful I’m afraid. I need your file layout, and I need to install your theme and child theme.

However, if translations in your child theme work from the custom location then it sounds like my plugin is working.

If translations aren’t working from the system location, then it sounds like my plugin isn’t involved at all, as these are just loaded by WordPress. You should test that by disabling Loco Translate and seeing if the system translations start appearing again.

As a side note: I don’t know anything about Elementor, but it’s a name that crops up a lot when people report translations not showing. Perhaps it does something “clever” like cache translations in the database for customising them. (guessing).

Sorry @timwhitlock but I don’t understand what means “file layout”, could you explain a bit?

The way I use translations in my theme does not involve elementor at all.

I think the issue may be this one: https://core.trac.projectdmc.org/ticket/62337

I tried the fix suggested here: https://core.trac.projectdmc.org/ticket/62337#comment:19

it works.

It looks like load_theme_textdomain and load_child_theme_textdomain need to be called before after_setup_theme, as I always did.

And yes, your plugin is not involved in this issue, on the contrary, it helps working around it.

thanks again.

Plugin Author
Tim W

(@timwhitlock)

File layout means where all the relevant files are located and what they’re called.

I think the issue may be this one: https://core.trac.projectdmc.org/ticket/62337

I saw that issue. I’m not sure I follow the problem exactly, but I know that WordPress effectively locks a text domain after it’s loaded until you explicitly load a new file into it (for example) after switching language. Under WP 6.7 that’s a problem, because load_theme_textdomain no longer loads anything. It just sets a custom path for user later on.

Are you using a dynamic language switcher?

Plugin Author
Tim W

(@timwhitlock)

Seems like we’re typing at the same time.

I’ll mark as resolved for now.

 

This site will teach you how to build a WordPress website for beginners. We will cover everything from installing WordPress to adding pages, posts, and images to your site. You will learn how to customize your site with themes and plugins, as well as how to market your site online.

Buy WordPress Transfer