WeblateOrg / translation-finder

Translation files finder
https://weblate.org/
GNU General Public License v3.0
17 stars 8 forks source link

Performance issue with libreoffice-6.2.2 and wrong results #14

Closed Jibec closed 5 years ago

Jibec commented 5 years ago

Hello,

while working on this: https://pagure.io/fedora-localization-statistics/

the translation finder will never bring back results on a package like libreoffice.

The translation are inside a dedicated archive http://download.documentfoundation.org/libreoffice/src/6.2.2/

Here is how the file hierarchy looks like, (I kept only the three first folders of languages "ab" and "af"):

./translations
./translations/README
./translations/git-hooks
./translations/git-hooks/commit-msg
./translations/git-hooks/post-merge
./translations/git-hooks/pre-commit
./translations/source
./translations/source/ab
./translations/source/ab/accessibility
./translations/source/ab/accessibility/messages.po
./translations/source/ab/avmedia
./translations/source/ab/avmedia/messages.po
./translations/source/ab/basctl
./translations/source/ab/basctl/messages.po
./translations/source/af
./translations/source/af/accessibility
./translations/source/af/accessibility/messages.po
./translations/source/af/avmedia
./translations/source/af/avmedia/messages.po
./translations/source/af/basctl
./translations/source/af/basctl/messages.po

Expected result is should be:

