<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">
<div class="moz-cite-prefix">To use Pology, you just have to check
the ‘Enable Pology verification’ option in the settings. Then it
should work automatically (though it’s a bit slow).</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">First you have to have some
translation files in one the the languages that have Pology
rules:
<a class="moz-txt-link-freetext" href="https://invent.kde.org/sdk/pology/-/tree/master/lang?ref_type=heads">https://invent.kde.org/sdk/pology/-/tree/master/lang?ref_type=heads</a></div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Then you just have to open a PO file
that has ‘mistakes’ that the rules would detected. Navigate to a
string that would trigger a rule. The corresponding error
messages are shown in the unit metadata (unfortunately only
after about a second or so).</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Here is an example file with strings
that trigger many of the Norwegian Nynorsk rules:</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">msgid ""<br>
msgstr ""<br>
"Project-Id-Version: kpat\n"<br>
"Report-Msgid-Bugs-To: <a class="moz-txt-link-freetext" href="https://bugs.kde.org\n">https://bugs.kde.org\n</a>"<br>
"PO-Revision-Date: 2025-10-26 13:39+0100\n"<br>
"Last-Translator: Nomen Nescio <a class="moz-txt-link-rfc2396E" href="mailto:nn@example.com"><nn@example.com></a>\n"<br>
"Language-Team: Norwegian Nynorsk
<a class="moz-txt-link-rfc2396E" href="mailto:l10n-no@lister.huftis.org"><l10n-no@lister.huftis.org></a>\n"<br>
"Language: nn\n"<br>
"MIME-Version: 1.0\n"<br>
"Content-Type: text/plain; charset=UTF-8\n"<br>
"Content-Transfer-Encoding: 8bit\n"<br>
"Plural-Forms: nplurals=2; plural=n != 1;\n"<br>
<br>
msgid "Load Existing Thumbnail"<br>
msgstr "Last inn eksisterande miniatyrbilete"<br>
<br>
msgid "This will make the PC crash: %1"<br>
msgstr "Dette gjer at PCen krasjar : %1"<br>
<br>
msgid "If enabled, all packages will first be deleted."<br>
msgstr "Om det er slått på, vil fyrst alle pakkene bli sletta."</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">To see the corresponding error
messages when running Pology directly, try this command (where
test.po is the name of the PO file):</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">posieve check-rules test.po</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Though there seems to be a bug in
Lokalize which causes just the text [note] to be displayed if
more than one rule is triggered (strings 2 and 3 above).<br>
And sometimes the error message is shown repeatedly:
<a class="moz-txt-link-freetext" href="https://bugs.kde.org/show_bug.cgi?id=502712">https://bugs.kde.org/show_bug.cgi?id=502712</a><br>
And the error message shown in Lokalize doesn’t use the
highlighting that Pology does:
<a class="moz-txt-link-freetext" href="https://bugs.kde.org/show_bug.cgi?id=393694">https://bugs.kde.org/show_bug.cgi?id=393694</a></div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">(So currently, I prefer to run Pology
from the command-line instead. It’s also much faster. And if I
add -slokalize, it will automatically open all files that have
errors in Lokalize and filter the unit list to only show the
strings with errors.)</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">About ‘depending’ on Pology: I’m not
suggesting *depending* on Pology. But if you have Pology
installed, you get a bunch of QA checks for free. And using
Pology will probably be the best way to implement all but the
most simple of checks (a simple check would be that both source
and target end with a ‘.’).</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Karl Ove Hufthammer</div>
<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><a class="moz-txt-link-abbreviated" href="mailto:fin-w@tutanota.com">fin-w@tutanota.com</a> skreiv 13.02.2026
21:00:<br>
</div>
<blockquote type="cite" cite="mid:OlN_0kC--F-9@tutanota.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="auto">Thanks for the feedback Karl,<br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">We can certainly make this optional with a setting
in the config.<br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">Would you mind explaining how to use Pology? I
never got it working in a way I could really understand, and its
output in the editor tab wasn't very helpful for me to learn.<br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">And I'm a little cautious about depending on
Pology for a check like this --- unless we set Pology as a
required package (and get maintainers to provide it for their
distro), or bundle it with Lokalize somehow, we're depending on
proofing from a tool that might not exist on the user's system,
and might require building just to set up. This is not
user-friendly...<br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">Thanks,<br>
</div>
<div dir="auto">Finley<br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">Feb 13, 2026, 19:47 by <a class="moz-txt-link-abbreviated" href="mailto:karl@huftis.org">karl@huftis.org</a>:<br>
</div>
<blockquote class="tutanota_quote"
style="border-left: 1px solid #93A3B8; padding-left: 10px; margin-left: 5px;">
<div dir="auto"><a class="moz-txt-link-abbreviated" href="mailto:fin-w@tutanota.com">fin-w@tutanota.com</a> skreiv 12.02.2026 14:55:<br>
</div>
<blockquote>
<div dir="auto"><br>
</div>
<div dir="auto">Hi translators,<br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">Varun, a Season of KDE mentee, is working in
this merge request here, adding more functionality to
Lokalize's editor tab
<a class="moz-txt-link-freetext" href="https://invent.kde.org/sdk/lokalize/-/merge_requests/286">https://invent.kde.org/sdk/lokalize/-/merge_requests/286</a><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">What are you thoughts about this new feature
being implemented? Is the KMessageWidget warning too
distracting?<br>
</div>
</blockquote>
<div dir="auto"><br>
</div>
<div dir="auto">I would find it annoying. I have seen the
feature in other (online) PO editors, and have *never* found
it useful. There are tons of false positives (partly because
my translations are usually much more consistent than the
original English strings). Also note that a good
implementation must take into language-specific rules. See the
Translate Toolkit rules for some inspiration:
<a class="moz-txt-link-freetext" href="https://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/pofilter_tests.html">https://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/pofilter_tests.html</a><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">I’m not *against* this feature, but it must be
possible to easily disable it.<br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">And I actually think the
suggested KMessageWidget UI is OK. The (supposed) error is
easy to notice, which is important.<br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">But I would prefer that work would be done to
use this UI for the Pology-based checks that *already exist*
in Lokalize. In the current UI, it’s easy to miss the errors.
An advantage of the Pology-based checks is that each
translation team can easily add their own language-specific
(and even file-specific and project-specific) rules, and the
checks can be much more sophisticated.<br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">Regarding the trailing space feature: I like
this very much and would *not* want to see it moved to
a KMessageWidget.<br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">--<br>
</div>
<div dir="auto">Karl Ove Hufthammer<br>
</div>
</blockquote>
<div dir="auto"><br>
</div>
</blockquote>
<p><br>
</p>
<div class="moz-signature">-- <br>
Karl Ove Hufthammer</div>
</body>
</html>