ダウンロードオンラインギャラリー

翻訳ガイド

はじめに

Sweet Home 3Dでまだサポートされていない外国語を話し、その言語への翻訳に貢献したいとお考えですか?バージョン2.3から、Sweet Home 3DはSH3Lファイルをサポートしており、このガイドではそのようなファイルを自分で作成する方法を学習できます。SH3Lファイルは自動インストール可能な言語ファイルで、ユーザーはSH3LファイルをダブルクリックするだけでSweet Home 3Dをそのファイルに記述された言語に翻訳できます。

基本的な手順

SH3Lファイルの作成は以下の手順で構成されます:

  1. 翻訳する英語版ファイルをダウンロードし、
  2. ダウンロードしたファイルを解凍し、
  3. 含まれている.propertiesファイルにお使いの言語に対応する2文字のサフィックスを追加し、
  4. .propertiesファイル内のテキストを翻訳し、
  5. ASCII エンコーディングに変換し、
  6. .htmlファイル内のヘルプテキストを翻訳し(必須ではありませんが、ユーザーにとって非常に有用です)、
  7. .propertiesファイルとヘルプファイルをSH3L拡張子のファイルに圧縮し、
  8. SH3LファイルをダブルクリックしてSweet Home 3Dで翻訳をテストし、
  9. SH3Lファイルを配布します。

詳細な手順

前述の基本的な手順に不安がない場合は、次のステップに進んでください。

英語版の取得

https://www.sweethome3d.com/SweetHome3DTranslation.zip(バージョン7.5)のアーカイブをダウンロードし、システムのツールで解凍してください。
SweetHome3DTranslation.zipには、図1に示すようにサブフォルダに配置された.propertiesおよび.html拡張子のファイルセットが含まれています。

翻訳ファイル
図1. 翻訳ファイル

すべての.propertiesおよび.htmlファイルには、お使いの言語に翻訳する必要があるテキストの英語版が含まれています:

.propertiesファイルは図1に示すフォルダに配置する必要があります。そうでなければSweet Home 3Dは正しく使用できません。したがって、ファイルをフォルダから移動したり、フォルダの名前を変更したり(helpenサブディレクトリを除く)、フォルダを削除したりしないでください。

言語に応じたファイル名の変更

.propertiesファイルを翻訳する前に、各ファイル名にアンダースコアとお使いの言語に対応する2文字のISOコードを追加して名前を変更する必要があります。このコードは、文書https://www.loc.gov/standards/iso639-2/php/English_list.phpの最後の列で確認できます。
次に、ヘルプファイルを翻訳する場合は、helpenサブディレクトリもその2文字コードで名前を変更する必要があります。
例えば、チェコ語のISOコードはcsです。Sweet Home 3Dをチェコ語に翻訳する場合、各ファイル名に_csのサフィックスを付け、図2に示すようにファイル名を変更する必要があります。

翻訳ガイド
図2. ISOコードサフィックス付きのプロパティファイル

プロパティファイルの翻訳

.propertiesファイルはプレーンテキストファイルで、WordpadTextEditemacsなどの任意のテキストエディタで編集できます。例えば、Sweet Home 3D 3.0のcom/eteks/sweethome3d/package.propertiesファイルには以下のテキストが含まれています:

# package.properties 10 oct. 2007
# 
# Copyright (c) 2024 Space Mushrooms <[email protected]>. All Rights Reserved.
# 
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# 
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  詳細については、GNU General Public License
# をご覧ください。
# 
# このプログラムと共にGNU General Public Licenseのコピーを受け取っているはずです。
# 受け取っていない場合は、Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USAまでお書きください

# HomeFramePaneクラスのリソース
HomeFramePane.untitled=無題


# MacOSXConfigurationクラスのリソース
MacOSXConfiguration.WINDOW_MENU.Name=ウィンドウ
MacOSXConfiguration.MINIMIZE.Name=最小化
MacOSXConfiguration.ZOOM.Name=ズーム
MacOSXConfiguration.BRING_ALL_TO_FRONT.Name=すべてを前面に移動


# SweetHome3Dクラスのリソース
SweetHome3D.3DError.message=<html> 致命的なエラーのため、Sweet Home 3Dを終了します
    <br>3Dレンダリングシステムで。コンピュータのグラフィックカードの
    <br>DirectX/OpenGLドライバを更新してください。 
SweetHome3D.3DError.title=3Dエラー
    
SweetHome3D.confirmSaveAfter3DError.message=<html> 致命的なエラーのため、Sweet Home 3Dを終了する必要があります
    <br>3Dレンダリングシステムで。変更されたすべてのホームを保存しますか? 
SweetHome3D.confirmSaveAfter3DError.title=3Dエラー
SweetHome3D.confirmSaveAfter3DError.save=保存
SweetHome3D.confirmSaveAfter3DError.doNotSave=保存しない

.propertiesファイルには3種類の行が含まれています:

特殊なケース:

プロパティファイルのASCIIエンコーディングへの変換

