下载在线版展示厅

翻译指南

简介

您使用的外语 Sweet Home 3D 尚未支持,并且您希望为其翻译做出贡献?从 2.3 版本开始,Sweet Home 3D 支持 SH3L 文件,本指南将教您如何自行创建此类文件。SH3L 文件是一种自动安装的语言文件,用户只需双击 SH3L 文件即可将 Sweet Home 3D 翻译成该文件描述的语言。

基本说明

创建 SH3L 文件包括:

  1. downloading an English version of the files to translate,
  2. 解压缩下载的文件,
  3. 在它包含的文件中添加一个与您的语言匹配的 2 个字母的后缀.properties
  4. 翻译 .properties 文件中的文本,
  5. 将它们转换为 ASCII 编码,
  6. 翻译 .html 文件中的帮助文本(不是强制性的,但对用户来说非常有用),
  7. .properties 文件和帮助文件压缩回带有 SH3L 扩展名的文件,
  8. 双击 SH3L 文件以在 Sweet Home 3D 中测试您的翻译,
  9. 分发您的 SH3L 文件。

详细说明

如果您不害怕之前的基本说明,请继续执行以下步骤。

获取英文版本

Download the archive at https://www.sweethome3d.com/SweetHome3DTranslation.zip (version 7.5) and unzip it with the tools of your system.
SweetHome3DTranslation.zip contains a set of files with .properties and .html extensions placed in subfolders as shown in figure 1.

翻译文件
图 1. 翻译文件

所有 .properties.html 文件都包含您必须翻译成您的语言的文本的英文版本:

.properties 文件必须放置在图 1 所示的文件夹中,否则 Sweet Home 3D 将无法正确使用它们。因此,请勿将文件移出其文件夹,请勿重命名任何文件夹(enhelp 子目录除外),并且不要删除任何文件夹。

根据您的语言重命名文件

在翻译 .properties 文件之前,您应该通过在其名称中添加下划线,后跟与您的语言匹配的 2 个字符的 ISO 代码来重命名每个文件。您可以在文档 https://www.loc.gov/standards/iso639-2/php/English_list.php 的最后一列中找到此代码。
然后,如果您想翻译帮助文件,您还应该使用该 2 个字母的代码重命名 enhelp 子目录。
例如,捷克语的 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.  See the GNU General Public License for more
# details.
# 
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA

# Resources for HomeFramePane class
HomeFramePane.untitled=未命名


# Resources for MacOSXConfiguration class
MacOSXConfiguration.WINDOW_MENU.Name=窗口
MacOSXConfiguration.MINIMIZE.Name=最小化
MacOSXConfiguration.ZOOM.Name=缩放
MacOSXConfiguration.BRING_ALL_TO_FRONT.Name=全部置于前方


# Resources for SweetHome3D class
SweetHome3D.3DError.message=<html> Sweet Home 3D 将因致命错误而退出
    <br>在 3D 渲染系统中。请更新 DirectX/OpenGL 驱动程序
    <br>您的计算机显卡。 
SweetHome3D.3DError.title=3D 错误
    
SweetHome3D.confirmSaveAfter3DError.message=<html> Sweet Home 3D 必须因以下致命错误而退出
    <br>3D 渲染系统。您要保存所有修改后的住宅吗? 
SweetHome3D.confirmSaveAfter3DError.title=3D 错误
SweetHome3D.confirmSaveAfter3DError.save=保存
SweetHome3D.confirmSaveAfter3DError.doNotSave=不保存

.properties 文件包含三种类型的行:

特殊情况:

将属性文件转换为 ASCII 编码

如果您将文本翻译成包含不属于 ISO-8859-1 编码 的字母的语言(主要是中欧和东欧语言以及具有非拉丁字母的语言),您必须将所有 .properties 文件转换为 Sweet Home 3D 支持的 ASCII 编码。此转换可以使用 JDK 提供的 native2ascii 工具完成,也可以使用以下形式执行。
对于每个 .properties 文件,创建该文件的备份,将要转换的文本复制/粘贴到以下文本区域中,单击 转换 按钮,然后将转换后的文本复制/粘贴回其 .properties 文件中。

转换工具会将每个非 ASCII 字符(带重音的拉丁字母和非拉丁字母)替换为以 \u 开头,后跟一个 4 位十六进制数字代码的序列,该代码与 Unicode 中的该字符匹配。可悲的是,此转换会使您的文本对于人类来说非常难以阅读,但如果您不执行此操作,Sweet Home 3D 将无法正确显示您的翻译字符。这就是为什么您应该创建原始 .properties 文件的备份的原因,以防您以后想要更改它们。
如果您想直接编辑转换为 ASCII 的 .properties 文件,您也可以使用 Properties Editor 应用程序,该应用程序可以作为 Jar 可执行文件 here 使用。

翻译帮助文件

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 文件期间,您可能需要重新启动 Sweet Home 3D 才能查看 SH3L 文件中的更改。

分发 SH3L 文件

Once your SH3L file is ready, you can propose it to anyone, announce it to Sweet Home 3D users in the forum part reserved to foreign languages or in other places. If you agree, it can be made available on this web site in the page about translations supported by Sweet Home 3D.

更新 SH3L 文件

Sweet Home 3D 的一些版本带来了需要翻译的新功能,而另一些版本则没有。如果您不翻译与这些新功能匹配的用户界面标签,Sweet Home 3D 将可以工作,但所有新标签将以英文显示。要在 .properties 文件中查找新键和更新的键,您可以使用 SourceForge.net 提供的一项功能,该功能允许您比较项目文件的两个版本:

  1. Search the dates of Sweet Home 3D versions you want to compare in history (for example, July 19, 2015 for version 5.0 and February 2, 2015 for version 4.6)
  2. 单击 .properties.html 文件,您要更新的 图 1 中,
  3. 选择与更新文件的版本日期匹配的修订号的两个复选框,选择刚好在 Sweet Home 3D 版本日期之前的日期,
  4. 单击 比较 按钮。

最后一次单击将显示该 .properties 文件的两个版本之间的差异(例如,此 链接 将显示文件 com/eteks/sweethome3d/viewcontroller/package.properties 的 4.6 版本和 5.0 版本之间的差异)。

找到差异后,更新您的翻译,根据需要添加新的键名,并发布您的翻译的新版本。

This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.