POedit দিয়ে কীভাবে পট ফাইল তৈরি করবেন?


33

আমি সত্যিই খুব সহজ কিছু বলে মনে হয়েছিল তার উপর আজ ঘন্টা সময় ব্যয় করেছি, যা আমি তৈরি করছি এমন একটি ওয়ার্ডপ্রেস থিমের জন্য একটি পট ফাইল তৈরি করা। আমি পড়েছি মর্মান্তিক ম্যাগাজিন নিবন্ধ , Tutsplus নিবন্ধ এবং কিভাবে ব্যবহার করবেন তার অন্য কয়েকজন Poedit একটি থিম জন্য ফাইল .pot তৈরি করতে, এবং তারপর .mo তৈরি এবং .po ফাইল, কিন্তু দুঃখিতভাবে, আমি এখনও প্রথমে আটকে আছি ধাপ।

আমি পোয়েডিট ইনস্টল করেছি এবং আমি দেখতে পেয়েছি যে টিউটোরিয়ালগুলির মধ্যে সমস্তটি দেখানো হয়েছে তার চেয়ে ইউআই সম্পূর্ণ ভিন্ন and কেবলমাত্র উপলভ্য জিনিসটি হ'ল একটি বিদ্যমান। পট ফাইল থেকে .po এবং .mo ফাইলগুলি তৈরি করা যা এখন আমার প্রয়োজন হয় না।

কেউ যদি দয়া করে আমাকে বলতে পারেন আমি কীভাবে পোইডিট ব্যবহার করে বা অন্য কোনও পদ্ধতিতে .pot ফাইল তৈরি করতে পারি, আমি সত্যিই এটির প্রশংসা করব।

ধন্যবাদ!


উত্তর:


18

আপনি চেষ্টা করতে পারেন ইজি পো

  • ফাইল মেনু থেকে "সোর্স কোড ফাইল থেকে নতুন .." নির্বাচন করুন।
  • Xgettext কমান্ড ম্যানেজার উইন্ডোতে; বেস উত্স ফোল্ডারটি নির্বাচন করতে "ব্রাউজার ফোল্ডার" টিপুন।
  • বিল্ড ফলকে পট ফাইল তৈরি করতে "কমান্ড এক্সিকিউট করুন" বোতাম টিপুন।

POEdit এর চেয়ে অনেক বেশি ভাল এবং সহজ। ক্লিন ইউআই। ডিফল্টরূপে কীওয়ার্ড তালিকায় সমস্ত আই 18 এন অনুবাদ ফাংশন রয়েছে। ধন্যবাদ.
পারস শাহ

POEdit এর ওয়ার্ডপ্রেস বৈশিষ্ট্যগুলি প্রদান করা হয়েছে তা বুঝতে পেরে এটি ব্যবহার করুন। নিখুঁতভাবে কাজ করেছেন!
সোভেন

37

ওএস এক্স-এ আপনি কীভাবে পোইডিট (ফ্রি সংস্করণ, সংস্করণ 1.6.10) দিয়ে আপনার থিমের জন্য একটি পট ফাইল তৈরি করতে পারেন তা এখানে is

আপনার থিম ডিরেক্টরিতে "ভাষা" নামে একটি ফোল্ডারে ভাষা ফাইলগুলি সংরক্ষণ করা সেরা অনুশীলন। আপনি ইতিমধ্যে না থাকলে, শুরু করার আগে এটি তৈরি করুন।

