From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [192.168.2.1] (port=55506 helo=localhost) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1pjV0j-000i2E-1X; Tue, 04 Apr 2023 06:28:58 +0530 From: Arun Isaac To: Anderson Ivanovich Cc: tamil@systemreboot.net Subject: Re: Translated PO File for Coreutils-9.1-pre1 In-Reply-To: Date: Tue, 04 Apr 2023 01:58:53 +0100 Message-ID: <87edp05upe.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: Hi Anbarasan, Thanks for the monumental task of translating coreutils! :-) I can see that it was quite a major project. We are really breaking fresh ground. coreutils is a very important project and we are shaping the future of Tamil computing. The Tamil language and people are going to be stuck with our translations and our mistakes for many years to come. No pressure! :-P Unfortunately, it is taking me much longer to review than I thought. I have finished reviewing only around 10% of your translation (the first 170 strings). :-( But, I don't want to keep you waiting forever until I have finished reviewing everything. So, I'm sharing with you my partial review as it stands currently. I hope my partial review gives you some idea of where improvements can be made. Some of the points I have raised apply equally well to strings beyond the first 170. As always, do feel free to disagree with and debate any of my suggestions. Since some of the suggested corrections are rather subtle and translation more of an art than a science, it might help to discuss some of these matters over an audio or video call on jitsi. Would you be interested? If that's fine with you, we can arrange a mutually convenient meeting time. Do let me know. Cheers! Arun Review of the first 170 strings: > msgid "invalid argument %s for %s" > msgstr "%s =E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=BE=E0=AE=A9 =E0=AE=A4=E0=AE= =B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=AE=E0=AE=A4=E0=AE=BF=E0=AE=AA=E0=AF= =8D=E0=AE=AA=E0=AF=81=E0=AE=B0=E0=AF=81 %s" 1. We need to reorder arguments in this string. If we don't, something like "invalid argument foo for bar" will be mistranslated to "foo =E0=AE=95= =E0=AF=8D=E0=AE=95=E0=AE=BE=E0=AE=A9 =E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=AE=E0=AE=A4=E0=AE=BF= =E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81=E0=AE=B0=E0=AF=81 bar". See https://www.gnu.org/software/gettext/manual/html_node/c_002dformat-Flag.html on how to reorder arguments. In this case, this means the translation should be "%2$s =E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=BE=E0=AE=A9 =E0=AE=A4=E0= =AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=AE=E0=AE=A4=E0=AE=BF=E0=AE=AA=E0= =AF=8D=E0=AE=AA=E0=AF=81=E0=AE=B0=E0=AF=81 %1$s" 2. I think we should use =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AE=B2=E0=AF=81=E0= =AE=B0=E0=AF=81=E0=AE=AA=E0=AF=81 instead of =E0=AE=AE=E0=AE=A4=E0=AE=BF=E0= =AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81=E0=AE=B0=E0=AF=81 for argument. =E0=AE=AE=E0=AE=A4=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81= =E0=AE=B0=E0=AF=81 is more reminiscent of value. =E0=AE=9A=E0=AF=86=E0=AE= =AF=E0=AE=B2=E0=AF=81=E0=AE=B0=E0=AF=81=E0=AE=AA=E0=AF=81 goes better with =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AE=B2=E0=AF=8D=E0=AE=AE=E0=AE=BE=E0=AE= =B1=E0=AF=8D=E0=AE=B1=E0=AE=BF (option or flag) and =E0=AE=9A=E0=AF=86=E0= =AE=AF=E0=AE=B2=E0=AF=8D. > msgid "write error" > msgstr "=E0=AE=8F=E0=AE=B4=E0=AF=81=E0=AE=A4=E0=AE=B2=E0=AF=8D =E0=AE=AA= =E0=AE=BF=E0=AE=B4=E0=AF=88" Spelling mistake here: use =E0=AE=8E=E0=AE=B4=E0=AF=81=E0=AE=A4=E0=AF=8D=E0= =AE=A4=E0=AF=81=E0=AE=AA=E0=AF=8D =E0=AE=AA=E0=AE=BF=E0=AE=B4=E0=AF=88 or = =E0=AE=8E=E0=AE=B4=E0=AF=81=E0=AE=A4=E0=AF=81=E0=AE=B5=E0=AE=A4=E0=AE=BF=E0= =AE=B2=E0=AF=8D =E0=AE=AA=E0=AE=BF=E0=AE=B4=E0=AF=88 > #: lib/copy-acl.c:54 src/copy.c:1439 src/copy.c:3039 > #, c-format > msgid "preserving permissions for %s" > msgstr "%s =E0=AE=B1=E0=AF=8D=E0=AE=95=E0=AE=BE=E0=AE=A9 =E0=AE=85=E0=AE= =A9=E0=AF=81=E0=AE=AE=E0=AE=A4=E0=AE=BF=E0=AE=95=E0=AE=B3=E0=AF=8D =E0=AE= =AA=E0=AE=BE=E0=AE=A4=E0=AF=81=E0=AE=95=E0=AE=BE=E0=AE=95=E0=AF=8D=E0=AE=95= =E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=81=E0=AE=95=E0=AE=BF=E0=AE=B1=E0= =AE=A4=E0=AF=81" 1. It may be a better translation to say =E0=AE=85=E0=AE=A9=E0=AF=81=E0=AE= =AE=E0=AE=A4=E0=AE=BF=E0=AE=95=E0=AE=B3=E0=AF=8D =E0=AE=AE=E0=AE=BE=E0=AE= =B1=E0=AF=8D=E0=AE=B1=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AE=B5=E0=AE=BF= =E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88. The context here is that permissions are being left *unchanged* rather than being *protected*. 2. Also, as a general comment for all strings, it is nicer if we can avoid free suffixes such as =E0=AE=B1=E0=AF=8D=E0=AE=95=E0=AE=BE=E0=AE=A9. = Free suffixes such as this are a problem we have to deal with when attaching Tamil suffixes to foreign words. Usually, we can get around this by introducing a noun that describes the foreign word. Concretely, for this string, we could write "%s =E0=AE=95=E0=AF=8B=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81=E0=AE=95=E0=AF= =8D=E0=AE=95=E0=AF=81 =E0=AE=85=E0=AE=A9=E0=AF=81=E0=AE=AE=E0=AE=A4=E0=AE= =BF=E0=AE=95=E0=AE=B3=E0=AF=8D =E0=AE=AE=E0=AE=BE=E0=AE=B1=E0=AF=8D=E0=AE= =B1=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D= =E0=AE=B2=E0=AF=88" since we know that %s refers to a file (=E0=AE=95=E0=AF=8B=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81). We often nee= d to read the source code (e.g., src/copy.c:1439) to infer this context, and it is not always possible to do so. In such cases, we may compromise and use a free suffix. 3. Just a Tamil grammar question I have been struggling with: Is it right to say "=E0=AE=95=E0=AF=8B=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81=E0=AE= =95=E0=AF=8D=E0=AE=95=E0=AF=81" or is it more correct to say "=E0=AE=95=E0= =AF=8B=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=BF=E0=AE=B1=E0=AF=8D=E0=AE=95=E0=AF= =81"? I have never been sure. I guess I have been confused about this since my school days. :-P It would be nice to know if you have a good answer to this question. > #: lib/error.c:195 > msgid "Unknown system error" > msgstr "=E0=AE=85=E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AE=AA=E0=AF=8D=E0=AE=AA= =E0=AE=9F=E0=AE=BE=E0=AE=A4 =E0=AE=AE=E0=AF=81=E0=AE=B1=E0=AF=88=E0=AE=AE= =E0=AF=88 =E0=AE=AA=E0=AE=BF=E0=AE=B4=E0=AF=88=E0=AE=85=E0=AE=B1=E0=AE=BF= =E0=AE=AF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AE=BE=E0=AE=A4 =E0=AE=AE= =E0=AF=81=E0=AE=B1=E0=AF=88=E0=AE=AE=E0=AF=88 =E0=AE=AA=E0=AE=BF=E0=AE=B4= =E0=AF=88" 1. There's a repetition of "=E0=AE=85=E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AE=AA= =E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AE=BE=E0=AE=A4 =E0=AE=AE=E0=AF=81=E0=AE=B1= =E0=AF=88=E0=AE=AE=E0=AF=88 =E0=AE=AA=E0=AE=BF=E0=AE=B4=E0=AF=88" here. 2. In this string, "system" refers to a computer system or an operating system. This should not be translated to =E0=AE=AE=E0=AF=81=E0=AE=B1=E0=AF= =88=E0=AE=AE=E0=AF=88. =E0=AE=AE=E0=AF=81=E0=AE=B1=E0=AF=88=E0=AE=AE=E0=AF= =88 refers to a "way or tradition of doing things", that is, =E0=AE=AE=E0=AF=81=E0=AE=B1=E0=AF= =88 or =E0=AE=AE=E0=AE=B0=E0=AE=AA=E0=AF=81. For this string, I recommend "=E0=AE=85=E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AE=AA=E0=AF=8D=E0=AE=AA= =E0=AE=9F=E0=AE=BE =E0=AE=87=E0=AE=AF=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AF=81= =E0=AE=A4=E0=AE=B3=E0=AE=AA=E0=AF=8D =E0=AE=AA=E0=AE=BF=E0=AE=B4=E0=AF=88" = or "=E0=AE=85=E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE= =9F=E0=AE=BE=E0=AE=A4=E0=AF=8D =E0=AE=A4=E0=AE=B3=E0=AE=AA=E0=AF=8D =E0=AE= =AA=E0=AE=BF=E0=AE=B4=E0=AF=88". Neither translation is very good. So, I am also very open to suggestion if you have better ideas. > msgid "symbolic link" > msgstr "=E0=AE=95=E0=AF=81=E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AF=80=E0=AE=9F= =E0=AF=8D=E0=AE=9F=E0=AF=81=E0=AE=A4=E0=AF=8D =E0=AE=A4=E0=AF=8A=E0=AE=9F= =E0=AF=81=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81" In English, symbolic links are also called soft links. This is to contrast them with hard links. We could translate these elegantly to =E0=AE=AE=E0=AF=86=E0=AE=A9=E0=AF=8D=E0=AE=A4=E0=AF=8A=E0=AE=9F=E0=AF=81=E0= =AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81 and =E0=AE=B5=E0=AE=A9=E0=AF=8D=E0=AE=A4= =E0=AF=8A=E0=AE=9F=E0=AF=81=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81 respectivel= y. > #: lib/file-type.c:61 > msgid "typed memory object" > msgstr "=E0=AE=A4=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=9A=E0=AF=8D=E0=AE=9A= =E0=AE=BF=E0=AE=9F=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F = =E0=AE=A8=E0=AE=BF=E0=AE=A9=E0=AF=88=E0=AE=B5=E0=AE=95 =E0=AE=AA=E0=AF=8A= =E0=AE=B0=E0=AF=81=E0=AE=B3=E0=AF=8D" "Typed" here refers to type as in variable type (int, float, etc.). So, maybe "=E0=AE=B5=E0=AE=95=E0=AF=88=E0=AE=AF=E0=AF=81=E0=AE=9F=E0=AF=88 =E0= =AE=A8=E0=AE=BF=E0=AE=A9=E0=AF=88=E0=AE=B5=E0=AE=95 =E0=AE=AA=E0=AF=8A=E0= =AE=B0=E0=AF=81=E0=AE=B3=E0=AF=8D". > #: lib/file-type.c:90 > msgid "named file" > msgstr "=E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AE=BF=E0=AE=9F=E0=AE=AA= =E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F =E0=AE=95=E0=AF=8B=E0=AE=AA= =E0=AF=8D=E0=AE=AA=E0=AF=81" Maybe, the slightly shorter =E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AF=81= =E0=AE=9F=E0=AF=88 =E0=AE=95=E0=AF=8B=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81. = Just a nitpick, and not very important, though. > #: lib/file-type.c:93 > msgid "network special file" > msgstr "=E0=AE=B5=E0=AE=B2=E0=AF=88=E0=AE=AF=E0=AE=AE=E0=AF=88=E0=AE=AA= =E0=AF=8D=E0=AE=AA=E0=AF=81 =E0=AE=9A=E0=AE=BF=E0=AE=B1=E0=AE=AA=E0=AF=8D= =E0=AE=AA=E0=AF=81 =E0=AE=95=E0=AF=8B=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81" We should keep =E0=AE=B5=E0=AE=B2=E0=AF=88 for the web and use =E0=AE=AA=E0= =AE=BF=E0=AE=A3=E0=AF=88=E0=AE=AF=E0=AE=AE=E0=AF=8D for network. So, someth= ing like =E0=AE=AA=E0=AE=BF=E0=AE=A3=E0=AF=88=E0=AE=AF =E0=AE=9A=E0=AE=BF=E0=AE= =B1=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81=E0=AE=95=E0=AF=8D =E0=AE=95=E0=AF= =8B=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81. > #: lib/file-type.c:96 > msgid "migrated file with data" > msgstr "=E0=AE=A4=E0=AE=B0=E0=AE=B5=E0=AF=81=E0=AE=95=E0=AE=B3=E0=AF=81= =E0=AE=9F=E0=AE=A9=E0=AF=8D =E0=AE=95=E0=AF=82=E0=AE=9F=E0=AE=BF=E0=AE=AF = =E0=AE=87=E0=AE=9F=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0= =AF=8D=E0=AE=A8=E0=AF=8D=E0=AE=A4 =E0=AE=95=E0=AF=8B=E0=AE=AA=E0=AF=8D=E0= =AE=AA=E0=AF=81=E0=AE=95=E0=AE=B3=E0=AF=8D" 1. =E0=AE=95=E0=AF=8B=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81=E0=AE=95=E0=AE=B3= =E0=AF=8D -> =E0=AE=95=E0=AF=8B=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81 since t= he singular "file" is used in the English string. 2. Maybe, prefer the shorter "=E0=AE=A4=E0=AE=B0=E0=AE=B5=E0=AF=81=E0=AE=9F= =E0=AF=88 =E0=AE=87=E0=AE=9F=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0=AF=86=E0=AE=AF= =E0=AE=B0=E0=AF=8D=E0=AE=A8=E0=AF=8D=E0=AE=A4 =E0=AE=95=E0=AF=8B=E0=AE=AA= =E0=AF=8D=E0=AE=AA=E0=AF=81". > #: lib/file-type.c:99 > msgid "migrated file without data" > msgstr "=E0=AE=A4=E0=AE=B0=E0=AE=B5=E0=AF=81=E0=AE=95=E0=AE=B3=E0=AF=8D = =E0=AE=87=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AE=BE=E0=AE=A4 =E0=AE=87=E0=AE=9F= =E0=AE=AE=E0=AF=8D=E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AF=8D=E0=AE=A8=E0= =AF=8D=E0=AE=A4 =E0=AE=95=E0=AF=8B=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81=E0= =AE=95=E0=AE=B3=E0=AF=8D" Prefer the shorter "=E0=AE=A4=E0=AE=B0=E0=AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D= =E0=AE=B2=E0=AE=BE =E0=AE=87=E0=AE=9F=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0=AF=86= =E0=AE=AF=E0=AE=B0=E0=AF=8D=E0=AE=A8=E0=AF=8D=E0=AE=A4 =E0=AE=95=E0=AF=8B= =E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81". Shorter is sweeter. > #: lib/file-type.c:105 > msgid "socket" > msgstr "=E0=AE=AA=E0=AF=8A=E0=AE=B0=E0=AF=81=E0=AE=A8=E0=AF=8D=E0=AE=A4= =E0=AE=BF" "=E0=AE=AA=E0=AF=8A=E0=AE=B0=E0=AF=81=E0=AE=A8=E0=AF=8D=E0=AE=A4=E0=AE=BF" = sounds like the plug (the male part). "=E0=AE=AA=E0=AF=8A=E0=AE=B0=E0=AF=81= =E0=AE=A8=E0=AF=8D=E0=AE=A4=E0=AF=81=E0=AE=B5=E0=AE=BE=E0=AE=AF=E0=AF=8D" s= ounds more like socket (the female part). > #: lib/file-type.c:110 > msgid "weird file" > msgstr "=E0=AE=B5=E0=AE=BF=E0=AE=A9=E0=AF=8B=E0=AE=A4=E0=AE=AE=E0=AE=BE= =E0=AE=A9 =E0=AE=95=E0=AF=8B=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81" =E0=AE=B5=E0=AE=BF=E0=AE=A9=E0=AF=8B=E0=AE=A4=E0=AE=AE=E0=AE=BE=E0=AE=A9 is= probably a loan term. Maybe, "=E0=AE=AA=E0=AF=81=E0=AE=A4=E0=AE=BF=E0=AE= =B0=E0=AF=8D=E0=AE=95=E0=AF=8D =E0=AE=95=E0=AF=8B=E0=AE=AA=E0=AF=8D=E0=AE= =AA=E0=AF=81" is better. > #: lib/gai_strerror.c:57 > msgid "Address family for hostname not supported" > msgstr "=E0=AE=AA=E0=AF=81=E0=AE=B0=E0=AE=B5=E0=AE=B2=E0=AE=A9=E0=AF=8D = =E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AF=81=E0=AE=95=E0=AF=8D=E0=AE=95=E0= =AE=BE=E0=AE=A9 =E0=AE=AE=E0=AF=81=E0=AE=95=E0=AE=B5=E0=AE=B0=E0=AE=BF =E0= =AE=95=E0=AF=81=E0=AE=9F=E0=AF=81=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0=AE=AE=E0=AF= =8D =E0=AE=86=E0=AE=A4=E0=AE=B0=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE= =AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D=E0=AE=B2= =E0=AF=88" 1. =E0=AE=AA=E0=AF=81=E0=AE=B0=E0=AE=B5=E0=AE=B2=E0=AE=A9=E0=AF=8D usually = refers to a person. https://ta.wiktionary.org/wiki/%E0%AE%AA%E0%AF%81%E0%AE%B0%E0%AE%B5= %E0%AE%B2%E0%AE%A9%E0%AF%8D It's quite a neologism to use it for a machine/computer. In this context it may be ok to omit "host" from the translation. So, we can translate "hostname" to =E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AF=8D instead of =E0= =AE=AA=E0=AF=81=E0=AE=B0=E0=AE=B5=E0=AE=B2=E0=AE=A9=E0=AF=8D =E0=AE=AA=E0= =AF=86=E0=AE=AF=E0=AE=B0=E0=AF=8D. If you think it is better to translate "host" as well, we could translate it into =E0=AE=A8=E0=AE=BF=E0= =AE=B2=E0=AF=88=E0=AE=AF=E0=AE=AE=E0=AF=8D (that is, station---like a radio station or a network station) instead of =E0=AE=AA= =E0=AF=81=E0=AE=B0=E0=AE=B5=E0=AE=B2=E0=AE=A9=E0=AF=8D. 2. Slightly better translation: =E0=AE=AE=E0=AF=81=E0=AE=95=E0=AE=B5=E0=AE= =B0=E0=AE=BF =E0=AE=95=E0=AF=81=E0=AE=9F=E0=AF=81=E0=AE=AE=E0=AF=8D=E0=AE= =AA=E0=AE=AE=E0=AF=8D -> =E0=AE=AE=E0=AF=81=E0=AE=95=E0=AE=B5=E0=AE=B0=E0= =AE=BF =E0=AE=B5=E0=AE=95=E0=AF=88 > #: lib/gai_strerror.c:58 > msgid "Temporary failure in name resolution" > msgstr "=E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AF=8D =E0=AE=A4=E0=AF=80= =E0=AE=B0=E0=AF=8D=E0=AE=AE=E0=AE=BE=E0=AE=A9=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0= =AE=BF=E0=AE=B2=E0=AF=8D =E0=AE=A4=E0=AE=B1=E0=AF=8D=E0=AE=95=E0=AE=BE=E0= =AE=B2=E0=AE=BF=E0=AE=95 =E0=AE=A4=E0=AF=8B=E0=AE=B2=E0=AF=8D=E0=AE=B5=E0= =AE=BF" Here, "resolution" means "lookup", not "decision". So, maybe translate it to =E0=AE=95=E0=AE=A3=E0=AF=8D=E0=AE=9F=E0=AE=B1=E0=AE=BF=E0=AE=A4=E0=AE= =B2=E0=AF=8D. > #: lib/gai_strerror.c:59 > msgid "Bad value for ai_flags" > msgstr "=E0=AE=87=E0=AE=A4=E0=AF=81 ai_flags =E0=AE=95=E0=AE=BE=E0=AE=A9 = =E0=AE=AE=E0=AF=8B=E0=AE=9A=E0=AE=AE=E0=AE=BE=E0=AE=A9 =E0=AE=AE=E0=AE=A4= =E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81" =E0=AE=AE=E0=AF=8B=E0=AE=9A=E0=AE=AE=E0=AF=8D is a loan word, I think. Mayb= e "=E0=AE=8F=E0=AE=B1=E0=AF=8D=E0=AE=95=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE=95= =E0=AE=BE ai_flags" instead. > #: lib/gai_strerror.c:60 > msgid "Non-recoverable failure in name resolution" > msgstr "=E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AF=8D =E0=AE=A4=E0=AF=80= =E0=AE=B0=E0=AF=8D=E0=AE=AE=E0=AE=BE=E0=AE=A9=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0= =AE=BF=E0=AE=B2=E0=AF=8D =E0=AE=AE=E0=AF=80=E0=AE=9F=E0=AF=8D=E0=AE=95 =E0= =AE=87=E0=AE=AF=E0=AE=B2=E0=AE=BE=E0=AE=A4 =E0=AE=A4=E0=AF=8B=E0=AE=B2=E0= =AF=8D=E0=AE=B5=E0=AE=BF" 1. =E0=AE=A4=E0=AF=80=E0=AE=B0=E0=AF=8D=E0=AE=AE=E0=AE=BE=E0=AE=A9=E0=AE=AE= =E0=AF=8D -> =E0=AE=95=E0=AE=A3=E0=AF=8D=E0=AE=9F=E0=AE=B1=E0=AE=BF=E0=AE= =A4=E0=AE=B2=E0=AF=8D 2. Slightly shorter: =E0=AE=AE=E0=AF=80=E0=AE=9F=E0=AF=8D=E0=AE=95 -> =E0= =AE=AE=E0=AF=80=E0=AE=B3 > #: lib/gai_strerror.c:63 > msgid "No address associated with hostname" > msgstr "=E0=AE=AA=E0=AF=81=E0=AE=B0=E0=AE=B5=E0=AE=B2=E0=AE=A9=E0=AF=8D = =E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AF=81=E0=AE=9F=E0=AE=A9=E0=AF=8D = =E0=AE=8E=E0=AE=A8=E0=AF=8D=E0=AE=A4 =E0=AE=AE=E0=AF=81=E0=AE=95=E0=AE=B5= =E0=AE=B0=E0=AE=BF=E0=AE=AF=E0=AF=81=E0=AE=AE=E0=AF=8D =E0=AE=87=E0=AE=A3= =E0=AF=88=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0= =AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88" Shorter and more direct: "=E0=AE=AA=E0=AF=81=E0=AE=B0=E0=AE=B5=E0=AE=B2=E0= =AE=A9=E0=AF=8D =E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AF=81=E0=AE=9F=E0= =AF=88=E0=AE=AF =E0=AE=AE=E0=AF=81=E0=AE=95=E0=AE=B5=E0=AE=B0=E0=AE=BF =E0= =AE=87=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88" > #: lib/gai_strerror.c:65 > msgid "Servname not supported for ai_socktype" > msgstr "=E0=AE=87=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AF=81 ai_socket =E0=AE=95= =E0=AE=BE=E0=AE=A9 =E0=AE=9A=E0=AF=87=E0=AE=B5=E0=AF=88=E0=AE=AF=E0=AE=95 = =E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AF=8D =E0=AE=86=E0=AE=A4=E0=AE=B0= =E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0= =AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88" >From https://man7.org/linux/man-pages/man3/getaddrinfo.3.html, --8<---------------cut here---------------start------------->8--- EAI_SERVICE: The requested service is not available for the requested socket type. --8<---------------cut here---------------end--------------->8--- So, servname can be translated to =E0=AE=9A=E0=AF=87=E0=AE=B5=E0=AF=88 inst= ead of =E0=AE=9A=E0=AF=87=E0=AE=B5=E0=AF=88=E0=AE=AF=E0=AE=95 =E0=AE=AA=E0= =AF=86=E0=AE=AF=E0=AE=B0=E0=AF=8D. > #: lib/gai_strerror.c:67 > msgid "System error" > msgstr "=E0=AE=AE=E0=AF=81=E0=AE=B1=E0=AF=88=E0=AE=AE=E0=AF=88 =E0=AE=AA= =E0=AE=BF=E0=AE=B4=E0=AF=88" See earlier about "system". > #: lib/gai_strerror.c:68 > msgid "Argument buffer too small" > msgstr "=E0=AE=AE=E0=AE=A4=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81= =E0=AE=B0=E0=AF=81 =E0=AE=87=E0=AE=9F=E0=AF=88=E0=AE=AF=E0=AE=95=E0=AE=AE= =E0=AF=8D =E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AE=9A=E0=AF=8D=E0=AE=9A=E0=AE=BF= =E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AE=A4=E0=AE=BE=E0=AE=95 =E0=AE=89=E0=AE=B3= =E0=AF=8D=E0=AE=B3=E0=AE=A4=E0=AF=81" 1. See earlier about argument. 2. Shorter: =E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AE=9A=E0=AF=8D=E0=AE=9A=E0=AE=BF= =E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AE=A4=E0=AE=BE=E0=AE=95 =E0=AE=89=E0=AE=B3= =E0=AF=8D=E0=AE=B3=E0=AE=A4=E0=AF=81 -> =E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AE= =9A=E0=AF=8D =E0=AE=9A=E0=AE=BF=E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AE=A4=E0=AF=81 > #: lib/gai_strerror.c:70 > msgid "Processing request in progress" > msgstr "=E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AE=B2=E0=AE=BE=E0=AE=95=E0=AF=8D= =E0=AE=95 =E0=AE=95=E0=AF=8B=E0=AE=B0=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95= =E0=AF=88 =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AE=B2=E0=AE=BF=E0=AE=B2=E0=AF=8D = =E0=AE=89=E0=AE=B3=E0=AF=8D=E0=AE=B3=E0=AE=A4=E0=AF=81" Maybe, =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AE=B2=E0=AE=BE=E0=AE=95=E0=AF=8D=E0= =AE=95 =E0=AE=95=E0=AF=8B=E0=AE=B0=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0= =AF=88 =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AE=B2=E0=AE=BF=E0=AE=B2=E0=AF=8D =E0= =AE=89=E0=AE=B3=E0=AF=8D=E0=AE=B3=E0=AE=A4=E0=AF=81 -> =E0=AE=95=E0=AF=8B= =E0=AE=B0=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=88 =E0=AE=9A=E0=AF=86= =E0=AE=AF=E0=AE=B2=E0=AE=BE=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA=E0=AF=8D=E0= =AE=AA=E0=AE=9F=E0=AF=81=E0=AE=95=E0=AE=BF=E0=AE=B1=E0=AE=A4=E0=AF=81. It's shorter and uses fewer words. > #: lib/gai_strerror.c:71 > msgid "Request canceled" > msgstr "=E0=AE=95=E0=AF=8B=E0=AE=B0=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95= =E0=AF=88 =E0=AE=A8=E0=AF=80=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=B1=E0=AE=B2= =E0=AF=8D =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AF=8D=E0=AE=AF=E0=AE=AA=E0=AF=8D= =E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81" I'm not sure about this, but maybe the slightly more direct =E0=AE=95=E0=AF= =8B=E0=AE=B0=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=88 =E0=AE=A8=E0=AF=80=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0= =AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81. > #: lib/gai_strerror.c:72 > msgid "Request not canceled" > msgstr "=E0=AE=95=E0=AF=8B=E0=AE=B0=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95= =E0=AF=88 =E0=AE=A8=E0=AF=80=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=B1=E0=AE=B2= =E0=AF=8D =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AF=8D=E0=AE=AF=E0=AE=AA=E0=AF=8D= =E0=AE=AA=E0=AE=9F=E0=AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88" Likewise: =E0=AE=95=E0=AF=8B=E0=AE=B0=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95= =E0=AF=88 =E0=AE=A8=E0=AF=80=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA=E0=AF=8D= =E0=AE=AA=E0=AE=9F=E0=AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88 > #: lib/gai_strerror.c:73 > msgid "All requests done" > msgstr "=E0=AE=8E=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AE=BE =E0=AE=95=E0=AF=8B= =E0=AE=B0=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=88=E0=AE=95=E0=AE=B3=E0= =AF=81=E0=AE=AE=E0=AF=8D =E0=AE=AE=E0=AF=81=E0=AE=9F=E0=AE=BF=E0=AE=A8=E0= =AF=8D=E0=AE=A4=E0=AE=A4=E0=AF=81" 1. =E0=AE=AE=E0=AF=81=E0=AE=9F=E0=AE=BF=E0=AE=A8=E0=AF=8D=E0=AE=A4=E0=AE=A4= =E0=AF=81 -> =E0=AE=AE=E0=AF=81=E0=AE=9F=E0=AE=BF=E0=AE=A8=E0=AF=8D=E0=AE= =A4=E0=AE=A9 2. Maybe, =E0=AE=AE=E0=AF=81=E0=AE=9F=E0=AE=BF=E0=AE=A8=E0=AF=8D=E0=AE=A4= =E0=AE=A9 -> =E0=AE=A8=E0=AE=BF=E0=AE=B1=E0=AF=88=E0=AE=B5=E0=AF=87=E0=AE= =B1=E0=AE=BF=E0=AE=A9. > #: lib/gai_strerror.c:74 > msgid "Interrupted by a signal" > msgstr "=E0=AE=92=E0=AE=B0=E0=AF=81 =E0=AE=9A=E0=AE=AE=E0=AE=BF=E0=AE=95= =E0=AF=8D=E0=AE=9E=E0=AF=88=E0=AE=AF=E0=AE=BE=E0=AE=B2=E0=AF=8D =E0=AE=95= =E0=AF=81=E0=AE=B1=E0=AF=81=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=BF=E0=AE=9F=E0= =AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81" In this and many other strings, why not translate "signal" to =E0=AE=95=E0= =AF=81=E0=AE=B1=E0=AE=BF or =E0=AE=95=E0=AF=81=E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AF=80=E0=AE=9F=E0=AF=81? = =E0=AE=9A=E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=9E=E0=AF=88 sounds like= a very foreign loan word to me. > #: lib/gai_strerror.c:75 > msgid "Parameter string not correctly encoded" > msgstr "=E0=AE=85=E0=AE=B3=E0=AE=B5=E0=AF=81=E0=AE=B0=E0=AF=81 =E0=AE=9A= =E0=AE=B0=E0=AE=AE=E0=AF=8D =E0=AE=9A=E0=AE=B0=E0=AE=BF=E0=AE=AF=E0=AE=BE= =E0=AE=95 =E0=AE=95=E0=AF=81=E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AF=87=E0=AE=B1= =E0=AF=8D=E0=AE=B1=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AE=B5=E0=AE=BF=E0= =AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88" I believe "parameter" is just another word for "argument" here. So "parameter string" can be translated to =E0=AE=9A=E0=AE=B0=E0=AE=9A=E0=AF= =8D =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AE=B2=E0=AF=81=E0=AE=B0=E0=AF=81=E0=AE= =AA=E0=AF=81. > #: lib/getopt.c:278 > #, c-format > msgid "%s: option '%s%s' is ambiguous\n" > msgstr "%s: '%s%s' =E0=AE=B5=E0=AE=BF=E0=AE=B0=E0=AF=81=E0=AE=AA=E0=AF=8D= =E0=AE=AA=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AF=87=E0=AE=B0=E0=AF=8D=E0=AE=B5=E0= =AF=81 =E0=AE=A4=E0=AF=86=E0=AE=B3=E0=AE=BF=E0=AE=B5=E0=AE=B1=E0=AF=8D=E0= =AE=B1=E0=AE=A4=E0=AF=81\n" > > #: lib/getopt.c:284 > #, c-format > msgid "%s: option '%s%s' is ambiguous; possibilities:" > msgstr "%s: '%s%s' =E0=AE=B5=E0=AE=BF=E0=AE=B0=E0=AF=81=E0=AE=AA=E0=AF=8D= =E0=AE=AA=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AF=87=E0=AE=B0=E0=AF=8D=E0=AE=B5=E0= =AF=81 =E0=AE=A4=E0=AF=86=E0=AE=B3=E0=AE=BF=E0=AE=B5=E0=AE=B1=E0=AF=8D=E0= =AE=B1=E0=AE=A4=E0=AF=81; =E0=AE=B5=E0=AE=BE=E0=AE=AF=E0=AF=8D=E0=AE=AA=E0= =AF=8D=E0=AE=AA=E0=AF=81=E0=AE=95=E0=AE=B3=E0=AF=8D:" > > #: lib/getopt.c:319 > #, c-format > msgid "%s: unrecognized option '%s%s'\n" > msgstr "%s: =E0=AE=85=E0=AE=9F=E0=AF=88=E0=AE=AF=E0=AE=BE=E0=AE=B3=E0=AE= =AE=E0=AF=8D =E0=AE=95=E0=AE=BE=E0=AE=A3 =E0=AE=87=E0=AE=AF=E0=AE=B2=E0=AE= =BE=E0=AE=A4 =E0=AE=B5=E0=AE=BF=E0=AE=B0=E0=AF=81=E0=AE=AA=E0=AF=8D=E0=AE= =AA=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AF=87=E0=AE=B0=E0=AF=8D=E0=AE=B5=E0=AF=81= '%s%s'\n" > > #: lib/getopt.c:345 > #, c-format > msgid "%s: option '%s%s' doesn't allow an argument\n" > msgstr "%s: '%s%s' =E0=AE=B5=E0=AE=BF=E0=AE=B0=E0=AF=81=E0=AE=AA=E0=AF=8D= =E0=AE=AA=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AF=87=E0=AE=B0=E0=AF=8D=E0=AE=B5=E0= =AF=81 =E0=AE=AE=E0=AE=A4=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81=E0= =AE=B0=E0=AF=81=E0=AE=95=E0=AE=B3=E0=AF=88 =E0=AE=85=E0=AE=A9=E0=AF=81=E0= =AE=AE=E0=AE=A4=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=A4=E0=AE=BF=E0=AE= =B2=E0=AF=8D=E0=AE=B2=E0=AF=88\n" > > #: lib/getopt.c:360 > #, c-format > msgid "%s: option '%s%s' requires an argument\n" > msgstr "%s: '%s%s' =E0=AE=B5=E0=AE=BF=E0=AE=B0=E0=AF=81=E0=AE=AA=E0=AF=8D= =E0=AE=AA=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AF=87=E0=AE=B0=E0=AF=8D=E0=AE=B5=E0= =AF=81=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=81 =E0=AE=AE=E0=AE=A4=E0=AE=BF=E0= =AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81=E0=AE=B0=E0=AF=81=E0=AE=95=E0=AE=B3=E0=AF= =8D =E0=AE=A4=E0=AF=87=E0=AE=B5=E0=AF=88\n" > > #: lib/getopt.c:621 > #, c-format > msgid "%s: invalid option -- '%c'\n" > msgstr "%s: =E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=B5=E0=AE= =BF=E0=AE=B0=E0=AF=81=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=A4=E0=AF=8D=E0=AE=A4= =E0=AF=87=E0=AE=B0=E0=AF=8D=E0=AE=B5=E0=AF=81 -- '%c'\n" > > #: lib/getopt.c:636 lib/getopt.c:682 > #, c-format > msgid "%s: option requires an argument -- '%c'\n" > msgstr "%s: =E0=AE=B5=E0=AE=BF=E0=AE=B0=E0=AF=81=E0=AE=AA=E0=AF=8D=E0=AE= =AA=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AF=87=E0=AE=B0=E0=AF=8D=E0=AE=B5=E0=AF=81= =E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=81 =E0=AE=AE=E0=AE=A4=E0=AE=BF=E0=AE=AA= =E0=AF=8D=E0=AE=AA=E0=AF=81=E0=AE=B0=E0=AF=81=E0=AE=95=E0=AE=B3=E0=AF=8D = =E0=AE=A4=E0=AF=87=E0=AE=B5=E0=AF=88 -- '%c'\n" As mentioned earlier, option -> =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AF=8D=E0=AE= =B2=E0=AE=AE=E0=AE=BE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AE=BF and argument -> = =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AE=B2=E0=AF=81=E0=AE=B0=E0=AF=81=E0=AE=AA=E0= =AF=81 in all the above strings. > #: lib/mkdir-p.c:162 src/copy.c:1986 src/copy.c:2062 src/copy.c:2658 > #: src/copy.c:3025 src/find-mount-point.c:84 src/install.c:647 > #: src/realpath.c:146 src/stat.c:1483 src/truncate.c:325 > #, c-format > msgid "cannot stat %s" > msgstr "%s =E0=AE=90 stat =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AF=8D=E0=AE=AF = =E0=AE=87=E0=AE=AF=E0=AE=B2=E0=AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0= =AF=88" Avoid free suffix: =E0=AE=90 -> =E0=AE=95=E0=AF=8B=E0=AE=AA=E0=AF=8D=E0=AE= =AA=E0=AF=88 > #: lib/mkdir-p.c:190 src/install.c:454 > #, c-format > msgid "cannot change permissions of %s" > msgstr "%s =E0=AE=87=E0=AE=A9=E0=AF=8D =E0=AE=85=E0=AE=A9=E0=AF=81=E0=AE= =AE=E0=AE=A4=E0=AE=BF=E0=AE=95=E0=AE=B3=E0=AF=88 =E0=AE=AE=E0=AE=BE=E0=AE= =B1=E0=AF=8D=E0=AE=B1 =E0=AE=AE=E0=AF=81=E0=AE=9F=E0=AE=BF=E0=AE=AF=E0=AE= =B5=E0=AE=BF=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88" Avoid free suffix: =E0=AE=87=E0=AE=A9=E0=AF=8D -> =E0=AE=95=E0=AF=8B=E0=AE= =AA=E0=AF=8D=E0=AE=AA=E0=AE=BF=E0=AE=A9=E0=AF=8D > #: lib/openat-die.c:38 > #, c-format > msgid "unable to record current working directory" > msgstr "=E0=AE=87=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=8B=E0=AE=A4=E0=AF=88= =E0=AE=AF =E0=AE=AA=E0=AE=A3=E0=AE=BF =E0=AE=85=E0=AE=9F=E0=AF=88=E0=AE=B5= =E0=AF=88=E0=AE=AA=E0=AF=8D =E0=AE=AA=E0=AE=A4=E0=AE=BF=E0=AE=B5=E0=AF=81 = =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AF=8D=E0=AE=AF =E0=AE=87=E0=AE=AF=E0=AE=B2= =E0=AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88" "current working directory" is really just the "current directory". So, maybe translate it ito =E0=AE=A4=E0=AE=B1=E0=AF=8D=E0=AE=AA=E0=AF=8B=E0=AE= =A4=E0=AF=88=E0=AE=AF =E0=AE=85=E0=AE=9F=E0=AF=88=E0=AE=B5=E0=AF=81. > #: lib/openat-die.c:57 src/find-mount-point.c:107 > #, c-format > msgid "failed to return to initial working directory" > msgstr "=E0=AE=A4=E0=AF=8A=E0=AE=9F=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA= =E0=AF=8D =E0=AE=AA=E0=AE=A3=E0=AE=BF =E0=AE=85=E0=AE=9F=E0=AF=88=E0=AE=B5= =E0=AE=BF=E0=AE=B1=E0=AF=8D=E0=AE=95=E0=AF=81=E0=AE=A4=E0=AF=8D =E0=AE=A4= =E0=AE=BF=E0=AE=B0=E0=AF=81=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0=AF=81=E0=AE=B5=E0= =AE=A4=E0=AE=BF=E0=AE=B2=E0=AF=8D =E0=AE=A4=E0=AF=8B=E0=AE=B2=E0=AF=8D=E0= =AE=B5=E0=AE=BF" Likewise: =E0=AE=A4=E0=AF=8A=E0=AE=9F=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA= =E0=AF=8D =E0=AE=AA=E0=AE=A3=E0=AE=BF =E0=AE=85=E0=AE=9F=E0=AF=88=E0=AE=B5= =E0=AE=BF=E0=AE=B1=E0=AF=8D=E0=AE=95=E0=AF=81=E0=AE=A4=E0=AF=8D -> =E0=AE= =A4=E0=AF=8A=E0=AE=9F=E0=AE=95=E0=AF=8D=E0=AE=95 =E0=AE=85=E0=AE=9F=E0=AF= =88=E0=AE=B5=E0=AE=BF=E0=AE=B1=E0=AF=8D=E0=AE=95=E0=AF=81=E0=AE=A4=E0=AF=8D > #. TRANSLATORS: > #. Get translations for open and closing quotation marks. > #. The message catalog should translate "`" to a left > #. quotation mark suitable for the locale, and similarly for > #. "'". For example, a French Unicode local should translate > #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE > #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE > #. QUOTATION MARK), respectively. > #. > #. If the catalog has no translation, we will try to > #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and > #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the > #. current locale is not Unicode, locale_quoting_style > #. will quote 'like this', and clocale_quoting_style will > #. quote "like this". You should always include translations > #. for "`" and "'" even if U+2018 and U+2019 are appropriate > #. for your locale. > #. > #. If you don't know what to put here, please see > #. > #. and use glyphs suitable for your language. > #: lib/quotearg.c:355 > msgid "`" > msgstr "`" > > #: lib/quotearg.c:356 > msgid "'" > msgstr "'" According to https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages , for Tamil, these should be translated to =E2=80=98 (U+2018) and =E2=80=99 (U+20= 19) respectively. > #: lib/regcomp.c:128 > msgid "Invalid regular expression" > msgstr "=E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=B5=E0=AE=B4= =E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AE=E0=AE=BE=E0=AE=A9 =E0=AE=B5=E0=AF=86= =E0=AE=B3=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=BE=E0=AE=9F=E0=AF=81" We don't have a good Tamil translation for "regular expression". In https://translationproject.org/PO-files/ta/grep-3.8.35.ta.po , I have translated regular expression into =E0=AE=A4=E0=AF=87=E0=AE=9F=E0=AF=81=E0= =AE=95=E0=AF=81=E0=AE=B1=E0=AE=BF=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AF=8A=E0=AE= =9F=E0=AE=B0=E0=AF=8D based on what it is used for most often---search. Regular expressions are really larger than search, but we should probably stick with that translation until we have better ideas. > #: lib/regcomp.c:131 > msgid "Invalid collation character" > msgstr "=E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=92=E0=AE=AA= =E0=AF=8D=E0=AE=AA=E0=AE=BE=E0=AE=AF=E0=AF=8D=E0=AE=B5=E0=AF=81 =E0=AE=B5= =E0=AE=B0=E0=AE=BF=E0=AE=AF=E0=AF=81=E0=AE=B0=E0=AF=81" > > #: lib/regcomp.c:134 > msgid "Invalid character class name" > msgstr "=E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=B5=E0=AE=B0= =E0=AE=BF=E0=AE=AF=E0=AF=81=E0=AE=B0=E0=AF=81 =E0=AE=B5=E0=AE=95=E0=AF=81= =E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81 =E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0= =E0=AF=8D" > > #: lib/regcomp.c:137 > msgid "Trailing backslash" > msgstr "=E0=AE=A4=E0=AF=8A=E0=AE=9F=E0=AE=B0=E0=AF=81=E0=AE=AE=E0=AF=8D = =E0=AE=AA=E0=AE=BF=E0=AE=A9=E0=AF=8D=E0=AE=95=E0=AF=80=E0=AE=B1=E0=AE=B2=E0= =AF=8D" > > #: lib/regcomp.c:140 > msgid "Invalid back reference" > msgstr "=E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=AA=E0=AE=BF= =E0=AE=A9=E0=AF=8D =E0=AE=95=E0=AF=81=E0=AE=B1=E0=AE=BF=E0=AE=AA=E0=AF=8D= =E0=AE=AA=E0=AF=81=E0=AE=A4=E0=AE=B5=E0=AE=BF" > > #: lib/regcomp.c:143 > msgid "Unmatched [, [^, [:, [., or [=3D" > msgstr "=E0=AE=AA=E0=AF=8A=E0=AE=B0=E0=AF=81=E0=AE=A8=E0=AF=8D=E0=AE=A4= =E0=AE=BE=E0=AE=A4 [, [^, [:, [., =E0=AE=85=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0= =AE=A4=E0=AF=81 [=3D" > > #: lib/regcomp.c:146 > msgid "Unmatched ( or \\(" > msgstr "=E0=AE=AA=E0=AF=8A=E0=AE=B0=E0=AF=81=E0=AE=A8=E0=AF=8D=E0=AE=A4= =E0=AE=BE=E0=AE=A4 ( =E0=AE=85=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AE=A4=E0=AF=81= \\(" > > #: lib/regcomp.c:149 > msgid "Unmatched \\{" > msgstr "=E0=AE=AA=E0=AF=8A=E0=AE=B0=E0=AF=81=E0=AE=A8=E0=AF=8D=E0=AE=A4= =E0=AE=BE=E0=AE=A4 \\{" > > #: lib/regcomp.c:152 > msgid "Invalid content of \\{\\}" > msgstr "\\{\\} =E0=AE=87=E0=AE=A9=E0=AF=8D =E0=AE=A4=E0=AE=B5=E0=AE=B1=E0= =AE=BE=E0=AE=A9 =E0=AE=89=E0=AE=B3=E0=AF=8D=E0=AE=B3=E0=AE=9F=E0=AE=95=E0= =AF=8D=E0=AE=95=E0=AE=AE=E0=AF=8D" > > #: lib/regcomp.c:155 > msgid "Invalid range end" > msgstr "=E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=B5=E0=AE=B0= =E0=AE=AE=E0=AF=8D=E0=AE=AA=E0=AF=81 =E0=AE=87=E0=AE=B1=E0=AF=81=E0=AE=A4= =E0=AE=BF" > > #: lib/regcomp.c:158 > msgid "Memory exhausted" > msgstr "=E0=AE=A8=E0=AE=BF=E0=AE=A9=E0=AF=88=E0=AE=B5=E0=AE=95=E0=AE=AE= =E0=AF=8D =E0=AE=9A=E0=AF=86=E0=AE=B2=E0=AE=B5=E0=AE=BE=E0=AE=AF=E0=AF=8D= =E0=AE=B5=E0=AE=BF=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81" > > #: lib/regcomp.c:161 > msgid "Invalid preceding regular expression" > msgstr "=E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=AE=E0=AF=81= =E0=AE=A8=E0=AF=8D=E0=AE=A4=E0=AF=88=E0=AE=AF =E0=AE=B5=E0=AE=B4=E0=AE=95= =E0=AF=8D=E0=AE=95=E0=AE=AE=E0=AE=BE=E0=AE=A9 =E0=AE=B5=E0=AF=86=E0=AE=B3= =E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=BE=E0=AE=9F=E0=AF=81" > > #: lib/regcomp.c:164 > msgid "Premature end of regular expression" > msgstr "=E0=AE=B5=E0=AE=B4=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AE=E0=AE=BE= =E0=AE=A9 =E0=AE=B5=E0=AF=86=E0=AE=B3=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA= =E0=AE=BE=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=BF=E0=AE=A9=E0=AF=8D =E0=AE=AE= =E0=AF=81=E0=AE=B4=E0=AF=81=E0=AE=AE=E0=AF=81=E0=AE=A4=E0=AE=BF=E0=AE=B0=E0= =AF=8D=E0=AE=B5=E0=AE=B1=E0=AF=8D=E0=AE=B1 =E0=AE=AE=E0=AF=81=E0=AE=9F=E0= =AE=BF=E0=AE=B5=E0=AF=81" > > #: lib/regcomp.c:167 > msgid "Regular expression too big" > msgstr "=E0=AE=B5=E0=AE=B4=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AE=E0=AE=BE= =E0=AE=A9 =E0=AE=B5=E0=AF=86=E0=AE=B3=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA= =E0=AE=BE=E0=AE=9F=E0=AF=81 =E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AE=AA=E0=AF=8D= =E0=AE=AA=E0=AF=86=E0=AE=B0=E0=AE=BF=E0=AE=AF=E0=AE=A4=E0=AE=BE=E0=AE=95 = =E0=AE=89=E0=AE=B3=E0=AF=8D=E0=AE=B3=E0=AE=A4=E0=AF=81" > > #: lib/regcomp.c:170 > msgid "Unmatched ) or \\)" > msgstr "=E0=AE=AA=E0=AF=8A=E0=AE=B0=E0=AF=81=E0=AE=A8=E0=AF=8D=E0=AE=A4= =E0=AE=BE=E0=AE=A4 ) =E0=AE=85=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AE=A4=E0=AF=81= \\)" > > #: lib/regcomp.c:650 > msgid "No previous regular expression" > msgstr "=E0=AE=AE=E0=AF=81=E0=AE=A8=E0=AF=8D=E0=AE=A4=E0=AF=88=E0=AE=AF = =E0=AE=B5=E0=AE=B4=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AE=E0=AE=BE=E0=AE=A9 = =E0=AE=B5=E0=AF=86=E0=AE=B3=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=BE=E0= =AE=9F=E0=AF=81 =E0=AE=87=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88" All the above strings occur in grep. https://translationproject.org/PO-files/ta/grep-3.8.35.ta.po Could you copy the translations from there? Consistency is nice to have. > #: lib/root-dev-ino.h:37 > #, c-format > msgid "it is dangerous to operate recursively on %s" > msgstr "%s =E0=AE=87=E0=AE=B2=E0=AF=8D =E0=AE=AE=E0=AF=80=E0=AE=B3=E0=AF= =8D =E0=AE=9A=E0=AF=81=E0=AE=B0=E0=AF=81=E0=AE=B3=E0=AE=BE=E0=AE=95 =E0=AE= =87=E0=AE=AF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=81=E0=AE=B5=E0=AE=A4=E0=AF=81= =E0=AE=86=E0=AE=AA=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE=BE=E0=AE=A9=E0=AE=A4= =E0=AF=81" 1. Avoid free suffix: =E0=AE=87=E0=AE=B2=E0=AF=8D -> =E0=AE=85=E0=AE=9F=E0= =AF=88=E0=AE=B5=E0=AE=BF=E0=AE=A9=E0=AF=8D =E0=AE=AE=E0=AF=80=E0=AE=A4=E0= =AF=81 2. Better translation for this context: =E0=AE=87=E0=AE=AF=E0=AE=95=E0=AF= =8D=E0=AE=95=E0=AF=81=E0=AE=B5=E0=AE=A4=E0=AF=81 -> =E0=AE=9A=E0=AF=86=E0= =AE=AF=E0=AE=B2=E0=AE=BE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81=E0=AE=B5=E0=AE= =A4=E0=AF=81 3. Shorter: =E0=AE=86=E0=AE=AA=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE=BE=E0=AE=A9= =E0=AE=A4=E0=AF=81 -> =E0=AE=86=E0=AE=AA=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AF=81 > #: lib/root-dev-ino.h:41 > #, c-format > msgid "it is dangerous to operate recursively on %s (same as %s)" > msgstr "%s =E0=AE=87=E0=AE=B2=E0=AF=8D =E0=AE=AE=E0=AF=80=E0=AE=B3=E0=AF= =8D =E0=AE=9A=E0=AF=81=E0=AE=B0=E0=AF=81=E0=AE=B3=E0=AE=BE=E0=AE=95 =E0=AE= =87=E0=AE=AF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=81=E0=AE=B5=E0=AE=A4=E0=AF=81= =E0=AE=86=E0=AE=AA=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE=BE=E0=AE=A9=E0=AE=A4= =E0=AF=81 (%s =E0=AE=AA=E0=AF=8B=E0=AE=B2=E0=AE=B5=E0=AF=87)" Likewise. > #: lib/root-dev-ino.h:43 > #, c-format > msgid "use --no-preserve-root to override this failsafe" > msgstr "=E0=AE=87=E0=AE=A8=E0=AF=8D=E0=AE=A4 =E0=AE=A8=E0=AF=8A=E0=AE=9F= =E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81 =E0=AE=A8=E0=AE=BF=E0=AE=B2= =E0=AF=88=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=BE=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0= =AF=88 =E0=AE=AE=E0=AF=87=E0=AE=B2=E0=AF=86=E0=AE=B4=E0=AF=81=E0=AE=A4 --no= -preserve-root =E0=AE=90 > =E0=AE=AA=E0=AE=AF=E0=AE=A9=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=81=E0=AE=A4= =E0=AF=8D=E0=AE=A4=E0=AE=B5=E0=AF=81=E0=AE=AE=E0=AF=8D" Looking at the code in lib/root-dev-ino.h, this message always occurs immediately after one of the above two messages. So, a better translation is "=E0=AE=87=E0=AE=AE=E0=AF=8D=E0=AE=AE=E0=AF=81=E0=AE=A9=E0= =AF=8D=E0=AE=A9=E0=AF=86=E0=AE=9A=E0=AF=8D=E0=AE=9A=E0=AE=B0=E0=AE=BF=E0=AE= =95=E0=AF=8D=E0=AE=95=E0=AF=88=E0=AE=AF=E0=AF=88=E0=AE=AA=E0=AF=8D =E0=AE= =AA=E0=AF=81=E0=AE=B1=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=A3=E0=AE=BF=E0=AE=95= =E0=AF=8D=E0=AE=95 --no-preserve-root =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AE=B2=E0=AF=8D=E0=AE=AE=E0=AE=BE=E0=AE=B1=E0= =AF=8D=E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AF=88=E0=AE=AA=E0=AF=8D =E0=AE=AA=E0= =AE=AF=E0=AE=A9=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=81=E0=AE=A4=E0=AF=8D=E0=AE= =A4=E0=AF=81=E0=AE=95" > #: lib/set-acl.c:46 src/copy.c:2670 src/cp.c:519 > #, c-format > msgid "setting permissions for %s" > msgstr "%s =E0=AE=95=E0=AE=BE=E0=AE=A9 =E0=AE=85=E0=AE=A9=E0=AF=81=E0=AE= =AE=E0=AE=A4=E0=AE=BF=E0=AE=95=E0=AE=B3=E0=AF=88 =E0=AE=85=E0=AE=AE=E0=AF= =88=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=BF=E0=AE=B1=E0=AE=A4=E0=AF=81" Avoid free suffix and improve translation: "%s =E0=AE=95=E0=AF=8B=E0=AE=AA= =E0=AF=8D=E0=AE=AA=E0=AF=81=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=81 =E0=AE=85= =E0=AE=A9=E0=AF=81=E0=AE=AE=E0=AE=A4=E0=AE=BF=E0=AE=95=E0=AE=B3=E0=AF=8D = =E0=AE=85=E0=AE=AE=E0=AF=88=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA=E0=AF=8D=E0= =AE=AA=E0=AE=9F=E0=AF=81=E0=AE=95=E0=AE=BF=E0=AE=A9=E0=AF=8D=E0=AE=B1=E0=AE= =A9". > #: lib/siglist.h:31 > msgid "Hangup" > msgstr "=E0=AE=A4=E0=AF=8A=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AE=B2=E0=AF=8D" https://en.wikipedia.org/wiki/SIGHUP Hangup is an Unix signal that is named after the act of "hanging up" or "cutting" a phone call. So, =E0=AE=A4=E0=AF=81=E0=AE=A3=E0=AF=8D=E0=AE=9F=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0= =AE=AA=E0=AF=81 is a good translation. > #: lib/siglist.h:40 > msgid "Illegal instruction" > msgstr "=E0=AE=9A=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=8D=E0=AE=A4= =E0=AE=BF=E0=AE=B1=E0=AF=8D=E0=AE=95=E0=AF=81=E0=AE=AA=E0=AF=8D =E0=AE=AA= =E0=AF=81=E0=AE=B1=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0=AE=BE=E0=AE=A9 =E0=AE=85= =E0=AE=B1=E0=AE=BF=E0=AE=B5=E0=AF=81=E0=AE=B1=E0=AF=81=E0=AE=A4=E0=AF=8D=E0= =AE=A4=E0=AE=B2=E0=AF=8D" Better translation: =E0=AE=8F=E0=AE=B1=E0=AF=8D=E0=AE=95=E0=AE=A4=E0=AF=8D= =E0=AE=A4=E0=AE=95=E0=AE=BE =E0=AE=86=E0=AE=A3=E0=AF=88. =E0=AE=86=E0=AE=A3= =E0=AF=88 seems to be the Tamil word in vogue for a CPU instruction. > #: lib/siglist.h:43 > msgid "Trace/breakpoint trap" > msgstr "=E0=AE=A4=E0=AE=9F=E0=AE=AF=E0=AE=AE=E0=AF=8D/=E0=AE=AE=E0=AF=81= =E0=AE=B1=E0=AE=BF=E0=AE=B5=E0=AF=81 =E0=AE=AA=E0=AF=81=E0=AE=B3=E0=AF=8D= =E0=AE=B3=E0=AE=BF =E0=AE=AA=E0=AF=8A=E0=AE=B1=E0=AE=BF" See earlier about "trap" being the same as "interrupt". > #: lib/siglist.h:58 > msgid "Segmentation fault" > msgstr "=E0=AE=AA=E0=AE=BF=E0=AE=B0=E0=AE=BF=E0=AE=B5=E0=AF=81 =E0=AE=A4= =E0=AE=B5=E0=AE=B1=E0=AF=81" According to https://en.wikipedia.org/wiki/Segmentation_fault , segmentation faults are also known as memory access violations. So, we may translate this as =E0=AE=A8=E0=AE=BF=E0=AE=A9=E0=AF=88=E0=AE=B5=E0=AE= =95 =E0=AE=85=E0=AE=A3=E0=AF=81=E0=AE=95=E0=AF=8D=E0=AE=95 =E0=AE=AE=E0=AF= =80=E0=AE=B1=E0=AE=B2=E0=AF=8D. > #: lib/siglist.h:67 > msgid "Terminated" > msgstr "=E0=AE=AE=E0=AF=81=E0=AE=9F=E0=AE=BF=E0=AE=B5=E0=AE=9F=E0=AF=88= =E0=AE=A8=E0=AF=8D=E0=AE=A4=E0=AE=A4=E0=AF=81" This signal is sent to a process to request its termination. =E0=AE=AE=E0= =AF=81=E0=AE=9F=E0=AE=BF=E0=AE=B5=E0=AE=9F=E0=AF=88=E0=AE=A8=E0=AF=8D=E0=AE= =A4=E0=AE=A4=E0=AF=81 sounds like the process has *completed* executing. It has not. So, the better translation is =E0=AE=A8=E0=AE=BF=E0=AE=B1=E0=AF=81=E0=AE=A4=E0=AF= =8D=E0=AE=A4=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4= =E0=AF=81. > #: lib/siglist.h:70 > msgid "Urgent I/O condition" > msgstr "=E0=AE=85=E0=AE=B5=E0=AE=9A=E0=AE=B0 =E0=AE=89=E0=AE=B3=E0=AF=8D= =E0=AE=B3=E0=AF=80=E0=AE=9F=E0=AF=81 / =E0=AE=B5=E0=AF=86=E0=AE=B3=E0=AE=BF= =E0=AE=AF=E0=AF=80=E0=AE=9F=E0=AF=81 =E0=AE=A8=E0=AE=BF=E0=AE=B2=E0=AF=88" Remove spaces before and after /. > #: lib/siglist.h:73 > msgid "Stopped (signal)" > msgstr "=E0=AE=A8=E0=AE=BF=E0=AE=B1=E0=AF=81=E0=AE=A4=E0=AF=8D=E0=AE=A4= =E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81 (= =E0=AE=9A=E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=9E=E0=AF=88)" > > #: lib/siglist.h:76 > msgid "Stopped" > msgstr "=E0=AE=A8=E0=AE=BF=E0=AE=B1=E0=AF=81=E0=AE=A4=E0=AF=8D=E0=AE=A4= =E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81" 1. See earlier for "signal". 2. Here, the English "stopped" is a bit misleading. These Unix signals cause a signal to be "paused", not stopped completely. So, we may better translate to =E0=AE=87=E0=AE=9F=E0=AF=88=E0=AE=A8=E0=AE=BF=E0=AE=B1=E0=AF= =81=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D= =E0=AE=9F=E0=AE=A4=E0=AF=81. > #: lib/siglist.h:82 > msgid "Child exited" > msgstr "=E0=AE=95=E0=AF=81=E0=AE=B4=E0=AE=A8=E0=AF=8D=E0=AE=A4=E0=AF=88 = =E0=AE=B5=E0=AF=86=E0=AE=B3=E0=AE=BF=E0=AE=AF=E0=AF=87=E0=AE=B1=E0=AE=BF=E0= =AE=AF=E0=AE=A4=E0=AF=81" Here, "child" is in the context of a "child process". Children and parents are a recurring theme in computing=E2=80=94think child processes and parent process, child directories and parent directories, child nodes and parent nodes. In Tamil, we could translate parent and child very elegantly to =E0=AE=A4=E0=AE=BE=E0=AE=AF=E0=AF=8D and =E0=AE=9A=E0=AF=87=E0= =AE=AF=E0=AF=8D respectively. So, the above message would be =E0=AE=9A=E0=AF=87=E0=AE=AF=E0=AF=8D =E0=AE=B5=E0=AF=86=E0=AE=B3=E0=AE=BF= =E0=AE=AF=E0=AF=87=E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AE=A4=E0=AF=81. > #: lib/siglist.h:103 > msgid "Profiling timer expired" > msgstr "=E0=AE=AA=E0=AF=81=E0=AE=B1=E0=AE=89=E0=AE=B0=E0=AF=81 =E0=AE=B5= =E0=AF=86=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=B2=E0=AF=8D =E0=AE=A8=E0=AF=87= =E0=AE=B0=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AE=BE=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0= =AE=BF =E0=AE=95=E0=AE=BE=E0=AE=B2=E0=AE=BE=E0=AE=B5=E0=AE=A4=E0=AE=BF=E0= =AE=AF=E0=AE=BE=E0=AE=A9=E0=AE=A4=E0=AF=81" Here, profiling is the measurement of the time a program takes to run. So, maybe translate profiling timer as =E0=AE=87=E0=AE=AF=E0=AE=99=E0= =AF=8D=E0=AE=95=E0=AF=81=E0=AE=A8=E0=AF=87=E0=AE=B0 =E0=AE=86=E0=AE=AF=E0= =AF=8D=E0=AE=B5=E0=AF=81 =E0=AE=A8=E0=AF=87=E0=AE=B0=E0=AE=99=E0=AF=8D=E0= =AE=95=E0=AE=BE=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=BF. > #: lib/siglist.h:109 > msgid "User defined signal 1" > msgstr "=E0=AE=AA=E0=AE=AF=E0=AE=A9=E0=AE=B0=E0=AF=8D =E0=AE=B5=E0=AE=B0= =E0=AF=88=E0=AE=AF=E0=AE=B1=E0=AF=81=E0=AE=A4=E0=AF=8D=E0=AE=A4 =E0=AE=9A= =E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=9E=E0=AF=88 1" > > #: lib/siglist.h:112 > msgid "User defined signal 2" > msgstr "=E0=AE=AA=E0=AE=AF=E0=AE=A9=E0=AE=B0=E0=AF=8D =E0=AE=B5=E0=AE=B0= =E0=AF=88=E0=AE=AF=E0=AE=B1=E0=AF=81=E0=AE=A4=E0=AF=8D=E0=AE=A4 =E0=AE=9A= =E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=9E=E0=AF=88 2" See earlier for =E0=AE=9A=E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=9E=E0= =AF=88 -> =E0=AE=95=E0=AF=81=E0=AE=B1=E0=AE=BF. > #: lib/siglist.h:117 > msgid "EMT trap" > msgstr "EMT =E0=AE=AA=E0=AF=8A=E0=AE=B1=E0=AE=BF" trap and interrupt are the same in our context. So we may translate them the same. This string therefore becomes EMT =E0=AE=95=E0=AF=81=E0=AE=B1=E0= =AF=81=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=80=E0=AE=9F=E0=AF=81 > #: lib/siglist.h:120 > msgid "Bad system call" > msgstr "=E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=AE=E0=AF=81= =E0=AE=B1=E0=AF=88=E0=AE=AE=E0=AF=88 =E0=AE=85=E0=AE=B4=E0=AF=88=E0=AE=AA= =E0=AF=8D=E0=AE=AA=E0=AF=81" See earlier about "system". This should be =E0=AE=A4=E0=AE=B5=E0=AE=B1=E0= =AE=BE=E0=AE=A9 =E0=AE=87=E0=AE=AF=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AF=81=E0= =AE=A4=E0=AE=B3 =E0=AE=85=E0=AE=B4=E0=AF=88=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0= =AF=81. > #: lib/siglist.h:123 > msgid "Stack fault" > msgstr "=E0=AE=85=E0=AE=9F=E0=AF=81=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=81 = =E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AF=81" Maybe =E0=AE=85=E0=AE=9F=E0=AF=81=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=81=E0=AE= =9A=E0=AF=8D =E0=AE=9A=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=B2=E0=AF= =8D. =E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AF=81 feels more like mistake (as in so= me person's mistake) whereas =E0=AE=9A=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=B2=E0= =AF=8D feels more like fault (as in a technical glitch). > #: lib/siglist.h:128 > msgid "Power failure" > msgstr "=E0=AE=A4=E0=AE=BF=E0=AE=B1=E0=AE=A9=E0=AF=8D =E0=AE=A4=E0=AF=8B= =E0=AE=B2=E0=AF=8D=E0=AE=B5=E0=AE=BF" Power here is about electricity. So "=E0=AE=AE=E0=AE=BF=E0=AE=A9=E0=AF=8D= =E0=AE=9A=E0=AE=BE=E0=AE=B0 =E0=AE=A8=E0=AE=BF=E0=AE=B1=E0=AF=81=E0=AE=A4= =E0=AF=8D=E0=AE=A4=E0=AE=AE=E0=AF=8D" is the correct translation. > #: lib/siglist.h:131 > msgid "Resource lost" > msgstr "=E0=AE=B5=E0=AE=B3=E0=AE=AE=E0=AF=8D =E0=AE=A4=E0=AF=81=E0=AE=A3= =E0=AF=8D=E0=AE=9F=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA=E0=AF=8D=E0= =AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81" =E0=AE=B5=E0=AE=B3=E0=AE=AE=E0=AF=8D =E0=AE=87=E0=AE=B4=E0=AE=AA=E0=AF=8D= =E0=AE=AA=E0=AF=81 instead of =E0=AE=B5=E0=AE=B3=E0=AE=AE=E0=AF=8D =E0=AE= =A4=E0=AF=81=E0=AE=A3=E0=AF=8D=E0=AE=9F=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95= =E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81 > #: lib/strsignal.c:114 > #, c-format > msgid "Real-time signal %d" > msgstr "=E0=AE=A8=E0=AE=BF=E0=AE=95=E0=AE=B4=E0=AF=8D =E0=AE=A8=E0=AF=87= =E0=AE=B0 =E0=AE=9A=E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=9E=E0=AF=88 %= d" > > #: lib/strsignal.c:118 > #, c-format > msgid "Unknown signal %d" > msgstr "=E0=AE=85=E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AE=AA=E0=AF=8D=E0=AE=AA= =E0=AE=9F=E0=AE=BE=E0=AE=A4 =E0=AE=9A=E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AF=8D= =E0=AE=9E=E0=AF=88 %d" See earlier about "signal". > #: lib/unicodeio.c:198 > #, c-format > msgid "cannot convert U+%04X to local character set" > msgstr "=E0=AE=87=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AF=81 U+%04X =E0=AE=90 = =E0=AE=89=E0=AE=B3=E0=AF=8D=E0=AE=B3=E0=AF=82=E0=AE=B0=E0=AF=8D =E0=AE=B5= =E0=AE=B0=E0=AE=BF=E0=AE=AF=E0=AF=81=E0=AE=B0=E0=AF=81=E0=AE=95=E0=AF=8D = =E0=AE=95=E0=AE=A3=E0=AE=AE=E0=AE=BE=E0=AE=95 =E0=AE=AE=E0=AE=BE=E0=AE=B1= =E0=AF=8D=E0=AE=B1 =E0=AE=87=E0=AE=AF=E0=AE=B2=E0=AE=B5=E0=AE=BF=E0=AE=B2= =E0=AF=8D=E0=AE=B2=E0=AF=88" 1. Delete =E0=AE=87=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AF=81. 2. Avoid free suffix: =E0=AE=90 -> =E0=AE=B5=E0=AE=B0=E0=AE=BF=E0=AE=AF=E0= =AF=81=E0=AE=B0=E0=AF=81=E0=AE=B5=E0=AF=88 3. Fix slight mistranslation: =E0=AE=B5=E0=AE=B0=E0=AE=BF=E0=AE=AF=E0=AF=81= =E0=AE=B0=E0=AF=81=E0=AE=95=E0=AF=8D =E0=AE=95=E0=AE=A3=E0=AE=AE=E0=AE=BE= =E0=AE=95 -> =E0=AE=B5=E0=AE=B0=E0=AE=BF=E0=AE=AF=E0=AF=81=E0=AE=B0=E0=AF= =81=E0=AE=95=E0=AF=8D =E0=AE=95=E0=AE=A3=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE= =BF=E0=AE=B1=E0=AF=8D=E0=AE=95=E0=AF=81 4. Slightly more faithful to the original meaning: =E0=AE=87=E0=AE=AF=E0=AE= =B2=E0=AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88 -> =E0=AE=87=E0= =AE=AF=E0=AE=B2=E0=AE=BE=E0=AE=A4=E0=AF=81 > #: lib/unicodeio.c:200 > #, c-format > msgid "cannot convert U+%04X to local character set: %s" > msgstr "=E0=AE=87=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AF=81 U+%04X =E0=AE=90 = =E0=AE=89=E0=AE=B3=E0=AF=8D=E0=AE=B3=E0=AF=82=E0=AE=B0=E0=AF=8D =E0=AE=B5= =E0=AE=B0=E0=AE=BF=E0=AE=AF=E0=AF=81=E0=AE=B0=E0=AF=81 =E0=AE=95=E0=AE=A3= =E0=AE=AE=E0=AE=BE=E0=AE=95 =E0=AE=AE=E0=AE=BE=E0=AE=B1=E0=AF=8D=E0=AE=B1 = =E0=AE=87=E0=AE=AF=E0=AE=B2=E0=AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0= =AF=88: %s" Likewise. > #: lib/userspec.c:165 > msgid "invalid spec" > msgstr "=E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=B5=E0=AE=BF= =E0=AE=B5=E0=AE=B0=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=82=E0=AE=B1=E0=AF=8D=E0= =AE=B1=E0=AF=81" > > #: lib/userspec.c:174 > msgid "invalid user" > msgstr "=E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=AA=E0=AE=AF= =E0=AE=A9=E0=AE=B0=E0=AF=8D" > > #: lib/userspec.c:207 > msgid "invalid group" > msgstr "=E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=95=E0=AF=81= =E0=AE=B4=E0=AF=81" invalid is probably better translated as =E0=AE=8F=E0=AE=B1=E0=AF=8D=E0=AE= =95=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE=95=E0=AE=BE. > #: lib/version-etc.c:73 > #, c-format > msgid "Packaged by %s (%s)\n" > msgstr "%s =E0=AE=86=E0=AE=B2=E0=AF=8D =E0=AE=AA=E0=AF=8A=E0=AE=A4=E0=AE= =BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D= =E0=AE=9F=E0=AE=A4=E0=AF=81 (%s)\n" Here, packaging is more like =E0=AE=A4=E0=AF=8A=E0=AE=95=E0=AF=81=E0=AE=AA= =E0=AF=8D=E0=AE=AA=E0=AF=81. So, "%s (%s) =E0=AE=A4=E0=AF=8A=E0=AE=95=E0=AF= =81=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE=A4=E0=AF=81\n" is a better translation. This also avoids the free suffix =E0=AE=86=E0=AE=B2=E0= =AF=8D. > #: lib/version-etc.c:76 > #, c-format > msgid "Packaged by %s\n" > msgstr "%s =E0=AE=86=E0=AE=B2=E0=AF=8D =E0=AE=AA=E0=AF=8A=E0=AE=A4=E0=AE= =BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D= =E0=AE=9F=E0=AE=A4=E0=AF=81\n" Likewise: %s =E0=AE=A4=E0=AF=8A=E0=AE=95=E0=AF=81=E0=AE=A4=E0=AF=8D=E0=AE= =A4=E0=AE=A4=E0=AF=81\n > #. TRANSLATORS: Translate "(C)" to the copyright symbol > #. (C-in-a-circle), if this symbol is available in the user's > #. locale. Otherwise, do not translate "(C)"; leave it as-is. > #: lib/version-etc.c:83 > msgid "(C)" > msgstr "(C)" This should be translated to =C2=A9 (U+00A9) > #. TRANSLATORS: The %s placeholder is the web address of the GPL license. > #: lib/version-etc.c:88 > #, c-format > msgid "" > "License GPLv3+: GNU GPL version 3 or later <%s>.\n" > "This is free software: you are free to change and redistribute it.\n" > "There is NO WARRANTY, to the extent permitted by law.\n" > msgstr "" > "GPLv3+ =E0=AE=89=E0=AE=B0=E0=AE=BF=E0=AE=AE=E0=AE=AE=E0=AF=8D: GNU GPL = =E0=AE=AA=E0=AE=A4=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81 3 =E0=AE=85= =E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AE=A4=E0=AF=81 =E0=AE=85=E0=AE=A4=E0=AE=B1= =E0=AF=8D=E0=AE=95=E0=AF=81 =E0=AE=AE=E0=AF=87=E0=AE=B2=E0=AF=8D <%s>.\n" > "=E0=AE=87=E0=AE=A4=E0=AF=81 =E0=AE=92=E0=AE=B0=E0=AF=81 =E0=AE=95=E0=AE= =9F=E0=AF=8D=E0=AE=9F=E0=AE=B1=E0=AF=8D=E0=AE=B1 =E0=AE=AE=E0=AF=86=E0=AE= =A9=E0=AF=8D=E0=AE=AA=E0=AF=8A=E0=AE=B0=E0=AF=81=E0=AE=B3=E0=AF=8D: =E0=AE= =87=E0=AE=A4=E0=AF=88 =E0=AE=AE=E0=AE=BE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AE= =B5=E0=AF=81=E0=AE=AE=E0=AF=8D =E0=AE=AE=E0=AE=B1=E0=AF=81=E0=AE=AA=E0=AE= =95=E0=AE=BF=E0=AE=B0=E0=AF=8D=E0=AE=B5=E0=AF=81 =E0=AE=9A=E0=AF=86=E0=AE= =AF=E0=AF=8D=E0=AE=AF=E0=AE=B5=E0=AF=81=E0=AE=AE=E0=AF=8D =E0=AE=89=E0=AE= =99=E0=AF=8D=E0=AE=95=E0=AE=B3=E0=AF=81=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=81= =E0=AE=9A=E0=AF=81=E0=AE=A4=E0=AE=A8=E0=AF=8D=E0=AE=A4=E0=AE=BF=E0=AE=B0= =E0=AE=AE=E0=AF=8D =E0=AE=89=E0=AE=B3=E0=AF=8D=E0=AE=B3=E0=AE=A4=E0=AF=81.\= n" > "=E0=AE=9A=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE=BE= =E0=AE=B2=E0=AF=8D =E0=AE=85=E0=AE=A9=E0=AF=81=E0=AE=AE=E0=AE=A4=E0=AE=BF= =E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0= =AE=9F =E0=AE=85=E0=AE=B3=E0=AE=B5=E0=AE=BF=E0=AE=B1=E0=AF=8D=E0=AE=95=E0= =AF=81 =E0=AE=8E=E0=AE=A8=E0=AF=8D=E0=AE=A4 =E0=AE=A8=E0=AE=AE=E0=AF=8D=E0= =AE=AA=E0=AF=81=E0=AE=B1=E0=AF=81=E0=AE=A4=E0=AE=BF=E0=AE=AF=E0=AF=81=E0=AE= =AE=E0=AF=8D =E0=AE=87=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88.\n" Nice! This is a really good translation! :-) Much better than the translation I came up with for hello. https://translationproject.org/PO-files/ta/hello-2.12.ta.po "=E0=AE=89=E0=AE=B0=E0=AE=BF=E0=AE=AE=E0=AE=AE=E0=AF=8D GPLv3+: GNU GPL =E0= =AE=AE=E0=AF=82=E0=AE=A9=E0=AF=8D=E0=AE=B1=E0=AE=BE=E0=AE=AE=E0=AF=8D =E0= =AE=AA=E0=AE=A4=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81 =E0=AE=85=E0= =AE=B2=E0=AF=8D=E0=AE=B2=E0=AE=A4=E0=AF=81 =E0=AE=85=E0=AE=A4=E0=AE=B1=E0= =AF=8D=E0=AE=95=E0=AF=81=E0=AE=AA=E0=AF=8D =E0=AE=AA=E0=AE=BF=E0=AE=A9=E0= =AF=8D =E0=AE=89=E0=AE=B3=E0=AF=8D=E0=AE=B3 =E0=AE=AA=E0=AE=A4=E0=AE=BF=E0= =AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81=E0=AE=95=E0=AE=B3=E0=AF=8D =E0=AE=8F=E0= =AE=A4=E0=AF=87=E0=AE=A9=E0=AF=81=E0=AE=AE=E0=AF=8D\n" "\n" "=E0=AE=87=E0=AE=A4=E0=AF=81 =E0=AE=95=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=B1= =E0=AF=8D=E0=AE=B1 =E0=AE=AE=E0=AF=86=E0=AE=A9=E0=AF=8D=E0=AE=AA=E0=AF=8A= =E0=AE=B0=E0=AF=81=E0=AE=B3=E0=AF=8D. =E0=AE=87=E0=AE=A4=E0=AF=88 =E0=AE=AE= =E0=AE=BE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AE=B5=E0=AF=8B =E0=AE=AE=E0=AE=B1= =E0=AF=81=E0=AE=B5=E0=AE=BF=E0=AE=A8=E0=AE=BF=E0=AE=AF=E0=AF=8B=E0=AE=95=E0= =AE=AE=E0=AF=8D =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AF=8D=E0=AE=AF=E0=AE=B5=E0= =AF=8B =E0=AE=89=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AE=B3=E0=AF=81=E0=AE=95=E0= =AF=8D=E0=AE=95=E0=AF=81 =E0=AE=89=E0=AE=B0=E0=AE=BF=E0=AE=AE=E0=AF=88 =E0= =AE=89=E0=AE=A3=E0=AF=8D=E0=AE=9F=E0=AF=81.\n" "=E0=AE=9A=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE=BE= =E0=AE=B2=E0=AF=8D =E0=AE=85=E0=AE=A9=E0=AF=81=E0=AE=AE=E0=AE=A4=E0=AE=BF= =E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0= =AE=9F =E0=AE=85=E0=AE=B3=E0=AE=B5=E0=AE=BF=E0=AE=B1=E0=AF=8D=E0=AE=95=E0= =AF=81 =E0=AE=8E=E0=AE=A8=E0=AF=8D=E0=AE=A4 =E0=AE=89=E0=AE=A4=E0=AF=8D=E0= =AE=A4=E0=AE=B0=E0=AE=B5=E0=AE=BE=E0=AE=A4=E0=AE=AE=E0=AF=81=E0=AE=AE=E0=AF= =8D =E0=AE=87=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88.\n" I particularly love that you found better translations for "redistribute" and "warranty". That said, I do suggest the following three minor corrections to make your translation even better. =E0=AE=87=E0=AE=A4=E0=AF=81 =E0=AE=92=E0=AE=B0=E0=AF=81 =E0=AE=95=E0=AE=9F= =E0=AF=8D=E0=AE=9F=E0=AE=B1=E0=AF=8D=E0=AE=B1 =E0=AE=AE=E0=AF=86=E0=AE=A9= =E0=AF=8D=E0=AE=AA=E0=AF=8A=E0=AE=B0=E0=AF=81=E0=AE=B3=E0=AF=8D -> =E0=AE= =87=E0=AE=A4=E0=AF=81=E0=AE=95=E0=AF=8D =E0=AE=95=E0=AE=9F=E0=AF=8D=E0=AE= =9F=E0=AE=B1=E0=AF=8D=E0=AE=B1 =E0=AE=AE=E0=AF=86=E0=AE=A9=E0=AF=8D=E0=AE= =AA=E0=AF=8A=E0=AE=B0=E0=AF=81=E0=AE=B3=E0=AF=8D =E0=AE=AE=E0=AE=B1=E0=AF=81=E0=AE=AA=E0=AE=95=E0=AE=BF=E0=AE=B0=E0=AF=8D=E0= =AE=B5=E0=AF=81 =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AF=8D=E0=AE=AF=E0=AE=B5=E0= =AF=81=E0=AE=AE=E0=AF=8D -> =E0=AE=AA=E0=AE=95=E0=AE=BF=E0=AE=B0=E0=AE=B5= =E0=AF=81=E0=AE=AE=E0=AF=8D =E0=AE=9A=E0=AF=81=E0=AE=A4=E0=AE=A8=E0=AF=8D=E0=AE=A4=E0=AE=BF=E0=AE=B0=E0= =AE=AE=E0=AF=8D -> =E0=AE=89=E0=AE=B0=E0=AE=BF=E0=AE=AE=E0=AF=88 > #. TRANSLATORS: %s denotes an author name. > #: lib/version-etc.c:105 > #, c-format > msgid "Written by %s.\n" > msgstr "%s =E0=AE=86=E0=AE=B2=E0=AF=8D =E0=AE=8E=E0=AE=B4=E0=AF=81=E0=AE= =A4=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81= .\n" This can be "%s =E0=AE=8E=E0=AE=B4=E0=AF=81=E0=AE=A4=E0=AE=BF=E0=AE=AF=E0= =AE=A4=E0=AF=81". This lets us avoid having =E0=AE=86=E0=AE=B2=E0=AF=8D, th= e free suffix (=E0=AE=B5=E0=AE=BF=E0=AE=95=E0=AF=81=E0=AE=A4=E0=AE=BF). > #. TRANSLATORS: Each %s denotes an author name. > #: lib/version-etc.c:109 > #, c-format > msgid "Written by %s and %s.\n" > msgstr "%s =E0=AE=AE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81=E0=AE=AE=E0=AF= =8D %s =E0=AE=86=E0=AE=B2=E0=AF=8D =E0=AE=8E=E0=AE=B4=E0=AF=81=E0=AE=A4=E0= =AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81.\n" Likewise, this can be "%s, %s =E0=AE=8E=E0=AE=B4=E0=AF=81=E0=AE=A4=E0=AE=BF= =E0=AE=AF=E0=AE=A4=E0=AF=81". We avoid the free suffix =E0=AE=86=E0=AE=B2= =E0=AF=8D, and we also avoid =E0=AE=AE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81=E0=AE=AE=E0= =AF=8D. Unlike in English, we often don't need to have an explicit "and" (=E0=AE=AE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81=E0=AE=AE= =E0=AF=8D) in Tamil. Tamil sentences often read better without =E0=AE=AE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81=E0=AE=AE=E0=AF=8D. > #. TRANSLATORS: Each %s denotes an author name. > #: lib/version-etc.c:113 > #, c-format > msgid "Written by %s, %s, and %s.\n" > msgstr "%s, %s, =E0=AE=AE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81=E0=AE=AE=E0= =AF=8D %s =E0=AE=86=E0=AE=B2=E0=AF=8D =E0=AE=8E=E0=AE=B4=E0=AF=81=E0=AE=A4= =E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81.\n" > > #. TRANSLATORS: Each %s denotes an author name. > #. You can use line breaks, estimating that each author name occupies > #. ca. 16 screen columns and that a screen line has ca. 80 columns. > #: lib/version-etc.c:120 > #, c-format > msgid "" > "Written by %s, %s, %s,\n" > "and %s.\n" > msgstr "" > "%s, %s, %s,\n" > "=E0=AE=AE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81=E0=AE=AE=E0=AF=8D %s =E0= =AE=86=E0=AE=B2=E0=AF=8D =E0=AE=8E=E0=AE=B4=E0=AF=81=E0=AE=A4=E0=AE=AA=E0= =AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81.\n" > > #. TRANSLATORS: Each %s denotes an author name. > #. You can use line breaks, estimating that each author name occupies > #. ca. 16 screen columns and that a screen line has ca. 80 columns. > #: lib/version-etc.c:127 > #, c-format > msgid "" > "Written by %s, %s, %s,\n" > "%s, and %s.\n" > msgstr "" > "%s, %s, %s,\n" > "%s, =E0=AE=AE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81=E0=AE=AE=E0=AF=8D %s = =E0=AE=86=E0=AE=B2=E0=AF=8D =E0=AE=8E=E0=AE=B4=E0=AF=81=E0=AE=A4=E0=AE=AA= =E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81.\n" > > #. TRANSLATORS: Each %s denotes an author name. > #. You can use line breaks, estimating that each author name occupies > #. ca. 16 screen columns and that a screen line has ca. 80 columns. > #: lib/version-etc.c:134 > #, c-format > msgid "" > "Written by %s, %s, %s,\n" > "%s, %s, and %s.\n" > msgstr "" > "%s, %s, %s,\n" > "%s, %s, =E0=AE=AE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81=E0=AE=AE=E0=AF=8D = %s =E0=AE=86=E0=AE=B2=E0=AF=8D =E0=AE=8E=E0=AE=B4=E0=AF=81=E0=AE=A4=E0=AE= =AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81.\n" > > #. TRANSLATORS: Each %s denotes an author name. > #. You can use line breaks, estimating that each author name occupies > #. ca. 16 screen columns and that a screen line has ca. 80 columns. > #: lib/version-etc.c:142 > #, c-format > msgid "" > "Written by %s, %s, %s,\n" > "%s, %s, %s, and %s.\n" > msgstr "" > "%s, %s, %s,\n" > "%s, %s, %s, =E0=AE=AE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81=E0=AE=AE=E0=AF= =8D %s =E0=AE=86=E0=AE=B2=E0=AF=8D =E0=AE=8E=E0=AE=B4=E0=AF=81=E0=AE=A4=E0= =AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81.\n" > > #. TRANSLATORS: Each %s denotes an author name. > #. You can use line breaks, estimating that each author name occupies > #. ca. 16 screen columns and that a screen line has ca. 80 columns. > #: lib/version-etc.c:150 > #, c-format > msgid "" > "Written by %s, %s, %s,\n" > "%s, %s, %s, %s,\n" > "and %s.\n" > msgstr "" > "%s, %s, %s,\n" > "%s, %s, %s, %s,\n" > "=E0=AE=AE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81=E0=AE=AE=E0=AF=8D %s =E0= =AE=86=E0=AE=B2=E0=AF=8D =E0=AE=8E=E0=AE=B4=E0=AF=81=E0=AE=A4=E0=AE=AA=E0= =AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81.\n" > > #. TRANSLATORS: Each %s denotes an author name. > #. You can use line breaks, estimating that each author name occupies > #. ca. 16 screen columns and that a screen line has ca. 80 columns. > #: lib/version-etc.c:159 > #, c-format > msgid "" > "Written by %s, %s, %s,\n" > "%s, %s, %s, %s,\n" > "%s, and %s.\n" > msgstr "" > "%s, %s, %s,\n" > "%s, %s, %s, %s,\n" > "%s, =E0=AE=AE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81=E0=AE=AE=E0=AF=8D %s = =E0=AE=86=E0=AE=B2=E0=AF=8D =E0=AE=8E=E0=AE=B4=E0=AF=81=E0=AE=A4=E0=AE=AA= =E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=A4=E0=AF=81.\n" > > #. TRANSLATORS: Each %s denotes an author name. > #. You can use line breaks, estimating that each author name occupies > #. ca. 16 screen columns and that a screen line has ca. 80 columns. > #: lib/version-etc.c:170 > #, c-format > msgid "" > "Written by %s, %s, %s,\n" > "%s, %s, %s, %s,\n" > "%s, %s, and others.\n" > msgstr "" > "%s, %s, %s,\n" > "%s, %s, %s, %s,\n" > "%s, %s, =E0=AE=AE=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81=E0=AE=AE=E0=AF=8D = =E0=AE=AA=E0=AE=B2=E0=AE=B0=E0=AE=BE=E0=AE=B2=E0=AF=8D =E0=AE=8E=E0=AE=B4= =E0=AF=81=E0=AE=A4=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0= =AE=A4=E0=AF=81.\n" Likewise for all the above. > #. TRANSLATORS: The placeholder indicates the bug-reporting address > #. for this package. Please add _another line_ saying > #. "Report translation bugs to <...>\n" with the address for translation > #. bugs (typically your translation team's web or email address). > #: lib/version-etc.c:249 > #, c-format > msgid "Report bugs to: %s\n" > msgstr "=E0=AE=87=E0=AE=A8=E0=AF=8D=E0=AE=A4 =E0=AE=87=E0=AE=9F=E0=AE=A4= =E0=AF=8D=E0=AE=A4=E0=AE=BF=E0=AE=B2=E0=AF=8D =E0=AE=B5=E0=AE=B4=E0=AF=81= =E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=B3=E0=AF=88=E0=AE=A4=E0=AF=8D =E0=AE=A4= =E0=AF=86=E0=AE=B0=E0=AE=BF=E0=AE=B5=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0= =AE=B5=E0=AF=81=E0=AE=AE=E0=AF=8D: %s\n" > > #: lib/version-etc.c:251 > #, c-format > msgid "Report %s bugs to: %s\n" > msgstr "=E0=AE=87=E0=AE=A8=E0=AF=8D=E0=AE=A4 =E0=AE=87=E0=AE=9F=E0=AE=A4= =E0=AF=8D=E0=AE=A4=E0=AE=BF=E0=AE=B2=E0=AF=8D %s =E0=AE=B5=E0=AE=B4=E0=AF= =81=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=B3=E0=AF=88=E0=AE=A4=E0=AF=8D =E0=AE= =A4=E0=AF=86=E0=AE=B0=E0=AE=BF=E0=AE=B5=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95= =E0=AE=B5=E0=AF=81=E0=AE=AE=E0=AF=8D: %s\n" > > #: lib/version-etc.c:260 > #, c-format > msgid "General help using GNU software: <%s>\n" > msgstr "GNU =E0=AE=AE=E0=AF=86=E0=AE=A9=E0=AF=8D=E0=AE=AA=E0=AF=8A=E0=AE= =B0=E0=AF=81=E0=AE=B3=E0=AF=88=E0=AE=AA=E0=AF=8D =E0=AE=AA=E0=AE=AF=E0=AE= =A9=E0=AF=8D=E0=AE=AA=E0=AE=9F=E0=AF=81=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AF=81= =E0=AE=B5=E0=AE=A4=E0=AF=81 =E0=AE=95=E0=AF=81=E0=AE=B1=E0=AE=BF=E0=AE=A4= =E0=AF=8D=E0=AE=A4 =E0=AE=AA=E0=AF=8A=E0=AE=A4=E0=AF=81 =E0=AE=89=E0=AE=A4= =E0=AE=B5=E0=AE=BF: <%s>\n" Please copy the above three translations from grep. > #: lib/xbinary-io.c:37 > #, c-format > msgid "failed to set file descriptor text/binary mode" > msgstr "=E0=AE=95=E0=AF=8B=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81 =E0=AE=B5= =E0=AE=BF=E0=AE=B5=E0=AE=B0=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=BF=E0= =AE=AF=E0=AF=88 =E0=AE=89=E0=AE=B0=E0=AF=88/=E0=AE=87=E0=AE=B0=E0=AF=81=E0= =AE=AE=E0=AE=AA=E0=AF=8D =E0=AE=AA=E0=AE=AF=E0=AE=A9=E0=AF=8D=E0=AE=AE=E0= =AF=81=E0=AE=B1=E0=AF=88=E0=AE=AF=E0=AF=88 =E0=AE=85=E0=AE=AE=E0=AF=88=E0= =AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=A4=E0=AE=BF=E0=AE=B2=E0=AF=8D =E0=AE=A4=E0= =AF=8B=E0=AE=B2=E0=AF=8D=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=9F=E0=AF=88=E0=AE= =A8=E0=AF=8D=E0=AE=A4=E0=AE=A4=E0=AF=81" As a general comment for all translations, =E0=AE=A4=E0=AF=8B=E0=AE=B2=E0= =AF=8D=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AF=81=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AE= =A4=E0=AF=81 instead of =E0=AE=A4=E0=AF=8B=E0=AE=B2=E0=AF=8D=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=9F=E0= =AF=88=E0=AE=A8=E0=AF=8D=E0=AE=A4=E0=AE=A4=E0=AF=81 provides better literar= y taste (=E0=AE=87=E0=AE=B2=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=BF=E0=AE=AF = =E0=AE=A8=E0=AE=AF=E0=AE=AE=E0=AF=8D! :-)). > #: lib/xmemcoll.c:39 src/expr.c:926 > #, c-format > msgid "string comparison failed" > msgstr "=E0=AE=9A=E0=AE=B0 =E0=AE=92=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=80= =E0=AE=9F=E0=AF=81 =E0=AE=A4=E0=AF=8B=E0=AE=B2=E0=AF=8D=E0=AE=B5=E0=AE=BF= =E0=AE=AF=E0=AE=9F=E0=AF=88=E0=AE=A8=E0=AF=8D=E0=AE=A4=E0=AE=A4=E0=AF=81" See earlier for =E0=AE=A4=E0=AF=8B=E0=AE=B2=E0=AF=8D=E0=AE=B5=E0=AE=BF=E0= =AE=AF=E0=AF=81=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AE=A4=E0=AF=81. > #: lib/xmemcoll.c:40 > #, c-format > msgid "Set LC_ALL=3D'C' to work around the problem." > msgstr "=E0=AE=9A=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=B2=E0=AF=88 = =E0=AE=A4=E0=AF=80=E0=AE=B0=E0=AF=8D=E0=AE=95=E0=AF=8D=E0=AE=95 =E0=AE=B5= =E0=AF=87=E0=AE=B2=E0=AF=88 =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AF=8D=E0=AE=B5= =E0=AE=A4=E0=AE=B1=E0=AF=8D=E0=AE=95=E0=AF=81 LC_ALL=3D'C' =E0=AE=8E=E0=AE= =A9 =E0=AE=85=E0=AE=AE=E0=AF=88=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=B5=E0=AF= =81=E0=AE=AE=E0=AF=8D." Omitting a few words and providing a bit more context: "=E0=AE=9A=E0=AE=BF= =E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=B2=E0=AF=88=E0=AE=A4=E0=AF=8D =E0=AE=A4= =E0=AF=80=E0=AE=B0=E0=AF=8D=E0=AE=95=E0=AF=8D=E0=AE=95 LC_ALL=3D'C' =E0=AE=9A=E0=AF=82=E0=AE=B4=E0=AE=B2=E0=AF=8D=E0=AE=AE=E0=AE= =BE=E0=AE=B1=E0=AE=BF=E0=AE=AF=E0=AF=88 =E0=AE=85=E0=AE=AE=E0=AF=88=E0=AE= =95=E0=AF=8D=E0=AE=95." > #: lib/xstrtol-error.c:63 > #, c-format > msgid "invalid %s%s argument '%s'" > msgstr "=E0=AE=A4=E0=AE=B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 %s%s =E0=AE=AE=E0= =AE=A4=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81=E0=AE=B0=E0=AF=81 '%s'" 1. "invalid" may be better translated as =E0=AE=8F=E0=AE=B1=E0=AF=8D=E0=AE= =95=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE=95=E0=AE=BE. 2. See earlier for argument. > #: lib/xstrtol-error.c:68 > #, c-format > msgid "invalid suffix in %s%s argument '%s'" > msgstr "%s%s =E0=AE=AE=E0=AE=A4=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF= =81=E0=AE=B0=E0=AF=81=E0=AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D =E0=AE=A4=E0=AE= =B5=E0=AE=B1=E0=AE=BE=E0=AE=A9 =E0=AE=AA=E0=AE=BF=E0=AE=A9=E0=AF=8D=E0=AE= =A9=E0=AF=8A=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AF=81 '%s'" > > #: lib/xstrtol-error.c:72 > #, c-format > msgid "%s%s argument '%s' too large" > msgstr "%s%s =E0=AE=AE=E0=AE=A4=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF= =81=E0=AE=B0=E0=AF=81 '%s' =E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AE=AA=E0=AF=8D=E0= =AE=AA=E0=AF=86=E0=AE=B0=E0=AE=BF=E0=AE=AF=E0=AE=A4=E0=AE=BE=E0=AE=95 =E0= =AE=89=E0=AE=B3=E0=AF=8D=E0=AE=B3=E0=AE=A4=E0=AF=81" 1. See earlier for argument. 2. =E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=86=E0=AE=B0= =E0=AE=BF=E0=AE=AF=E0=AE=A4=E0=AE=BE=E0=AE=95 =E0=AE=89=E0=AE=B3=E0=AF=8D= =E0=AE=B3=E0=AE=A4=E0=AF=81 -> =E0=AE=AE=E0=AE=BF=E0=AE=95=E0=AE=AA=E0=AF= =8D =E0=AE=AA=E0=AF=86=E0=AE=B0=E0=AE=BF=E0=AE=AF=E0=AE=A4=E0=AF=81 > #. This is a proper name. See the gettext manual, section Names. > #: src/basename.c:29 src/chgrp.c:38 src/chmod.c:39 src/chown.c:37 src/com= m.c:39 > #: src/cp.c:44 src/csplit.c:46 src/cut.c:45 src/date.c:40 src/dd.c:44 > #: src/df.c:49 src/dirname.c:32 src/du.c:55 src/env.c:39 src/expand.c:48 > #: src/fold.c:36 src/groups.c:36 src/head.c:47 src/id.c:42 src/install.c:= 51 > #: src/ln.c:46 src/ls.c:133 src/digest.c:136 src/mkdir.c:39 src/mkfifo.c:= 36 > #: src/mknod.c:37 src/mv.c:43 src/nice.c:40 src/nl.c:42 src/paste.c:53 > #: src/pathchk.c:32 src/pinky.c:38 src/printenv.c:44 src/printf.c:69 > #: src/rm.c:41 src/rmdir.c:37 src/stty.c:68 src/tac.c:58 src/tail.c:78 > #: src/tee.c:38 src/touch.c:45 src/tty.c:44 src/uname.c:56 src/unexpand.c= :49 > #: src/uniq.c:41 src/uptime.c:46 src/users.c:36 src/wc.c:54 src/who.c:51 > #: src/yes.c:32 > msgid "David MacKenzie" > msgstr "David MacKenzie" We should transliterate this proper name to the Tamil script. > #: src/basename.c:48 > #, c-format > msgid "" > "Usage: %s NAME [SUFFIX]\n" > " or: %s OPTION... NAME...\n" > msgstr "" > "=E0=AE=AA=E0=AE=AF=E0=AE=A9=E0=AF=8D=E0=AE=AA=E0=AE=BE=E0=AE=9F=E0=AF=81= : %s =E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AF=8D [=E0=AE=AA=E0=AE=BF=E0= =AE=A9=E0=AF=8D=E0=AE=A9=E0=AF=8A=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AF=81]\n" > " =E0=AE=85=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AE=A4=E0=AF=81: %s =E0=AE=B5= =E0=AE=BF=E0=AE=B0=E0=AF=81=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=A4=E0=AF=8D=E0= =AE=A4=E0=AF=87=E0=AE=B0=E0=AF=8D=E0=AE=B5=E0=AF=81... =E0=AE=AA=E0=AF=86= =E0=AE=AF=E0=AE=B0=E0=AF=8D...\n" 1. See earlier for "option". 2. We follow the convention of putting placeholders such as NAME, SUFFIX and OPTION (shown in capitals in English) within angled brackets. So, "<=E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AF=8D>" instead of just "=E0=AE= =AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AF=8D", "<=E0=AE=AA=E0=AE=BF=E0=AE=A9=E0= =AF=8D=E0=AE=A9=E0=AF=8A=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AF=81>" instead of j= ust "=E0=AE=AA=E0=AE=BF=E0=AE=A9=E0=AF=8D=E0=AE=A9=E0=AF=8A=E0=AE=9F=E0=AF=8D= =E0=AE=9F=E0=AF=81", etc. > #: src/basename.c:53 > msgid "" > "Print NAME with any leading directory components removed.\n" > "If specified, also remove a trailing SUFFIX.\n" > msgstr "" > "=E0=AE=A8=E0=AF=80=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=AA=E0=AF=8D=E0=AE=AA= =E0=AE=9F=E0=AF=8D=E0=AE=9F =E0=AE=8F=E0=AE=A4=E0=AE=BE=E0=AE=B5=E0=AE=A4= =E0=AF=81 =E0=AE=AE=E0=AF=81=E0=AE=A9=E0=AF=8D=E0=AE=A9=E0=AE=A3=E0=AE=BF = =E0=AE=85=E0=AE=9F=E0=AF=88=E0=AE=B5=E0=AF=81 =E0=AE=95=E0=AF=82=E0=AE=B1= =E0=AF=81=E0=AE=95=E0=AE=B3=E0=AF=8D =E0=AE=89=E0=AE=9F=E0=AE=A9=E0=AF=8D = =E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AF=88 =E0=AE=85=E0=AE=9A=E0=AF=8D= =E0=AE=9A=E0=AE=BF=E0=AE=9F=E0=AF=81=E0=AE=AE=E0=AF=8D.\n" This is a mistranslation. Correct translation: "=E0=AE=AE=E0=AF=81=E0=AE=A9= =E0=AF=8D=E0=AE=A9=E0=AE=A3=E0=AE=BF =E0=AE=85=E0=AE=9F=E0=AF=88=E0=AE=B5= =E0=AF=81 =E0=AE=95=E0=AF=82=E0=AE=B1=E0=AF=81=E0=AE=95=E0=AE=B3=E0=AF=88 =E0=AE=A8=E0=AF=80=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=BF <=E0=AE=AA=E0=AF=86= =E0=AE=AF=E0=AE=B0=E0=AF=88=E0=AE=95=E0=AF=8D> =E0=AE=95=E0=AE=BE=E0=AE=9F= =E0=AF=8D=E0=AE=9F=E0=AF=81." > "=E0=AE=95=E0=AF=81=E0=AE=B1=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AE=BF= =E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=BE=E0=AE=B2=E0=AF=8D, =E0=AE=A4=E0=AF=8A= =E0=AE=9F=E0=AE=B0=E0=AF=81=E0=AE=AE=E0=AF=8D =E0=AE=AA=E0=AE=BF=E0=AE=A9= =E0=AF=8D=E0=AE=A9=E0=AF=8A=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AF=88 =E0=AE=95= =E0=AF=82=E0=AE=9F =E0=AE=A8=E0=AF=80=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=81= =E0=AE=AE=E0=AF=8D.\n" Better: "=E0=AE=95=E0=AF=81=E0=AE=B1=E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0= =AE=BF=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AE=BE=E0=AE=B2=E0=AF=8D, <=E0=AE=AA=E0= =AE=BF=E0=AE=A9=E0=AF=8D=E0=AE=A9=E0=AF=8A=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AF= =88=E0=AE=AF=E0=AF=81=E0=AE=AE=E0=AF=8D> =E0=AE=A8=E0=AF=80=E0=AE=95=E0=AF= =8D=E0=AE=95=E0=AF=81.\n" In the above, also note 1. the angled brackets used for placeholders 2. the use of the imperative (=E0=AE=A8=E0=AF=80=E0=AE=95=E0=AF=8D=E0=AE=95= =E0=AF=81 instead of =E0=AE=A8=E0=AF=80=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=81= =E0=AE=AE=E0=AF=8D). The imperative is more succinct and better suited for command synopses such as these. 3. the word "trailing" is dropped in the translation since it doesn't add much to the meaning and =E0=AE=A4=E0=AF=8A=E0=AE=9F=E0=AE=B0=E0=AF=81= =E0=AE=AE=E0=AF=8D feels a bit awkward. I would like to make the general point that it is not necessary to make a literal translation. It is ok to drop words in the translation if it improves the translation. The goal is to produce a sentence in Tamil that evokes the same meaning as in English but doesn't have to be a faithful one-to-one map. > #: src/basename.c:60 > msgid "" > " -a, --multiple support multiple arguments and treat each as a NA= ME\n" > " -s, --suffix=3DSUFFIX remove a trailing SUFFIX; implies -a\n" > " -z, --zero end each output line with NUL, not newline\n" > msgstr "" > " -a, --multiple =E0=AE=AA=E0=AE=B2 =E0=AE=AE=E0=AE=A4=E0=AE= =BF=E0=AE=AA=E0=AF=8D=E0=AE=AA=E0=AF=81=E0=AE=B0=E0=AF=81=E0=AE=95=E0=AF=8D= =E0=AE=95=E0=AE=B3=E0=AF=88 =E0=AE=86=E0=AE=A4=E0=AE=B0=E0=AE=BF=E0=AE=A4= =E0=AF=8D=E0=AE=A4=E0=AF=81 =E0=AE=85=E0=AE=B5=E0=AF=88 =E0=AE=92=E0=AE=B5= =E0=AF=8D=E0=AE=B5=E0=AF=8A=E0=AE=A9=E0=AF=8D=E0=AE=B1=E0=AF=88=E0=AE=AF=E0= =AF=81=E0=AE=AE=E0=AF=8D =E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AE=BE=E0= =AE=95=E0=AE=95=E0=AF=8D =E0=AE=95=E0=AE=B0=E0=AF=81=E0=AE=A4=E0=AF=81=E0= =AE=95=E0=AE=BF=E0=AE=B1=E0=AE=A4=E0=AF=81\n" > " -s, --suffix=3D=E0=AE=AA=E0=AE=BF=E0=AE=A9=E0=AF=8D=E0=AE=A9=E0=AF=8A= =E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AF=81 =E0=AE=A4=E0=AF=8A=E0=AE=9F=E0= =AE=B0=E0=AF=81=E0=AE=AE=E0=AF=8D =E0=AE=AA=E0=AE=BF=E0=AE=A9=E0=AF=8D=E0= =AE=A9=E0=AF=8A=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AF=88 =E0=AE=A8=E0=AF=80=E0= =AE=95=E0=AF=8D=E0=AE=95=E0=AF=81=E0=AE=95=E0=AE=BF=E0=AE=B1=E0=AE=A4=E0=AF= =81; -a =E0=AE=B5=E0=AF=88 =E0=AE=89=E0=AE=A3=E0=AE=B0=E0=AF=8D=E0=AE=A4=E0= =AF=8D=E0=AE=A4=E0=AF=81=E0=AE=95=E0=AE=BF=E0=AE=B1=E0=AE=A4=E0=AF=81\n" > " -z, --zero NUL =E0=AE=90 =E0=AE=95=E0=AF=8A=E0=AE=A3=E0= =AF=8D=E0=AE=9F=E0=AF=81 =E0=AE=92=E0=AE=B5=E0=AF=8D=E0=AE=B5=E0=AF=8A=E0= =AE=B0=E0=AF=81 =E0=AE=B5=E0=AF=86=E0=AE=B3=E0=AE=BF=E0=AE=AF=E0=AF=80=E0= =AE=9F=E0=AF=81 =E0=AE=B5=E0=AE=B0=E0=AE=BF=E0=AE=AF=E0=AF=88=E0=AE=AF=E0= =AF=81=E0=AE=AE=E0=AF=8D > =E0=AE=AE=E0=AF=81=E0=AE=9F=E0=AE=BF=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AE=BF= =E0=AE=B1=E0=AE=A4=E0=AF=81, newline =E0=AE=90 =E0=AE=95=E0=AF=8A=E0=AE=A3= =E0=AF=8D=E0=AE=9F=E0=AF=81 =E0=AE=85=E0=AE=B2=E0=AF=8D=E0=AE=B2\n" 1. support should be translated as =E0=AE=8F=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0= =AF=81 not =E0=AE=86=E0=AE=A4=E0=AE=B0=E0=AE=BF=E0=AE=A4=E0=AF=8D=E0=AE=A4= =E0=AF=81. =E0=AE=86=E0=AE=A4=E0=AE=B0=E0=AE=BF=E0=AE=A4=E0=AF=8D=E0=AE=A4= =E0=AF=81 feels suitable only when supporting a person or cause, not when supporting multiple arguments 2. see use of imperative from earlier: =E0=AE=95=E0=AE=B0=E0=AF=81=E0=AE=A4= =E0=AF=81=E0=AE=95=E0=AE=BF=E0=AE=B1=E0=AE=A4=E0=AF=81 -> =E0=AE=95=E0=AE= =B0=E0=AF=81=E0=AE=A4=E0=AF=81, =E0=AE=A8=E0=AF=80=E0=AE=95=E0=AF=8D=E0=AE= =95=E0=AF=81=E0=AE=95=E0=AE=BF=E0=AE=B1=E0=AE=A4=E0=AF=81 -> =E0=AE=A8=E0=AF=80=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=81, etc. 3. see earlier about "argument". 4. see avoiding free suffixes from earlier. So "support multiple arguments and treat each as a NAME" should be translated as =E0=AE=AA=E0=AE=B2=E0=AE=9A=E0=AF=8D =E0=AE=9A=E0=AF=86=E0=AE= =AF=E0=AE=B2=E0=AF=81=E0=AE=B0=E0=AF=81=E0=AE=AA=E0=AF=81=E0=AE=95=E0=AE=B3= =E0=AF=88 =E0=AE=8F=E0=AE=B1=E0=AF=8D=E0=AE=B1=E0=AF=81 =E0=AE=92=E0=AE=B5= =E0=AF=8D=E0=AE=B5=E0=AF=8A=E0=AE=A9=E0=AF=8D=E0=AE=B1=E0=AF=88=E0=AE=AF=E0= =AF=81=E0=AE=AE=E0=AF=8D <=E0=AE=AA=E0=AF=86=E0=AE=AF=E0=AE=B0=E0=AE=BE=E0= =AE=95=E0=AE=95=E0=AF=8D> =E0=AE=95=E0=AE=B0=E0=AF=81=E0=AE=A4=E0=AF=81 "remove a trailing SUFFIX; implies -a" should be translated as <=E0=AE=AA=E0=AE=BF=E0=AE=A9=E0=AF=8D=E0=AE=A9=E0=AF=8A=E0=AE=9F=E0=AF=8D= =E0=AE=9F=E0=AF=88> =E0=AE=A8=E0=AF=80=E0=AE=95=E0=AF=8D=E0=AE=95=E0=AF=81;= -a =E0=AE=85=E0=AE=B3=E0=AE=BF=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE=A4=E0=AF= =81 =E0=AE=AA=E0=AF=8B=E0=AE=A9=E0=AF=8D=E0=AE=B1=E0=AF=81 "end each output line with NUL, not newline" should be translated as NUL =E0=AE=B5=E0=AE=B0=E0=AE=BF=E0=AE=AF=E0=AF=81=E0=AE=B0=E0=AF=81 =E0=AE=95= =E0=AF=8A=E0=AE=A3=E0=AF=8D=E0=AE=9F=E0=AF=81 =E0=AE=B5=E0=AE=B0=E0=AE=BF= =E0=AE=AF=E0=AF=88=E0=AE=AF=E0=AF=81=E0=AE=AE=E0=AF=8D =E0=AE=AE=E0=AF=81= =E0=AE=9F=E0=AE=BF, newline =E0=AE=B5=E0=AE=B0=E0=AE=BF=E0=AE=AF=E0=AF=81= =E0=AE=B0=E0=AF=81 =E0=AE=95=E0=AF=8A=E0=AE=A3=E0=AF=8D=E0=AE=9F=E0=AE=B2= =E0=AF=8D=E0=AE=B2. > #: src/basename.c:67 > #, c-format > msgid "" > "\n" > "Examples:\n" > " %s /usr/bin/sort -> \"sort\"\n" > " %s include/stdio.h .h -> \"stdio\"\n" > " %s -s .h include/stdio.h -> \"stdio\"\n" > " %s -a any/str1 any/str2 -> \"str1\" followed by \"str2\"\n" > msgstr "" > "\n" > "=E0=AE=8E=E0=AE=9F=E0=AF=81=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AF=81=E0=AE=95= =E0=AF=8D=E0=AE=95=E0=AE=BE=E0=AE=9F=E0=AF=8D=E0=AE=9F=E0=AF=81:\n" > " %s /usr/bin/sort -> \"sort\"\n" > " %s include/stdio.h .h -> \"stdio\"\n" > " %s -s .h include/stdio.h -> \"stdio\"\n" > " %s -a any/str1 any/str2 -> \"str1\" =E0=AE=90 =E0=AE=A4=E0=AF=8A=E0= =AE=9F=E0=AE=B0=E0=AF=8D=E0=AE=A8=E0=AF=8D=E0=AE=A4=E0=AF=81 \"str2\"\n" Avoid free suffix: \"str1\" =E0=AE=90 =E0=AE=A4=E0=AF=8A=E0=AE=9F=E0=AE=B0= =E0=AF=8D=E0=AE=A8=E0=AF=8D=E0=AE=A4=E0=AF=81 \"str2\" -> \"str1\" =E0=AE= =AA=E0=AE=BF=E0=AE=A9=E0=AF=8D \"str2\" > #: src/basename.c:170 src/chcon.c:537 src/chgrp.c:279 src/chmod.c:530 > #: src/chown.c:281 src/chroot.c:279 src/comm.c:488 src/csplit.c:1367 > #: src/dirname.c:116 src/expr.c:347 src/join.c:1163 src/link.c:76 > #: src/mkdir.c:261 src/mkfifo.c:135 src/mknod.c:176 src/nohup.c:107 > #: src/pathchk.c:147 src/printf.c:709 src/readlink.c:145 src/realpath.c:2= 37 > #: src/rm.c:338 src/rmdir.c:239 src/seq.c:635 src/sleep.c:116 src/stat.c:= 1950 > #: src/stdbuf.c:371 src/tr.c:1756 src/unlink.c:74 > #, c-format > msgid "missing operand" > msgstr "=E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AE=B2=E0=AF=81=E0=AE=9F=E0=AF=8D= =E0=AE=AA=E0=AE=9F=E0=AF=81=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE=BF =E0=AE=95= =E0=AE=BE=E0=AE=A3=E0=AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88" 1. In this context, operand is the same as argument. So, operand may be translated as =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AE=B2=E0=AF=81=E0=AE=B0=E0=AF= =81=E0=AE=AA=E0=AF=81. 2. This string is an error message that comes up when the user forgot to provide an argument. So, in this context, "missing" is better as translated as =E0=AE=B5=E0=AE=B4=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AE=AA=E0=AF= =8D=E0=AE=AA=E0=AE=9F=E0=AE=B5=E0=AE=BF=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88= or even just =E0=AE=87=E0=AE=B2=E0=AF=8D=E0=AE=B2=E0=AF=88. > #: src/basename.c:176 src/basenc.c:1221 src/comm.c:496 src/cp.c:598 > #: src/date.c:518 src/dircolors.c:477 src/du.c:1019 src/hostid.c:72 > #: src/hostname.c:93 src/install.c:942 src/join.c:973 src/link.c:84 > #: src/ln.c:594 src/logname.c:70 src/mknod.c:187 src/mv.c:393 src/nproc.c= :115 > #: src/od.c:1872 src/ptx.c:1978 src/seq.c:641 src/shuf.c:491 src/sort.c:4= 679 > #: src/split.c:1559 src/tr.c:1771 src/tsort.c:547 src/tty.c:113 src/uname= .c:265 > #: src/uniq.c:521 src/uniq.c:538 src/unlink.c:80 src/uptime.c:252 > #: src/users.c:145 src/wc.c:865 src/who.c:831 src/whoami.c:78 > #, c-format > msgid "extra operand %s" > msgstr "=E0=AE=95=E0=AF=82=E0=AE=9F=E0=AF=81=E0=AE=A4=E0=AE=B2=E0=AF=8D = =E0=AE=9A=E0=AF=86=E0=AE=AF=E0=AE=B2=E0=AF=81=E0=AE=9F=E0=AF=8D=E0=AE=AA=E0= =AE=9F=E0=AF=81=E0=AE=A4=E0=AF=8D=E0=AE=A4=E0=AE=BF %s" See earlier about operand.