File create_macros of Package patterns-openSUSE

my %translations;

$translations{'basetechnologies'} = {
    'ar' => 'التكنولوجيات الأساسية',
    'ca' => 'Tecnologies de base',
    'cs' => 'Základní technologie',
    'da' => 'Basisteknologier',
    'de' => 'Basistechnologien',
    'C' => 'Base Technologies',
    'el' => 'Βασικές Τεχνολογίες',
    'en_GB' => 'Base Technologies',
    'es' => 'Tecnologías de base',
    'et' => 'Baastehnoloogiad',
    'fi' => 'Perusteknologiat',
    'fr' => 'Technologies de base',
    'gl' => 'Tecnoloxías de base',
    'hr' => 'Osnovne tehnologije',
    'hu' => 'Alapkomponensek',
    'id' => 'Teknolasi Dasar',
    'it' => 'Tecnologie di base',
    'ja' => '基本技術',
    'km' => 'បច្ចេកវិជ្ជា​គោល',
    'ko' => '기초 기술',
    'lt' => 'Pagrindinės technologijos',
    'nb' => 'Grunnteknologier',
    'nl' => 'Basistechnologieën',
    'pa' => 'ਬੇਸ ਤਕਨਾਲੋਜੀਆਂ',
    'pl' => 'Technologie podstawowe',
    'pt' => 'Tecnologias de Base',
    'pt_BR' => 'Tecnologias de base',
    'ro' => 'Tehnologii de Bază',
    'ru' => 'Основные технологии',
    'sk' => 'Základné technológie',
    'sv' => 'Grundläggande teknologier',
    'uk' => 'Базові технології',
    'zh_CN' => '基础技术',
    'zh_TW' => '基本技術'};

$translations{'serverfunctions'} = {
    'ar' => 'وظائف الخادم',
    'bg' => 'Функции на сървъра',
    'cs' => 'Server',
    'da' => 'Serverfunktioner',
    'de' => 'Serverfunktionen',
    'C' => 'Server Functions',
    'el' => 'Λειτουργίες Εξυπηρετητή',
    'en_GB' => 'Server Functions',
    'es' => 'Funciones de servidor',
    'et' => 'Serveri funktsioonid',
    'fi' => 'Palvelintoiminnot',
    'fr' => 'Fonctions de serveur',
    'gl' => 'Funcións de servidor',
    'hu' => 'Kiszolgáló',
    'it' => 'Funzioni server',
    'ja' => 'サーバ機能',
    'km' => 'មុខងាររបស់ម៉ាស៊ីនបម្រើ',
    'ko' => '서버 기능',
    'lt' => 'Serverio funkcijos',
    'nb' => 'Serverfunksjoner',
    'nl' => 'Serverfuncties',
    'pa' => 'ਸਰਵਰ ਫੰਕਸ਼ਨ',
    'pl' => 'Funkcje serwera',
    'pt' => 'Funções Servidor',
    'pt_BR' => 'Funções do servidor',
    'ro' => 'Funcționalități Server',
    'ru' => 'Функции сервера',
    'sk' => 'Funkcie serveru',
    'sv' => 'Serverfunktioner',
    'uk' => 'Серверні функції',
    'zh_CN' => '服务器功能',
    'zh_TW' => '伺服器功能'
};

$translations{'documentation'} = {
    'C' => 'Documentation',
    'de' => 'Dokumentation'
};

$translations{'lxdedesktop'} = {
    'C' => 'LXDE Desktop'
};

$translations{'xfcedesktop'} = {
    'C' => 'XFCE Desktop'
};

