翻訳の手引き 〜Strutsドキュメントローカル ルール〜 (案)
2002年3月18日 作成
2002年5月20日 改定

ここでは、Strutsドキュメントを翻訳する際の固有のルールを示します。
なお、ここに示した以外のルールについては、「JaJakarta Project 翻訳の手引き」に準じます。

共通事項
XML文書の翻訳
  1. 任意の文字コードで記述可能ですが、Shift-JISを推奨とします。その際、encoding指定を忘れずに追加してください。改行は DOSタイプ(CR+LF) を推奨します。
  2. 翻訳者名を<translator>タグを使って、追加してください。
  3. 原文と同じタグを用いて、訳文を追加してください。その際、原文の下に、対応する訳文を追加してください。
  4. ある程度まとまったブロック(例えば<p>,<table>タグの範囲)ごとに訳を追加してください。特に一行一行に対応して訳文を追加しなくても結構です。
  5. 原文の<section>タグは空要素で閉じ、新たに訳文の<section>タグを追加してください。
  6. 翻訳が終了したら、タグの不整合などがない、妥当なXML文書であることを確認してください。(例えば、InternetExploereで表示することにより確認できます)
  7. 確認が済んだら、メーリングリストに翻訳をしたXML文書を投稿してください。
XML文書翻訳の例
<?xml version="1.0" encoding="Shift_JIS"?>   ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・1
<document url="./index.xml">

<properties>
<author>Craig R. McClanahan</author>
<author>Ted Husted</author>
<author>Martin Cooper</author>
<title>The Struts Framework Project</title>
<translator>素取 楽徒</translator>         ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・2
</properties>

<body>

<section name="Welcome to Struts 1.0.2" href="Welcome"> ・・・・・・・・・・・・・・・・・・・・5
</section>
<section name="ようこそStruts 1.0.2へ" href="Welcome">


<p>Welcome to the Struts Framework! The goal of this project
is to provide an open source framework useful in building web applications
with Java <a href="http://java.sun.com/products/servlet">Servlet</a> and
<a href="http://java.sun.com/products/jsp">JavaServer Pages</a> (JSP)
technology. Struts encourages application architectures based on the
Model-View-Controller (MVC) design paradigm, colloquially known as
<i>Model 2</i> in discussions on various servlet and JSP related
mailing lists.</p>

<p>Strutsフレームワークへようこそ! このプロジェクトのゴールは、  ・・・・・・・・・・・・・・・・3
Java <a href="http://java.sun.com/products/servlet">Servlet</a>や
<a href="http://java.sun.com/products/jsp">JavaServer Pages</a> (JSP)の技術を用いて
Webアプリケーションを構築する上で有用な、オープンソースフレームワークを提供することです。
Strutsは、さまざまなServletやJSPに関するメーリングリストで議論されている、
<i>Model 2</i>と呼ばれるモデル-ビュー-コントローラ(MVC)
デザインパラダイムをベースとしたアプリケーションアーキテクチャを採用しています。</p>


オプション(テスト運用機能)

翻訳の際、原文を<primary>タグを使って囲むことにより、校正時に原文の色を変えることができ、作業がし易くなります。また、これにより校正完了時に原文を消す必要がなくなります。
もちろん、このタグを使わずにそのまま原文を残してもOKです。作業のし易い方法を選択してください。

XML文書翻訳の例 〜<primary>タグ利用〜
<body>

<primary>
<section name="Welcome to Struts 1.0.2" href="Welcome">
</section>
</primary>
<section name="ようこそStruts 1.0.2へ" href="Welcome">

<primary>
<p>Welcome to the Struts Framework! The goal of this project
is to provide an open source framework useful in building web applications
with Java <a href="http://java.sun.com/products/servlet">Servlet</a> and
<a href="http://java.sun.com/products/jsp">JavaServer Pages</a> (JSP)
technology. Struts encourages application architectures based on the
Model-View-Controller (MVC) design paradigm, colloquially known as
<i>Model 2</i> in discussions on various servlet and JSP related
mailing lists.</p>
</primary>

