User:Claus chr/DPL/Test

From KDE UserBase Wiki

Testing of LinksTo template

<DPL>
  namespace=Main |User
  nottitleregexp = .*(/..(-..)?|_[(].*[)])$
  include = *
  includematch = #\[\[[Ss]pecial\:[mM]y[lL]anguage/Getting[_ ]Help|\[\[Getting[_ ]Help#
  includemaxlength = 0
  resultsheader = The pages in the translation system linking to Getting Help are:\n
  format = ,\n* [[%PAGE%|%TITLE%]],,
</DPL>

Extension:DynamicPageList3 (DPL3), version 3.5.3: Error: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby, or their 'not' variants

Somehow this is broken. Without the namespace clause we get

Extension:DynamicPageList3 (DPL3), version 3.5.3: Error: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby, or their 'not' variants

which excludes some pages in the main namespace(!) and includes on in the User namespace!? Explicitely specifying namespace main gives this.

Extension:DynamicPageList3 (DPL3), version 3.5.3: Error: No selection criteria found! You must use at least one of the following parameters: category, namespace, titlematch, linksto, uses, createdby, modifiedby, lastmodifiedby, or their 'not' variants

That seems reasonable, but weren't main supposed to be used by default? Finally, specifying namespace User gives us all three user pages:

The pages in the translation system linking to Getting Help are:

The home for KDE users and enthusiasts.


An introduction to KDE

    Learn more about the KDE community and its software and find information to help you get started. Also, discover what UserBase is and how it can help you.
 

Tutorials

Tutorials   How-To's, Tips & Tricks that can help make your KDE software experience more enjoyable and productive.

Getting Help

Getting Help   Can't find your answer on UserBase? Here are some other places like forums where you can get help.
  

Applications

Applications    Discover the wide variety of applications from the KDE Community, and find out what program suits your needs and preferences.

If you are willing to contribute, please read Tasks and Tools before starting. If you already contribute, check out Stats to see the top 10 contributors for the week, the most popular pages and most discussed pages.

General translation resources

Priority pages

  • Pages to be worked on should be prioritised.
  • Group 1 - pages relating to the current 'hot topics':
Akonadi
Akonadi 4.4/Troubleshooting
KAddressBook 4.4
Akonadi and AddressBook
  • Group 2 - pages most immediately needed by newcomers:
Welcome to KDE UserBase
Quick Start
Getting_Help
Glossary
Quick_Start
What is KDE
  • Group 3 - pages needed by Contributors
Help:Contents
Help:Wiki Structure
UserBase/Guidelines
PageLayout
Toolbox
Typographical Guidelines
  • Group 4 - pages needed by Translators
Translation_Help_Needed
Translation Workflow

Swedish resources

Priority pages with /sv added

The priority level is noted behind each item.


This page needs Your love!

This page is incomplete, inaccurate or just not good enough! Your help will be greatly appreciated. Before editing, please make sure You understand this Introduction to new contributors.


Information

First draft. We need images, more/better text. Discuss on the Talk page


Welcome to the KDE community

Our vision

A world in which everyone has control over their digital life and enjoys freedom and privacy. Read more: our vision and our manifesto.

Who are we

KDE is a community of people from all over the world who are enthusiastic about free software. We are dedicated to creating an open and user-friendly computing experience, offering an advanced graphical desktop, a wide variety of applications for communication, work, education and entertainment and a platform to easily build new applications upon. We have a strong focus on finding innovative solutions to old and new problems, creating a vibrant atmosphere open for experimentation.

What we do

The Plasma Workspaces

Plasma is KDE's flagship. Plasma lets you control your computer and other digital devices in absolute privacy. The KDE community has the driving goal of making it simple by default, and powerful when needed.

Applications

The KDE community produce a wide range of applications.

Neon

Neon lets you run the latest Plasma Workspace and KDE applications on your computer.

Tools for developers

The KDE community provides a wide range of tools for developers, see the Community wiki and apps.kde.org.

About this wiki

We provide information about the Plasma Workspaces, Applications, Tutorials, Tips & Tricks and FAQ's, and links to various places to get help.

UserBase is a community wiki. Anyone can Get a UserBase account and contribute - that includes you!

