Misssing Strings

Already having problems - unable to translate the home page because the text is in the theme, not the page. There are thousands of strings too, so I am assuming that the search thing is working.

First I followed instructions on this page:

Finding the theme options and making them translatable

To make the theme options translatable go to the WPML->String Translation page and click the Translate texts in admin screens option.

String Translation

Translate texts in admin screens

On this page, you have to find the right option. Usually, theme options are listed somewhere below theme_mods_{themename}.

The following image shows an example, where we looked for the WP Real Estate Pro theme’s options and found them under WP Pro Real Estate 6_options.

String Translation

WP Pro Real Estate 6_options.

Theme options are presented in a tree view and inside, we found the sliders stored under the name ct_flex_slider. We checked all slide titles to make them translatable.

String Translation

Finding slider title in ct_flex_slider options

Translating the theme options

Now that the theme options are marked as translatable, they appear on the WPML->String Translation page. You translate them just like any other strings.

String Translation

Translating slider title in WPML String Translation page

The following image shows our slides on the front-end after we translated all the slide title strings.

[Spanish] wpprorealestate6&wpml 2015-07-24 16-30-55

Slider title translated on the front-end

It says Now that the theme options are marked as translatable, they appear on the WPML->String Translation page - but they don't, or at least I can't find them with a search for words I know are in there.

So I tried enabling Track when strings appear on the site as per instructions here:

Advanced String Translation Features

Besides the basic filter and translation features, WPML offers advanced options, which can make your site administration simpler.

Track when strings appear on the site

This option helps you identify where strings are used on public pages in the site. When enabled, WPML will keep record of the PHP source and pages that display each string. This feature can help understand the correct context of strings and how they should be translated.

Enable / disable string usage

Info icons on strings list

String in the PHP code

String on public page

tracking_strings
string-debug-options
see-where-string-appears
show-on-page

Enable or disable the tracking for where strings appear on public pages.

Click on the icons to see where the string appears in the code or on a public page.

Static operation, without any additional server load.

Dynamic operation, intended for site development, which loads the server.

How to use:

  1. Enable the Track where strings appear on the site option.
  2. Visit the site’s front-end pages.
  3. Switch to a language other than the site’s default language.
  4. WPML will register any string that appears on the page you are viewing. Move from page to page to cover all the strings you need.

Please note that this is a database-intense operation. You should only enable it when building the site. When you are done registering strings, don’t forget to return to the String Translation admin page and disable ‘Track where strings appear on the site’. Your site’s speed will be significantly lower if you keep this option running in production mode.

Auto register strings for translation

WPML uses static code analysis to locate strings that require translation in the theme and plugins. In some cases, the static code-scan cannot reliably find all strings. This often happens when strings are generated dynamically using code (not really static/”hard-coded”).

By enabling auto-registration, WPML will register strings that need translation at display-time. The conservative option is to register strings when logged in as an administrator. This means that when a logged-in admin browses the site, WPML registers for translation any strings that are displayed.

This operation may increase an amount of database queries while strings are registering for translation.

But again nothing seemed to change. Turned it off again.