$translations{'graphicalenvironments'} = {
    'ar' => 'بيئة رسومية',
    'cs' => 'Grafická rozhraní',
    'da' => 'Grafiske miljøer',
    'de' => 'Grafische Umgebungen',
    'C' => 'Graphical Environments',
    'el' => 'Γραφικά Περιβάλλοντα',
    'en_GB' => 'Graphical Environments',
    'es' => 'Entornos gráficos',
    'et' => 'Graafilised keskkonnad',
    'fi' => 'Graafinen ympäristö',
    'fr' => 'Environnements graphiques',
    'gl' => 'Ambientes gráficos',
    'hr' => 'Grafičko okruženje',
    'hu' => 'Grafikus környezet',
    'id' => 'Lingkungan Grafis',
    'it' => 'Ambienti grafici',
    'ja' => 'グラフィカルな環境',
    'km' => 'បរិស្ថានក្រាហ្វិក',
    'ko' => '화상 환경',
    'lt' => 'Grafinės aplinkos',
    'nb' => 'Grafisk miljø',
    'nl' => 'Grafische omgevingen',
    'pa' => 'ਗਰਾਫਿਕਲ ਇੰਵਾਇਰਨਮੈਂਟ',
    'pl' => 'Środowiska graficzne',
    'pt' => 'Ambientes Gráficos',
    'pt_BR' => 'Ambientes gráficos',
    'ro' => 'Medii Grafice',
    'ru' => 'Графические среды',
    'sk' => 'Grafické prostredia',
    'sv' => 'Grafiska miljöer',
    'uk' => 'Графічні середовища',
    'zh_CN' => '图形环境',
    'zh_TW' => '圖形環境'
};

$translations{'proprietarysoftware'} = {
    'ar' => 'البرمجيات الاحتكارية',
    'cs' => 'Proprietární software',
    'da' => 'Poprietær software',
    'de' => 'Proprietäre Software',
    'C' => 'Proprietary Software',
    'el' => 'Εμπορικό Λογισμικό',
    'en_GB' => 'Proprietary Software',
    'es' => 'Software privativo',
    'et' => 'Suletud lähtekoodiga tarkvara',
    'fi' => 'Suljetun koodin ohjelmistot',
    'fr' => 'Logiciels propriétaires',
    'gl' => 'Software propietario',
    'hr' => 'Vlasnički programi',
    'hu' => 'Szabadalom alá eső termékek',
    'it' => 'Programmi proprietari',
    'ja' => 'プロプライエタリソフトウエア',
    'km' => 'កម្មវិធីកម្មសិទ្ធិ',
    'ko' => '독점 소프트웨어',
    'lt' => 'Nuosavybinė programinė įranga',
    'nb' => 'Proprietær programvare',
    'nl' => 'Niet-opensource software',
    'pa' => 'ਪ੍ਰੋਪੈਂਟਰੀ ਸਾਫਟਵੇਅਰ',
    'pl' => 'Oprogramowanie zastrzeżone',
    'pt' => 'Software Proprietário',
    'pt_BR' => 'Software proprietário',
    'ro' => 'Software Proprietar',
    'ru' => 'Проприетарное программное обеспечение',
    'sk' => 'Softvér s uzavretým zdrojovým kódom',
    'sv' => 'Program med icke öppen källkod',
    'uk' => 'Закрите ПЗ',
    'zh_CN' => '私有软件',
    'zh_TW' => '專利軟體'
};

