WPのローカライゼーション

2008/2/7 木13:18:14 | WordPress | コメント(0) | トラックバック

Wordpress 2.2以降は、 /wp-config.php のdefine(“WPLANG”, “ja”);がデフォルトになった。このため、日本語ローカライズ用のファイルは XXXXX-ja.moとする必要がある。 /wp-contents/languages/の中には、ja.po とja.moがあるが、これがWordpress MEの日本語版用のローカライズリソースになっている。
ローカライズはUTF-8のみのサポートになっているので、XXXX-ja.poファイルもUTF-8 (UTF8N)で作成する必要がある。

また、プラグインを/wp-content/plugins/ディレクトリー直下でなくこの中に作成したディレクトリー中に設置する場合にはローカライズファイルを読み込むコードを以下のようにする必要がある。

プラグイン sample.phpもローカライズファイル sample-ja.poとsample-ja.moが/wp-content/plugins直下にある場合

load_plugin_textdomain(‘sample’);

で良いが、/wp/content/plugins/sample/ の下に全てある場合には

load_plugin_textdomain(‘sample’, PLUGINDIR . “/sample”);

もしくは ABSPATH . PLUGINDIR . “/sample” かも….
のようにする必要がある

また、コード中のローカライズする部分には、__ もしきは _eを使用する

$localized_str = __(‘Hellow World’, ‘sample’);

_e(‘Hello World’, ‘sample’) は echo __(‘Hello World’, ‘sample’) と同じこと。
つまりローカライズしたものをecho出力する場合に使える。

セッションIDとセキュリティについて

2008/2/6 水13:15:03 | PHP | コメント(0) | トラックバック

session_regenerate_id()を使ってセッションIDを変更するのがセキュリティの為に良いということだったか、これをすると登録ページで前後のページに移動の際に元のページで保存したセッション変数がうまくちゃんと効かなくなっていたようなのでやめた。
また、session_cache_limiter(‘private_noexpire’);だと前後ページに移動した場合、ブラウザーがキャッシュを使って表示してしまうので、変更されたセッション変数に基づいて表示がされないので、session_cache_limiter(‘nocache’);にしてキャッシュを常にExpireさせるようにしないとうまくいかないことが判明。
session_cache_limiter(‘nocache’); は/inc/phptop.incでstart_session()の直前に呼び出している。

セッションの有効期限について

2008/2/5 火13:14:21 | PHP | コメント(0) | トラックバック

/inc/phptop.incにおいて、ini_set()を使って以下のPHPの環境設定を変更している。これらの値はセッションの有効期限とPHPが期限切れのセッション関連の情報をGC(ガベージコレクション)する時の動作を指定する。
現在はセッションの有効期限は2時間(3600sec)にしている。

Whale Watching

2008/2/4 月14:47:05 | 未分類 | コメント(0) | トラックバック

Whale WatchingDuring the winter, along the coast line of west coast, you can see the whale near by the coast. Whales are moving from Alaska to Baja California for their migration. They moves more than 6000 miles for this every year.



Whale watching 2クジラを見ることが必ず出来るという保証はないにしても90%以上の確率で最低でも1頭はクジラを見ることができ、しかも半日弱のツアーで$25程度とリーズナブルなため、この時期のアトラクションとしてはとてもポピュラーなものになっている。
ただ、船酔いしやすい人は風が強い日などは要注意である。それほど沖に出ないとはいっても小型船でのツアーになるので、ある程度揺れることは覚悟しておいた方がよいだろう。


Zenphotopress

2008/2/2 土17:32:56 | 未分類 | コメント(0) | トラックバック

DSC00839

プログラムコードの表示

2008/2/1 金16:55:30 | PHP | コメント(0) | トラックバック

これは、wordpressのテンプレート用style.cssの初めの部分です。

< ?php get_header(); ?>
<!--index.php-->
<div id="container">

	<div id="main">
	<div id="main_inner">

	< ?php if (have_posts()) : ?>

		<!--loop start-->
		< ?php while (have_posts()) : the_post(); ?>			

			<div id="article">

				<!--post title-->
				<div id="article_title">
				<h1><span></span>
				< ?php the_title(); ?>
				</h1>
				</div><!--end of div#article_title-->

			</div><!--end of div#article-->
			
	    <!--end of one post-->
		< ?php endwhile; ?>

		<!--pagenavi-->
		< ?php pagenavi_multiple(); ?>
		
		<!--index.php end-->

	<div id="sidebar">
	<div id="sidebar_inner">
	< ?php get_sidebar(); ?>
	</div><!--end of div#sidebar_inner-->
	</div><!--end of div#sidebar-->

</div><!--end of div#container-->

< ?php get_footer(); ?>
</div></div>

これは次のサンプルです。

