Guía de traducción
Introducción
¿Habla un idioma extranjero que aún no es compatible con Sweet Home 3D y le gustaría contribuir a su traducción a ese idioma? A partir de la versión 2.3, Sweet Home 3D admite archivos SH3L y esta guía le enseñará a crear un archivo de este tipo por sí mismo. Un archivo SH3L es un archivo de idioma autoinstalable y los usuarios solo tienen que hacer doble clic en un archivo SH3L para traducir Sweet Home 3D al idioma descrito por ese archivo.
Instrucciones básicas
La creación de un archivo SH3L consiste en:
- downloading an English version of the files to translate,
- descomprimir el archivo descargado,
- añadir un sufijo de 2 letras que coincida con su idioma a los archivos
.propertiesque contiene, - traducir el texto de los archivos
.properties, - convertirlos a codificación ASCII,
- traducir el texto de ayuda en los archivos
.html(no es obligatorio, pero será realmente útil para los usuarios), - comprimir los archivos
.propertiesy los archivos de ayuda de nuevo en un archivo con la extensión SH3L, - hacer doble clic en el archivo SH3L para probar su traducción en Sweet Home 3D,
- distribuir su archivo SH3L.
Instrucciones detalladas
Si no le asustan las instrucciones básicas anteriores, siga adelante con los siguientes pasos.
Obtener la versión en inglés
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.

Todos los archivos .properties y .html contienen la versión en inglés de los textos que tendrá que traducir a su idioma:
- los archivos
package.propertiesdescriben las etiquetas, los menús y los elementos de menú que se muestran en la interfaz de usuario de Sweet Home 3D, - los archivos
basic.propertiesymetal.propertiesdescriben las etiquetas de los diálogos estándar, - los que terminan en
Catalog.propertiesdescriben los nombres de los muebles y las texturas disponibles en el software, - los archivos
.htmlcontienen el texto de la ayuda de Sweet Home 3D.

Los archivos .properties deben colocarse en las carpetas que se muestran en la figura 1, de lo contrario, Sweet Home 3D no podrá utilizarlos correctamente. Por lo tanto, no mueva los archivos fuera de su carpeta, no cambie el nombre de ninguna carpeta (excepto el subdirectorio en de help) y no elimine ninguna carpeta.
Cambiar el nombre de los archivos según su idioma
Antes de traducir los archivos .properties, debe cambiar el nombre de cada uno de ellos añadiendo a su nombre un guion bajo seguido del código ISO de 2 caracteres que coincida con su idioma. Encontrará este código en la última columna del documento https://www.loc.gov/standards/iso639-2/php/English_list.php.
A continuación, si desea traducir los archivos de ayuda, también debe cambiar el nombre del subdirectorio en de help con ese código de 2 letras.
Por ejemplo, el código ISO para el checo es cs. Si desea traducir Sweet Home 3D al checo, el nombre de cada archivo debe tener el sufijo _cs, y debe cambiar el nombre de los archivos como se muestra en la figura 2.