<p>Strutsフレームワークへようこそ! このプロジェクトのゴールは、
Java <a href="http://java.sun.com/products/servlet">Servlet</a>や
<a href="http://java.sun.com/products/jsp">JavaServer Pages</a> (JSP)の技術を用いて
Webアプリケーションを構築する上で有用な、オープンソースフレームワークを提供することです。
Strutsは、さまざまなServletやJSPに関するメーリングリストで議論されている、
<i>Model 2</i>と呼ばれるモデル-ビュー-コントローラ(MVC)
デザインパラダイムをベースとしたアプリケーションアーキテクチャを採用しています。</p>
JavaDocの翻訳
  1. 任意の文字コードで記述可能ですが、Shift-JISを推奨とします。改行は DOSタイプ(CR+LF) を推奨します。
  2. 対象となるソースコード(xxx.java)からコメント、クラスやメソッドの宣言文のみを残しコードの本体は削除し、これに対して翻訳を行なってください。
    (当初、「翻訳の為にソースコードの内容をそのまま残すのはファイルサイズが大きくなる」との考えから削除を考えましたが、翻訳作業者の手間がかかりますので、削除しなくてよいこととします)
  3. 翻訳作業のスタイルは自由に行って頂いて結構ですが、「翻訳途中結果の閲覧のし易さ、最終校正のし易さ」を考えた手順例を下記に示します。
  4. 翻訳が終了したら、翻訳結果から正しくJavaDocが生成できることを確認してください。(自分の環境でjavadocコマンドを使うなどして確認してください)
  5. 確認が完了したら、翻訳されたソースコードをメーリングリストに投稿してください。javadocによって生成されたHTMLファイルの添付は、必須ではありませんが出来れば添付してください。(チェックがし易いので)

※懸案事項:翻訳者名を入れる方法がない。。

Javaソースの翻訳例
/*
* $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java,v 1.14.2.7 2001/11/21 13:30:38 husted Exp $
* $Revision: 1.14.2.7 $
* $Date: 2001/11/21 13:30:38 $
*
* ====================================================================
*
* The Apache Software License, Version 1.1
*
* Copyright (c) 1999-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowlegement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowlegement may appear in the software itself,
* if and wherever such third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project", "Struts", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
*/


package org.apache.struts.util;


import java.lang.reflect.InvocationTargetException;
import java.net.MalformedURLException;
 ・
 ・
import org.apache.struts.taglib.html.Constants;
import org.apache.struts.upload.FormFile;
import org.apache.struts.upload.MultipartRequestHandler;


/**
* General purpose utility methods related to processing a servlet request
* in the Struts controller framework.
*
* @author Craig R. McClanahan
* @version $Revision: 1.14.2.7 $ $Date: 2001/11/21 13:30:38 $
*/

public class RequestUtils {


// ------------------------------------------------------- Static Variables


/**
* サーバのデフォルトロケール
* <BR>
* The default Locale for our server.


*/
private static final Locale defaultLocale = Locale.getDefault();


/**
* このパッケージに対するメッセージリソース
* <BR>
* The message resources for this package.


*/
private static MessageResources messages =
MessageResources.getMessageResources
("org.apache.struts.util.LocalStrings");



// --------------------------------------------------------- Public Methods

 ・
 ・

/**
* 指定されたロケールに関して、指定されたキーに対するメッセージが存在すれば、trueを返します。
* <BR>
* Return true if a message string for the specified message key
* is present for the specified Locale.
*
* @param pageContext このリクエストに結びついているPageContext
* @param pageContext The PageContext associated with this request
* @param bundle メッセージリソースバンドルに対する、サーブレットコンテキスト内での属性名
* @param bundle Name of the servlet context attribute for our
* message resources bundle

 ・
 ・
*
* @exception JspException if a lookup error occurs (will have been
* saved in the request already)
* @exception JspException lookupエラーが発生した場合(既にリクエストに保存されているであろう場合)

*/
public static boolean present(PageContext pageContext, String bundle,
String locale, String key)
throws JspException {
 ・
 ・

return (resources.isPresent(userLocale, key));

}


翻訳につてのワンポイント