We try to provide information that is clear, accurate and up to date, but we can not do this alone. Your help will be much appreciated. Before you begin editing, please take 5 minutes to read the Introduction to new contributors.


Special:Bl/User:AaronPeterson/1 Special:Bl Template:Bl Special:Backlinks

/pagelinkhere





foo

This page is currently being translated into:



{{{Lang}}}

This page is currently being translated into:



dd

This page is currently being translated into



Aasfdjkfds

This page is currently being translated into



An introduction to KDE


Use

To use this, include {{myLang|Page Name|AlternateText}} ==ToDo== I need to make this work with images, move it to myLang AND, be compatible with: <nowiki><translation><!--T:26-->content</translation>

Questionable

Do we even need this? will it actually help? </nowiki>


An introduction to KDE


Use

To use this, include {{myLang|Page Name|AlternateText}} ==ToDo== I need to make this work with images, move it to myLang AND, be compatible with: <nowiki><translation><!--T:26-->content</translation>

Questionable

Do we even need this? will it actually help? </nowiki>


foo


Use

To use this, include {{myLang|Page Name|AlternateText}} ==ToDo== I need to make this work with images, move it to myLang AND, be compatible with: <nowiki><translation><!--T:26-->content</translation>

Questionable

Do we even need this? will it actually help? </nowiki>


fooO


Use

To use this, include {{myLang|Page Name|AlternateText}} ==ToDo== I need to make this work with images, move it to myLang AND, be compatible with: <nowiki><translation><!--T:26-->content</translation>

Questionable

Do we even need this? will it actually help? </nowiki>


Image:Kde.png


Use

To use this, include {{myLang|Page Name|AlternateText}} ==ToDo== I need to make this work with images, move it to myLang AND, be compatible with: <nowiki><translation><!--T:26-->content</translation>

Questionable

Do we even need this? will it actually help? </nowiki>


boo boo


Use

To use this, include {{myLang|Page Name|AlternateText}} ==ToDo== I need to make this work with images, move it to myLang AND, be compatible with: <nowiki><translation><!--T:26-->content</translation>

Questionable

Do we even need this? will it actually help? </nowiki>

An introduction to KDE


Example markup for catalogue-style pages - please do not translate


The home for KDE users and enthusiasts


If you want to discuss anything you see, or would like to see, in Userbase, contact us by using the Discussion tab


An introduction to KDE


Learn more about the KDE community and its software. Find information to help you get started by visiting the Quick Start page

Getting Help


Need some help? Here are some suggested places where you can get help with problems, as well some hints on how to improve the quality of answers you receive.

Applications

Discover the wide variety of applications from the KDE Community, and find out what program suits your needs and preferences.

Tutorials


How-To's, Tips & Tricks that can help make your KDE software experience more enjoyable and productive.


If you are willing to contribute, before starting, please read these Guidelines. Then, for practical help, turn to Tasks and Tools

If you already contribute, see the current top 10 contributors and many other fascinating facts about current activity by visiting the Statistics page

Made quite a few modifications to many pages (freenode -> Libera Chat)

2 okt. – installation updated

Breaking news – again?

26 sep. 2022: Translated some modified units in Applications/Games. Changes are displayed \o/

25 Sep. 2022: Now fuzzy-bot seems to begin doing its thing again. Some pages with long standing changes were unfuzzied. All of them appeared in the contributions list as if they were entered yesterday!

It seems that something similar happened to a number of other translators.

New experiment

I shall try to track fuzzy-bots actions on selected pages.

Kdenlive/Manual/Projects_and_Files/Project_Tree

  • Page has 5 outdated units and 2 untranslated ones. Page appears in Special:LanguageStats. All 5 fuzzy units show up in the Outdated list. All 7 units needing work show up in Untranslated list. All other units are fine. On translated page fuzzy units are shown on red background.
  • Last marked for translation: 5. May 2021.
  • Last translation: 30. July 2019, last updated by fuzzy-bot: 23. June 2021
  • 29. July: Translated 5 fuzzy units.
  • 19. Sep.: Problem persists. Inconsequential edit marked for translation. There is a problem with numbering in the list at the bottom of the page. One unit contains two items. Although translated, only one item is shown and list numbering is screwed up. Split the items and marked for translation. Translated new unit.

Kdenlive/Manual/File Menu/DVD Wizard

  • 17. Aug. 20201: Untranslated page, 1 new unit, marked for translation