/translations/source/*/accessibility/messages.po
/translations/source/*/avmedia/messages.po
/translations/source/*/basctl/messages.po
...

But this is the actual result (when I ran this, I kept like the 10 first languages)

[
   {
      'filemask':'translations/source/*/accessibility/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/avmedia/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/basctl/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/basic/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/chart2/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/ado/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/calc/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/dbase/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/evoab2/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/firebird/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/flat/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/hsqldb/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/jdbc/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/macab/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/mork/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/mysql_jdbc/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/mysqlc/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/odbc/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/postgresql/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/connectivity/registry/writer/org/openoffice/Office/DataAccess.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/cui/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dbaccess/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/desktop/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/af_ZA.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ab/dictionaries/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/an_ES.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/ar.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/be_BY.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/bg_BG.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/bn_BD.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/bo.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/br_FR.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/bs_BA.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/ca.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/cs_CZ.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/da_DK.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/de.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/el_GR.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/en.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/en/dialog.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ab/dictionaries/*/dialog.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/en/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ab/dictionaries/*/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/es.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/et_EE.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/fr_FR.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/gd_GB.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/gl.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/gu_IN.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/gug.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/he_IL.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/hi_IN.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/hr_HR.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/hu_HU.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/hu_HU/dialog.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/hu_HU/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/id.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/is.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/it_IT.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/kmr_Latn.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/lo_LA.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/lt_LT.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/lv_LV.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/ne_NP.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/nl_NL.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/no.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/oc_FR.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/pl_PL.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/pt_BR.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/pt_BR/dialog.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/pt_BR/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/pt_PT.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/ro.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/ru_RU.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/ru_RU/dialog.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/ru_RU/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/si_LK.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/sk_SK.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/sl_SI.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/sq_AL.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/sr.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/sv_SE.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/sw_TZ.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/te_IN.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/th_TH.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/tr_TR.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/uk_UA.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/vi.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/zu_ZA.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/editeng/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/extensions/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/extensions/source/update/check/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/extras/source/autocorr/emoji.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/extras/source/gallery/share.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/filter/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/filter/source/config/fragments/filters.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/filter/source/config/fragments/internalgraphicfilters.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/filter/source/config/fragments/types.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/forms/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/formula/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/fpicker/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/framework/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/instsetoo_native/inc_openoffice/windows/msi_languages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/librelogo/source/pythonpath.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/nlpsolver/help/en/com.sun.star.comp.Calc.NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ab/nlpsolver/help/*/com.sun.star.comp.Calc.NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/nlpsolver/src/com/sun/star/comp/Calc/NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ab/nlpsolver/src/com/*/star/comp/Calc/NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/nlpsolver/src/locale.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/officecfg/registry/data/org/openoffice.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/officecfg/registry/data/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/officecfg/registry/data/org/openoffice/Office/UI.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/readlicense_oo/docs.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/reportbuilder/java/org/libreoffice/report/function/metadata.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/reportdesign/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/sc/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ab/*/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scaddins/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/sccomp/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/activex.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/base.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ab/scp2/source/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/calc.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/draw.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/extensions.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/gnome.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/graphicfilter.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/impress.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/kde.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/math.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/onlineupdate.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/ooo.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/python.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/quickstart.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/winexplorerext.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/writer.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/scp2/source/xsltfilter.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/sd/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/setup_native/source/mac.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ab/setup_native/source/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/sfx2/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/shell/source/win32/shlxthandler/res.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/starmath/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/svl/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/svtools/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/svx/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/sw/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/swext/mediawiki/help.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/swext/mediawiki/src.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/swext/mediawiki/src/registry/data/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/sysui/desktop/share.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/uui/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/vcl/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/wizards/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/wizards/source/resources.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/writerperfect/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/xmlsecurity/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/*_ZA.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/af/dictionaries/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/af/dictionaries/*/dialog.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/af/dictionaries/*/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/af/nlpsolver/help/*/com.sun.star.comp.Calc.NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/af/nlpsolver/src/com/*/star/comp/Calc/NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/af/*/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/af/scp2/source/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/af/setup_native/source/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/am/dictionaries/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/am/dictionaries/*/dialog.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/am/dictionaries/*/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/auxiliary.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/sbasic/guide.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/sbasic/shared.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/sbasic/shared/01.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/sbasic/shared/02.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/sbasic/shared/03.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/scalc.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/scalc/00.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/scalc/01.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/scalc/02.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/scalc/04.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/scalc/05.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/scalc/06.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/scalc/guide.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/schart.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/schart/00.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/schart/01.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/schart/02.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/schart/04.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/sdraw.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/sdraw/00.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/sdraw/01.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/sdraw/04.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/sdraw/guide.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/00.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/01.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/02.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/04.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/05.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/06.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/07.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/autokorr.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/autopi.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/explorer/database.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/guide.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/help.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/menu.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/shared/optionen.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/simpress.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/simpress/00.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/simpress/01.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/simpress/02.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/simpress/04.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/simpress/guide.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/smath.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/smath/00.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/smath/01.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/smath/02.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/smath/04.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/smath/06.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/smath/guide.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/swriter.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/swriter/00.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/swriter/01.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/swriter/02.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/swriter/04.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/swriter/guide.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/swriter/librelogo.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/helpcontent2/source/text/swriter/menu.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/am/nlpsolver/help/*/com.sun.star.comp.Calc.NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/am/nlpsolver/src/com/*/star/comp/Calc/NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/am/*/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/am/scp2/source/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/am/setup_native/source/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/an/dictionaries/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/*_ES.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/an/dictionaries/*/dialog.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/an/dictionaries/*/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/an/nlpsolver/help/*/com.sun.star.comp.Calc.NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/an/nlpsolver/src/com/*/star/comp/Calc/NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/an/*/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/an/scp2/source/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/an/setup_native/source/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ar/dictionaries/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/*/dictionaries/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ar/dictionaries/*/dialog.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ar/dictionaries/*/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ar/nlpsolver/help/*/com.sun.star.comp.Calc.NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ar/nlpsolver/src/com/*/star/comp/Calc/NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ar/*/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ar/scp2/source/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ar/setup_native/source/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/as/dictionaries/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/as/dictionaries/*/dialog.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/as/dictionaries/*/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/as/nlpsolver/help/*/com.sun.star.comp.Calc.NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/as/nlpsolver/src/com/*/star/comp/Calc/NLPSolver.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/as/*/messages.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/as/scp2/source/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/as/setup_native/source/*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ab/dictionaries/*.po',
      'template':'translations/source/ab/dictionaries/en.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ab/dictionaries/*/dialog.po',
      'template':'translations/source/ab/dictionaries/en/dialog.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ab/dictionaries/*/dialog/registry/data/org/openoffice/Office.po',
      'template':'translations/source/ab/dictionaries/en/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ab/nlpsolver/help/*/com.sun.star.comp.Calc.NLPSolver.po',
      'template':'translations/source/ab/nlpsolver/help/en/com.sun.star.comp.Calc.NLPSolver.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/af/dictionaries/*.po',
      'template':'translations/source/af/dictionaries/en.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/af/dictionaries/*/dialog.po',
      'template':'translations/source/af/dictionaries/en/dialog.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/af/dictionaries/*/dialog/registry/data/org/openoffice/Office.po',
      'template':'translations/source/af/dictionaries/en/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/af/nlpsolver/help/*/com.sun.star.comp.Calc.NLPSolver.po',
      'template':'translations/source/af/nlpsolver/help/en/com.sun.star.comp.Calc.NLPSolver.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/am/dictionaries/*.po',
      'template':'translations/source/am/dictionaries/en.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/am/dictionaries/*/dialog.po',
      'template':'translations/source/am/dictionaries/en/dialog.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/am/dictionaries/*/dialog/registry/data/org/openoffice/Office.po',
      'template':'translations/source/am/dictionaries/en/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/am/nlpsolver/help/*/com.sun.star.comp.Calc.NLPSolver.po',
      'template':'translations/source/am/nlpsolver/help/en/com.sun.star.comp.Calc.NLPSolver.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/an/dictionaries/*.po',
      'template':'translations/source/an/dictionaries/en.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/an/dictionaries/*/dialog.po',
      'template':'translations/source/an/dictionaries/en/dialog.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/an/dictionaries/*/dialog/registry/data/org/openoffice/Office.po',
      'template':'translations/source/an/dictionaries/en/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/an/nlpsolver/help/*/com.sun.star.comp.Calc.NLPSolver.po',
      'template':'translations/source/an/nlpsolver/help/en/com.sun.star.comp.Calc.NLPSolver.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ar/dictionaries/*.po',
      'template':'translations/source/ar/dictionaries/en.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ar/dictionaries/*/dialog.po',
      'template':'translations/source/ar/dictionaries/en/dialog.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ar/dictionaries/*/dialog/registry/data/org/openoffice/Office.po',
      'template':'translations/source/ar/dictionaries/en/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/ar/nlpsolver/help/*/com.sun.star.comp.Calc.NLPSolver.po',
      'template':'translations/source/ar/nlpsolver/help/en/com.sun.star.comp.Calc.NLPSolver.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/as/dictionaries/*.po',
      'template':'translations/source/as/dictionaries/en.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/as/dictionaries/*/dialog.po',
      'template':'translations/source/as/dictionaries/en/dialog.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/as/dictionaries/*/dialog/registry/data/org/openoffice/Office.po',
      'template':'translations/source/as/dictionaries/en/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'translations/source/as/nlpsolver/help/*/com.sun.star.comp.Calc.NLPSolver.po',
      'template':'translations/source/as/nlpsolver/help/en/com.sun.star.comp.Calc.NLPSolver.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ]
]

All translation makes 1.4 Gb...

Jibec commented 5 years ago

When digging a little bit:

wrong filemasks

translations/source/*/dictionaries/