পোয়েডিতে:

  1. "ফাইল" মেনুতে "নতুন" নির্বাচন করুন
  2. আপনি আপনার থিমটিতে যে ভাষাটি ব্যবহার করেছেন তা নির্বাচন করুন (সম্ভবত ইংরেজি)
  3. "ক্যাটালগ" মেনুতে "সম্পত্তি" নির্বাচন করুন
  4. "অনুবাদ বৈশিষ্ট্য" ট্যাবে প্রকল্পের তথ্য প্রবেশ করুন
  5. 3 য় ট্যাব "উত্স কীওয়ার্ড" এ যান
  6. "নতুন আইটেম" বোতাম (2nd বোতাম) ক্লিক করুন এবং একটি শব্দ লিখুন এবং আপনার কীওয়ার্ড প্রত্যেকের জন্য এই পুনরাবৃত্তি ( __, _e, esc_attr_e, ইত্যাদি)
  7. নীচে "ওকে" বোতামে ক্লিক করুন
  8. "ফাইল" মেনুতে "হিসাবে সংরক্ষণ করুন .." নির্বাচন করুন
  9. আপনার থিম ডিরেক্টরিতে "ভাষা" ফোল্ডারে "yourthemename.pot" হিসাবে ফাইলটি সংরক্ষণ করুন (নিশ্চিত করুন যে আপনি ফাইলের নামটিতে পট এক্সটেনশন যুক্ত করেছেন কারণ ডিফল্টরূপে এটি .po হিসাবে সংরক্ষণ করবে)
  10. "ক্যাটালগ" মেনুতে আবার "সম্পত্তি" নির্বাচন করুন
  11. ২ য় ট্যাবটিতে "উত্সের পথে" যান
  12. "বেস পাথ" এর জন্য মানটি সেট করুন ../(.পট ফাইলটি একটি উপ ডিরেক্টরিতে সংরক্ষণ করা হয় যাতে আপনি এইভাবে প্যারেন্ট ডিরেক্টরিতে বেসটি সেট করেন, যেমন আপনার থিম ডিরেক্টরি)
  13. "পাথ" এর পাশে "নতুন আইটেম" বোতামে ক্লিক করুন এবং প্রবেশ করুন .(এটি আপনাকে আপনার থিম ডিরেক্টরি এবং এর উপ-ডিরেক্টরিগুলি স্ক্যান করবে)
  14. নীচে "ওকে" বোতামে ক্লিক করুন
  15. প্রকল্প উইন্ডোতে "আপডেট" ক্লিক করুন (উপরে দ্বিতীয় আইকন)
  16. "ফাইল" মেনুতে "সংরক্ষণ করুন" ক্লিক করুন

এবং তুমি করে ফেলেছ :)


এটি ওয়ার্ডপ্রেস এবং অনুবাদ ব্যবস্থায় নির্দিষ্ট পরিবর্তনগুলির জন্য কাজ করে না। এটি সেরা অসম্পূর্ণ।
অটো

1
এটি আমার প্লাগইনটির জন্য সত্যই ভাল কাজ করেছে
পাবলো এসজি পাচেকো

এটি প্লাগিনের জন্য কাজ করে, তবে হেডার থেকে প্লাগইন বিবরণটি অনুবাদ করে না
আউসমে স্যান্ডি

25

আপনি ওয়ার্ডপ্রেস সরঞ্জামগুলির সাথে POEdit ছাড়াই এটি করতে পারেন।

প্রথমে, http://develop.svn.wordpress.org/trunk/ এর একটি এসএনএন চেকআউট করুন :

svn co http://develop.svn.wordpress.org/trunk/ wpdev

তারপরে, এতে থাকা i18n সরঞ্জাম ডিরেক্টরিতে স্যুইচ করুন:

cd wpdev/tools/i18n/

তারপরে আপনার থিমের ডিরেক্টরিতে কেবল Makepot.php চালান:

php makepot.php wp-theme /path/to/your/theme themename.pot

এটি আপনার জন্য একটি themename.pot ফাইল তৈরি করবে। আপনার পছন্দ মতো কোনও মানক অনুবাদ সরঞ্জামে এটি ব্যবহার করুন।

এটি আরও ভাল কারণ এটি আই 18 এন ফাংশনগুলি সন্ধান করতে ওয়ার্ডপ্রেস কোড ব্যবহার করে, সুতরাং আপনি সেগুলির কোনওটিই মিস করবেন না। তদ্ব্যতীত, এটি থিম শিরোলেখ সম্পর্কিত তথ্য, যেমন নাম, বিবরণ ইত্যাদির মতো জিনিসগুলি সন্ধান এবং যুক্ত করবে এটি এগুলিকেও অনুবাদ করার অনুমতি দেয়। আপনার স্টাইল সিএসএসে কাজ করার জন্য আপনি "টেক্সট ডোমেন:" শিরোনামটি অন্তর্ভুক্ত করেছেন তা নিশ্চিত করুন।


এই একটি প্লাগইন জন্য কাজ করবে?
মারুতি মোহান্তি