CodePress.languages = {
    csharp : 'C#',
    css : 'CSS',
    generic : 'Generic',
    html : 'HTML',
    java : 'Java',
    javascript : 'JavaScript',
    perl : 'Perl',
    ruby : 'Ruby',
    php : 'PHP',
    text : 'Text',
    sql : 'SQL',     vbscript : 'VBScript'
}
CodePress.run = function() {
    s = document.getElementsByTagName('script');
    for(var i=0,n=s.length;i<n ;i++) {
        if(s[i].src.match('codepress.js')) {
            CodePress.path = s[i].src.replace('codepress.js','');
        }     }
    t = document.getElementsByTagName('textarea');
    for(var i=0,n=t.length;i<n;i++) {
        if(t[i].className.match('codepress')) {
            id = t[i].id;
            t[i].id = id+'_cp';
            eval(id+' = new CodePress(t[i])');             t[i].parentNode.insertBefore(eval(id), t[i]);
        }
    }
}

これはHTMLのサンプルです。

< !DOCTYPE HTML
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!-- hajime002 -->

<html lang="ja">
<head>
<meta http-equiv="adalign" content="right"> 
</meta><meta http-equiv="adimage" content="200"> 
</meta><meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</meta><meta name="description" content="売れない、人が来ないホームページにならない為の、インターネットの知識とブログネタ">
</meta><meta name="keywords" content=",">

<link rel="stylesheet" type="text/css" href="http://e0166.blog89.fc2.com/template/netatyo/style.css" media="screen,tv" title="デフォルト" charset="EUC-JP">

</link><link rel="alternate" type="application/rss+xml" href="http://e0166.blog89.fc2.com/?xml" title="RSS">
</link><link rel="top" href="http://e0166.blog89.fc2.com/" title="トップ">
</link><link rel="start" href="http://e0166.blog89.fc2.com/" title="最初の記事">
</link><link rel="next" href="http://e0166.blog89.fc2.com/blog-entry-161.html" title="Ajaxで無ければ表現できないサイトを作りたかった『BnetJapan』"></link><link rel="prev" href="http://e0166.blog89.fc2.com/blog-entry-141.html" title="素人とチャットでデートとか出来る2ショットチャットの裏話">
</link></meta></head>

<body>
<!--アクセス解析タグ ここから-->
<script language="JavaScript" src="http://analyzer2.fc2.com/analyzer.js?uid=882109"></script><noscript><div align="right"><a href="http://analyzer.fc2.com/" target="_blank">アクセス解析</a></div></noscript>
<!--アクセス解析タグ ここまで-->

<!--
///【container】はサイト全体を包含するブロック▼▼▼
-->
<div id="container"><!-- container -->

<table align="center" style="margin:0px auto;"><tr><td><p>売れない、人が来ないホームページにならない為の、インターネットの知識とブログネタ</p></td></tr>
<tr><td height="30" bgcolor="#CC3300"width="900px"><script type="text/javascript"><!--
google_ad_client = "pub-4263462852094803";
//728x15, 作成済み 08/01/27
google_ad_slot = "7034912770";
google_ad_width = 728;
google_ad_height = 15;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td></tr></table>

<!-- 記事タイトル部分 -->
<h2 class="entry-header"><a href="http://e0166.blog89.fc2.com/blog-entry-159.html" title="PHPで動いている高度なオープンソースWebアプリケーション厳選15本まとめ"><font color="#333333">PHPで動いている高度なオープンソースWebアプリケーション厳選15本まとめ</font></a></h2>

<script type="text/javascript"><!--
google_ad_client = "pub-4263462852094803";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-07-10: netatyou_blog_head
google_ad_channel = "3711705843";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0099CC";
google_color_text = "000000";
google_color_url = "000000";
google_ui_features = "rc:0";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

<!-- 記事本文部分 -->
<div class="entry-body">
</div></div></body></html>

お米のスパゲッティ

2008/1/31 木17:06:21 | グルメ | コメント(0) | トラックバック

これはお米のパスタでしゅ

Rice Pasta

これも同じでしゅ
大きい写真でしゅよ。

この上は1行空行があるでしゅよ。

Rice Pasta
デュラムセモリナでお願いしましゅ
では

shadedborderのテスト

2008/1/28 月17:19:48 | 未分類 | コメント(3) | トラックバック

これはshadedborderのテストです


DSC00781

これはshadedborderのテストです


Self Checkout 体験

2008/1/23 水3:57:11 | 未分類 | コメント(0) | トラックバック

Self Checkout Machine
Self Checkout Machine

load_plugin_textdomain(’currency’, ABSPATH . PLUGINDIR . “/currency”);
これで/wp-content/plugins直下ではなく、plugins/currency ディレクトリーにローカライズファイル.moを設置してもちゃんとロードしてくれるようになる。

自分でチェックアウトするでしゅよ。

Welcome to WordPress

2007/12/30 日16:43:54 | 未分類 | コメント(1) | トラックバック

WordPress の世界へようこそ。
このテスト用の投稿は、インストールが問題なく終了したことを意味しています。早速この内容を編集、もしくは削除してあなた自身のブログを始めてください。