From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.haj.ipfire.org (localhost [IPv6:::1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4fHT5m63fHz33gg for ; Fri, 20 Feb 2026 11:48:12 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (Client CN "mail01.haj.ipfire.org", Issuer "R12" (not verified)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4fHT5j3Mmxz2xMD for ; Fri, 20 Feb 2026 11:48:09 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4fHT5h3yX8z1PK for ; Fri, 20 Feb 2026 11:48:08 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1771588088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HEPyDy5+ahIGCUDxciWe6krcgye2/TD/LrefRJM6vQg=; b=EnM4dpjXDiW6tKgFxKKtM4gtSnoxafBa8LW9nEtOeUWW/m6s+bqe7WVAb2xZs/KWEeiNZY YVEAkhfk5RAK27Bg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1771588088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HEPyDy5+ahIGCUDxciWe6krcgye2/TD/LrefRJM6vQg=; b=QeW5WwG7skV3BpLUkartj1B9J0LuiXpjft8JQxi4cyXVKr1MOyqHZMdvvLKKm1sW/RQp1q RkTQir3t9MDXVQeWm8+6ggtAhLajp61l7TDOLtYIn7yEVxnZJuSqqH7Gc+0eNTmJZgMqR2 nUbsC5jwQh1tfWMjVSZbnDKpvYc6yRg+FDX4YjdpXr9K2MB3yzgZnXCC+lNLaHQM5k+8Hj AhBmgE/2zmOfNW1QDHb2oUpli1nOf7ZzfLZWt6tYDwsJ3qWZF5ksrRHD74nlaa2o66pD5f FX/U8bZuwkdpvwsFP5AFt0Mt8K+5eUUi61/M/MQmetomFGWsb6n8zPeuVTfVcA== Message-ID: Date: Fri, 20 Feb 2026 12:48:04 +0100 Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: MIME-Version: 1.0 Subject: Re: [PATCH] Translated using Weblate (German) To: development@lists.ipfire.org References: <20260218074010.2248158-1-translate@ipfire.org> <20260218074010.2248158-2-translate@ipfire.org> <2F7A516F-3EF5-4D1E-ACA5-20AD038CA95D@ipfire.org> <69620bad-d2be-42b4-87eb-d38553e2f838@ipfire.org> <0A773C0D-D759-4930-9449-76AA62187AAF@ipfire.org> <27b80383-1942-4199-803a-67280b9437a8@ipfire.org> Content-Language: en-GB From: Bernhard Bitsch In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hello, What did I do playing with the translator? ;) IT ( or informatics ) terminology in German has two sides, IMO. The science has created many German terms. 'Übersetzer' for the task 'compiler', for example. But even on that basis not all English terms are translated. I remember the attempt of a great German electronics company to use DAU ( Digital-Analog-Umsetzer ) for the DAC device. Today more and more English words find their way into German texts. Is it just easy not to search for an native word? Don't know. With measurement units I prefer the native usage ( no plural ). The informal German usage seems a bit sloppy to me. ( I never use 'Pizzen' as plural of 'Pizza', e.g. ) Regards Bernhard Am 20.02.2026 um 12:02 schrieb Michael Tremer: > Hello, > > Okay, I am now lost :) > > I don’t even understand any more what I was suggesting yesterday. > > On top of that comes that Weblate went ahead and used some automatic translation which made things worse: > > diff --git a/po/de.po b/po/de.po > index a6c180f..6c817a9 100644 > --- a/po/de.po > +++ b/po/de.po > @@ -107,10 +107,10 @@ msgid "B" > msgstr "B" > > msgid "Bytes Read" > -msgstr "gelesene Bytes" > +msgstr "Gelesene Byte" > > msgid "Bytes Written" > -msgstr "geschriebene Bytes" > +msgstr "Geschriebene Byte" > > msgid "Incoming Traffic" > msgstr "Eingehender Verkehr” > > I asked Claude about what it should be and I got this: > > The plural form is used in axis labels: > > "Bytes" and "Bits per Second" are both correct for axis labels. > > The grammatical concept is straightforward: axis labels describe a unit of measurement as a quantity, and since the values on the axis represent varying amounts (not exactly one), the plural is used as the default. > You're essentially saying "this axis represents some number of bytes" — and that number is rarely exactly 1. > > However, there's a nuance worth knowing: in formal scientific and SI (International System of Units) notation, unit symbols are never pluralized — so you'd write "B" not "Bs", and "bps" not "bpss”. > But when you spell out the full word, standard English grammar applies and you use the plural. > > So in practice: > • Abbreviated: "Memory Usage (MB)" — no plural on the symbol > • Written out: "Memory Usage (Megabytes)" — plural on the word > > So far so good, but then I asked what we do in German: > > In German, you actually use the singular form for units of measurement, even when the quantity is more than one. This is a grammatical rule in German where units of measurement after a number remain in the singular: > > • "5 Byte" — not "5 Bytes" > • "100 Megabyte" — not "100 Megabytes" > > This follows the broader German rule where certain masculine and neuter nouns (which most units of measurement are) don't take a plural ending after a numeral. > You see the same pattern with "5 Kilometer", "3 Liter", "10 Meter" — all stay in the singular. > > That said, in colloquial and informal German, you'll often hear and see "Bytes", "Megabytes" etc. because English has heavily influenced tech vocabulary in German. > But formally and grammatically, the singular is correct. > > So for a German graph axis you'd write "Speichernutzung (Byte)" rather than "Speichernutzung (Bytes)”. > > So, we will have to make a decision here. English is absolutely clear. Which means that my former rule of singular -> singular, plural -> plural is wrong. It sadly isn’t that simple. > > But that might bring us to the limits of what the translation system can do. Sadly there is no context that comes with the strings. So “Bytes” could just be a headline somewhere where it would be translated as “Bytes”, but it could be used in the legend of a graph where “Bytes” would be translated as “Byte”. This is what Bernhard suggested in the beginning. > > Weblate is using Amazon for the automatic translation, but it does not have any context. It simple sends a string and will receive the response. That means that Amazon is inferring from somewhere that “Bytes Written” is a label for a graph and went to singular in German. So let’s follow this precedent and keep those things then. Let’s do it right. > > But if we are hitting too many issues, I am really not afraid to follow Claudes suggestion to just use Denglish and follow English grammar rules. It is becoming too hard to translate things anyways. Amazon for example got a couple of things wrong: > > https://patchwork.ipfire.org/project/ipfire/patch/20260219191359.2495613-1-translate@ipfire.org/ > > “Rate Information” was translated as “Pricing Information”. Close, but wrong. This is about the wireless bandwidth that was negotiated between the AP and the client. “Uptime” has been translated to “Betriebszeit”. This is technically a valid translation, but who says this. Don’t we just use “Uptime” in German, too? > > I would like to take this as an opportunity to talk about our translation policy in a wider sense. Before we allow people to start translating things, there should be some clear rules in place so that the translation becomes coherent and not all over the place. For example, German (and I believe Dutch as well) are using a lot of English words in IT as they are. Documentation is rarely translated these days and so this is simply what things are called. Translating “Logs” to “Protokolle” seems alien to me. A log is a log. I would prefer to rather use the English words instead of trying to be very pure and translate everything so that people will have to think twice when they read something. It is easy to figure out, but an “Intrusion Prevention System” isn’t really an “Einbruchsverhinderungssystem” in my brain. > > Can I have some more thoughts on this? As well from people who are native speakers of other languages than German? I know that French is much more pure and does not easily use English loanwords. What should the policies be for these languages? > > All the best, > -Michael > >> On 19 Feb 2026, at 17:26, Adolf Belka wrote: >> >> Hi All, >> >> On 19/02/2026 17:52, Michael Tremer wrote: >>> Hello, >>>> On 19 Feb 2026, at 16:49, Bernhard Bitsch wrote: >>>> >>>> Hello Michael, >>>> >>>> First a short explanation. I discovered IPFire Translate while reading a community thread and just tried to discover the purpose and using. >>>> >>>> The units for data amount are Bit and Byte, which give the transfer rates Bit/second an Byte/second. >>>> Your example shows the memory usage graph ( measured in Byte ). >>>> To be exact, the unit of the graph should read 'Byte'. >>>> >>>> I know, that the terminology isn't that exactly in IPFire. But couldn't change this step by step? ;) >>> This is why we are having this conversation. >>> It should then, however, be changed in the code first. >>> Strictly the word “Bytes” should be “Bytes” in German, too. Plural to plural. There should be a singular string as well which should have been used in the first place. >>> So, I will change the code. Do we all agree it should be Byte and “Bit Per Second”? >> >> No I don't agree with that. >> >> With the full word Byte would only apply when it is one byte. More than One Byte becomes Bytes. Same with Bit and Bits. >> >> Now if you are using the abbreviation of MBps then for 1 MBps it is One Mega Byte per second but for 10 MBps it means Ten Mega Bytes per second. >> >> The same occurs with 1 Mbps and 10 Mbps for the bits situation. >> >> If you want the German language one to show Byte and Bit for both singular and plural then that is your language and I don't know it well enough to comment but for English it should be Bytes and Bits or KBytes and KBits or MBytes and MBits. >> >> Quick search for multiple Bytes or Bits always calls them Bytes and Bits and bot Byte and Bit. >> >> Regards, >> >> Adolf. >> >>> -Michael >>>> BR >>>> Bernhard >>>> >>>> Am 19.02.2026 um 17:11 schrieb Michael Tremer: >>>>> Hello Bernhard, >>>>> Thank you for helping to improve the translation of telemetry. >>>>> I think you are intending to change any units to singular which grammatically would be correct. >>>>> However, the “Bytes” thing is potentially confusing: >>>>> https://git.ipfire.org/?p=telemetry.git;a=blob;f=src/daemon/graph.c;hb=00b4fd6e254508cf958fa0144d2e2722a93b479d#l567 >>>>> So this is being used on the left hand side of the graphs in the legend. Screenshot attached. >>>>> Intuitively I would have chosen “Bytes”. This is just a feeling. >>>>> However, if we want to change all those units to singular, we should not only do this in German, but in English, too. I assume that these parts of the grammar are the same. >>>>> -Michael >>>>>> On 18 Feb 2026, at 07:40, IPFire Translate wrote: >>>>>> >>>>>> From: Bernhard Bitsch >>>>>> >>>>>> Currently translated at 83.3% (70 of 84 strings) >>>>>> >>>>>> Translation: Telemetry/Telemetry >>>>>> Translate-URL: https://translate.ipfire.org/projects/telemetry/telemetry/de/ >>>>>> --- >>>>>> po/de.po | 6 +++--- >>>>>> 1 file changed, 3 insertions(+), 3 deletions(-) >>>>>> >>>>>> diff --git a/po/de.po b/po/de.po >>>>>> index cb36fd0..a6c180f 100644 >>>>>> --- a/po/de.po >>>>>> +++ b/po/de.po >>>>>> @@ -11,7 +11,7 @@ msgstr "" >>>>>> "Report-Msgid-Bugs-To: \n" >>>>>> "POT-Creation-Date: 2025-11-11 21:26+0000\n" >>>>>> "PO-Revision-Date: 2026-02-17 17:45+0000\n" >>>>>> -"Last-Translator: Amazon Translate \n" >>>>>> +"Last-Translator: Bernhard Bitsch \n" >>>>>> "Language-Team: German >>>>> "telemetry/de/>\n" >>>>>> "Language: de\n" >>>>>> @@ -22,10 +22,10 @@ msgstr "" >>>>>> "X-Generator: Weblate 5.15.2\n" >>>>>> >>>>>> msgid "Bits Per Second" >>>>>> -msgstr "Bits pro Sekunde" >>>>>> +msgstr "Bit pro Sekunde" >>>>>> >>>>>> msgid "Bytes" >>>>>> -msgstr "Bytes" >>>>>> +msgstr "Byte" >>>>>> >>>>>> msgid "Days" >>>>>> msgstr "Tage" >>>>>> -- >>>>>> 2.47.3 > > >