2
হ্যাঁ, "ডাব্লুপি-থিম" এর পরিবর্তে "ডাব্লুপি-প্লাগইন" ব্যবহার করুন এবং এটি একটি প্লাগইনের জন্য একটি পট ফাইল তৈরি করবে।
অটো

ওয়ার্ডপ্রেস নির্দিষ্ট সরঞ্জাম ব্যবহার না করে এমন প্রতিটি অন্যান্য পদ্ধতি কোনওভাবে ভেঙে গেছে।
অটো

দুর্দান্ত সরঞ্জাম! যদিও এটি আমার chmod +xডিরেক্টরিতে থাকা সত্ত্বেও "ফাইল তৈরি করতে পারে না" এর মতো ত্রুটিগুলি ছুঁড়ে ফেলেছে ..
স্যামুয়েল এলহ

1
Chmod + x সাহায্য করবে কেন? হয়ত আপনার এক্সিকিউটেবলের পরিবর্তে ডিরেক্টরিকে লিখনযোগ্য করার চেষ্টা করা উচিত
অটো

5

আমি এখন সবচেয়ে সহজ উপায় হ'ল ডাব্লুপি-সিএলআই ব্যবহার করা । আপনার থিম বা প্লাগইন নেভিগেট করুন এবং নিম্নলিখিত কমান্ড কার্যকর করুন (ডাব্লুপি-সিএমএল ইনস্টল হওয়ার পরে):

wp i18n make-pot . languages/my.pot

( কমান্ডের ডকুমেন্টেশন দেখুন )

তারপরে আপনি এই ফাইলটি পোয়েডিট বা অন্য কোনও সহজ অনুবাদ সরঞ্জাম দিয়ে সম্পাদনা করতে পারবেন।


0

আপনি লোকো অনুবাদ প্লাগইন সহ পুরোপুরি বাহ্যিক সরঞ্জামগুলি ফেলে দিতে পারেন । আমি প্রায় এক বছর আগে এটি চেষ্টা করে দেখেছি এবং এরপরে কখনই পিওইডিট ব্যবহার করি না। এটি আপনার পরীক্ষার সাইটে ইনস্টল করুন এবং এক ক্লিকে পট ফাইল তৈরি করুন।


এটি ওয়ার্ডপ্রেস এবং অনুবাদ ব্যবস্থায় নির্দিষ্ট পরিবর্তনগুলির জন্য কাজ করে না। এটি সেরা অসম্পূর্ণ।
অটো

Woot? এটি একটি ডাব্লুপি প্লাগইন।
অবশ্যই

0

যে কেউ ইজি পো এর পরিবর্তে পোয়েডিট ব্যবহার করতে পছন্দ করেছিল For

  1. ডাউনলোড (সর্বশেষ সংস্করণ) পোয়েডিট এবং ইনস্টল করুন
  2. ফাইল> নতুন এ যান। একটি নতুন ট্যাব উপস্থিত হবে, আপনার অনুবাদের ভাষাটি চয়ন করুন এবং আপনার ওয়ার্ডপ্রেস থিমের মূল ফোল্ডারে সংরক্ষণ করুন (ctrl + s)।

  3. পরবর্তী পৃষ্ঠায় আপনি দেখতে পাবেন, "উত্স থেকে নিষ্কাশন করুন" - এ ক্লিক করুন। আপনি যে ট্যাবটি দেখতে পাবেন তার পরের লিঙ্কগুলিতে ব্যবহৃত পেস্টগুলির সাথে মিল রয়েছে। "প্রকল্প তথ্য" এখন "অনুবাদ বৈশিষ্ট্যাবলী", পাশাপাশি "পথ" এবং "কীওয়ার্ডস" যথাক্রমে "উত্স পথ" এবং "উত্স কীওয়ার্ড"


0

আমার একই সমস্যা রয়েছে, সমাধানটি প্রথম ট্যাবে রয়েছে যখন আপনি ক্যাটালগটি বের করেন, ইউটিএফ 8 পুনঃনির্মাণ করা উচিত এবং 3 তম ট্যাব "উত্স কীওয়ার্ডস" এ "নতুন আইটেম" বোতামে (দ্বিতীয় বাটন) ক্লিক করুন এবং একটি কীওয়ার্ড প্রবেশ করুন এবং পুনরাবৃত্তি করুন এটি আপনার প্রতিটি কীওয়ার্ডের জন্য (__, _ ই)।