Kronometer

  • 18. Aug. 2021: was fully translated, translations shown wo. any glitches. Marked with 2 new units.
  • 19. Sep. 2021: new units appear in LanguageStats. Translated new units.

KDE Connect/Tutorials/Useful commands

  • 8. Sep. 2021: was fully translated - one unit still red, though. Marked 2 new units and one modified.
  • 19. Sep. 2021: no change. Modified units not shown on translated page!

June 12. 2021

Does fuzzybot do its job properly? I shall monitor some pages here to see how things are working.

Pages to be monitored

LatteDock: Last translated 1. June. Problem solved (checked 22. July)

  1. On translation page: everything is ok
  2. On translated page: says 100% complete, translated text is shown but on a red background as if it was outdated.

Tellico/Templates Last translated 1. June. Problem solved (checked 22. July)

  1. On translation page: everything is ok
  2. On translated page: says 100% complete, old translated text is shown on a red background - new translation not shown!

Kubuntu/Support Last translated 28. May.

  1. On translation page: translated units are annotated with yellow: This translation may need to be updated. Show differences shows the entire page as old content.
  2. On translated page: says 80% complete. No text on red background. Old translations are shown.
  3. 22. July: Translated units still yellow; 92% complete, new translations shown but on red background. Confirmed all units—after that 100% complete but newly translated units on red again.

Konversation/Configuring SASL authentication Was fully translated

  1. Marked 7. July. 19 existing units were touched; no new units.
  2. 22. July: Translated all. Now reports 100% complete (but icon not updated). Old translations still shown, no red! Changed 1 unit and marked for translation.

KMail/Account Wizard Was fully translated

  1. Marked 9. July. 2 existing units were touched; no new units
  2. 22. July: Page has no visible problems, yet the translated page is shown as fully translated, page no listed in Translation Tools and unit not marked as needing attention.

Asking Questions Was fully translated

  1. Marked 17. July. 2 existing units were touched; no new units
  2. 22. July: Page has no visible problems, yet the translated page is shown as fully translated, page no listed in Translation Tools and unit not marked as needing attention. When clicking a unit on translation page most but not all units are annotated with a yellow test this translation may need an update, the annotation sometimes appearing after quite a while.
  3. 21. Sep.: Visit from fuzzybot! modified units finally marked as fuzzy - no red bacgrounds, though, but page no lolger appears to be 100% translated.
  4. 32. Sep.: Translated modified units. Page now 100% translated again, but still old text.

Kontact Was fully translated

  1. Marked 28. July. 1 existing unit was touched; no new units

How to chat with other KDE users Was fully translated

  1. Marked 28. July. 2 existing units were touched; no new units

Pages marked for translation do seem to show up in the list of pages, that need attention.

Unbreaking News?

