Tag Info

Hot answers tagged

12

By far the best (easiest) way is to use the locale filter (inside get_locale()). First set up a quick function for retrieving a different language to use on the locale filter. /** * A function returns with returns the user's selectd locale, if stored. */ function wpse35622_get_new_locale($locale=false){ $new_locale = ...


11

There is a second argument in the __() function. It should be set to the domain you are are using for your plugin or theme. In the examples below I use 'text_domain'. Your domain string should be unique. It should not match any other domain string. Not using a text domain argument defaults to 'default' the WordPress domain name. See the link for more ...


8

I got it now , After searched many resources : function lang_support() { return array('en','fr'); // Add your support lang-code (1st place is a default) } function rewrite_lang(){ $langs = lang_support(); foreach($langs as $lang) { add_rewrite_endpoint($lang,EP_PERMALINK|EP_PAGES|EP_ROOT|EP_CATEGORIES); } } ...


4

If you can settle for a page refresh, redefining the WPLANG constant could be an option. I'm doing that on two sites with multilingual content where the multilinguality plugin fails to trigger UI translation.


4

Finally found it! If I understand your question right, the template is basically saved as metadata that needs to be updated. update_post_meta( $post_id, '_wp_page_template', 'your_custom_template' ); // or update_metadata('post_type', $post_id, '_wp_page_template', 'your_custom_template' ); Source and further info


4

Set the language in your wp-config.php: define( 'WPLANG', 'en_GB' ); WordPress will use that value automatically.


3

You have to replace the call to BBpress’ language file. A good place to do this is a language specific file in your general languages directory. For Turkish it would probably be a file named tr_TR.php. This will be loaded automatically and only if it matches the language of your blog. It will not be overwritten. BBPress doesn’t use the function ...


3

I won't address the issue of variables in the string since it's already been said. You want to keep your string static, meaning that the content won't change. You also want to keep out unnecessary HTML. __( '<p>Hello World!</p>' ); __( '<h1>Hello World!</h1>' ); The above will take up two rows in your table for what is essentially ...


3

I belive you can use a load_textdomain_mofile filter... add_filter('load_textdomain_mofile', 'custom_load_textdomain_mofile', 10, 2); function custom_load_textdomain_mofile( $mofile, $domain){ if ($domain == 'bp-ass') $mofile = 'somepath/to/your/mo/file.mo'; return $mofile; } Difference (comparing Otto) is you can actually specify your mo ...


3

You need to set a locale filter, please see: http://codex.wordpress.org/Plugin_API/Filter_Reference/locale for an example, Enjoy,


3

You can filter the string for locale, it holds the current language. And you can exclude the admin from that filter: is_admin() or add_filter( 'locale', function() { return 'ar'; });


3

Run a filter on get_pagenum_link and you should be able to do what you want. The next_posts_link / previous_posts_link functions each call functions that in turn call other functions, which eventually route back to the get_pagenum_link function which provides a filter by the same name. It should give you the control you need, though post a comment if you ...


3

This will need to go in a plug-in, just put the following inside a file (login-languge.php) in wp-content/plugins/ /* Plugin Name: Log-in Language Plugin URI: http://wordpress.stackexchange.com/questions/72692/how-do-i-change-the-language-of-only-the-login-page Description: Changes the language for log-in/register screens only Author: Stephen ...


3

WPML offers this feature. You can set it in the Languages adminsection, at the option Browser Language Redirect.


3

The translation strings not only get parsed during rendering (output on screen/in browser), but also by the GNU gettext parser. This one is not a PHP parser, so it can't fetch variables. This is the only part of a Theme or a Plugin, where you need to repeat yourself and add the plain string to every translation/gettext function call. // Wrong: __( 'External ...


2

You can repalce define( 'WPLANG', 'de_DE'); in your wp-config.php by this code structuer. if (basename(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)) == 'wp-login.php'){ define( 'WPLANG', 'en_US'); } else { define( 'WPLANG', 'de_DE'); }


2

Looking at the source load_plugin_textdomain takes three arguments: load_plugin_textdomain( $domain, $abs_rel_path = false, $plugin_rel_path = false ) It seems you are passing the absolute path to your language domain, as a relative path. Try: load_plugin_textdomain( 'myplugin', ABS_PATH_TO_LANGS_DIR);


2

No, they were never there. The link you posted is for WordPress.com hosted blogs, not self-hosted WordPress.org software. Refer to Installing WordPress in Your Language for info on use in other languages.


2

You can make changes to the translation, yes, but it's not as simple as editing the text inside the fi.po file (or any PO file, for that matter). That's because WordPress actually uses another file, with an .MO extension, to render the translations. That extension is not meant to be read by humans, so you wouldn't be able to just open and translate it. It is ...


2

Upload your danish language files (da_DK.mo and da_DK.po) in your wp-content/langauges/ folder on your webserver. Then edit the wp-config.php in your root folder This define ('WPLANG', ''); should be changed in define ('WPLANG', 'da_DK');


2

http://www.qianqin.de/qtranslate/ is what you need ... Edit I - after comment. First - thanks for all who contributed in the downvotes torrent. (this is what happens when one does not visit frequently enough :- ) ) now - The function that handles the switch is in qtranslate-core. (starts at line 80 more or less - depends on the version that you want.) ...


2

You have to use a static page in this case: Settings -> General -> Fron Page Display: A static Page


2

You may wanna try something like this : <?php $lang = qtrans_getLanguage(); if ($lang=="en") { echo 'ENGLISH TEXT HERE'; } else if ($lang=="fr") { echo 'FRENCH TEXT HERE'; } ?>


2

I don't know what the lang_id option is for. AFAIK it is not part of the core WordPress options. If you want to check the language of all blogs you could check the blog's own options table for WPLANG, or use the network's WPLANG option (or fail with a locale you need) in a similar way as WordPress' own get_locale() function. I'd recommend to check out ...


2

What you have to do is to create a simple plugin that will manage the text_domain of the installed plugins. If you don't want to have a global solution you can add the code to your functions.php in your theme. The idea is to instruct wordpress on where to find translations. Internally in all plugins this is done using something similar to ...


2

You have a typo in your code, the function is __() with two underscores. You will also need to configure the textdomain 'text-domain' and have a valid translation for the end users' browser settings for it to not default to english. // use two underscores in the method $message = __("Hello Admin,",'text-domain'); // assuming this is a plugin and your ...


2

You have to install the language files first, probably from http://translate.wordpress.org/projects/wp. Then you get a language selector in Settings/General, where you can choose the site language.


2

Modify your installation such that your custom Farsi language files are associated with a non-standard WPLANG value. For example, instead of the standard 'fa_IR', maybe try something non-standard like 'farsi_IR' (or even 'myCustomFarsi_IR'). This way, when new WordPress versions are released for the "official" Farsi version, you will no longer get ...


2

Don't use get_template_directory_uri(). Use get_template_directory() instead. Your code should look like this: load_theme_textdomain( 'transparent', get_template_directory() . '/languages' ); $locale = get_locale(); $locale_file = get_template_directory() . "/languages/$locale.php"; if ( is_readable( $locale_file ) ) { ...


2

After inspecting your theme, this is what I came up with. I've taken the liberty to include Ruben's solution as well to make this answer as complete as possible. There are several problems here: Number 1. load_theme_textdomain( 'transparent', get_template_directory_uri() .'/languages' ); should be: function transparent_theme_setup() { ...



Only top voted, non community-wiki answers of a minimum length are eligible