رفتن به مطلب

مشکل در ترجمه


پست های پیشنهاد شده

سلام. یه پوسته رو ترجمه کردم و کد


<?php load_theme_textdomain('name'); ?>

(به جای name یه اسم مربوط به ترجمه گذاشتم) رو در اول فایل هدر گذاشتم ولی هیچ چیز رو ترجمه نشون نمیده. فایل زبان هم توشه و اسمش fa_IR هست.

چی کار کنم؟

لینک به ارسال

سلام

در کد زیر باید به جای name ، اسم پروژه‌تون یا همون Project Name که در برنامه Poedit انتخاب کردید رو وارد کنید‌ :


<?php load_theme_textdomain('name'); ?>

لینک به ارسال

حالا یه مشکل دیگه:

چرا صفحه از عرض زیاد کشیده شده و زیر دسته ها و زیربرگه ها رو در وسط و در آخر صفحه نشون میده؟؟

استایل:


http://tem.tafrih98.com/wp-content/themes/Helios/style.css

کدهای فایل هدر:

<?php load_theme_textdomain('Helios'); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>

<head profile="http://gmpg.org/xfn/11">

<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />

<meta name="description" content="<?php bloginfo('description') ?>" />

<title><?php wp_title(''); ?><?php if(wp_title('', false)) { echo ' :'; } ?> <?php bloginfo('name'); ?></title>

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />

<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />

<link rel="alternate" type="application/atom+xml" title="<?php bloginfo('name'); ?> Atom Feed" href="<?php bloginfo('atom_url'); ?>" />

<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />

<?php

wp_enqueue_script('jquery');

wp_enqueue_script('kwicks', get_stylesheet_directory_uri() . '/js/kwicks.js');

wp_enqueue_script('hoverintent', get_stylesheet_directory_uri() .'/js/hoverintent.js');

if(get_option('helio_cufon') == "Yes") {

wp_enqueue_script('cufon', get_stylesheet_directory_uri() . '/js/cufon.js');

wp_enqueue_script('rockwell', get_stylesheet_directory_uri() . '/js/Rockwell_Std_300.font.js');

wp_enqueue_script('effects', get_stylesheet_directory_uri() . '/js/effects.js');

}

?>

<script type="text/javascript"><!--//--><![CDATA[//><!--

sfHover = function() {

if (!document.getElementsByTagName) return false;

var sfEls1 = document.getElementById("catmenu").getElementsByTagName("li");

for (var i=0; i<sfEls1.length; i++) {

sfEls1.onmouseover=function() {

this.className+=" sfhover1";

}

sfEls1.onmouseout=function() {

this.className=this.className.replace(new RegExp(" sfhover1\\b"), "");

}

}

var sfEls1 = document.getElementById("menu").getElementsByTagName("li");

for (var i=0; i<sfEls1.length; i++) {

sfEls1.onmouseover=function() {

this.className+=" sfhover";

}

sfEls1.onmouseout=function() {

this.className=this.className.replace(new RegExp(" sfhover\\b"), "");

}

}

}

if (window.attachEvent) window.attachEvent("onload", sfHover);

//--><!]]></script>

<?php wp_get_archives('type=monthly&format=link'); ?>

<?php //comments_popup_script(); // off by default ?>

<?php

if ( is_singular() ) wp_enqueue_script( 'comment-reply' );

wp_head(); ?>

</head>

<body>

<div id="masthead">

<div id="catmenucontainer">

<div id="catmenu" class="menu-primary-container"><?php wp_list_pages ('sort_column=menu_order&title_li='); ?></div>

<?php wp_nav_menu( array( 'container_id' => 'catmenu','theme_location' => 'primary','fallback_cb'=> '' ) ); ?>

</div>

<div id="top">

<div class="blogname">

<h1><a href="<?php bloginfo('siteurl');?>/" title="<?php bloginfo('name');?>"><?php bloginfo('name');?></a></h1>

<h2><?php bloginfo('description'); ?></h2>

</div>

<?php include (TEMPLATEPATH . '/searchform.php'); ?>

</div>

<div id="foxmenucontainer"><ul id="menu"><li id="menu"><li ul id="menu"><li li id="menu"><li ul ul id="menu"><?php wp_list_categories('depth=3&exclude=1&hide_empty=0&orderby=name&show_count=0&use_desc_for_title=1&title_li='); ?>

<?php wp_nav_menu( array( 'container_id' => 'menu', 'theme_location' => 'secondary','fallback_cb'=> '' ) ); ?>

</li ul ul></li li></li ul></li></ul></div>

</div>

<div id="wrapper">

<?php if (is_front_page()) { ?>

<?php include (TEMPLATEPATH . '/tab.php'); ?>

<?php } ?>

<div id="casing">

کسی نیست جواب بده؟!

لینک به ارسال
  • 4 هفته بعد...

سلام

1- یک پوشه به نام Lang در داخل قالبم ساختم و بعد مراحل برنامه poedit طبق آموزش http://forum.wp-pars...h&attach_id=411

دو تابع


