How to install mods for minecraft. How to install mods in minecraft How to transfer mods

Every real minecrafter has put mods at least once, because they can add absolutely anything, the main thing is to choose the most interesting one. But the problem is that not everyone knows how to install them. Therefore, this guide appeared: How to install mods in Minecraft !

Video guide:



The guide will be for version and higher (1.6. *, 1.7. *, 1.8. * 1.9. * And so on), because before it was a little different.

(You can click on the pictures, they will take their full size)

1) Download and install if you are using something else. It is much better, you can read about the features on our website on the launcher page, for installing mods it is good because Forge (if you do not know what it is, it will be described later in the article) can be installed in one click.

2) Select the mod you want to install, we have a directory:. We remember for which version of the game it was developed, we will use Plants Vs Zombies: Minecraft Warfare 1.7.10 as an example, that is, version 1.7.10.

3) Go to the launcher, and select the Forge version (This is an intermediate mod that processes all the others) for the version for which you selected the mod (In our case, Forge 1.7.10) and click "Install", then wait for the installation to complete and the first launch.


4) Next, we proceed to install the mod itself, for this, in the launcher, click on the "Open folder" button and you will see a folder with all the game files.


5) Find the folder " mods"(It will appear by itself, if it does not exist, then you have not installed Forge, but you can try to create it manually if you are sure that Forge is installed) and copy the mod file there, it will have the extension .jar or .zip (It may be packed into .rar, so you need to unpack it and transfer the file with the desired extension to the folder).


6) Run the required Forge from the launcher again. To make sure that the mod works fine, in the main menu, press the mods button and see the new mod there:


Done, now you can play with the new mod! We hope you understand now how to install a mod in Minecraft!

Installing new mods, maps and other custom add-ons to Euro Truck Simulator 2 is a very simple procedure and should be clear to most users. In order to add a new truck, an author's map, modified physics, skins for trucks or even a global mod to the game, just drop the files of the selected mod into the folder mod on your PC and connect the add-on in your profile in the game.

Mod files are always prefixed. scs, eg gruzovik.scs , novay-karta.scs , zzz-drugoi-mod-by-trucksimulator2.scs, after downloading the add-on from the Internet, you get an archive in which the mod files are stored, before installing the archive downloaded from the Internet into the game, you must first unpack it.

To install the mods correctly in Euro Truck Simulator 2, you can use this step-by-step guide. For example, we will install two mods, a new one and so that as a result Belarus and Russia will appear in the game, and our cars will start driving on the road: Volga, nines, dvenashki, zilki and other domestic auto industry.

1. Step one. It is necessary to download the selected mods, in particular a new map and new traffic, after downloading we will have two archives: the first map - RusMap-1-4.zip and the second russian_traffic_pack_by_Jazzycat_v1.1.7z - Russian traffic. This is how the downloaded mods look in the explorer:

2. Step two. The task is to unzip the downloaded archives to any place known to you, this can be done in any way available to you, with a file manager, a 7Zip archiver or standard means, for example:

3. Step three. Upload all files with a prefix. scs from downloaded archives to a folder mod which is located at C: \\ Users \\ Username \\ Documents \\ Euro TruckSimulator 2 \\ mod \\... The archives may also contain help files or pictures with images of mods, they should be left.

4. Step four. Go to the game, launch the ETS2 simulator and see the drivers menu, select your profile with a picture of the virtual driver and press the button change... In the menu that opens, tick the boxes we need the mods, in this case, all the files and press the button apply changes.

Any interesting mods will diversify Minecraft, make the gameplay in it even more exciting. However, not every Russian fan of computer games can enjoy such advantages; poor knowledge of English will be a hindrance to him. There is only one way out - to translate the mods into Russian.

You will need

  • - archive with mod
  • - special programs for translation
  • - archiver

