[Tutorial] Translating Base Game Objects

Discussion in 'Translations' started by RHY3756547, Feb 25, 2016.

  1. RHY3756547

    RHY3756547 FreeSO Developer Staff Member Moderator

    Most of the objects in The Sims Online only have strings in "English (US)", even those from The Sims 1! This is because the game only launched in the United States and Japan, though obviously now the game files are available for everyone to use.

    Before doing any of this, you will likely want to change your language code to that of the language you are going to be translating to. To do that, see this thread:

    Translating an Object

    First, you'll want to find the object that you wish to translate. Open up Volcanic and select the Object Browser, then use the search feature to find what you want. Note that the object names used for the browser are more descriptive and precise than their names in the catalog, which should make them easier to find. We want to edit the object in place, not create a clone or an entirely new object, so select the object and click "Edit Object".

    A window will pop up which will allow you to edit the file of the object that you selected. Browse to the "Trees and Resources" tab, as we only want to change strings in the object. There are a few things that we might want to modify, and a few things we want to avoid:

    • Tree Tables - These define the interactions that a sim can perform with an object. We only want to modify the "Interaction Path Name" for these, which corresponds to a *.tta resource.
    • Catalog Strings - These define the strings that appear for the object in the Catalog, specifically its Name and its Description.
    • Strings - These are more generic strings (can be anything from animation names to dialog strings), which you should be careful when changing! Make sure what you are changing is not an animation table or the "Call Named Tree prim string set", so that your modifications do not break the object's function.
    Modifying Tree Table Strings
    As shown above, the Tree Table editor is mostly concerned with functional modification, however it is very easy to modify only the interaction names! The only field here that we are interested in is the "Interaction Path Name", which defines how the interaction appears on the pie menu. (eg. "Pie/Chicken" would generate a pie menu with the interaction "Chicken" being under the "Pie" sub-menu)

    You can either select the current active interaction using the Action View or the Pie View. The pie view will better represent the structure of pie menu that you have created:

    Select the language you wish to translate from the combo box beside the "Interaction Path Name". This will change the language that you are currently viewing/editing.
    If no translation exists for the language you attempted to change to, you will be prompted to create it. Click "Yes" to initialize the specified language with a copy of the "English (US)" interaction names.

    Now that you have changed the language, to change an interaction's name on the tree table, simply edit the text in the "Interaction Path Name" field.

    Modifying Normal Strings

    The string editor for normal strings is pretty self explanatory. Strings are listed on the left in order of ID, and the selected string is shown on the right for editing.

    Select the language you wish to translate from the "Language Set" combo box. This will change the language that you are currently viewing/editing.
    If no translation exists for the language you attempted to change to, you will be prompted to create it. Click "Yes" to initialize the specified language with a copy of the "English (US)" strings.

    After this, simple select strings, change them and click "Save". You will be able to see the changes happen ingame in real time, if you have a way to readily check them.
    You should not add, remove or change the order of any existing strings, as this may change how the object functions.
    Saving Changes
    There's not much point in translating objects if you can't save your changes!
    On the Main Window, the Resources tab will summarize all of the changes you have made that are unsaved. From here you can discard them one by one, or save them to .piff files. Discarding changes is especially handy if you accidentally modified a TTAB instead of TTAs, or if you want to revert any resource back to its original state.

    Make sure you save your changes before closing FreeSO! There is currently no prompt to prevent you from doing this.

    Packaging your changes
    When you're done, all of your changes should be in "Content/Patch/User/" with the extension ".str.piff". If there are any files with extension ".piff" without the str, it suggests that you accidentally changed a non code resource, and should ignore that file when packaging.

    Move all of your *.str.piff files into a folder with the name of your language, (eg. "French/") and zip the folder. Move your new translation folder out of the User/ directory, and it will be considered a non-volatile change (one you can revert to by deleting the User/ folder).

    It's now up to you to share your translation with others! All they have to do is extract your translation zip to their "Content/Patch" and set their language code to the one you have translated to.

    In future, it will be possible to combine string patches to create large "multilanguage" patches, so that they can potentially be distributed with the FreeSO itself officially.
  2. steveharper2

    steveharper2 New Member

    Please could somebody help me with switching the language code to Japanese or French? I need French for showing Hungarian fonts in game. I am using Windows 10, so I can't change the language coding with the -lang3 or -lang15 launch options. There is simple no option for this on Windows 10 at the .exe parameters. Could you help me with changing the language code in some other ways?

Share This Page