{
  "workbookTitle": "Data compression and social responsibility",
  "experimentText": "Text (up to 2,000 characters)",
  "resetExperiment": "Reset experiment",
  "bitrate": "Bitrate (Mbit/s)",
  "duration": "Duration per video (seconds)",
  "copies": "Number of videos",
  "capacity": "Storage capacity (MB)",
  "videoSummary": "Total size: {size} MB · Capacity: {capacity} MB. 1 MB = 1,000,000 bytes; 8 bits = 1 byte.",
  "invalidNumber": "Enter a valid number within the specified range. The last valid value remains saved.",
  "rleSummary": "Original: {original} UTF-8 bytes · RLE model: {encoded} bytes.",
  "rleCostNote": "Size model: the symbol’s UTF-8 bytes plus the decimal digits of its count. Displayed parentheses and commas are excluded. This is a teaching model, not a complete file format with headers and separators.",
  "decodedText": "Restored text",
  "previousStep": "Previous step",
  "nextStep": "Next step",
  "allSteps": "All steps",
  "dictionarySummary": "Words processed: {step} of {total}. Spaces and line breaks are preserved.",
  "dictionaryIndex": "Index",
  "dictionaryWord": "Word",
  "dictionaryCostNote": "The first occurrence of a word is kept literally; later occurrences are replaced by W1, W2, etc. The size model counts UTF-8 bytes of the representation and dictionary entries actually used, with one separator byte per entry: {size} bytes. Entries with no references are omitted from the final format. This is not a ZIP encoder.",
  "bitsSummary": "Original: {original} · After changing a bit: {changed}",
  "bitsNote": "Each character in the example password has eight bits (ASCII characters in one byte). Click a bit. At most one change is active; clicking it again undoes the change. Non-printable results appear as replacement characters. No real password is stored or checked.",
  "brightnessBlocks": "Brightness: block size",
  "colorBlocks": "Colour: block size",
  "imageSummary": "Brightness blocks: {y} × {y} · Colour blocks: {c} × {c} · Channel model: {size} bytes. One sample per brightness block and two per colour block, each 8 bits; this is not a JPEG file size.",
  "imagePreview": "Photo with averaged brightness and colour blocks",
  "imageLoading": "Loading photo …",
  "imageLoadFailed": "The photo could not be loaded. Reopen the experiment to try again.",
  "fileCount": "Number of files",
  "fileSize": "Payload per file (bytes)",
  "archiveOverhead": "Archive overhead (bytes)",
  "openTime": "Management overhead per file (milliseconds)",
  "transferRate": "Transfer rate (bytes/s)",
  "archiveSummary": "Individual files: {payload} bytes, {individual} s · Archive: {size} bytes, {archive} s.",
  "archiveCostNote": "Uncompressed archive model: the same payload plus archive overhead. Time = bytes / transfer rate plus management overhead per file. An archive can be larger yet faster; under different assumptions it can be slower. Times are calculated, not measured; no real ZIP file is created.",
  "storageScenario": "Data package",
  "storageSummary": "Package: {size} MB · Card: {capacity} MB · Missing space: {missing} MB.",
  "storageMap": "Areas proportional to file-group sizes; the table lists each group and its properties.",
  "storageName": "File or group",
  "storageSize": "Size (MB)",
  "storageInformation": "Properties",
  "openExperiment": "Open experiment",
  "src_common_answerPlaceholder": "Your answer ...",
  "src_common_showHint": "Show hint",
  "src_common_challengeTitle": "Challenges",
  "src_intro_heading": "Introduction",
  "src_intro_scenario": "A friend works for a government intelligence agency and has discovered that serious crimes against society are being covered up. He has access to videos, reports and photos showing what has happened and is determined to pass them to the press after his supervisor told him to ignore the situation. However, the data is held on computers in a heavily guarded facility with closely monitored internet access, so he cannot simply send it to journalists. There are also thousands of files taking up so much storage that they could fill hundreds of USB sticks. Smuggling them through the bag checks at the exit is very risky, so he wants to carry as few items as possible that could reveal his intentions. He knows you are good with technology and asks for help:",
  "src_intro_scenarioQuote": "What should I do? How can I get this enormous amount of data out of the building unnoticed?",
  "src_intro_ethicsIntro": "Before planning the technical solution: what do you think of his intentions?",
  "src_intro_ethicsQuestion": "Do you think it is good that he wants to act this way?",
  "src_intro_ethicsYes": "Yes",
  "src_intro_ethicsNo": "No",
  "src_intro_ethicsMaybe": "Maybe",
  "src_intro_ethicsFollowupYes": "What reasons support sharing the information despite the risk, in your view?",
  "src_intro_ethicsFollowupNo": "Can you imagine a situation in which secretly taking data out would be helpful and worthwhile?",
  "src_intro_ethicsFollowupMaybe": "What makes the decision difficult for you? Can you think of a situation in which your answer would clearly be yes?",
  "src_intro_technicalQuestion": "What technical advice would you give your friend?",
  "src_intro_answerTask": "Write down your recommendation.",
  "src_section0_heading": "Section 0: From the problem to the technology",
  "src_section0_sectionOpener": "In the introduction, you considered your friend’s dilemma. Now we will explore why file size and file type matter in his situation.",
  "src_section0_bridgeGoal": "Snowden needed to fit enormous amounts of data onto tiny memory cards. He therefore needed to know how much space different file types require and how to make them smaller. That is what we will investigate next.",
  "src_section0_snowdenIntro": "This introductory example is not entirely fictional. It is based on the true story of Edward Snowden, a technical employee of the <span class=\"gloss\" title=\"The National Security Agency is the largest foreign intelligence agency in the United States. The NSA monitors, deciphers and analyses electronic communications worldwide.\">NSA</span>, who stole data and shared it with the press. The data contained information about surveillance and violations of privacy and human rights. Edward Snowden is a prominent example of whistleblowing whose revelations changed the world. Below is a newspaper article reporting the events.",
  "src_section0_articleSummary": "Article text (Futurezone, 2019; English translation)",
  "src_section0_quoteSummary": "Excerpt from the autobiography Permanent Record (Edward Snowden, 2019; English translation of the German excerpt)",
  "src_section0_article_p1": "American whistleblower Edward Snowden smuggled data copied at the US intelligence agency NSA out of the building under Rubik’s Cube stickers, in socks or inside his cheek. The Süddeutsche Zeitung reported this on Saturday after interviewing Snowden over an encrypted video chat. The 36-year-old would publish his memoirs a few days later.",
  "src_section0_article_p2": "In 2013, Snowden exposed extensive surveillance by the US intelligence agency NSA. US authorities want to put him on trial, so he lives in exile in Russia.",
  "src_section0_article_p3": "At the time, he stored the data on very small micro- and mini-SD cards. “They fit anywhere,” he said. “First, I gave all my colleagues Rubik’s Cubes. They were everywhere, the guards were used to seeing them, and I quickly became known as the ‘Rubik’s Cube guy’,” Snowden said. The cards could fit under the stickers, inside a sock or inside his cheek.",
  "src_section0_article_p4": "The small size of SD cards also has a drawback: they are extremely slow to write to. Copying large amounts of data always takes a very long time—at least longer than you want—but it takes even longer when you are writing not to a fast hard drive but to a tiny silicon chip embedded in plastic. I was not just copying, either. I was deduplicating, compressing and encrypting, and not all those processes can run at once. I drew on every skill I had acquired in my work with data storage.",
  "src_section0_article_sourceLabel": "Source:",
  "src_section0_article_sourceLink": "<a href=\"https://futurezone.at/netzpolitik/edward-snowden-schmuggelte-daten-mit-zauberwuerfeln-raus/400605791\" target=\"_blank\" rel=\"noreferrer\">futurezone.at/netzpolitik/edward-snowden-schmuggelte-daten-mit-zauberwuerfeln-raus/400605791</a>",
  "src_section0_task1_title": "Exercise 1 – How much video fits on the SD card?",
  "src_section0_task2_title": "Exercise 2 – How many photos would fit?",
  "src_section0_task3_title": "Exercise 3 – What does compression have to do with it?",
  "src_section0_taskText": "Use the calculator to work out how much video fits on a 2-GB SD card. Try different bitrates and video lengths.",
  "src_section0_reflectionTask": "How did Edward Snowden benefit from being able to reduce file sizes through his extensive knowledge of data compression? Give at least two answers. Write down your ideas.",
  "src_section0_reflectionHint": "Use the book excerpt: what advantage does a smaller amount of data offer when copying data to a slow chip under time pressure? Snowden also had to smuggle the SD cards out of the building. How do smaller files help here?",
  "src_section0_photoTaskText": "Videos are not the only evidence your friend would need to take. Experiment with how many photos of a given file size would fit on the same card.",
  "src_section0_snowdenContrast": "According to Snowden, he took around 1.7 million files. If just one video or a few photos fill a large part of the card, it becomes clear that this would have been impossible without compression.",
  "src_section0_ratesTitle": "Quick guide to <span class=\"gloss\" title=\"Bitrate is the amount of data stored in a media file per unit of time, measured in bits per second (bit/s). A higher bitrate generally means better picture or sound quality, but also larger files.\">bitrates</span>",
  "src_section0_rates720pLow": "720p@30fps: approximately 660 Mbps uncompressed",
  "src_section0_rates720pHigh": "720p@30fps: approximately 99 Mbps with <span class=\"gloss\" title=\"Reducing data size, usually by removing redundant or unimportant information. At this level, the video loses no visible quality and is often recorded directly in this form.\">light compression</span>",
  "src_section0_rates720pStandard": "720p@30fps: approximately 5 Mbps with <span class=\"gloss\" title=\"Here, standard compression means typical everyday camera settings, such as those used in security cameras or phone cameras. Videos are compressed more strongly and often recorded directly this way to save storage.\">standard compression</span>",
  "src_section0_rates4kLow": "2160p@30fps: approximately 5970 Mbps uncompressed",
  "src_section0_rates4kHigh": "2160p@30fps: approximately 890 Mbps with <span class=\"gloss\" title=\"Reducing data size, usually by removing redundant or unimportant information. At this level, the video loses no visible quality and is often recorded directly in this form.\">light compression</span>",
  "src_section0_rates4kStandard": "2160p@30fps: approximately 40 Mbps with <span class=\"gloss\" title=\"Here, standard compression means typical everyday camera settings, such as those used in security cameras or phone cameras. Videos are compressed more strongly and often recorded directly this way to save storage.\">standard compression</span>",
  "src_section0_photoRatesTitle": "Quick guide to <span class=\"gloss\" title=\"A photo’s file size depends on its resolution, colour depth and compression. More pixels and less compression mean a larger file.\">typical photo sizes</span>",
  "src_section0_photoRatesPhone": "Phone photo (JPEG): approximately 2 to 5 MB",
  "src_section0_photoRatesCamera": "SLR camera (JPEG): approximately 5 to 15 MB",
  "src_section0_photoRatesRaw": "RAW/uncompressed: approximately 20 to 50 MB",
  "src_lossless_heading": "Section 1: Lossless compression",
  "src_lossless_sectionOpener": "In section 0, you saw how quickly storage fills up. Now you will learn methods that make files smaller without losing information.",
  "src_lossless_einstiegPattern": "Duck Duck Duck Duck Duck Duck Duck Duck Duck Duck Fox Badger Badger Badger Badger",
  "src_lossless_task1_title": "Exercise 1",
  "src_lossless_task1_question": "How would you describe this text to someone who cannot see it?",
  "src_lossless_task1_hint": "Would you really read “Duck” ten times, or simply say how many times it appears?",
  "src_lossless_afterTask1": "How much space a file needs depends not only on its content but also on how that content is described. There are strategies for representing the same content with fewer bits, without leaving anything out. These methods are called compression.",
  "src_lossless_task2_title": "Exercise 2 – Run-Length Encoding (RLE)",
  "src_lossless_task2_intro": "Run-Length Encoding (RLE) uses exactly the idea described above. Open the simulation, experiment with strings and observe how repetitions can be represented as tuples. Also complete the challenges in the sidebar.",
  "src_lossless_task2_challengesIntro": "These challenges are in the simulation’s sidebar. Each challenge requires a string at least 5 characters long:",
  "src_lossless_task2_challenge1": "Achieve savings of at least 50% (string at least 5 characters long).",
  "src_lossless_task2_challenge2": "Achieve negative savings (more characters than before; string at least 5 characters long).",
  "src_lossless_task2_challenge3": "Enter a string containing at least 10 identical consecutive characters.",
  "src_lossless_task2_a_text": "a) How can the original string be restored from the tuple sequence?",
  "src_lossless_task2_b_text": "b) Describe the RLE method in pseudocode. What would a program look like that converts a string to tuples and restores the string from tuples?",
  "src_lossless_task2_b_skeleton": "def encode(text):\n    result = []  # 2D array: e.g. [[symbol, count], ...]\n    i = 0\n    while i < len(text):\n        # TODO\n    return result\n\ndef decode(tuples):\n    result = \"\"\n    for item in tuples:\n        # TODO\n    return result",
  "src_lossless_task3_title": "Exercise 3 – Dictionary compression",
  "src_lossless_task3_intro": "Next, RLE is applied to an ordinary prose text. Look at the representation and then answer the questions.",
  "src_lossless_task3_dictFraming": "You have just noticed that RLE often does not work well on ordinary prose. Now look closely at how another method deals with it.",
  "src_lossless_task3_a_text": "a) Here, RLE is applied to the supplied example text. Describe the problem compared with compressing the string in exercise 2.",
  "src_lossless_task3_b_text": "b) Formulate an initial idea: how would a new compression algorithm need to work differently from RLE to exploit the typical structures and repetitions in ordinary prose more effectively?",
  "src_lossless_task3_c_text": "c) Express the dictionary method in pseudocode. Note: in the skeleton, <code>text</code> is already a list of words (without spaces).",
  "src_lossless_task3_c_skeleton": "def compress(text):\n    dictionary = []  # 2D array: e.g. [[code, word], ...]\n    result = []\n    next_code = 1\n    for word in text:\n        # TODO\n    return result, dictionary\n\ndef decompress(data, dictionary):\n    result = \"\"\n    for item in data:\n        # TODO\n    return result",
  "src_lossless_task4_title": "Exercise 4 – Encryption and compression",
  "src_lossless_task4_intro": "Encryption has a different goal from compression: it aims to stop people recognising patterns in the content. Good encryption deliberately makes data look random, hiding its visible structure. You can learn more in the optional “Encryption” section.",
  "src_lossless_task4_quotePlain": "Surveillance of the target continued on Thursday. During surveillance of the target, all digital data was collected. Data collection took place without a judicial warrant. As the target’s data is classified as strictly confidential, it was sent directly to headquarters. Deletion of the surveillance data is not planned.",
  "src_lossless_task4_quoteEncrypted": "U3VydmVpbGxhbmNlIG9mIHRoZSB0YXJnZXQgY29udGludWVkIG9uIFRodXJzZGF5LiBEdXJpbmcgc3VydmVpbGxhbmNlIG9mIHRoZSB0YXJnZXQsIGFsbCBkaWdpdGFsIGRhdGEgd2FzIGNvbGxlY3RlZC4gRGF0YSBjb2xsZWN0aW9uIHRvb2sgcGxhY2Ugd2l0aG91dCBhIGp1ZGljaWFsIHdhcnJhbnQuIEFzIHRoZSB0YXJnZXTigJlzIGRhdGEgaXMgY2xhc3NpZmllZCBhcyBzdHJpY3RseSBjb25maWRlbnRpYWwsIGl0IHdhcyBzZW50IGRpcmVjdGx5IHRvIGhlYWRxdWFydGVycy4gRGVsZXRpb24gb2YgdGhlIHN1cnZlaWxsYW5jZSBkYXRhIGlzIG5vdCBwbGFubmVkLg==<p><strong>Technical note:</strong> This string is Base64-encoded, not encrypted. Base64 can be decoded without a key and can still contain patterns.</p>",
  "src_lossless_task4_a_text": "a) Compare the readable and encrypted text. What do you notice? Why can the encrypted text hardly be reduced with RLE or dictionary compression?",
  "src_lossless_closing_title": "Final exercise",
  "src_lossless_closing_intro": "You have four files: a black-and-white document scan, a long unencrypted report, an encrypted document and a table of names and addresses.",
  "src_lossless_closing_text": "Assign the most suitable lossless method to each file.",
  "src_losslessOptional_heading": "Optional: Encryption",
  "src_losslessOptional_task1_title": "Exercise 1 – Patterns in data",
  "src_losslessOptional_task1_intro": "Recall RLE and the dictionary method from section 1.",
  "src_losslessOptional_task1_a_text": "a) Describe separately what RLE and the dictionary method each depend on to reduce data size.",
  "src_losslessOptional_task1_b_text": "b) Use this to formulate the prerequisite shared by both methods. Explain why both fail when the data lacks it.",
  "src_losslessOptional_task1_hint": "Think of the Duck–Fox–Badger string and the prose text in section 1. What did each method exploit, and what do the two cases have in common?",
  "src_losslessOptional_task2_title": "Exercise 2 – Encryption and structure",
  "src_losslessOptional_task2_intro": "Compare the three texts.",
  "src_losslessOptional_task2_quotePlain": "Surveillance of the target continued. During surveillance of the target, all data was collected.",
  "src_losslessOptional_task2_quoteCaesar": "Vxuyhloodqfh ri wkh wdujhw frqwlqxhg. Gxulqj vxuyhloodqfh ri wkh wdujhw, doo gdwd zdv froohfwhg.",
  "src_losslessOptional_task2_quoteEncrypted": "U3VydmVpbGxhbmNlIG9mIHRoZSB0YXJnZXQgY29udGludWVkLiBEdXJpbmcgc3VydmVpbGxhbmNlIG9mIHRoZSB0YXJnZXQsIGFsbCBkYXRhIHdhcyBjb2xsZWN0ZWQu<p><strong>Technical note:</strong> The displayed Base64 is an encoding, not encryption. Claims about random-looking ciphertext apply to suitable encryption methods.</p>",
  "src_losslessOptional_task2_a_text": "a) What structures can you recognise in the plaintext? To what extent can you still recognise them in the second text, and what happens to them in the third?",
  "src_losslessOptional_task2_b_text": "b) Which of the two encrypted texts is better suited to keeping content secret? Then explain why good encryption methods hide patterns in data.",
  "src_losslessOptional_task2_hint": "Look for repeated words and whether you can still recognise corresponding patterns in the second and third texts. Which text would probably be easier to decrypt without knowing the key?",
  "src_losslessOptional_closing_title": "Final exercise",
  "src_losslessOptional_closing_a_text": "a) Your friend encrypts a long report and then wants to reduce it using RLE or dictionary compression. Explain why this barely works. Refer to both previous exercises.",
  "src_losslessOptional_closing_b_text": "b) The file has not yet been encrypted. Would it be better to compress it first and encrypt it afterwards? Explain your assessment.",
  "src_losslessOptional_closing_hint": "Think about the step at which patterns still exist in the data and when they are lost.",
  "src_lossy_heading": "Section 2: Lossy compression",
  "src_lossy_sectionOpener": "Section 1 was about reducing file size while preserving exact content. Sometimes that is not enough, or the data has no simple repetitions. Other tools then come into play.",
  "src_lossy_task1_title": "Exercise 1 – Bit errors in a password and an image",
  "src_lossy_task1_intro": "Before experimenting with lossy image methods, look at what happens when exactly one bit is changed in a password or an image.",
  "src_lossy_task1_a_text": "a) Change one bit in the password and one in the image. Observe what happens. Which file type can tolerate bit errors, and which cannot?",
  "src_lossy_afterTask1": "Methods such as JPEG exploit properties of human vision: we do not perceive all image information equally precisely. Lossy methods deliberately remove information that is barely perceived. This is called <span class=\"gloss\" title=\"Removing data that is unlikely to be needed for the file’s purpose, such as subtle colour differences barely visible to the eye.\">irrelevance reduction</span>. First, however, we need to determine what information can be left out.",
  "src_lossy_task2_title": "Exercise 2 – A broad overview of how JPEG works",
  "src_lossy_task2_intro": "Browse the slides and read the explanations step by step.",
  "src_lossy_task2_slides_0_caption": "A digital image consists of many pixels, each storing colour and brightness.",
  "src_lossy_task2_slides_1_caption": "JPEG divides an image into regular blocks and stores a rough summary of brightness and colour for each. Model note: variable blocks and averages illustrate information loss. Real JPEG transforms fixed 8×8 blocks and quantises their frequency coefficients; its quality control does not change block size.",
  "src_lossy_task2_slides_2_caption": "Instead of storing each pixel separately, JPEG summarises values within a block. Model note: variable blocks and averages illustrate information loss. Real JPEG transforms fixed 8×8 blocks and quantises their frequency coefficients; its quality control does not change block size.",
  "src_lossy_task2_slides_3_caption": "Larger blocks mean fewer individual values and smaller files, but also fewer visible details within each block. Model note: variable blocks and averages illustrate information loss. Real JPEG transforms fixed 8×8 blocks and quantises their frequency coefficients; its quality control does not change block size.",
  "src_lossy_task2_slides_4_caption": "JPEG also uses a mathematical transformation followed by lossless compression. The block model in this section therefore explains only the basic principle, not every step of the actual method.",
  "src_lossy_task2_slides_5_caption": "Some methods, such as MJPEG (Motion JPEG), compress every individual frame of a video.",
  "src_lossy_task3_title": "Exercise 3 – What does the eye perceive?",
  "src_lossy_task3_intro": "Open the simulation. First experiment freely and complete the challenges in the sidebar. Then answer the questions.",
  "src_lossy_task3_challengesIntro": "These challenges are in the simulation’s sidebar:",
  "src_lossy_task3_challenge1": "File size below 20% of the original.",
  "src_lossy_task3_challenge2": "Facial details recognisable.",
  "src_lossy_task3_challenge3": "Eye colour recognisable.",
  "src_lossy_task3_a_text": "a) Which of the two controls allows a greater reduction before the image becomes unusable for you? Explain your decision.",
  "src_lossy_task3_b_text": "b) Your friend now suggests making only a small reduction with both controls, setting them to 4×4 pixels. You can still recognise the image quite well and save some space. Would you do the same?",
  "src_lossy_task4_title": "Exercise 4 – How much space is saved, and when?",
  "src_lossy_task4_intro": "In this simulation you can increase the block size step by step and observe the estimated file size. Try the levels and then answer the questions.",
  "src_lossy_task4_a_text": "a) Increase the block size gradually from 1×1 to 64×64 and observe the relative size indicator. Identify where the greatest jump in savings occurs.",
  "src_lossy_task4_b_text": "b) Your friend suggests compressing an evidence photo until details are only just recognisable, because this saves the most storage. Evaluate the suggestion using your findings from exercise 4a.",
  "src_lossy_task5_title": "Exercise 5 – Lossy compression of text",
  "src_lossy_task5_intro": "So far, you have explored lossy methods on images: they remove information that the eye barely perceives. Whether the same makes sense for text documents depends on another question: what happens when individual bits change?",
  "src_lossy_task5_a_text": "a) In exercise 1 of this section, you saw what happens when exactly one bit changes in a password or image. Now imagine a <span class=\"gloss\" title=\"Methods that reduce data size by deliberately removing or changing information, as with the image controls in exercises 3 and 4.\">lossy method</span> doing the same to text, changing or removing individual bits.<br><br>What would happen to <span class=\"gloss\" title=\"Ordinary prose that you can read in a text program, such as a .txt report.\">readable text</span>? And to a <span class=\"gloss\" title=\"A table with structured entries such as names, phone numbers or addresses, for example in a .csv file. Each value must be exactly right or the entry is unusable.\">contacts table</span>? Describe the difference.",
  "src_lossy_task5_a_hint": "Use your observations from exercise 1: for which file type was a single bit error immediately visible or fatal? In readable text, each letter depends on precisely the right bits. What happens when one changes? For example, “Surveillance continued” might become “Surveillxnce continued”—the text often remains understandable. In a contacts table, one bit error can corrupt a phone number or address. Consider whether the entry is still usable, as with the password in exercise 1.",
  "src_lossy_task5_b_text": "b) Your friend then suggests using a photo of the text instead of the text file, because images can be compressed well using lossy methods. In the materials folder (<code>Sektion 2</code>), inspect these two files in your file explorer: <code>test.txt</code> and <code>Screenshot.jpg</code> (a JPEG screenshot of an excerpt from the same text). Compare their sizes. The image could be compressed more strongly than JPEG normally does. Try this in the simulator. Evaluate whether this would really save storage.",
  "src_lossy_task5_b_hint": "Is the text still readable after you compress it enough to be smaller than the original text file? Could you also compress the text file itself, for example using the dictionary method?",
  "src_lossy_closing_title": "Final exercise",
  "src_lossy_closing_intro": "Your friend needs to share three evidence photos and a short surveillance video, each serving a different purpose. There is also an encrypted document and a short report.",
  "src_lossy_closing_a_text": "a) Assign the appropriate compression strategy to each of the four file types and explain your decision.",
  "src_lossy_closing_b_text": "b) Formulate a decision rule in three sentences:",
  "src_lossy_closing_b_s1": "Lossy compression makes sense when …",
  "src_lossy_closing_b_s2": "It is problematic when …",
  "src_lossy_closing_b_s3": "In my friend’s situation, I would therefore …",
  "src_filetypes_heading": "Section 3: File formats and metadata",
  "src_filetypes_sectionOpener": "You now know how to make files smaller. But your choice of format also determines what additional information is sent with them.",
  "src_filetypes_intro_p1": "So far, we have treated compression as a tool applied to an existing file. But there is an earlier question: what format is the file in?",
  "src_filetypes_intro_p2": "File formats determine what information is stored in addition to the actual content. This is called <span class=\"gloss\" title=\"Metadata is additional information about a file, such as its author, creation date, camera settings or editing history. It is not the actual content but can reveal the source.\">metadata</span>, and it also helps determine how the content is stored. Some of this additional information is useful. Some can be dangerous in certain situations.",
  "src_filetypes_task1_title": "Exercise 1 – Overhead in file formats",
  "src_filetypes_task1_intro": "The tool shows two files with identical text content: one .txt and one .docx.",
  "src_filetypes_task1_a_text": "a) Describe your observations: how do the files differ despite having the same content? Examine the .docx file’s internal structure. What <span class=\"gloss\" title=\"Metadata is additional information about a file, such as its author, creation date, camera settings or editing history. It is not the actual content but can reveal the source.\">metadata</span> and other components are not part of the visible text?",
  "src_filetypes_task1_b_text": "b) Explain how <span class=\"gloss\" title=\"Metadata is additional information about a file, such as its author, creation date, camera settings or editing history. It is not the actual content but can reveal the source.\">metadata</span> in a file could be a problem for your friend.",
  "src_filetypes_task1_c_text": "c) Your friend now says: “So .txt is always enough for text documents.” Think of a situation in which .docx would still be more appropriate.",
  "src_filetypes_task1_c_hint": "Think of situations in which formatting is part of the information, such as tables, headings, footnotes or a fixed layout that would be lost in .txt.",
  "src_filetypes_task2_title": "Exercise 2 – Metadata as a security risk",
  "src_filetypes_task2_intro": "Inspect the Word file in the materials folder and read its <span class=\"gloss\" title=\"Metadata is additional information about a file, such as its author, creation date, camera settings or editing history. It is not the actual content but can reveal the source.\">metadata</span>:<br><strong>Windows:</strong> Right-click → Properties → Details<br><strong>macOS:</strong> Select the file → ⌘+I → More Info<br><strong>Linux:</strong> Most desktop environments work like Windows: right-click → Properties. Otherwise, ask your teacher.",
  "src_filetypes_task2_a_text": "a) List the stored <span class=\"gloss\" title=\"Metadata is additional information about a file, such as its author, creation date, camera settings or editing history. It is not the actual content but can reveal the source.\">metadata</span> and evaluate each entry for your friend’s situation: harmless or problematic?",
  "src_filetypes_task2_c_text": "c) Your friend wants to delete dangerous entries individually by hand. Evaluate this approach and identify a more fundamental solution.",
  "src_filetypes_task2_c_hint": "A .txt file stores only readable text as a character sequence. Author details, editing history and other .docx metadata are not copied when exporting to .txt. The original file remains unchanged.",
  "src_filetypes_task3_title": "Exercise 3 – Open vs. <span class=\"gloss\" title=\"Proprietary means exclusively owned or vendor-specific. It describes legally protected products, technologies, formats or systems controlled solely by their developer or company.\">proprietary</span> formats",
  "src_filetypes_task3_intro": "The materials folder contains <code>kontakte.csv</code> and <code>kontakte.accdb</code> with the same data. Open both with a text editor and compare them.",
  "src_filetypes_task3_a_text": "a) What happens if the recipient does not have the software for .accdb?",
  "src_filetypes_task3optional_title": "Optional: More about <span class=\"gloss\" title=\"Proprietary means exclusively owned or vendor-specific. It describes legally protected products, technologies, formats or systems controlled solely by their developer or company.\">proprietary</span> formats",
  "src_filetypes_task3optional_intro": "This optional section explores the difference between open and <span class=\"gloss\" title=\"Proprietary means exclusively owned or vendor-specific. It describes legally protected products, technologies, formats or systems controlled solely by their developer or company.\">proprietary</span> formats through specific file types.",
  "src_filetypes_task3optional_b_text": "b) Compare open and <span class=\"gloss\" title=\"Proprietary means exclusively owned or vendor-specific. It describes legally protected products, technologies, formats or systems controlled solely by their developer or company.\">proprietary</span> formats. Which category would you choose for sharing, and what disadvantages would you accept?",
  "src_filetypes_task3optional_formatsSummary": "Expand or collapse file-format information",
  "src_filetypes_task3optional_formats_txt_title": ".txt (open)",
  "src_filetypes_task3optional_formats_txt_text": "A plain-text file standard without additional structure. Content is stored as a readable character sequence. Any text editor can open it. There is no built-in formatting, metadata or significant overhead. Often the safest choice for whistleblowers when only text content matters.",
  "src_filetypes_task3optional_formats_docx_title": ".docx (open container, but complex)",
  "src_filetypes_task3optional_formats_docx_text": "Technically a ZIP archive containing XML files for text, formatting, styles and metadata. Visible text is only part of the file. Advantage: headings, tables and layout are preserved. Disadvantage: larger files, more metadata and internal structure that can reveal information.",
  "src_filetypes_task3optional_formats_csv_title": ".csv (open)",
  "src_filetypes_task3optional_formats_csv_text": "Tabular data as plaintext with delimiters, usually commas or semicolons. Readable in any text editor without special software. Useful for data exchange when the structure should remain simple. No formulas, database logic or user interface.",
  "src_filetypes_task3optional_formats_accdb_title": ".accdb (<span class=\"gloss\" title=\"Proprietary means exclusively owned or vendor-specific. It describes legally protected products, technologies, formats or systems controlled solely by their developer or company.\">proprietary</span>)",
  "src_filetypes_task3optional_formats_accdb_text": "Microsoft Access database format. Stores tables, queries, forms and macros in a <span class=\"gloss\" title=\"Proprietary means exclusively owned or vendor-specific. It describes legally protected products, technologies, formats or systems controlled solely by their developer or company.\">proprietary</span> structure. The file cannot be meaningfully used without Access or compatible software. This creates a strong software dependency for the recipient.",
  "src_filetypes_task3optional_formats_png_title": ".png (open)",
  "src_filetypes_task3optional_formats_png_text": "A widely supported lossless image format. Suitable for screenshots, graphics and evidence photos when editing history should not be shared. Files are usually larger than heavily compressed JPEGs but widely readable.",
  "src_filetypes_task3optional_formats_psd_title": ".psd (<span class=\"gloss\" title=\"Proprietary means exclusively owned or vendor-specific. It describes legally protected products, technologies, formats or systems controlled solely by their developer or company.\">proprietary</span>)",
  "src_filetypes_task3optional_formats_psd_text": "Adobe Photoshop format with layers, masks, editing history and other working data. Fully usable only with suitable software, and often much larger than .png. A whistleblower would need to share it only if precisely this working data were required as evidence.",
  "src_filetypes_task3optional_psdQuestion": "c) In what situation might a whistleblower nevertheless need to share a <span class=\"gloss\" title=\"Proprietary means exclusively owned or vendor-specific. It describes legally protected products, technologies, formats or systems controlled solely by their developer or company.\">proprietary</span> format such as .psd?",
  "src_filetypes_task4_title": "Exercise 4 – Container formats",
  "src_filetypes_task4_intro": "Archive formats such as ZIP, 7z and RAR are widely used to share files. Such a format combines two functions: it acts as a container, combining many files into one, and compresses the content losslessly. It uses methods including the dictionary technique you already know, with an extension: a dictionary can be built across the entire container instead of starting again for each file.<p><strong>Technical note:</strong> ZIP normally compresses files individually. A shared dictionary across several files is possible, for example, in solid 7z or RAR archives.</p>",
  "src_filetypes_task4_a_text": "a) The tool simulates sending 10 separate text documents compared with sending a single archive containing those 10 files. Name advantages of bundling them into one file for both sender and recipient, regardless of whether the file becomes smaller.",
  "src_filetypes_task4_b_text": "b) Now consider compression: you first compress the 10 text documents individually using the dictionary method and add up their sizes. Putting the 10 uncompressed texts together in a RAR archive produces an archive much smaller than the sum of the separately compressed files. Explain why.",
  "src_filetypes_task4_c_text": "c) Your friend is enthusiastic about archives and puts 10 encrypted database files and 20 JPEG evidence photos into one. Will bundling them save a large amount of storage? Make a reasoned prediction using what you learned about encryption and compression in previous sections.",
  "src_filetypes_closing_title": "Final exercise",
  "src_filetypes_closing_a_text": "a) Inspect the files in the materials folder using your file explorer. Analyse the documents and assess whether format conversion is enough or manual cleanup is needed for each. Explain every decision. Optional: if you are already familiar with Word and Excel or alternative office software, you can carry out these measures yourself.",
  "src_filetypes_closing_b_text": "b) Formulate 3 tips for your friend, each as a sentence with the given beginning:",
  "src_filetypes_closing_b_t1": "If you want to send videos, then …",
  "src_filetypes_closing_b_t2": "If you want to share text documents anonymously, then …",
  "src_filetypes_closing_b_t3": "If you need to fit many files onto a small memory card, then …",
  "src_final_heading": "Section 4: Data management as a final exercise",
  "src_final_sectionOpener": "You now know the tools. In this section, you will apply them to an actual collection of files.",
  "src_final_task1_title": "Exercise 1 – Getting an overview",
  "src_final_task1_note": "There are three different packages on different storage devices, plus a tutorial. Your goal is to fit all the data onto a 16-GB memory card and remove problematic metadata. Each package requires different measures. Hover over files for more information. First inspect the scenarios and check whether you know all the file types. Explanations of all file types are provided below.",
  "src_final_task1_a_text": "a) Start with the tutorial (scenario 0) to practise using the treemap. Then open the simulator for each scenario. Select an action at the top (convert to a metadata-free format / remove metadata, compress losslessly, compress lossily or archive) and click the relevant files in the treemap. Goal: everything must fit on the 16-GB card and problematic metadata must be removed. To archive, select several files and combine them with one click. Incorrect clicks also count, even when nothing changes.",
  "src_final_task1_a_s0": "Scenario 0 (tutorial): Open simulator",
  "src_final_task1_a_s1": "Scenario 1: Open simulator",
  "src_final_task1_a_s2": "Scenario 2: Open simulator",
  "src_final_task1_a_s3": "Scenario 3: Open simulator",
  "src_final_task1_b_text": "b) Your friend asked you for technical advice at the very beginning, before you worked through this workbook.",
  "src_final_task1_b_thenLabel": "At the time, you recommended:",
  "src_final_task1_b_nowLabel": "What would you recommend now?",
  "src_final_closing_title": "Exercise 2 – Reflection",
  "src_final_closing_agree": "I agree",
  "src_final_closing_disagree": "I disagree",
  "src_final_closing_q1": "I can decide for myself which compression method is suitable for a new, unfamiliar file.",
  "src_final_closing_q2": "I could explain the difference between lossless and lossy compression to someone else.",
  "src_final_closing_q3": "I can check whether a file contains problematic metadata.",
  "src_final_closing_q4": "I think computing knowledge would have made a real difference to the safety of the friend and his sources in this situation.",
  "src_final_closing_q5": "I see a positive relationship between technical knowledge and personal freedom or safety.",
  "src_final_closing_q6": "The workbook taught me hardly anything new.",
  "src_final_closing_q7": "I already knew about compression methods before working through this workbook.",
  "src_final_plenum_title": "Class discussion",
  "src_final_plenum_note": "The following questions are prompts for a shared discussion:",
  "src_final_plenum_q1": "Could the scenario have been resolved without computing knowledge? What does this imply about who should have access to that knowledge?",
  "src_final_plenum_q2": "In what situations might you find yourself in a similar position in the coming years or decades?",
  "src_final_plenum_q3": "What would be needed for this knowledge to benefit society rather than only individuals?",
  "src_widget_bitflip_passwordLabel": "Password",
  "src_widget_bitflip_imageLabel": "Image (128 × 128 pixels)",
  "src_widget_bitflip_flipButton": "Flip one bit",
  "src_widget_rle_challenges_save50": "Achieve savings of at least 50% (string at least 5 characters long).",
  "src_widget_rle_challenges_negativeSaving": "Achieve negative savings (more characters than before; string at least 5 characters long).",
  "src_widget_rle_challenges_longRun": "Enter a string containing at least 10 identical consecutive characters.",
  "src_widget_dict_dictTableLabel": "Dictionary table",
  "src_widget_blockSize_original": "Original",
  "src_widget_efficiency_reasonPrompt": "Reason for your assignment:",
  "src_widget_efficiency_optionRle": "RLE",
  "src_widget_efficiency_optionDict": "Dictionary",
  "src_widget_efficiency_optionNone": "None",
  "src_widget_efficiency_files_0_feedbackWrong": "In prose, whole words repeat rather than individual characters. Which method can replace those repeated words with short references?",
  "src_widget_efficiency_files_1_feedbackWrong": "Consider what an encrypted file looks like. Does it still contain recognisable repetitions or patterns that compression could exploit?",
  "src_widget_efficiency_files_2_feedbackWrong": "Many identical words occur repeatedly in the table, such as town and street names. Which method can replace those repeated words with short references?",
  "src_widget_efficiency_files_3_feedbackWrong": "A black-and-white scan has many long runs of identical pixels, such as white areas and black lines. Which method exploits precisely these pixel-level repetitions?",
  "src_widget_fileInspector_txtFilename": "bericht.txt",
  "src_widget_fileInspector_txtSize": "144 bytes",
  "src_widget_fileInspector_txtContent": "Sehr geehrte Damen und Herren,\n\nhiermit möchten wir uns für die\ngute Zusammenarbeit bedanken.\n\nMit freundlichen Grüßen\nIhr Muster-Team",
  "src_widget_fileInspector_docxFilename": "bericht.docx",
  "src_widget_fileInspector_docxSize": "~13.5 KB (13,460 bytes)",
  "src_widget_fileInspector_contentTypesDesc": "Definitions for images, XML, stylesheets, etc.",
  "src_widget_fileInspector_relsDesc": "Relationships between files",
  "src_widget_fileInspector_coreDesc": "Author, creation date, modification date",
  "src_widget_fileInspector_appDesc": "Application details (Word version, pages)",
  "src_widget_fileInspector_documentDesc": "The formatted text displayed in Word",
  "src_widget_fileInspector_stylesDesc": "Fonts and layout",
  "src_widget_fileInspector_visualLabel": "What the visible content looks like",
  "src_widget_fileInspector_structureLabel": "Internal structure (.docx as a ZIP container)",
  "src_widget_textVsJpeg_zoomLabel": "Zoom",
  "src_widget_lossyClosing_reasonPrompt": "Reason for your assignment:",
  "src_widget_lossyClosing_optionLossy": "Lossy",
  "src_widget_lossyClosing_optionLossless": "Lossless only",
  "src_widget_lossyClosing_optionNone": "Not worthwhile",
  "src_widget_lossyClosing_files_0_feedbackWrong": "In this section you compressed images using controls. For which file type does deliberately removing image information make sense?",
  "src_widget_lossyClosing_files_1_feedbackWrong": "A video is a sequence of images. Which type of compression did you try on images in this section?",
  "src_widget_lossyClosing_files_2_feedbackWrong": "What happens to readable text when individual bits change? Which compression method from section 1 would be suitable here?",
  "src_widget_lossyClosing_files_3_feedbackWrong": "What does encrypted content look like? Does it contain patterns that compression could exploit? What happens if bits change?",
  "src_widget_zipArchive_simulateButton": "Simulate transfer",
  "src_widget_zipArchive_faq_0_q": "Why are the total sizes almost the same?",
  "src_widget_zipArchive_faq_0_a": "The total size is almost the same in both scenarios ({sizeHint}). No compression takes place here yet; the files are only bundled into a container.",
  "src_widget_zipArchive_faq_1_q": "Why is transferring the archive faster?",
  "src_widget_zipArchive_faq_1_a": "The {overhead} for copying a new file occurs only once for an archive, while separate files incur it individually. The more files there are, the more noticeable the difference.",
  "src_widget_zipArchive_faq_2_q": "Why does the simulation seem so slow?",
  "src_widget_zipArchive_faq_2_a": "For so few small files, the difference would be barely noticeable on modern drives. The simulation therefore shows a greatly slowed-down representation of copying.",
  "src_widget_zipArchive_faq_3_q": "Can I reproduce the difference on my own computer?",
  "src_widget_zipArchive_faq_3_a": "If you have many small files totalling more than 10 GB on an SSD, you can investigate this by copying all individual files at once and comparing the duration with copying the archive.",
  "src_widget_filesystem_fileTypesOverview_items_0_ext": ".mp4",
  "src_widget_filesystem_fileTypesOverview_items_0_label": "Video file",
  "src_widget_filesystem_fileTypesOverview_items_0_text": "Combines picture and audio tracks. Metadata such as duration, author and often creation date is stored alongside the image data.",
  "src_widget_filesystem_fileTypesOverview_items_1_ext": ".txt",
  "src_widget_filesystem_fileTypesOverview_items_1_label": "Text document",
  "src_widget_filesystem_fileTypesOverview_items_1_text": "Contains only plaintext without formatting. No metadata is embedded in the file content; only the file-system entry (name, modification date) provides additional information.",
  "src_widget_filesystem_fileTypesOverview_items_2_ext": ".csv",
  "src_widget_filesystem_fileTypesOverview_items_2_label": "Tabular data",
  "src_widget_filesystem_fileTypesOverview_items_2_text": "A text format with delimiters between columns and, like .txt, no embedded metadata.",
  "src_widget_filesystem_fileTypesOverview_items_3_ext": ".docx",
  "src_widget_filesystem_fileTypesOverview_items_3_label": "Text document (Word)",
  "src_widget_filesystem_fileTypesOverview_items_3_text": "An archive containing several XML files. Stores detailed metadata (author, creation date, application) in separate XML files, as well as formatting information.",
  "src_widget_filesystem_fileTypesOverview_items_4_ext": ".raw",
  "src_widget_filesystem_fileTypesOverview_items_4_label": "Image file (raw data)",
  "src_widget_filesystem_fileTypesOverview_items_4_text": "Unprocessed camera data, very large. Metadata such as exposure and camera model is often embedded or stored in a separate file.",
  "src_widget_filesystem_fileTypesOverview_items_5_ext": ".tiff",
  "src_widget_filesystem_fileTypesOverview_items_5_label": "Image file",
  "src_widget_filesystem_fileTypesOverview_items_5_text": "A lossless image format often used for scans and archiving. Metadata such as resolution, recording time and location is stored.",
  "src_widget_filesystem_fileTypesOverview_items_6_ext": ".psd",
  "src_widget_filesystem_fileTypesOverview_items_6_label": "Image file (Photoshop)",
  "src_widget_filesystem_fileTypesOverview_items_6_text": "Stores layers, editing stages and working information alongside the image, making it very large. Metadata and editing history are integral to the format.",
  "src_widget_filesystem_fileTypesOverview_items_7_ext": ".enc + .7z / .zip / .rar",
  "src_widget_filesystem_fileTypesOverview_items_7_label": "Encrypted archive",
  "src_widget_filesystem_fileTypesOverview_items_7_text": "Bundles several files in a container with a directory listing of names and sizes. Encrypted content is unreadable without a key and compresses poorly.",
  "src_widget_filesystemSimulator_scenarios_s0": "Tutorial",
  "src_widget_filesystemSimulator_scenarios_s1": "Scenario 1",
  "src_widget_filesystemSimulator_scenarios_s2": "Scenario 2",
  "src_widget_filesystemSimulator_scenarios_s3": "Scenario 3",
  "src_widget_filesystemSimulator_noToolHint": "Select an action first. Hover over a file to see its information.",
  "src_widget_filesystemSimulator_tools_convert_label": "Convert to a metadata-free format / Remove metadata",
  "src_widget_filesystemSimulator_tools_convert_hint": "Removes all metadata and converts the format, for example .docx → .txt or .raw → .png. Click a file.",
  "src_widget_filesystemSimulator_tools_lossless_label": "Compress losslessly",
  "src_widget_filesystemSimulator_tools_lossless_hint": "Dictionary method or lossless image formats. Click a file.",
  "src_widget_filesystemSimulator_tools_lossy_label": "Compress lossily",
  "src_widget_filesystemSimulator_tools_lossy_hint": "Stronger reduction, for example re-encoding video or using JPEG. Click a file.",
  "src_widget_filesystemSimulator_tools_archive_label": "Archive",
  "src_widget_filesystemSimulator_tools_archive_hint": "Select several files (yellow border), then choose “Create RAR archive”.",
  "src_widget_filesystemSimulator_metadataYes": "still present",
  "src_widget_filesystemSimulator_metadataNo": "none remaining",
  "src_widget_filesystemSimulator_archiveCreate": "Create RAR archive",
  "src_widget_filesystemSimulator_archiveMetadataError": "You can no longer see metadata inside the archive, but it would reappear when extracted. Remove problematic metadata first.",
  "src_widget_filesystemSimulator_success": "Success! Everything fits on the card and no problematic metadata remains! You needed {steps} steps.",
  "src_widget_filesystemSimulator_tutorialTitle": "Practise the controls",
  "src_widget_filesystemSimulator_tutorialSteps_hover": "Hover over a file (information in tooltip)",
  "src_widget_filesystemSimulator_tutorialSteps_tool": "Select an action at the top",
  "src_widget_filesystemSimulator_tutorialSteps_click": "Click a file",
  "src_widget_filesystemSimulator_tutorialSteps_status": "Check the status bar (space used / metadata)",
  "src_widget_efficiency_files_0_nativeLabel": "Long unencrypted report — Several pages of prose (.txt), with frequent repetitions of words such as “the”, “surveillance” or “target”.",
  "src_widget_efficiency_files_1_nativeLabel": "Encrypted document — An encrypted file whose content is unreadable without a key and appears as a random bit sequence.",
  "src_widget_efficiency_files_2_nativeLabel": "Table of names and addresses — A CSV table with 50,000 entries. Many people share the same town, street, postcode or surname.",
  "src_widget_efficiency_files_3_nativeLabel": "Black-and-white document scan — A scanned document, such as a handwritten letter in an image format. Large white areas with black text.",
  "src_widget_lossyClosing_files_0_nativeLabel": "Evidence photos — Three photos with different purposes: a crime scene with a number plate, a person to be identified, and a document as an image.",
  "src_widget_lossyClosing_files_1_nativeLabel": "Surveillance video — A short surveillance video, for example MJPEG.",
  "src_widget_lossyClosing_files_2_nativeLabel": "Short unencrypted report — A readable prose document (.txt). Every letter depends on exactly the right bits.",
  "src_widget_lossyClosing_files_3_nativeLabel": "Encrypted document — An encrypted file whose content is unreadable without a key and appears as a random bit sequence.",
  "jpegImage0": "workbookresources/compression/jpeg-slide-1.png",
  "jpegImage1": "workbookresources/compression/jpeg-slide-2.png",
  "jpegImage2": "workbookresources/compression/jpeg-slide-3.png",
  "jpegImage3": "workbookresources/compression/jpeg-slide-4.png",
  "jpegImage4": "workbookresources/compression/jpeg-slide-5.png",
  "jpegImage5": "workbookresources/compression/jpeg-slide-6.png",
  "modelAssumptions": "Simulation using the original assumptions: 16 GiB capacity, fixed compression factors and 48 MiB archive overhead. These are not measured values. Format conversion can lose formatting, layers and working information; keep the originals.",
  "pixelNote": "128 × 128 monochrome pixels = 16,384 bits. One bit flips exactly one pixel.",
  "jpegModelNote": "Block averages are a teaching model, not a JPEG encoder. The estimate is not a measured file size. Facial details (brightness block ≤ 4) and eye colour (colour block ≤ 32) are evaluated using the controls; check their visibility yourself.",
  "inspectorNote": "Same letter text: {size} UTF-8 bytes. The DOCX size of {docxSize} bytes is the original example’s assumed value, not a measurement of the material file. The example letter retains its original German wording in both representations.",
  "binaryUnits": "Like the original, these scenarios use 16 × 1024³ bytes = 16 GiB. The original label “16 GB” is imprecise.",
  "transferNote": "Slowed-down process model: the ten original texts are bundled without compression. Archive overhead: 320 bytes. Speeds are not measured values.",
  "comparisonEmpty": "No technical recommendation has been entered in the introduction yet.",
  "photoSummary": "{capacity} MB can hold {count} photos of {size} MB each (decimal).",
  "photoSize": "Size of one photo (MB)",
  "pause": "Pause",
  "play": "Start / Resume",
  "speed": "Step duration (ms)",
  "tableExpand": "Show entire table",
  "materialsDownloads": "<p><a href=\"../../resources/programs/20260907Datenkompression/Material.zip\">Download all original materials (ZIP)</a> · <a href=\"../../resources/programs/20260907Datenkompression/Material/Sektion%203/Aufgabe%202/Geheimes_Dokument.docx\">Word file with metadata</a> · <a href=\"../../resources/programs/20260907Datenkompression/Material/Sektion%203/Aufgabe%203/kontakte.csv\">Contacts CSV</a> · <a href=\"../../resources/programs/20260907Datenkompression/Material/Sektion%203/Aufgabe%203/kontakte.accdb\">Contacts Access</a> · <a href=\"../../resources/programs/20260907Datenkompression/Material/Sektion%202/test.txt\">Screenshot text</a></p>",
  "simulationSummary": "Used: {size} MiB · Capacity: {capacity} MiB · Missing space: {missing} MiB.",
  "screenshotFormatNote": "The original material file “Screenshot.jpg” actually contains PNG data. Its pixels serve as the starting image here; the controls do not create a JPEG file. The size comparison is a teaching-model estimate.",
  "inspectorFormattedLetter": "<p>Sehr geehrte Damen und Herren,</p><p>hiermit möchten wir uns für die <strong>gute Zusammenarbeit</strong> bedanken.</p><p>Mit freundlichen Grüßen<br><em>Ihr Muster-Team</em></p>",
  "fileSummary": "Used: {size} / 16 GiB · {count} files · Steps: {steps} · Problematic metadata: ",
  "fileBytes": "Size",
  "fileMetadata": "Metadata / file type",
  "groupFileCount": " ({count} files)",
  "bitsUnchanged": "0 bits changed",
  "bitChangedAt": "1 bit changed: {index}",
  "transferSummary": "Separate files: {count} transfers, {payload} bytes. Archive: 1 transfer, {size} bytes.",
  "transferDone": "Done",
  "transferReady": "Ready",
  "transferAllocate": "Allocate storage",
  "transferOpen": "Open file",
  "transferCopy": "Copy data",
  "transferClose": "Close file",
  "managementOverhead": "management overhead",
  "imageTextComparison": "Teaching-model estimate: {size} bytes · Text file: {textSize} bytes · Difference: {difference} bytes. Check whether the text is still readable.",
  "estimatedSize": "Estimate: ~{percent}%",
  "blockSizeSummary": "Original: {original} bits · Block model: {encoded} bits · Savings: {saving} bits",
  "moreDictionaryEntries": "… {count} more dictionary entries"
}
