I can not translate the theme created for WordPress? - php

I need to translate my wordpress theme.
I did:
load_theme_textdomain( 'text_domain', get_template_directory().'/language' );
in to function.php.
through the functions__("string","text_domain") and poedit I have generated files po and mo , but nothing translation.
what is the problem?
i have
also tried with _e() esc_html_e() esc_html__() nothing.The problem is that I'm working in local?

Related

How to add <sup>हिंदी</sup> to my subdomain hindi?

I have created a subdomain for my website called "hindi.mysite.com" and I want to add the Hindi text "हिंदी" to the site title with tags. I am using the GeneratePress Premium theme and have tried adding the code to the functions.php and header.php files, but it is not working. I have also tried using a GP hook to add the text, but it is still not working. I have also tried adding css but still not working. I have checked for any errors or typos, but haven't found any. I am looking for a solution on how to properly add the Hindi text to the site title with tags using the GeneratePress theme.
I tried adding the following code in the functions.php file, the header.php file, and as a GP hook:
function add_hindi_text() {
echo '<sup>हिंदी</sup>';
}
add_action( 'generate_site_title', 'add_hindi_text' );
I was expecting the Hindi text "हिंदी" to be added to the site title with tags, but it is not showing up.

How to translate custom plugin by creating .po and .mo file

Basically my requirement is to translate my custom plugin in dutch language for WPML. So when I change the language from english to dutch, It has to automatically change all the text of my plugin in admin panel. I am creating .po file from poedit software. It generates two files .po and .mo file. I put them in the plugin folder;
../wp-content/plugins/cleaner/languages/nl_NL.po
../wp-content/plugins/cleaner/languages/nl_NL.mo
Now I put this code in root file of the plugin.
add_action('init', 'cleaner_load_textdomain');
function cleaner_load_textdomain() {
load_plugin_textdomain(
'cleaner'
, false
, basename(dirname(__FILE__)) . '/languages'
);
}
But it is not doing anything. Any suggetions. Thanks in advance.

WPML String translation for Custom theme not working

I am developing a custom wordpress theme and the client requirement is that the site should be on two languages (i.e English and Chinese).
I am facing using translating theme options. I have installed all the plugins required like CMS, String translation and Translation Management but yet the translation is not working.
I have created the XML file as well and stored it on the theme root folder.
After all, this the error is displayed as:
[theme_switched: 0] shineway_footer_partnertwo: http://yelkolab.com/projects/shineway/wp-content/uploads/2015/10/e.png
string not registered
I have using following code snippet to display theme option values on site:
<?php echo stripslashes(get_option('shineway_footer_partnertwo'));?>
You need to use _e instead of echo:
<?php _e( stripslashes(get_option('shineway_footer_partnertwo')), 'your-text-domain' ); ?>
Afterwards rescan your theme with String Translation and add the translation.

Woocommerce Multilingual issue, How to add and edit string.

I am working on an multilingual e-Shop using Woocommerce. I downloaded the woocommerce .po and .mo, they work fine.
However, I added some custom content into some .php files.
And there are some string that I want to translate.
E.g. I found the code in "templates/content-product.php" and the code is at line 64:
I get into the .po file.
And added:
#: templates/content-product.php:64
msgid "View Product"
msgstr "查看產品"
But it doesn't work.
How to check the exact line of code to make it works?
You should copy template files into your theme's WooCommerce folder. And then if you modify strings, use the gettext() functions with a custom text domain.
For example:
_e( 'Some sample text', 'my-text-domain' );
Then you will be able to generate mo/po files for the 'my-text-domain'.
Developer's Handbook on internationalizing plugins
Codex: i18n for WordPress Developers

Translate WordPress plugin header

How can I translate WordPress plug-in header?
I have translate all strings in my plug-in using:
__() and _e() functions
.po files
Text Domain
WordPress function to load language file
load_plugin_textdomain('mnbaa-seo', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
I want to translate this section
<?php
/*
Plugin Name: Mnbaa SEO
Plugin URI: http://www.mnbaa.com
Description: WP blugin fom make SEO and Social SEO.
Author: Mnbaa CO
Author URI: http://www.mnbaa.com
Version: 1.0
Text Domian:mnbaa-seo
Domain Path: /languages/
*/
?>
You have to use WordPress' i18n tools to get the plugin's description translatable. i18n tools' makepot.php lets you auto-generate a .pot file, which then can be used to create the .mo/.po pair (with the free PoEdit for example).
The easiest way would be:
Download the zip from https://github.com/wp-mirrors/wp-i18n-tools.
Extract its content into the wp-includes folder.
Command line one-liner from within WP root: $ php wp-includes/makepot.php wp-plugin wp-content/plugins/MYPLUGIN/ wp-content/plugins/MYPLUGIN/MYLANGFOLDER/MYPLUGIN.pot
Then you take this resulting .pot file as source for PoEdit.
Finally ensure to name the .mo/.po like your plugin plus language code, for example: MYPLUGIN-de_DE.mo/MYPLUGIN-de_DE.po.
More (but not quite up-to-date) info can be found at WPO: https://codex.wordpress.org/I18n_for_WordPress_Developers#Translating_Plugins_and_Themes
I wonder if maybe PoEdit Pro can do that without us calling on the command line... Maybe someone who knows can drop a comment below.
Add somewhere inside your plugin code a dummy translation for the description and plugin name:
$dummy_name = __( 'Mnbaa SEO', 'mnbaa-seo' );
$dummy_desc = __( 'WP blugin fom make SEO and Social SEO.', 'mnbaa-seo' );
Then re-generate the .po/.mo pair.
I use only /languages for Domain Path, no trailing slash.
Check this answer for I18n support by plugins.

Categories