0

যেমন অটো বলেছেন :

ম্যাক ব্যবহারকারীদের জন্য আমি এমন কিছু করব:

  • ইনস্টল করার পরে svn co http://develop.svn.wordpress.org/trunk/ wpdev

তাই ...

  • করুন /languages/আপনার থিমে Dir
  • মত একটি কমান্ড ফাইল করুন lang.commandযে /languages/Dir
  • ভিতরে lang.command

কোডটি কিছু যুক্ত করুন ..

#!/bin/bash
cd $(dirname "$0")
php /Users/YOUNAME/wpdev/tools/i18n/makepot.php wp-theme ../../mytheme mytheme.pot

দ্রষ্টব্য: আপনার সঠিক পরিবর্তন করুন makepot.php পাথ এবং mytheme আপনার থিম নাম

এখন প্রতিবার আপনি একটি নতুন। পট ফাইল বানাতে চাইলে আপনি কেবল লট ডট কম এ চালাতে পারেন

Dir


0

স্ক্রিপ্ট অটো .po ফাইল তৈরি করে, আপনার কোড থেকে সমস্ত পাঠ্য স্বয়ংক্রিয়ভাবে যুক্ত করে

  1. Load_theme_textdomain যোগ করুন ('মাই-টেক্সটডমাইন', ডিআইআর । '/ ভাষা /');
  2. ডাব্লুপি-কনটেন্ট / থিম / এমওয়াই_থেম / ভাষাগুলি ফোল্ডার তৈরি করুন (এই ফোল্ডারে আপনার ভাষা .মো ফাইল যুক্ত করুন)
  3. Po.php তৈরি করুন এবং এই স্ক্রিপ্ট যুক্ত করুন:
<?php /*Script by Sien.com.vn */
define('WP_USE_THEMES', true);

require(''.$_SERVER['DOCUMENT_ROOT'].'/wp-load.php' );

function title_p($title) {

$title='Po create';   

return $title;}
add_filter( 'pre_get_document_title', 'title_p' );


$robots_p='noindex,nofollow';   

get_header();  

echo '<div id="content" class="col col-100">';

