Make WordPress Core

Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#21524 closed defect (bug) (invalid)

No translation in ajax file

Reported by: ninos-ego's profile Ninos Ego Owned by:
Milestone: Priority: normal
Severity: normal Version: 3.4.1
Component: General Keywords:
Focuses: Cc:

Description

I've got some ajax files in my theme. In that I have included the wp-blog-header.php and written for correct access:

header("HTTP/1.1 200 OK");

All works perfect, also the own defined functions of my theme. But with the translation I've got a problem. My outputs are not translated in the used language. These remain the same. I've used the language functions

_e(), __(), _n(), sprintf()

correctly.

Think that's a bug..

Change History (8)

#1 @SergeyBiryukov
12 years ago

  • Keywords reporter-feedback added

Could you provide some code to reproduce the issue?

#2 follow-up: @Ninos Ego
12 years ago

sure, for example in the TEMPLATE_DIRECTORY/ajax/testfile.php

<?php
require_once('../../../../wp-blog-header.php');
header("HTTP/1.1 200 OK");

_e('Translate!', 'PARAMETER');
?>

In the .po and .mo file the string is translated, also I get an translated output by copying this line into the function or somewhere else. Only the ajax files put the original string out..

Last edited 12 years ago by Ninos Ego (previous) (diff)

#3 follow-up: @markoheijnen
12 years ago

  • Keywords close added

This is not how you want to do things. You should use the WordPress ajax handlers

#4 in reply to: ↑ 3 @markoheijnen
12 years ago

Replying to markoheijnen:

This is not how you want to do things. You should use the WordPress ajax handlers. See http://codex.wordpress.org/AJAX_in_Plugins

#5 @Ninos Ego
12 years ago

But why it's not possible in this way, because all other things are working perfectly..Also I think it's a bug, if you want to include wordpress in other boards. Then you have to do this kind of way by including the wp-blog-header.php

#6 @markoheijnen
12 years ago

  • Keywords reporter-feedback close removed
  • Milestone Awaiting Review deleted
  • Resolution set to invalid
  • Status changed from new to closed

I tested it and it works. It seems you do something wrong. I did tested it with the default WordPress language file but it should work with custom ones.

Also you should use WordPress AJAX handlers and not like this. Using wp-blog-header.php is in my opinion always wrong.

#7 in reply to: ↑ 2 @SergeyBiryukov
12 years ago

Replying to Ninos Ego:

sure, for example in the TEMPLATE_DIRECTORY/ajax/testfile.php

My guess is that you're not calling load_theme_textdomain() in that file.

Last edited 12 years ago by SergeyBiryukov (previous) (diff)

#8 @Ninos Ego
12 years ago

ok works with

load_theme_textdomain( 'PARAMETER', getcwd() . '/../languages' );

Have tried it some days before with no effect, because of a bug. Thanks!

Note: See TracTickets for help on using tickets.