ISO-8859-1エンコーディングに属さない文字を含む言語(主に中央・東欧の言語や非ラテン文字の言語)にテキストを翻訳した場合、すべての.propertiesファイルをSweet Home 3DでサポートされているASCIIエンコーディングに変換する必要があります。この変換は、JDKで提供されるnative2asciiツールで実行するか、次のフォームで実行できます。
.propertiesファイルについて、そのファイルのバックアップを作成し、変換するテキストを次のテキストエリアにコピー/ペーストし、変換ボタンをクリックして、変換されたテキストを.propertiesファイルにコピー/ペーストしてください。

変換ツールは、各非ASCII文字(アクセント付きラテン文字および非ラテン文字)を\uで始まり、Unicodeでその文字に対応する4桁の16進数コードが続くシーケンスに置き換えます。残念ながら、この変換によりテキストは人間にとってかなり読みにくくなりますが、これを実行しないとSweet Home 3Dは翻訳の文字を正しく表示できません。これが、後で変更したい場合に備えて元の.propertiesファイルのバックアップを作成する必要がある理由です。
ASCIIに変換された.propertiesファイルを直接編集したい場合は、こちらでJar実行可能ファイルとして利用可能なProperties Editorアプリケーションも使用できます。

ヘルプファイルの翻訳

Sweet Home 3Dの優れた翻訳には、ヘルプファイルの翻訳も含める必要があります。すべての.htmlファイルの翻訳は長い作業ですが、ユーザーがソフトウェアを学習し、Sweet Home 3Dフォーラムでのサポート要求を避けるのに本当に役立ちます。これらのファイルを翻訳するには任意のHTMLエディタを使用し、含まれるリンクとスタイルシートを変更しないようにしてください。
翻訳が完了したら、com/eteks/sweethome3d/viewcontroller/resources/help/en/imagesにある画像を置き換えるために、お使いの言語でダイアログボックスのスクリーンキャプチャも作成する必要があります。そのようなスクリーンキャプチャを作成できるようにするには、次の手順で最初のSH3Lファイルを作成してテストしてください(翻訳された.propertiesファイルを含むSH3Lファイルが存在すれば、Sweet Home 3Dの開発者にスクリーンキャプチャの生成を依頼することもできます)。

SH3Lファイルの作成

すべての.propertiesおよび.htmlファイルが翻訳され、必要に応じてASCIIに変換されたら(またはこの手順をテストしたい場合はその前でも)、それらをファイルに圧縮する必要があります。システムによって、zipファイルの作成は次の手順で実行できます:

最後に、zipファイルの.zip拡張子を.sh3lに変更します。SH3Lファイルは任意の名前を付けることができますが、既存のSH3Lファイルとの競合を避けるため、含まれる言語と翻訳したSweet Home 3Dのバージョンから名前を付ける必要があります(例えば、French-4.1.sh3lはSweet Home 3D 4.1のフランス語翻訳の良い名前になります)。

SH3Lファイルのテスト

翻訳をテストするには、SH3Lファイルをダブルクリックするか、設定ペインの上部に表示される言語ライブラリファイルをインポートボタンで選択します。これによりSweet Home 3Dが起動し、ユーザーインターフェースがSH3Lファイルに記述された言語に翻訳されます。また、システムに応じてSH3Lファイルがフォルダにコピーされます:

また、SH3Lファイルの開発中は、SH3Lファイルの変更を確認するためにSweet Home 3Dを再起動する必要がある場合があることにご注意ください。

SH3Lファイルの配布

SH3Lファイルの準備が整いましたら、どなたにでも提供することができ、外国語専用フォーラムや他の場所でSweet Home 3Dユーザーに告知することができます。ご同意いただける場合は、Sweet Home 3Dがサポートする翻訳に関するページで、このウェブサイトで公開することができます。

SH3Lファイルの更新

Sweet Home 3Dの一部のリリースでは、翻訳が必要な新機能が追加されますが、そうでないものもあります。これらの新機能に対応するユーザーインターフェースのラベルを翻訳しない場合、Sweet Home 3Dは動作しますが、新しいラベルはすべて英語で表示されます。.propertiesファイルの新しいキーと更新されたキーを見つけるには、SourceForge.netが提供するプロジェクトファイルの2つのバージョンを比較する機能を使用できます:

  1. 履歴で比較したいSweet Home 3Dのバージョンの日付を検索します(例:バージョン5.0は2015年7月19日、バージョン4.6は2015年2月2日)
  2. 図1で、更新したい.propertiesまたは.htmlファイルをクリックします。
  3. 更新するファイルのバージョン日付に一致するリビジョン番号の2つのチェックボックスを選択します。Sweet Home 3Dのバージョン日付の直前の日付を選んでください。
  4. 比較ボタンをクリックします。

最後のクリックで、その.propertiesファイルの2つのバージョン間の違いが表示されます(例えば、このリンクでは、com/eteks/sweethome3d/viewcontroller/package.propertiesファイルのバージョン4.6とバージョン5.0の違いが表示されます)。

差分を見つけたら、必要に応じて新しいキー名を追加して翻訳を更新し、翻訳の新しいバージョンをリリースしてください。