2

I am migrating a (non-English-language) blog using the Koi theme on WordPress.com to a self-hosted environment, but see that certain strings are no longer being translated. For example, if my wp-config.php file contains define ('WPLANG', 'de_DE'), then _most of the theme is indeed translated to German, but "Leave a Comment" remains in English.

After downloading the 'koi-wpcom-1-1.zip' file from WordPress.com, and digging around in the theme's code, I have the following questions:

  • On one hand, the theme's code shows evidence of translation-readiness in that all strings are wrapped by the '__()' function. For example: __( 'Leave a Comment', 'ndesignthemes' ).

    On the other hand, nowhere do I see any use of 'load_theme_textdomain()'!

    Might that mean that parts of the theme are getting translated because the corresponding strings have already been translated for the WordPress core, but no theme-specific translations are being performed due to "missing pieces" at the theme level?

  • I have tried fixing/completing the translation by doing the following, but so far no success:

    • Explicitly added load_theme_textdomain( 'ndesignthemes', get_template_directory() . '/languages' ); to functions.php
    • Visited WordPress.com's German translation project for the Koi theme (GlotPress), and downloaded the corresponding 'wpcom-themes-koi-de.po' and 'wpcom-themes-koi-de.mo' files. Also verified that the *.po file explictly contains a translation for "Leave a comment" ("Hinterlasse einen Kommentar").
    • Per my understanding, renamed the above files to 'ndesignthemes-de_DE.po' and 'ndesignthemes-de_DE.mo', and copied them into 'wp-content/languages/themes' directory.
    • After the following failed to cause "Leave a comment" to get translated, tried all variations of renaming the *.mo/*.po files to 'koi-wpcom-de_DE.*', 'koi-de_DE.*', 'wpcom-themes-koi-de_DE.*', and 'de_DE.*'; and/or to copying them instead to their 'wp-content/themes/koi-wpcom/languages' theme-installation directory.

    ... but nothing helps.

Can anyone help me understand what is the problem and how to fix it?

2
  • Which theme are you using on the self hosted blog Jun 30, 2014 at 15:20
  • As I wrote, I am presumably using the very same Koi theme, as made available by WordPress.com, and showing partial (?) signs of translation-readiness -- apparently added by WordPress.com. The theme's original developer has since migrated the theme to the Themify framework [themify.me/themes/koi], but the code for that version does not seem to show any translation-readiness at all.
    – NewBee
    Jun 30, 2014 at 15:27

2 Answers 2

0

What theme has translated is Leave a comment but what theme uses in template files is Leave a Comment. Spot the difference. :)

You are doing everything right, it's the issue with translation file due to missed or outdated case sensitivity for that string.

2
  • Wow! Thank you so much! That was it! :-) For the record: I see that the 'load_theme_textdomain()' was necessary, and the 'ndesignthemes-de_DE.mo' file needed to be copied into the central 'wp-content/languages/themes' directory. The *.po file did not need to be copied, and there was no need to create a 'wp-content/themes/koi-wpcom/languages' directory in the theme-installation.
    – NewBee
    Jun 30, 2014 at 16:40
  • BTW: I'd gladly vote up your answer, but I'm currently 2 reputation points away from that privilege! Ain't it tough being a newbie? ;-)
    – NewBee
    Jul 3, 2014 at 10:59
0

Thanks for bringing this up. The Koi theme files have been updated to address the issue you've brought up and to include some other minor i18n fixes. You can download the most recent version from WordPress.com here at this link.

1
  • Thanks! I'm glad to have been able to contribute. Will gladly vote your answer up as well (once I hit that whopping score of 15)! ;-)
    – NewBee
    Jul 4, 2014 at 14:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.