Sorry in advance because I am very very new to this kind of thing. I would like to ask: Why is my .CSV file different? After decoding from en.w3strings, the contents of my CSV file do not have the unique IDs as expected, like this: ;meta[language=en] ; id |key(hex)|key(str)| text 2119999100|00000000||My Mods Panel 2119999101|00000000||My Favorite Books
But my .CSV file looks like this: ;meta[language=en] ; id |key(hex)|key(str)| text 97959|20a1faa4||Hanged Man's Venom 97991|f878dd2f||Grapeshot 98013|bba0b800||Cat
As a result, when I try to encode the file, I get an error:
ERROR - id-space parameter required w3strings decoder/encoder v0.4.1 Usage: w3strings.exe [options] Options: -d, --decode FILE.w3strings decode w3string file to csv file -e, --encode FILE.csv encode csv file to w3string file -i, --id-space nnnn check assigned string ids to be in id space [211nnnn000..211nnnn999]. required for --encode --force-ignore-id-space-check-i-know-what-i-am-doing -h, --help print this help menu -v, --verbose show debug messages --very-verbose show more debug messages -t, --test-encoder FILE.w3strings decode w3string file and reencode it again while preserving the order of all data as in original. result file should be binary equal to original -c, --test-csv FILE.csv parse csv file and save it as csv again. result file should be equal to original
If I use this option: --force-ignore-id-space-check-i-know-what-i-am-doing
Will the .w3strings file still work and be readable in-game normally, or what will happen?
the unique id cannot be decoded to cleartext. it's cleartext -> hashed value only. thus decoding an encoded w3strings will not recover the id.
since you are using ids from the game (< 2110000000) in the csv file you can use the --force-ignore-id-space-check-i-know-what-i-am-doing option to override the strings (although you clearly do not know what you are doing :) )
here you can read a longer explanation of the workings: https://forums.cdprojektred.com/index.php?threads/utility-strings-encoder-for-adding-new-strings-new-ids-and-keys-as-standalone-w3strings-file.62959/
you are missing a - in front of the force-ignore-id-space-check-i-know-what-i-am-doing option. the general rule for these kind of options is: one dash for one-letter options (like the -e) and two dashes for a named long option name (e.g. --encode which is the same as -e)
Hey, are we sure the --force-ignore-id-space-check-i-know-what-i-am-doing switch works? Now that Nexus mods are at IDs surpassing four digits, trying to use this but it doesn't seem to make a difference. Or can the ID space simply not go beyond four digits?
Going to reuse disabled mod IDs or texture mod IDs, but just wondering about this anyway.
yes, it works and is a escape hatch for patching vanilla lines and/or using arbitrary ids in the strings files. it was also used to test proper decoding and reencoding of all vanilla strings while developing the encoder.
ID space is locked to 4 digits in order to partition a continuous string id range that was never used in the vanilla game. unfortunately at this point the community convention of using the nexusmod ID as ID space to prevent conflicts in user installations outlived itself. reusing some unused mod ID and hoping that no other mod in the user installation uses exactly the same id seems like the remaining option.
in any case: do not specify an id-space in the command line if you want to ignore it.
Open cmd.exe, then either put the full path of the executable (including the executable itself) or change to the directory where you put the executable and run it from there.
Ex. "The Witcher 3 Wild Hunt GOTY\w3strings Decoder\w3strings.exe" if you put download in your root Witcher 3 install folder.
took me couple of hours what should've been couple of minutes. everyone skips some steps in their description, assuming the reader knows em. modding tw3 guide documentation is poopoo
sorry for the rant and sure ,but i don't think im capable of writing smth that you'd publish rn and you'll end up writing it from scratch .im better for testings (noobs get stuck in places that seem too obvious to someone like you xD ) but ill surely do it when i get better at this. also appreciate all of your contribution to tw3 modding. thank you :)
This is a command line tool. You need to open a command line window in windows and type in the proper command line to start the tool. It will do its requested job and immediately terminates. There is no Graphical User Interface included. You may find an additional GUI on nexusmods (don't remember).
Pardon my stupidity. But I don't get it. Usually things like this don't take me long to master. When I start modding a new game, I watch video guides or read info from forums. But this time I'm at a complete loss as to what to do. Here let's say I decided to start learning modding witcher 3 with w3strings, with translations of mods for example. It would seem that there is nothing complicated here. Almost all other games that I modded I just had to open the file with notepad and replace the text. All this did not take more than 10 minutes. But here the situation is quite different. Just notepad can not open it. You need encoders and decoders. But I don't understand how to use them because of the lack of instructions. You said that we need to open a command line and enter the necessary lines. What lines? How to use your encoder? And I have already used the command line for texture mods for another game, but there I had no questions, because there was a detailed guide in the form of a video, everything was clear and I just repeated, so and mastered it. Again, here I do not understand anything. No adequate video guides, okay, this is too luxurious, how about a guide in the form of text and at the same time for newcomers to modding witcher 3? I'm certainly not all over the place, but I just want to understand how the hell do I get started? Let's take a situation right now where I want to translate a mod. To do that I need to change en.w3strings, right? Can you tell me what my next steps are? Let's say I open the command line and what? What lines should I write? And where do I put your encoder files? Perhaps there is some guide where all this is explained in detail, but I need it exactly particularly, for beginners. So that I don't just blindly write what you say without understanding anything. In short, I would like to know what to do? If you don't know a suitable guide, then tell me what are my steps in order after installing your file? Yeah, cyberpunk modding is much more beginner friendly, much more...
Edit: I just looked at the comments and you are there in detail exactly as I wanted you to write the instructions. But geez, why isn't it in the description? Do you really think that everyone understands everything and is already experienced?
It's not in the description because it is generally not possible to anticipate every user and their respective level of knowledge on required topics and possible pitfalls. While I did write extensive howtos, articles and try to answer question (if they are not already covered) on different topics in the past there will *always* be users who have a different, slightly new problem. Been there, done this, didn't get a t-shirt.
There is also the issue that I do have a (very!) limited amount of free time. So instead I encourage and hope that the community is healthy enough to help out each other while I generally try (or tried in the past) to use the time to provide new tools, e.g. the radish modding tools (no matter how much you think is required to make these things, I guarantee you it's more involved..).
In any case I hope you figured out how to use the encoders and started modding successfully. If not - there is some info in the nexusmods wiki on w3strings (https://wiki.nexusmods.com/index.php/W3_Strings,_their_IDs_and_Usage_in_Radish_Projects) which might help or you can ask questions in some of the more general w3 modding discord server(s) for help. Some experienced modders might give you some help if you ask them (nicely).
I'm trying to translate a mod but I get an error "ERROR - could not read line 7: stream did not contain valid UTF-8" The error appears because in Spanish there are words that have an accent, such as "vacío". The most obvious solution would be to add without accents but it is complicated because of how some are pronounced. Any ideas?
Forget it, I found a comment that said that I can save it and then with notepad++ I can change the encoding to utf-8, apparently excel changed the encoding to asci
how do you change the language ? i have a problem with arabic letters being every letter Separated and i think its because of the language doesn't link the letters correctly, i have no idea about changing language and this kind of stuff.
You change the language in your csv file. For example, an en.csv file contains:
;meta[language=en] ; id|key(hex)|key(str)| text ; 2114016000| |option_dlc_dctriss_defaultdlc|Dynamic Triss: Default to DLCYou change the language=en part, where "en" is English.
Since such a conversion is quite complicated and only solvable via available third party libs I don't think there is a workaround. Best option is to ask the original author for the source csv.
I've made a translation for Progress on the Path and all was fine when I started the game with the new de.w3strings file for the mod. Then I realized, that I missed a couple of entries related to map pin descriptions. So I translated those lines and made a few corrections to already translated lines as well. To my surpise, in game only the map pin descriptions updated according to the changes I've made in de.w3strings. But all strings for the mod's "Preview" section under the Glossary/Books tab remained unchanged. Are those lines somehow baked into a game save and can't be changed on a running game? EDIT: Checked a new game and the correct lines show now. Is there a way to make the game update the strings on a running game?
183 comments
Why is my .CSV file different? After decoding from en.w3strings, the contents of my CSV file do not have the unique IDs as expected,
like this:
;meta[language=en]
; id |key(hex)|key(str)| text
2119999100|00000000||My Mods Panel
2119999101|00000000||My Favorite Books
But my .CSV file looks like this:
;meta[language=en]
; id |key(hex)|key(str)| text
97959|20a1faa4||Hanged Man's Venom
97991|f878dd2f||Grapeshot
98013|bba0b800||Cat
As a result, when I try to encode the file, I get an error:
ERROR - id-space parameter required
w3strings decoder/encoder v0.4.1
Usage: w3strings.exe [options]
Options:
-d, --decode FILE.w3strings
decode w3string file to csv file
-e, --encode FILE.csv
encode csv file to w3string file
-i, --id-space nnnn check assigned string ids to be in id space
[211nnnn000..211nnnn999]. required for --encode
--force-ignore-id-space-check-i-know-what-i-am-doing
-h, --help print this help menu
-v, --verbose show debug messages
--very-verbose show more debug messages
-t, --test-encoder FILE.w3strings
decode w3string file and reencode it again while
preserving the order of all data as in original.
result file should be binary equal to original
-c, --test-csv FILE.csv
parse csv file and save it as csv again. result file
should be equal to original
If I use this option:
--force-ignore-id-space-check-i-know-what-i-am-doing
Will the .w3strings file still work and be readable in-game normally, or what will happen?
since you are using ids from the game (< 2110000000) in the csv file you can use the --force-ignore-id-space-check-i-know-what-i-am-doing option to override the strings (although you clearly do not know what you are doing :) )
here you can read a longer explanation of the workings: https://forums.cdprojektred.com/index.php?threads/utility-strings-encoder-for-adding-new-strings-new-ids-and-keys-as-standalone-w3strings-file.62959/
.\w3strings.exe -e .\mod\content\content10\nl.w3strings.csv -force-ignore-id-space-check-i-know-what-i-am-doing --encode
ERROR - Unrecognized option: 'f'.
.\w3strings.exe -e .\mod\content\content10\nl.w3strings.csv --id-space 0000000 --encode -force-ignore-id-space-check-i-know-what-i-am-doing
ERROR - Option 'encode' given more than once.
Going to reuse disabled mod IDs or texture mod IDs, but just wondering about this anyway.
ID space is locked to 4 digits in order to partition a continuous string id range that was never used in the vanilla game. unfortunately at this point the community convention of using the nexusmod ID as ID space to prevent conflicts in user installations outlived itself. reusing some unused mod ID and hoping that no other mod in the user installation uses exactly the same id seems like the remaining option.
in any case: do not specify an id-space in the command line if you want to ignore it.
Open cmd.exe, then either put the full path of the executable (including the executable itself) or change to the directory where you put the executable and run it from there.
Ex. "The Witcher 3 Wild Hunt GOTY\w3strings Decoder\w3strings.exe" if you put download in your root Witcher 3 install folder.
modding tw3 guide documentation is poopoo
but ill surely do it when i get better at this. also appreciate all of your contribution to tw3 modding. thank you :)
Edit: I just looked at the comments and you are there in detail exactly as I wanted you to write the instructions. But geez, why isn't it in the description? Do you really think that everyone understands everything and is already experienced?
There is also the issue that I do have a (very!) limited amount of free time. So instead I encourage and hope that the community is healthy enough to help out each other while I generally try (or tried in the past) to use the time to provide new tools, e.g. the radish modding tools (no matter how much you think is required to make these things, I guarantee you it's more involved..).
In any case I hope you figured out how to use the encoders and started modding successfully. If not - there is some info in the nexusmods wiki on w3strings (https://wiki.nexusmods.com/index.php/W3_Strings,_their_IDs_and_Usage_in_Radish_Projects) which might help or you can ask questions in some of the more general w3 modding discord server(s) for help. Some experienced modders might give you some help if you ask them (nicely).
I'm Japanese and I learned from this Japanese page. Use Google Translate to help
Please update this useful program for the new language introduces in NextGen (v4.0): Chinese (Simplified) = cnEdit: Nvm, for anyone having similar issues. You need to use "cleartext" as the language for Chinese (Simplified) for it to encode.
;meta[language=en]
You change the language=en part, where "en" is English.; id|key(hex)|key(str)| text
;
2114016000| |option_dlc_dctriss_defaultdlc|Dynamic Triss: Default to DLC
be;meta[language=en]
;meta[language=cleartext]
Looks like a UTF-8 <-> UTF-16 problem. Anyone knows how to solve it or whether it can be solved?
EDIT: Checked a new game and the correct lines show now.
Is there a way to make the game update the strings on a running game?