translation support added
This commit is contained in:
parent
3a3e9b14a5
commit
84865bcd9f
3
create_pot_file.sh
Executable file
3
create_pot_file.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#! /bin/sh
|
||||
|
||||
xgettext --from-code=UTF-8 --files-from=./files_to_translate --keyword=translatable --keyword=_ --output=pamac.pot
|
@ -4,10 +4,11 @@
|
||||
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
|
||||
<policyconfig>
|
||||
<vendor>Manjaro</vendor>
|
||||
<icon_name>pamac</icon_name>
|
||||
<vendor_url>http://manjaro.org/</vendor_url>
|
||||
<icon_name>package-x-generic</icon_name>
|
||||
<action id="org.manjaro.pamac.commit">
|
||||
<message>Authentication is required to change alpm database</message>
|
||||
<message xml:lang="fr">L'authentification est nécessaire pour changer la base de données alpm</message>
|
||||
<message>Authentication is required</message>
|
||||
<message xml:lang="fr">Authentification nécessaire</message>
|
||||
<defaults>
|
||||
<allow_any>no</allow_any>
|
||||
<allow_inactive>no</allow_inactive>
|
||||
|
6
files_to_translate
Normal file
6
files_to_translate
Normal file
@ -0,0 +1,6 @@
|
||||
./pamac-daemon.py
|
||||
./pamac-tray.py
|
||||
./pamac/main.py
|
||||
./pamac/common.py
|
||||
./gui/manager.glade
|
||||
./gui/updater.glade
|
@ -677,7 +677,7 @@
|
||||
<object class="GtkTreeViewColumn" id="installed_column">
|
||||
<property name="resizable">True</property>
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Installed</property>
|
||||
<property name="title" translatable="yes">State</property>
|
||||
<property name="clickable">True</property>
|
||||
<property name="sort_indicator">True</property>
|
||||
<property name="sort_column_id">1</property>
|
||||
|
@ -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):
|
@ -3,19 +3,26 @@
|
||||
|
||||
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
|
339
pamac.pot
Normal file
339
pamac.pot
Normal file
@ -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 <guillaume@manjaro.org>, 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 <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\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 "<big><b>Transaction Summary</b></big>"
|
||||
msgstr ""
|
||||
|
||||
#: pamac/main.py:419 pamac/main.py:528
|
||||
msgid "<b>Total download size: </b>"
|
||||
msgstr ""
|
||||
|
||||
#: pamac/main.py:435
|
||||
msgid "To update"
|
||||
msgstr ""
|
||||
|
||||
#: pamac/main.py:520 pamac/main.py:1048
|
||||
msgid "<big><b>Your system is up-to-date</b></big>"
|
||||
msgstr ""
|
||||
|
||||
#: pamac/main.py:530
|
||||
msgid "<big><b>1 available update</b></big>"
|
||||
msgstr ""
|
||||
|
||||
#: pamac/main.py:532
|
||||
msgid "<big><b>{number} available updates</b></big>"
|
||||
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 ""
|
||||
"<b>{pkgname} is provided by {number} packages.\n"
|
||||
"Please choose the one(s) you want to install:</b>"
|
||||
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 ""
|
@ -1,13 +1,19 @@
|
||||
#! /usr/bin/python
|
||||
# -*- 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):
|
||||
|
124
pamac/main.py
124
pamac/main.py
@ -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('<a href=\"{_url}\">{_url}</a>'.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('<big><b>Transaction Summary</b></big>')
|
||||
sum_top_label.set_markup(_('<big><b>Transaction Summary</b></big>'))
|
||||
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('<b>Total download size: </b>'+common.format_size(dsize))
|
||||
sum_bottom_label.set_markup(_('<b>Total download size: </b>')+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('<big><b>No available update </b></big>')
|
||||
update_top_label.set_markup(_('<big><b>Your system is up-to-date</b></big>'))
|
||||
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('<b>Total download size: </b>'+common.format_size(dsize))
|
||||
update_top_label.set_markup('<big><b>{} available updates</b></big>'.format(len(updates)))
|
||||
update_bottom_label.set_markup(_('<b>Total download size: </b>')+common.format_size(dsize))
|
||||
if len(updates) == 1:
|
||||
update_top_label.set_markup(_('<big><b>1 available update</b></big>'))
|
||||
else:
|
||||
update_top_label.set_markup(_('<big><b>{number} available updates</b></big>').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('<b>{} is provided by {} packages.\nPlease choose the one(s) you want to install:</b>'.format(name,str(len(provides.keys()))))
|
||||
choose_label.set_markup(_('<b>{pkgname} is provided by {number} packages.\nPlease choose the one(s) you want to install:</b>').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('<big><b>Available updates</b></big>')
|
||||
update_top_label.set_markup(_('<big><b>Your system is up-to-date</b></big>'))
|
||||
update_bottom_label.set_markup('')
|
||||
UpdaterWindow.show_all()
|
||||
while Gtk.events_pending():
|
||||
|
@ -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:
|
||||
|
345
po/fr.po
Normal file
345
po/fr.po
Normal file
@ -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 <guillaume@manjaro.org>, 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: <guillaume@manjaro.org>\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 "<big><b>Transaction Summary</b></big>"
|
||||
msgstr "<big><b>Résumé de la transaction</b></big>"
|
||||
|
||||
#: pamac/main.py:419 pamac/main.py:528
|
||||
msgid "<b>Total download size: </b>"
|
||||
msgstr "<b>Taille totale du téléchargement: </b>"
|
||||
|
||||
#: pamac/main.py:435
|
||||
msgid "To update"
|
||||
msgstr "A mettre à jour"
|
||||
|
||||
#: pamac/main.py:520 pamac/main.py:1048
|
||||
msgid "<big><b>Your system is up-to-date</b></big>"
|
||||
msgstr "<big><b>Votre système est à jour</b></big>"
|
||||
|
||||
#: pamac/main.py:530
|
||||
msgid "<big><b>1 available update</b></big>"
|
||||
msgstr "<big><b>1 mise à jour disponible</b></big>"
|
||||
|
||||
#: pamac/main.py:532
|
||||
msgid "<big><b>{number} available updates</b></big>"
|
||||
msgstr "<big><b>{number} mises à jour disponibles</b></big>"
|
||||
|
||||
#: 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 ""
|
||||
"<b>{pkgname} is provided by {number} packages.\n"
|
||||
"Please choose the one(s) you want to install:</b>"
|
||||
msgstr ""
|
||||
"<b>{pkgname} est fourni par {number} paquets.\n"
|
||||
"Choisir choose the one(s) you want to install:</b>"
|
||||
|
||||
#: 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"
|
@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\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 ""
|
@ -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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\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 ""
|
18
pot_head
Normal file
18
pot_head
Normal file
@ -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 <guillaume@manjaro.org>, 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 <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
Loading…
Reference in New Issue
Block a user