here is something weird with: translations/source/*/dictionaries/ it contains inside it a group of file that looks like:

[
   {
      'filemask':'*.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'*/dialog.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'*/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'*.po',
      'template':'en.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'*/dialog.po',
      'template':'en/dialog.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ],
   {
      'filemask':'*/dialog/registry/data/org/openoffice/Office.po',
      'template':'en/dialog/registry/data/org/openoffice/Office.po',
      'file_format':'po-mono'
   }   [
      meta:{
         'discovery':'GettextDiscovery',
         'origin':None,
         'priority':1000
      }
   ]
]
Jibec commented 5 years ago

for your information, running discover with 20 languages takes 33 seconds (everything is in a tmpfs/RAM)

nijel commented 5 years ago

The problem I see there is https://github.com/LibreOffice/translations/tree/master/source/ab/dictionaries - it's locale specific dir containing files named based on locale. I don't see a good way to automatically decide which is actual language code and which not.

As for performance, this library was not considered to be performance critical, so there might be ways to make it faster. In Weblate it's executed just once at repository import and the slow thing in this case is cloning the repository.

nijel commented 5 years ago

I've made some performance improvements now, going further would need too much effort for now.

Jibec commented 5 years ago

That's fine to me, thank you! As I run it on many packages, it's always good to have a little attention to performance :)

Please don't miss the few false positive.

nijel commented 5 years ago

I've commented on the false positive above: https://github.com/WeblateOrg/translation-finder/issues/14#issuecomment-488223034

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Jibec commented 5 years ago

thank you Michal :)