How does one decode a language? I bought a book the other day, and its like 3,000 pages worth of stuff. I'd like to read my book, but I'm not sure what language it's in or it's grammar, so what does the process of decoding a language look like? Who would I ask about this? How long would it take? Is it worth it?
The first step is to look for any indication where the book came from, for instance if the publisher is in Jammu, you would start looking at languages spoken in that (very) general area. I can write a book in English about things that happen in Central Africa, so you can only make limited use of subject matter or place of publication indicators.
Assuming there is no such information, and assuming that it is written in an unfamiliar script, you can look here. Ultimately what you need to do is compare your samples to all known scripts, which is a big but at least finite task. You might discover that it is written in Ancient South Arabian Script, which lets you eliminate many languages from consideration. Omniglot is the most-widely used online resource for looking up scripts. One problem is that most sources suppose that you have some idea what the history and typology of the script is, but you are asking about a script that you know nothing about.
Therefore you have to engage in pioneering efforts at decipherment. However, before getting too serious about that, you might look at other indicators, such as any artwork. Most places don't have Roman aqueducts; potted plants are a modern western development; Hellboy is a kind of contemporary meme. This raises the possibility, indeed probability, that the work is a modern western concoction. From the linguistic POV, this means you also have to consider that the supposed "language" is not a language, it is art that visually suggests "language". It could also be a con-script (constructed, not as in con-artist). Whereas actual language scripts are generally known (somewhere, perhaps not actually used), there are many con-scripts known only to a few people.
The first thing you do is collect all of the individual units. In your page, we can see a certain number of identifiable units, such as a think that looks like K and a thing that looks like F, then ò and so on. To the extent that you can reduce the system to a small set of recurring graphic units, you have taken the first stem towards decipherment. If you end up with 200 such units, that suggests one kind of system; 20 units suggests a different kind; 5000 suggests another kind (syllabary, alphabet, ideographic). This information may facilitate the slog through Omniglot or similar resources. In the present case, you should probably start here with the list of con-scripts.
If you can determine that the writing is e.g. "Ethiopic" (which it is not) then you follow a much more focused path, looking for presence of absence of certain letters which might rule out Amharic or rule in Blin. Then, if you can't find a speaker of the candidate languages to do the translation for you, you have to learn enough about the script and grammar to decide "No, that verb form is wrong for Blin, it could be Tigrinya".
User6726's answer addresses how to decipher the text if you're able to identify the script (or at least a relationship to a known script), and does so well, but I'll attempt to address how you might decipher it if you aren't able to do so.
Deciphering unknown scripts can be hard, and if the language it writes (or a related one) is not documented can be even harder or essentially impossible.
The first thing you'd want to do is gather a list of distinct signs, together with their frequencies.
If this text actually encodes language, you'll expect this distribution to roughly follow Zipf's law. If it is wildly different it probably doesn't contain actual linguistic information.
As in user6726's answer, the number of distinct signs tells you something about the nature of the script. If there are thousands of signs, you're probably dealing with a logography (like Chinese hànzì); if there are hundreds it's probably a syllabary (like Japanese hiragana) or an abugida (like devanagari) if you can form a syllable table with each cell reasonably regularly derivable from the others in its series (each series will probably correspond to a consonant, and the columns to differing vowels); and otherwise it's probably an alphabet (like Latin) or an abjad (like Arabic).
Once you know the type of script, you can then make guesses as to the language and perform a frequency analysis, comparing the sign frequencies to the language (likely excluding signs you believe are punctuation, but it may be worth repeating with them included in case they are not actually punctuation).
For logographies you'll want to compare to word or morpheme frequencies, for syllabaries you'll want to compare to syllable frequencies, for alphabets you'll want to compare to phoneme frequencies (or possibly to letter frequencies if it may encode another writing system rather than the actual sound, something common in con-scripts made by people without much experience), and for abjads you'll want to compare to consonant frequencies. Abugidas can be treated as abjads (only looking at whole series) and separately comparing each column to vowel frequencies or can be treated as a syllabary (although this is likely to be more work and less effective).
This allows you to make guesses as to the values of certain signs which you can then use to try to transcribe parts of the text and see if it produces a comprehensible output.
As this relies on statistical methods it will generally be easier the larger your sample is. Deviations from expected sign frequencies will typically diminish like the square root of the size of the text due to the central limit theorem.