$translations{'additionalsoftware'} = {
    'ar' => 'برامج إضافية',
    'cs' => 'Dodatečný software',
    'da' => 'Yderligere software',
    'de' => 'Zusätzliche Software',
    'C' => 'Additional Software',
    'el' => 'Πρόσθετο Λογισμικό',
    'en_GB' => 'Additional Software',
    'es' => 'Software adicional',
    'et' => 'Lisatarkvara',
    'fi' => 'Lisäohjelmistot',
    'fr' => 'Logiciels supplémentaires',
    'gl' => 'Software adicional',
    'hr' => 'Dodatni programi',
    'hu' => 'További szoftver',
    'id' => 'Software Tambahan',
    'it' => 'Programmi aggiuntivi',
    'ja' => '追加ソフトウエア',
    'km' => 'កម្មវិធីបន្ថែម',
    'ko' => '추가적 기타 소프트웨어',
    'lt' => 'Papildoma programinė įranga',
    'nb' => 'Tilleggsprogramvare',
    'nl' => 'Aanvullende software',
    'pa' => 'ਹੋਰ ਸਾਫਟਵੇਅਰ',
    'pl' => 'Oprogramowanie dodatkowe',
    'pt' => 'Software Adicional',
    'pt_BR' => 'Softwares adicionais',
    'ro' => 'Software Adițional',
    'ru' => 'Дополнительное программное обеспечение',
    'sk' => 'Doplnkový softvér',
    'sv' => 'Ytterligare mjukvara',
    'uk' => 'Додаткове ПЗ',
    'zh_CN' => '附加软件',
    'zh_TW' => '其他軟體'
};
$translations{'desktopfunctions'} = {
    'ar' => 'وظائف مكتبية',
    'bg' => 'Функции на работната среда',
    'cs' => 'Pracovní stanice',
    'da' => 'Skrivebordsfunktioner',
    'de' => 'Desktopfunktionen',
    'C' => 'Desktop Functions',
    'el' => 'Λειτουργίες Desktop Υπολογιστή',
    'en_GB' => 'Desktop Functions',
    'es' => 'Funciones de escritorio',
    'et' => 'Töölaua funktsioonid',
    'fi' => 'Työpöytätoiminnot',
    'fr' => 'Fonctions de bureau',
    'gl' => 'Funcións de escritorio',
    'hu' => 'Munkaállomás',
    'it' => 'Funzioni desktop',
    'ja' => 'デスクトップ機能',
    'km' => 'មុខងារផ្ទៃតុ',
    'ko' => '데스크톱 기능',
    'lt' => 'Darbalaukio funkcijos',
    'nb' => 'Skrivebordsfunksjoner',
    'nl' => 'Desktopfuncties',
    'pa' => 'ਡੈਸਕਟਾਪ ਫੰਕਸ਼ਨ',
    'pl' => 'Funkcje stacji roboczej',
    'pt' => 'Funções de Ambiente de Trabalho',
    'pt_BR' => 'Funções da área de trabalho',
    'ro' => 'Funcționalități Desctop',
    'ru' => 'Функции рабочего стола',
    'sk' => 'Funkcie pracovného prostredia',
    'sv' => 'Skrivbordsfunktioner',
    'uk' => 'Стільничні функції',
    'zh_CN' => '桌面功能',
    'zh_TW' => '桌面功能'
};
$translations{'desktops'} = {
    'ar' => 'سطح المكتب',
    'ca' => 'Escriptoris',
    'cs' => 'Pracovní prostředí',
    'da' => 'Skrivebordsmiljøer',
    'de' => 'Desktops',
    'C' => 'Desktops',
    'el' => 'Επιφάνειες Εργασίας',
    'en_GB' => 'Desktops',
    'es' => 'Escritorios',
    'et' => 'Töölauad',
    'fi' => 'Työpöydät',
    'fr' => 'Bureaux',
    'gl' => 'Escritorios',
    'hr' => 'Radne površine',
    'hu' => 'Grafikus környezetek',
    'id' => 'Desktop',
    'it' => 'Desktop',
    'ja' => 'デスクトップ',
    'km' => 'ផ្ទៃតុ',
    'ko' => '데스크톱',
    'lt' => 'Darbalaukiai',
    'nb' => 'Skrivebordsmiljøer',
    'nl' => 'Desktops',
    'pa' => 'ਡੈਸਕਟਾਪ',
    'pl' => 'Środowiska graficzne',
    'pt' => 'Áreas de Trabalho',
    'pt_BR' => 'Áreas de trabalho',
    'ro' => 'Medii de lucru',
    'ru' => 'Рабочие столы',
    'sk' => 'Pracovné prostredia',
    'sv' => 'Skrivbord',
    'uk' => 'Стільниці',
    'zh_CN' => '桌面',
    'zh_TW' => '桌面'
};
$translations{'development'} = {
    'ar' => 'تطوير',
    'bg' => 'Разработка',
    'ca' => 'Desenvolupament',
    'cs' => 'Vývoj',
    'da' => 'Udvikling',
    'de' => 'Entwicklung',
    'C' => 'Development',
    'el' => 'Εργαλεία Ανάπτυξης',
    'en_GB' => 'Development',
    'es' => 'Desarrollo',
    'et' => 'Arendus',
    'fi' => 'Kehitys',
    'fr' => 'Développement',
    'gl' => 'Desenvolvemento',
    'hi' => 'विकास',
    'hr' => 'Razvoj',
    'hu' => 'Fejlesztés',
    'id' => 'Pengembangan',
    'it' => 'Sviluppo',
    'ja' => '開発',
    'km' => 'អភិវឌ្ឍន៍',
    'ko' => '개발',
    'lt' => 'Programavimas',
    'nb' => 'Utvikling',
    'nl' => 'Ontwikkeling',
    'pa' => 'ਡਿਵੈਲਪਮਿੰਟ',
    'pl' => 'Programowanie',
    'pt' => 'Desenvolvimento',
    'pt_BR' => 'Desenvolvimento',
    'ro' => 'Dezvoltare',
    'ru' => 'Разработка',
    'sk' => 'Vývoj',
    'sv' => 'Utveckling',
    'uk' => 'Розробка',
    'zh_CN' => '开发',
    'zh_TW' => '開發'
};