Traducir archivos de propiedades
Los archivos .properties son archivos de texto plano y puede editarlos con cualquier editor de texto como Wordpad, TextEdit o emacs. Por ejemplo, el archivo com/eteks/sweethome3d/package.properties en Sweet Home 3D 3.0 contiene el siguiente texto:
# package.properties 10 oct. 2007 # # Copyright (c) 2024 Space Mushrooms <[email protected]>. Todos los derechos reservados. # # Este programa es software libre; puede redistribuirlo y/o modificarlo bajo # los términos de la Licencia Pública General GNU publicada por la Free Software # Foundation; ya sea la versión 2 de la Licencia, o (a su elección) cualquier versión posterior # versión. # # Este programa se distribuye con la esperanza de que sea útil, pero SIN # NINGUNA GARANTÍA; ni siquiera la garantía implícita de COMERCIABILIDAD o IDONEIDAD # PARA UN PROPÓSITO PARTICULAR. Consulte la Licencia Pública General GNU para obtener más # detalles. # # Debería haber recibido una copia de la Licencia Pública General GNU junto con # este programa; si no es así, escriba a Free Software Foundation, Inc., 59 Temple # Place, Suite 330, Boston, MA 02111-1307 USA # Recursos para la clase HomeFramePane HomeFramePane.untitled=Sin título # Recursos para la clase MacOSXConfiguration MacOSXConfiguration.WINDOW_MENU.Name=Ventana MacOSXConfiguration.MINIMIZE.Name=Minimizar MacOSXConfiguration.ZOOM.Name=Zoom MacOSXConfiguration.BRING_ALL_TO_FRONT.Name=Traer todo al frente # Recursos para la clase SweetHome3D SweetHome3D.3DError.message=<html> Sweet Home 3D se cerrará ahora debido a un error fatal <br>en el sistema de renderizado 3D. Actualice los controladores DirectX/OpenGL <br>de su tarjeta gráfica. SweetHome3D.3DError.title=Error 3D SweetHome3D.confirmSaveAfter3DError.message=<html> Sweet Home 3D debe cerrarse ahora debido a un error fatal en <br>el sistema de renderizado 3D. ¿Desea guardar todas las casas modificadas? SweetHome3D.confirmSaveAfter3DError.title=Error 3D SweetHome3D.confirmSaveAfter3DError.save=Guardar SweetHome3D.confirmSaveAfter3DError.doNotSave=No guardar
Un archivo .properties contiene tres tipos de líneas:
- las líneas que comienzan con un carácter # son comentarios (se muestran en verde en el ejemplo anterior). Algunos comentarios contienen información legal, otros dan información a los desarrolladores o a los traductores. Mantenga estas líneas sin cambios.
- las líneas vacías se utilizan simplemente para separar las distintas partes de un archivo
.properties. - las otras líneas comienzan con un texto utilizado por Sweet Home 3D como clave para encontrar un texto que se muestra en la pantalla (se muestra en azul en el ejemplo anterior). Después de esta clave, cada una de estas líneas contiene un signo igual (
=) y un texto en un idioma determinado. Su trabajo comienza a partir de los signos iguales. No cambie el texto de la clave y sustituya el texto en inglés después del signo igual por su traducción.
Casos especiales:
- Los textos que comienzan con una etiqueta
<html>contienen texto en formato HTML. Estos textos contienen otras etiquetas HTML entre signos<y>, como<br>en el ejemplo anterior, que representa un retorno de carro en medio de textos largos. No elimine estas etiquetas HTML, ayudan a Sweet Home 3D a presentar correctamente algunos textos. Traducir texto entre etiquetas HTML no es muy difícil, excepto tal vez para el peor texto HTML que es el valor de la claveWallPanel.wallOrientationLabel.text. - Para evitar líneas largas en el editor de texto, algunas líneas
se dividen en dos o más líneas y luego se separan por barras invertidas
\, como la línea que comienza porSweetHome3D.3DError.messageen el ejemplo anterior. En ese caso, no elimine el signo\situado al final de una línea porque indica que la siguiente línea sigue a la línea actual. - Algunos textos contienen secuencias de caracteres especiales que comienzan
con un signo
% , como%s,%d,%1$s,%2$s… Estas secuencias de caracteres se sustituirán por un nombre de archivo, una unidad o un número cuando sea necesario, así que no las elimine.
Por ejemplo, la secuencia de caracteres%sen el texto de la siguiente claveHomeFurniturePanel.widthLabel.text:
HomeFurniturePanel.widthLabel.text=Ancho (%s):
se sustituirá por la unidad que se esté utilizando. Las dos secuencias de caracteres%1$dy%2$dque aparecen en el texto de la siguiente clavePrintPreviewPanel.pageLabel.text:
PrintPreviewPanel.pageLabel.text=Página %1$d/%2$d
aparecerán en la pantalla como un número de página y el número de páginas, y usted solo debe traducir la palabraPage. - Algunos textos también contienen la secuencia de caracteres especiales
\n, como en el siguiente ejemplo:HomeController.saveError=No se puede guardar la casa en\n"%s"
Sweet Home 3D muestra esta secuencia de caracteres como un retorno de carro para dividir una línea en la pantalla, y no debe eliminarlos. - El valor de la clave
HelpController.helpIndexindica el directorio donde se pueden encontrar los archivos de ayuda. Si traduce los archivos de ayuda .html, debe sustituir el subdirectorioenencontrado por el código de 2 letras de su idioma.
Por ejemplo, si traduce la ayuda al checo, debería ser:HelpController.helpIndex=/com/eteks/sweethome3d/viewcontroller/resources/help/cs/index.html
- Sweet Home 3D utiliza el texto de las claves que terminan en
.mnemonicpara adivinar qué letra de una etiqueta o un elemento de menú debe subrayarse para el acceso mediante el teclado. Esta letra mnemotécnica depende de la palabra mostrada y debe encontrar una única por cuadro de diálogo o menú.
Por ejemplo, los siguientes textos y mnemónicos que se muestran en el cuadro de diálogo de modificación de muebles:HomeFurniturePanel.nameLabel.text=Nombre: HomeFurniturePanel.nameLabel.mnemonic=N HomeFurniturePanel.nameVisibleCheckBox.text=Mostrar nombre en el plano HomeFurniturePanel.nameVisibleCheckBox.mnemonic=S HomeFurniturePanel.widthLabel.text=Ancho (%s): HomeFurniturePanel.widthLabel.mnemonic=W
se puede traducir al francés por:HomeFurniturePanel.nameLabel.text=Nom : HomeFurniturePanel.nameLabel.mnemonic=N HomeFurniturePanel.nameVisibleCheckBox.text=Afficher le nom dans le plan HomeFurniturePanel.nameVisibleCheckBox.mnemonic=S HomeFurniturePanel.widthLabel.text=Largeur (%s) : HomeFurniturePanel.widthLabel.mnemonic=L
- Use Sweet Home 3D or 3d models import page to help you translate the
.propertiesfiles ending byCatalog.properties.
Convertir archivos de propiedades a codificación ASCII
Si tradujo textos a un idioma con letras que no pertenecen a la codificación ISO-8859-1 (principalmente idiomas de Europa Central y del Este e idiomas con un alfabeto no latino), tendrá que convertir todos sus archivos .properties a una codificación ASCII compatible con Sweet Home 3D. Esta conversión se puede realizar con la herramienta native2ascii proporcionada con el JDK o se puede realizar con el siguiente formulario.
Para cada archivo .properties, cree una copia de seguridad de ese archivo, copie/pegue el texto que desea convertir en el siguiente área de texto, haga clic en el botón Convertir y copie/pegue el texto convertido de nuevo en su archivo .properties.
La herramienta de conversión sustituirá cada carácter no ASCII (letras latinas acentuadas y letras no latinas) por una secuencia que comience por \u y seguida de un código de 4 dígitos hexadecimales que coincida con ese carácter en Unicode. Lamentablemente, esta conversión hará que su texto sea bastante ilegible para un humano, pero si no la realiza, Sweet Home 3D no podrá mostrar los caracteres de su traducción correctamente. Esta es la razón por la que debe crear una copia de seguridad de sus archivos .properties originales, en caso de que desee cambiarlos más adelante.
Si desea editar directamente los archivos .properties convertidos a ASCII, también puede utilizar la aplicación Properties Editor disponible como un archivo ejecutable Jar aquí.
Traducir los archivos de ayuda
Una buena traducción de Sweet Home 3D también debería incluir la traducción de sus archivos de ayuda. Traducir todos los archivos .html es una tarea larga, pero realmente ayudará a los usuarios a aprender el software y evitar algunas solicitudes de soporte en el foro de Sweet Home 3D. Utilice cualquier editor HTML para traducir estos archivos, tratando de mantener los enlaces que contiene y su hoja de estilo sin cambios.
Una vez traducido, también debe crear capturas de pantalla de los cuadros de diálogo en su idioma para sustituir las imágenes que se encuentran en com/eteks/sweethome3d/viewcontroller/resources/help/en/images. Para poder crear tales capturas de pantalla, cree y pruebe un primer archivo SH3L con los siguientes pasos (una vez que exista un archivo SH3L que contenga archivos .properties traducidos, también puede solicitar al desarrollador de Sweet Home 3D que genere las capturas de pantalla).
Crear el archivo SH3L
Una vez que todos los archivos .properties y .html se traducen y se convierten a ASCII si es necesario (o incluso antes si desea probar este procedimiento), debe comprimirlos en un archivo. Dependiendo de su sistema, la creación de un archivo zip se puede hacer con el siguiente procedimiento:
- en Windows, seleccione la carpeta
comque contiene todos los archivos traducidos y elija Enviar a > Carpeta comprimida en su menú contextual, - en Mac OS X, seleccione la carpeta
comque contiene todos los archivos traducidos y elija el elemento de menú Archivo > Comprimir « com », - en Linux, seleccione la carpeta
comque contiene todos los archivos traducidos, elija Crear archivo… en su menú contextual y, a continuación, seleccione .zip en la lista de formatos.
Por último, cambie la extensión .zip del archivo zip a .sh3l. Un archivo SH3L puede tener cualquier nombre, pero para evitar conflictos con los archivos SH3L existentes, debe nombrarlo a partir del idioma que contiene y la versión de Sweet Home 3D que tradujo (por ejemplo, French-4.1.sh3l podría ser un buen nombre para la traducción al francés de Sweet Home 3D 4.1).
Probar un archivo SH3L
Para probar la traducción, haga doble clic en un archivo SH3L o elíjalo con el botón Importar archivo de biblioteca de idiomas
que se muestra en la parte superior del panel Preferencias. Esto iniciará Sweet Home 3D y traducirá su interfaz de usuario al idioma descrito en el archivo SH3L. Esto también copiará el archivo SH3L en una carpeta que depende de su sistema:
- en Windows Vista / 7 / 8 / 10 / 11, esta carpeta es C:\Users\usuario\AppData\Roaming\eTeks\Sweet Home 3D\languages,
- en Windows XP y versiones anteriores de Windows, esta carpeta es C:\Documents and Settings\usuario\Application Data\eTeks\Sweet Home 3D\languages,
- en macOS, es la subcarpeta Library/Application Support/eTeks/Sweet Home 3D/languages de su carpeta de usuario,
- en Linux y otros Unix, es la subcarpeta .eteks/sweethome3d/languages de su carpeta de usuario,
- con la versión portátil de Sweet Home 3D, es la subcarpeta data/languages de la carpeta donde se almacena la aplicación Sweet Home 3D,
Ten en cuenta también que, durante el desarrollo de tu archivo SH3L, probablemente tendrás que reiniciar Sweet Home 3D para ver los cambios en tu archivo SH3L.
Distribución de archivos 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.
Actualización de archivos SH3L
Algunas versiones de Sweet Home 3D traen nuevas funciones para traducir, otras no. Si no traduces las etiquetas de la interfaz de usuario que coinciden con estas nuevas funciones, Sweet Home 3D funcionará, pero todas las etiquetas nuevas aparecerán en inglés. Para encontrar las nuevas claves y las claves actualizadas en los archivos .properties, puedes utilizar una función ofrecida por SourceForge.net que te permite comparar dos versiones de un archivo de proyecto:
- 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)
- Haz clic en el archivo
.propertieso.htmlque quieras actualizar en la figura 1, - Selecciona las dos casillas de verificación del número de revisión que coincida con la fecha de la versión del archivo actualizado, eligiendo la fecha que sea justo anterior a una fecha de versión de Sweet Home 3D,
- Haz clic en el botón Comparar.
El último clic te mostrará las diferencias entre las dos versiones de ese archivo .properties (por ejemplo, este enlace te mostrará las diferencias entre la versión 4.6 y la versión 5.0 del archivo com/eteks/sweethome3d/viewcontroller/package.properties).
Una vez que hayas encontrado las diferencias, actualiza tu traducción, añadiendo nuevos nombres de clave si es necesario, y publica una nueva versión de tu traducción.