Instructions

  • If you are faced with certain difficulties in applying Minecraft modifications due to your lack of knowledge of English, try translating such game add-ons. You do not have to stop the gameplay when any inscription in a foreign language appears and look for its translation in the dictionary if you once Russify the mod and play with it in this form. Various translation programs (for example, InClassTranslator) and a special text editor (in this regard, many gamers praise Notepad ++) will come in handy.
  • Download and install the above software products, as well as search the web for archives with mods. Use reliable online resources for this, so as not to accidentally get broken or viral files on your computer. Copy the entire Minecraft directory to any safe location. This will help in case of failure to install Russified mods - then you can easily roll back the game to its original state.
  • Copy the contents of the mod archive to a separate folder and translate them there. If such a modification contains documents with the .class extension, open InClassTranslator (or any similar program suitable for reading files of this type) and through it go to the above documents. Find among the mod files those that contain English text - the names of various items, ores, etc. Open them one by one and in a special window for translation, enter the Russian analogs of these phrases with a capital letter. If you are not sure how exactly they are translated, use the hints of any relevant online services or ordinary dictionaries.
  • Make sure that all finished files are saved correctly and still have the .class format. Otherwise, they simply will not open for you, and the mod may work incorrectly, with malfunctions. Perform the above steps with absolutely all documents containing text in need of translation. Upon completion of the process, install your Russified mod into the game directory as required by the instructions for it.
  • If your modifications are contained in a jar archive, open the folder with the mod installer with the archiver, save its contents to any place on the computer disk space, from where you plan to take files for their subsequent Russification. Now go to the lang folder of the mod directory. Select English - en_US from the available language files. Click on it with the right mouse button and in the drop-down list select to edit it using Notepad ++ (or its equivalent).
  • In the text file that opens, there will be many lines listing various materials and objects (for example, blockIronFurnace \u003d IronFurnace) that are found in the mod you are Russianizing. Manually translate each value specified after the equal sign (and only these phrases - you don't need others), and replace its English spelling with Russian (in the above example, you will get something like blockIronFurnace \u003d IronFurnace). Write words without spaces and at least the first of them with a capital letter. When the translation is complete, save the file, close it and install your Russified mod.
  • I am creating this topic to help translators who have various difficulties in translating mods and scripts of Skyrim.

    I assume that since you are part of the translator team, you have the basic skills required to translate mods. Nevertheless, I will mention all the efficient and familiar ways of translating esp and esm mod files.

    In many cases, English and Russian export of game texts helped me a lot. Suppose, when translating a mod, you came across a name, phrase, title, part of the text of the book, description of the enchantment, etc., which were not automatically translated, since they have a different id from the original, and you want their translation to correspond to the official translation, or There are so many such records that it is simply stupid to translate them again yourself when they were translated by 1C. But where can I get this 1C translation? Do not go into the game and look. Therefore, I made for myself English and Russian export of game texts.
    Suppose, during translation, I came across this description of the enchantment "For seconds you automatically become invisible while sneaking. "
    I open a text file with an export and search for this description:
    For seconds you automatically become invisible while sneaking.
    When sneaking up, you automatically become invisible for from.

    Here is the export I made
    1.19MB 5280 Number of downloads:
    2.01MB 4120 Number of downloads:
    237.92K 2736 Number of downloads:
    14.24MB 2074 Number of downloads:

    TESVTranslator - basic functions

    The program I use to translate the mods is called TESVTranslator - SkyrimStringTranslator. It is an excellent program with many functions, but I find it difficult to describe all of them, since there are so many of them. For a more detailed description, read the author's instructions.

    I will highlight only the following features of the program that made it my favorite.
    1. When translating, you see both the original English text and the translated Russian. It helps a lot in various situations.

    2. The program allows you to create a dictionary from strings files of the original game.
    Options - Set options and Languages

    The bottom line is that we are creating a kind of English-Russian dictionary in the program, which is based on the Russian and English strings files of the original game (English strings can be downloaded on the program page on the nexus, and you should have Russian ones anyway). When we have created this English-Russian dictionary -\u003e we can load a certain mod that affects the records of the original game, and when loading all these records will be automatically translated into Russian.

    To open a mod in Russian in the program, you need to create a Russian-Russian dictionary, and that's exactly how you need to create - a dictionary before downloading the mod, otherwise you will get gibberish.

    See? I translated Relighting Skyrim into Russian, saved the file, and then loaded the already translated mod in the program, gibberish arose due to the fact that the English-Russian dictionary was selected -\u003e. As I said, it is necessary to create an exclusively Russian dictionary. This is done in the same way as creating English, but this time Russian is also assigned as the source language.

    By the way, in order not to create a dictionary every time you change it, you can add it to presets.

    Do this for both english - russian dictionary and russian - russian, and then you will just quickly choose the one that suits the situation.

    Now that we have selected the russian-russian dictionary, we can freely download the mod in Russian.

    3. Comparison, here is another function for which I love this program, it can compare files. This function is very convenient when the version of the mod has been updated and you need to transfer the translation from the old version of the mod to the new one. Suppose a mod you translated has been updated and you need to somehow transfer the translation from the old version to the new one, then you do the following, take the esp file of the old version (relightingskyrim.esp), change its name to OLD.esp (for example) and place it in the Data folder. Then download the new version of the mod and place the esp of the new version (relightingskyrim.esp) in the Data folder.
    Next, open the program and download the new version of the esp (dictionary english-russian). You will have a new English version of your mod loaded, now you need to make a comparison between the name of the lines in the new version and in the old one that you translated. Press tools and select Load esp (Compare), then select the old version esp (OLD.esp). The program will prompt you to choose a replacement and overwrite method:
    All lines (Everything)
    Everything but already translated strings
    Everything but already translated and validated strings - never used
    Selection only
    The situations are different, I usually choose between the first two methods, but in this particular case, when transferring the translation, we need to select the (Everything) method.
    If the id has not changed, then when a match is found, the translation from the old version of the mod will fit in as a line feed. And here we will again need to simultaneously view the original text of the recording and the translation, because it may happen that the id has not changed, but the author changed the name of a couple of objects, and now your translation has been transferred, and these objects are called in it, as in the old version. Look carefully at all the entries, if somewhere the translation does not correspond to the original text, then just make the necessary changes, the mod can be saved.

    The program also allows you to create a dictionary for the mod (SSTstrings dictionary), this function works in english-russian mode, but will not work in russian-\u003e russian, thus, you cannot create a mod dictionary from the already translated Russian mod. And if you try to load a Russian mod in english-russian mode, you will get krakozyabra. The solution is simple, you need to take the original English esp and make a comparison with Russian in the english-russian mode, this way all the lines will be translated and you can create a dictionary. A very useful feature, always create dictionaries of translated mods, as this will greatly help simplify the translation of mods with similar text in the future.

    By the way, when you select a word, the program will helpfully offer you its translation, which is found in the official translation of the game. This is very convenient if you come across names or titles from the original game, you can immediately see the name of the character or something else.

    I'll talk a little later about translating scripts and MCM.

    Translation and compilation of scripts

    This is a pretty broad topic. There are many ways to translate scripts and many situations where only one way is suitable, and in order to learn how to translate any scripts, you will have to learn and try all the methods.

    1. The easiest and most limited way is to translate messages into script source and then compile the source into a complete script. This method is bad because in very many cases you will not have script sources. But in order, let's first discuss this method.

    Many mods have scripts, it so happens that scripts contain text, you would like to translate it, but do not know how. Is this text not inside the esp? That's right, the text is inside the scripts (one or more) related to the mod. The mod scripts are in the scripts folder, the compiled scripts have the format .pex, you can view them in a special program, but it's useless. But how can we then translate the text?
    This is where the source code comes in handy. Inside the scripts folder there can be (if the author was not too lazy and put) a folder source. Inside this folder, you will see files with the same names as the scripts, but they will have the format .psc... Script sources have this format, and you can read them using Notepad ++. You will probably be confused at first and will not be able to understand anything from what is written inside, but do not despair, over time you will learn to quickly determine what exactly you need to translate without even looking into the game.

    But I will give an example:

    I highly recommend that you open scripts with Notepad ++, it has many useful and necessary functions, it is easy and pleasant to work with, and it displays the document 100% correctly, unlike standard notepad.
    Opening the source, you will see something similar:

    int newDamage \u003d armeModel.getbasedamage ()
    int newGoldvalue \u003d armeModel.getGoldvalue ()
    Miscobject Lingot \u003d Rep.Get_Material (armeCasse)
    bool IsEnchanted \u003d DegWeaponEnchanted.Hasform (armeCasse)
    float IsToPay \u003d Rep.TestPerk (Lingot)
    int NbreMarteau \u003d player.GetItemCount (marteau)
    int PerkSmithEffect \u003d (Player.GetActorValue ("Smithing") / 10) as int;

    If (armeCasse.getbaseDamage ()\u003e \u003d newDamage);

    menu1 ()

    Elseif (NbreMarteau \u003d\u003d 0);

    Elseif IsEnchanted && (player.hasPerk (arcaneBlacksmith) \u003d\u003d false);

    menu1 ()
    else
    if (armeCasse.getbaseDamage () + PerksmithEffect\u003e \u003d newDamage);
    ; RepSound2.play (PLAYER)
    player.removeitem (Lingot, 1)
    armeCasse.setbasedamage (newDamage)
    armeCasse.setgoldvalue (newGoldvalue)
    debug.messagebox ("I need the material:" + Lingot.getName ())

    Here he is, our client:

    Debug.messagebox ("This weapon doesn" t need to be repaired! ")
    debug.messagebox ("I first need a whetstone ...")
    debug.messagebox ("I do not have the required skill to repair enchanted weapons!")

    Messages you need often have a postscript messagebox or just message, but sometimes they do not, just by the word message they are easiest to distinguish.
    - The messages you need usually have a certain meaning, by this meaning it is easy to distinguish them from other technical junk. Look, the message "I do not have the required skill to repair enchanted weapons!" explicitly intended for the player as opposed to (player.hasPerk (arcaneBlacksmith).
    - Messages you need are enclosed in quotation marks "I first need a whetstone ..." and you should not remove these quotation marks during translation. Take debug.messagebox ("I need the material:" + Lingot.getName ()) for example. As we can see, here it is required to translate the phrase "I need the material:".
    You have already noticed that there is a gap between the colon and the closing quotation mark, so when translating you must keep this gap, because after the gap, the name of some material will be inserted, and if you remove the gap, then the colon and the name will merge together. In the end, you will succeed "I need material:", and the whole line will look like this:
    debug.messagebox ("I need stuff:" + Lingot.getName ())
    Thus, you go through all the sources and find strings in them that require translation, after which you translate them carefully.

    So, you have translated all the necessary messages, now just save the scripts.

    I hope you have a licensed copy of the game and you have already installed the Creation Kit in incentive, because without CK things will not go any further.
    You have installed CK, and translated the script sources. Now you should take the translated sources and put them in the Skyrim \\ Data \\ Scripts \\ Source folder.
    Turn on CK, hit the tab Gameplay and select Compile Papyrus Scripts. The program may freeze for a few minutes. Then the "Pick Script to Compile" window will open (the window may open, but it will be hidden from view by other windows, so you may not notice it, but if the program hangs after clicking the button, then the window has opened, look for it).

    Consider the Pick Script to Compile window. It lists all script sources located in the Source folder. Scroll through the list and find your translated scripts, tick them, when all are checked, click the Compile button. Another window will open, where you will see the progress of the compilation. I think you have enough knowledge of the language to understand what the local inscriptions mean, if the script was processed successfully, then Success will be written to the right of the name and the window will close after compilation, if something went wrong, then Failed will be written and information will be displayed below about failure. The successfully compiled scripts will be located in the Skyrim \\ Data \\ Scripts folder and have the .pex format. Replace with our translated and compiled scripts the original English ones. Now in the game all messages embedded in scripts will be in Russian.

    Remember that to test scripts, you must load a game save made without mods, since Skyrim caches scripts and stores them inside the save. In other words, if you made a save with the mod enabled, then in order for the scripts to become Russian, you will have to completely remove the mod, make a save without it, install the completely Russian version of the mod and load the last save

    So you have translated the script messages of the mod. Congratulations!

    2. But what to do if the script does not want to compile successfully, or if the author did not put the source code, or you suspect that they are of poor quality and old - what then? Here, friends, I will tell you about the second method of translating scripts, this is my favorite method.
    You necessarilyyou will need: an installed Creation Kit, Notepad ++, and a program developed by our good friend. This program is a unique development especially for the site, so I ask you again, do not distribute it on other sites. The program, it is visible only to certain groups.

    Let's talk about the program. It has 3 functions:
    Assembler
    Disassembler
    Compiler

    We are most interested in the first two functions (Assembler and Disassembler).

    The third function "Compiler" is essentially the same script compiler that we used in the first method, it works exactly the same. I will tell you a little about this function and we will not return to it again. To use it to compile the scripts we need, you need to put the sources in the source folder, in the program itself, click the "Add files" button, select the moved sources, in the result line, click the "browse" button and select the Data \\ Scripts folder. Then click the "Compile" button. If the scripts themselves are normal and you did not make mistakes in translation (for example, you accidentally erased the quote), then the source will be compiled into .pex and will be in the Data \\ Scripts folder. In fact, this is just another version of the compiler from the first method, and is no different from it. And yes, you still need CK, otherwise the Papyrus Assembler GUI will not work.

    But back to much more important functions, namely the Assembler and Disassembler functions. I assure you that they will help you out more than once in the future.
    Suppose the author did not put the sources of his scripts in the archive with the mod, and you cannot translate them now. In this case, the script disassembly function will come to your aid.
    Let's create a separate folder for the program, put the program in it, and now drag all the mod scripts (.pex) into this folder. Let's open the program, select the "Disassembler" function, then click the "Add files" button and in the window that opens, select all the dragged scripts and click "open". The Source Files window will display all the scripts we have selected. Click the "Disassemble" button, then all the scripts you have selected will be disassembled in the same place where the program and .pex scripts are located. Disassembled scripts have the format .pas, and their names before the file format also contain a postscript .disassemble.

    Disassembled scripts look approximately the same as the sources:

    ISubtract :: temp23 newAR :: temp23; @line 142
    IMultiply :: temp23 :: temp23 50; @line 142
    Cast :: temp29 :: temp23; @line 142
    Assign IsToPay :: temp29; @line 142
    Jump _label19; @line 142
    _label19:
    CompareLT :: temp31 indic 0; @line 145
    JumpF :: temp31 _label20; @line 145
    CallStatic debug messagebox :: NoneVar "Sorry. Error: Your equipment can" t be repaired. "; @Line 146
    Jump _label21; @line 146
    _label20:
    CallMethod getArmorRating armureCasse :: temp23; @line 147
    CompareGTE :: temp28 :: temp23 newAR; @line 147
    JumpF :: temp28 _label22; @line 147
    CallStatic debug messagebox :: NoneVar "This piece of armor doesn" t need to be repaired! "; @Line 148
    CallMethod menu1 self :: NoneVar; @line 149
    Jump _label21; @line 149
    _label22:
    Cast :: temp25 Lingot

    As you can see, the principles of defining the strings you need are the same, they often contain the words message and messagebox, and the phrase requiring translation in this case makes even more sense than the technical rubbish surrounding it. We still translate the message in quotes, keeping the quotes themselves. REMEMBER, you can translate the phrase inside the quotes as you like, but you should not change anything outside the quotes, you should not change the quotes themselves, such as erase the quotes, accidentally put extra quotes. Yes, worth mentioning, quoted message should not contain other quotes, use an apostrophe instead (code: alt + 39 on numpad). I will give an example
    Original message:
    "This piece of armor doesn" t need to be repaired! "

    If you need to highlight something in a message, then use an apostrophe:

    It is wrong to do this:
    "This 'piece of armor' does not need to be repaired!"
    In this case, your script will not compile. Only the message itself must be enclosed in quotation marks.

    So you've gone through the entire document, found all the messages and translated them. The disassembled script is much larger than the source. It may be difficult for you to go through the entire script and find all the messages that require translation. Personally, I do this: I open the disassembled script in notepad ++, press ctrl + f, the search window opens, in the "find" field I just enter a quotation mark "and click the" find everything in the current document "button, so I will be given a window with all the lines containing quotation marks. It can still be large, but still there is much less information in it than in the full document. I'm currently working with a script, and the search gives me 154 lines instead of 1300 in the full document, that is, the difference in the number of lines, to be viewed is very substantial.

    So you've disassembled the mod's scripts, looked at them for messages, translated them, just save them. Next we will assemble them and convert them back to the .pex format.
    First of all, you must remove the disassemble part from the name of the disassembled scripts, because in order for the scripts to be assembled, they must be named by their original name, that is, as they were called before disassembly.

    Example:
    The original script is called
    DegRepairBenchScript.pex

    Disassembled script
    DegRepairBenchScript.disassemble.pas

    To assemble this script it should look like this
    DegRepairBenchScript.pas
    See? We removed the disassemble part from the name, which appeared after disassembly.

    Now we reopen our program, in the meantime, you can remove the original scripts from the program folder, since they will only hinder us there, because we will turn our translated ones into them with the same name, in general, out of harm's way.

    So, we have opened the program, select the "Assembler" function, and then everything follows the old script. Click the "Add files" button, select your translated.pas and click the "Assemble" button, if you did not touch quotes anywhere during the translation process, did not put extra quotes, but strictly entered your translation inside the existing quotes, then the script is assembled back in 100% of cases in .pex.

    Here your translated scripts are assembled back into the .pex format, now it remains to replace the original scripts with them and check everything in the game, perhaps you forgot to translate something or made a typo, then you can disassemble your translated script with peace of mind, correct your mistake, and assemble the script back to .pex.

    Hooray! You have just translated a script with no source. You are now capable of translating most mods.
    Personally, I translate any scripts using this method, even if the author put the source code. Since it is much faster to work with this method than with the compiler, and the scripts are always assembled back into pex, unless I specifically made any mistakes, unlike the compiler's method, when the script may not compile for some reason I do not understand.

    A little later I will talk about the translation of the MCM scripts of the SkyUI mod menu. Authors do not always create a text file for translation and do not always put script source codes, but there is a little trick in translating mcm scripts by disassembling. For now, I'll have some tea, and you practice with the first two methods, especially with the second, it is vital for you.

    MCM translation for SkyUI

    What are the methods for translating the MCM menu of SkyUI, if the mod adds one?

    1. This is when the author took care to create a special text file to translate the mcm menu from his mod. This file is located in the Interface \\ Translations folder
    It is called as follows:
    Mod name_Language name.txt

    For example here
    achievethat_RUSSIAN.txt
    I recommend writing the name of the language in caps, maybe it's wrong, I don't know for sure, but a couple of times the translation file did not work for me without it.

    So, we open this translation file, and if it does not exist for our language (there is only English), then we create it, then copy the information from English into it

    Here is english achievethat_ENGLISH.txt

    $ Achievement Points Achievement Points
    $ Achievements Achievements
    $ Settings Settings
    $ Progress Progress
    $ AT_QN Enable Completed notifications
    $ AT_DN Enable upper left corner notifications
    $ Character Character
    $ Attributes Attributes

    We copy this text to achievethat_RUSSIAN.txt
    and translate

    $ Achievement Points Achievement Points
    $ Achievements Achievements
    $ Settings Settings
    $ Progress Progress
    $ AT_QN Enable progress notifications
    $ AT_DN Enable notifications in the upper left corner
    $ Character Character
    $ Attributes Characteristics

    As you can see, everything is extremely simple here. We translate, save, check in the game, the menu is translated, everyone is happy.

    Then there are many different situations.
    It may happen that the author missed one line and did not add it to the translation file, that is, we cannot translate using the translation file in any way. Here we have the following possibilities.
    If the author put the source code of the mcm menu script, then you can change the script itself, this is done in the same way as the translation of the script. You find a line that was not placed in the translation file and then you have various options:
    1. Translate the string itself in the script and compile the script.
    2. Replace the message in quotes with some key, for example, the message in quotes "cake is lie", you can replace this message with the key cake and put a $ in front of it, so "$ Cake" will come out, and then you just add this $ cake to your translation file and pressing tab, write next to the translation of the original phrase

    $ AT_DN Enable notifications in the upper left corner
    $ Character Character
    $ Attributes Characteristics
    $ Cake Cake is a lie


    2. But suppose there is no translation file, and there is no source of the mcm menu script either. Then we just have to turn to the disassembler and script assembler. I have already explained to you how this is done above, so I hope that you already know. However, I must warn you in advance that there is no 100% guarantee that you will be able to fully translate the MCM menu, since some authors create a script in such a way that the page names cannot be translated. Fortunately, this is a rare occurrence.

    So, just like with a regular script, we will disassemble our menu script. We will not create a translation file (personally, I am too lazy), so we will immediately translate the script itself. First of all, you need to remember that before translating you must switch the document encoding to UTF-8 (without BOM), you open the disassembled script in notepad ++ and select the "Encodings" tab, where you select the specified encoding, then you start translating the script. I will explain the meaning of this a little later.
    I must say that the MKM script contains much more technical garbage, as well as false messages that do not need translation, but look meaningful.

    Here's an example:

    Line 513: CallMethod AddSliderOption self :: temp3 "Stamina Threshold" :: temp5 "(0)%" 0; @line 76
    Line 521: .docString "Called when the user selects a slider option"
    Line 599: CallMethod SetInfoText self :: NoneVar "Potions will only be automatically used on combat." ; @line 234
    Line 111: Assign :: ModName_var "Swift Potion"; @line 29
    Line 114: Assign :: temp1 "Options"; @line 31
    Line 120: .docString "Function that returns the current state"
    Line 132: .docString "Function that switches this object to the specified state"
    Line 148: .docString "Called when the user selects a non-dialog option"
    Line 303: CallMethod SetSliderOptionValue self :: NoneVar a_option a_value "(1)" False; @line 174
    Line 310: .docString "Called when a key has been remapped"
    Line 339: CompareEQ :: temp19 a_conflictName ""; @line 186
    Line 342: StrCat :: temp20 "This key is already mapped to: \\ n" "a_conflictControl; @line 187
    Line 343: StrCat :: temp20 :: temp20 "" \\ n ("; @line 187
    Line 345: StrCat :: temp20 :: temp20 ") \\ n \\ nAre you sure you want to continue?" ; @line 187
    Line 349: StrCat :: temp20 "This key is already mapped to: \\ n" "a_conflictControl; @line 189

    Strings
    .docString "Called when the user selects a slider option"
    .docString "Function that returns the current state"
    .docString "Function that switches this object to the specified state"
    .docString "Called when a key has been remapped"
    As you can see, these messages are clearly not for the player.

    But these lines should be translated
    Assign :: ModName_var "Swift Potion" - mod name
    Assign :: temp1 "Options" - the name of the settings page
    StrCat :: temp20 :: temp20 ") \\ n \\ nAre you sure you want to continue?" - one more message. By the way, see the parenthesis and \\ n inside the quotes? You should never delete them.

    So, using the knowledge of the language and logic, we find messages that require translation, remember, the encoding is set to UTF-8 (without BOM), while we translate all these messages as usual. And then we change the encoding of the document again, this time we are encoding in ANSI. So what's going on? All our translated messages turn into gibberish. But this is what we need.

    Why do we need it? Look at the following image

    See the page titles in the red box? The fact is that these names are (as I understand it) links, and links do not work if they are written in Cyrillic, that's why we use such a trick, we write the Russian name in utf-8, and then translate it into ansi, thus links work, but in the game displays the Russian name. For the rest of the document (green and blue borders) utf-8 encoding (no BOM) is optional, but personally I translate the entire document to utf and then encode it to ANSI. If you don't use the encoding trick, the pages won't work and won't display anything.

    Unfortunately, there are times when the author creates the menu in such a way that it is impossible to translate the page names. Fortunately, the content of the pages is translated in the same way as above. But why can't the page titles be translated? I will give an example from my practice, the disassembled script contained strings with the names of these pages, when they were translated in utf-8 encoding, nothing happened, or more precisely, the names remained in English, but the pages stopped working. I decided to dig deeper and found out that the name of the pages is located in the properties of the script (which I will explain later), which can be changed using CK. But the problem is that we have, as it were, a link to a link, we cannot use the Cyrillic alphabet in the script and therefore we create an abracadabra that is digestible by the game, but we are not able to create it in the properties, we can use either Cyrillic or Latin there , and in any case, it turns out that the name left in the properties does not match the name in the script, so the only way out I found is not to translate the page names in this case. Although this is a little ugly, the main thing is that we are able to translate the settings themselves, and they are much more important.

    In this way, you can translate MCM menu scripts. Scripts are different, sometimes very non-standard. Some scripts have deceptive messages that are almost indistinguishable from those that need to be translated, but if you translate these deceptive messages, then some part of the MKM menu may stop working.

    Now our normal messagebox script has the correct encoding. We save it. Then we assemble it back to pex.

    That's all! The script has been translated and will display correctly in the game. You just have to try, practice and experiment, gain experience, and after a while you will start clicking all these scripts like nuts.

    There is only one thing left for me to tell about the MCM menu and scripts, and specifically the translation of the names of the mod in the MCM list, and indeed properties in general, I promised above. But that is in the next message.

    Translation of the name of the mod in MKM | Translating a message when using an ability

    This time we will talk about how to translate the name of the mod in the list of MCM mods and script messages that appear when using abilities.

    As you can see, there are 4 mods in the list, only the name of one is translated. The authors write the MKM script differently. If you're lucky, you can translate the title when you translate the menu script, but in most cases you are unlucky and the title is elsewhere.

    Remember I mentioned properties? So we got to them.

    So, to translate the mod's name on the list, you need the Creation Kit. Opening CK. We load the mod. The mod has loaded. On the left, select the "Quest" tab, then sort the records so that the records with an asterisk are at the top, you only need one of these records, responsible for MCM, in my case there is only one such record, in general there are not many of them.

    We open this post. Select the "Scripts" tab. See the script attached to the post? We need it, it is in this script that the line with the name of the mod is contained.

    And now the most important thing! If you try to open this script, you will get this error.

    You will always get this error if you don't follow certain rules. I deliberately decided to show it in advance, so that you remember it. How can I avoid this error? How to make the script open.

    There are 2 IMPORTANT rules that must be followed in order to open this MKM menu script without error:
    1. The scripts of the mod that you are translating must be in the Data \\ Scripts folder, the scripts in the BSA archive are not suitable! Of course, in fact, not all scripts are needed, but specifically the one that is associated with what we are trying to open, but it is easier and more reliable to put ALL scripts. Remember, mod scripts must be unpacked in the corresponding game folder.
    2. SkyUI scripts ALSO should be in the corresponding game folder unpacked, only observing both of these rules, you can open that script in CK. If there are no SkyUI scripts in the Scripts folder, then you will receive the above error or something similar to it, but you will not open the script.

    So, I got an error and remembered about the above two rules, I did everything right, put the unpacked scripts of both mods in the appropriate folder (Data \\ Scripts). Now I restart CK, load the mod again, reach the script, click on it, and it opens for me.

    Here are our script properties. And you guessed it, our target "ModName" is a String. We select this line, there is a field on the right side of the window, we enter the Russian name of the mod there. It is worth considering that the SkyUI menu is very limited in width, and the inscription will be in one line, so come up with a shorter name for the fashion, so that it fits within the boundaries.

    You have entered a name, click OK to close all windows. Then save the mod. Be sure to check it for performance in the game. Anyway, I recommend making a backup of the file before this whole operation. Anyway, you translated the name of the mod into Russian. Congratulations!

    It so happens that the mod grants our hero some abilities, and these abilities, in turn, when used, display a message in the upper left corner, very often this message is not in the esp / esm, or in the scripts. As you might have guessed, these messages are in properties, similar to the mod name in MCM. Here's an example from the Basic Needs mod

    When the mod is activated, the hero gets the "Check needs" ability, when the hero uses it, information about the needs is displayed in the upper left corner. To translate such information, we again need to do the same as above, but in this case SkyUI scripts are not required, although I recommend that translators always keep them unpacked in the scripts folder. But the unpacked scripts of the mod are still necessary. So, you unpacked the scripts to the appropriate folder, turned on SK, loaded the mod. Now you need to find the ability.

    In my case, this is the "Magic Effect" tab. I sort the abilities so that the added mods are at the top. I find the one I need (I already know which one I need, but for the first time you may have to look for it, this is not always obvious, but in most cases the searches do not take much time).

    We need strings of type string, they are displayed in the game when using the ability, and they are what we will translate. Select each line and enter the translation into the String Value form on the right. Then click OK to close the properties window and OK again to close the magic effect window. We save the mod and check it in the game. That's all science.

    The message displayed when using the ability is now translated into Russian. Hooray!

    On this I upload. Thanks to everyone who read it from start to finish. I hope this tutorial has taught you something new and it will be easier for you to translate mods in the future.