$translations{'gnomedesktop'} = {
    'ar' => 'سطح المكتب جنوم',
    'bg' => 'Работна среда GNOME',
    'cs' => 'Prostředí GNOME',
    'da' => 'GNOME skrivebordsmiljøet',
    'de' => 'GNOME-Desktop',
    'C' => 'GNOME Desktop',
    'el' => 'Επιφάνεια Εργασίας GNOME',
    'en_GB' => 'GNOME Desktop',
    'es' => 'Escritorio GNOME',
    'et' => 'GNOME töölaud',
    'fi' => 'GNOME-työpöytä',
    'fr' => 'Bureau GNOME',
    'gl' => 'Escritorio GNOME',
    'hr' => 'GNOME radna površina',
    'hu' => 'GNOME asztali környezet',
    'it' => 'Desktop GNOME',
    'ja' => 'GNOME デスクトップ',
    'km' => 'ផ្ទៃតុ GNOME',
    'ko' => '그놈 데스크톱',
    'lt' => 'GNOME darbalaukis',
    'nb' => 'Skrivebordsmiljøet GNOME',
    'nl' => 'GNOME Desktop',
    'pa' => 'ਗਨੋਮ ਡੈਸਕਟਾਪ',
    'pl' => 'Środowisko GNOME',
    'pt' => 'Ambiente de Trabalho GNOME',
    'pt_BR' => 'Área de trabalho GNOME',
    'ro' => 'Mediu de Lucru GNOME',
    'ru' => 'Рабочий стол GNOME',
    'sk' => 'Pracovné prostredie GNOME',
    'sv' => 'Skrivbordsmiljön Gnome',
    'uk' => 'Стільниця GNOME',
    'zh_CN' => 'GNOME 桌面',
    'zh_TW' => 'GNOME 桌面'
};
$translations{'kdedesktop'} = {
    'ar' => 'سطح المكتب كدي',
    'bg' => 'Работна среда KDE',
    'cs' => 'Prostředí KDE',
    'da' => 'KDE skrivebordsmiljøet',
    'de' => 'KDE-Desktop',
    'C' => 'KDE Desktop',
    'el' => 'Επιφάνεια Εργασίας KDE',
    'en_GB' => 'KDE Desktop',
    'es' => 'Escritorio KDE',
    'et' => 'KDE töölaud',
    'fi' => 'KDE-työpöytä',
    'fr' => 'Bureau KDE',
    'gl' => 'Escritorio KDE',
    'hr' => 'KDE radna površina',
    'hu' => 'KDE asztali környezet',
    'it' => 'Desktop KDE',
    'ja' => 'KDE デスクトップ',
    'km' => 'ផ្ទៃតុ KDE',
    'ko' => 'KDE 데스크톱',
    'lt' => 'KDE darbalaukis',
    'nb' => 'Skrivebordsmiljøet KDE',
    'nl' => 'KDE Desktop',
    'pa' => 'KDE ਡੈਸਕਟਾਪ',
    'pl' => 'Środowisko KDE',
    'pt' => 'Ambiente de Trabalho KDE',
    'pt_BR' => 'Área de trabalho KDE',
    'ro' => 'Mediu de Lucru KDE',
    'ru' => 'Рабочий стол KDE',
    'sk' => 'Pracovné prostredie KDE',
    'sv' => 'Skrivbordsmiljön KDE',
    'uk' => 'Стільниця KDE',
    'zh_CN' => 'KDE 桌面',
    'zh_TW' => 'KDE 桌面'
};
$translations{'matedesktop'} = {
    'ar' => 'سطح المكتب جنوم',
    'bg' => 'Работна среда MATE',
    'cs' => 'Prostředí MATE',
    'da' => 'MATE skrivebordsmiljøet',
    'de' => 'MATE-Desktop',
    'C' => 'MATE Desktop',
    'el' => 'Επιφάνεια Εργασίας MATE',
    'en_GB' => 'MATE Desktop',
    'es' => 'Escritorio MATE',
    'et' => 'MATE töölaud',
    'fi' => 'MATE-työpöytä',
    'fr' => 'Bureau MATE',
    'gl' => 'Escritorio MATE',
    'hr' => 'MATE radna površina',
    'hu' => 'MATE asztali környezet',
    'it' => 'Desktop MATE',
    'ja' => 'MATE デスクトップ',
    'km' => 'ផ្ទៃតុ MATE',
    'ko' => '그놈 데스크톱',
    'lt' => 'MATE darbalaukis',
    'nb' => 'Skrivebordsmiljøet MATE',
    'nl' => 'MATE Desktop',
    'pa' => 'ਗਨੋਮ ਡੈਸਕਟਾਪ',
    'pl' => 'Środowisko MATE',
    'pt' => 'Ambiente de Trabalho MATE',
    'pt_BR' => 'Área de trabalho MATE',
    'ro' => 'Mediu de Lucru MATE',
    'ru' => 'Рабочий стол MATE',
    'sk' => 'Pracovné prostredie MATE',
    'sv' => 'Skrivbordsmiljön MATE',
    'uk' => 'Стільниця MATE',
    'zh_CN' => 'MATE 桌面',
    'zh_TW' => 'MATE 桌面'
};
$translations{'primaryfunctions'} = {
    'ar' => 'الوظائف الرئيسية',
    'cs' => 'Primární funkce',
    'da' => 'Primære funktioner',
    'de' => 'Primäre Funktionen',
    'C' => 'Primary Functions',
    'el' => 'Πρωτεύουσες Λειτουργίες',
    'en_GB' => 'Primary Functions',
    'es' => 'Funciones principales',
    'et' => 'Esmased funktsioonid',
    'fi' => 'Ensisijaiset toiminnot',
    'fr' => 'Fonctions principales',
    'gl' => 'Funcións primarias',
    'hr' => 'Primarne funkcije',
    'hu' => 'Elsődleges funkciók',
    'id' => 'Fungsi Primer',
    'it' => 'Funzioni principali',
    'ja' => '主要機能',
    'km' => 'មុខងារចម្បង',
    'ko' => '첫번째 기능',
    'lt' => 'Pirminės funkcijos',
    'nb' => 'Primærfunksjoner',
    'nl' => 'Primaire functies',
    'pa' => 'ਪ੍ਰਾਇਮਰੀ ਫੰਕਸ਼ਨ',
    'pl' => 'Funkcje podstawowe',
    'pt' => 'Funções Primárias',
    'pt_BR' => 'Funções principais',
    'ro' => 'Funcționalități Primare',
    'ru' => 'Основные функции',
    'sk' => 'Primárne funkcie',
    'sv' => 'Primära funktioner',
    'uk' => 'Головні функції',
    'zh_CN' => '主要功能',
    'zh_TW' => '主要功能'
};

use URI::Escape;

for my $macro (sort keys %translations) {
    my $trans = $translations{$macro};
    print "%global pattern_$macro \\\n";
    for my $lang (sort keys %{$trans}) {
	next if ($lang eq "C");
	print "Provides: pattern-category($lang) = " . uri_escape($trans->{$lang}) . " \\\n";
    }
    print "Provides: pattern-category() = " . uri_escape($trans->{C}) . "\n";
    print "\n";
}