5/11 2020: Are the fuzzybot-problems back? Koko and KuickShow‎ (marked for translation 29/10 as well as KPhotoAlbum, Showfoto, Showfoto/Curves Adjust‎, Showfoto/Perspective and Digikam (marked on 1/11) have not shown up in the Translation tools page yet.

Breaking News

The problems reported on this page seems to have been solved with the recent updat to the translate system!!! \o/

Problems with FuzzyBot handling of translations

Marked for translation but not appearing in Special:LanguageStats

Note: There are probably many more pages with this problem

  • Pages where the date of marking for translation is not known
    • Plasma/Tasks - has been updated after translations were added, but has problems*

Pages recently marked for translations again

New pages marked for translation

Eksperimenting

It is odd that some pages are picked up by the translate system while others are not. I am going to experiment a bit to see if I can come up with an answer to why that is and possibly find a work-around in the process.

21/7 2020: One theory is that when someone works on the translations of a page it will be picked up. I marked KDE Connect/Tutorials/Useful commands up for translation after a new section had been added and then immediately went on to translate it. Prior to the new section the page had been translated to ‎català, ‎français, ‎português do Brasil, and українська, all fully translated. Checking Special:LanguageStats for these languages shows the new unit added to the translate system and the translated versions of the pages are now shown to be 90% translated. It seems that this works.

21/7 2020: Modified unit 6 on Kdenlive, marked for translation and opened translation page, but without translating the unit. In stead I just "retranslated" an old unit (adding a character, removing it again and saving the unit). This to see if the page shows up in Special:LanguageStats with the modified unit having been marked as such.

24/7 2020: Marked Juk for translation - 3 new units were added. The page appeared immediately in LanguageStats, and the new units were displayed as untranslated; however entering translations failed with this message:

This namespace is reserved for content page translations. The page you are trying to edit does not seem to correspond any page marked for translation.

Maybe fuzzybot still needs to process the page even though it appears in LanguageStats?

Kdenlive still does not appear in LanguageStats, and the modified unit is not marked as needing an update. Waiting for fuzzybot?

25/7 2020: Marked KDE Connect/Tutorials/Useful commands (modified unit 9, and 15) and KBibTeX/Development‎ (modified units 69, 73, 10, and 11).

28/7 2020: Marked Marble/Tracking - just one modified unit. Page does not appear in LanguageStats and opening the translation page for this page shows no outdated units.

As of today no page in this "experiment" has been updated.

1/8 2020: Marked KDiskFree (both modified and new units) and Plasma/Kickoff (new unit)

5/8 2020: Marked Plan (modified unit)

8/8 2020: Marked Amarok, Juk and KsCD (one new unit each)

I'll keep monitoring these pages, but the experiment seems to have failed.

Problems with some pages

As of june 2020, some pages have been incorrectly handled by the translation system. They are marked by an * in the list above. Note: Not all pages have been checked for this problem!

The problem is this: There are units, which have previously been translated and which do not show up in the list of outdated units. Also, they are not flagged in the list of all units. However, when these units are opened, a message appears saying that the unit may need to be updated. In some cases this is clearly not the case - nothing has changed in the English text; but in some cases significant changes have been made to the unit, and it should have been listed in outdated units.

To make things worse, when you click Show differences in the message, the original text of the entire page is shown rather than just the text of the actual unit, which means that the only way to determine whether such a unit has changed is to compare the English text with the existing translation.

Note: This should only affect those languages that had translations of a page prior to its being marked for translation again.

More pages with this problem

Reference: DPL Manual
See also Pipesmoker's notes and this page of examples
Example UI on this Template:Catlist page
Search on this page

All the examples on this page have been commented out to prevent the page from being very slow to load. If you want to see the outcome of a search example, just edit the page and remove the comment tags around the desired example. You don't need to save the page, a preview will give you the search results; that way you can experiment with the examples and easily restore the page to its original state when you are done.

Searching for pages containing a certain text string

Text without wiki markup

Enter {{Search|text}} anywhere to get the search results in the form of links. Here text can be plain text or a perl like regexp. Be careful to escape regexp meta characters. If the searched text contain wiki markup this template may nor give the desired results; see the next section.

The Search template searches only the main namespace, and only original English pages.

Example: To find all English pages containing the word 'application' - possibly capitalized enter this:

{{Search|[Aa]pplication}}

Information

The results should just be a link to each page containing the searched text. For some reason, however, some pages include the content at the beginning of the page, typically an info box, an image or tabular material. This can be avoided by ensuring that the pages searched start by <languages />. If the page doesn't have translate tags this directive have no effect, but it prevents the unwanted inclusion of content from the page in the search result.


Translated text

Enter {{SearchLang|text|lang}} anywhere to get the search results in the form of links. Here text can be plain text or a perl like regexp and lang is a language code. Be careful to escape regexp meta characters. If the searched text contain wiki markup this template may nor give the desired results; see the next section.

Example: To find all Danish pages containing the word 'program' - possibly capitalized enter this:

{{SearchLang|[Pp]rogram|da}}

Pages linking to a given page

Use {{LinksTo|full page name}}. The full page name must be the entire wiki link up to (but not including) one of the characters '|', ']' or '#' and excluding Special:myLanguage. Note, that space characters in names are sometimes entered as '_', so in searches you should enter [ _] for spaces.

Example: To find all pages linking to Getting Help enter

{{LinksTo|Getting[ _]Help}}

Text containing wiki markup

In case the Search template does not work for you use code like this to accomplish your desired result:

<DPL>
  namespace = 
  nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$
  titleregexp = ^[A-J]
  include = *
  includematch = @\{\{Remember\|@
  includemaxlength = 0
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% pages beginning with A-J\n
</DPL>
<DPL>
  namespace = 
  nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$
  titleregexp = ^K[A-Z]
  include = *
  includematch = @\{\{Remember\|@
  includemaxlength = 0
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% pages beginning with KA-KZ\n
</DPL>
<DPL>
  namespace = 
  nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$
  titleregexp = ^K[a-ce-z]
  include = *
  includematch = @\{\{Remember\|@
  includemaxlength = 0
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% pages beginning with Ka-Kz but not Kd\n
</DPL>
<DPL>
  namespace = 
  nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$
  titleregexp = ^Kd
  include = *
  includematch = @\{\{Remember\|@
  includemaxlength = 0
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% pages beginning with Kd\n
</DPL>
<DPL>
  namespace = 
  nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$
  titleregexp = ^[L-Z]
  include = *
  includematch = @\{\{Remember\|@
  includemaxlength = 0
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% pages beginning with L-Z\n
</DPL>

Normally, you'd want to copy all of this into your page and modify the includematch lines to the pattern you want to search for. Note the two @-characters; they mark the beginning and end of the actual search pattern. You can use any character instead of @ as long as it does not appear in the actual pattern.

Note

Some characters such as ¤ do not work as pattern delimiters; perhaps only ASCII characters can be used?


Be aware!

The page count reported by each query is not the number of matching pages found, but the total number of pages searched in that group. That number should always be less than 500! If it is not then some of the pages will not have been searched.


If you want to search other namespaces than Main, just change that line. If you want to search the Main namespace and one or more other namespaces use namespace = | Other. The enpty string before the '|' means Main — never write Main; that no longer works. Other can be one or more other namespaces separated by '|' characters.

The nottitleregexp lines filters out all translated pages including lingering old style translations and should not be touched. The titlematch lines are needed to split up the search into manageable chunks. There is a maximum of pages that can be handled by the includematch search; if too many pages pass through the title filters the first ones up to the maximum number will be searched; the rest will be silently ignored! Currently, the maximum seems to be somewhat more than 500. The include and includemaxlength should never be modified.


Finding all pages not yet marked for translation

<DPL>
  namespace = 
  nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$
  titleregexp = ^[A-J]
  include = *
  includenotmatch = #<languages[ ]?/>#
  includemaxlength = 0
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% pages beginning with A-J\n
</DPL>
...


Find all templates using a given template

<DPL>
  namespace = Template
  include = *
  includematch = /{{Icon/
  includemaxlength = 0
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% templates using the Icon template\n
</DPL>


Find discussion threads contributed by a user

Perhaps more talk namespaces needs to be searched.

<DPL>
  namespace = Talk | Thread
  createdby = AmirHP
</DPL>


All English manual pages

<DPL>
  titlematch = %/Manual%
  nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$
  namespace = | User | Draft
  resultsheader = Manual Pages:
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]]\n,,
</DPL>


All English pages linking to a given page

{{LinksTo|Plasma/Panels}}


Kopete Subpages in 3 columns

<DPL>
  titlematch = Kopete/%
  notnamespace = Translations
  columns = 3
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
</DPL>


Akonadi Subpages in Danish

<DPL>
  titlematch = Akonadi%/da
  notnamespace = Translations
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
</DPL>


Archived pages

<DPL>
  titlematch = %
  namespace = Archive
  columns = 2
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% pages in the Archive namespace. These are:\n
</DPL>


NoIndexed pages

<DPL>
  titlematch = %
  category = Noindexed_pages
  columns = 2
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% pages in the Noindexed_pages category. These are:\n
</DPL>


Ignoring Deleted Pages

"As for DPL. If you hit a page with ?action=purge attached to the URL (i.e. http://en.wikinews.org/wiki/Template:Latest_news?action=purge ), it will dump all the removed pages."

Remaining old-style translations

<DPL>
  titleregexp = .*(([ _][(][a-z][a-z](...)?[)]))$
  notcategory = Template
  notnamespace = Thread
  notnamespace = Summary
  columns = 2
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% pages (partly) remaining in old-style translations. These are:\n
</DPL>


Pages with old i18n bar

<DPL>
  titlematch = %
  namespace = 
  uses = Template:I18n/Language Navigation Bar
  columns = 3
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% pages that still display the old i18n language bar\n
</DPL>

Pages with old i18n bar but w/o old-way-translated ones

<DPL>
  nottitlematch = %_(%)
  namespace = 
  uses = Template:I18n/Language Navigation Bar
  columns = 3
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% relevant pages that still display the old i18n language bar\n
</DPL>


Pages not updated since 1st July 2010

<DPL>
  namespace = 
  lastrevisionbefore = 201007010000
  columns = 2
  ordermethod=lastedit
  format = ,\n* () [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% pages without recent updates\n
</DPL>


Listing Non-Translation Pages

<DPL>
  nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$
  titlematch = Amarok%
  namespace = 
  columns = 1
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% Amarok pages, not counting translations\n
</DPL>


List all pages in a specific namespace

<DPL>
  nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$
  namespace = MediaWiki
  columns = 3
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = These %TOTALPAGES% pages are in the Mediawiki namespace\n
</DPL>


To count translated pages in a specific language:

<DPL>
  titleregexp = ^[A-J].*/en
  notnamespace = Translations
  columns = 3
  format = ,\n* [[User:Claus chr/DPL|Claus chr/DPL]],,
  resultsheader = There are %TOTALPAGES% pages (partly) translated to English. These are:\n
</DPL>
...

All English pages linking to a given page (template version)

The lesson here seems to be that, at least when include is involved, we can't rely on DPL handling more than one namespace at a time. This calls for a template: {{LinksTo|Getting[_ ]Help}} gives



So, to recap, the problem is this: We would like to find all pages that links to a given page (the target). The What links here wiki page does not work well with links adapted to the translation extension, i.e. links of the form [[Special:myLanguage/target page]], which means that almost none of our links would be found.

Instead we have to use DPL to find those pages, but even here we have to be careful. The obvious search using the linksto clause doesn't work either, probably for the same reason that What Links Here failed. The solution is to search the content of every page for the occurrence of a link to the target page. The problem here is, that DPL has to write the entire content of a page into the page where the search occurs, then search the text, then filter out the text again (that's the includemaxlength=0 part) and leave only links to the pages that contain a link to the target page.

For some reason, these kinds of query cause some confusion to DPL. Specifying no namespace should result in the main namespace beeing searched, but as we saw above, not every matching page in main was found, and oddly one User: page was found. Specifying both namespaces in one search seems to work better, but still misses a User: page. The solution seems to be one search for each namespace: that seems to find everything with one exception: The start page Welcome to KDE UserBase seems to be outside of namespaces, and is never found. Let's hope it is one of a kind.

This method of searching has been implemented as a template {{LinksTo|target page}} (which can easily be modified to include more namespaces in the search). Just to be clear: We are searching for the actual occurence of a link in the texts of pages. The search finds both Special:myLanguage links and old-style links. It tries to take every known variation into account (Special:, or special:, and mylanguage, Mylanguage, myLanguage, or MyLanguage). One variation we have to deal with by hand is, that spaces can be written either as a normal space chracter or as an underscore. Therefore we should either make to searches if the target name contains a space, or we could write [_ ] wherever a space occurs in the name, as in {{LinksTo|Getting[_ ]Help}}. Also note, that case is significant: {{LinksTo|getting[_ ]help}} yields



We just get two error messages (one for each search), since DPL gives an error message whenever a text search finds no match on any page.

The template

The code of the first half of the template is here:

{{#dpl:
| namespace = Main
| nottitleregexp = .*(/..(-..)?{{!}}_[(].*[)])$
| include = *
| includematch = @\[\[([Ss]pecial\:[mM]y[lL]anguage/)?{{{1}}}(\]{{!}}\{{!}}{{!}}#)@
| includemaxlength = 0
| format = ,\n* [[%PAGE%|%TITLE%]],,
}}

The second half is the same, except that | namespace = Main is replaced by | namespace = User.

I couldn't make normal DPL tags work in the template, but fortunately the {{#dpl parser function does work. To add more namespaces just add a copy of the first half of the template to then end, and in the copy replace | namespace = Main by | namespace = Whatever. From the DPL documentation you might think that to search the Main namespace, you could leave out the namespace caluse altogether: That is not a good idea — in this context, it gets DPL confused so that it misses pages!

The nottitleregexp clause filters out any page whoes path ends in /xx, /xx-xx, or _(x..), ie. it filters out all translated pages, both old and new. Since the pipe character has special meaning in a template, it has to be entered as {{!}}.

The includematch clause is a perl regexpr, that matches text of the form [[Special:myLanguage/page path followed by either a ']', a '|', or a '#' character. We take into account that the S, the M, and the L of Special:MyLanguage are sometimes capitalized, and sometimes not.

The includemaxlength = 0 is to prevent DPL from entering (parts of) the content of the matched pages into the page containing the query.

Testing the template

{{LinksTo|User:Claus[_ ]chr}}


Problem nr. 1. We also find links to subpages of the target (doh!), but that should be simple to fix. (The error message just means that there were no linking pages in the Main namespace.)

{{LinksTo|Amarok}}


Yes! There must be thousands of pages linking to some subpage of Amarok. They are obviously not found. Now can I find this link to Talk:Translation Workflow?

{{TestLinksTo|Talk:Translation[_ ]Workflow}}


This page is not found, but it is found if the same query is performed in another page! I guess, I should have expected that, given the way these queries are performed. Otherwise the page would have to include itself, which could lead to problems.

{{LinksTo|Amarok/Manual}}


So we can find subpages — good thing too!

Addendum

  • 30. June 2011: Added search of the Talk namespace plus a line of text to make the template document its use.
  • 18. July 2011: It seems this doesn't work! We do not find all the pages containing a given link. It seems that some resource is exceeded, and that only part of the pages are actually searched:

Consider the following two searches:

<DPL>
  nottitlematch = %/__
  namespace = Main
  include = *
  includematch = /[Ss]eamless/
  includemaxlength = 0
  resultsheader = Nontranslated pages containing the string "seamless"
  format = ,\n* [[%PAGE%|%TITLE%]]\n,,
</DPL>

Nontranslated pages containing the string "seamless"


Introduction to rekonq

Based initially on qtwebkit (and currently or kdewebkit), rekonq is a lightweight browser designed to use the WebKit rendering engine in combination with various KDE technologies, allowing it to integrate seamlessly into the KDE desktop. The name is a reference to the venerable khtml-based Konqueror which is currently the default KDE web browser.

rekonq has already replaced Konqueror as the default browser in Chakra, with more distributions expressing similar intent for their future releases. The current stable release version is rekonq 1.0 (July 2012).


<DPL>
  nottitlematch = %/__|%/__-__|% (%|%/___
  namespace = Main
  include = *
  includematch = /[Ss]eamless/
  includemaxlength = 0
  resultsheader = Nontranslated pages containing the string "seamless"
  format = ,\n* [[%PAGE%|%TITLE%]]\n,,
</DPL>

Nontranslated pages containing the string "seamless"


Introduction to rekonq

Based initially on qtwebkit (and currently or kdewebkit), rekonq is a lightweight browser designed to use the WebKit rendering engine in combination with various KDE technologies, allowing it to integrate seamlessly into the KDE desktop. The name is a reference to the venerable khtml-based Konqueror which is currently the default KDE web browser.

rekonq has already replaced Konqueror as the default browser in Chakra, with more distributions expressing similar intent for their future releases. The current stable release version is rekonq 1.0 (July 2012).

Proposed for Deletion

This page has been proposed for deletion for the following reason:

KWord has been superseded by Calligra Words.

Please use the discussion section of this page to voice your opinion on this.

Introduction to Filters

KWord has the ability (with varying success) to load data from foreign (non-KOffice) data files. KWord also has the ability to save data as non-KOffice data files. This is provided to help users of KWord to interact more seamlessly with people who use other operating systems and wordprocessors.

KWord does this by loading a non-KOffice datafile into memory and passing the data through a filter to extract as much information as possible from the data file. Some formatting information will be lost or changed by the filter in the attempt.

When KWord reads data into KWord from a non-KOffice file format, it is importing the data.

When KWord saves a KWord document as a non-KOffice file format, it is exporting the data.


Prev Contents Next
Command ine Options Filters included in KWord


The first search excludes most translated pages, namely those ending on /la with la a two letter language code; the second search is identical except that it excludes all translated pages including remaining old style translations. You would expect the latter search to find fewer matches not more since it searches among fewer pages. On the other hand, if some capacity is exceeded by the search then the first search would run out of space first and so find fewer hits.