<?php next_posts_link(__('Previous Entries')) ?>
<?php previous_posts_link(__('Next Entries')) ?>

را تغییر دادم و در فایل functions.php کد


<?php load_theme_textdomain('siteground-wp25',get_template_directory().'/lang');?>

استفاده کردم.

متن مورد نظر را فارسی و بعد ذخیره کردم و فایل fa_IR.mo نیز تولید شد.

حتی کد زیر هم در فایل rtl.css ذخیره کردم.


body{
direction: rtl;
font-family: tahoma;
letter-spacing: 0px;
font-family: Tahoma;
text-align: right;
float: right;
}

ولی هیچ تغییری در قالب مشاهده نشد.

دلیلش چیست؟

2- چرا بعد از اضافه شدن Previous Entries در برنامه poedit و حذف __ از کد موجود باز هم در برنامه میاد و حذف نمیشه؟ چطوری باید حذفش کنم؟ برنامه قوی تری مخصوص این کار نیست؟

لینک به ارسال

اگر وردپرس شما فارسی هست اون دو تابع باید برگردان فارسی داشته باشن. دیگه نیازی نیست شما در متنشون تغییری ایجاد کنید.

در مورد سوال دوم متوجه نشدم چیکار کردید. شما از poedit میخواین چه چیزی رو حذف کنید؟

لینک به ارسال

اگر وردپرس شما فارسی هست اون دو تابع باید برگردان فارسی داشته باشن. دیگه نیازی نیست شما در متنشون تغییری ایجاد کنید.

در مورد سوال دوم متوجه نشدم چیکار کردید. شما از poedit میخواین چه چیزی رو حذف کنید؟

1- وردپرسم فارسی نیست و میخوام خودم قالبم را فارسی سازی کنم و طبق آموزش عمل کردم ولی نتیجه ای نگرفتم. حتی در مورد

rtl.css که باید متن بدنه از راست به چپ میشد تغییری نکرد.

2- پس از ویرایش توابع (استفاده از __

)

و درج شدنش توی برنامه poedit دیگه نتونستم از توی لیستش پاکش کنم. توی عکش مشخص کردم منظورم کدام موارده.

post-368-0-93036200-1343671922_thumb.jpg

لینک به ارسال

سلام

.... وردپرسم فارسی نیست .....

اگر توابع درست باشه وقتی

poedit را فعال می کنید خودش می گرده واژه های قابل ترجمه را لیست می کنه و شما می تونید ترجمه را انجام بدید

اما برای نمایشش باید زبان وردپرس را فارسی معرفی کنید یعنی فایل wp-config.php را ویرایش نموده و بگردی دنبال


* WordPress Localized Language, defaults to English.

و


define('WPLANG', '');
یا
define('WPLANG', 'en_US');

و کد با لا را با کد


define('WPLANG', 'fa_IR');

عوض کنید

نکته مهم : حتما قبل از هر عملی محتویات wp-config.php را در یک صفحه نوت پد ریحته و ذخیره کنید

نکته دوم: معمولا دسترسی این فایل 444 است اول دسترسی اش را به 666 تغییر دهید بعد ویرایش کنید و بعد از ویرایش نیز دسترسی را به 444 تغییر دهید

لینک به ارسال

از راهنماییتون ممنون ولی همه کار هایی که گفتید انجام دادم و هیچ تاثیری روی قالبم نداشت.

و موردی که دیدم در توابع قالبم __ و e_ وجود نداشت و باید تک تک متن های انگلیسی را پیدا کنم و قبل از توابع __ بذارم که این یعنی 2باره کاری یکبار پیدا کردنش یکبارهم فارسی کردنش. از ابتدا توی خود قالب فارسیش میکنم.

درسته که این روش استاندارده ولی این سختی ها نمیذاره روند ترجمشو زودتر انجام داد و فکر کنم به همین دلیل اکثر قالب هایی که در همین انجمن و انجمن قبلی وردپرس دیدم از فایل زبان استفاده نکردند!

اگر راهی مطمئن تر و سریعتر از این روش جهت فارسی سازی استاندار است معرفی کنید. چون الان در حال ترجمه قالبی هستم که نیاز دارم در غیر اینصورت به همان روش رایج کار را ادامه میدم.

ممنون.

لینک به ارسال
درسته که این روش استاندارده ولی این سختی ها نمیذاره روند ترجمشو زودتر انجام داد و فکر کنم به همین دلیل اکثر قالب هایی که در همین انجمن و انجمن قبلی وردپرس دیدم از فایل زبان استفاده نکردند!

البته این روش صرفا برای این مفیده که قالب را در جاهای دیگه بتونند به زبانهای دلخواه ترجمه کنند یا ببینند ولی برای قالب اختصاصی که قراره شخصی باشه الزامی نیست و یک نکته وقتی روی قالب ترجمه می کنید کلماتی را که به صورت


<?php _e('Search Results', 'kubrick'); ?>

در قالب هستند را از php خارج کنید که کئوری کمتری در قالب درگیر بشه این کلمات فقط برای فایل ترجمه php شده اند

لینک به ارسال
  • 3 هفته بعد...