if(current_user_can('manage_options')){

function write_txt($path,$content,$type){
$file=fopen($path,$type) or die();
fwrite($file,$content);
fclose($file);
return TRUE;
}

if(isset($_POST['lang'])){
$lang_code=pathinfo($_POST['lang'],PATHINFO_FILENAME);

load_textdomain('this_lang',__DIR__.'/'.$lang_code.'.mo');


$textdomain=$_POST['textdomain'];


$txt='';

function sfile($dir, $ext) {
    global $textdomain;

$globFiles = glob("$dir".DIRECTORY_SEPARATOR."*.$ext");
$globDirs = glob("$dir/*", GLOB_ONLYDIR);

foreach ($globDirs as $dir) {
sfile($dir, $ext);

}

foreach ($globFiles as $file=>$path) {

$txt.=file_get_contents($path,FILE_USE_INCLUDE_PATH);

}


preg_match_all('/__\(\'(.+?)\',\''.$textdomain.'\'\)/',$txt,$output);


$arr=array();

foreach(array_unique($output[1]) as $v){

    if(isset($v)){
write_txt(''.__DIR__.'/po.dat',''.$v.'**$!3|\\/**','a+');
    }
}

}
sfile(get_template_directory(),'php');


$get=file_get_contents(''.__DIR__.'/po.dat');

$k=explode('**$!3|\\/**',$get);


foreach(array_unique($k) as $v){

    if(!empty($v)){ 

if($v==__($v,'this_lang')){
write_txt(''.__DIR__.'/po.dat.empty','
msgid "'.$v.'"
msgstr ""
','a+');
}else{
write_txt(''.__DIR__.'/po.dat.isset','
msgid "'.$v.'"
msgstr "'.__($v,'this_lang').'"
','a+');
}

    }

    }

if(empty(file_get_contents(''.__DIR__.'/po.dat.isset')) && empty(file_get_contents(''.__DIR__.'/po.dat.empty'))){
        echo '<div class="error">Error, Textdomain <b>'.$textdomain.'</b> not found!</div>';
    }else{

write_txt(''.__DIR__.'/'.$lang_code.'.po','# '.$lang_code.' LANG
msgid ""
msgstr ""
"PO-Revision-Date: 2017-11-23 22:26+0700\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 2.0.4\n"
"Language: vi_VN\n"
"Project-Id-Version: Sien\n"
"POT-Creation-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"


'.file_get_contents(''.__DIR__.'/po.dat.isset').'
'.file_get_contents(''.__DIR__.'/po.dat.empty').'
','w+');


echo '<div class="success"><span style="color:blue">Success</span> -> Saved to: '.__DIR__.'/ <b>'.$lang_code.'.po</b></div>';

unlink(''.__DIR__.'/po.dat');
unlink(''.__DIR__.'/po.dat.isset');
unlink(''.__DIR__.'/po.dat.empty');

}

}


echo '<form action="" method="POST">
<div class="menu bd text-center"><p>Language: <select name="lang">';

foreach(glob("".__DIR__."/*.mo") as $path) {echo '<option value="'.$path.'">'.pathinfo($path,PATHINFO_FILENAME).'</option>';}

echo '</select></p>';

$txt='';
function stext($dir, $ext) {
$globFiles = glob("$dir".DIRECTORY_SEPARATOR."*.$ext");
$globDirs = glob("$dir/*", GLOB_ONLYDIR);
foreach ($globDirs as $dir) {stext($dir, $ext);}

foreach ($globFiles as $file=>$path) {
    if($path!=__FILE__){
$txt.=(str_replace(' ','',file_get_contents($path,FILE_USE_INCLUDE_PATH)));
    }

}

preg_match_all('/load_theme_textdomain\((\'|\")(.+?)(\'|\")/',$txt,$gtextdomain);
$td='';
foreach($gtextdomain[2] as $text){

    if(!empty($text)){
    $td.='<option value="'.$text.'">'.$text.'</option>';
    }


}

write_txt(__DIR__.'/textdomain.dat',$td,'a+');
}
stext(get_template_directory(),'php');

$textdomain=file_get_contents(__DIR__.'/textdomain.dat');
if(empty($textdomain)){echo '<div class="error">Not found textdomain [ <b>load_theme_textdomain ("you-textdomain","path_to_language_folder");</b> ]</div>';}else{
echo '<p>Textdomain: <select name="textdomain">'.$textdomain.'</select></p>';
}

echo '<p>
<input type="submit" value="Create new.po file"/>
</p>
</div>
</form>';

unlink(__DIR__.'/textdomain.dat');

}

echo '</div>';

get_footer(); 
  1. টু গো youdomain / WP- বিষয়বস্তু / থিম / MY_THEME / languages এ / po.php এবং .po ফাইল তৈরি
  2. ডাব্লুপিপি-বিষয়বস্তু / থিম / এমওয়াইথেম / ভাষা / [ল্যাঙ্গ] .পি ডেস্কটপে অনুলিপি করুন এবং পোয়েডিট দিয়ে খুলুন -> এমও কমাইল করুন -> অনুলিপি করুন [ল্যাং] .মু ভাষা ফোল্ডারে যান

প্রতিধ্বনি __ হিসাবে ব্যবহার করুন ('এই পাঠ্য', 'আপনি-পাঠ্য-ডোমেন');


-1

এই পোস্টটি ব্যবহার করে দেখুন: পোয়েডিট ব্যবহার করে একটি পট বা .po ফাইল তৈরি করুন । এটি ওয়ার্কফ্লো বর্ণনা করে এবং সূচিত করে। Po এবং .pot ফাইলগুলি একই।

ডিফল্টরূপে পোয়েডিট আপনার ফাইলটিকে একটি .po ফাইল হিসাবে সংরক্ষণ করে তবে দুটি ফাইল সমান হওয়ায় আপনি .po ফাইলটিকে একটি .pot ফাইল হিসাবে সংরক্ষণ করে কেবল তার কাছাকাছি যেতে পারেন


এটি ওয়ার্ডপ্রেস এবং অনুবাদ ব্যবস্থায় নির্দিষ্ট পরিবর্তনগুলির জন্য কাজ করে না। এটি সেরা অসম্পূর্ণ।
অটো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.