Viewing 12 replies - 1 through 12 (of 12 total)
  • 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 1 week, 2 days ago by Tim W.
    Thread Starter bluantinoo

    (@bluantinoo)

    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 1 week, 2 days ago by bluantinoo.
    Thread Starter bluantinoo

    (@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).

    Thread Starter bluantinoo

    (@bluantinoo)

    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.www.ads-software.com/ticket/62337

    Thread Starter bluantinoo

    (@bluantinoo)

    I tried the fix suggested here: https://core.trac.www.ads-software.com/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.www.ads-software.com/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.

    Plugin Author Tim W

    (@timwhitlock)

    I tried the fix suggested here:?https://core.trac.www.ads-software.com/ticket/62337#comment:19

    Just curious. I’m wondering if a call to unload_textdomain doesn’t do the same as those 7 lines of code in that fix.

    Thread Starter bluantinoo

    (@bluantinoo)

    I’m not using any multi language setup, no switcher. Just a localized webiste.
    I’d like to try for you the unload_textdomain… but I’m not sure what I should try to unload…

    Plugin Author Tim W

    (@timwhitlock)

    You said the fix works. It sets $domain = 'our_theme_name_domain'

    I’ve not tested it, but I was assuming unload_textdomain($domain) would do the same as all that code.

    Thread Starter bluantinoo

    (@bluantinoo)

    This works:

    add_action( 'init', 'xxx_theme_setup'); 

    function xxx_theme_setup() {
    global $l10n, $wp_textdomain_registry;
    $domain = 'xxx_xxx';
    $locale = get_locale();
    $wp_textdomain_registry->set($domain, $locale, get_stylesheet_directory() . '/languages');
    if ( isset( $l10n[ $domain ] )) {
    unset( $l10n[ $domain ] );
    }
    load_child_theme_textdomain($domain, get_stylesheet_directory() . '/languages');
    }

    This does NOT work:

    add_action( 'init', 'xxx_theme_setup'); 

    function xxx_theme_setup() {
    $domain = 'xxx_xxx';
    unload_textdomain($domain);
    load_child_theme_textdomain($domain, get_stylesheet_directory() . '/languages');
    }

    Trivia: looks like it all started here https://github.com/WordPress/gutenberg/issues/66547

    • This reply was modified 1 week, 2 days ago by bluantinoo.
Viewing 12 replies - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.