diff --git a/create_pot_file.sh b/create_pot_file.sh new file mode 100755 index 0000000..c009b28 --- /dev/null +++ b/create_pot_file.sh @@ -0,0 +1,3 @@ +#! /bin/sh + +xgettext --from-code=UTF-8 --files-from=./files_to_translate --keyword=translatable --keyword=_ --output=pamac.pot diff --git a/data/polkit/org.manjaro.pamac.policy b/data/polkit/org.manjaro.pamac.policy index 91f2d77..8160f87 100644 --- a/data/polkit/org.manjaro.pamac.policy +++ b/data/polkit/org.manjaro.pamac.policy @@ -4,10 +4,11 @@ "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd"> Manjaro - pamac + http://manjaro.org/ + package-x-generic - Authentication is required to change alpm database - L'authentification est nécessaire pour changer la base de données alpm + Authentication is required + Authentification nécessaire no no diff --git a/files_to_translate b/files_to_translate new file mode 100644 index 0000000..d985b4c --- /dev/null +++ b/files_to_translate @@ -0,0 +1,6 @@ +./pamac-daemon.py +./pamac-tray.py +./pamac/main.py +./pamac/common.py +./gui/manager.glade +./gui/updater.glade diff --git a/gui/manager.glade b/gui/manager.glade index c448bf9..3f5f9a0 100644 --- a/gui/manager.glade +++ b/gui/manager.glade @@ -677,7 +677,7 @@ True autosize - Installed + State True True 1 diff --git a/pamac-daemon b/pamac-daemon.py similarity index 88% rename from pamac-daemon rename to pamac-daemon.py index 85c908c..0590271 100755 --- a/pamac-daemon +++ b/pamac-daemon.py @@ -1,5 +1,5 @@ #! /usr/bin/python -# -*-coding:utf-8-*- +# -*- coding:utf-8 -*- import dbus import dbus.service @@ -11,6 +11,12 @@ import pyalpm from multiprocessing import Process from pamac import config, common +# i18n +import gettext +gettext.bindtextdomain('pamac', '/usr/share/locale') +gettext.textdomain('pamac') +_ = gettext.gettext + class PamacDBusService(dbus.service.Object): def __init__(self): bus=dbus.SystemBus() @@ -21,7 +27,7 @@ class PamacDBusService(dbus.service.Object): self.error = '' self.warning = '' self.previous_action = '' - self.action = 'Preparing...' + self.action = _('Preparing')+'...' self.previous_icon = '' self.icon = '/usr/share/pamac/icons/24x24/status/setup.png' self.previous_target = '' @@ -60,48 +66,48 @@ class PamacDBusService(dbus.service.Object): def cb_event(self, ID, event, tupel): if ID is 1: - self.action = 'Checking dependencies...' + self.action = _('Checking dependencies')+'...' self.icon = '/usr/share/pamac/icons/24x24/status/package-search.png' elif ID is 3: - self.action = 'Checking file conflicts...' + self.action = _('Checking file conflicts')+'...' self.icon = '/usr/share/pamac/icons/24x24/status/package-search.png' elif ID is 5: - self.action = 'Resolving dependencies...' + self.action = _('Resolving dependencies')+'...' self.icon = '/usr/share/pamac/icons/24x24/status/setup.png' elif ID is 7: - self.action = 'Checking inter conflicts...' + self.action = _('Checking inter conflicts')+'...' self.icon = '/usr/share/pamac/icons/24x24/status/package-search.png' elif ID is 9: - self.action = 'Installing...' + self.action = _('Installing')+'...' self.icon = '/usr/share/pamac/icons/24x24/status/package-add.png' elif ID is 10: - formatted_event = 'Installed {} ({})'.format(tupel[0].name, tupel[0].version) + formatted_event = 'Installed {pkgname} ({pkgversion})'.format(pkgname = tupel[0].name, pkgversion = tupel[0].version) common.write_log_file(formatted_event) print(formatted_event) elif ID is 11: - self.action = 'Removing...' + self.action = _('Removing')+'...' self.icon = '/usr/share/pamac/icons/24x24/status/package-delete.png' elif ID is 12: - formatted_event = 'Removed {} ({})'.format(tupel[0].name, tupel[0].version) + formatted_event = 'Removed {pkgname} ({pkgversion})'.format(pkgname = tupel[0].name, pkgversion = tupel[0].version) common.write_log_file(formatted_event) print(formatted_event) elif ID is 13: - self.action = 'Upgrading...' + self.action = _('Upgrading')+'...' self.icon = '/usr/share/pamac/icons/24x24/status/package-update.png' elif ID is 14: - formatted_event = 'Upgraded {} ({} -> {})'.format(tupel[1].name, tupel[1].version, tupel[0].version) + formatted_event = 'Upgraded {pkgname} ({oldversion} -> {newversion})'.format(pkgname = tupel[1].name, oldversion = tupel[1].version, newversion = tupel[0].version) common.write_log_file(formatted_event) print(formatted_event) elif ID is 15: - self.action = 'Checking integrity...' + self.action = _('Checking integrity')+'...' self.icon = '/usr/share/pamac/icons/24x24/status/package-search.png' self.already_transferred = 0 elif ID is 17: - self.action = 'Loading packages files...' + self.action = _('Loading packages files')+'...' self.icon = '/usr/share/pamac/icons/24x24/status/package-search.png' print('Loading packages files') elif ID is 26: - self.action = 'Configuring...' + self.action = _('Configuring')+'...' self.icon = '/usr/share/pamac/icons/24x24/status/setup.png' self.EmitPercent(str(2)) print('Configuring a package') @@ -153,12 +159,12 @@ class PamacDBusService(dbus.service.Object): size = pkg.size if _transferred == size: self.already_transferred += size - self.action = 'Downloading '+common.format_size(self.total_size) + self.action = _('Downloading {size}'.format(size = common.format_size(self.total_size))) self.target = _target self.percent = round(fraction, 2) self.icon = '/usr/share/pamac/icons/24x24/status/package-download.png' else: - self.action = 'Refreshing...' + self.action = _('Refreshing')+'...' self.target = _target self.percent = 2 self.icon = '/usr/share/pamac/icons/24x24/status/refresh-cache.png' @@ -261,7 +267,7 @@ class PamacDBusService(dbus.service.Object): finally: return self.error else : - return 'You are not authorized' + return _('Authentication failed') @dbus.service.method('org.manjaro.pamac', '', 's') def Sysupgrade(self): @@ -365,11 +371,11 @@ class PamacDBusService(dbus.service.Object): if self.error: self.EmitTransactionError(self.error) else: - self.EmitTransactionDone('Transaction successfully finished') + self.EmitTransactionDone(_('Transaction successfully finished')) try: authorized = self.policykit_test(sender,connexion,'org.manjaro.pamac.commit') except dbus.exceptions.DBusException as e: - self.EmitTransactionError('You are not authorized') + self.EmitTransactionError(_('Authentication failed')) success('') else: if authorized: @@ -377,7 +383,7 @@ class PamacDBusService(dbus.service.Object): self.task.start() else : self.t.release() - self.EmitTransactionError('You are not authorized') + self.EmitTransactionError(_('Authentication failed')) success('') @dbus.service.signal('org.manjaro.pamac') @@ -399,7 +405,7 @@ class PamacDBusService(dbus.service.Object): finally: return self.error else : - return 'You are not authorized' + return _('Authentication failed') @dbus.service.method('org.manjaro.pamac') def StopDaemon(self): diff --git a/pamac-install b/pamac-install.py similarity index 98% rename from pamac-install rename to pamac-install.py index db0df04..602307a 100755 --- a/pamac-install +++ b/pamac-install.py @@ -1,5 +1,5 @@ #! /usr/bin/python -# -*-coding:utf-8 -*- +# -*- coding:utf-8 -*- from gi.repository import GObject from sys import argv diff --git a/pamac-manager b/pamac-manager.py similarity index 73% rename from pamac-manager rename to pamac-manager.py index 9c3a8ea..e24a426 100755 --- a/pamac-manager +++ b/pamac-manager.py @@ -1,5 +1,5 @@ #! /usr/bin/python -# -*-coding:utf-8 -*- +# -*- coding:utf-8 -*- from pamac import main diff --git a/pamac-refresh b/pamac-refresh.py similarity index 96% rename from pamac-refresh rename to pamac-refresh.py index 033930c..94e34a1 100755 --- a/pamac-refresh +++ b/pamac-refresh.py @@ -1,5 +1,5 @@ #! /usr/bin/python -# -*-coding:utf-8-*- +# -*- coding:utf-8 -*- from gi.repository import GObject from pamac import common, transaction diff --git a/pamac-tray b/pamac-tray.py similarity index 81% rename from pamac-tray rename to pamac-tray.py index da44fab..fc0defd 100755 --- a/pamac-tray +++ b/pamac-tray.py @@ -1,21 +1,28 @@ #! /usr/bin/python -# -*-coding:utf-8-*- +# -*- coding:utf-8 -*- from gi.repository import Gtk, GObject from subprocess import Popen -from pamac import transaction +from pamac import transaction, common import dbus import threading +# i18n +import gettext +gettext.bindtextdomain('pamac', '/usr/share/locale') +gettext.textdomain('pamac') +_ = gettext.gettext + GObject.threads_init() bus = dbus.SystemBus() icon = '' info = '' update_icon = '/usr/share/pamac/icons/scalable/status/update-normal.svg' -update_info = '{} available updates' +update_info = _('{number} available updates') +one_update_info = _('1 available update') noupdate_icon = '/usr/share/pamac/icons/scalable/status/update-enhancement.svg' -noupdate_info = ' No available update' +noupdate_info = _('Your system is up-to-date') class Tray: def __init__(self): @@ -23,13 +30,13 @@ class Tray: self.statusIcon.set_visible(True) self.menu = Gtk.Menu() - self.menuItem = Gtk.ImageMenuItem('Install/Check for updates') + self.menuItem = Gtk.ImageMenuItem(_('Install/Check for updates')) self.menuItem.connect('activate', self.execute_update, self.statusIcon) self.menu.append(self.menuItem) - self.menuItem = Gtk.ImageMenuItem('Run pamac-manager') + self.menuItem = Gtk.ImageMenuItem(_('Run pamac-manager')) self.menuItem.connect('activate', self.execute_manager, self.statusIcon) self.menu.append(self.menuItem) - self.menuItem = Gtk.ImageMenuItem('Quit') + self.menuItem = Gtk.ImageMenuItem(_('Quit')) self.menuItem.connect('activate', self.quit_tray, self.statusIcon) self.menu.append(self.menuItem) @@ -90,7 +97,10 @@ def set_icon(updates): global info if updates: icon = update_icon - info = update_info.format(updates) + if int(updates) == 1: + info = one_update_info + else: + info = update_info.format(number = updates) Popen(['notify-send', '-i', icon, '-u', 'normal', 'Pamac', info]) else: icon = noupdate_icon diff --git a/pamac-updater b/pamac-updater.py similarity index 73% rename from pamac-updater rename to pamac-updater.py index dc158b4..c5b14b1 100755 --- a/pamac-updater +++ b/pamac-updater.py @@ -1,5 +1,5 @@ #! /usr/bin/python -# -*-coding:utf-8 -*- +# -*- coding:utf-8 -*- from pamac import main diff --git a/pamac.pot b/pamac.pot new file mode 100644 index 0000000..7935c62 --- /dev/null +++ b/pamac.pot @@ -0,0 +1,339 @@ +## Translation of Pamac. +# Copyright (C) 2007-2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the Pamac package. +# Guillaume Benoit , 2013. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pamac\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-03-31 18:55+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: pamac-daemon.py:30 pamac/main.py:594 +msgid "Preparing" +msgstr "" + +#: pamac-daemon.py:69 +msgid "Checking dependencies" +msgstr "" + +#: pamac-daemon.py:72 +msgid "Checking file conflicts" +msgstr "" + +#: pamac-daemon.py:75 +msgid "Resolving dependencies" +msgstr "" + +#: pamac-daemon.py:78 +msgid "Checking inter conflicts" +msgstr "" + +#: pamac-daemon.py:81 pamac/main.py:73 +msgid "Installing" +msgstr "" + +#: pamac-daemon.py:88 pamac/main.py:73 +msgid "Removing" +msgstr "" + +#: pamac-daemon.py:95 pamac/main.py:73 +msgid "Upgrading" +msgstr "" + +#: pamac-daemon.py:102 +msgid "Checking integrity" +msgstr "" + +#: pamac-daemon.py:106 +msgid "Loading packages files" +msgstr "" + +#: pamac-daemon.py:110 pamac/main.py:73 +msgid "Configuring" +msgstr "" + +#: pamac-daemon.py:162 +msgid "Downloading {size}" +msgstr "" + +#: pamac-daemon.py:167 pamac/main.py:504 +msgid "Refreshing" +msgstr "" + +#: pamac-daemon.py:270 pamac-daemon.py:378 pamac-daemon.py:386 +#: pamac-daemon.py:408 +msgid "Authentication failed" +msgstr "" + +#: pamac-daemon.py:374 +msgid "Transaction successfully finished" +msgstr "" + +#: pamac-tray.py:22 +msgid "{number} available updates" +msgstr "" + +#: pamac-tray.py:23 +msgid "1 available update" +msgstr "" + +#: pamac-tray.py:25 +msgid "Your system is up-to-date" +msgstr "" + +#: pamac-tray.py:33 +msgid "Install/Check for updates" +msgstr "" + +#: pamac-tray.py:36 +msgid "Run pamac-manager" +msgstr "" + +#: pamac-tray.py:39 +msgid "Quit" +msgstr "" + +#: pamac/main.py:110 pamac/main.py:923 +msgid "Installed" +msgstr "" + +#: pamac/main.py:110 pamac/main.py:925 +msgid "Uninstalled" +msgstr "" + +#: pamac/main.py:110 pamac/main.py:927 +msgid "Orphans" +msgstr "" + +#: pamac/main.py:110 pamac/main.py:428 pamac/main.py:929 +msgid "To install" +msgstr "" + +#: pamac/main.py:110 pamac/main.py:408 pamac/main.py:931 +msgid "To remove" +msgstr "" + +#: pamac/main.py:129 pamac/main.py:939 +msgid "local" +msgstr "" + +#: pamac/main.py:295 +msgid "No package found" +msgstr "" + +#: pamac/main.py:346 +msgid "Licenses" +msgstr "" + +#: pamac/main.py:351 +msgid "Depends On" +msgstr "" + +#: pamac/main.py:353 +msgid "Optional Deps" +msgstr "" + +#: pamac/main.py:356 +msgid "Required By" +msgstr "" + +#: pamac/main.py:358 +msgid "Provides" +msgstr "" + +#: pamac/main.py:360 +msgid "Replaces" +msgstr "" + +#: pamac/main.py:362 +msgid "Conflicts With" +msgstr "" + +#: pamac/main.py:367 +msgid "Repository" +msgstr "" + +#: pamac/main.py:369 gui/manager.glade:539 +msgid "Groups" +msgstr "" + +#: pamac/main.py:371 +msgid "Compressed Size" +msgstr "" + +#: pamac/main.py:372 +msgid "Download Size" +msgstr "" + +#: pamac/main.py:374 +msgid "Installed Size" +msgstr "" + +#: pamac/main.py:375 +msgid "Packager" +msgstr "" + +#: pamac/main.py:379 +msgid "Install Date" +msgstr "" + +#: pamac/main.py:381 +msgid "Explicitly installed" +msgstr "" + +#: pamac/main.py:383 +msgid "Installed as a dependency for another package" +msgstr "" + +#: pamac/main.py:385 +msgid "Unknown" +msgstr "" + +#: pamac/main.py:386 +msgid "Install Reason" +msgstr "" + +#: pamac/main.py:391 +msgid "Signatures" +msgstr "" + +#: pamac/main.py:395 +msgid "Backup files" +msgstr "" + +#: pamac/main.py:405 +msgid "Transaction Summary" +msgstr "" + +#: pamac/main.py:419 pamac/main.py:528 +msgid "Total download size: " +msgstr "" + +#: pamac/main.py:435 +msgid "To update" +msgstr "" + +#: pamac/main.py:520 pamac/main.py:1048 +msgid "Your system is up-to-date" +msgstr "" + +#: pamac/main.py:530 +msgid "1 available update" +msgstr "" + +#: pamac/main.py:532 +msgid "{number} available updates" +msgstr "" + +#: pamac/main.py:691 pamac/main.py:761 +msgid "{pkgname1} will be replaced by {pkgname2}" +msgstr "" + +#: pamac/main.py:708 pamac/main.py:742 +msgid "" +"{pkgname1} conflicts with {pkgname2} but cannot be removed because it is " +"needed by {pkgname3}" +msgstr "" + +#: pamac/main.py:713 pamac/main.py:747 +msgid "{pkgname1} conflicts with {pkgname2}" +msgstr "" + +#: pamac/main.py:723 +msgid "" +"{pkgname1} conflicts with {pkgname2}\n" +"None of them will be installed" +msgstr "" + +#: pamac/main.py:782 +msgid "" +"{pkgname} is provided by {number} packages.\n" +"Please choose the one(s) you want to install:" +msgstr "" + +#: pamac/main.py:808 +msgid "No package is selected" +msgstr "" + +#: pamac/main.py:849 +msgid "Nothing to do" +msgstr "" + +#: pamac/main.py:1032 +msgid "Pamac is already running" +msgstr "" + +#: pamac/common.py:13 +#, python-format +msgid "%.1f KiB" +msgstr "" + +#: pamac/common.py:16 +#, python-format +msgid "%.2f MiB" +msgstr "" + +#: gui/manager.glade:7 +msgid "Choose" +msgstr "" + +#: gui/manager.glade:112 +msgid "Summary" +msgstr "" + +#: gui/manager.glade:256 +msgid "Progress" +msgstr "" + +#: gui/manager.glade:402 +msgid "Package Manager" +msgstr "" + +#: gui/manager.glade:492 +msgid "Search" +msgstr "" + +#: gui/manager.glade:587 gui/manager.glade:680 +msgid "State" +msgstr "" + +#: gui/manager.glade:635 +msgid "Repos" +msgstr "" + +#: gui/manager.glade:710 +msgid "Name" +msgstr "" + +#: gui/manager.glade:728 +msgid "Size" +msgstr "" + +#: gui/manager.glade:829 +msgid "Infos" +msgstr "" + +#: gui/manager.glade:889 +msgid "Deps" +msgstr "" + +#: gui/manager.glade:954 +msgid "Details" +msgstr "" + +#: gui/manager.glade:1002 +msgid "Files" +msgstr "" + +#: gui/updater.glade:6 +msgid "Update Manager" +msgstr "" diff --git a/pamac/common.py b/pamac/common.py index 4cc0089..48e48e1 100644 --- a/pamac/common.py +++ b/pamac/common.py @@ -1,13 +1,19 @@ #! /usr/bin/python -# -*-coding:utf-8-*- +# -*- coding:utf-8 -*- + +# i18n +import gettext +gettext.bindtextdomain('pamac', '/usr/share/locale') +gettext.textdomain('pamac') +_ = gettext.gettext def format_size(size): KiB_size = size / 1024 if KiB_size < 1000: - size_string = '%.1f KiB' % (KiB_size) + size_string = _('%.1f KiB') % (KiB_size) return size_string else: - size_string = '%.2f MiB' % (KiB_size / 1024) + size_string = _('%.2f MiB') % (KiB_size / 1024) return size_string def format_pkg_name(name): diff --git a/pamac/config.py b/pamac/config.py index 89d37e8..2506d41 100644 --- a/pamac/config.py +++ b/pamac/config.py @@ -1,5 +1,5 @@ #! /usr/bin/python -# -*-coding:utf-8 -*- +# -*- coding:utf-8 -*- import io import os diff --git a/pamac/main.py b/pamac/main.py index 2ef91ca..2724626 100644 --- a/pamac/main.py +++ b/pamac/main.py @@ -1,5 +1,5 @@ #! /usr/bin/python -# -*-coding:utf-8 -*- +# -*- coding:utf-8 -*- from gi.repository import Gtk from gi.repository.GdkPixbuf import Pixbuf @@ -10,7 +10,16 @@ from time import strftime, localtime from pamac import config, common, transaction +# i18n +import gettext +import locale +locale.bindtextdomain('pamac', '/usr/share/locale') +gettext.bindtextdomain('pamac', '/usr/share/locale') +gettext.textdomain('pamac') +_ = gettext.gettext + interface = Gtk.Builder() +interface.set_translation_domain('pamac') #interface.add_from_file('/usr/share/pamac/gui/dialogs.glade') #ErrorDialog = interface.get_object('ErrorDialog') @@ -63,7 +72,7 @@ update_bottom_label = interface.get_object('update_bottom_label') def action_signal_handler(action): if action: progress_label.set_text(action) - if ('Installing' in action) or ('Removing' in action) or ('Upgrading' in action) or ('Configuring' in action): + if (_('Installing') in action) or (_('Removing') in action) or (_('Upgrading') in action) or (_('Configuring') in action): ProgressCancelButton.set_visible(False) else: ProgressCancelButton.set_visible(True) @@ -100,7 +109,7 @@ current_filter = (None, None) transaction_type = None transaction_dict = {} mode = None -states = ['Installed', 'Uninstalled', 'Orphans', 'To install', 'To remove'] +states = [_('Installed'), _('Uninstalled'), _('Orphans'), _('To install'), _('To remove')] for state in states: state_list.append([state]) @@ -119,7 +128,7 @@ def get_repos(): repos_list.clear() for repo in transaction.handle.get_syncdbs(): repos_list.append([repo.name]) - repos_list.append(['local']) + repos_list.append([_('local')]) def set_list_dict_search(*patterns): global pkg_name_list @@ -285,7 +294,7 @@ def set_list_dict_repos(repo): def refresh_packages_list(): packages_list.clear() if not pkg_name_list: - packages_list.append(["No package found", False, False, False, search_icon, '', 0]) + packages_list.append([_('No package found'), False, False, False, search_icon, '', 0]) else: for name in pkg_name_list: if name in config.holdpkg: @@ -336,56 +345,56 @@ def set_infos_list(pkg): # fix & in url url = pkg.url.replace('&', '&') link_label.set_markup('{_url}'.format(_url = url)) - licenses_label.set_markup('Licenses: {}'.format(' '.join(pkg.licenses))) + licenses_label.set_markup(_('Licenses') + ': {}'.format(' '.join(pkg.licenses))) def set_deps_list(pkg, style): deps_list.clear() if pkg.depends: - deps_list.append(['Depends On:', '\n'.join(pkg.depends)]) + deps_list.append([_('Depends On') + ':', '\n'.join(pkg.depends)]) if pkg.optdepends: - deps_list.append(['Optional Deps:', '\n'.join(pkg.optdepends)]) + deps_list.append([_('Optional Deps') + ':', '\n'.join(pkg.optdepends)]) if style == 'local': if pkg.compute_requiredby(): - deps_list.append(['Required By:', '\n'.join(pkg.compute_requiredby())]) + deps_list.append([_('Required By')+':', '\n'.join(pkg.compute_requiredby())]) if pkg.provides: - details_list.append(['Provides:', ' '.join(pkg.provides)]) + details_list.append([_('Provides')+':', ' '.join(pkg.provides)]) if pkg.replaces: - details_list.append(['Replaces:', ' '.join(pkg.replaces)]) + details_list.append([_('Replaces')+':', ' '.join(pkg.replaces)]) if pkg.conflicts: - details_list.append(['Conflicts With:', ' '.join(pkg.conflicts)]) + details_list.append([_('Conflicts With')+':', ' '.join(pkg.conflicts)]) def set_details_list(pkg, style): details_list.clear() if style == 'sync': - details_list.append(['Repository:', pkg.db.name]) + details_list.append([_('Repository')+':', pkg.db.name]) if pkg.groups: - details_list.append(['Groups:', ' '.join(pkg.groups)]) + details_list.append([_('Groups')+':', ' '.join(pkg.groups)]) if style == 'sync': - details_list.append(['Compressed Size:', common.format_size(pkg.size)]) - details_list.append(['Download Size:', common.format_size(pkg.download_size)]) + details_list.append([_('Compressed Size')+':', common.format_size(pkg.size)]) + details_list.append([_('Download Size')+':', common.format_size(pkg.download_size)]) if style == 'local': - details_list.append(['Installed Size:', common.format_size(pkg.isize)]) - details_list.append(['Packager:', pkg.packager]) - details_list.append(['Architecture:', pkg.arch]) - #details_list.append(['Build Date:', strftime("%a %d %b %Y %X %Z", localtime(pkg.builddate))]) + details_list.append([_('Installed Size')+':', common.format_size(pkg.isize)]) + details_list.append([_('Packager')+':', pkg.packager]) + details_list.append([('Architecture')+':', pkg.arch]) + #details_list.append([_('Build Date')+':', strftime("%a %d %b %Y %X %Z", localtime(pkg.builddate))]) if style == 'local': - details_list.append(['Install Date:', strftime("%a %d %b %Y %X %Z", localtime(pkg.installdate))]) + details_list.append([_('Install Date')+':', strftime("%a %d %b %Y %X %Z", localtime(pkg.installdate))]) if pkg.reason == pyalpm.PKG_REASON_EXPLICIT: - reason = 'Explicitly installed' + reason = _('Explicitly installed') elif pkg.reason == pyalpm.PKG_REASON_DEPEND: - reason = 'Installed as a dependency for another package' + reason = _('Installed as a dependency for another package') else: - reason = 'N/A' - details_list.append(['Install Reason:', reason]) + reason = _('Unknown') + details_list.append([_('Install Reason')+':', reason]) if style == 'sync': - #details_list.append(['Install Script:', 'Yes' if pkg.has_scriptlet else 'No']) + #details_list.append([_('Install Script')':', 'Yes' if pkg.has_scriptlet else 'No']) #details_list.append(['MD5 Sum:', pkg.md5sum]) #details_list.append(['SHA256 Sum:', pkg.sha256sum]) - details_list.append(['Signatures:', 'Yes' if pkg.base64_sig else 'No']) + details_list.append([_('Signatures')+':', 'Yes' if pkg.base64_sig else 'No']) if style == 'local': if len(pkg.backup) != 0: - #details_list.append(['Backup files:', '\n'.join(["%s %s" % (md5, file) for (file, md5) in pkg.backup])]) - details_list.append(['Backup files:', '\n'.join(["%s" % (file) for (file, md5) in pkg.backup])]) + #details_list.append(['_(Backup files)+':', '\n'.join(["%s %s" % (md5, file) for (file, md5) in pkg.backup])]) + details_list.append([_('Backup files')+':', '\n'.join(["%s" % (file) for (file, md5) in pkg.backup])]) def set_files_list(pkg): files_list.clear() @@ -395,10 +404,10 @@ def set_files_list(pkg): def set_transaction_sum(): transaction_sum.clear() - sum_top_label.set_markup('Transaction Summary') + sum_top_label.set_markup(_('Transaction Summary')) if transaction.to_remove: transaction.to_remove = sorted(transaction.to_remove) - transaction_sum.append(['To remove:', transaction.to_remove[0]]) + transaction_sum.append([_('To remove')+':', transaction.to_remove[0]]) i = 1 while i < len(transaction.to_remove): transaction_sum.append([' ', transaction.to_remove[i]]) @@ -409,7 +418,7 @@ def set_transaction_sum(): dsize = 0 for name in transaction.to_add: dsize += transaction.syncpkgs[name].download_size - sum_bottom_label.set_markup('Total download size: '+common.format_size(dsize)) + sum_bottom_label.set_markup(_('Total download size: ')+common.format_size(dsize)) installed = [] for pkg_object in config.pacman_conf.initialize_alpm().get_localdb().pkgcache: installed.append(pkg_object.name) @@ -418,14 +427,14 @@ def set_transaction_sum(): for name in to_remove_from_add: transaction.to_add.remove(name) if transaction.to_add: - transaction_sum.append(['To install:', transaction.to_add[0]]) + transaction_sum.append([_('To install')+':', transaction.to_add[0]]) i = 1 while i < len(transaction.to_add): transaction_sum.append([' ', transaction.to_add[i]]) i += 1 if mode == 'manager': if transaction.to_update: - transaction_sum.append(['To update:', transaction.to_update[0]]) + transaction_sum.append([_('To update')+':', transaction.to_update[0]]) i = 1 while i < len(transaction.to_update): transaction_sum.append([' ', transaction.to_update[i]]) @@ -494,7 +503,7 @@ def do_refresh(): """Sync databases like pacman -Sy""" if transaction.t_lock is False: transaction.t_lock = True - progress_label.set_text('Refreshing...') + progress_label.set_text(_('Refreshing')+'...') action_icon.set_from_file('/usr/share/pamac/icons/24x24/status/refresh-cache.png') progress_bar.set_text('') progress_bar.set_fraction(0) @@ -510,7 +519,7 @@ def have_updates(): if not updates: update_listore.append(['', '']) update_bottom_label.set_markup('') - update_top_label.set_markup('No available update ') + update_top_label.set_markup(_('Your system is up-to-date')) return False else: dsize = 0 @@ -518,8 +527,11 @@ def have_updates(): pkgname = pkg.name+" "+pkg.version update_listore.append([pkgname, common.format_size(pkg.size)]) dsize += pkg.download_size - update_bottom_label.set_markup('Total download size: '+common.format_size(dsize)) - update_top_label.set_markup('{} available updates'.format(len(updates))) + update_bottom_label.set_markup(_('Total download size: ')+common.format_size(dsize)) + if len(updates) == 1: + update_top_label.set_markup(_('1 available update')) + else: + update_top_label.set_markup(_('{number} available updates').format(number = len(updates))) return True def do_sysupgrade(): @@ -581,7 +593,7 @@ def do_sysupgrade(): ConfDialog.show_all() def finalize(): - progress_label.set_text('Preparing...') + progress_label.set_text(_('Preparing')+'...') action_icon.set_from_file('/usr/share/pamac/icons/24x24/status/setup.png') progress_bar.set_text('') progress_bar.set_fraction(0) @@ -678,7 +690,7 @@ def check_conflicts(mode, pkg_list): transaction.to_remove.append(provide.name) if warning: warning += '\n' - warning += provide.name+' will be replaced by '+pkg.name + warning += _('{pkgname1} will be replaced by {pkgname2}').format(pkgname1 = provide.name, pkgname2 = pkg.name) for conflict in pkg.conflicts: provide = pyalpm.find_satisfier(transaction.localpkgs.values(), conflict) if provide: @@ -695,12 +707,12 @@ def check_conflicts(mode, pkg_list): str_required += item if error: error += '\n' - error += '{} conflicts with {} but cannot be removed because it is needed by {}'.format(provide.name, pkg.name, str_required) + error += _('{pkgname1} conflicts with {pkgname2} but cannot be removed because it is needed by {pkgname3}').format(pkgname1 = provide.name, pkgname2 = pkg.name, pkgname3 = str_required) elif not provide.name in transaction.to_remove: transaction.to_remove.append(provide.name) if warning: warning += '\n' - warning += pkg.name+' conflicts with '+provide.name + warning += _('{pkgname1} conflicts with {pkgname2}').format(pkgname1 = pkg.name, pkgname2 = provide.name) provide = pyalpm.find_satisfier(depends[0], conflict) if provide: if not common.format_pkg_name(conflict) == pkg.name: @@ -710,7 +722,7 @@ def check_conflicts(mode, pkg_list): transaction.to_add.remove(pkg.name) if warning: warning += '\n' - warning += pkg.name+' conflicts with '+common.format_pkg_name(conflict)+'\nNone of them will be installed' + warning += _('{pkgname1} conflicts with {pkgname2}\nNone of them will be installed').format(pkgname1 = pkg.name, pkgname2 = common.format_pkg_name(conflict)) i += 1 for pkg in transaction.localpkgs.values(): for conflict in pkg.conflicts: @@ -729,12 +741,12 @@ def check_conflicts(mode, pkg_list): str_required += item if error: error += '\n' - error += '{} conflicts with {} but cannot be removed because it is needed by {}'.format(provide.name, pkg.name, str_required) + error += _('{pkgname1} conflicts with {pkgname2} but cannot be removed because it is needed by {pkgname3}').format(pkgname1 = provide.name, pkgname2 = pkg.name, pkgname3 = str_required) elif not provide.name in transaction.to_remove: transaction.to_remove.append(pkg.name) if warning: warning += '\n' - warning += provide.name+' conflicts with '+pkg.name + warning += _('{pkgname1} conflicts with {pkgname2}').format(pkgname1= provide.name, pkgname2 = pkg.name) if mode == 'updating': for pkg in transaction.syncpkgs.values(): for replace in pkg.replaces: @@ -748,7 +760,7 @@ def check_conflicts(mode, pkg_list): transaction.to_remove.append(provide.name) if warning: warning += '\n' - warning += provide.name+' will be replaced by '+pkg.name + warning += _('{pkgname1} will be replaced by {pkgname2}').format(pkgname1 = provide.name, pkgname2 = pkg.name) if not pkg.name in transaction.to_add: transaction.to_add.append(pkg.name) print('check result:', 'to add:', transaction.to_add, 'to remove:', transaction.to_remove) @@ -769,7 +781,7 @@ def choose_provides(name): if not pkg.name in provides.keys(): provides[pkg.name] = pkg if provides: - choose_label.set_markup('{} is provided by {} packages.\nPlease choose the one(s) you want to install:'.format(name,str(len(provides.keys())))) + choose_label.set_markup(_('{pkgname} is provided by {number} packages.\nPlease choose the one(s) you want to install:').format(pkgname = name, number = str(len(provides.keys())))) choose_list.clear() for name in provides.keys(): if transaction.handle.get_localdb().get_pkg(name): @@ -795,7 +807,7 @@ class Handler: def on_Manager_ValidButton_clicked(self, *arg): if not transaction_dict: - transaction.ErrorDialog.format_secondary_text("No package is selected") + transaction.ErrorDialog.format_secondary_text(_('No package is selected')) response = transaction.ErrorDialog.run() if response: transaction.ErrorDialog.hide() @@ -836,7 +848,7 @@ class Handler: set_transaction_sum() ConfDialog.show_all() else: - transaction.WarningDialog.format_secondary_text('Nothing to do') + transaction.WarningDialog.format_secondary_text(_('Nothing to do')) response = transaction.WarningDialog.run() if response: transaction.WarningDialog.hide() @@ -910,15 +922,15 @@ class Handler: global current_filter liste, line = state_selection.get_selected() if line is not None: - if state_list[line][0] == 'Installed': + if state_list[line][0] == _('Installed'): current_filter = ('installed', None) - if state_list[line][0] == 'Uninstalled': + if state_list[line][0] == _('Uninstalled'): current_filter = ('uninstalled', None) - if state_list[line][0] == 'Orphans': + if state_list[line][0] == _('Orphans'): current_filter = ('orphans', None) - if state_list[line][0] == 'To install': + if state_list[line][0] == _('To install'): current_filter = ('to_install', None) - if state_list[line][0] == 'To remove': + if state_list[line][0] == _('To remove'): current_filter = ('to_remove', None) set_packages_list() @@ -926,7 +938,7 @@ class Handler: global current_filter liste, line = repos_selection.get_selected() if line is not None: - if repos_list[line][0] == 'local': + if repos_list[line][0] == _('local'): current_filter = ('local', None) else: current_filter = ('repo', repos_list[line][0]) @@ -1019,7 +1031,7 @@ class Handler: def main(_mode): if common.pid_file_exists(): - transaction.ErrorDialog.format_secondary_text('Another instance of Pamac is running') + transaction.ErrorDialog.format_secondary_text(_('Pamac is already running')) response = transaction.ErrorDialog.run() if response: transaction.ErrorDialog.hide() @@ -1035,7 +1047,7 @@ def main(_mode): if mode == 'manager': ManagerWindow.show_all() if mode == 'updater': - update_top_label.set_markup('Available updates') + update_top_label.set_markup(_('Your system is up-to-date')) update_bottom_label.set_markup('') UpdaterWindow.show_all() while Gtk.events_pending(): diff --git a/pamac/transaction.py b/pamac/transaction.py index 4f396b2..d281ace 100644 --- a/pamac/transaction.py +++ b/pamac/transaction.py @@ -1,5 +1,5 @@ #! /usr/bin/python -# -*-coding:utf-8-*- +# -*- coding:utf-8 -*- from gi.repository import Gtk @@ -63,7 +63,6 @@ Release = proxy.get_dbus_method('Release','org.manjaro.pamac') StopDaemon = proxy.get_dbus_method('StopDaemon','org.manjaro.pamac') def init_transaction(**options): - "Transaction initialization" global t_lock error = Init(dbus.Dictionary(options, signature='sb')) if not error: diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..5654ad5 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,345 @@ +# Translation of Pamac. +# Copyright (C) 2007-2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the Pamac package. +# Guillaume Benoit , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: pamac\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-03-31 18:55+0200\n" +"PO-Revision-Date: 2013-03-30 15:18+0100\n" +"Last-Translator: \n" +"Language-Team: French\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: pamac-daemon.py:30 pamac/main.py:594 +msgid "Preparing" +msgstr "Préparation" + +#: pamac-daemon.py:69 +msgid "Checking dependencies" +msgstr "Vérification des dépendances" + +#: pamac-daemon.py:72 +msgid "Checking file conflicts" +msgstr "Analyse des conflits entre fichiers" + +#: pamac-daemon.py:75 +msgid "Resolving dependencies" +msgstr "Résolution des dépendances" + +#: pamac-daemon.py:78 +msgid "Checking inter conflicts" +msgstr "Recherche des conflits entre paquets" + +#: pamac-daemon.py:81 pamac/main.py:73 +msgid "Installing" +msgstr "Installation" + +#: pamac-daemon.py:88 pamac/main.py:73 +msgid "Removing" +msgstr "Désinstallation" + +#: pamac-daemon.py:95 pamac/main.py:73 +msgid "Upgrading" +msgstr "Mise à jour" + +#: pamac-daemon.py:102 +msgid "Checking integrity" +msgstr "Vérification de l'intégrité des paquets" + +#: pamac-daemon.py:106 +msgid "Loading packages files" +msgstr "Chargement des fichiers des paquets" + +#: pamac-daemon.py:110 pamac/main.py:73 +msgid "Configuring" +msgstr "Configuration" + +#: pamac-daemon.py:162 +msgid "Downloading {size}" +msgstr "Télécharge {size}" + +#: pamac-daemon.py:167 pamac/main.py:504 +msgid "Refreshing" +msgstr "Actualisation" + +#: pamac-daemon.py:270 pamac-daemon.py:378 pamac-daemon.py:386 +#: pamac-daemon.py:408 +msgid "Authentication failed" +msgstr "Authentification échoué" + +#: pamac-daemon.py:374 +msgid "Transaction successfully finished" +msgstr "Transaction terminé avec succès" + +#: pamac-tray.py:22 +msgid "{number} available updates" +msgstr "{number} mises à jour disponibles" + +#: pamac-tray.py:23 +msgid "1 available update" +msgstr "1 mise à jour disponible" + +#: pamac-tray.py:25 +msgid "Your system is up-to-date" +msgstr "Votre système est à jour" + +#: pamac-tray.py:33 +msgid "Install/Check for updates" +msgstr "Installer/Vérifier les mises à jour" + +#: pamac-tray.py:36 +msgid "Run pamac-manager" +msgstr "Exécuter pamac-manager" + +#: pamac-tray.py:39 +msgid "Quit" +msgstr "Quitter" + +#: pamac/main.py:110 pamac/main.py:923 +msgid "Installed" +msgstr "Installé" + +#: pamac/main.py:110 pamac/main.py:925 +msgid "Uninstalled" +msgstr "Non installé" + +#: pamac/main.py:110 pamac/main.py:927 +msgid "Orphans" +msgstr "Orphelins" + +#: pamac/main.py:110 pamac/main.py:428 pamac/main.py:929 +msgid "To install" +msgstr "A installer" + +#: pamac/main.py:110 pamac/main.py:408 pamac/main.py:931 +msgid "To remove" +msgstr "A désinstaller" + +#: pamac/main.py:129 pamac/main.py:939 +msgid "local" +msgstr "locaux" + +#: pamac/main.py:295 +msgid "No package found" +msgstr "Aucun paquet trouvé" + +#: pamac/main.py:346 +msgid "Licenses" +msgstr "Licenses" + +#: pamac/main.py:351 +msgid "Depends On" +msgstr "Dépend de" + +#: pamac/main.py:353 +msgid "Optional Deps" +msgstr "Dépendances opt." + +#: pamac/main.py:356 +msgid "Required By" +msgstr "Requis par" + +#: pamac/main.py:358 +msgid "Provides" +msgstr "Fourni" + +#: pamac/main.py:360 +msgid "Replaces" +msgstr "Remplace" + +#: pamac/main.py:362 +msgid "Conflicts With" +msgstr "Est conflit avec" + +#: pamac/main.py:367 +msgid "Repository" +msgstr "Dépôt" + +#: pamac/main.py:369 gui/manager.glade:539 +msgid "Groups" +msgstr "Groupes" + +#: pamac/main.py:371 +msgid "Compressed Size" +msgstr "Taille compressée" + +#: pamac/main.py:372 +msgid "Download Size" +msgstr "Taille du Téléchargement" + +#: pamac/main.py:374 +msgid "Installed Size" +msgstr "Taille installé" + +#: pamac/main.py:375 +msgid "Packager" +msgstr "Paqueteur" + +#: pamac/main.py:379 +msgid "Install Date" +msgstr "Installé le" + +#: pamac/main.py:381 +msgid "Explicitly installed" +msgstr "Explicitement installé" + +#: pamac/main.py:383 +msgid "Installed as a dependency for another package" +msgstr "Installé comme dépendance d'un autre paquet" + +#: pamac/main.py:385 +msgid "Unknown" +msgstr "Inconnu" + +#: pamac/main.py:386 +msgid "Install Reason" +msgstr "Motif d'installation" + +#: pamac/main.py:391 +msgid "Signatures" +msgstr "Signatures" + +#: pamac/main.py:395 +msgid "Backup files" +msgstr "Fichiers sauvegardés" + +#: pamac/main.py:405 +msgid "Transaction Summary" +msgstr "Résumé de la transaction" + +#: pamac/main.py:419 pamac/main.py:528 +msgid "Total download size: " +msgstr "Taille totale du téléchargement: " + +#: pamac/main.py:435 +msgid "To update" +msgstr "A mettre à jour" + +#: pamac/main.py:520 pamac/main.py:1048 +msgid "Your system is up-to-date" +msgstr "Votre système est à jour" + +#: pamac/main.py:530 +msgid "1 available update" +msgstr "1 mise à jour disponible" + +#: pamac/main.py:532 +msgid "{number} available updates" +msgstr "{number} mises à jour disponibles" + +#: pamac/main.py:691 pamac/main.py:761 +msgid "{pkgname1} will be replaced by {pkgname2}" +msgstr "{pkgname1} sera remplacé par {pkgname2}" + +#: pamac/main.py:708 pamac/main.py:742 +msgid "" +"{pkgname1} conflicts with {pkgname2} but cannot be removed because it is " +"needed by {pkgname3}" +msgstr "" +"{pkgname1} est en conflit avec {pkgname2} mais ne peut pas être désinstaller " +"car il est requis par {pkgname3}" + +#: pamac/main.py:713 pamac/main.py:747 +msgid "{pkgname1} conflicts with {pkgname2}" +msgstr "{pkgname1} est en conflit avec {pkgname2}" + +#: pamac/main.py:723 +msgid "" +"{pkgname1} conflicts with {pkgname2}\n" +"None of them will be installed" +msgstr "" +"{pkgname1} est en conflit avec {pkgname2}}\n" +"Aucun d'entre eux ne sera installé" + +#: pamac/main.py:782 +msgid "" +"{pkgname} is provided by {number} packages.\n" +"Please choose the one(s) you want to install:" +msgstr "" +"{pkgname} est fourni par {number} paquets.\n" +"Choisir choose the one(s) you want to install:" + +#: pamac/main.py:808 +msgid "No package is selected" +msgstr "Aucun paquet n'est sélectionné" + +#: pamac/main.py:849 +msgid "Nothing to do" +msgstr "Rien à faire" + +#: pamac/main.py:1032 +msgid "Pamac is already running" +msgstr "Pamac est déjà en cours d'éxécution" + +#: pamac/common.py:13 +#, python-format +msgid "%.1f KiB" +msgstr "%.1f Ko" + +#: pamac/common.py:16 +#, python-format +msgid "%.2f MiB" +msgstr "%.2f Mo" + +#: gui/manager.glade:7 +msgid "Choose" +msgstr "Choisir" + +#: gui/manager.glade:112 +msgid "Summary" +msgstr "Résumé" + +#: gui/manager.glade:256 +msgid "Progress" +msgstr "Progression" + +#: gui/manager.glade:402 +msgid "Package Manager" +msgstr "Gestionnaire de paquets" + +#: gui/manager.glade:492 +msgid "Search" +msgstr "Rechercher" + +#: gui/manager.glade:587 gui/manager.glade:680 +msgid "State" +msgstr "Etat" + +#: gui/manager.glade:635 +msgid "Repos" +msgstr "Dépôts" + +#: gui/manager.glade:710 +msgid "Name" +msgstr "Nom" + +#: gui/manager.glade:728 +msgid "Size" +msgstr "Taille" + +#: gui/manager.glade:829 +msgid "Infos" +msgstr "Infos" + +#: gui/manager.glade:889 +msgid "Deps" +msgstr "Dépendances" + +#: gui/manager.glade:954 +msgid "Details" +msgstr "Détails" + +#: gui/manager.glade:1002 +msgid "Files" +msgstr "Fichiers" + +#: gui/updater.glade:6 +msgid "Update Manager" +msgstr "Gestionnaire de mise à jour" diff --git a/po/manager.pot b/po/manager.pot deleted file mode 100644 index b9ca37f..0000000 --- a/po/manager.pot +++ /dev/null @@ -1,78 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-03-29 16:23+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: gui/manager.glade:7 -msgid "Choose" -msgstr "" - -#: gui/manager.glade:889 -msgid "Deps" -msgstr "" - -#: gui/manager.glade:954 -msgid "Details" -msgstr "" - -#: gui/manager.glade:1002 -msgid "Files" -msgstr "" - -#: gui/manager.glade:539 -msgid "Groups" -msgstr "" - -#: gui/manager.glade:829 -msgid "Infos" -msgstr "" - -#: gui/manager.glade:680 -msgid "Installed" -msgstr "" - -#: gui/manager.glade:710 -msgid "Name" -msgstr "" - -#: gui/manager.glade:402 -msgid "Package Manager" -msgstr "" - -#: gui/manager.glade:256 -msgid "Progress" -msgstr "" - -#: gui/manager.glade:635 -msgid "Repos" -msgstr "" - -#: gui/manager.glade:492 -msgid "Search" -msgstr "" - -#: gui/manager.glade:728 -msgid "Size" -msgstr "" - -#: gui/manager.glade:587 -msgid "State" -msgstr "" - -#: gui/manager.glade:112 -msgid "Summary" -msgstr "" diff --git a/po/updater.pot b/po/updater.pot deleted file mode 100644 index 70c0ab0..0000000 --- a/po/updater.pot +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-03-30 05:46+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: gui/updater.glade:6 -msgid "Update Manager" -msgstr "" diff --git a/pot_head b/pot_head new file mode 100644 index 0000000..c829bf2 --- /dev/null +++ b/pot_head @@ -0,0 +1,18 @@ +# Translation of Pamac. +# Copyright (C) 2007-2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the Pamac package. +# Guillaume Benoit , 2013. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pamac\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-03-30 15:09+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n"