سلام

پوسته ای دانلود کردم که خودش شامل پوشه lang و زبان های انگلیسی و ایتالیایی و آلمانی هست ولی وقتی با برنامه poedit آخرین نسخشو 1.5.2 استفاده کردم هیچ متنی توی برنامه برای ترجمه نشون نمیده و ارور زیرو میده :



9:57:26 PM: xgettext: Non-ASCII string at ../black-CHeshmack-wp/comments.php:24.
9:57:26 PM: Please specify the source encoding through --from-code.
9:57:26 PM: Entries in the catalog are probably incorrect.
9:57:26 PM: Updating the catalog failed. Click on 'Details >>' for details.

برنامه درگیریه خیلی اذیت میکنه.

ویرایش شده توسط سعید
لینک به ارسال

توی آموزش ها دیدم آدرسو در Source paths دو بار بدون نقطه ای چیزی وارد میکنه ولی توی این سایت نوشته فقط باید از /. و .. استفاده کرد.

کدوم دقیق تر و درسته؟

لینک به ارسال

و موردی که دیدم در توابع قالبم __ و e_ وجود نداشت و باید تک تک متن های انگلیسی را پیدا کنم و قبل از توابع __ بذارم که این یعنی 2باره کاری یکبار پیدا کردنش یکبارهم فارسی کردنش. از ابتدا توی خود قالب فارسیش میکنم.

درسته که این روش استاندارده ولی این سختی ها نمیذاره روند ترجمشو زودتر انجام داد و فکر کنم به همین دلیل اکثر قالب هایی که در همین انجمن و انجمن قبلی وردپرس دیدم از فایل زبان استفاده نکردند!

سعید جان خودت که میبینی چقدر سخته پیدا کردن کلمات البته زیاد هم زمان بر نیست حالا فک کن هزار نفر پوسته رو دریافت میکنن هزار نفر باید تک تک فایل ها رو دنبال واژه بگردن چه خوبه اونی که زحمت فارسی سازی رو میکشه فایل زبانش رو ایجاد کنه تا اون هزار نفر برای ترجمه راحت باشن

در مورد مشکلت هم پو ادیت نرم افزار کاملیه اگه پوسته ای داری که خودش فایل زبان و یا فایل پوت داره میتونی از روی اونها آپدیت کنی اگه خطا میده ممکنه به خاطر ندادن آدرس پرونده پوسته و یا نگذاشتن تابع ها برای گرفتن رشته باشه

این که فایل زبان و و آر تی ال کار نمیکنن همونطوری که دوستمون گفت به خاطر انگلیسی بودن وردپرست هست اون نقطه هم نمیدونم منظورت چیه ولی اول مسیر پوسته تو کامپیوترت رو مشخص کن بعد از اتمام کارت مسیر رو کلا" پاک کن تا تو سیستم دیگه برای ترجمه خطا نده بعد از پاک کردن مسیر خود نرم افزار به آدرس یه نقطه میده

لینک به ارسال

در مورد مشکلت هم پو ادیت نرم افزار کاملیه اگه پوسته ای داری که خودش فایل زبان و یا فایل پوت داره میتونی از روی اونها آپدیت کنی اگه خطا میده ممکنه به خاطر ندادن آدرس پرونده پوسته و یا نگذاشتن تابع ها برای گرفتن رشته باشه

این که فایل زبان و و آر تی ال کار نمیکنن همونطوری که دوستمون گفت به خاطر انگلیسی بودن وردپرست هست اون نقطه هم نمیدونم منظورت چیه ولی اول مسیر پوسته تو کامپیوترت رو مشخص کن بعد از اتمام کارت مسیر رو کلا" پاک کن تا تو سیستم دیگه برای ترجمه خطا نده بعد از پاک کردن مسیر خود نرم افزار به آدرس یه نقطه میده

مشکل آدرس دادنو هنوزم داشت و داره و فقط تونستم از طریق فایل هایی که با پسوند mo. داشت متن هاشو پیدا و فارسی کنم.

منظورم از اون نقطه آموزش آدرس دادنی بود که توی http://1freeman.net/...es-in-wordpress توضیح داده شده و آیا درسته روشش؟

لینک به ارسال

خب وقتی تو خود پوسته تابع ها از قبل گذاشته شده دیگه نیازی به فایلهای دیگه نداریو بهترین راه اینه که از نو یه کاتالوگ برای زبان فارسی بزنی

در مورد نقطه هم به نظرم بهتره از روش معمول و تایید شده استفاده کنی یعنی بعد از ایجاد پروژه جدید و دادن مشخصات و تابع ها آدرس پوسته تو کامپیوترت رو مستقیم تو کادر مربوط وارد کنی و بعد از اتمام کلی کارت میتونی آدرس رو پاک کنی تا تو کامپیوترهای دیگه خطا نده آدرس رو خود نرم افزار اونو به نقطه تبدیل میکنه

در ضمن اگه بعضی کلمات هنوز تو پو ادیت نیومدن به خاطر اینه که از تابع های دیگه استفاده شده مثل :


gettext
gettext_noop

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...