added Japanese translation files.

This commit is contained in:
takagi
2007-04-21 12:13:34 +00:00
parent 22428e98d0
commit d6d2da10f5
181 changed files with 19695 additions and 0 deletions

View File

@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.8 Maintainer: takagi Status: ready -->
<!-- CREDITS: mat-sh,daichi,joe -->
<sect1 id="language.escaping">
<title>Smarty の構文解析を回避する</title>
<para>
時々、Smarty の構文解析の対象にしたくないと望む、
もしくはそうする必要がある部分があります。 典型的な例としては、
テンプレートに Javascript や CSS コードが含まれるときです。
それらの言語が Smarty のデフォルトの
<link linkend="language.function.ldelim">デリミタ</link>
である { と } を使用するときに問題が発生します。
</para>
<para>
もっとも単純な解決方法は、Javascript と CSS コードをそれぞれファイルに切り分け、
それらにアクセスするために標準的な HTML の機能を使用する事で状況を回避する事です。
</para>
<para>
リテラルコンテンツを含めるには <link
linkend="language.function.literal">
<varname>{literal}..{/literal}</varname></link> ブロックを使用します。
HTML エンティティの使用法と同様に、 <link
linkend="language.function.ldelim"><varname>{ldelim}</varname></link><link
linkend="language.function.ldelim"><varname>{rdelim}</varname></link> あるいは <link
linkend="language.variables.smarty.ldelim">
<varname>{$smarty.ldelim}</varname></link> を使用して現在のデリミタを表示することができます。
</para>
<para>
単純に Smarty の <link
linkend="variable.left.delimiter">
<parameter>$left_delimiter</parameter></link> および
<link linkend="variable.right.delimiter">
<parameter>$right_delimiter</parameter></link>
を変更するだけでも便利になることが多々あります。
</para>
<example>
<title>デリミタを変更する例</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->left_delimiter = '<!--{';
$smarty->right_delimiter = '}-->';
$smarty->assign('foo', 'bar');
$smarty->assign('name', 'Albert');
$smarty->display('example.tpl');
?>
]]>
</programlisting>
<para>
テンプレートはこのようになります。
</para>
<programlisting>
<![CDATA[
Welcome <!--{$name}--> to Smarty
<script language="javascript">
var foo = <!--{$foo}-->;
function dosomething() {
alert("foo is " + foo);
}
dosomething();
</script>
]]>
</programlisting>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.5 Maintainer: takagi Status: ready -->
<!-- CREDITS: mat-sh,daichi,joe -->
<sect1 id="language.math">
<title>演算子</title>
<para>
演算子は、変数の値に直接適用されます。
</para>
<example>
<title>演算子の例</title>
<programlisting>
<![CDATA[
{$foo+1}
{$foo*$bar}
{* もう少し複雑な例 *}
{$foo->bar-$bar[1]*$baz->foo->bar()-3*7}
{if ($foo+$bar.test%$baz*134232+10+$b+10)}
{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"}
{assign var="foo" value="`$foo+$bar`"}
]]>
</programlisting>
</example>
<para>
複雑な数式については <link linkend="language.function.math">
<varname>{math}</varname></link> 関数、そして
<link linkend="language.function.eval"><varname>{eval}</varname></link>
も参照してください。
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.7 Maintainer: takagi Status: ready -->
<!-- CREDITS: mat-sh,daichi,joe -->
<sect1 id="language.syntax.attributes">
<title>属性</title>
<para>
ほとんどの <link linkend="language.syntax.functions">関数</link> には、
それらの動作を指定したり修正するための属性があります。Smarty 関数の属性は
HTML の属性にかなり近いものです。静的な値はクォートで囲む必要はありませんが、
リテラル文字列であるべきです。変数を使う場合はクォートで囲んではいけません。
</para>
<para>
いくつかの属性は、boolean 値 (&true; あるいは &false;) を必要とします。
これらの値は、クォートなしの <literal>true</literal>
<literal>on</literal><literal>yes</literal> あるいは
<literal>false</literal><literal>off</literal>
<literal>no</literal> を指定する事が出来ます。
</para>
<example>
<title>関数の属性の構文</title>
<programlisting>
<![CDATA[
{include file='header.tpl'}
{include file='header.tpl' attrib_name='attrib value'}
{include file=$includeFile}
{include file=#includeFile# title='イケてる Smarty'}
{html_select_date display_days=yes}
{mailto address='smarty@example.com'}
<select name='company_id'>
{html_options options=$companies selected=$company_id}
</select>
]]>
</programlisting>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.14 Maintainer: takagi Status: ready -->
<!-- CREDITS: mat-sh,daichi,joe -->
<sect1 id="language.syntax.comments">
<title>コメント</title>
<para>
テンプレートのコメントはまずアスタリスクで囲まれ、次にそれを
<link linkend="variable.left.delimiter">デリミタ</link>
タグで囲みます。このような形式になります。
</para>
<informalexample>
<programlisting>
<![CDATA[
{* これはコメントです *}
]]>
</programlisting>
</informalexample>
<para>
Smarty のコメントは、テンプレートの最終的な出力には表示されません。この点は
<literal>&lt;!-- HTML のコメント --&gt;</literal> とは異なります。
これは、テンプレート内での内部的なメモとして使用するのに便利です。
誰にもバレません ;-)
</para>
<example>
<title>テンプレート内のコメント</title>
<programlisting>
<![CDATA[
{* これは Smarty コメントです。コンパイルされた結果には登場しません。 *}
<html>
<head>
<title>{$title}</title>
</head>
<body>
{* 別の Smarty コメント *}
<!-- HTML コメント。これはブラウザに送信されます -->
{* この、複数行の
Smarty コメントは
ブラウザへは送信されません
*}
{*********************************************************
クレジットブロックを含む複数行のコメント
@ author: bg@example.com
@ maintainer: support@example.com
@ para: var that sets block style
@ css: the style output
**********************************************************}
{* メインロゴなどを含むヘッダファイル *}
{include file='header.tpl'}
{* 開発メモ: 変数 $includeFile の値は foo.php で設定されています *}
<!-- 本体コンテンツブロックを表示します -->
{include file=$includeFile}
{* この <select> ブロックは余分 *}
{*
<select name="company">
{html_options options=$vals selected=$selected_id}
</select>
*}
<!-- アフィリエイトのヘッダは無効にします -->
{* $affiliate|upper *}
{* コメントを入れ子にすることはできません *}
{*
<select name="company">
{* <option value="0">-- none -- </option> *}
{html_options options=$vals selected=$selected_id}
</select>
*}
{* テンプレート用の cvs タグ。以下の 36 はアメリカの通貨記号ですが、
. cvs がこれを変換してしまいます…… *}
{* &#36;Id: Exp &#36; *}
{* $Id: *}
</body>
</html>
]]>
</programlisting>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.10 Maintainer: takagi Status: ready -->
<!-- CREDITS: mat-sh,daichi,joe -->
<sect1 id="language.syntax.functions">
<title>関数</title>
<para>
すべての Smarty タグは、
<link linkend="language.variables">変数</link>
を出力するか何らかの関数を呼び出す動作をします。
関数は、
<literal>{funcname attr1='val1' attr2='val2'}</literal>
のように関数名とその
<link linkend="language.syntax.attributes">属性</link>
をデリミタで囲みます。
</para>
<example>
<title>関数の構文</title>
<programlisting>
<![CDATA[
{config_load file='colors.conf'}
{include file='header.tpl'}
{insert file='banner_ads.tpl' title='イケてる Smarty'}
{if $logged_in}
ようこそ、<font color="{#fontColor#}">{$name}!</font>
{else}
やぁ、{$name}
{/if}
{include file='footer.tpl' ad=$random_id}
]]>
</programlisting>
</example>
<itemizedlist>
<listitem><para>
<link linkend="language.builtin.functions">組み込み関数</link>
<link linkend="language.custom.functions">カスタム関数</link>
は、テンプレート内では同じ構文です。
</para></listitem>
<listitem><para>組み込み関数とは Smarty の
<emphasis role="bold">内部で</emphasis> 動作する関数で、たとえば
<link linkend="language.function.if"><varname>{if}</varname></link>
<link linkend="language.function.section"><varname>{section}</varname></link> および
<link linkend="language.function.strip"><varname>{strip}</varname></link>
などのことです。これらを変更したり修正したりすることはありません。
</para></listitem>
<listitem><para>カスタム関数は
<emphasis role="bold">追加の</emphasis> 関数で、
<link linkend="plugins">プラグイン</link> で実装します。
これらは自由に修正したり、新たな関数を追加したりする事が可能です。
<link linkend="language.function.html.options">
<varname>{html_options}</varname></link>
<link linkend="language.function.popup"><varname>{popup}</varname></link>
などがカスタム関数の例です。
</para></listitem>
</itemizedlist>
<para>
<link linkend="api.register.function"><varname>register_function()</varname></link>
も参照してください。
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.10 Maintainer: takagi Status: ready -->
<!-- CREDITS: mat-sh,daichi,joe -->
<sect1 id="language.syntax.quotes">
<title>ダブルクォート内に埋め込まれた変数</title>
<itemizedlist>
<listitem>
<para>
Smarty が "ダブルクォート" で囲まれた内容の中から <link
linkend="api.assign">割り当てられた</link>
<link linkend="language.syntax.variables">変数</link>
として認識するのは、変数名が数字・文字・_アンダースコア・[](ブラケット)
のみで構成されているもののみです。詳細は
<ulink url="&url.php-manual;language.variables">名前の付けかた</ulink>
を参照ください。
</para></listitem>
<listitem><para>
その他の文字、たとえば .(ピリオド)や
<literal>$object>reference</literal>(オブジェクト参照)を含む場合は、
その変数を <literal>`バッククォート`</literal> で囲む必要があります。
</para></listitem>
<listitem><para>
<link linkend="language.modifiers">修飾子</link> を埋め込むことはできず、
常にクォートの外で適用する必要があります。
</para></listitem>
</itemizedlist>
<example>
<title>構文の例</title>
<programlisting>
<![CDATA[
{func var="test $foo test"} <-- $foo を参照します
{func var="test $foo_bar test"} <-- $foo_bar を参照します
{func var="test $foo[0] test"} <-- $foo[0] を参照します
{func var="test $foo[bar] test"} <-- $foo[bar] を参照します
{func var="test $foo.bar test"} <-- $foo (not $foo.bar) を参照します
{func var="test `$foo.bar` test"} <-- $foo.bar を参照します
{func var="test `$foo.bar` test"|escape} <-- 修飾子はクォートの外で!
]]>
</programlisting>
</example>
<example>
<title>実用例</title>
<programlisting>
<![CDATA[
{* $tpl_name を値で置き換えます *}
{include file="subdir/$tpl_name.tpl"}
{* $tpl_name を置き換えません *}
{include file='subdir/$tpl_name.tpl'} <--
{* . を含むのでバッククォートで囲む必要があります *}
{cycle values="one,two,`$smarty.config.myval`"}
{* php スクリプトでの $module['contact'].'.tpl' と同じです
{include file="`$module.contact`.tpl"}
{* php スクリプトでの $module[$view].'.tpl' と同じです
{include file="$module.$view.tpl"}
]]>
</programlisting>
</example>
<para>
<link linkend="language.modifier.escape"><varname>escape</varname></link>
も参照してください。
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.15 Maintainer: takagi Status: ready -->
<!-- CREDITS: mat-sh,daichi,joe -->
<sect1 id="language.syntax.variables">
<title>変数</title>
<para>
テンプレート変数は、先頭にドル記号 $ を付けます。変数名には
<ulink url="&url.php-manual;language.variables">PHP の変数</ulink>
と同様に英数字およびアンダースコアが使用できます。
配列の参照には、インデックスの数値もしくはそれ以外の文字を使用できます。
オブジェクトのプロパティとメソッドの参照も同様です。</para>
<para>
<link linkend="language.config.variables">Config ファイルの変数</link>
にはドル記号を付けず、参照する際にはハッシュマーク # で囲むか、
<link linkend="language.variables.smarty.config">
<parameter>$smarty.config</parameter></link>
変数として指定します。
</para>
<example>
<title>変数</title>
<programlisting>
<![CDATA[
{$foo} <-- 単純な変数 (配列やオブジェクト以外) を表示します。
{$foo[4]} <-- 0から始まるインデックスを持った配列の5番目の要素を表示します。
{$foo.bar} <-- "bar"というキーに対応する配列の値を表示します。PHP の $foo['bar'] と同じです。
{$foo.$bar} <-- 変数のキーに対応する配列の値を表示します。PHP の PHP $foo[$bar] と同じです。
{$foo->bar} <-- オブジェクトのプロパティ "bar"を表示します。
{$foo->bar()} <-- オブジェクトのメソッド"bar"の返り値を表示します。
{#foo#} <-- configファイル変数"foo"を表示します。
{$smarty.config.foo} <-- {#foo#}と同じです。
{$foo[bar]} <-- sectionループ内でのみ正当な構文です。{section}の項を参照のこと。
{assign var=foo value='baa'}{$foo} <-- "baa"を表示します。{assign}の項を参照のこと。
その他多くの組み合わせが可能です。
{$foo.bar.baz}
{$foo.$bar.$baz}
{$foo[4].baz}
{$foo[4].$baz}
{$foo.bar.baz[4]}
{$foo->bar($baz,2,$bar)} <-- パラメータを渡します。
{"foo"} <-- 静的な値を使用できます。
{* サーバ変数 "SERVER_NAME" の内容を表示します ($_SERVER['SERVER_NAME'])*}
{$smarty.server.SERVER_NAME}
]]>
</programlisting>
</example>
<para><literal>$_GET</literal>
<literal>$_SESSION</literal> などのようなリクエスト変数は、
予約済の変数 <link linkend="language.variables.smarty">
<parameter>$smarty</parameter></link> の値で取得します。
</para>
<para>
<link linkend="language.variables.smarty">
<parameter>$smarty</parameter></link>
<link linkend="language.config.variables">config 変数</link>
<link linkend="language.function.assign"><varname>{assign}</varname></link>
および
<link linkend="api.assign"><varname>assign()</varname></link>
も参照してください。
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->