mirror of
https://gitlab.gnome.org/World/Authenticator.git
synced 2025-03-05 17:20:57 +01:00
Merge branch 'spring-clean' into 'master'
src: clean main directory See merge request World/Authenticator!122
This commit is contained in:
commit
dd18c0d76a
79 changed files with 9591 additions and 7683 deletions
|
@ -5,7 +5,7 @@ trim_trailing_whitespace = true
|
|||
insert_final_newline = true
|
||||
charset = utf-8
|
||||
|
||||
[*.py]
|
||||
[*.{py,py.in}]
|
||||
indent_size = 4
|
||||
|
||||
[*.build]
|
||||
|
|
|
@ -1,30 +1,24 @@
|
|||
stages:
|
||||
- flatpak
|
||||
include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'
|
||||
|
||||
variables:
|
||||
BUNDLE: "authenticator-git.flatpak"
|
||||
GIT_SUBMODULE_STRATEGY: normal
|
||||
|
||||
BUNDLE: "authenticator-dev.flatpak"
|
||||
|
||||
flatpak:
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master
|
||||
stage: flatpak
|
||||
image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master'
|
||||
variables:
|
||||
MANIFEST_PATH: "build-aux/com.github.bilelmoussaoui.Authenticator.json"
|
||||
RUNTIME_REPO: "https://sdk.gnome.org/gnome-nightly.flatpakrepo"
|
||||
FLATPAK_MODULE: "Authenticator"
|
||||
script:
|
||||
- flatpak-builder --stop-at=${FLATPAK_MODULE} app ${MANIFEST_PATH}
|
||||
- flatpak build app meson -Dprofile=development --prefix=/app ${MESON_ARGS} _build
|
||||
- flatpak build app ninja -C _build install
|
||||
- flatpak-builder --finish-only --repo=repo app ${MANIFEST_PATH}
|
||||
- flatpak build-export repo app
|
||||
- flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} com.github.bilelmoussaoui.AuthenticatorDevel
|
||||
artifacts:
|
||||
paths:
|
||||
- ${BUNDLE}
|
||||
- _build/meson-logs/meson-log.txt
|
||||
expire_in: 30 days
|
||||
cache:
|
||||
paths:
|
||||
- .flatpak-builder/cache
|
||||
MESON_ARGS: "-Dprofile=development"
|
||||
RUNTIME_REPO: "https://sdk.gnome.org/gnome-nightly.flatpakrepo"
|
||||
APP_ID: "com.github.bilelmoussaoui.AuthenticatorDevel"
|
||||
extends: .flatpak
|
||||
|
||||
review:
|
||||
stage: deploy
|
||||
dependencies:
|
||||
- 'flatpak'
|
||||
extends: '.review'
|
||||
|
||||
stop_review:
|
||||
stage: deploy
|
||||
extends: '.stop_review'
|
||||
|
|
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
|||
[submodule "subprojects/libgd"]
|
||||
path = subprojects/libgd
|
||||
url = https://gitlab.gnome.org/GNOME/libgd.git
|
|
@ -1,288 +0,0 @@
|
|||
"""
|
||||
Copyright © 2017 Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>
|
||||
|
||||
This file is part of Authenticator.
|
||||
|
||||
Authenticator is free software: you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Authenticator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
import json
|
||||
from gettext import gettext as _
|
||||
|
||||
from gi import require_version
|
||||
|
||||
require_version("Gtk", "3.0")
|
||||
require_version('Gd', '1.0')
|
||||
|
||||
from gi.repository import Gd, Gio, Gtk, GObject, Gdk
|
||||
|
||||
from ..headerbar import HeaderBarButton
|
||||
from ...models import OTP
|
||||
from ...utils import load_pixbuf_from_provider
|
||||
|
||||
|
||||
class AddAccountWindow(Gtk.Window):
|
||||
"""Add Account Window."""
|
||||
|
||||
def __init__(self):
|
||||
Gtk.Window.__init__(self)
|
||||
self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT)
|
||||
self.set_size_request(400, 600)
|
||||
self.resize(400, 600)
|
||||
self._build_widgets()
|
||||
self.connect('key_press_event', self._on_key_press)
|
||||
|
||||
def _build_widgets(self):
|
||||
"""Create the Add Account widgets."""
|
||||
# Header Bar
|
||||
header_bar = Gtk.HeaderBar()
|
||||
header_bar.set_show_close_button(False)
|
||||
header_bar.set_title(_("Add a new account"))
|
||||
self.set_titlebar(header_bar)
|
||||
# Next btn
|
||||
self.add_btn = Gtk.Button()
|
||||
self.add_btn.set_label(_("Add"))
|
||||
self.add_btn.connect("clicked", self._on_add)
|
||||
self.add_btn.get_style_context().add_class("suggested-action")
|
||||
self.add_btn.set_sensitive(False)
|
||||
header_bar.pack_end(self.add_btn)
|
||||
|
||||
# QR code scan btn
|
||||
self.scan_btn = HeaderBarButton("qrscanner-symbolic",
|
||||
_("Scan QR code"))
|
||||
self.scan_btn.connect("clicked", self._on_scan)
|
||||
header_bar.pack_end(self.scan_btn)
|
||||
|
||||
# Back btn
|
||||
self.close_btn = Gtk.Button()
|
||||
self.close_btn.set_label(_("Close"))
|
||||
self.close_btn.connect("clicked", self._on_quit)
|
||||
|
||||
header_bar.pack_start(self.close_btn)
|
||||
|
||||
self.account_config = AccountConfig()
|
||||
self.account_config.connect("changed", self._on_account_config_changed)
|
||||
|
||||
self.add(self.account_config)
|
||||
|
||||
def _on_scan(self, *_):
|
||||
"""
|
||||
QR Scan button clicked signal handler.
|
||||
"""
|
||||
if self.account_config:
|
||||
self.account_config.scan_qr()
|
||||
|
||||
def _on_account_config_changed(self, _, state):
|
||||
"""Set the sensitivity of the AddButton depends on the AccountConfig."""
|
||||
self.add_btn.set_sensitive(state)
|
||||
|
||||
def _on_quit(self, *_):
|
||||
self.destroy()
|
||||
|
||||
def _on_add(self, *_):
|
||||
from .list import AccountsWidget
|
||||
from ...models import AccountsManager, Account
|
||||
account_obj = self.account_config.account
|
||||
account = Account.create(account_obj["username"], account_obj["provider"], account_obj["token"])
|
||||
AccountsManager.get_default().add(account)
|
||||
AccountsWidget.get_default().append(account)
|
||||
self._on_quit()
|
||||
|
||||
def _on_key_press(self, _, event):
|
||||
_, key_val = event.get_keyval()
|
||||
modifiers = event.get_state()
|
||||
|
||||
if key_val == Gdk.KEY_Escape:
|
||||
self._on_quit()
|
||||
|
||||
# CTRL + Q
|
||||
if modifiers == Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.MOD2_MASK:
|
||||
if key_val == Gdk.KEY_q:
|
||||
self._on_scan()
|
||||
|
||||
|
||||
class AccountConfig(Gtk.Box, GObject.GObject):
|
||||
__gsignals__ = {
|
||||
'changed': (GObject.SignalFlags.RUN_LAST, None, (bool,)),
|
||||
}
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL)
|
||||
GObject.GObject.__init__(self)
|
||||
|
||||
self.is_edit = kwargs.get("edit", False)
|
||||
self._account = kwargs.get("account", None)
|
||||
|
||||
self._providers_store = Gtk.ListStore(str, str)
|
||||
|
||||
self.logo_img = Gtk.Image()
|
||||
self.username_entry = Gtk.Entry()
|
||||
self.provider_combo = Gtk.ComboBox.new_with_model_and_entry(
|
||||
self._providers_store)
|
||||
self.token_entry = Gtk.Entry()
|
||||
self._build_widgets()
|
||||
self._fill_data()
|
||||
|
||||
@property
|
||||
def account(self):
|
||||
"""
|
||||
Return an instance of Account for the new account.
|
||||
"""
|
||||
account = {
|
||||
"username": self.username_entry.get_text(),
|
||||
"provider": self.provider_combo.get_child().get_text()
|
||||
}
|
||||
|
||||
if not self.is_edit:
|
||||
# remove spaces
|
||||
token = self.token_entry.get_text()
|
||||
account["token"] = "".join(token.split())
|
||||
return account
|
||||
|
||||
def _build_widgets(self):
|
||||
|
||||
container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
container.set_border_width(36)
|
||||
|
||||
self.provider_combo.set_entry_text_column(0)
|
||||
self.provider_combo.connect("changed", self._on_provider_changed)
|
||||
# Set up auto completion
|
||||
self.provider_entry = self.provider_combo.get_child()
|
||||
self.provider_entry.set_placeholder_text(_("Provider"))
|
||||
|
||||
completion = Gtk.EntryCompletion()
|
||||
completion.set_model(self._providers_store)
|
||||
completion.set_text_column(0)
|
||||
|
||||
self.provider_entry.set_completion(completion)
|
||||
if self._account:
|
||||
self.provider_entry.set_text(self._account.provider)
|
||||
|
||||
self.username_entry.set_placeholder_text(_("Account name"))
|
||||
self.username_entry.connect("changed", self._validate)
|
||||
if self._account:
|
||||
self.username_entry.set_text(self._account.username)
|
||||
|
||||
if not self.is_edit:
|
||||
self.token_entry.set_placeholder_text(_("Secret token"))
|
||||
self.token_entry.set_visibility(False)
|
||||
self.token_entry.connect("changed", self._validate)
|
||||
|
||||
# To set the empty logo
|
||||
|
||||
if self._account:
|
||||
pixbuf = load_pixbuf_from_provider(self._account.provider, 96)
|
||||
else:
|
||||
pixbuf = load_pixbuf_from_provider(None, 96)
|
||||
|
||||
self.logo_img.set_from_pixbuf(pixbuf)
|
||||
|
||||
container.pack_start(self.logo_img, False, False, 6)
|
||||
if not self.is_edit:
|
||||
container.pack_end(self.token_entry, False, False, 6)
|
||||
container.pack_end(self.username_entry, False, False, 6)
|
||||
container.pack_end(self.provider_combo, False, False, 6)
|
||||
|
||||
self.pack_start(container, False, False, 6)
|
||||
|
||||
def _on_provider_changed(self, combo):
|
||||
tree_iter = combo.get_active_iter()
|
||||
if tree_iter is not None:
|
||||
model = combo.get_model()
|
||||
logo = model[tree_iter][-1]
|
||||
else:
|
||||
entry = combo.get_child()
|
||||
logo = entry.get_text()
|
||||
self._validate()
|
||||
self.logo_img.set_from_pixbuf(load_pixbuf_from_provider(logo, 96))
|
||||
|
||||
def _fill_data(self):
|
||||
uri = 'resource:///com/github/bilelmoussaoui/Authenticator/data.json'
|
||||
g_file = Gio.File.new_for_uri(uri)
|
||||
content = str(g_file.load_contents(None)[1].decode("utf-8"))
|
||||
data = json.loads(content)
|
||||
data = sorted([(name, logo) for name, logo in data.items()],
|
||||
key=lambda account: account[0].lower())
|
||||
for entry in data:
|
||||
name, logo = entry
|
||||
self._providers_store.append([name, logo])
|
||||
|
||||
def _validate(self, *_):
|
||||
"""Validate the username and the token."""
|
||||
provider = self.provider_combo.get_child().get_text()
|
||||
username = self.username_entry.get_text()
|
||||
token = "".join(self.token_entry.get_text().split())
|
||||
|
||||
if not username:
|
||||
self.username_entry.get_style_context().add_class("error")
|
||||
valid_name = False
|
||||
else:
|
||||
self.username_entry.get_style_context().remove_class("error")
|
||||
valid_name = True
|
||||
|
||||
if not provider:
|
||||
self.provider_combo.get_style_context().add_class("error")
|
||||
valid_provider = False
|
||||
else:
|
||||
self.provider_combo.get_style_context().remove_class("error")
|
||||
valid_provider = True
|
||||
|
||||
if (not token or not OTP.is_valid(token)) and not self.is_edit:
|
||||
self.token_entry.get_style_context().add_class("error")
|
||||
valid_token = False
|
||||
else:
|
||||
self.token_entry.get_style_context().remove_class("error")
|
||||
valid_token = True
|
||||
|
||||
self.emit("changed", all([valid_name, valid_provider, valid_token]))
|
||||
|
||||
def scan_qr(self):
|
||||
"""
|
||||
Scans a QRCode and fills the entries with the correct data.
|
||||
"""
|
||||
from ...models import QRReader, GNOMEScreenshot
|
||||
filename = GNOMEScreenshot.area()
|
||||
if filename:
|
||||
qr_reader = QRReader(filename)
|
||||
secret = qr_reader.read()
|
||||
if qr_reader.ZBAR_FOUND:
|
||||
if not qr_reader.is_valid():
|
||||
self.__send_notification(_("Invalid QR code"))
|
||||
else:
|
||||
self.token_entry.set_text(secret)
|
||||
if qr_reader.provider is not None:
|
||||
self.provider_entry.set_text(qr_reader.provider)
|
||||
if qr_reader.username is not None:
|
||||
self.username_entry.set_text(qr_reader.username)
|
||||
else:
|
||||
self.__send_notification(_("zbar library is not found. "
|
||||
"QRCode scanner will be disabled"))
|
||||
|
||||
def __send_notification(self, message):
|
||||
"""
|
||||
Show a notification using Gd.Notification.
|
||||
:param message: the notification message
|
||||
:type message: str
|
||||
"""
|
||||
notification = Gd.Notification()
|
||||
notification.set_show_close_button(True)
|
||||
notification.set_timeout(5)
|
||||
|
||||
notification_lbl = Gtk.Label()
|
||||
notification_lbl.set_text(message)
|
||||
|
||||
notification.add(notification_lbl)
|
||||
|
||||
self.add(notification)
|
||||
self.reorder_child(notification, 0)
|
||||
self.show_all()
|
|
@ -1,208 +0,0 @@
|
|||
"""
|
||||
Copyright © 2017 Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>
|
||||
|
||||
This file is part of Authenticator.
|
||||
|
||||
Authenticator is free software: you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Authenticator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gettext import gettext as _
|
||||
|
||||
from gi import require_version
|
||||
|
||||
require_version("Gtk", "3.0")
|
||||
from gi.repository import Gio, Gtk, GObject, Pango
|
||||
|
||||
from .edit import EditAccountWindow
|
||||
|
||||
|
||||
class ActionButton(Gtk.Button):
|
||||
|
||||
def __init__(self, icon_name, tooltip):
|
||||
Gtk.Button.__init__(self)
|
||||
self._build_widget(icon_name, tooltip)
|
||||
|
||||
def _build_widget(self, icon_name, tooltip):
|
||||
icon = Gio.ThemedIcon(name=icon_name)
|
||||
image = Gtk.Image.new_from_gicon(icon,
|
||||
Gtk.IconSize.BUTTON)
|
||||
self.set_tooltip_text(tooltip)
|
||||
self.set_image(image)
|
||||
|
||||
def hide(self):
|
||||
self.set_visible(False)
|
||||
self.set_no_show_all(True)
|
||||
|
||||
def show(self):
|
||||
self.set_visible(True)
|
||||
self.set_no_show_all(False)
|
||||
|
||||
|
||||
class ActionsBox(Gtk.Box):
|
||||
"""
|
||||
AccountRow's Actions Box
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
Gtk.Box.__init__(self, orientation=Gtk.Orientation.HORIZONTAL,
|
||||
spacing=6)
|
||||
self.copy_btn = ActionButton("edit-copy-symbolic", _("Copy"))
|
||||
self.edit_btn = ActionButton("document-edit-symbolic", _("Edit"))
|
||||
self._build_widget()
|
||||
|
||||
def _build_widget(self):
|
||||
"""Build ActionsBox widgets."""
|
||||
self.pack_start(self.copy_btn, False, False, 0)
|
||||
self.pack_start(self.edit_btn, False, False, 0)
|
||||
|
||||
|
||||
class AccountRow(Gtk.ListBoxRow, GObject.GObject):
|
||||
"""
|
||||
AccountRow widget.
|
||||
"""
|
||||
|
||||
__gsignals__ = {
|
||||
'on_selected': (GObject.SignalFlags.RUN_LAST, None, ()),
|
||||
}
|
||||
|
||||
def __init__(self, account):
|
||||
"""
|
||||
:param account: Account
|
||||
"""
|
||||
Gtk.ListBoxRow.__init__(self)
|
||||
self.get_style_context().add_class("account-row")
|
||||
self._account = account
|
||||
self.check_btn = Gtk.CheckButton()
|
||||
|
||||
self._account.connect("otp_updated", self._on_pin_updated)
|
||||
self._build_widget()
|
||||
self.show_all()
|
||||
|
||||
@property
|
||||
def account(self):
|
||||
"""
|
||||
The account related to the AccountRow
|
||||
|
||||
:return: Account Object
|
||||
"""
|
||||
return self._account
|
||||
|
||||
@property
|
||||
def checked(self):
|
||||
"""
|
||||
Whether the CheckButton is active or not.
|
||||
:return: bool
|
||||
"""
|
||||
return self.check_btn.get_active()
|
||||
|
||||
def _build_widget(self):
|
||||
"""Build the Account Row widget."""
|
||||
container = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL,
|
||||
spacing=6)
|
||||
|
||||
container.pack_start(self.check_btn, False, False, 3)
|
||||
self.check_btn.set_visible(False)
|
||||
self.check_btn.get_style_context().add_class("account-row-checkbtn")
|
||||
self.check_btn.connect("toggled", self._check_btn_toggled)
|
||||
self.check_btn.set_no_show_all(True)
|
||||
|
||||
# Account Name & Two factor code:
|
||||
info_container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
|
||||
# Account Name
|
||||
self.username_lbl = Gtk.Label(label=self.account.username)
|
||||
self.username_lbl.set_tooltip_text(self.account.username)
|
||||
self.username_lbl.set_ellipsize(Pango.EllipsizeMode.END)
|
||||
self.username_lbl.set_halign(Gtk.Align.START)
|
||||
self.username_lbl.get_style_context().add_class("username")
|
||||
|
||||
info_container.pack_start(self.username_lbl, False, False, 0)
|
||||
info_container.set_valign(Gtk.Align.CENTER)
|
||||
container.pack_start(info_container, True, True, 6)
|
||||
|
||||
# Actions container
|
||||
actions = ActionsBox()
|
||||
actions.copy_btn.connect("clicked", self._on_copy)
|
||||
actions.edit_btn.connect("clicked", self._on_edit)
|
||||
actions.set_valign(Gtk.Align.CENTER)
|
||||
container.pack_end(actions, False, False, 0)
|
||||
|
||||
# Secret code
|
||||
otp_container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
pin = self.account.otp.pin
|
||||
self.pin_label = Gtk.Label()
|
||||
self.pin_label.set_halign(Gtk.Align.START)
|
||||
if pin:
|
||||
self.pin_label.set_text(pin)
|
||||
else:
|
||||
self.pin_label.set_text("??????")
|
||||
self.pin_label.set_tooltip_text(
|
||||
_("Couldn't generate the secret code"))
|
||||
self.pin_label.get_style_context().add_class("token-label")
|
||||
|
||||
otp_container.pack_start(self.pin_label, False, False, 6)
|
||||
otp_container.set_valign(Gtk.Align.CENTER)
|
||||
otp_container.set_halign(Gtk.Align.START)
|
||||
container.pack_end(otp_container, False, False, 6)
|
||||
|
||||
self.add(container)
|
||||
|
||||
def _check_btn_toggled(self, *_):
|
||||
"""
|
||||
CheckButton signal Handler.
|
||||
"""
|
||||
self.emit("on_selected")
|
||||
|
||||
def _on_copy(self, *_):
|
||||
"""
|
||||
Copy button clicked signal handler.
|
||||
Copies the OTP pin to the clipboard
|
||||
"""
|
||||
self._account.copy_pin()
|
||||
|
||||
def _on_edit(self, *_):
|
||||
"""
|
||||
Edit Button clicked signal handler.
|
||||
Opens a new Window to edit the current account.
|
||||
"""
|
||||
from ..window import Window
|
||||
edit_window = EditAccountWindow(self._account)
|
||||
edit_window.set_transient_for(Window.get_default())
|
||||
edit_window.connect("updated", self._on_update)
|
||||
edit_window.show_all()
|
||||
edit_window.present()
|
||||
|
||||
def _on_update(self, _, username, provider):
|
||||
"""
|
||||
On account update signal handler.
|
||||
Updates the account username and provider
|
||||
|
||||
:param username: the new account's username
|
||||
:type username: str
|
||||
|
||||
:param provider: the new account's provider
|
||||
:type provider: str
|
||||
"""
|
||||
self.username_lbl.set_text(username)
|
||||
self.account.update(username, provider)
|
||||
|
||||
def _on_pin_updated(self, _, pin):
|
||||
"""
|
||||
Updates the pin label each time a new OTP is generated.
|
||||
otp_updated signal handler.
|
||||
|
||||
:param pin: the new OTP
|
||||
:type pin: str
|
||||
"""
|
||||
if pin:
|
||||
self.pin_label.set_text(pin)
|
|
@ -1,64 +0,0 @@
|
|||
"""
|
||||
Copyright © 2017 Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>
|
||||
|
||||
This file is part of Authenticator.
|
||||
|
||||
Authenticator is free software: you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Authenticator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gettext import gettext as _
|
||||
|
||||
from gi import require_version
|
||||
|
||||
require_version("Gtk", "3.0")
|
||||
from gi.repository import Gtk
|
||||
|
||||
|
||||
class ActionsBar(Gtk.ActionBar):
|
||||
"""
|
||||
ActionsBar Widget
|
||||
"""
|
||||
|
||||
# Default instance of ActionsBar
|
||||
instance = None
|
||||
|
||||
def __init__(self):
|
||||
Gtk.ActionBar.__init__(self)
|
||||
self._build_widgets()
|
||||
self.show_all()
|
||||
self.set_visible(False)
|
||||
self.set_no_show_all(True)
|
||||
|
||||
@staticmethod
|
||||
def get_default():
|
||||
if ActionsBar.instance is None:
|
||||
ActionsBar.instance = ActionsBar()
|
||||
return ActionsBar.instance
|
||||
|
||||
def _build_widgets(self):
|
||||
"""
|
||||
Build the ActionsBar widgets.
|
||||
"""
|
||||
self.delete_btn = Gtk.Button(label=_("Delete"))
|
||||
self.delete_btn.set_sensitive(False)
|
||||
self.pack_end(self.delete_btn)
|
||||
|
||||
def on_selected_rows_changed(self, _, selected_rows):
|
||||
"""
|
||||
Set the sensitivity of the delete button depending
|
||||
on the total selected rows
|
||||
|
||||
:param selected_rows: the total number of selected rows
|
||||
:type selected_rows: int
|
||||
"""
|
||||
self.delete_btn.set_sensitive(selected_rows > 0)
|
|
@ -1,199 +0,0 @@
|
|||
"""
|
||||
Copyright © 2017 Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>
|
||||
|
||||
This file is part of Authenticator.
|
||||
|
||||
Authenticator is free software: you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Authenticator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from abc import abstractmethod, ABCMeta
|
||||
|
||||
from gi import require_version
|
||||
|
||||
require_version("Gtk", "3.0")
|
||||
from gi.repository import Gtk, Gio
|
||||
from gettext import gettext as _
|
||||
|
||||
from ..models import Database
|
||||
|
||||
|
||||
class HeaderBarState:
|
||||
EMPTY = 0
|
||||
NORMAL = 2
|
||||
SELECT = 3
|
||||
LOCKED = 4
|
||||
|
||||
|
||||
class HeaderBarBtn:
|
||||
__metaclass__ = ABCMeta
|
||||
|
||||
def __init__(self, icon_name, tooltip):
|
||||
self._build(icon_name, tooltip)
|
||||
|
||||
@abstractmethod
|
||||
def set_image(self, image):
|
||||
"""Set an image"""
|
||||
|
||||
@abstractmethod
|
||||
def set_tooltip_text(self, tooltip):
|
||||
"""Set the tooltip text"""
|
||||
|
||||
def _build(self, icon_name, tooltip):
|
||||
"""
|
||||
:param icon_name:
|
||||
:param tooltip:
|
||||
"""
|
||||
icon = Gio.ThemedIcon(name=icon_name)
|
||||
image = Gtk.Image.new_from_gicon(icon,
|
||||
Gtk.IconSize.BUTTON)
|
||||
self.set_tooltip_text(tooltip)
|
||||
self.set_image(image)
|
||||
|
||||
def hide_(self):
|
||||
"""Set a button visible or not?."""
|
||||
self.set_visible(False)
|
||||
self.set_no_show_all(True)
|
||||
|
||||
def show_(self):
|
||||
self.set_visible(True)
|
||||
self.set_no_show_all(False)
|
||||
|
||||
|
||||
class HeaderBarButton(Gtk.Button, HeaderBarBtn):
|
||||
"""HeaderBar Button widget"""
|
||||
|
||||
def __init__(self, icon_name, tooltip):
|
||||
Gtk.Button.__init__(self)
|
||||
HeaderBarBtn.__init__(self, icon_name, tooltip)
|
||||
|
||||
|
||||
class HeaderBarToggleButton(Gtk.ToggleButton, HeaderBarBtn):
|
||||
"""HeaderBar Toggle Button widget"""
|
||||
|
||||
def __init__(self, icon_name, tooltip):
|
||||
Gtk.ToggleButton.__init__(self)
|
||||
HeaderBarBtn.__init__(self, icon_name, tooltip)
|
||||
|
||||
|
||||
class HeaderBar(Gtk.HeaderBar):
|
||||
"""
|
||||
HeaderBar widget
|
||||
"""
|
||||
instance = None
|
||||
state = HeaderBarState.NORMAL
|
||||
|
||||
def __init__(self):
|
||||
Gtk.HeaderBar.__init__(self)
|
||||
|
||||
self.search_btn = HeaderBarToggleButton("system-search-symbolic",
|
||||
_("Search"))
|
||||
self.add_btn = HeaderBarButton("list-add-symbolic",
|
||||
_("Add a new account"))
|
||||
self.settings_btn = HeaderBarButton("open-menu-symbolic",
|
||||
_("Settings"))
|
||||
self.select_btn = HeaderBarButton("object-select-symbolic",
|
||||
_("Selection mode"))
|
||||
|
||||
self.cancel_btn = Gtk.Button(label=_("Cancel"))
|
||||
|
||||
self.popover = None
|
||||
|
||||
self._build_widgets()
|
||||
|
||||
@staticmethod
|
||||
def get_default():
|
||||
"""
|
||||
:return: Default instance of HeaderBar
|
||||
"""
|
||||
if HeaderBar.instance is None:
|
||||
HeaderBar.instance = HeaderBar()
|
||||
return HeaderBar.instance
|
||||
|
||||
def _build_widgets(self):
|
||||
"""
|
||||
Generate the HeaderBar widgets
|
||||
"""
|
||||
self.set_show_close_button(True)
|
||||
|
||||
left_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)
|
||||
right_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL,
|
||||
spacing=6)
|
||||
|
||||
# Hide the search button if nothing is found
|
||||
if Database.get_default().count > 0:
|
||||
self.search_btn.show_()
|
||||
else:
|
||||
self.search_btn.hide_()
|
||||
|
||||
left_box.add(self.add_btn)
|
||||
|
||||
right_box.pack_start(self.search_btn, False, False, 0)
|
||||
right_box.pack_start(self.select_btn, False, False, 0)
|
||||
right_box.pack_start(self.cancel_btn, False, False, 0)
|
||||
right_box.pack_end(self.settings_btn, False, False, 0)
|
||||
|
||||
self.pack_start(left_box)
|
||||
self.pack_end(right_box)
|
||||
|
||||
def generate_popover_menu(self, menu):
|
||||
self.settings_btn.connect("clicked", self.toggle_popover)
|
||||
self.popover = Gtk.Popover.new_from_model(self.settings_btn,
|
||||
menu)
|
||||
self.popover.props.width_request = 200
|
||||
|
||||
def toggle_popover(self, *_):
|
||||
if self.popover:
|
||||
if self.popover.get_visible():
|
||||
self.popover.hide()
|
||||
else:
|
||||
self.popover.show_all()
|
||||
|
||||
def toggle_settings_button(self, visible):
|
||||
self.settings_button.set_visible(visible)
|
||||
self.settings_button.set_no_show_all(not visible)
|
||||
|
||||
def set_state(self, state):
|
||||
if state != HeaderBarState.SELECT:
|
||||
self.cancel_btn.set_visible(False)
|
||||
self.cancel_btn.set_no_show_all(True)
|
||||
if state == HeaderBarState.EMPTY:
|
||||
self.add_btn.show_()
|
||||
self.search_btn.hide_()
|
||||
self.select_btn.hide_()
|
||||
self.settings_btn.show_()
|
||||
elif state == HeaderBarState.SELECT:
|
||||
self.search_btn.show_()
|
||||
self.add_btn.hide_()
|
||||
self.select_btn.hide_()
|
||||
self.set_show_close_button(False)
|
||||
self.get_style_context().add_class("selection-mode")
|
||||
self.cancel_btn.set_visible(True)
|
||||
self.cancel_btn.set_no_show_all(False)
|
||||
self.settings_btn.hide_()
|
||||
self.set_title(_("Click on items to select them"))
|
||||
elif state == HeaderBarState.LOCKED:
|
||||
self.add_btn.hide_()
|
||||
self.select_btn.hide_()
|
||||
self.search_btn.hide_()
|
||||
self.cancel_btn.set_visible(False)
|
||||
self.cancel_btn.set_no_show_all(True)
|
||||
else:
|
||||
self.search_btn.show_()
|
||||
self.add_btn.show_()
|
||||
self.select_btn.show_()
|
||||
self.settings_btn.show_()
|
||||
if self.state == HeaderBarState.SELECT:
|
||||
self.get_style_context().remove_class("selection-mode")
|
||||
self.set_show_close_button(True)
|
||||
self.set_title("")
|
||||
self.state = state
|
|
@ -1,94 +0,0 @@
|
|||
"""
|
||||
Copyright © 2017 Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>
|
||||
|
||||
This file is part of Authenticator.
|
||||
|
||||
Authenticator is free software: you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Authenticator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gettext import gettext as _
|
||||
|
||||
from gi import require_version
|
||||
require_version("Gtk", "3.0")
|
||||
from gi.repository import Gtk, Gio
|
||||
|
||||
|
||||
|
||||
class LoginWidget(Gtk.Box):
|
||||
instance = None
|
||||
|
||||
def __init__(self):
|
||||
Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL)
|
||||
|
||||
self.login_btn = Gtk.Button()
|
||||
self._password_entry = Gtk.Entry()
|
||||
|
||||
self._build_widgets()
|
||||
|
||||
@staticmethod
|
||||
def get_default():
|
||||
if LoginWidget.instance is None:
|
||||
LoginWidget.instance = LoginWidget()
|
||||
return LoginWidget.instance
|
||||
|
||||
def _build_widgets(self):
|
||||
self.set_border_width(36)
|
||||
self.set_halign(Gtk.Align.CENTER)
|
||||
self.set_valign(Gtk.Align.FILL)
|
||||
|
||||
info_container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
info_container.set_valign(Gtk.Align.START)
|
||||
|
||||
gicon = Gio.ThemedIcon(name="dialog-password-symbolic")
|
||||
image = Gtk.Image.new_from_gicon(gicon, Gtk.IconSize.DIALOG)
|
||||
|
||||
label = Gtk.Label()
|
||||
label.set_text(_("Authenticator is locked"))
|
||||
label.get_style_context().add_class("loginwidget-mainlabel")
|
||||
|
||||
sub_label = Gtk.Label()
|
||||
sub_label.set_text(_("Enter password to unlock"))
|
||||
sub_label.get_style_context().add_class("loginwidget-sublabel")
|
||||
|
||||
info_container.pack_start(image, False, False, 6)
|
||||
info_container.pack_start(label, False, False, 3)
|
||||
info_container.pack_start(sub_label, False, False, 3)
|
||||
|
||||
password_container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
|
||||
self._password_entry.set_placeholder_text(_("Type your password here"))
|
||||
self._password_entry.set_visibility(False)
|
||||
self._password_entry.grab_focus_without_selecting()
|
||||
|
||||
self.login_btn.set_label(_("Unlock"))
|
||||
|
||||
password_container.pack_start(self._password_entry, False, False, 3)
|
||||
password_container.pack_start(self.login_btn, False, False, 3)
|
||||
password_container.set_valign(Gtk.Align.CENTER)
|
||||
|
||||
self.pack_start(info_container, False, False, 3)
|
||||
self.pack_start(password_container, True, False, 3)
|
||||
|
||||
def set_has_error(self, has_errors):
|
||||
if has_errors:
|
||||
self._password_entry.get_style_context().add_class("error")
|
||||
else:
|
||||
self._password_entry.get_style_context().remove_class("error")
|
||||
|
||||
@property
|
||||
def password(self):
|
||||
return self._password_entry.get_text()
|
||||
|
||||
@password.setter
|
||||
def password(self, new_password):
|
||||
self._password_entry.set_text(new_password)
|
|
@ -1,84 +0,0 @@
|
|||
"""
|
||||
Copyright © 2017 Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>
|
||||
|
||||
This file is part of Authenticator.
|
||||
|
||||
Authenticator is free software: you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Authenticator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gi import require_version
|
||||
|
||||
require_version("Gtk", "3.0")
|
||||
from gi.repository import Gtk, GObject
|
||||
|
||||
|
||||
class SearchBar(Gtk.SearchBar):
|
||||
"""
|
||||
Search Bar widget.
|
||||
"""
|
||||
_search_button = None
|
||||
|
||||
def __init__(self, search_button=None, search_list=[]):
|
||||
Gtk.SearchBar.__init__(self)
|
||||
self.search_list = search_list
|
||||
self.search_entry = Gtk.SearchEntry()
|
||||
self.search_button = search_button
|
||||
self._build_widgets()
|
||||
|
||||
@property
|
||||
def search_button(self):
|
||||
return self._search_button
|
||||
|
||||
@search_button.setter
|
||||
def search_button(self, widget):
|
||||
if widget:
|
||||
self._search_button = widget
|
||||
self.bind_property("search-mode-enabled", self._search_button,
|
||||
"active", GObject.BindingFlags.BIDIRECTIONAL)
|
||||
|
||||
def _build_widgets(self):
|
||||
"""
|
||||
Build the SearchBar widgets
|
||||
"""
|
||||
self.search_entry.set_width_chars(28)
|
||||
self.search_entry.connect("search-changed",
|
||||
self.set_filter_func,
|
||||
self.filter_func)
|
||||
self.connect_entry(self.search_entry)
|
||||
self.add(self.search_entry)
|
||||
|
||||
@staticmethod
|
||||
def filter_func(row, data, *_):
|
||||
"""
|
||||
Filter function, used to check if the entered data exists on the application ListBox
|
||||
"""
|
||||
data = data.lower()
|
||||
if len(data) > 0:
|
||||
return (
|
||||
data in row.account.username.lower()
|
||||
or
|
||||
data in row.account.provider.lower()
|
||||
)
|
||||
else:
|
||||
return True
|
||||
|
||||
def set_filter_func(self, entry, filter_func):
|
||||
"""
|
||||
Filter the data of a listbox from an entry
|
||||
:param entry: Gtk.Entry
|
||||
:param filter_func: The function to use as filter
|
||||
"""
|
||||
data = entry.get_text().strip()
|
||||
for search_list in self.search_list:
|
||||
search_list.set_filter_func(filter_func,
|
||||
data, False)
|
|
@ -1,309 +0,0 @@
|
|||
"""
|
||||
Copyright © 2017 Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>
|
||||
|
||||
This file is part of Authenticator.
|
||||
|
||||
Authenticator is free software: you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Authenticator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
|
||||
from gettext import gettext as _
|
||||
|
||||
from gi import require_version
|
||||
|
||||
require_version('Gd', '1.0')
|
||||
require_version("Gtk", "3.0")
|
||||
from gi.repository import Gd, Gtk, GObject
|
||||
from .window import Window
|
||||
from ..models import Settings, Keyring
|
||||
|
||||
|
||||
class ClickableSettingsBox(Gtk.EventBox):
|
||||
|
||||
def __init__(self, label, sub_label=None):
|
||||
Gtk.EventBox.__init__(self)
|
||||
|
||||
# cursor = Gdk.Cursor(Gdk.CursorType.WATCH)
|
||||
# self.get_window().set_cursor(cursor)
|
||||
self._build_widgets(label, sub_label)
|
||||
|
||||
def _build_widgets(self, label, sub_label=None):
|
||||
container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
container.get_style_context().add_class("settings-box")
|
||||
|
||||
main_lbl = Gtk.Label()
|
||||
main_lbl.set_halign(Gtk.Align.START)
|
||||
main_lbl.get_style_context().add_class("settings-box-main-label")
|
||||
main_lbl.set_text(label)
|
||||
container.pack_start(main_lbl, True, True, 3)
|
||||
self.secondary_lbl = Gtk.Label()
|
||||
self.secondary_lbl.set_halign(Gtk.Align.START)
|
||||
self.secondary_lbl.get_style_context().add_class("settings-box-secondary-label")
|
||||
if sub_label:
|
||||
self.secondary_lbl.set_text(sub_label)
|
||||
else:
|
||||
self.secondary_lbl.set_text("")
|
||||
container.pack_start(self.secondary_lbl, True, True, 3)
|
||||
|
||||
self.add(container)
|
||||
|
||||
|
||||
class SwitchSettingsBox(Gtk.Box, GObject.GObject):
|
||||
__gsignals__ = {
|
||||
'changed': (GObject.SignalFlags.RUN_LAST, None, (bool,))
|
||||
}
|
||||
|
||||
def __init__(self, label, sub_label, schema):
|
||||
Gtk.Box.__init__(self, orientation=Gtk.Orientation.HORIZONTAL)
|
||||
GObject.GObject.__init__(self)
|
||||
self.switch = Gtk.Switch()
|
||||
self._schema = schema
|
||||
self._build_widgets(label, sub_label)
|
||||
|
||||
def _build_widgets(self, label, sub_label):
|
||||
self.get_style_context().add_class("settings-box")
|
||||
|
||||
self.switch.set_state(Settings.get_default().get_boolean(self._schema))
|
||||
self.switch.connect("state-set", self.__on_toggled)
|
||||
|
||||
label_container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
main_lbl = Gtk.Label()
|
||||
main_lbl.set_halign(Gtk.Align.START)
|
||||
main_lbl.get_style_context().add_class("settings-box-main-label")
|
||||
main_lbl.set_text(label)
|
||||
label_container.pack_start(main_lbl, False, False, 3)
|
||||
secondary_lbl = Gtk.Label()
|
||||
secondary_lbl.set_halign(Gtk.Align.START)
|
||||
secondary_lbl.get_style_context().add_class("settings-box-secondary-label")
|
||||
secondary_lbl.set_text(sub_label)
|
||||
label_container.pack_start(secondary_lbl, False, False, 3)
|
||||
|
||||
self.pack_start(label_container, False, False, 0)
|
||||
|
||||
switch_container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
switch_container.pack_start(self.switch, False, False, 0)
|
||||
switch_container.set_valign(Gtk.Align.CENTER)
|
||||
self.pack_end(switch_container, False, False, 0)
|
||||
|
||||
def __on_toggled(self, *_):
|
||||
Settings.get_default().set_boolean(self._schema, not self.switch.get_state())
|
||||
self.emit("changed", not self.switch.get_state())
|
||||
|
||||
|
||||
class SettingsBoxWithEntry(Gtk.Box):
|
||||
|
||||
def __init__(self, label, is_password=False):
|
||||
Gtk.Box.__init__(self, orientation=Gtk.Orientation.HORIZONTAL)
|
||||
self.get_style_context().add_class("settings-box")
|
||||
self.entry = Gtk.Entry()
|
||||
if is_password:
|
||||
self.entry.set_visibility(False)
|
||||
self._build_widgets(label)
|
||||
|
||||
def _build_widgets(self, label):
|
||||
entry_label = Gtk.Label()
|
||||
entry_label.set_text(label)
|
||||
entry_label.get_style_context().add_class("settings-box-main-label")
|
||||
entry_label.set_halign(Gtk.Align.START)
|
||||
|
||||
self.pack_start(entry_label, True, True, 6)
|
||||
self.pack_end(self.entry, False, False, 6)
|
||||
|
||||
|
||||
class PasswordWindow(Gtk.Window):
|
||||
|
||||
def __init__(self):
|
||||
Gtk.Window.__init__(self)
|
||||
self.set_modal(True)
|
||||
self.set_size_request(500, 400)
|
||||
self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT)
|
||||
self.resize(500, 400)
|
||||
self.set_resizable(False)
|
||||
self.set_border_width(36)
|
||||
self.old_password = None
|
||||
self._apply_btn = Gtk.Button()
|
||||
self._build_widgets()
|
||||
|
||||
def _build_widgets(self):
|
||||
header_bar = Gtk.HeaderBar()
|
||||
header_bar.set_title(_("Authentication Password"))
|
||||
header_bar.set_show_close_button(True)
|
||||
self.set_titlebar(header_bar)
|
||||
|
||||
self._apply_btn.set_label(_("Save"))
|
||||
self._apply_btn.connect("clicked", self.__on_apply_button_clicked)
|
||||
self._apply_btn.set_sensitive(False)
|
||||
self._apply_btn.get_style_context().add_class("suggested-action")
|
||||
|
||||
header_bar.pack_end(self._apply_btn)
|
||||
|
||||
container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
if Keyring.has_password():
|
||||
self.old_password = SettingsBoxWithEntry(_("Old Password"), True)
|
||||
self.old_password.entry.connect("changed", self._validate)
|
||||
container.pack_start(self.old_password, False, False, 6)
|
||||
|
||||
self.password = SettingsBoxWithEntry(_("Password"), True)
|
||||
self.password.entry.connect("changed", self._validate)
|
||||
|
||||
self.repeat_password = SettingsBoxWithEntry(_("Repeat Password"), True)
|
||||
self.repeat_password.entry.connect("changed", self._validate)
|
||||
|
||||
container.pack_start(self.password, False, False, 6)
|
||||
container.pack_start(self.repeat_password, False, False, 6)
|
||||
|
||||
self.add(container)
|
||||
|
||||
def _validate(self, *_):
|
||||
password = self.password.entry.get_text()
|
||||
repeat_password = self.repeat_password.entry.get_text()
|
||||
if not password:
|
||||
self.password.entry.get_style_context().add_class("error")
|
||||
valid_password = False
|
||||
else:
|
||||
self.password.entry.get_style_context().remove_class("error")
|
||||
valid_password = True
|
||||
|
||||
if not repeat_password or password != repeat_password:
|
||||
self.repeat_password.entry.get_style_context().add_class("error")
|
||||
valid_repeat_password = False
|
||||
else:
|
||||
self.repeat_password.entry.get_style_context().remove_class("error")
|
||||
valid_repeat_password = True
|
||||
|
||||
to_validate = [valid_password, valid_repeat_password]
|
||||
|
||||
if self.old_password:
|
||||
old_password = self.old_password.entry.get_text()
|
||||
if not old_password or old_password != Keyring.get_password():
|
||||
self.old_password.entry.get_style_context().add_class("error")
|
||||
valid_old_password = False
|
||||
else:
|
||||
self.old_password.entry.get_style_context().remove_class("error")
|
||||
valid_old_password = True
|
||||
to_validate.append(valid_old_password)
|
||||
|
||||
self._apply_btn.set_sensitive(all(to_validate))
|
||||
|
||||
def __on_apply_button_clicked(self, *_):
|
||||
if self._apply_btn.get_sensitive():
|
||||
password = self.password.entry.get_text()
|
||||
Keyring.set_password(password)
|
||||
self.destroy()
|
||||
|
||||
|
||||
class SettingsWindow(Gtk.Window):
|
||||
|
||||
def __init__(self):
|
||||
Gtk.Window.__init__(self)
|
||||
self.set_transient_for(Window.get_default())
|
||||
self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT)
|
||||
self.set_size_request(600, 600)
|
||||
self.set_title(_("Settings"))
|
||||
self.resize(600, 600)
|
||||
|
||||
self.stack_switcher = Gtk.StackSwitcher()
|
||||
self.stack = Gtk.Stack()
|
||||
|
||||
self._build_widgets()
|
||||
|
||||
def _build_widgets(self):
|
||||
header_bar = Gtk.HeaderBar()
|
||||
header_bar.set_show_close_button(True)
|
||||
self.set_titlebar(header_bar)
|
||||
header_bar.set_custom_title(self.stack_switcher)
|
||||
self.stack_switcher.set_stack(self.stack)
|
||||
self.stack.get_style_context().add_class("settings-main-container")
|
||||
|
||||
appearance_container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
dark_theme = SwitchSettingsBox(_("Dark theme"), _("Use a dark theme, if possible"), "night-mode")
|
||||
dark_theme.connect("changed", self.__on_dark_theme_changed)
|
||||
appearance_container.pack_start(dark_theme, False, False, 0)
|
||||
self.stack.add_titled(appearance_container, "appearance", _("Appearance"))
|
||||
|
||||
behaviour_container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
|
||||
clear_database = ClickableSettingsBox(_("Clear the database"), _("Erase existing accounts"))
|
||||
clear_database.connect("button-press-event", self.__on_clear_database_clicked)
|
||||
|
||||
app_can_be_locked = SwitchSettingsBox(_("Lock the application"),
|
||||
_("Possibility to lock the application with a password"), "can-be-locked")
|
||||
app_can_be_locked.connect("changed", self.__on_app_can_be_locked_changed)
|
||||
|
||||
app_password = ClickableSettingsBox(_("Authentication password"),
|
||||
_("Set up application authentication password"))
|
||||
app_password.connect("button-press-event", self.__on_app_set_password)
|
||||
|
||||
behaviour_container.pack_start(clear_database, False, False, 0)
|
||||
behaviour_container.pack_start(app_can_be_locked, False, False, 0)
|
||||
behaviour_container.pack_start(app_password, False, False, 0)
|
||||
self.stack.add_titled(behaviour_container, "behaviour", _("Behaviour"))
|
||||
|
||||
self.add(self.stack)
|
||||
|
||||
def __on_app_can_be_locked_changed(self, __, state):
|
||||
notification = Gd.Notification()
|
||||
notification.set_timeout(5)
|
||||
|
||||
notification_lbl = Gtk.Label()
|
||||
notification_lbl.set_text(_("The application needs to be restarted first."))
|
||||
|
||||
notification.add(notification_lbl)
|
||||
notification_parent = self.stack.get_child_by_name("behaviour")
|
||||
notification_parent.add(notification)
|
||||
notification_parent.reorder_child(notification, 0)
|
||||
self.show_all()
|
||||
|
||||
if state and not Keyring.has_password():
|
||||
self.__on_app_set_password()
|
||||
|
||||
def __on_app_set_password(self, *_):
|
||||
password_window = PasswordWindow()
|
||||
password_window.set_transient_for(self)
|
||||
password_window.show_all()
|
||||
|
||||
@staticmethod
|
||||
def __on_dark_theme_changed(_, state):
|
||||
gtk_settings = Gtk.Settings.get_default()
|
||||
gtk_settings.set_property("gtk-application-prefer-dark-theme",
|
||||
state)
|
||||
|
||||
def __on_clear_database_clicked(self, *__):
|
||||
notification = Gd.Notification()
|
||||
notification.set_timeout(5)
|
||||
notification.connect("dismissed", self.__clear_database)
|
||||
container = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)
|
||||
|
||||
notification_lbl = Gtk.Label()
|
||||
notification_lbl.set_text(_("The existing accounts will be erased in 5 seconds"))
|
||||
container.pack_start(notification_lbl, False, False, 3)
|
||||
|
||||
undo_btn = Gtk.Button()
|
||||
undo_btn.set_label(_("Undo"))
|
||||
undo_btn.connect("clicked", lambda widget: notification.hide())
|
||||
container.pack_end(undo_btn, False, False, 3)
|
||||
|
||||
notification.add(container)
|
||||
notification_parent = self.stack.get_child_by_name("behaviour")
|
||||
notification_parent.add(notification)
|
||||
notification_parent.reorder_child(notification, 0)
|
||||
self.show_all()
|
||||
|
||||
@staticmethod
|
||||
def __clear_database(*_):
|
||||
from ..models import Database, Keyring, AccountsManager
|
||||
from ..widgets.accounts import AccountsWidget
|
||||
Database.get_default().clear()
|
||||
Keyring.get_default().clear()
|
||||
AccountsManager.get_default().clear()
|
||||
AccountsWidget.get_default().clear()
|
|
@ -1,256 +0,0 @@
|
|||
"""
|
||||
Copyright © 2017 Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>
|
||||
|
||||
This file is part of Authenticator.
|
||||
|
||||
Authenticator is free software: you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Authenticator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gettext import gettext as _
|
||||
|
||||
from gi import require_version
|
||||
require_version('Gd', '1.0')
|
||||
require_version("Gtk", "3.0")
|
||||
from gi.repository import Gd, Gtk, GObject, Gio
|
||||
from ..models import Logger, Settings, Database, AccountsManager
|
||||
from .headerbar import HeaderBar, HeaderBarState
|
||||
from .accounts import AccountsWidget, AccountsListState, AddAccountWindow, EmptyAccountsList
|
||||
from .search_bar import SearchBar
|
||||
from .actions_bar import ActionsBar
|
||||
from . import LoginWidget
|
||||
|
||||
|
||||
class Window(Gtk.ApplicationWindow, GObject.GObject):
|
||||
"""Main Window object."""
|
||||
__gsignals__ = {
|
||||
'changed': (GObject.SignalFlags.RUN_LAST, None, (bool,)),
|
||||
'locked': (GObject.SignalFlags.RUN_LAST, None, ()),
|
||||
'unlocked': (GObject.SignalFlags.RUN_LAST, None, ())
|
||||
}
|
||||
|
||||
# Default Window instance
|
||||
instance = None
|
||||
|
||||
is_empty = GObject.Property(type=bool, default=False)
|
||||
|
||||
def __init__(self):
|
||||
Gtk.ApplicationWindow.__init__(self, type=Gtk.WindowType.TOPLEVEL)
|
||||
self.set_icon_name("@APP_ID@")
|
||||
self.get_style_context().add_class("authenticator-window")
|
||||
self.resize(550, 600)
|
||||
self.connect("locked", self.__on_locked)
|
||||
self.connect("unlocked", self.__on_unlocked)
|
||||
self.key_press_signal = None
|
||||
self.restore_state()
|
||||
AccountsManager.get_default()
|
||||
self._build_widgets()
|
||||
self.show_all()
|
||||
|
||||
@staticmethod
|
||||
def get_default():
|
||||
"""Return the default instance of Window."""
|
||||
if Window.instance is None:
|
||||
Window.instance = Window()
|
||||
return Window.instance
|
||||
|
||||
def close(self):
|
||||
self.save_state()
|
||||
AccountsManager.get_default().kill()
|
||||
self.destroy()
|
||||
|
||||
def set_menu(self, gio_menu):
|
||||
"""Set Headerbar popover menu."""
|
||||
HeaderBar.get_default().generate_popover_menu(gio_menu)
|
||||
|
||||
def add_account(self, *_):
|
||||
if not self.get_application().is_locked:
|
||||
add_window = AddAccountWindow()
|
||||
add_window.set_transient_for(self)
|
||||
add_window.show_all()
|
||||
add_window.present()
|
||||
|
||||
def update_view(self, *_):
|
||||
header_bar = HeaderBar.get_default()
|
||||
count = Database.get_default().count
|
||||
self.set_property("is-empty", count == 0)
|
||||
if not self.is_empty:
|
||||
child_name = "accounts-list"
|
||||
header_bar.set_state(HeaderBarState.NORMAL)
|
||||
else:
|
||||
header_bar.set_state(HeaderBarState.EMPTY)
|
||||
child_name = "empty-accounts-list"
|
||||
child = self.main_stack.get_child_by_name(child_name)
|
||||
child.show_all()
|
||||
self.main_stack.set_visible_child(child)
|
||||
|
||||
@staticmethod
|
||||
def toggle_select(*_):
|
||||
"""
|
||||
Toggle select mode
|
||||
"""
|
||||
header_bar = HeaderBar.get_default()
|
||||
accounts_widget = AccountsWidget.get_default()
|
||||
if header_bar.state == HeaderBarState.NORMAL:
|
||||
header_bar.set_state(HeaderBarState.SELECT)
|
||||
accounts_widget.set_state(AccountsListState.SELECT)
|
||||
elif header_bar.state != HeaderBarState.LOCKED:
|
||||
header_bar.set_state(HeaderBarState.NORMAL)
|
||||
accounts_widget.set_state(AccountsListState.NORMAL)
|
||||
|
||||
def toggle_search(self, *_):
|
||||
if not (self.get_application().is_locked or self.is_empty):
|
||||
toggled = not self.search_bar.get_property("search_mode_enabled")
|
||||
self.search_bar.set_property("search_mode_enabled", toggled)
|
||||
|
||||
def save_state(self):
|
||||
"""Save window position & size."""
|
||||
settings = Settings.get_default()
|
||||
settings.window_position = self.get_position()
|
||||
settings.window_maximized = self.is_maximized()
|
||||
|
||||
def restore_state(self):
|
||||
"""Restore the window's state."""
|
||||
settings = Settings.get_default()
|
||||
# Restore the window position
|
||||
position_x, position_y = settings.window_position
|
||||
if position_x != 0 and position_y != 0:
|
||||
self.move(position_x, position_y)
|
||||
Logger.debug("[Window] Restore position x: {}, y: {}".format(position_x,
|
||||
position_y))
|
||||
else:
|
||||
# Fallback to the center
|
||||
self.set_position(Gtk.WindowPosition.CENTER)
|
||||
|
||||
if settings.window_maximized:
|
||||
self.maximize()
|
||||
|
||||
def _build_widgets(self):
|
||||
"""Build main window widgets."""
|
||||
|
||||
# Actions
|
||||
self.__add_action("toggle-select", Window.toggle_select, "is_empty")
|
||||
self.__add_action("add-account", self.add_account)
|
||||
self.__add_action("toggle-searchbar", self.toggle_search)
|
||||
|
||||
# HeaderBar
|
||||
header_bar = HeaderBar.get_default()
|
||||
header_bar.select_btn.set_action_name("win.toggle-select")
|
||||
header_bar.add_btn.set_action_name("win.add-account")
|
||||
header_bar.cancel_btn.set_action_name("win.toggle-select")
|
||||
self.set_titlebar(header_bar)
|
||||
|
||||
# Main Container
|
||||
self.main_container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
|
||||
# Main Stack
|
||||
self.main_stack = Gtk.Stack()
|
||||
|
||||
# Accounts List
|
||||
account_list_cntr = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
|
||||
accounts_widget = AccountsWidget.get_default()
|
||||
accounts_widget.connect("changed", self.update_view)
|
||||
|
||||
# Search Bar
|
||||
self.search_bar = SearchBar()
|
||||
self.search_bar.search_button = header_bar.search_btn
|
||||
self.search_bar.search_list = accounts_widget.accounts_lists
|
||||
|
||||
# Actions Bar
|
||||
actions_bar = ActionsBar.get_default()
|
||||
actions_bar.delete_btn.connect("clicked",
|
||||
self.__on_delete_clicked)
|
||||
accounts_widget.connect("selected-rows-changed",
|
||||
actions_bar.on_selected_rows_changed)
|
||||
|
||||
account_list_cntr.pack_start(self.search_bar, False, False, 0)
|
||||
account_list_cntr.pack_start(accounts_widget, True, True, 0)
|
||||
account_list_cntr.pack_start(actions_bar, False, False, 0)
|
||||
|
||||
self.main_stack.add_named(account_list_cntr,
|
||||
"accounts-list")
|
||||
|
||||
# Empty accounts list
|
||||
self.main_stack.add_named(EmptyAccountsList.get_default(),
|
||||
"empty-accounts-list")
|
||||
login_widget = LoginWidget.get_default()
|
||||
login_widget.login_btn.connect("clicked", self.__on_unlock)
|
||||
self.main_stack.add_named(login_widget, "login")
|
||||
|
||||
self.main_container.pack_start(self.main_stack, True, True, 0)
|
||||
self.add(self.main_container)
|
||||
self.update_view()
|
||||
|
||||
actions_bar.bind_property("visible", header_bar.cancel_btn,
|
||||
"visible",
|
||||
GObject.BindingFlags.BIDIRECTIONAL)
|
||||
actions_bar.bind_property("no_show_all", header_bar.cancel_btn,
|
||||
"no_show_all",
|
||||
GObject.BindingFlags.BIDIRECTIONAL)
|
||||
|
||||
def _on_account_delete(self, *_):
|
||||
Window.toggle_select()
|
||||
self.update_view()
|
||||
|
||||
def __on_delete_clicked(self, *__):
|
||||
notification = Gd.Notification()
|
||||
accounts_widget = AccountsWidget.get_default()
|
||||
notification.connect("dismissed", accounts_widget.delete_selected)
|
||||
notification.set_timeout(5)
|
||||
container = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)
|
||||
|
||||
notification_lbl = Gtk.Label()
|
||||
notification_lbl.set_text(_("An account or more were removed."))
|
||||
container.pack_start(notification_lbl, False, False, 3)
|
||||
|
||||
undo_btn = Gtk.Button()
|
||||
undo_btn.set_label(_("Undo"))
|
||||
undo_btn.connect("clicked", lambda widget: notification.hide())
|
||||
container.pack_end(undo_btn, False, False, 3)
|
||||
|
||||
notification.add(container)
|
||||
accounts_widget.add(notification)
|
||||
accounts_widget.reorder_child(notification, 1)
|
||||
accounts_widget.show_all()
|
||||
|
||||
def __on_locked(self, *_):
|
||||
if self.key_press_signal:
|
||||
self.disconnect(self.key_press_signal)
|
||||
HeaderBar.get_default().set_state(HeaderBarState.LOCKED)
|
||||
child = self.main_stack.get_child_by_name("login")
|
||||
child.show_all()
|
||||
self.main_stack.set_visible_child(child)
|
||||
|
||||
def __on_unlocked(self, *_):
|
||||
self.update_view()
|
||||
|
||||
def __on_unlock(self, *_):
|
||||
from ..models import Keyring
|
||||
login_widget = LoginWidget.get_default()
|
||||
typed_password = login_widget.password
|
||||
if typed_password == Keyring.get_password():
|
||||
self.get_application().set_property("is-locked", False)
|
||||
login_widget.set_has_error(False)
|
||||
login_widget.password = ""
|
||||
self.key_press_signal = self.connect("key-press-event", lambda x,
|
||||
y: self.search_bar.handle_event(y))
|
||||
self.update_view()
|
||||
else:
|
||||
login_widget.set_has_error(True)
|
||||
|
||||
def __add_action(self, key, callback, prop_bind=None, bind_flag=GObject.BindingFlags.INVERT_BOOLEAN):
|
||||
action = Gio.SimpleAction.new(key, None)
|
||||
action.connect("activate", callback)
|
||||
if prop_bind:
|
||||
self.bind_property(prop_bind, action, "enabled", bind_flag)
|
||||
self.add_action(action)
|
|
@ -1,20 +1,16 @@
|
|||
Hey newcomer, welcome to Authenticator.
|
||||
# Hey newcomer, welcome to Authenticator
|
||||
|
||||
The application is built using Python3, Gtk 3, GLib and other GNOME technologies around it. It's built to run on GNOME & Librem 5 phone.
|
||||
|
||||
|
||||
## If you're a translator:
|
||||
## If you're a translator
|
||||
|
||||
You can translate Authenticator here: https://hosted.weblate.org/engage/authenticator/
|
||||
|
||||
## If you're a developer
|
||||
|
||||
## If you're a developer:
|
||||
|
||||
You want to work on fixing a bug, adding a new feature, please first join our Matrix Channel and ask if there's anyone working on that already.
|
||||
You want to work on fixing a bug, adding a new feature, please first join our Matrix Channel and ask if there's anyone working on that already.
|
||||
The Matrix Channel: https://matrix.to/#/#authenticator:matrix.org
|
||||
|
||||
|
||||
We suggest you to use [GNOME Builder](https://flathub.org/apps/details/org.gnome.Builder) as the IDE supports Flatpak and you can hack on Authenticator, click on run and voilà, you have got to test your modifications without having to think about installing the dependencies or how to build the application itself.
|
||||
|
||||
|
||||
Thanks and good hacking.
|
||||
Thanks and good hacking.
|
||||
|
|
|
@ -150,8 +150,7 @@
|
|||
],
|
||||
"sources": [{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.gnome.org/World/Authenticator.git",
|
||||
"branch": "master"
|
||||
"url": "https://gitlab.gnome.org/World/Authenticator.git"
|
||||
}]
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>@appid@.desktop</id>
|
||||
<component type="desktop-application">
|
||||
<id>@appid@</id>
|
||||
<metadata_license>CC0</metadata_license>
|
||||
<project_license>GPL-3.0+</project_license>
|
||||
<name>Authenticator</name>
|
||||
|
@ -27,9 +27,6 @@
|
|||
<url type="bugtracker">https://gitlab.gnome.org/World/Authenticator/issues</url>
|
||||
<url type="translate">https://hosted.weblate.org/projects/authenticator/translation/</url>
|
||||
<url type="donation">https://www.paypal.me/BilalELMoussaoui</url>
|
||||
<categories>
|
||||
<category>Utility</category>
|
||||
</categories>
|
||||
<content_rating type="oars-1.0" />
|
||||
<releases>
|
||||
<release version="0.2.5" date="2018-09-11">
|
||||
|
@ -106,5 +103,6 @@
|
|||
</releases>
|
||||
<developer_name>Bilal Elmoussaoui</developer_name>
|
||||
<update_contact>bil.elmoussaoui@gmail.com</update_contact>
|
||||
<translation type="gettext">Authenticator</translation>
|
||||
<translation type="gettext">@gettext-package@</translation>
|
||||
<launchable type="desktop-id">@appid@.desktop</launchable>
|
||||
</component>
|
||||
|
|
|
@ -6,11 +6,17 @@
|
|||
<file alias="qrscanner-symbolic.svg">icons/hicolor/symbolic/actions/qrscanner-symbolic.svg</file>
|
||||
|
||||
<!-- Accounts logo fallback -->
|
||||
<file alias="authenticator-fallback">icons/hicolor/scalable/apps/com.github.bilelmoussaoui.Authenticator.svg</file>
|
||||
<file alias="authenticator-symbolic.svg">icons/hicolor/symbolic/apps/com.github.bilelmoussaoui.Authenticator-symbolic.svg</file>
|
||||
|
||||
<!-- UI Files -->
|
||||
<file compressed="true" preprocess="xml-stripblanks" alias="shortcuts.ui">ui/shortcuts.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks" alias="about_dialog.ui">about_dialog.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks" alias="account_config.ui">ui/account_config.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks" alias="account_add.ui">ui/account_add.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks" alias="account_edit.ui">ui/account_edit.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks" alias="account_row.ui">ui/account_row.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks" alias="window.ui">window.ui</file>
|
||||
<file compressed="true" preprocess="xml-stripblanks" alias="settings.ui">settings.ui</file>
|
||||
|
||||
<!-- Default pre-shipped icons -->
|
||||
<file alias="amazon.svg">icons/hicolor/48x48/apps/amazon.svg</file>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schemalist>
|
||||
<schema path="@schema-path@" id="@app-id@" gettext-domain="Authenticator">
|
||||
<schema path="@schema-path@" id="@app-id@" gettext-domain="@gettext-package@">
|
||||
<key name="window-position" type="ai">
|
||||
<default>[0,0]</default>
|
||||
<summary>Default window position</summary>
|
||||
|
@ -16,15 +16,5 @@
|
|||
<summary>Default window maximized behaviour</summary>
|
||||
<description></description>
|
||||
</key>
|
||||
<key name="is-locked" type="b">
|
||||
<default>false</default>
|
||||
<summary>Whether the application is locked with a password or not</summary>
|
||||
<description></description>
|
||||
</key>
|
||||
<key name="can-be-locked" type="b">
|
||||
<default>false</default>
|
||||
<summary>Whether the application can be locked or not</summary>
|
||||
<description></description>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
||||
|
|
|
@ -1,22 +1,34 @@
|
|||
about_dialog_conf = configuration_data()
|
||||
about_dialog_conf.set('APP_ID', application_id)
|
||||
about_dialog_conf.set('VERSION', meson.project_version())
|
||||
ui_config = configuration_data()
|
||||
ui_config.set('APP_ID', application_id)
|
||||
ui_config.set('VERSION', meson.project_version())
|
||||
|
||||
ui_preconfigured_files = files(
|
||||
'ui/about_dialog.ui.in',
|
||||
'ui/settings.ui.in',
|
||||
'ui/window.ui.in',
|
||||
)
|
||||
ui_dependencies = []
|
||||
foreach ui_file: ui_preconfigured_files
|
||||
ui_dependencies += configure_file(
|
||||
input: ui_file,
|
||||
output: '@BASENAME@',
|
||||
configuration: ui_config
|
||||
)
|
||||
endforeach
|
||||
|
||||
gnome.compile_resources(
|
||||
application_id,
|
||||
meson.project_name() + '.gresource.xml',
|
||||
gresource_bundle: true,
|
||||
install_dir: join_paths(get_option('datadir'), meson.project_name()),
|
||||
install: true,
|
||||
dependencies: configure_file(
|
||||
input: 'ui/about_dialog.ui.in',
|
||||
output: 'about_dialog.ui',
|
||||
configuration: about_dialog_conf
|
||||
)
|
||||
dependencies: ui_dependencies
|
||||
)
|
||||
|
||||
# Install gschema
|
||||
gschema_conf = configuration_data()
|
||||
gschema_conf.set('app-id', application_id)
|
||||
gschema_conf.set('gettext_package', gettext_package)
|
||||
if get_option('profile') == 'development'
|
||||
gschema_conf.set('schema-path', '/com/github/bilelmoussaoui/Authenticator/')
|
||||
else
|
||||
|
@ -80,6 +92,7 @@ endif
|
|||
# Freedesktop AppData File
|
||||
appdata_conf = configuration_data()
|
||||
appdata_conf.set('appid', application_id)
|
||||
appdata_conf.set('gettext_package', gettext_package)
|
||||
appdata_file = i18n.merge_file(
|
||||
'appdata',
|
||||
input: configure_file(
|
||||
|
@ -93,11 +106,11 @@ appdata_file = i18n.merge_file(
|
|||
install_dir: join_paths(get_option('datadir'), 'metainfo')
|
||||
)
|
||||
# Validate AppData File
|
||||
appstreamcli = find_program('appstream-util', required: false)
|
||||
if appstreamcli.found()
|
||||
appstream_util = find_program('appstream-util', required: false)
|
||||
if appstream_util.found()
|
||||
test (
|
||||
'Validate appdata file',
|
||||
appstreamcli,
|
||||
appstream_util,
|
||||
args: ['validate-relax', '--nonet', appdata_file.full_path()]
|
||||
)
|
||||
endif
|
||||
|
|
|
@ -1,31 +1,49 @@
|
|||
.accounts-widget{
|
||||
margin-top: 0px;
|
||||
.account-row,
|
||||
.settings-row{
|
||||
background-color: mix(@theme_base_color,@theme_bg_color,0.3);
|
||||
padding: 2px 8px;
|
||||
margin:0;
|
||||
border: 1px solid mix(@theme_base_color,@theme_fg_color,0.3);
|
||||
border-bottom: 0px;
|
||||
}
|
||||
.account-row:last-child, .settings-row:last-child {
|
||||
border-bottom: 1px solid mix(@theme_base_color,@theme_fg_color,0.3);
|
||||
}
|
||||
|
||||
/* AccountsList */
|
||||
.accounts-list{
|
||||
background-color: @theme_bg_color;
|
||||
}
|
||||
.account-row,
|
||||
.settings-box{
|
||||
padding: 6px;
|
||||
border: 1px solid mix(@theme_base_color,@theme_fg_color,0.3);
|
||||
background-color: mix(@theme_base_color,@theme_bg_color,0.3);
|
||||
margin: 6px;
|
||||
}
|
||||
.account-row:selected GtkImage {
|
||||
color: mix(@theme_base_color,@theme_fg_color,0.3);
|
||||
}
|
||||
|
||||
.account-row-checkbtn{
|
||||
padding-left: 6px;
|
||||
}
|
||||
|
||||
.provider-lbl,
|
||||
.gpg-key-lbl{
|
||||
font-size: 18px;
|
||||
.provider-label{
|
||||
font-size:14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* AccountRow */
|
||||
.account-row .account-name-label{
|
||||
font-size: 13px;
|
||||
padding: 3px 6px;
|
||||
}
|
||||
.account-row .pin-label{
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* Settings */
|
||||
.settings-category-title{
|
||||
font-size:13px;
|
||||
font-weight:600;
|
||||
padding: 6px 3px;
|
||||
}
|
||||
|
||||
.settings-box-main-label{
|
||||
font-size:12px;
|
||||
}
|
||||
.settings-box-secondary-label{
|
||||
font-size:12px;
|
||||
color: mix(@theme_base_color,@theme_fg_color,0.6);
|
||||
}
|
||||
|
||||
|
||||
.application-name {
|
||||
font-size: 14px;
|
||||
color: @theme_fg_color;
|
||||
|
@ -37,34 +55,7 @@
|
|||
font-size: 16px;
|
||||
}
|
||||
|
||||
.token-label{
|
||||
font-size: 14px;
|
||||
}
|
||||
.settings-box-main-label{
|
||||
font-size: 14px;
|
||||
padding: 3px 6px;
|
||||
}
|
||||
|
||||
.settings-box-secondary-label {
|
||||
font-size:12px;
|
||||
font-style:italic;
|
||||
color: mix(@theme_base_color,@theme_fg_color,0.6);
|
||||
padding: 3px 6px;
|
||||
}
|
||||
.settings-main-container{
|
||||
margin-left: 36px;
|
||||
margin-right: 36px;
|
||||
}
|
||||
|
||||
.loginwidget-sublabel{
|
||||
font-size: 12px;
|
||||
color: mix(@theme_base_color,@theme_fg_color,0.6);
|
||||
}
|
||||
.loginwidget-mainlabel{
|
||||
font-size: 18px;
|
||||
|
||||
}
|
||||
|
||||
/* Common */
|
||||
.progress-bar trough progress {
|
||||
border-top-left-radius: 0px;
|
||||
border-bottom-left-radius: 0px;
|
||||
|
@ -73,3 +64,6 @@
|
|||
.progress-bar trough {
|
||||
border-radius: 0px
|
||||
}
|
||||
.app-notification{
|
||||
font-size:11px;
|
||||
}
|
||||
|
|
68
data/ui/account_add.ui
Normal file
68
data/ui/account_add.ui
Normal file
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.22"/>
|
||||
<object class="GtkImage" id="scan_img">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="icon_name">qrscanner-symbolic</property>
|
||||
</object>
|
||||
<template class="AddAccountWindow" parent="GtkWindow">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="type">popup</property>
|
||||
<property name="resizable">False</property>
|
||||
<property name="window_position">center-on-parent</property>
|
||||
<property name="default_width">350</property>
|
||||
<property name="default_height">500</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child type="titlebar">
|
||||
<object class="GtkHeaderBar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="title" translatable="yes">Add a new account</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="close_btn">
|
||||
<property name="label" translatable="yes">Close</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<signal name="clicked" handler="close_btn_clicked" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="add_btn">
|
||||
<property name="label" translatable="yes">Add</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<signal name="clicked" handler="add_btn_clicked" swapped="no"/>
|
||||
<style>
|
||||
<class name="suggested-action"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="scan_btn">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Scan QR Code</property>
|
||||
<property name="image">scan_img</property>
|
||||
<signal name="clicked" handler="scan_btn_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
</interface>
|
154
data/ui/account_config.ui
Normal file
154
data/ui/account_config.ui
Normal file
|
@ -0,0 +1,154 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.22"/>
|
||||
<object class="GtkListStore" id="providers_store">
|
||||
<columns>
|
||||
<!-- column-name name -->
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name logo -->
|
||||
<column type="gchararray"/>
|
||||
</columns>
|
||||
</object>
|
||||
<object class="GtkEntryCompletion" id="provider_completion">
|
||||
<property name="model">providers_store</property>
|
||||
<property name="text_column">0</property>
|
||||
<property name="inline_completion">True</property>
|
||||
<property name="inline_selection">True</property>
|
||||
</object>
|
||||
<template class="AccountConfig" parent="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkRevealer" id="notification">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkOverlay">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="notification_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="hexpand">True</property>
|
||||
<style>
|
||||
<class name="app-notification"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="index">-1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="border_width">36</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="provider_img">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="icon_name">com.github.bilelmoussaoui.Authenticator-symbolic</property>
|
||||
<property name="icon_size">6</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">12</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkGrid">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">baseline</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="row_spacing">6</property>
|
||||
<property name="column_spacing">6</property>
|
||||
<property name="column_homogeneous">True</property>
|
||||
<child>
|
||||
<object class="GtkEntry" id="token_entry">
|
||||
<property name="can_focus">True</property>
|
||||
<property name="no_show_all">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="visibility">False</property>
|
||||
<property name="placeholder_text" translatable="yes">2FA Token</property>
|
||||
<property name="input_purpose">pin</property>
|
||||
<signal name="changed" handler="account_edited" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="account_name_entry">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="placeholder_text" translatable="yes">Account Name</property>
|
||||
<property name="enable_emoji_completion">True</property>
|
||||
<signal name="changed" handler="account_edited" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkComboBox" id="provider_combobox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="model">providers_store</property>
|
||||
<property name="active">0</property>
|
||||
<property name="has_entry">True</property>
|
||||
<property name="entry_text_column">0</property>
|
||||
<property name="id_column">0</property>
|
||||
<signal name="changed" handler="provider_changed" swapped="no"/>
|
||||
<child internal-child="entry">
|
||||
<object class="GtkEntry" id="provider_entry">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="placeholder_text" translatable="yes">Provider</property>
|
||||
<property name="completion">provider_completion</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="top_attach">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</template>
|
||||
</interface>
|
47
data/ui/account_edit.ui
Normal file
47
data/ui/account_edit.ui
Normal file
|
@ -0,0 +1,47 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.22"/>
|
||||
<template class="EditAccountWindow" parent="GtkWindow">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="type">popup</property>
|
||||
<property name="resizable">False</property>
|
||||
<property name="window_position">center-on-parent</property>
|
||||
<property name="default_width">350</property>
|
||||
<property name="default_height">500</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child type="titlebar">
|
||||
<object class="GtkHeaderBar" id="headerbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="close_btn">
|
||||
<property name="label" translatable="yes">Close</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<signal name="clicked" handler="close_btn_clicked" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="save_btn">
|
||||
<property name="label" translatable="yes">Save</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<signal name="clicked" handler="save_btn_clicked" swapped="no"/>
|
||||
<style>
|
||||
<class name="suggested-action"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
</interface>
|
149
data/ui/account_row.ui
Normal file
149
data/ui/account_row.ui
Normal file
|
@ -0,0 +1,149 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.22"/>
|
||||
<object class="GtkImage" id="copy_img">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="icon_name">edit-copy-symbolic</property>
|
||||
</object>
|
||||
<object class="GtkPopoverMenu" id="more_actions_popover">
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkModelButton" id="edit_btn">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="text" translatable="yes">Edit</property>
|
||||
<signal name="clicked" handler="edit_btn_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkModelButton" id="delete_btn">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="text" translatable="yes">Delete</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="submenu">main</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<template class="AccountRow" parent="GtkListBoxRow">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="selectable">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkMenuButton" id="more_actions_btn">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="popover">more_actions_popover</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="more_actions_img">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="icon_name">view-more-symbolic</property>
|
||||
</object>
|
||||
</child>
|
||||
<style>
|
||||
<class name="image-button"/>
|
||||
<class name="flat"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="copy_btn">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Copy PIN to clipboard</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="image">copy_img</property>
|
||||
<signal name="clicked" handler="copy_btn_clicked" swapped="no"/>
|
||||
<style>
|
||||
<class name="flat"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="pin_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<style>
|
||||
<class name="pin-label"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">3</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="account_name_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="ellipsize">end</property>
|
||||
<style>
|
||||
<class name="account-name-label"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">3</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<style>
|
||||
<class name="account-row"/>
|
||||
</style>
|
||||
</template>
|
||||
</interface>
|
482
data/ui/settings.ui.in
Normal file
482
data/ui/settings.ui.in
Normal file
|
@ -0,0 +1,482 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.22"/>
|
||||
<object class="GtkImage" id="previous_img">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="icon_name">go-previous-symbolic</property>
|
||||
</object>
|
||||
<template class="SettingsWindow" parent="GtkWindow">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="type">popup</property>
|
||||
<property name="window_position">center-on-parent</property>
|
||||
<property name="default_width">350</property>
|
||||
<property name="default_height">500</property>
|
||||
<property name="gravity">center</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkRevealer" id="notification">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkOverlay">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="notification_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<style>
|
||||
<class name="app-notification"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="index">-1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStack" id="main_stack">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="border_width">36</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="label" translatable="yes">Behaviour</property>
|
||||
<style>
|
||||
<class name="settings-category-title"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="selection_mode">none</property>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="label" translatable="yes">Dark theme</property>
|
||||
<style>
|
||||
<class name="settings-box-main-label"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="label" translatable="yes">Use a dark theme, if possible</property>
|
||||
<style>
|
||||
<class name="settings-box-secondary-label"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="dark_theme_switch">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<signal name="state-set" handler="dark_theme_switch_state_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<style>
|
||||
<class name="settings-box"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<style>
|
||||
<class name="settings-row"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="label" translatable="yes">Lock the application</property>
|
||||
<style>
|
||||
<class name="settings-box-main-label"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="label" translatable="yes">Lock the application with a password</property>
|
||||
<style>
|
||||
<class name="settings-box-secondary-label"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="lock_switch">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<signal name="state-set" handler="lock_switch_state_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<style>
|
||||
<class name="settings-box"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<style>
|
||||
<class name="settings-row"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="name">settings_view</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="icon_name">@APP_ID@-symbolic</property>
|
||||
<property name="icon_size">6</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="margin_bottom">20</property>
|
||||
<property name="label" translatable="yes">Keep your accounts safer </property>
|
||||
<property name="ellipsize">end</property>
|
||||
<style>
|
||||
<class name="label-help"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="label" translatable="yes">Password</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="password_entry">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="visibility">False</property>
|
||||
<property name="input_purpose">password</property>
|
||||
<signal name="changed" handler="password_entry_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="label" translatable="yes">Repeat Password</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="repeat_password_entry">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="visibility">False</property>
|
||||
<property name="input_purpose">password</property>
|
||||
<signal name="changed" handler="password_entry_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="name">password_view</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="titlebar">
|
||||
<object class="GtkHeaderBar" id="headerbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="show_close_button">True</property>
|
||||
<child type="title">
|
||||
<object class="GtkStack" id="headerbar_stack">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="hexpand">True</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Settings</property>
|
||||
<style>
|
||||
<class name="title"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="name">headerbar_settings</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child type="center">
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Authenticator Password</property>
|
||||
<style>
|
||||
<class name="title"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="back_btn">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="image">previous_img</property>
|
||||
<signal name="clicked" handler="back_btn_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="save_btn">
|
||||
<property name="label" translatable="yes">Save</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<signal name="clicked" handler="save_btn_clicked" swapped="no"/>
|
||||
<style>
|
||||
<class name="suggested-action"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="name">headerbar_password</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
</interface>
|
|
@ -45,13 +45,6 @@
|
|||
<property name="accelerator"><Primary>N</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="visible">True</property>
|
||||
<property name="title" translatable="yes" context="shortcut window">Select</property>
|
||||
<property name="accelerator"><Primary>S</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="visible">True</property>
|
||||
|
|
297
data/ui/window.ui.in
Normal file
297
data/ui/window.ui.in
Normal file
|
@ -0,0 +1,297 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.0 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.22"/>
|
||||
<object class="GtkImage" id="add_image">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="icon_name">list-add-symbolic</property>
|
||||
</object>
|
||||
<object class="GtkImage" id="primary_menu_image">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="icon_name">open-menu-symbolic</property>
|
||||
</object>
|
||||
<object class="GtkImage" id="search_image">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="icon_name">system-search-symbolic</property>
|
||||
</object>
|
||||
<template class="Window" parent="GtkApplicationWindow">
|
||||
<property name="width_request">350</property>
|
||||
<property name="height_request">500</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="default_width">350</property>
|
||||
<property name="default_height">500</property>
|
||||
<child>
|
||||
<object class="GtkStack" id="main_stack">
|
||||
<property name="width_request">350</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="empty_accounts_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="empty_accounts_list_img">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="icon_name">dialog-information-symbolic</property>
|
||||
<property name="icon_size">6</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="label" translatable="yes">There are no accounts yet…</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="name">empty_state</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="accounts_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkSearchBar" id="search_bar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkSearchEntry" id="search_entry">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="primary_icon_name">edit-find-symbolic</property>
|
||||
<property name="primary_icon_activatable">False</property>
|
||||
<property name="primary_icon_sensitive">False</property>
|
||||
<signal name="search-changed" handler="search_changed" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRevealer" id="notification">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkOverlay">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="notification_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<style>
|
||||
<class name="app-notification"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="index">-1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow" id="accounts_scrolled_window">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<child>
|
||||
<object class="GtkViewport" id="accounts_viewport">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="name">normal_state</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="LoginWidget">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="border_width">36</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="icon_name">@APP_ID@-symbolic</property>
|
||||
<property name="icon_size">6</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">10</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Authenticator is locked</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkEntry" id="password_entry">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="visibility">False</property>
|
||||
<property name="input_purpose">password</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="unlock_btn">
|
||||
<property name="label" translatable="yes">Unlock</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="halign">center</property>
|
||||
<signal name="clicked" handler="unlock_btn_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="name">locked_state</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="titlebar">
|
||||
<object class="GtkHeaderBar" id="headerbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="title" translatable="yes">Authenticator</property>
|
||||
<property name="show_close_button">True</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="add_btn">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="action_name">win.add-account</property>
|
||||
<property name="image">add_image</property>
|
||||
<signal name="clicked" handler="add_btn_clicked" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="primary_menu_btn">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="image">primary_menu_image</property>
|
||||
<signal name="clicked" handler="primary_menu_btn_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="search_btn">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="action_name">win.toggle-searchbar</property>
|
||||
<property name="image">search_image</property>
|
||||
<signal name="toggled" handler="search_btn_toggled" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
</interface>
|
83
meson.build
83
meson.build
|
@ -8,9 +8,12 @@ python = import('python3')
|
|||
gnome = import('gnome')
|
||||
i18n = import('i18n')
|
||||
|
||||
gettext_package = 'Authenticator'
|
||||
|
||||
if get_option('profile') == 'development'
|
||||
profile = 'Devel'
|
||||
name_suffix = ' (Development)'
|
||||
gettext_package += '-devel'
|
||||
else
|
||||
profile = ''
|
||||
name_suffix = ''
|
||||
|
@ -37,32 +40,20 @@ else
|
|||
message('Found python3 binary')
|
||||
endif
|
||||
|
||||
LIB_DIR = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name())
|
||||
LOCALE_DIR = join_paths(get_option('prefix'), get_option('localedir'))
|
||||
DATA_DIR = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
|
||||
PKGDATA_DIR = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
|
||||
LIBEXEC_DIR = join_paths(get_option('prefix'), get_option('libexecdir'))
|
||||
libgd_dep = dependency('gdlib', required: false)
|
||||
if not libgd_dep.found()
|
||||
libgd_proj = subproject('libgd',
|
||||
default_options: [
|
||||
'with-introspection=true',
|
||||
'with-notification=true',
|
||||
'static=false',
|
||||
'pkgdatadir=' + DATA_DIR,
|
||||
'pkglibdir=' + LIB_DIR
|
||||
]
|
||||
)
|
||||
endif
|
||||
|
||||
|
||||
# Configuration params
|
||||
conf = configuration_data()
|
||||
conf.set('APP_ID', application_id)
|
||||
conf.set('DATA_DIR', DATA_DIR)
|
||||
conf.set('GETTEXT_PACKAGE', gettext_package)
|
||||
conf.set('PKGDATA_DIR', PKGDATA_DIR)
|
||||
conf.set('LOCALE_DIR', LOCALE_DIR)
|
||||
conf.set('PYTHON_DIR', join_paths(get_option('prefix'), python.sysconfig_path('purelib')))
|
||||
conf.set('PYTHON_EXEC_DIR', join_paths(get_option('prefix'), python.sysconfig_path('stdlib')))
|
||||
conf.set('VERSION', meson.project_version())
|
||||
conf.set('LIB_DIR', LIB_DIR)
|
||||
conf.set('PROFILE', profile)
|
||||
conf.set('NAME_SUFFIX', name_suffix)
|
||||
conf.set('libexecdir', LIBEXEC_DIR)
|
||||
|
@ -70,64 +61,6 @@ conf.set('PYTHON', python3.path())
|
|||
|
||||
subdir('data')
|
||||
subdir('po')
|
||||
|
||||
|
||||
configure_file(
|
||||
input: 'authenticator.py.in',
|
||||
output: 'authenticator',
|
||||
configuration: conf,
|
||||
install_dir: get_option('bindir')
|
||||
)
|
||||
|
||||
configure_file(
|
||||
input: 'authenticator-search-provider.py.in',
|
||||
output: 'authenticator-search-provider',
|
||||
configuration: conf,
|
||||
install_dir: get_option('libexecdir')
|
||||
)
|
||||
|
||||
|
||||
configure_file(
|
||||
input: 'Authenticator/models/settings.py.in',
|
||||
output: 'settings.py',
|
||||
configuration: conf,
|
||||
install_dir: join_paths(python.sysconfig_path('purelib'),
|
||||
'Authenticator/models')
|
||||
)
|
||||
|
||||
configure_file(
|
||||
input: 'Authenticator/widgets/window.py.in',
|
||||
output: 'window.py',
|
||||
configuration: conf,
|
||||
install_dir: join_paths(python.sysconfig_path('purelib'),
|
||||
'Authenticator/widgets')
|
||||
)
|
||||
|
||||
configure_file(
|
||||
input: 'Authenticator/utils.py.in',
|
||||
output: 'utils.py',
|
||||
configuration: conf,
|
||||
install_dir: join_paths(python.sysconfig_path('purelib'),
|
||||
'Authenticator')
|
||||
)
|
||||
|
||||
configure_file(
|
||||
input: 'Authenticator/application.py.in',
|
||||
output: 'application.py',
|
||||
configuration: conf,
|
||||
install_dir: join_paths(python.sysconfig_path('purelib'),
|
||||
'Authenticator')
|
||||
)
|
||||
|
||||
install_subdir(
|
||||
'Authenticator',
|
||||
install_dir: python.sysconfig_path('purelib'),
|
||||
exclude_files: [
|
||||
'models/settings.py.in',
|
||||
'widgets/window.py.in',
|
||||
'utils.py.in',
|
||||
'application.py.in'
|
||||
]
|
||||
)
|
||||
subdir('src')
|
||||
|
||||
meson.add_install_script('build-aux/meson_post_install.py')
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:58+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+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"
|
||||
|
@ -17,226 +17,12 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -264,6 +50,114 @@ msgstr ""
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
msgid "Cleaner code base"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr ""
|
||||
|
@ -293,14 +187,6 @@ msgstr ""
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr ""
|
||||
|
@ -309,6 +195,79 @@ msgstr ""
|
|||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
msgid "Scan QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
msgid "Lock the application with a password"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
msgid "Authenticator Password"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -341,18 +300,102 @@ msgstr ""
|
|||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
msgid "Authenticator is locked"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr ""
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,18 +1,20 @@
|
|||
Authenticator/application.py.in
|
||||
Authenticator/models/account.py
|
||||
Authenticator/widgets/accounts/add.py
|
||||
Authenticator/widgets/accounts/edit.py
|
||||
Authenticator/widgets/accounts/list.py
|
||||
Authenticator/widgets/accounts/row.py
|
||||
Authenticator/widgets/actions_bar.py
|
||||
Authenticator/widgets/headerbar.py
|
||||
Authenticator/widgets/search_bar.py
|
||||
Authenticator/widgets/settings.py
|
||||
Authenticator/widgets/utils.py
|
||||
Authenticator/widgets/window.py.in
|
||||
|
||||
data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in
|
||||
data/com.github.bilelmoussaoui.Authenticator.desktop.in.in
|
||||
data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in
|
||||
data/ui/about_dialog.ui.in
|
||||
data/ui/account_add.ui
|
||||
data/ui/account_edit.ui
|
||||
data/ui/account_row.ui
|
||||
data/ui/settings.ui.in
|
||||
data/ui/shortcuts.ui
|
||||
authenticator.py.in
|
||||
data/ui/window.ui.in
|
||||
src/authenticator.py.in
|
||||
src/Authenticator/application.py.in
|
||||
src/Authenticator/models/account.py
|
||||
src/Authenticator/widgets/accounts/add.py
|
||||
src/Authenticator/widgets/accounts/edit.py
|
||||
src/Authenticator/widgets/accounts/list.py
|
||||
src/Authenticator/widgets/accounts/row.py
|
||||
src/Authenticator/widgets/settings.py
|
||||
src/Authenticator/widgets/utils.py
|
||||
|
|
599
po/ar.po
599
po/ar.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2018-11-15 08:07+0000\n"
|
||||
"Last-Translator: alaazghoul <a.z9@live.com>\n"
|
||||
"Language-Team: Arabic <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -20,232 +20,12 @@ msgstr ""
|
|||
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
||||
"X-Generator: Weblate 3.3-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "الموثق"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "اقفل التطبيق"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
#, fuzzy
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "من ملف نص عادي Json"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
#, fuzzy
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "في نص عادي ملف JSON"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "استرجاع"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "نسخة احتياطية"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "الموثق"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "الافتراضي"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "اضافة حساب جديد"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "اضافة"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "امسح كود QR"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "اغلاق"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "المزود"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "اسم الحساب"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
#, fuzzy
|
||||
msgid "Secret token"
|
||||
msgstr "الرمز السري"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "رمز QR خاطئ"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr "مكتبة zbar غير موجودة. سيتم تعطيل ماسح كود QR"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "تحرير {} - {}"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "احفظ"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "رقم سري المرة الواحدة سينتهي في {} ثانية"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
#, fuzzy
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "ليس هناك حساب بعد …"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "نسخ"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "تحرير"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "لم يتكمن من توليد المفتاح السري"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "حذف"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "بحث"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "الاعدادات"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "وضع الاختيار"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "الغاء"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "اضغط على العناصر ليتم اختيارهم"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr "رقم سر الموثق"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "الرقم السري القديم"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "الرقم السري"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "اعادة الرقم السري"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "الوضع المعتم"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "استخدم الوضع المعتم، ان امكن."
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "المظهر"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "تنظيف قاعدة البيانات"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "مسح حسابات موجودة"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr "امكانية غلق التطبيق باستخدام رقم سري"
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr "رقم سر الموثق"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr "تثبيت رقم سري تطبيق الموثق"
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
#, fuzzy
|
||||
msgid "Behaviour"
|
||||
msgstr "السلوك"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr "يحتاج التطبيق لإعادة التشغيل أولاً."
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr "الحسابات الحالية ستحذف في ٥ ثوان"
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "تراجع"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr "فتح"
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr "ملف JSON"
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr "اختيار"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr "حساب أو أكثر تم ازالتهم."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
#, fuzzy
|
||||
|
@ -274,6 +54,117 @@ msgstr "واجهة مستخدم جميلة"
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr "قاعدة بيانات ضخمة مكونة من (أكثر من ٢٩٠) موقع/تطبيق"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
#, fuzzy
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr "من OpenPGP مشفر ملف JSON"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "عن الموثق"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
#, fuzzy
|
||||
msgid "Cleaner code base"
|
||||
msgstr "تنظيف قاعدة البيانات"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr "التوثيق الثنائي"
|
||||
|
@ -305,18 +196,91 @@ msgstr "تفعيل/تعطيل الوضع الليلي في التطبيق"
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr "السلوك الأقصى للنافذة الافتراضية"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr "سواء أكان التطبيق مغلق برقم سري أو لا"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr "سواء أكان التطبيق يمكن اغلاقه أو لا"
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "كود توليد التوثيق الثنائي."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "فضل-المترجم"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "اضافة حساب جديد"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "اغلاق"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "اضافة"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "امسح كود QR"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "احفظ"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "تحرير"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "حذف"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
#, fuzzy
|
||||
msgid "Behaviour"
|
||||
msgstr "السلوك"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "الوضع المعتم"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "استخدم الوضع المعتم، ان امكن."
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "اقفل التطبيق"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "امكانية غلق التطبيق باستخدام رقم سري"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "الرقم السري"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "اعادة الرقم السري"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "الاعدادات"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "رقم سر الموثق"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -353,33 +317,178 @@ msgstr "اضافة"
|
|||
#: data/ui/shortcuts.ui:51
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "اختيار"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "بحث"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
#, fuzzy
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "ليس هناك حساب بعد …"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "الموثق"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "البدء في وضع التصحيح"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "رقم نسخة الموثق"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "فضل-المترجم"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
#, fuzzy
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "من ملف نص عادي Json"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
#, fuzzy
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "في نص عادي ملف JSON"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "استرجاع"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "نسخة احتياطية"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "الموثق"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "الافتراضي"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "رمز QR خاطئ"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "تحرير {} - {}"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "رقم سري المرة الواحدة سينتهي في {} ثانية"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "لم يتكمن من توليد المفتاح السري"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr "فتح"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "الغاء"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr "ملف JSON"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr "اختيار"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "المزود"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "اسم الحساب"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "الرمز السري"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr "مكتبة zbar غير موجودة. سيتم تعطيل ماسح كود QR"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "نسخ"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "بحث"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "وضع الاختيار"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "اضغط على العناصر ليتم اختيارهم"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "الرقم السري القديم"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "المظهر"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "مسح حسابات موجودة"
|
||||
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "رقم سر الموثق"
|
||||
|
||||
#~ msgid "Set up application authentication password"
|
||||
#~ msgstr "تثبيت رقم سري تطبيق الموثق"
|
||||
|
||||
#~ msgid "The application needs to be restarted first."
|
||||
#~ msgstr "يحتاج التطبيق لإعادة التشغيل أولاً."
|
||||
|
||||
#~ msgid "The existing accounts will be erased in 5 seconds"
|
||||
#~ msgstr "الحسابات الحالية ستحذف في ٥ ثوان"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "تراجع"
|
||||
|
||||
#~ msgid "An account or more were removed."
|
||||
#~ msgstr "حساب أو أكثر تم ازالتهم."
|
||||
|
||||
#~ msgid "Whether the application is locked with a password or not"
|
||||
#~ msgstr "سواء أكان التطبيق مغلق برقم سري أو لا"
|
||||
|
||||
#~ msgid "Whether the application can be locked or not"
|
||||
#~ msgstr "سواء أكان التطبيق يمكن اغلاقه أو لا"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "اختيار"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
#~ msgstr "الموثق"
|
||||
|
||||
#~ msgid "from an OpenPGP-encrypted JSON file"
|
||||
#~ msgstr "من OpenPGP مشفر ملف JSON"
|
||||
|
||||
#~ msgid "in an OpenPGP-encrypted JSON file"
|
||||
#~ msgstr "في OpenPGP مشفر ملف JSON"
|
||||
|
||||
|
@ -416,10 +525,6 @@ msgstr "رقم نسخة الموثق"
|
|||
#~ msgid "com.github.bilelmoussaoui.Authenticator"
|
||||
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Rename project to Authenticator"
|
||||
#~ msgstr "عن الموثق"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "التالي"
|
||||
|
||||
|
|
625
po/ca.po
625
po/ca.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-01-14 07:19+0000\n"
|
||||
"Last-Translator: Adolfo Jayme Barrientos <fitojb@ubuntu.com>\n"
|
||||
"Language-Team: Catalan <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -19,227 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.4-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "Bloca l’aplicació"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "des d’un fitxer JSON de text sense format"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "en un fitxer JSON de text sense format"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Restaura"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Còpia de seguretat"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Preferències"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Fes un donatiu"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Dreceres de teclat"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Quant a l’Authenticator"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "Per defecte"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Afegeix un compte nou"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Afegeix"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "Escaneja un codi QR"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Tanca"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "Proveïdor"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Nom del compte"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr "Testimoni secret"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "El codi QR no és vàlid"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
"No s’ha trobat la biblioteca zbar. S’inhabilitarà l’escàner de codis QR"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Edita {} - {}"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "Desa"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "La contrasenya d’un sol ús caducarà en {} segons"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Encara no hi ha cap compte…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Copia"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "Edita"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "No s’ha pogut generar el codi secret"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Suprimeix"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Paràmetres"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Mode de selecció"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·la"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Feu clic als elements per a seleccionar-los"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr "Contrasenya d’autenticació"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "Contrasenya anterior"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "Contrasenya"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "Repetiu la contrasenya"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "Tema fosc"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Utilitza un tema fosc si és possible"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "Aparença"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "Neteja la base de dades"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "Esborra els comptes existents"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr "Possibilitat de blocar l’aplicació mitjançant una contrasenya"
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr "Contrasenya d’autenticació"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr "Configura la contrasenya d’autenticació de l’aplicació"
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr "Comportament"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr "Heu de reiniciar l’aplicació primer."
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr "Els comptes existents s’esborraran en 5 segons"
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Desfés"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr "Obre"
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr "Fitxers JSON"
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr "Selecciona"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr "S’ha suprimit almenys un compte."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -269,6 +54,125 @@ msgstr "Una interfície bonica"
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr "Una immensa base de dades de més de 290 llocs web i aplicacions"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
"Com que vaig moure l’aplicació al grup «World» del GitLab del GNOME, hi ha "
|
||||
"disponible una compilació nova per cada entrega de codi nova al lloc web de "
|
||||
"l’aplicació."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr "Còpia de seguretat i restauració des de fitxers JSON bàsics"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
"Còpia de seguretat i restauració des de fitxers JSON xifrats amb el GPG"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
"Compatibilitat amb l’andOTP (aplicació lliure i oberta d’autenticació amb "
|
||||
"dos components per a l’Android)"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
"Nova finestra de configuració amb tres seccions: Aparença, Comportament i "
|
||||
"Còpia de seguretat"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
"S’ha corregit la compilació Flatpak amb l’entorn d’execució GNOME més recent"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "Quant a l’Authenticator"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
#, fuzzy
|
||||
msgid "Cleaner code base"
|
||||
msgstr "Neteja la base de dades"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr "Paquet Flatpak"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr "Bilal Elmoussaoui"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr "Autenticació amb dos components"
|
||||
|
@ -298,18 +202,90 @@ msgstr "Habilita/inhabilita el mode nocturn dins de l’aplicació"
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr "Comportament per defecte de la finestra maximitzada"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr "Si s’ha blocat l’aplicació mitjançant una contrasenya o no"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr "Si l’aplicació es pot blocar o no"
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Generador de codis d’autenticació amb dos components."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "Adolfo Jayme Barrientos <fitojb@ubuntu.com>, 2018"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Afegeix un compte nou"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Tanca"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Afegeix"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "Escaneja un codi QR"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "Desa"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "Edita"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Suprimeix"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr "Comportament"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "Tema fosc"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Utilitza un tema fosc si és possible"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "Bloca l’aplicació"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Possibilitat de blocar l’aplicació mitjançant una contrasenya"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "Contrasenya"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "Repetiu la contrasenya"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Paràmetres"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Contrasenya d’autenticació"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -342,24 +318,168 @@ msgstr "Afegeix"
|
|||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Selecciona"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Encara no hi ha cap compte…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Inicia en mode de depuració"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Número de versió de l’Authenticator"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "Adolfo Jayme Barrientos <fitojb@ubuntu.com>, 2018"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "des d’un fitxer JSON de text sense format"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "en un fitxer JSON de text sense format"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Restaura"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Còpia de seguretat"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Preferències"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Fes un donatiu"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Dreceres de teclat"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Quant a l’Authenticator"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "Per defecte"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "El codi QR no és vàlid"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Edita {} - {}"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "La contrasenya d’un sol ús caducarà en {} segons"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "No s’ha pogut generar el codi secret"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr "Obre"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·la"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr "Fitxers JSON"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr "Selecciona"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "Proveïdor"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Nom del compte"
|
||||
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Testimoni secret"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr ""
|
||||
#~ "No s’ha trobat la biblioteca zbar. S’inhabilitarà l’escàner de codis QR"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Copia"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Cerca"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Mode de selecció"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Feu clic als elements per a seleccionar-los"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Contrasenya anterior"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "Aparença"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "Esborra els comptes existents"
|
||||
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "Contrasenya d’autenticació"
|
||||
|
||||
#~ msgid "Set up application authentication password"
|
||||
#~ msgstr "Configura la contrasenya d’autenticació de l’aplicació"
|
||||
|
||||
#~ msgid "The application needs to be restarted first."
|
||||
#~ msgstr "Heu de reiniciar l’aplicació primer."
|
||||
|
||||
#~ msgid "The existing accounts will be erased in 5 seconds"
|
||||
#~ msgstr "Els comptes existents s’esborraran en 5 segons"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Desfés"
|
||||
|
||||
#~ msgid "An account or more were removed."
|
||||
#~ msgstr "S’ha suprimit almenys un compte."
|
||||
|
||||
#~ msgid "Whether the application is locked with a password or not"
|
||||
#~ msgstr "Si s’ha blocat l’aplicació mitjançant una contrasenya o no"
|
||||
|
||||
#~ msgid "Whether the application can be locked or not"
|
||||
#~ msgstr "Si l’aplicació es pot blocar o no"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Selecciona"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
|
@ -406,40 +526,3 @@ msgstr "Número de versió de l’Authenticator"
|
|||
|
||||
#~ msgid "Backup Password"
|
||||
#~ msgstr "Fes una còpia de seguretat de la contrasenya"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Since I have moved the application to GOME Gitlab's World group, a "
|
||||
#~ "Flatpak build for each new commit is available to download from the "
|
||||
#~ "site's website."
|
||||
#~ msgstr ""
|
||||
#~ "Com que vaig moure l’aplicació al grup «World» del GitLab del GNOME, hi "
|
||||
#~ "ha disponible una compilació nova per cada entrega de codi nova al lloc "
|
||||
#~ "web de l’aplicació."
|
||||
|
||||
#~ msgid "Backup and restore from a basic JSON file"
|
||||
#~ msgstr "Còpia de seguretat i restauració des de fitxers JSON bàsics"
|
||||
|
||||
#~ msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
#~ msgstr ""
|
||||
#~ "Còpia de seguretat i restauració des de fitxers JSON xifrats amb el GPG"
|
||||
|
||||
#~ msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
#~ msgstr ""
|
||||
#~ "Compatibilitat amb l’andOTP (aplicació lliure i oberta d’autenticació amb "
|
||||
#~ "dos components per a l’Android)"
|
||||
|
||||
#~ msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
#~ msgstr ""
|
||||
#~ "Nova finestra de configuració amb tres seccions: Aparença, Comportament i "
|
||||
#~ "Còpia de seguretat"
|
||||
|
||||
#~ msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
#~ msgstr ""
|
||||
#~ "S’ha corregit la compilació Flatpak amb l’entorn d’execució GNOME més "
|
||||
#~ "recent"
|
||||
|
||||
#~ msgid "Flatpak package"
|
||||
#~ msgstr "Paquet Flatpak"
|
||||
|
||||
#~ msgid "Bilal Elmoussaoui"
|
||||
#~ msgstr "Bilal Elmoussaoui"
|
||||
|
|
583
po/da.po
583
po/da.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2018-11-03 21:23+0000\n"
|
||||
"Last-Translator: Jack Fredericksen <jack.a.fredericksen@gmail.com>\n"
|
||||
"Language-Team: Danish <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -19,240 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.3-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "TofaktorAutentifikation"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "Lås applikationen"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
#, fuzzy
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Genveje"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "TofaktorAutentifikation"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Tilføj en ny konto"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Tilføj"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
#, fuzzy
|
||||
msgid "Scan QR code"
|
||||
msgstr "Indskan en QR-kode"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
#, fuzzy
|
||||
msgid "Account name"
|
||||
msgstr "Kontonavn"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
#, fuzzy
|
||||
msgid "Secret token"
|
||||
msgstr "Hemmelig kode"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
#, fuzzy
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Indskan en QR-kode"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
#, fuzzy
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Der er ingen konto i øjeblikket"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Kunne ikke generere den hemmelige kode"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Søg"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Indstillinger"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Udvælgelsesindstilling"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Afbryd"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
#, fuzzy
|
||||
msgid "Authentication Password"
|
||||
msgstr "TofaktorAutentifikation"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
#, fuzzy
|
||||
msgid "Old Password"
|
||||
msgstr "Gammelt password"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
#, fuzzy
|
||||
msgid "Password"
|
||||
msgstr "Gammelt password"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
#, fuzzy
|
||||
msgid "Repeat Password"
|
||||
msgstr "Gentag nyt password"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
#, fuzzy
|
||||
msgid "Authentication password"
|
||||
msgstr "TofaktorAutentifikation"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
#, fuzzy
|
||||
msgid "Behaviour"
|
||||
msgstr "Adfærd"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Fortryd"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Udvælgelsesindstilling"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
#, fuzzy
|
||||
|
@ -284,6 +56,116 @@ msgstr ""
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "Om Gnome TofaktorAutentifikation"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
msgid "Cleaner code base"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
#, fuzzy
|
||||
msgid "Remove unneeded features"
|
||||
msgstr "Fjern valgte konti"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
#, fuzzy
|
||||
msgid "Two-factor authentication"
|
||||
|
@ -314,19 +196,95 @@ msgstr ""
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
#, fuzzy
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "TofaktorAutentifikation kodegenerator"
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Tilføj en ny konto"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Tilføj"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "Indskan en QR-kode"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
#, fuzzy
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr "Kode \"%s\" kopieret til clipboard"
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
#, fuzzy
|
||||
msgid "Behaviour"
|
||||
msgstr "Adfærd"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "Lås applikationen"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Lås applikationen"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
#, fuzzy
|
||||
msgid "Password"
|
||||
msgstr "Gammelt password"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
#, fuzzy
|
||||
msgid "Repeat Password"
|
||||
msgstr "Gentag nyt password"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Indstillinger"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "TofaktorAutentifikation"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -364,23 +322,142 @@ msgstr "Tilføj"
|
|||
#: data/ui/shortcuts.ui:51
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Udvælgelsesindstilling"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Søg"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
#, fuzzy
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Der er ingen konto i øjeblikket"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "TofaktorAutentifikation"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr "Lås op"
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Start i debug-tilstand"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Gnome-TofaktorAutentifikation versionsnummer"
|
||||
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
#, fuzzy
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Genveje"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "TofaktorAutentifikation"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
#, fuzzy
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Indskan en QR-kode"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Kunne ikke generere den hemmelige kode"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Afbryd"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Udvælgelsesindstilling"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Kontonavn"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Hemmelig kode"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Søg"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Udvælgelsesindstilling"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Gammelt password"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "TofaktorAutentifikation"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Fortryd"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Udvælgelsesindstilling"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
#~ msgstr "TofaktorAutentifikation"
|
||||
|
@ -392,14 +469,6 @@ msgstr "Gnome-TofaktorAutentifikation versionsnummer"
|
|||
#~ msgid "Backup Password"
|
||||
#~ msgstr "Skift password"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Rename project to Authenticator"
|
||||
#~ msgstr "Om Gnome TofaktorAutentifikation"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Remove unneeded features"
|
||||
#~ msgstr "Fjern valgte konti"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Næste"
|
||||
|
||||
|
@ -409,9 +478,6 @@ msgstr "Gnome-TofaktorAutentifikation versionsnummer"
|
|||
#~ msgid "Two-Factor Authentication code generator"
|
||||
#~ msgstr "TofaktorAutentifikation kodegenerator"
|
||||
|
||||
#~ msgid "Code \"%s\" copied to clipboard"
|
||||
#~ msgstr "Kode \"%s\" kopieret til clipboard"
|
||||
|
||||
#~ msgid "Remove the account"
|
||||
#~ msgstr "Fjern kontoen"
|
||||
|
||||
|
@ -454,9 +520,6 @@ msgstr "Gnome-TofaktorAutentifikation versionsnummer"
|
|||
#~ msgid "Enter your password"
|
||||
#~ msgstr "Indtast dit password"
|
||||
|
||||
#~ msgid "Unlock"
|
||||
#~ msgstr "Lås op"
|
||||
|
||||
#~ msgid "Password protection"
|
||||
#~ msgstr "Passwordbeskyttelse"
|
||||
|
||||
|
|
605
po/de.po
605
po/de.po
|
@ -7,9 +7,9 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"PO-Revision-Date: 2019-02-10 22:09+0000\n"
|
||||
"Last-Translator: HenRy <helge1o1o1@gmail.com>\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-02-07 19:09+0000\n"
|
||||
"Last-Translator: Hendrik Michaelsen <weblate@cryck.me>\n"
|
||||
"Language-Team: German <https://hosted.weblate.org/projects/authenticator/"
|
||||
"translation/de/>\n"
|
||||
"Language: de\n"
|
||||
|
@ -19,227 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.5-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Zweifaktor-Authentifizierung"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "Anwendung sperren"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "aus einer Reintext-JSON-Datei"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "in eine Reintext-JSON-Datei"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Wiederherstellen"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Sicherung"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Präferenzen"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Spenden"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tastenkürzel"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Über Authenticator"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "Grundeinstellung"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Neues Konto anlegen"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Hinzufügen"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "QR-Code einlesen"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "schließen"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "Anbieter"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Kontoname"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr "Geheimschlüssel"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Ungültiger QR Code"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
"zbar-Bibliothek wurde nicht gefunden. Der QRCode-Scanner wird deaktiviert"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Bearbeiten {} - {}"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Die Einmalpasswörter verfallen in {} Sekunden"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Derzeit gibt es kein Konto…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "kopieren"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Der geheime Code konnte nicht erzeugt werden"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Suche"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Auswahlmodus"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Abbruch"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Klicke auf Items, um sie auszuwählen"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr "Zweifaktor-Authentifizierung"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "Altes Passwort"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "Altes Passwort"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "Passwort wiederholen"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "Dunkler Stil"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Nach Möglichkeit ein dunkles Motiv verwenden"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "Erscheinungsbild"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "Lösche die Datenbank"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "Lösche die existierenden Accounts"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr "Möglichkeit, die Anwendung mit einem Passwort zu sperren"
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr "Zweifaktor-Authentifizierung"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr "Passwort für die Anwendungsauthentifizierung einrichten"
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr "Verhalten"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr "Die Anwendung muss zuerst neu gestartet werden."
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr "Der existierende Account wird in 5 Sekunden gelöscht"
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "rückgängig machen"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr "Öffnen"
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr "JSON-Dateien"
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr "Auswählen"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr "Ein oder mehrere Konten wurden entfernt."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -269,6 +54,118 @@ msgstr "Schöne Benutzeroberfläche"
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr "Riesige Datenbank aus (290+) Webseiten/Anwendungen"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
#, fuzzy
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr "aus einer OpenPGP-verschlüsselten JSON-Datei"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "Zweifaktor-Authentifizierung"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
#, fuzzy
|
||||
msgid "Cleaner code base"
|
||||
msgstr "Lösche die Datenbank"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
#, fuzzy
|
||||
msgid "Remove unneeded features"
|
||||
msgstr "gewählte Konten löschen"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr "Zweifaktor-Authentifizierung"
|
||||
|
@ -298,18 +195,91 @@ msgstr "Nachtmodus innerhalb der Anwendung aktivieren/deaktivieren"
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr "Standardverhalten beim Maximieren des Fensters"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr "Ob die Anwendung mit einem Passwort gesperrt ist oder nicht"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr "Ob die Anwendung gesperrt werden kann oder nicht"
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Codegenerator für Zweifaktor-Authentifizierung."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "Danksagungen an Übersetzer"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Neues Konto anlegen"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "schließen"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Hinzufügen"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "QR-Code einlesen"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
#, fuzzy
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr "Code '%s' ist in die Zwischenablage kopiert"
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr "Verhalten"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "Dunkler Stil"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Nach Möglichkeit ein dunkles Motiv verwenden"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "Anwendung sperren"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Möglichkeit, die Anwendung mit einem Passwort zu sperren"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "Altes Passwort"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "Passwort wiederholen"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Zweifaktor-Authentifizierung"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -341,33 +311,176 @@ msgid "Add"
|
|||
msgstr "Hinzufügen"
|
||||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Auswählen"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Suchen"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Derzeit gibt es kein Konto…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Zweifaktor-Authentifizierung"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr "Entsperren"
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Starte im Fehlersuch-Modus"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Versions des Authenticator"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "Danksagungen an Übersetzer"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "aus einer Reintext-JSON-Datei"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "in eine Reintext-JSON-Datei"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Wiederherstellen"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Sicherung"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Präferenzen"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Spenden"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
#, fuzzy
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tastenkürzel"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Über Authenticator"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "Grundeinstellung"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Ungültiger QR Code"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Bearbeiten {} - {}"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Die Einmalpasswörter verfallen in {} Sekunden"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Der geheime Code konnte nicht erzeugt werden"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr "Öffnen"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Abbruch"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr "JSON-Dateien"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr "Auswählen"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "Anbieter"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Kontoname"
|
||||
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Geheimschlüssel"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr ""
|
||||
#~ "zbar-Bibliothek wurde nicht gefunden. Der QRCode-Scanner wird deaktiviert"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "kopieren"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Suche"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Auswahlmodus"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Klicke auf Items, um sie auszuwählen"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Altes Passwort"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "Erscheinungsbild"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "Lösche die existierenden Accounts"
|
||||
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "Zweifaktor-Authentifizierung"
|
||||
|
||||
#~ msgid "Set up application authentication password"
|
||||
#~ msgstr "Passwort für die Anwendungsauthentifizierung einrichten"
|
||||
|
||||
#~ msgid "The application needs to be restarted first."
|
||||
#~ msgstr "Die Anwendung muss zuerst neu gestartet werden."
|
||||
|
||||
#~ msgid "The existing accounts will be erased in 5 seconds"
|
||||
#~ msgstr "Der existierende Account wird in 5 Sekunden gelöscht"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "rückgängig machen"
|
||||
|
||||
#~ msgid "An account or more were removed."
|
||||
#~ msgstr "Ein oder mehrere Konten wurden entfernt."
|
||||
|
||||
#~ msgid "Whether the application is locked with a password or not"
|
||||
#~ msgstr "Ob die Anwendung mit einem Passwort gesperrt ist oder nicht"
|
||||
|
||||
#~ msgid "Whether the application can be locked or not"
|
||||
#~ msgstr "Ob die Anwendung gesperrt werden kann oder nicht"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Auswählen"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
#~ msgstr "Zweifaktor-Authentifizierung"
|
||||
|
||||
#~ msgid "from an OpenPGP-encrypted JSON file"
|
||||
#~ msgstr "aus einer OpenPGP-verschlüsselten JSON-Datei"
|
||||
|
||||
#~ msgid "in an OpenPGP-encrypted JSON file"
|
||||
#~ msgstr "in eine OpenPGP-verschlüsselten JSON-Datei"
|
||||
|
||||
|
@ -408,14 +521,6 @@ msgstr "Versions des Authenticator"
|
|||
#~ msgid "Backup Password"
|
||||
#~ msgstr "Passwort ändern"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Rename project to Authenticator"
|
||||
#~ msgstr "Zweifaktor-Authentifizierung"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Remove unneeded features"
|
||||
#~ msgstr "gewählte Konten löschen"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "weiter"
|
||||
|
||||
|
@ -428,9 +533,6 @@ msgstr "Versions des Authenticator"
|
|||
#~ msgid "TwoFactorAuth"
|
||||
#~ msgstr "ZweiFaktorAuth"
|
||||
|
||||
#~ msgid "Code \"%s\" copied to clipboard"
|
||||
#~ msgstr "Code '%s' ist in die Zwischenablage kopiert"
|
||||
|
||||
#~ msgid "Remove the account"
|
||||
#~ msgstr "Konto löschen"
|
||||
|
||||
|
@ -473,9 +575,6 @@ msgstr "Versions des Authenticator"
|
|||
#~ msgid "Enter your password"
|
||||
#~ msgstr "gebe dein Passwort ein"
|
||||
|
||||
#~ msgid "Unlock"
|
||||
#~ msgstr "Entsperren"
|
||||
|
||||
#~ msgid "Password protection"
|
||||
#~ msgstr "Passwortschutz"
|
||||
|
||||
|
|
702
po/es.po
702
po/es.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-01-01 10:42+0000\n"
|
||||
"Last-Translator: advocatux <advocatux@airpost.net>\n"
|
||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -19,227 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.4-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "Bloquear la aplicación"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "desde un archivo JSON de texto sencillo"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "en un archivo JSON de texto sencillo"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Restaurar"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Copia de seguridad"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Donar"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atajos de teclado"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Acerca de Authenticator"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "Predeterminado"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Añadir una cuenta nueva"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Añadir"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "Escanear código QR"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "Proveedor"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Nombre de la cuenta"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr "Ficha secreta"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Código QR no válido"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
"No se encontró la biblioteca «zbar». Se desactivará el escáner de códigos QR"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Editar {} - {}"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Las contraseñas de un solo uso caducan en {} segundos"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "No hay ninguna cuenta aún…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Copiar"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "No se pudo generar el código secreto"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Configuración"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Modo de selección"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Pulse en los elementos para seleccionarlos"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr "Contraseña de autenticación"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "Contraseña antigua"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "Contraseña"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "Repetir contraseña"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "Tema oscuro"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Usar un tema oscuro, si es posible"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "Aspecto"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "Vaciar la base de datos"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "Eliminar las cuentas existentes"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr "Posibilidad de bloquear la aplicación con una contraseña"
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr "Contraseña de autenticación"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr "Configurar la contraseña de autenticación de la aplicación"
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr "Comportamiento"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr "Se necesita reiniciar la aplicación primero."
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr "Las cuentas existentes se eliminarán en 5 segundos"
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Deshacer"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr "Abrir"
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr "Archivos JSON"
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr "Seleccionar"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr "Al menos una cuenta ha sido eliminada."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -269,6 +54,131 @@ msgstr "Excelente interfaz de usuario"
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr "Enorme (+290) base de datos de sitios web y aplicaciones"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
"Como hemos trasladado la aplicación al grupo «World» de la instancia GitLab "
|
||||
"de GNOME, hay disponible una compilación Flatpak por cada consigna nueva en "
|
||||
"el sitio web de la aplicación."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr "Copia de seguridad y restauración a partir de un archivo JSON básico"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
"Copia de seguridad y restauración a partir de un archivo JSON cifrado con GPG"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
"Se añadió compatibilidad con andOTP (aplicación libre y abierta de 2FA para "
|
||||
"Android)"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
"Renovación de la ventana de configuración con tres secciones: Aspecto, "
|
||||
"Comportamiento y Copia de seguridad"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
"Se reparó la compilación Flatpak con el entorno de ejecución de GNOME más "
|
||||
"reciente"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr "Se trasladó el proyecto al grupo «World» del GitLab de GNOME"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr "Proveedor de búsquedas para GNOME Shell"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr "Los códigos caducan simultáneamente #91"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
"Reformada la ventana principal para seguir más de cerca las directrices "
|
||||
"sobre la interfaz humana (HIG) de GNOME"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr "Reformada la ventana de adición de cuentas para facilitar su uso"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
"Posibilidad de añadir una cuenta de un proveedor que no esté incluido en la "
|
||||
"base de datos incorporada"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr "Posibilidad de editar una cuenta"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
"Las contraseñas de un solo uso son ahora visibles de manera predeterminada"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr "Arreglado el problema de «python-dbus» al usar «GDbus» ahora"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr "Arreglado QRScanner cuando se usa en la «shell» de GNOME"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr "Se añadió una entrada nueva para el nombre de usuario de la cuenta"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr "Se actualizó la base de datos de cuentas admitidas"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
"ARREGLO RÁPIDO: la aplicación no funcionaba en entornos de escritorio "
|
||||
"distintos de GNOME"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "Renombrado el proyecto a «Authenticator»"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
msgid "Cleaner code base"
|
||||
msgstr "Una base de código más limpio"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr "Arranque más rápido"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr "Eliminadas las características innecesarias"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr "Se cambió a «pyzbar» en sustitución de «zbarlight»"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr "Paquete Flatpak"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr "Bilal Elmoussaoui"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr "Autenticación de doble factor"
|
||||
|
@ -298,18 +208,92 @@ msgstr "Activar/desactivar el modo nocturno desde dentro de la aplicación"
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr "Comportamiento predeterminado al maximizar la ventana"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr "Si la aplicación está bloqueada con una contraseña o no"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr "Si se puede bloquear la aplicación o no"
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Generador de códigos de autenticación de doble factor."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"advocatux <advocatux@airpost.net>, 2018\n"
|
||||
"Adolfo Jayme Barrientos <fitojb@ubuntu.com>, 2018"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Añadir una cuenta nueva"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Añadir"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "Escanear código QR"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr "Comportamiento"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "Tema oscuro"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Usar un tema oscuro, si es posible"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "Bloquear la aplicación"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Posibilidad de bloquear la aplicación con una contraseña"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "Contraseña"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "Repetir contraseña"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Configuración"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Contraseña de autenticación"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -342,26 +326,172 @@ msgstr "Añadir"
|
|||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Seleccionar"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "No hay ninguna cuenta aún…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Iniciar en el modo de depuración"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Número de versión de «Authenticator»"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "desde un archivo JSON de texto sencillo"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "en un archivo JSON de texto sencillo"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Restaurar"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Copia de seguridad"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Donar"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atajos de teclado"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Acerca de Authenticator"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "Predeterminado"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Código QR no válido"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Editar {} - {}"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Las contraseñas de un solo uso caducan en {} segundos"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "No se pudo generar el código secreto"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr "Abrir"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr "Archivos JSON"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr "Seleccionar"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "Proveedor"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Nombre de la cuenta"
|
||||
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Ficha secreta"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr ""
|
||||
#~ "advocatux <advocatux@airpost.net>, 2018\n"
|
||||
#~ "Adolfo Jayme Barrientos <fitojb@ubuntu.com>, 2018"
|
||||
#~ "No se encontró la biblioteca «zbar». Se desactivará el escáner de códigos "
|
||||
#~ "QR"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Copiar"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Buscar"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Modo de selección"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Pulse en los elementos para seleccionarlos"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Contraseña antigua"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "Aspecto"
|
||||
|
||||
#~ msgid "Clear the database"
|
||||
#~ msgstr "Vaciar la base de datos"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "Eliminar las cuentas existentes"
|
||||
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "Contraseña de autenticación"
|
||||
|
||||
#~ msgid "Set up application authentication password"
|
||||
#~ msgstr "Configurar la contraseña de autenticación de la aplicación"
|
||||
|
||||
#~ msgid "The application needs to be restarted first."
|
||||
#~ msgstr "Se necesita reiniciar la aplicación primero."
|
||||
|
||||
#~ msgid "The existing accounts will be erased in 5 seconds"
|
||||
#~ msgstr "Las cuentas existentes se eliminarán en 5 segundos"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Deshacer"
|
||||
|
||||
#~ msgid "An account or more were removed."
|
||||
#~ msgstr "Al menos una cuenta ha sido eliminada."
|
||||
|
||||
#~ msgid "Whether the application is locked with a password or not"
|
||||
#~ msgstr "Si la aplicación está bloqueada con una contraseña o no"
|
||||
|
||||
#~ msgid "Whether the application can be locked or not"
|
||||
#~ msgstr "Si se puede bloquear la aplicación o no"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Seleccionar"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
|
@ -405,105 +535,3 @@ msgstr "Número de versión de «Authenticator»"
|
|||
|
||||
#~ msgid "com.github.bilelmoussaoui.Authenticator"
|
||||
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Since I have moved the application to GOME Gitlab's World group, a "
|
||||
#~ "Flatpak build for each new commit is available to download from the "
|
||||
#~ "site's website."
|
||||
#~ msgstr ""
|
||||
#~ "Como hemos trasladado la aplicación al grupo «World» de la instancia "
|
||||
#~ "GitLab de GNOME, hay disponible una compilación Flatpak por cada consigna "
|
||||
#~ "nueva en el sitio web de la aplicación."
|
||||
|
||||
#~ msgid "Backup and restore from a basic JSON file"
|
||||
#~ msgstr ""
|
||||
#~ "Copia de seguridad y restauración a partir de un archivo JSON básico"
|
||||
|
||||
#~ msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
#~ msgstr ""
|
||||
#~ "Copia de seguridad y restauración a partir de un archivo JSON cifrado con "
|
||||
#~ "GPG"
|
||||
|
||||
#~ msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
#~ msgstr ""
|
||||
#~ "Se añadió compatibilidad con andOTP (aplicación libre y abierta de 2FA "
|
||||
#~ "para Android)"
|
||||
|
||||
#~ msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
#~ msgstr ""
|
||||
#~ "Renovación de la ventana de configuración con tres secciones: Aspecto, "
|
||||
#~ "Comportamiento y Copia de seguridad"
|
||||
|
||||
#~ msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
#~ msgstr ""
|
||||
#~ "Se reparó la compilación Flatpak con el entorno de ejecución de GNOME más "
|
||||
#~ "reciente"
|
||||
|
||||
#~ msgid "Move the project to GOME Gitlab's World group"
|
||||
#~ msgstr "Se trasladó el proyecto al grupo «World» del GitLab de GNOME"
|
||||
|
||||
#~ msgid "GNOME Shell Search provider"
|
||||
#~ msgstr "Proveedor de búsquedas para GNOME Shell"
|
||||
|
||||
#~ msgid "Codes expire simultaneously #91"
|
||||
#~ msgstr "Los códigos caducan simultáneamente #91"
|
||||
|
||||
#~ msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
#~ msgstr ""
|
||||
#~ "Reformada la ventana principal para seguir más de cerca las directrices "
|
||||
#~ "sobre la interfaz humana (HIG) de GNOME"
|
||||
|
||||
#~ msgid "Revamped add a new account window to make it easier to use"
|
||||
#~ msgstr "Reformada la ventana de adición de cuentas para facilitar su uso"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Possibility to add an account from a provider not listed in the shipped "
|
||||
#~ "database"
|
||||
#~ msgstr ""
|
||||
#~ "Posibilidad de añadir una cuenta de un proveedor que no esté incluido en "
|
||||
#~ "la base de datos incorporada"
|
||||
|
||||
#~ msgid "Possibilty to edit an account"
|
||||
#~ msgstr "Posibilidad de editar una cuenta"
|
||||
|
||||
#~ msgid "One Time Password now visible by default"
|
||||
#~ msgstr ""
|
||||
#~ "Las contraseñas de un solo uso son ahora visibles de manera predeterminada"
|
||||
|
||||
#~ msgid "Fix python-dbus by using GDbus instead"
|
||||
#~ msgstr "Arreglado el problema de «python-dbus» al usar «GDbus» ahora"
|
||||
|
||||
#~ msgid "Fix the QRScanner on GNOME Shell"
|
||||
#~ msgstr "Arreglado QRScanner cuando se usa en la «shell» de GNOME"
|
||||
|
||||
#~ msgid "Add a new entry for the account's username"
|
||||
#~ msgstr "Se añadió una entrada nueva para el nombre de usuario de la cuenta"
|
||||
|
||||
#~ msgid "Updated database of supported accounts"
|
||||
#~ msgstr "Se actualizó la base de datos de cuentas admitidas"
|
||||
|
||||
#~ msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
#~ msgstr ""
|
||||
#~ "ARREGLO RÁPIDO: la aplicación no funcionaba en entornos de escritorio "
|
||||
#~ "distintos de GNOME"
|
||||
|
||||
#~ msgid "Rename project to Authenticator"
|
||||
#~ msgstr "Renombrado el proyecto a «Authenticator»"
|
||||
|
||||
#~ msgid "Cleaner code base"
|
||||
#~ msgstr "Una base de código más limpio"
|
||||
|
||||
#~ msgid "Faster startup"
|
||||
#~ msgstr "Arranque más rápido"
|
||||
|
||||
#~ msgid "Remove unneeded features"
|
||||
#~ msgstr "Eliminadas las características innecesarias"
|
||||
|
||||
#~ msgid "Switch to pyzbar instead of zbarlight"
|
||||
#~ msgstr "Se cambió a «pyzbar» en sustitución de «zbarlight»"
|
||||
|
||||
#~ msgid "Flatpak package"
|
||||
#~ msgstr "Paquete Flatpak"
|
||||
|
||||
#~ msgid "Bilal Elmoussaoui"
|
||||
#~ msgstr "Bilal Elmoussaoui"
|
||||
|
|
580
po/fr.po
580
po/fr.po
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-02-03 23:09+0000\n"
|
||||
"Last-Translator: Nicolas Lapointe <nixcocpp@gmail.com>\n"
|
||||
"Language-Team: French <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -20,238 +20,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 3.5-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Authentificateur"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
#, fuzzy
|
||||
msgid "Lock the application"
|
||||
msgstr "Verrouiller l'application"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "à partir d'un fichier texte JSON"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "dans un fichier texte JSON"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Restaurer"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
#, fuzzy
|
||||
msgid "Backup"
|
||||
msgstr "Retour"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Donner"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
#, fuzzy
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Raccourcis clavier"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "À propos de l'Authentificateur"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "Défaut"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Ajouter un nouveau compte"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Ajouter"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "Scanner un QR code"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "Prestataire"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Compte"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
#, fuzzy
|
||||
msgid "Secret token"
|
||||
msgstr "Code secret"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "QR Code invalide"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Modifier {} - {}"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "Enregistrer"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Le mot de passe à usage unique expire dans {} secondes"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Il n'y a aucun compte pour le moment…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Copier"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "Éditer"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Le code secret n'a pas pu être généré"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
#, fuzzy
|
||||
msgid "Delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Chercher"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Préférenes"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Mode de séléction"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Cliquer sur des éléments pour les sélectionner"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
#, fuzzy
|
||||
msgid "Authentication Password"
|
||||
msgstr "Répétez le nouveau mot de passe"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
#, fuzzy
|
||||
msgid "Old Password"
|
||||
msgstr "Ancien mot de passe"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
#, fuzzy
|
||||
msgid "Password"
|
||||
msgstr "Ancien mot de passe"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
#, fuzzy
|
||||
msgid "Repeat Password"
|
||||
msgstr "Répétez le nouveau mot de passe"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "Thème sombre"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Utiliser un thème sombre, si possible"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "Apparence"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "Effacer la base de données"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "Effacer les comptes existants"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
#, fuzzy
|
||||
msgid "Behaviour"
|
||||
msgstr "Comportement"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr "Fichiers JSON"
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Mode de séléction"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -281,6 +55,116 @@ msgstr ""
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "À propos de l'Authentificateur"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
#, fuzzy
|
||||
msgid "Cleaner code base"
|
||||
msgstr "Effacer la base de données"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr ""
|
||||
|
@ -311,18 +195,95 @@ msgstr ""
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Générateur de code d'authentification à deux facteurs."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Ajouter un nouveau compte"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Ajouter"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "Scanner un QR code"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "Enregistrer"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "Éditer"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
#, fuzzy
|
||||
msgid "Delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
#, fuzzy
|
||||
msgid "Behaviour"
|
||||
msgstr "Comportement"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "Thème sombre"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Utiliser un thème sombre, si possible"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
#, fuzzy
|
||||
msgid "Lock the application"
|
||||
msgstr "Verrouiller l'application"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Verrouiller l'application"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
#, fuzzy
|
||||
msgid "Password"
|
||||
msgstr "Ancien mot de passe"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
#, fuzzy
|
||||
msgid "Repeat Password"
|
||||
msgstr "Répétez le nouveau mot de passe"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Préférenes"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Répétez le nouveau mot de passe"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -358,24 +319,152 @@ msgid "Add"
|
|||
msgstr "Ajouter"
|
||||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Mode de séléction"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Rechercher"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Il n'y a aucun compte pour le moment…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Authentificateur"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr "Déverrouiller"
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr ""
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "à partir d'un fichier texte JSON"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "dans un fichier texte JSON"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Restaurer"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
#, fuzzy
|
||||
msgid "Backup"
|
||||
msgstr "Retour"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Donner"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
#, fuzzy
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Raccourcis clavier"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "À propos de l'Authentificateur"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "Défaut"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "QR Code invalide"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Modifier {} - {}"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Le mot de passe à usage unique expire dans {} secondes"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Le code secret n'a pas pu être généré"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr "Fichiers JSON"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Mode de séléction"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "Prestataire"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Compte"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Code secret"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Copier"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Chercher"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Mode de séléction"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Cliquer sur des éléments pour les sélectionner"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Ancien mot de passe"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "Apparence"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "Effacer les comptes existants"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Annuler"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Mode de séléction"
|
||||
|
||||
#~ msgid "About"
|
||||
#~ msgstr "A propos"
|
||||
|
||||
|
@ -432,9 +521,6 @@ msgstr ""
|
|||
#~ msgid "Enter your password"
|
||||
#~ msgstr "Entrez votre mot de passe"
|
||||
|
||||
#~ msgid "Unlock"
|
||||
#~ msgstr "Déverrouiller"
|
||||
|
||||
#~ msgid "Remove selected applications"
|
||||
#~ msgstr "Supprimer les applications sélectionnées"
|
||||
|
||||
|
|
585
po/hu.po
585
po/hu.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2018-03-22 19:06+0000\n"
|
||||
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
|
||||
"Language-Team: Hungarian <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -19,239 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 2.20-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Hitelesítő"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
#, fuzzy
|
||||
msgid "Lock the application"
|
||||
msgstr "Az alkalmazás zárolása"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
#, fuzzy
|
||||
msgid "Backup"
|
||||
msgstr "Vissza"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
#, fuzzy
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Gyorsbillentyűk"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "Hitelesítő"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Új fiók hozzáadása"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Hozzáadás"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "QR-kód beolvasása"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Bezárás"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Fiók neve"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
#, fuzzy
|
||||
msgid "Secret token"
|
||||
msgstr "Titkos jelsor"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Érvénytelen QR-kód"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
#, fuzzy
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Még nincsenek fiókok…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Másolás"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Nem sikerült előállítani a titkos kódot"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Törlés"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Keresés"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Beállítások"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Kijelölés mód"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Mégse"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Kattintson az elemekre a kijelölésükhöz"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
#, fuzzy
|
||||
msgid "Authentication Password"
|
||||
msgstr "Hitelesítő"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
#, fuzzy
|
||||
msgid "Old Password"
|
||||
msgstr "Régi jelszó"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
#, fuzzy
|
||||
msgid "Password"
|
||||
msgstr "Régi jelszó"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
#, fuzzy
|
||||
msgid "Repeat Password"
|
||||
msgstr "Új jelszó ismétlése"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
#, fuzzy
|
||||
msgid "Authentication password"
|
||||
msgstr "Hitelesítő"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
#, fuzzy
|
||||
msgid "Behaviour"
|
||||
msgstr "Viselkedés"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Visszavonás"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Kijelölés mód"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
#, fuzzy
|
||||
|
@ -283,6 +56,116 @@ msgstr ""
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "A Hitelesítő névjegye"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
msgid "Cleaner code base"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
#, fuzzy
|
||||
msgid "Remove unneeded features"
|
||||
msgstr "Kijelölt fiókok eltávolítása"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
#, fuzzy
|
||||
msgid "Two-factor authentication"
|
||||
|
@ -314,19 +197,95 @@ msgstr ""
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
#, fuzzy
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Kétlépcsős hitelesítő kódok előállítója."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "Úr Balázs <urbalazs@gmail.com>, 2018."
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Új fiók hozzáadása"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Bezárás"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Hozzáadás"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "QR-kód beolvasása"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Törlés"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
#, fuzzy
|
||||
msgid "Behaviour"
|
||||
msgstr "Viselkedés"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
#, fuzzy
|
||||
msgid "Lock the application"
|
||||
msgstr "Az alkalmazás zárolása"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Az alkalmazás zárolása"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
#, fuzzy
|
||||
msgid "Password"
|
||||
msgstr "Régi jelszó"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
#, fuzzy
|
||||
msgid "Repeat Password"
|
||||
msgstr "Új jelszó ismétlése"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Beállítások"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Hitelesítő"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -362,26 +321,147 @@ msgid "Add"
|
|||
msgstr "Hozzáadás"
|
||||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Kijelölés mód"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Keresés"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
#, fuzzy
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Még nincsenek fiókok…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Hitelesítő"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr "Feloldás"
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Indítás hibakeresési módban"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Hitelesítő verziószáma"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "Úr Balázs <urbalazs@gmail.com>, 2018."
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
#, fuzzy
|
||||
msgid "Backup"
|
||||
msgstr "Vissza"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
#, fuzzy
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Gyorsbillentyűk"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "Hitelesítő"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Érvénytelen QR-kód"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Nem sikerült előállítani a titkos kódot"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Mégse"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Kijelölés mód"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Fiók neve"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Titkos jelsor"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Másolás"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Keresés"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Kijelölés mód"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Kattintson az elemekre a kijelölésükhöz"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Régi jelszó"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "Hitelesítő"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Visszavonás"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Kijelölés mód"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
|
@ -397,14 +477,6 @@ msgstr "Hitelesítő verziószáma"
|
|||
#~ msgid "Backup Password"
|
||||
#~ msgstr "Jelszó módosítása"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Rename project to Authenticator"
|
||||
#~ msgstr "A Hitelesítő névjegye"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Remove unneeded features"
|
||||
#~ msgstr "Kijelölt fiókok eltávolítása"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Következő"
|
||||
|
||||
|
@ -461,9 +533,6 @@ msgstr "Hitelesítő verziószáma"
|
|||
#~ msgid "Enter your password"
|
||||
#~ msgstr "Adja meg a jelszavát"
|
||||
|
||||
#~ msgid "Unlock"
|
||||
#~ msgstr "Feloldás"
|
||||
|
||||
#~ msgid "Remove the account"
|
||||
#~ msgstr "A fiók eltávolítása"
|
||||
|
||||
|
|
585
po/id.po
585
po/id.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2018-05-14 15:02+0000\n"
|
||||
"Last-Translator: ditokp <ditokpl@gmail.com>\n"
|
||||
"Language-Team: Indonesian <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -19,239 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 3.0-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "AutentiksiDuaFaktor"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
#, fuzzy
|
||||
msgid "Lock the application"
|
||||
msgstr "Kunci aplikasi"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
#, fuzzy
|
||||
msgid "Backup"
|
||||
msgstr "Kembali"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
#, fuzzy
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Jalan pintas"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "AutentiksiDuaFaktor"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Tambah akun baru"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Tambah"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "Pindai kode QR"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Tutup"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Nama Akun"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
#, fuzzy
|
||||
msgid "Secret token"
|
||||
msgstr "Token Rahasia"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Kode QR tidak valid"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
#, fuzzy
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Tidak ada akun saat ini..."
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Salin"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Tidak dapat menghasilkan kode rahasia"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Hapus"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Cari"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Pengaturan"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Mode seleksi"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Batal"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Klik pada item untuk menyeleksinya"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
#, fuzzy
|
||||
msgid "Authentication Password"
|
||||
msgstr "AutentiksiDuaFaktor"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
#, fuzzy
|
||||
msgid "Old Password"
|
||||
msgstr "Kata sandi lama"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
#, fuzzy
|
||||
msgid "Password"
|
||||
msgstr "Kata sandi lama"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
#, fuzzy
|
||||
msgid "Repeat Password"
|
||||
msgstr "Ulangan kata sandi baru"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
#, fuzzy
|
||||
msgid "Authentication password"
|
||||
msgstr "AutentiksiDuaFaktor"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
#, fuzzy
|
||||
msgid "Behaviour"
|
||||
msgstr "Kebiasaan"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Undo"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Mode seleksi"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
#, fuzzy
|
||||
|
@ -283,6 +56,116 @@ msgstr ""
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "Tentang Authenticator"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
msgid "Cleaner code base"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
#, fuzzy
|
||||
msgid "Remove unneeded features"
|
||||
msgstr "Hapus akun terpilih"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
#, fuzzy
|
||||
msgid "Two-factor authentication"
|
||||
|
@ -314,19 +197,95 @@ msgstr ""
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
#, fuzzy
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Pembuat kode autentikasi dua faktor."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "kredit-penerjemah"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Tambah akun baru"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Tutup"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Tambah"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "Pindai kode QR"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Hapus"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
#, fuzzy
|
||||
msgid "Behaviour"
|
||||
msgstr "Kebiasaan"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
#, fuzzy
|
||||
msgid "Lock the application"
|
||||
msgstr "Kunci aplikasi"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Kunci aplikasi"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
#, fuzzy
|
||||
msgid "Password"
|
||||
msgstr "Kata sandi lama"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
#, fuzzy
|
||||
msgid "Repeat Password"
|
||||
msgstr "Ulangan kata sandi baru"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Pengaturan"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "AutentiksiDuaFaktor"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -362,26 +321,147 @@ msgid "Add"
|
|||
msgstr "Tambah"
|
||||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Mode seleksi"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Cari"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
#, fuzzy
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Tidak ada akun saat ini..."
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "AutentiksiDuaFaktor"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr "Buka Kunci"
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Mulai dengan mode debud"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Nomor versi Authenticator"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "kredit-penerjemah"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
#, fuzzy
|
||||
msgid "Backup"
|
||||
msgstr "Kembali"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
#, fuzzy
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Jalan pintas"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "AutentiksiDuaFaktor"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Kode QR tidak valid"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Tidak dapat menghasilkan kode rahasia"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Batal"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Mode seleksi"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Nama Akun"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Token Rahasia"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Salin"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Cari"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Mode seleksi"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Klik pada item untuk menyeleksinya"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Kata sandi lama"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "AutentiksiDuaFaktor"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Undo"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Mode seleksi"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
|
@ -397,14 +477,6 @@ msgstr "Nomor versi Authenticator"
|
|||
#~ msgid "Backup Password"
|
||||
#~ msgstr "Ganti kata sandi"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Rename project to Authenticator"
|
||||
#~ msgstr "Tentang Authenticator"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Remove unneeded features"
|
||||
#~ msgstr "Hapus akun terpilih"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Selanjutnya"
|
||||
|
||||
|
@ -461,9 +533,6 @@ msgstr "Nomor versi Authenticator"
|
|||
#~ msgid "Enter your password"
|
||||
#~ msgstr "Masukkan kata sandi anda"
|
||||
|
||||
#~ msgid "Unlock"
|
||||
#~ msgstr "Buka Kunci"
|
||||
|
||||
#~ msgid "Remove the account"
|
||||
#~ msgstr "Hapus akun"
|
||||
|
||||
|
|
574
po/it.po
574
po/it.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:58+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-02-07 19:09+0000\n"
|
||||
"Last-Translator: albanobattistella <albano_battistella@hotmail.com>\n"
|
||||
"Language-Team: Italian <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -19,227 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.5-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "Blocca l'applicazione"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "da un file di testo JSON"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "in un file di testo JSON"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Ripristina"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Backup"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Preferenze"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Donazioni"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tasti rapidi"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Informazioni su Authenticator"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "Impostazione predefinita"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "aggiungi un nuovo account"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Aggiungi"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "Scansiona il codice QR"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "Provider"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Nome account"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr "Token d'accesso"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Codice QR non valido"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
"La libreria Zbar non e' stata trovata. QRCode scanner verrà disabilitato"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Modifica {} - {}"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "Salva"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Le One-time password scade in {} secondi"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Non ci sono ancora account …"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Copia"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "Modifica"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Non sono riuscito a generare il codice segreto"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Elimina"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Impostazioni"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Modalità di selezione"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Cancella"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Clicca sulle voci per selezionarle"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr "Password di autenticazione"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "Vecchia Password"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "Ripetere la Password"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "Tema scuro"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Utilizzare un tema scuro, se possibile"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "Aspetto"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "Pulisci database"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "Cancellare account esistenti"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr "Possibilità di bloccare l'applicazione con una password"
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr "Password di autenticazione"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr "Impostare la password di autenticazione dell'applicazione"
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr "Comportamento"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr "L'applicazione necessita di essere riavviata."
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr "Gli account esistenti verranno cancellati in 5 secondi"
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr "apri"
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr "File JSON"
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr "Seleziona"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr "Un account o più sono stati rimossi."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -269,6 +54,116 @@ msgstr "Bella interfaccia utente"
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr "Enorme database di siti Web/applicazioni (290 +)"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "Informazioni su Authenticator"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
#, fuzzy
|
||||
msgid "Cleaner code base"
|
||||
msgstr "Pulisci database"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr "Autenticazione a due fattori"
|
||||
|
@ -298,14 +193,6 @@ msgstr "abilita / disabilita la modalità di notte nell'applicazione"
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr "La finestra predefinita massimizza il comportamento della finestra"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr "Se l'applicazione è bloccata con una password o non"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr "Se l'applicazione può essere bloccata o non"
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Generatore di codice di autenticazione a due fattori."
|
||||
|
@ -314,6 +201,82 @@ msgstr "Generatore di codice di autenticazione a due fattori."
|
|||
msgid "translator-credits"
|
||||
msgstr "Traduttore-crediti"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "aggiungi un nuovo account"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Aggiungi"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "Scansiona il codice QR"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "Salva"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "Modifica"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Elimina"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr "Comportamento"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "Tema scuro"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Utilizzare un tema scuro, se possibile"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "Blocca l'applicazione"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Possibilità di bloccare l'applicazione con una password"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "Ripetere la Password"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Impostazioni"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Password di autenticazione"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -347,18 +310,165 @@ msgstr "Aggiungi"
|
|||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Seleziona"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Non ci sono ancora account …"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Avviare in modalità debug"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Numero di versione di Authenticator"
|
||||
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "da un file di testo JSON"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "in un file di testo JSON"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Ripristina"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Backup"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Preferenze"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Donazioni"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tasti rapidi"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Informazioni su Authenticator"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "Impostazione predefinita"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Codice QR non valido"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Modifica {} - {}"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Le One-time password scade in {} secondi"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Non sono riuscito a generare il codice segreto"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr "apri"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Cancella"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr "File JSON"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr "Seleziona"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "Provider"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Nome account"
|
||||
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Token d'accesso"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr ""
|
||||
#~ "La libreria Zbar non e' stata trovata. QRCode scanner verrà disabilitato"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Copia"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Cerca"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Modalità di selezione"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Clicca sulle voci per selezionarle"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Vecchia Password"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "Aspetto"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "Cancellare account esistenti"
|
||||
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "Password di autenticazione"
|
||||
|
||||
#~ msgid "Set up application authentication password"
|
||||
#~ msgstr "Impostare la password di autenticazione dell'applicazione"
|
||||
|
||||
#~ msgid "The application needs to be restarted first."
|
||||
#~ msgstr "L'applicazione necessita di essere riavviata."
|
||||
|
||||
#~ msgid "The existing accounts will be erased in 5 seconds"
|
||||
#~ msgstr "Gli account esistenti verranno cancellati in 5 secondi"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Annulla"
|
||||
|
||||
#~ msgid "An account or more were removed."
|
||||
#~ msgstr "Un account o più sono stati rimossi."
|
||||
|
||||
#~ msgid "Whether the application is locked with a password or not"
|
||||
#~ msgstr "Se l'applicazione è bloccata con una password o non"
|
||||
|
||||
#~ msgid "Whether the application can be locked or not"
|
||||
#~ msgstr "Se l'applicazione può essere bloccata o non"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Seleziona"
|
||||
|
|
581
po/ko.po
581
po/ko.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-01-01 10:42+0000\n"
|
||||
"Last-Translator: Minori Hiraoka (미노리) <minori@mnetwork.co.kr>\n"
|
||||
"Language-Team: Korean <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -19,228 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 3.4-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "인증기"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "애플리케이션을 잠그기"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "JSON 파일에서 가져오기"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "JSON 파일로 내보내기"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "복원"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "백업"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "설정"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "기부"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "키보드 단축키"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "인증기에 대하여"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "기본값"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "새로운 계정 추가"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "추가"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "QR 코드 스캔"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "닫기"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "제공자"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "계정 이름"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr "비밀 토큰"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "올바르지 않은 QR 코드"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
"설치된 zbar 라이브러리가 발견되지 않았습니다. QR 코드 스캐너가 비활성화 됩니"
|
||||
"다"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "{} - {} 편집"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "저장"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "일회용 비밀번호가 {} 초 후에 만료됩니다"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "아직 계정이 없습니다…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "복사"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "편집"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "비밀 코드를 생성할 수 없었습니다"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "삭제"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "검색"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "설정"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "선택 모드"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "취소"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "항목을 눌러 선택하세요"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr "인증 암호"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "기존 암호"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "암호"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "암호 확인"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "어두운 테마"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "가능하다면 어두운 테마를 사용합니다"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "표시 형식"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "데이터베이스 지우기"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "존재하는 계정 삭제"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr "애플리케이션을 암호로 잠글 수 있는 가능성"
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr "인증 암호"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr "애플리케이션 인증 암호 설정"
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr "동작"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr "애플리케이션이 우선 다시 시작 되어야 합니다."
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr "존재하는 계정들이 5초 후에 삭제됩니다"
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "되돌리기"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr "열기"
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr "JSON 파일"
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr "선택"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr "한개 혹은 여러개의 계정이 제거되었습니다."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -268,6 +52,116 @@ msgstr "아름다운 UI"
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr "290개 이상의 웹 사이트/애플리케이션을 지원"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "인증기에 대하여"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
#, fuzzy
|
||||
msgid "Cleaner code base"
|
||||
msgstr "데이터베이스 지우기"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr "2차 인증"
|
||||
|
@ -297,18 +191,90 @@ msgstr "애플리케이션 안에서 야간 모드를 활성화/비활성화"
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr "기본 창 최대화 행동"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr "애플리케이션 암호 설정 여부"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr "애플리케이션 암호 설정 가능 여부"
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "2차 인증 비밀번호 생성기."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "Minori Hiraoka <minori@mnetwork.co.kr>"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "새로운 계정 추가"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "닫기"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "추가"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "QR 코드 스캔"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "저장"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "편집"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "삭제"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr "동작"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "어두운 테마"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "가능하다면 어두운 테마를 사용합니다"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "애플리케이션을 잠그기"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "애플리케이션을 암호로 잠글 수 있는 가능성"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "암호"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "암호 확인"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "설정"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "인증 암호"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -341,21 +307,166 @@ msgstr "추가"
|
|||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "선택"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "검색"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "아직 계정이 없습니다…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "인증기"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "디버그 모드로 시작"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "인증기 버전"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "Minori Hiraoka <minori@mnetwork.co.kr>"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "JSON 파일에서 가져오기"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "JSON 파일로 내보내기"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "복원"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "백업"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "설정"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "기부"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "키보드 단축키"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "인증기에 대하여"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "기본값"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "올바르지 않은 QR 코드"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "{} - {} 편집"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "일회용 비밀번호가 {} 초 후에 만료됩니다"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "비밀 코드를 생성할 수 없었습니다"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr "열기"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "취소"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr "JSON 파일"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr "선택"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "제공자"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "계정 이름"
|
||||
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "비밀 토큰"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr ""
|
||||
#~ "설치된 zbar 라이브러리가 발견되지 않았습니다. QR 코드 스캐너가 비활성화 됩"
|
||||
#~ "니다"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "복사"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "검색"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "선택 모드"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "항목을 눌러 선택하세요"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "기존 암호"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "표시 형식"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "존재하는 계정 삭제"
|
||||
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "인증 암호"
|
||||
|
||||
#~ msgid "Set up application authentication password"
|
||||
#~ msgstr "애플리케이션 인증 암호 설정"
|
||||
|
||||
#~ msgid "The application needs to be restarted first."
|
||||
#~ msgstr "애플리케이션이 우선 다시 시작 되어야 합니다."
|
||||
|
||||
#~ msgid "The existing accounts will be erased in 5 seconds"
|
||||
#~ msgstr "존재하는 계정들이 5초 후에 삭제됩니다"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "되돌리기"
|
||||
|
||||
#~ msgid "An account or more were removed."
|
||||
#~ msgstr "한개 혹은 여러개의 계정이 제거되었습니다."
|
||||
|
||||
#~ msgid "Whether the application is locked with a password or not"
|
||||
#~ msgstr "애플리케이션 암호 설정 여부"
|
||||
|
||||
#~ msgid "Whether the application can be locked or not"
|
||||
#~ msgstr "애플리케이션 암호 설정 가능 여부"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "선택"
|
||||
|
|
|
@ -1 +1 @@
|
|||
i18n.gettext('Authenticator', preset: 'glib')
|
||||
i18n.gettext(gettext_package, preset: 'glib')
|
||||
|
|
706
po/nb_NO.po
706
po/nb_NO.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-01-01 06:20+0000\n"
|
||||
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
|
||||
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
|
||||
|
@ -19,228 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.4-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "Lås programmet"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "fra en JSON-fil i klartekst"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "i en JSON-fil i klartekst"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Gjenopprett"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Sikkerhetskopier"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Innstillinger"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Doner"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
#, fuzzy
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Snarveier"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "Forvalg"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Legg til ny konto"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Legg til"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "Skann QR-kode"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Lukk"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "Tilbyder"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Kontonavn"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr "Hemmelig symbol"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Ugyldig QR-kode"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr "zbar-bibliotek ble ikke funnet. QRkodeskanneren vil skrus av"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Rediger {} - {}"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "Lagre"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Engangspassordet utløper om {} sekunder"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Ingen kontoer enda…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Kopier"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "Rediger"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Kunne ikke generere hemmelig kode"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Slett"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Søk"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Innstillinger"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Utvelgelsesmodus"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Klikk på elementene for å velge dem"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr "Autentiserings passord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "Gammelt passord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "Passord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "Gjenta passord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "Mørk drakt"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Bruk mørk drakt, hvis mulig"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "Utseende"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "Tøm databasen"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "Slett eksisterende kontoer"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr "Mulighet for å låse programmet med et passord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr "Autentiserings passord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr "Sett opp identitetbekreftelsespassord for programmet"
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr "Oppførsel"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr "Programmet må startes på nytt først."
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr "Eksisterende kontoer vil bli slettet om 5 sekunder"
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Angre"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr "Åpne"
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr "JSON-filer"
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr "Velg"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr "Én eller flere kontoer ble fjernet."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -269,6 +53,130 @@ msgstr "Vakkert grensesnitt"
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr "Stor database med (290+) nettsider/programmer"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
"Siden jeg har flyttet programmet til GNOME sin Gitlab-verdensgruppe, finnes "
|
||||
"et Flatpak-bygg tilgjengelig for hver nye innsendelse som er tilgjengelig "
|
||||
"fornedlasting fra sidens nettside."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr "Sikkerhetskopier og gjenopprett fra grunnleggende JSON-fil"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
#, fuzzy
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr "Sikkerhetskopier og gjenopprett fra en GPG-kryptert JSON-fil"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
#, fuzzy
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr "Legg til andOTP-støtte (fritt og åpent Android 2FA-program)"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
#, fuzzy
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
"Nytt tredelt innstillingsvindu: Utseende, oppførsel og sikkerhetskopiering"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
#, fuzzy
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr "Fiks Flatpak-bygg med siste GNOME-kjørerutine"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
#, fuzzy
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr "Flytting av prosjektet til GNOME sin GitLab-verdensgruppe"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr "GNOME-skallsøktilbyder"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr "Koder utløper samtidig #91"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
#, fuzzy
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
"Omorganisering av hovedvinduet for bedre overensstemmelse med GNOME HIG"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr "Omorganisering av vindu for tillegg av konto for enklere bruk"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
"Mulighet for å legge til en konto fra en tilbyder som ikke er opplistet i "
|
||||
"innebygd database"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr "Mulighet til å redigere en konto"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
#, fuzzy
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr "Engangspassord er nå synlige som forvalg"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr "Fiks python-dbus ved å bruke GDbus istedenfor"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr "Fiks for QR-skanneren i GNOME-skallet"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr "Tillegg av ny oppføring for kontoens brukernavn"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr "Database for støttede kontoer oppdatert"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr "RASKFISK: Programmet kjørte ikke i andre grensesnitt enn GNOME"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "Nytt navn: Authenticator"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
msgid "Cleaner code base"
|
||||
msgstr "Renere kodebase"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr "Raskere oppstart"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr "Fjerning av unødvendige funksjoner"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr "Bytte til pyzbar istedenfor zbarlight"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr "Flatpak-pakke"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr "Bilal Elmoussaoui"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr "To-faktorbekreftelse"
|
||||
|
@ -298,18 +206,91 @@ msgstr "Skru på/av nattmodus fra programmet"
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr "Forvalgt oppførsel for oppblåste vinduer"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr "Hvorvidt programmet låses med et passord eller ei"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr "Hvorvidt programmet kan låses eller ei"
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Kodegenerator for to-faktorbekreftelse."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "Allan Nordhøy <epost@anotheragency.no>"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Legg til ny konto"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Lukk"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Legg til"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "Skann QR-kode"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "Lagre"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "Rediger"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Slett"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
#, fuzzy
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr "Koden \"%s\" ble kopiert til utklippstavlen"
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr "Oppførsel"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "Mørk drakt"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Bruk mørk drakt, hvis mulig"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "Lås programmet"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Mulighet for å låse programmet med et passord"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "Passord"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "Gjenta passord"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Innstillinger"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Autentiserings passord"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -347,25 +328,173 @@ msgstr "Legg til"
|
|||
#: data/ui/shortcuts.ui:51
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Velg"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Søk"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Ingen kontoer enda…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr "Lås opp"
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Start i feilrettingsmodus"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Versjonsnummer for Authenticator"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "Allan Nordhøy <epost@anotheragency.no>"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "fra en JSON-fil i klartekst"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "i en JSON-fil i klartekst"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Gjenopprett"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Sikkerhetskopier"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Innstillinger"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Doner"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
#, fuzzy
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Snarveier"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "Forvalg"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Ugyldig QR-kode"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Rediger {} - {}"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Engangspassordet utløper om {} sekunder"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Kunne ikke generere hemmelig kode"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr "Åpne"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr "JSON-filer"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr "Velg"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "Tilbyder"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Kontonavn"
|
||||
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Hemmelig symbol"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr "zbar-bibliotek ble ikke funnet. QRkodeskanneren vil skrus av"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Kopier"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Søk"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Utvelgelsesmodus"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Klikk på elementene for å velge dem"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Gammelt passord"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "Utseende"
|
||||
|
||||
#~ msgid "Clear the database"
|
||||
#~ msgstr "Tøm databasen"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "Slett eksisterende kontoer"
|
||||
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "Autentiserings passord"
|
||||
|
||||
#~ msgid "Set up application authentication password"
|
||||
#~ msgstr "Sett opp identitetbekreftelsespassord for programmet"
|
||||
|
||||
#~ msgid "The application needs to be restarted first."
|
||||
#~ msgstr "Programmet må startes på nytt først."
|
||||
|
||||
#~ msgid "The existing accounts will be erased in 5 seconds"
|
||||
#~ msgstr "Eksisterende kontoer vil bli slettet om 5 sekunder"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Angre"
|
||||
|
||||
#~ msgid "An account or more were removed."
|
||||
#~ msgstr "Én eller flere kontoer ble fjernet."
|
||||
|
||||
#~ msgid "Whether the application is locked with a password or not"
|
||||
#~ msgstr "Hvorvidt programmet låses med et passord eller ei"
|
||||
|
||||
#~ msgid "Whether the application can be locked or not"
|
||||
#~ msgstr "Hvorvidt programmet kan låses eller ei"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Velg"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
|
@ -410,109 +539,10 @@ msgstr "Versjonsnummer for Authenticator"
|
|||
#~ msgid "com.github.bilelmoussaoui.Authenticator"
|
||||
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
|
||||
|
||||
#~ msgid "Bilal Elmoussaoui"
|
||||
#~ msgstr "Bilal Elmoussaoui"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Backup Password"
|
||||
#~ msgstr "Endre passord"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ""
|
||||
#~ "Since I have moved the application to GOME Gitlab's World group, a "
|
||||
#~ "Flatpak build for each new commit is available to download from the "
|
||||
#~ "site's website."
|
||||
#~ msgstr ""
|
||||
#~ "Siden jeg har flyttet programmet til GNOME sin Gitlab-verdensgruppe, "
|
||||
#~ "finnes et Flatpak-bygg tilgjengelig for hver nye innsendelse som er "
|
||||
#~ "tilgjengelig fornedlasting fra sidens nettside."
|
||||
|
||||
#~ msgid "Backup and restore from a basic JSON file"
|
||||
#~ msgstr "Sikkerhetskopier og gjenopprett fra grunnleggende JSON-fil"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
#~ msgstr "Sikkerhetskopier og gjenopprett fra en GPG-kryptert JSON-fil"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
#~ msgstr "Legg til andOTP-støtte (fritt og åpent Android 2FA-program)"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
#~ msgstr ""
|
||||
#~ "Nytt tredelt innstillingsvindu: Utseende, oppførsel og sikkerhetskopiering"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
#~ msgstr "Fiks Flatpak-bygg med siste GNOME-kjørerutine"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Move the project to GOME Gitlab's World group"
|
||||
#~ msgstr "Flytting av prosjektet til GNOME sin GitLab-verdensgruppe"
|
||||
|
||||
#~ msgid "GNOME Shell Search provider"
|
||||
#~ msgstr "GNOME-skallsøktilbyder"
|
||||
|
||||
#~ msgid "Codes expire simultaneously #91"
|
||||
#~ msgstr "Koder utløper samtidig #91"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
#~ msgstr ""
|
||||
#~ "Omorganisering av hovedvinduet for bedre overensstemmelse med GNOME HIG"
|
||||
|
||||
#~ msgid "Revamped add a new account window to make it easier to use"
|
||||
#~ msgstr "Omorganisering av vindu for tillegg av konto for enklere bruk"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ""
|
||||
#~ "Possibility to add an account from a provider not listed in the shipped "
|
||||
#~ "database"
|
||||
#~ msgstr ""
|
||||
#~ "Mulighet for å legge til en konto fra en tilbyder som ikke er opplistet i "
|
||||
#~ "innebygd database"
|
||||
|
||||
#~ msgid "Possibilty to edit an account"
|
||||
#~ msgstr "Mulighet til å redigere en konto"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "One Time Password now visible by default"
|
||||
#~ msgstr "Engangspassord er nå synlige som forvalg"
|
||||
|
||||
#~ msgid "Fix python-dbus by using GDbus instead"
|
||||
#~ msgstr "Fiks python-dbus ved å bruke GDbus istedenfor"
|
||||
|
||||
#~ msgid "Fix the QRScanner on GNOME Shell"
|
||||
#~ msgstr "Fiks for QR-skanneren i GNOME-skallet"
|
||||
|
||||
#~ msgid "Add a new entry for the account's username"
|
||||
#~ msgstr "Tillegg av ny oppføring for kontoens brukernavn"
|
||||
|
||||
#~ msgid "Updated database of supported accounts"
|
||||
#~ msgstr "Database for støttede kontoer oppdatert"
|
||||
|
||||
#~ msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
#~ msgstr "RASKFISK: Programmet kjørte ikke i andre grensesnitt enn GNOME"
|
||||
|
||||
#~ msgid "Rename project to Authenticator"
|
||||
#~ msgstr "Nytt navn: Authenticator"
|
||||
|
||||
#~ msgid "Cleaner code base"
|
||||
#~ msgstr "Renere kodebase"
|
||||
|
||||
#~ msgid "Faster startup"
|
||||
#~ msgstr "Raskere oppstart"
|
||||
|
||||
#~ msgid "Remove unneeded features"
|
||||
#~ msgstr "Fjerning av unødvendige funksjoner"
|
||||
|
||||
#~ msgid "Switch to pyzbar instead of zbarlight"
|
||||
#~ msgstr "Bytte til pyzbar istedenfor zbarlight"
|
||||
|
||||
#~ msgid "Flatpak package"
|
||||
#~ msgstr "Flatpak-pakke"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Neste"
|
||||
|
||||
|
@ -525,9 +555,6 @@ msgstr "Versjonsnummer for Authenticator"
|
|||
#~ msgid "TwoFactorAuth"
|
||||
#~ msgstr "To-faktorbekreftelse"
|
||||
|
||||
#~ msgid "Code \"%s\" copied to clipboard"
|
||||
#~ msgstr "Koden \"%s\" ble kopiert til utklippstavlen"
|
||||
|
||||
#~ msgid "Remove the account"
|
||||
#~ msgstr "Fjern kontoen"
|
||||
|
||||
|
@ -570,9 +597,6 @@ msgstr "Versjonsnummer for Authenticator"
|
|||
#~ msgid "Enter your password"
|
||||
#~ msgstr "Skriv inn passordet ditt"
|
||||
|
||||
#~ msgid "Unlock"
|
||||
#~ msgstr "Lås opp"
|
||||
|
||||
#~ msgid "Password protection"
|
||||
#~ msgstr "Passordbeskyttelse"
|
||||
|
||||
|
|
682
po/nl.po
682
po/nl.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-01-14 07:19+0000\n"
|
||||
"Last-Translator: Nathan Follens <nthn@unseen.is>\n"
|
||||
"Language-Team: Dutch <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -19,227 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.4-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "Toepassing vergrendelen"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "uit een JSON-bestand met platte tekst"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "naar een JSON-bestand met platte tekst"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Herstellen"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Back-uppen"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Doneren"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Over Authenticator"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "Standaard"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Nieuw account toevoegen"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Toevoegen"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "QR-code scannen"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Sluiten"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "Dienst"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Accountnaam"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr "Geheime toegangssleutel"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Ongeldige QR-code"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
"De zbar-bibliotheek kan niet worden gevonden; QR-codescanner is uitgeschakeld"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "{} - {} bewerken"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "Opslaan"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Het eenmalige wachtwoord verloopt over {} seconden"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Je hebt nog geen accounts toegevoegd…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Kopiëren"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "Bewerken"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Kan geen geheime sleutel genereren"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Instellingen"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Selectiemodus"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Klik op items om ze te selecteren"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr "Authenticatiewachtwoord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "Oud wachtwoord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "Wachtwoord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "Herhaal wachtwoord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "Donker thema"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Donker thema gebruiken, indien mogelijk"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "Uiterlijk"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "Databank wissen"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "Bestaande accounts wissen"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr "Mogelijkheid om de toepassing te vergrendelen met een wachtwoord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr "Authenticatiewachtwoord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr "Stel het authenticatiewachtwoord in"
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr "Gedrag"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr "De applicatie moet worden herstart."
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr "De bestaande accounts worden over 5 seconden gewist"
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Ongedaan maken"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr "Openen"
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr "JSON-bestanden"
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr "Kiezen"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr "Eén of meerdere accounts zijn verwijderd."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -269,6 +54,121 @@ msgstr "Prachtige vormgeving"
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr "Enorme databank met (meer dan 290) websites/toepassingen"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
"Sinds de verhuizing naar GNOME Gitlab's World-groep, is er op de website een "
|
||||
"Flatpak-pakket beschikbaar voor elke nieuwe commit."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr "Back-up en herstel uit een basis-JSON-bestand"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr "Back-up en herstel uit een met GPG versleuteld JSON-bestand"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
"andOTP-ondersteuning toegevoegd (gratis en vrije Android-app voor "
|
||||
"authenticatie in twee stappen)"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr "Nieuw instellingenvenster met 3 secties: uiterlijk, gedrag en back-up"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr "Flatpak-pakketten compatibel gemaakt met de nieuwste GNOME Runtime"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr "Project verplaatst naar GNOME Gitlab World-groep"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr "GNOME Shell-zoekdienst"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr "Codes vervallen tegelijkertijd #91"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr "Hoofdvenster opnieuw ontworpen om meer te voldoen aan de GNOME HIG"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
"Nieuw account-venster opnieuw ontworpen zodat het eenvoudig is geworden"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
"Mogelijkheid om een account toe te voegen van een dienst die niet in de "
|
||||
"databank voorkomt"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr "Mogelijkheid om een account te bewerken"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr "Eenmalig wachtwoord is nu standaard zichtbaar"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr "python-dbus-probleem opgelost door GDbus te gebruiken"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr "QR-codescanner gerepareerd bij gebruik in GNOME Shell"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr "Voeg een nieuw item toe voor de gebruikersnaam"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr "Databank met ondersteunde accounts bijgewerkt"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr "BELANGRIJK: de app draait nu ook in andere werkomgevingen dan GNOME"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "Projectnaam gewijzigd in Authenticator"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
msgid "Cleaner code base"
|
||||
msgstr "Eenvoudigere broncode"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr "Snellere opstart"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr "Onnodige functies verwijderd"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr "Overgeschakeld van zbarlight naar pyzbar"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr "Flatpak-pakket"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr "Bilal Elmoussaoui"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr "Authenticatie in twee stappen"
|
||||
|
@ -298,18 +198,90 @@ msgstr "Schakelt de nachtmodus in de toepassing in/uit"
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr "Standaardgedrag van gemaximaliseerd venster"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr "Of de toepassing moet worden vergrendeld met een wachtwoord"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr "Of de toepassing vergrendeld kan worden"
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Code-generator voor authenticatie in twee stappen."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "Nathan Follens, Heimen Stoffels"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Nieuw account toevoegen"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Sluiten"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Toevoegen"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "QR-code scannen"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "Opslaan"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "Bewerken"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr "Gedrag"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "Donker thema"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Donker thema gebruiken, indien mogelijk"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "Toepassing vergrendelen"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Mogelijkheid om de toepassing te vergrendelen met een wachtwoord"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "Wachtwoord"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "Herhaal wachtwoord"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Instellingen"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Authenticatiewachtwoord"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -342,24 +314,172 @@ msgstr "Toevoegen"
|
|||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Selecteren"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Je hebt nog geen accounts toegevoegd…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr "Ontgrendelen"
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Starten in foutopsporingsmodus"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Versienummer van Authenticator"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "Nathan Follens, Heimen Stoffels"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "uit een JSON-bestand met platte tekst"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "naar een JSON-bestand met platte tekst"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Herstellen"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Back-uppen"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Doneren"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Over Authenticator"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "Standaard"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Ongeldige QR-code"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "{} - {} bewerken"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Het eenmalige wachtwoord verloopt over {} seconden"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Kan geen geheime sleutel genereren"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr "Openen"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr "JSON-bestanden"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr "Kiezen"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "Dienst"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Accountnaam"
|
||||
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Geheime toegangssleutel"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr ""
|
||||
#~ "De zbar-bibliotheek kan niet worden gevonden; QR-codescanner is "
|
||||
#~ "uitgeschakeld"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Kopiëren"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Zoeken"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Selectiemodus"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Klik op items om ze te selecteren"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Oud wachtwoord"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "Uiterlijk"
|
||||
|
||||
#~ msgid "Clear the database"
|
||||
#~ msgstr "Databank wissen"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "Bestaande accounts wissen"
|
||||
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "Authenticatiewachtwoord"
|
||||
|
||||
#~ msgid "Set up application authentication password"
|
||||
#~ msgstr "Stel het authenticatiewachtwoord in"
|
||||
|
||||
#~ msgid "The application needs to be restarted first."
|
||||
#~ msgstr "De applicatie moet worden herstart."
|
||||
|
||||
#~ msgid "The existing accounts will be erased in 5 seconds"
|
||||
#~ msgstr "De bestaande accounts worden over 5 seconden gewist"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Ongedaan maken"
|
||||
|
||||
#~ msgid "An account or more were removed."
|
||||
#~ msgstr "Eén of meerdere accounts zijn verwijderd."
|
||||
|
||||
#~ msgid "Whether the application is locked with a password or not"
|
||||
#~ msgstr "Of de toepassing moet worden vergrendeld met een wachtwoord"
|
||||
|
||||
#~ msgid "Whether the application can be locked or not"
|
||||
#~ msgstr "Of de toepassing vergrendeld kan worden"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Selecteren"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
|
@ -406,100 +526,9 @@ msgstr "Versienummer van Authenticator"
|
|||
#~ msgid "com.github.bilelmoussaoui.Authenticator"
|
||||
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
|
||||
|
||||
#~ msgid "Bilal Elmoussaoui"
|
||||
#~ msgstr "Bilal Elmoussaoui"
|
||||
|
||||
#~ msgid "Backup Password"
|
||||
#~ msgstr "Wachtwoord back-uppen"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Since I have moved the application to GOME Gitlab's World group, a "
|
||||
#~ "Flatpak build for each new commit is available to download from the "
|
||||
#~ "site's website."
|
||||
#~ msgstr ""
|
||||
#~ "Sinds de verhuizing naar GNOME Gitlab's World-groep, is er op de website "
|
||||
#~ "een Flatpak-pakket beschikbaar voor elke nieuwe commit."
|
||||
|
||||
#~ msgid "Backup and restore from a basic JSON file"
|
||||
#~ msgstr "Back-up en herstel uit een basis-JSON-bestand"
|
||||
|
||||
#~ msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
#~ msgstr "Back-up en herstel uit een met GPG versleuteld JSON-bestand"
|
||||
|
||||
#~ msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
#~ msgstr ""
|
||||
#~ "andOTP-ondersteuning toegevoegd (gratis en vrije Android-app voor "
|
||||
#~ "authenticatie in twee stappen)"
|
||||
|
||||
#~ msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
#~ msgstr ""
|
||||
#~ "Nieuw instellingenvenster met 3 secties: uiterlijk, gedrag en back-up"
|
||||
|
||||
#~ msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
#~ msgstr "Flatpak-pakketten compatibel gemaakt met de nieuwste GNOME Runtime"
|
||||
|
||||
#~ msgid "Move the project to GOME Gitlab's World group"
|
||||
#~ msgstr "Project verplaatst naar GNOME Gitlab World-groep"
|
||||
|
||||
#~ msgid "GNOME Shell Search provider"
|
||||
#~ msgstr "GNOME Shell-zoekdienst"
|
||||
|
||||
#~ msgid "Codes expire simultaneously #91"
|
||||
#~ msgstr "Codes vervallen tegelijkertijd #91"
|
||||
|
||||
#~ msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
#~ msgstr "Hoofdvenster opnieuw ontworpen om meer te voldoen aan de GNOME HIG"
|
||||
|
||||
#~ msgid "Revamped add a new account window to make it easier to use"
|
||||
#~ msgstr ""
|
||||
#~ "Nieuw account-venster opnieuw ontworpen zodat het eenvoudig is geworden"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Possibility to add an account from a provider not listed in the shipped "
|
||||
#~ "database"
|
||||
#~ msgstr ""
|
||||
#~ "Mogelijkheid om een account toe te voegen van een dienst die niet in de "
|
||||
#~ "databank voorkomt"
|
||||
|
||||
#~ msgid "Possibilty to edit an account"
|
||||
#~ msgstr "Mogelijkheid om een account te bewerken"
|
||||
|
||||
#~ msgid "One Time Password now visible by default"
|
||||
#~ msgstr "Eenmalig wachtwoord is nu standaard zichtbaar"
|
||||
|
||||
#~ msgid "Fix python-dbus by using GDbus instead"
|
||||
#~ msgstr "python-dbus-probleem opgelost door GDbus te gebruiken"
|
||||
|
||||
#~ msgid "Fix the QRScanner on GNOME Shell"
|
||||
#~ msgstr "QR-codescanner gerepareerd bij gebruik in GNOME Shell"
|
||||
|
||||
#~ msgid "Add a new entry for the account's username"
|
||||
#~ msgstr "Voeg een nieuw item toe voor de gebruikersnaam"
|
||||
|
||||
#~ msgid "Updated database of supported accounts"
|
||||
#~ msgstr "Databank met ondersteunde accounts bijgewerkt"
|
||||
|
||||
#~ msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
#~ msgstr "BELANGRIJK: de app draait nu ook in andere werkomgevingen dan GNOME"
|
||||
|
||||
#~ msgid "Rename project to Authenticator"
|
||||
#~ msgstr "Projectnaam gewijzigd in Authenticator"
|
||||
|
||||
#~ msgid "Cleaner code base"
|
||||
#~ msgstr "Eenvoudigere broncode"
|
||||
|
||||
#~ msgid "Faster startup"
|
||||
#~ msgstr "Snellere opstart"
|
||||
|
||||
#~ msgid "Remove unneeded features"
|
||||
#~ msgstr "Onnodige functies verwijderd"
|
||||
|
||||
#~ msgid "Switch to pyzbar instead of zbarlight"
|
||||
#~ msgstr "Overgeschakeld van zbarlight naar pyzbar"
|
||||
|
||||
#~ msgid "Flatpak package"
|
||||
#~ msgstr "Flatpak-pakket"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Volgende"
|
||||
|
||||
|
@ -556,9 +585,6 @@ msgstr "Versienummer van Authenticator"
|
|||
#~ msgid "Enter your password"
|
||||
#~ msgstr "Voer je wachtwoord in"
|
||||
|
||||
#~ msgid "Unlock"
|
||||
#~ msgstr "Ontgrendelen"
|
||||
|
||||
#~ msgid "Remove the account"
|
||||
#~ msgstr "Account verwijderen"
|
||||
|
||||
|
|
587
po/nl_BE.po
587
po/nl_BE.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-01-14 07:20+0000\n"
|
||||
"Last-Translator: Nathan Follens <nthn@unseen.is>\n"
|
||||
"Language-Team: Flemish <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -19,228 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.4-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "Toepassing vergrendelen"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "uit een JSON-bestand met platte tekst"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "naar een JSON-bestand met platte tekst"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Herstellen"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Back-up maken"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Doneren"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Over Authenticator"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "Standaard"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Nieuwen account toevoegen"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Toevoegen"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "QR-code scannen"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Sluiten"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "Dienst"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Accountnaam"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr "Geheim token"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Ongeldige QR-code"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
"De zbar-bibliotheek kan niet gevonden worden. QR-codescanner wordt "
|
||||
"uitgeschakeld"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "{} - {} bewerken"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "Opslaan"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Het eenmalig paswoord verloopt binnen {} seconden"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Ge hebt nog geen accounts toegevoegd…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Kopiëren"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "Bewerken"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Aanmaken van geheime code mislukt"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Instellingen"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Selectiemodus"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Klikt op items voor ze te selecteren"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr "Authenticatiepaswoord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "Oud paswoord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "Paswoord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "Herhaalt het paswoord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "Donker thema"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Donker thema gebruiken, indien mogelijk"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "Uiterlijk"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "Databank wissen"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "Bestaande accounts wissen"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr "Mogelijkheid voor de toepassing te vergrendelen met een paswoord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr "Authenticatiepaswoord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr "Authenticatiepaswoord instellen"
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr "Gedrag"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr "De toepassing moet herstart worden."
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr "De bestaande accounts worden binnen 5 seconden gewist"
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Ongedaan maken"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr "Openen"
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr "JSON-bestanden"
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr "Selecteren"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr "Enen of meerdere accounts zijn verwijderd."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -270,6 +54,116 @@ msgstr "Prachtige vormgeving"
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr "Enorme databank met (meer dan 290) websites/toepassingen"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "Over Authenticator"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
#, fuzzy
|
||||
msgid "Cleaner code base"
|
||||
msgstr "Databank wissen"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr "Tweefactorauthenticatie"
|
||||
|
@ -299,19 +193,90 @@ msgstr "Schakelt de nachtmodus in de toepassing in/uit"
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr "Standaardgedrag van gemaximaliseerd venster"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr ""
|
||||
"Of dat de toepassing al dan niet moet vergrendeld worden met een paswoord"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr "Of dat de toepassing al dan niet kan vergrendeld worden"
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Generator voor tweefactorauthenticatiecodes."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "Nathan Follens"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Nieuwen account toevoegen"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Sluiten"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Toevoegen"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "QR-code scannen"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "Opslaan"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "Bewerken"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr "Gedrag"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "Donker thema"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Donker thema gebruiken, indien mogelijk"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "Toepassing vergrendelen"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Mogelijkheid voor de toepassing te vergrendelen met een paswoord"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "Paswoord"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "Herhaalt het paswoord"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Instellingen"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Authenticatiepaswoord"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -344,24 +309,170 @@ msgstr "Toevoegen"
|
|||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Selecteren"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Ge hebt nog geen accounts toegevoegd…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Starten in debugmodus"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Versienummer van Authenticator"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "Nathan Follens"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "uit een JSON-bestand met platte tekst"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "naar een JSON-bestand met platte tekst"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Herstellen"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Back-up maken"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Doneren"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Over Authenticator"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "Standaard"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Ongeldige QR-code"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "{} - {} bewerken"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Het eenmalig paswoord verloopt binnen {} seconden"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Aanmaken van geheime code mislukt"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr "Openen"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr "JSON-bestanden"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr "Selecteren"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "Dienst"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Accountnaam"
|
||||
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Geheim token"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr ""
|
||||
#~ "De zbar-bibliotheek kan niet gevonden worden. QR-codescanner wordt "
|
||||
#~ "uitgeschakeld"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Kopiëren"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Zoeken"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Selectiemodus"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Klikt op items voor ze te selecteren"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Oud paswoord"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "Uiterlijk"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "Bestaande accounts wissen"
|
||||
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "Authenticatiepaswoord"
|
||||
|
||||
#~ msgid "Set up application authentication password"
|
||||
#~ msgstr "Authenticatiepaswoord instellen"
|
||||
|
||||
#~ msgid "The application needs to be restarted first."
|
||||
#~ msgstr "De toepassing moet herstart worden."
|
||||
|
||||
#~ msgid "The existing accounts will be erased in 5 seconds"
|
||||
#~ msgstr "De bestaande accounts worden binnen 5 seconden gewist"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Ongedaan maken"
|
||||
|
||||
#~ msgid "An account or more were removed."
|
||||
#~ msgstr "Enen of meerdere accounts zijn verwijderd."
|
||||
|
||||
#~ msgid "Whether the application is locked with a password or not"
|
||||
#~ msgstr ""
|
||||
#~ "Of dat de toepassing al dan niet moet vergrendeld worden met een paswoord"
|
||||
|
||||
#~ msgid "Whether the application can be locked or not"
|
||||
#~ msgstr "Of dat de toepassing al dan niet kan vergrendeld worden"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Selecteren"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
|
@ -373,10 +484,6 @@ msgstr "Versienummer van Authenticator"
|
|||
#~ msgid "com.github.bilelmoussaoui.Authenticator"
|
||||
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Rename project to Authenticator"
|
||||
#~ msgstr "Over Authenticator"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Volgende"
|
||||
|
||||
|
|
575
po/pl.po
575
po/pl.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2018-09-16 13:49+0000\n"
|
||||
"Last-Translator: WaldiS <admin@sto.ugu.pl>\n"
|
||||
"Language-Team: Polish <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -20,232 +20,12 @@ msgstr ""
|
|||
"|| n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 3.2-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Wystawca uwierzytelnienia"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "z pliku JSON z czystym tekstem"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "w pliku JSON z czystym tekstem"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Przywracanie"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
#, fuzzy
|
||||
msgid "Backup"
|
||||
msgstr "Kopia zapasowa"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "Wystawca uwierzytelnienia"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "Domyślne"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Dodaj nowe konto"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Dodaj"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "Skanuj kod QR"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "Dostawca"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Nazwa konta"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr "Tajny token"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Nieprawidłowy kod QR"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
"biblioteka zbar nie została znaleziona. Skaner QRCode zostanie wyłączony"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Edycja {} - {}"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "Zapisz"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Hasła jednorazowe wygasają za {} sekund"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Nie ma jeszcze żadnych kont…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Kopiuj"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "Edycja"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Nie udało się wygenerować sekretnego kodu"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Usuń"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Szukaj"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Ustawienia"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Tryb zaznaczania"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Kliknij na elementy aby je wybrać"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
#, fuzzy
|
||||
msgid "Authentication Password"
|
||||
msgstr "Wystawca uwierzytelnienia"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "Stare hasło"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "Hasło"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "Powtórz hasło"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "Ciemny motyw"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Użyj ciemnego motywu, jeśli to możliwe"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "Wygląd"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
#, fuzzy
|
||||
msgid "Authentication password"
|
||||
msgstr "Wystawca uwierzytelnienia"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Cofnij"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Tryb zaznaczania"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -275,6 +55,116 @@ msgstr ""
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
#, fuzzy
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr "z zaszyfrowanego OpenPGP pliku JSON"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "O Authenticatorze"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
msgid "Cleaner code base"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr "Bilal Elmoussaoui"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr "Uwierzytelnianie dwuskładnikowe"
|
||||
|
@ -305,18 +195,90 @@ msgstr ""
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Dwuskładnikowy generator kodów uwierzytelniających."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "tłumacz-uznanie"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Dodaj nowe konto"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Dodaj"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "Skanuj kod QR"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "Zapisz"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "Edycja"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Usuń"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "Ciemny motyw"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Użyj ciemnego motywu, jeśli to możliwe"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Wystawca uwierzytelnienia"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "Hasło"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "Powtórz hasło"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Ustawienia"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Wystawca uwierzytelnienia"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -353,33 +315,153 @@ msgstr "Dodaj"
|
|||
#: data/ui/shortcuts.ui:51
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Tryb zaznaczania"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Szukaj"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Nie ma jeszcze żadnych kont…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Wystawca uwierzytelnienia"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Uruchom w trybie debugowania"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Wersja Authenticatora"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "tłumacz-uznanie"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "z pliku JSON z czystym tekstem"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "w pliku JSON z czystym tekstem"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Przywracanie"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
#, fuzzy
|
||||
msgid "Backup"
|
||||
msgstr "Kopia zapasowa"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "Wystawca uwierzytelnienia"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "Domyślne"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Nieprawidłowy kod QR"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Edycja {} - {}"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Hasła jednorazowe wygasają za {} sekund"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Nie udało się wygenerować sekretnego kodu"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Tryb zaznaczania"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "Dostawca"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Nazwa konta"
|
||||
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Tajny token"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr ""
|
||||
#~ "biblioteka zbar nie została znaleziona. Skaner QRCode zostanie wyłączony"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Kopiuj"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Szukaj"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Tryb zaznaczania"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Kliknij na elementy aby je wybrać"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Stare hasło"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "Wygląd"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Cofnij"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Tryb zaznaczania"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
#~ msgstr "Wystawca uwierzytelnienia"
|
||||
|
||||
#~ msgid "from an OpenPGP-encrypted JSON file"
|
||||
#~ msgstr "z zaszyfrowanego OpenPGP pliku JSON"
|
||||
|
||||
#~ msgid "in an OpenPGP-encrypted JSON file"
|
||||
#~ msgstr "w zaszyfrowanym OpenPGP pliku JSON"
|
||||
|
||||
|
@ -410,13 +492,6 @@ msgstr "Wersja Authenticatora"
|
|||
#~ msgid "com.github.bilelmoussaoui.Authenticator"
|
||||
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
|
||||
|
||||
#~ msgid "Bilal Elmoussaoui"
|
||||
#~ msgstr "Bilal Elmoussaoui"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Rename project to Authenticator"
|
||||
#~ msgstr "O Authenticatorze"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Następny"
|
||||
|
||||
|
|
583
po/pt_BR.po
583
po/pt_BR.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-01-11 03:06+0000\n"
|
||||
"Last-Translator: RD WebDesign <weblate@rdwebdesign.com.br>\n"
|
||||
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
|
||||
|
@ -19,227 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 3.4-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Autenticador"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "Bloquear o aplicativo"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "de um arquivo JSON de texto simples"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "em um arquivo JSON em texto simples"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Restaurar"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Cópia de segurança"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Preferências"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Doar"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atalhos de Teclado"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Sobre o Autenticador"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "Padrão"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Adicionar uma nova conta"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Adicionar"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "Escanear código QR"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Fechar"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "Provedor"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Nome da conta"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr "Token secreto"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Código QR inválido"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
"A biblioteca zbar não foi encontrada. O escaneador QRCode será desativado"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Editar {} - {}"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "Salvar"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "As senhas de uso único expiram em {} segundos"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Ainda não há contas…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Copiar"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Não foi possível gerar o código secreto"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Excluir"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Procurar"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Configurações"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Modo de seleção"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Clique nos itens para selecioná-los"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr "Senha de autenticação"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "Senha antiga"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "Senha"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "Repetir senha"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "Tema escuro"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Use um tema escuro, se possível"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "Aparência"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "Limpar o banco de dados"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "Apagar contas existentes"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr "Possibilidade de bloquear o aplicativo com uma senha"
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr "Senha de autenticação"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr "Configurar senha de autenticação do aplicativo"
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr "Comportamento"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr "O aplicativo precisa ser reiniciado antes."
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr "As contas existentes serão apagadas em 5 segundos"
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Desfazer"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr "Abrir"
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr "Arquivos JSON"
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr "Selecionar"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr "Uma ou mais contas foram removidas."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -269,6 +54,117 @@ msgstr "Uma interface de usuário bonita"
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr "Enorme banco de dados (290+) de web sites e aplicativos"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
#, fuzzy
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr "de um arquivo JSON criptografado com OpenPGP"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "Sobre o Autenticador"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
#, fuzzy
|
||||
msgid "Cleaner code base"
|
||||
msgstr "Limpar o banco de dados"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr "Autenticação de dois fatores"
|
||||
|
@ -298,18 +194,90 @@ msgstr "Ativar/desativar o modo noturno dentro do aplicativo"
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr "Comportamento padrão da janela maximizada"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr "Se o aplicativo está ou não bloqueado com uma senha"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr "Se o aplicativo pode ou não ser bloqueado"
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Gerador de código de autenticação de dois fatores."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "Fúlvio Alves <fga.fulvio@gmail.com>"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Adicionar uma nova conta"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Fechar"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Adicionar"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "Escanear código QR"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "Salvar"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Excluir"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr "Comportamento"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "Tema escuro"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Use um tema escuro, se possível"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "Bloquear o aplicativo"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Possibilidade de bloquear o aplicativo com uma senha"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "Senha"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "Repetir senha"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Configurações"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Senha de autenticação"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -342,32 +310,173 @@ msgstr "Adicionar"
|
|||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Selecionar"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Procurar"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Ainda não há contas…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Autenticador"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Iniciar no modo de depuração"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Número da versão do Autenticador"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "Fúlvio Alves <fga.fulvio@gmail.com>"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "de um arquivo JSON de texto simples"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "em um arquivo JSON em texto simples"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Restaurar"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Cópia de segurança"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Preferências"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Doar"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atalhos de Teclado"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Sobre o Autenticador"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "Padrão"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Código QR inválido"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Editar {} - {}"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "As senhas de uso único expiram em {} segundos"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Não foi possível gerar o código secreto"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr "Abrir"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr "Arquivos JSON"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr "Selecionar"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "Provedor"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Nome da conta"
|
||||
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Token secreto"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr ""
|
||||
#~ "A biblioteca zbar não foi encontrada. O escaneador QRCode será desativado"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Copiar"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Procurar"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Modo de seleção"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Clique nos itens para selecioná-los"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Senha antiga"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "Aparência"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "Apagar contas existentes"
|
||||
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "Senha de autenticação"
|
||||
|
||||
#~ msgid "Set up application authentication password"
|
||||
#~ msgstr "Configurar senha de autenticação do aplicativo"
|
||||
|
||||
#~ msgid "The application needs to be restarted first."
|
||||
#~ msgstr "O aplicativo precisa ser reiniciado antes."
|
||||
|
||||
#~ msgid "The existing accounts will be erased in 5 seconds"
|
||||
#~ msgstr "As contas existentes serão apagadas em 5 segundos"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Desfazer"
|
||||
|
||||
#~ msgid "An account or more were removed."
|
||||
#~ msgstr "Uma ou mais contas foram removidas."
|
||||
|
||||
#~ msgid "Whether the application is locked with a password or not"
|
||||
#~ msgstr "Se o aplicativo está ou não bloqueado com uma senha"
|
||||
|
||||
#~ msgid "Whether the application can be locked or not"
|
||||
#~ msgstr "Se o aplicativo pode ou não ser bloqueado"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Selecionar"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
#~ msgstr "Autenticador"
|
||||
|
||||
#~ msgid "from an OpenPGP-encrypted JSON file"
|
||||
#~ msgstr "de um arquivo JSON criptografado com OpenPGP"
|
||||
|
||||
#~ msgid "in an OpenPGP-encrypted JSON file"
|
||||
#~ msgstr "em um arquivo JSON encriptado com OpenPGP"
|
||||
|
||||
|
|
577
po/ru.po
577
po/ru.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-01-08 00:59+0000\n"
|
||||
"Last-Translator: Vladislav <vladislavp@pm.me>\n"
|
||||
"Language-Team: Russian <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -20,226 +20,12 @@ msgstr ""
|
|||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 3.4-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Аутентификатор"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "Заблокировать приложение"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "из текстового файла в формате JSON"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "в текстовый файл в формате JSON"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Восстановить"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Резервное копирование"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Настройки"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Пожертвовать"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Горячие Клавиши"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Об Аутентификаторе"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "По умолчанию"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Добавить новый аккаунт"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Добавить"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "Сканировать QR код"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "Провайдер"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Имя аккаунта"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr "Секретный токен"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Некорректный QR код"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr "zbar библиотека не найдена. Сканнер QRCode будет отключен"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Редактировать {} - {}"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "Сохранить"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Одноразовый пароль истекает через {} секунд"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Не добавлено ни одного аккаунта…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Копировать"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "Редактировать"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Не удалось генерировать секретный код"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Поиск"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Настройки"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Режим выбора"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Отменить"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Нажмите на элемент для выбора"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr "Пароль Аутентификации"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "Старый Пароль"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "Пароль"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "Повторите пароль"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "Тёмная тема"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "По возможности используйте тёмную тему"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "Внешний вид"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "Очистить базу данных"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "Удалить существующие аккаунты"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr "Возможность блокировки программы паролем"
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr "Пароль аутентификации"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr "Установите пароль аутентификации приложения"
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr "Поведение"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr "Приложению требуется перезапуск."
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr "Существующие аккаунты будут удалены через 5 секунд"
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Отменить"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr "Открыть"
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr "JSON файлы"
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr "Выбрать"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr "Один или несколько аккаунтов были удалены."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -269,6 +55,116 @@ msgstr "Прекрасный Пользовательский Интерфейс
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr "Огромная база данных (290+) веб-сайтов/приложений"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "Об Аутентификаторе"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
#, fuzzy
|
||||
msgid "Cleaner code base"
|
||||
msgstr "Очистить базу данных"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr "Двухфакторная аутентификация"
|
||||
|
@ -298,18 +194,90 @@ msgstr "Включение/выключение ночного режима в
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr "Поведение по умолчанию для развернутого окна"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr "Заблокировано ли приложение паролем или нет"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr "Может ли приложение быть заблоровано или нет"
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Генератор кодов двухфакторной аутентификации."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "благодарность-переводчикам"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Добавить новый аккаунт"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Добавить"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "Сканировать QR код"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "Сохранить"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "Редактировать"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr "Поведение"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "Тёмная тема"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "По возможности используйте тёмную тему"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "Заблокировать приложение"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Возможность блокировки программы паролем"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "Пароль"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "Повторите пароль"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Настройки"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Пароль Аутентификации"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -342,21 +310,164 @@ msgstr "Добавить"
|
|||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Выбрать"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Поиск"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Не добавлено ни одного аккаунта…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Аутентификатор"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Запустить в режиме отладки"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Номер версии аутентификатора"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "благодарность-переводчикам"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "из текстового файла в формате JSON"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "в текстовый файл в формате JSON"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Восстановить"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Резервное копирование"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Настройки"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Пожертвовать"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Горячие Клавиши"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Об Аутентификаторе"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "По умолчанию"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Некорректный QR код"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Редактировать {} - {}"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Одноразовый пароль истекает через {} секунд"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Не удалось генерировать секретный код"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr "Открыть"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Отменить"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr "JSON файлы"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr "Выбрать"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "Провайдер"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Имя аккаунта"
|
||||
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Секретный токен"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr "zbar библиотека не найдена. Сканнер QRCode будет отключен"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Копировать"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Поиск"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Режим выбора"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Нажмите на элемент для выбора"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Старый Пароль"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "Внешний вид"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "Удалить существующие аккаунты"
|
||||
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "Пароль аутентификации"
|
||||
|
||||
#~ msgid "Set up application authentication password"
|
||||
#~ msgstr "Установите пароль аутентификации приложения"
|
||||
|
||||
#~ msgid "The application needs to be restarted first."
|
||||
#~ msgstr "Приложению требуется перезапуск."
|
||||
|
||||
#~ msgid "The existing accounts will be erased in 5 seconds"
|
||||
#~ msgstr "Существующие аккаунты будут удалены через 5 секунд"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Отменить"
|
||||
|
||||
#~ msgid "An account or more were removed."
|
||||
#~ msgstr "Один или несколько аккаунтов были удалены."
|
||||
|
||||
#~ msgid "Whether the application is locked with a password or not"
|
||||
#~ msgstr "Заблокировано ли приложение паролем или нет"
|
||||
|
||||
#~ msgid "Whether the application can be locked or not"
|
||||
#~ msgstr "Может ли приложение быть заблоровано или нет"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Выбрать"
|
||||
|
|
558
po/sr.po
558
po/sr.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2018-03-25 14:53+0000\n"
|
||||
"Last-Translator: Slobodan Terzić <githzerai06@gmail.com>\n"
|
||||
"Language-Team: Serbian <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -20,233 +20,12 @@ msgstr ""
|
|||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 2.20-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Аутентификатор"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
#, fuzzy
|
||||
msgid "Backup"
|
||||
msgstr "Назад"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "Аутентификатор"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Додај нови налог"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Додај"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "Скенирај КуР код"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Затвори"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Име налога"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
#, fuzzy
|
||||
msgid "Secret token"
|
||||
msgstr "Тајни токен"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Неисправан КуР код"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
#, fuzzy
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Још увек нема налога..."
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Умножи"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Не могу да направим тајни код"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Обриши"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Претражи"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Подешавања"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Режим избора"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Откажи"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Кликните на ставке да их изаберете"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
#, fuzzy
|
||||
msgid "Authentication Password"
|
||||
msgstr "Аутентификатор"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
#, fuzzy
|
||||
msgid "Authentication password"
|
||||
msgstr "Аутентификатор"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Опозови"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Режим избора"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
#, fuzzy
|
||||
|
@ -278,6 +57,115 @@ msgstr ""
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "О Аутентификатору"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
msgid "Cleaner code base"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
#, fuzzy
|
||||
msgid "Two-factor authentication"
|
||||
|
@ -309,19 +197,91 @@ msgstr ""
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
#, fuzzy
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Стваралац кодова за двофакторну аутентификацију."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "Слободан Терзић <githzerai06@gmail.com>"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Додај нови налог"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Затвори"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Додај"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "Скенирај КуР код"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Обриши"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Аутентификатор"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Подешавања"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Аутентификатор"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -358,25 +318,137 @@ msgstr "Додај"
|
|||
#: data/ui/shortcuts.ui:51
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Режим избора"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Претражи"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
#, fuzzy
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Још увек нема налога..."
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Аутентификатор"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Покрени у режиму за исправљање грешака"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Верзија Аутентификатора"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "Слободан Терзић <githzerai06@gmail.com>"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
#, fuzzy
|
||||
msgid "Backup"
|
||||
msgstr "Назад"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "Аутентификатор"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Неисправан КуР код"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Не могу да направим тајни код"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Откажи"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Режим избора"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Име налога"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Тајни токен"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Умножи"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Претражи"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Режим избора"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Кликните на ставке да их изаберете"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Опозови"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Режим избора"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
|
@ -388,10 +460,6 @@ msgstr "Верзија Аутентификатора"
|
|||
#~ msgid "com.github.bilelmoussaoui.Authenticator"
|
||||
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Rename project to Authenticator"
|
||||
#~ msgstr "О Аутентификатору"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Следеће"
|
||||
|
||||
|
|
558
po/sr@latin.po
558
po/sr@latin.po
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Serbian (Authenticator)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2018-03-24 20:59+0000\n"
|
||||
"Last-Translator: Slobodan Terzić <githzerai06@gmail.com>\n"
|
||||
"Language-Team: Serbian (latin) <https://hosted.weblate.org/projects/"
|
||||
|
@ -15,233 +15,12 @@ msgstr ""
|
|||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 2.20-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Autentifikator"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
#, fuzzy
|
||||
msgid "Backup"
|
||||
msgstr "Nazad"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "Autentifikator"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Dodaj novi nalog"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Dodaj"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "Skeniraj QR kod"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Zatvori"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Ime naloga"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
#, fuzzy
|
||||
msgid "Secret token"
|
||||
msgstr "Tajni token"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Neispravan QR kod"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
#, fuzzy
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Još uvek nema naloga..."
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Umnoži"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Ne mogu da napravim tajni kod"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Obriši"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Pretraži"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Podešavanja"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Režim izbora"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Otkaži"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Kliknite na stavke da ih izaberete"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
#, fuzzy
|
||||
msgid "Authentication Password"
|
||||
msgstr "Autentifikator"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
#, fuzzy
|
||||
msgid "Authentication password"
|
||||
msgstr "Autentifikator"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Opozovi"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Režim izbora"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
#, fuzzy
|
||||
|
@ -273,6 +52,115 @@ msgstr ""
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "O Autentifikatoru"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
msgid "Cleaner code base"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
#, fuzzy
|
||||
msgid "Two-factor authentication"
|
||||
|
@ -304,19 +192,91 @@ msgstr ""
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
#, fuzzy
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Stvaralac kodova za dvofaktornu autentifikaciju."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "Slobodan Terzić <githzerai06@gmail.com>"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Dodaj novi nalog"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Zatvori"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Dodaj"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "Skeniraj QR kod"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Obriši"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Autentifikator"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Podešavanja"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Autentifikator"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -353,25 +313,137 @@ msgstr "Dodaj"
|
|||
#: data/ui/shortcuts.ui:51
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Režim izbora"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
#, fuzzy
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Pretraži"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
#, fuzzy
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Još uvek nema naloga..."
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Autentifikator"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Pokreni u režimu za ispravljanje grešaka"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Verzija Autentifikatora"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "Slobodan Terzić <githzerai06@gmail.com>"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
#, fuzzy
|
||||
msgid "Backup"
|
||||
msgstr "Nazad"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
#, fuzzy
|
||||
msgid "About Authenticator"
|
||||
msgstr "Autentifikator"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Neispravan QR kod"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Ne mogu da napravim tajni kod"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Otkaži"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Režim izbora"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Ime naloga"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Tajni token"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Umnoži"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Pretraži"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Režim izbora"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Kliknite na stavke da ih izaberete"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Opozovi"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Režim izbora"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
|
@ -383,10 +455,6 @@ msgstr "Verzija Autentifikatora"
|
|||
#~ msgid "com.github.bilelmoussaoui.Authenticator"
|
||||
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Rename project to Authenticator"
|
||||
#~ msgstr "O Autentifikatoru"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Sledeće"
|
||||
|
||||
|
|
618
po/sv.po
618
po/sv.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-01-01 16:01+0000\n"
|
||||
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
|
||||
"Language-Team: Swedish <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -19,226 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.4-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "Lås programmet"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "från en oformaterad JSON-fil"
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "i en oformaterad JSON-fil"
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Återställ"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Säkerhetskopiera"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Inställningar"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Donera"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tangentbordsgenvägar"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Om Authenticator"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "Standard"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Lägg till ett nytt konto"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Lägg till"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "Läs av QR-kod"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Stäng"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "Leverantör"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Kontonamn"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr "Hemlig token"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Ogiltig QR-kod"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr "zbar-bibliotek hittades inte. QR-kodskanner inaktiveras."
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Redigera {} - {}"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "Spara"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Engångslösenordet upphör att gälla om {} sekunder"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Det finns inga konton ännu…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Kopiera"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "Redigera"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Kunde inte generera den hemliga koden"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Ta bort"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Sök"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Inställningar"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Urvalsläge"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Klicka på objekt för att välja dem"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr "Autentiseringslösenord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "Gammalt lösenord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "Lösenord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "Upprepa lösenord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "Mörkt tema"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Använd om möjligt ett mörkt tema"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "Utseende"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "Rensa databasen"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "Radera befintliga konton"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr "Möjlighet att låsa programmet med ett lösenord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr "Autentiseringslösenord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr "Konfigurera autentiseringslösenord"
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr "Beteende"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr "Programmet måste startas om först."
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr "De befintliga kontona kommer att raderas om 5 sekunder"
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr "Ångra"
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr "Öppna"
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr "JSON-filer"
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr "Välj"
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr "Ett konto eller fler, togs bort."
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -268,6 +54,115 @@ msgstr "Vackert användargränssnitt"
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr "Enorm databas med (290+) webbplatser/program"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
#, fuzzy
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr "från en OpenPGP-krypterad JSON-fil"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr "Fixa QR-läsaren i GNOME Shell"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr "Lägg till en ny post för kontots användarnamn"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr "Uppdaterad databas över konton som stöds"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr "SNABBFIX: Programmet gick inte köra annat än i GNOME"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "Byt namn på projektet till Authenticator"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
msgid "Cleaner code base"
|
||||
msgstr "Renare kodbas"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr "Snabbare uppstart"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr "Ta bort onödiga funktioner"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr "Växla till pyzbar istället för zbarlight"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr "Flatpak-paket"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr "Bilal Elmoussaoui"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr "Tvåfaktorsautentisering"
|
||||
|
@ -297,18 +192,90 @@ msgstr "Aktivera/inaktivera nattläge inifrån programmet"
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr "Standardfönstrets maximeringsbeteende"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr "Om programmet är låst med lösenord eller inte"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr "Om programmet kan låsas eller inte"
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr "Generator för tvåfaktorsautentiseringskoder."
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr "Anders Jonsson <anders.jonsson@norsjovallen.se>"
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Lägg till ett nytt konto"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Stäng"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Lägg till"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "Läs av QR-kod"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "Spara"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "Redigera"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Ta bort"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr "Beteende"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "Mörkt tema"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Använd om möjligt ett mörkt tema"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "Lås programmet"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Möjlighet att låsa programmet med ett lösenord"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "Lösenord"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "Upprepa lösenord"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Inställningar"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Autentiseringslösenord"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -341,32 +308,175 @@ msgstr "Lägg till"
|
|||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr "Välj"
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr "Sök"
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Det finns inga konton ännu…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Authenticator"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr "Lås upp"
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr "Starta i felsökningsläge"
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr "Versionsnummer för Authenticator"
|
||||
|
||||
#~ msgid "translator-credits"
|
||||
#~ msgstr "Anders Jonsson <anders.jonsson@norsjovallen.se>"
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr "från en oformaterad JSON-fil"
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr "i en oformaterad JSON-fil"
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "Återställ"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Säkerhetskopiera"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Inställningar"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Donera"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tangentbordsgenvägar"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Om Authenticator"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "Standard"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Ogiltig QR-kod"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Redigera {} - {}"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Engångslösenordet upphör att gälla om {} sekunder"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Kunde inte generera den hemliga koden"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr "Öppna"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr "JSON-filer"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr "Välj"
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "Leverantör"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Kontonamn"
|
||||
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Hemlig token"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr "zbar-bibliotek hittades inte. QR-kodskanner inaktiveras."
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Kopiera"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Sök"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Urvalsläge"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Klicka på objekt för att välja dem"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Gammalt lösenord"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "Utseende"
|
||||
|
||||
#~ msgid "Clear the database"
|
||||
#~ msgstr "Rensa databasen"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "Radera befintliga konton"
|
||||
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "Autentiseringslösenord"
|
||||
|
||||
#~ msgid "Set up application authentication password"
|
||||
#~ msgstr "Konfigurera autentiseringslösenord"
|
||||
|
||||
#~ msgid "The application needs to be restarted first."
|
||||
#~ msgstr "Programmet måste startas om först."
|
||||
|
||||
#~ msgid "The existing accounts will be erased in 5 seconds"
|
||||
#~ msgstr "De befintliga kontona kommer att raderas om 5 sekunder"
|
||||
|
||||
#~ msgid "Undo"
|
||||
#~ msgstr "Ångra"
|
||||
|
||||
#~ msgid "An account or more were removed."
|
||||
#~ msgstr "Ett konto eller fler, togs bort."
|
||||
|
||||
#~ msgid "Whether the application is locked with a password or not"
|
||||
#~ msgstr "Om programmet är låst med lösenord eller inte"
|
||||
|
||||
#~ msgid "Whether the application can be locked or not"
|
||||
#~ msgstr "Om programmet kan låsas eller inte"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Select"
|
||||
#~ msgstr "Välj"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Authenticator@NAME_SUFFIX@"
|
||||
#~ msgstr "Authenticator"
|
||||
|
||||
#~ msgid "from an OpenPGP-encrypted JSON file"
|
||||
#~ msgstr "från en OpenPGP-krypterad JSON-fil"
|
||||
|
||||
#~ msgid "in an OpenPGP-encrypted JSON file"
|
||||
#~ msgstr "i en OpenPGP-krypterad JSON-fil"
|
||||
|
||||
|
@ -403,43 +513,10 @@ msgstr "Versionsnummer för Authenticator"
|
|||
#~ msgid "com.github.bilelmoussaoui.Authenticator"
|
||||
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
|
||||
|
||||
#~ msgid "Bilal Elmoussaoui"
|
||||
#~ msgstr "Bilal Elmoussaoui"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Backup Password"
|
||||
#~ msgstr "Ändra lösenord"
|
||||
|
||||
#~ msgid "Fix the QRScanner on GNOME Shell"
|
||||
#~ msgstr "Fixa QR-läsaren i GNOME Shell"
|
||||
|
||||
#~ msgid "Add a new entry for the account's username"
|
||||
#~ msgstr "Lägg till en ny post för kontots användarnamn"
|
||||
|
||||
#~ msgid "Updated database of supported accounts"
|
||||
#~ msgstr "Uppdaterad databas över konton som stöds"
|
||||
|
||||
#~ msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
#~ msgstr "SNABBFIX: Programmet gick inte köra annat än i GNOME"
|
||||
|
||||
#~ msgid "Rename project to Authenticator"
|
||||
#~ msgstr "Byt namn på projektet till Authenticator"
|
||||
|
||||
#~ msgid "Cleaner code base"
|
||||
#~ msgstr "Renare kodbas"
|
||||
|
||||
#~ msgid "Faster startup"
|
||||
#~ msgstr "Snabbare uppstart"
|
||||
|
||||
#~ msgid "Remove unneeded features"
|
||||
#~ msgstr "Ta bort onödiga funktioner"
|
||||
|
||||
#~ msgid "Switch to pyzbar instead of zbarlight"
|
||||
#~ msgstr "Växla till pyzbar istället för zbarlight"
|
||||
|
||||
#~ msgid "Flatpak package"
|
||||
#~ msgstr "Flatpak-paket"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Nästa"
|
||||
|
||||
|
@ -496,9 +573,6 @@ msgstr "Versionsnummer för Authenticator"
|
|||
#~ msgid "Enter your password"
|
||||
#~ msgstr "Ange ditt lösenord"
|
||||
|
||||
#~ msgid "Unlock"
|
||||
#~ msgstr "Lås upp"
|
||||
|
||||
#~ msgid "Remove the account"
|
||||
#~ msgstr "Ta bort kontot"
|
||||
|
||||
|
|
549
po/tr.po
549
po/tr.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:58+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-01-29 03:08+0000\n"
|
||||
"Last-Translator: Muha Aliss <muhaaliss@pm.me>\n"
|
||||
"Language-Team: Turkish <https://hosted.weblate.org/projects/authenticator/"
|
||||
|
@ -19,227 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.5-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr "Şifrematik"
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "Uygulamayı kilitle"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Yedekle"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Tercihler"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Bağış"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klavye Kısayolları"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Şifrematik hakkında"
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr "Varsayılan"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr "Yeni hesap ekle"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "Ekle"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "QR kod tara"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "Kapat"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "Sağlayıcı"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr "Hesap adı"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr "Gizli belirteç"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Geçersiz QR kodu"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr "zbar kütüphanesi bulunamadı. QRCode tarayıcı devre dışı bırakılacak"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
#, fuzzy
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Düzenle {} - {}"
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "Kaydet"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Tek kullanımlık parolalar {} saniye içinde sona eriyor"
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Henüz hesap yok…"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "Kopyala"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "Düzenle"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Gizli kod oluşturulamadı"
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "Sil"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "Ara"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "Ayarlar"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "Seçim modu"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "İptal"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr "Seçmek için üzerine tıkla"
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr "Kimlik doğrulama parolası"
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr "Eski parola"
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "Parola"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "Tekrar Parola"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "Koyu tema"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Mümkünse koyu bir tema kullanın"
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "Görünüm"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr "Veritabanını temizle"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr "Mevcut hesapları sil"
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr "Kimlik doğrulama parolası"
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr "Davranış"
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -267,6 +52,116 @@ msgstr ""
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
#, fuzzy
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr "Şifrematik hakkında"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
#, fuzzy
|
||||
msgid "Cleaner code base"
|
||||
msgstr "Veritabanını temizle"
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr ""
|
||||
|
@ -296,14 +191,6 @@ msgstr ""
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr ""
|
||||
|
@ -312,6 +199,82 @@ msgstr ""
|
|||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr "Yeni hesap ekle"
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "Kapat"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "Ekle"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "QR kod tara"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "Kaydet"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "Düzenle"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "Sil"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr "Davranış"
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "Koyu tema"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr "Mümkünse koyu bir tema kullanın"
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "Uygulamayı kilitle"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "Uygulamayı kilitle"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "Parola"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "Tekrar Parola"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "Ayarlar"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "Kimlik doğrulama parolası"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -344,18 +307,140 @@ msgstr ""
|
|||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr "Henüz hesap yok…"
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
#, fuzzy
|
||||
msgid "Authenticator is locked"
|
||||
msgstr "Şifrematik"
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr ""
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "Yedekle"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "Tercihler"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "Bağış"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klavye Kısayolları"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr "Şifrematik hakkında"
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr "Varsayılan"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "Geçersiz QR kodu"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
#, fuzzy
|
||||
msgid "Edit {} - {}"
|
||||
msgstr "Düzenle {} - {}"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr "Tek kullanımlık parolalar {} saniye içinde sona eriyor"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr "Gizli kod oluşturulamadı"
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "İptal"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "Sağlayıcı"
|
||||
|
||||
#~ msgid "Account name"
|
||||
#~ msgstr "Hesap adı"
|
||||
|
||||
#~ msgid "Secret token"
|
||||
#~ msgstr "Gizli belirteç"
|
||||
|
||||
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
#~ msgstr "zbar kütüphanesi bulunamadı. QRCode tarayıcı devre dışı bırakılacak"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "Kopyala"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Ara"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "Seçim modu"
|
||||
|
||||
#~ msgid "Click on items to select them"
|
||||
#~ msgstr "Seçmek için üzerine tıkla"
|
||||
|
||||
#~ msgid "Old Password"
|
||||
#~ msgstr "Eski parola"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "Görünüm"
|
||||
|
||||
#~ msgid "Erase existing accounts"
|
||||
#~ msgstr "Mevcut hesapları sil"
|
||||
|
||||
#~ msgid "Authentication password"
|
||||
#~ msgstr "Kimlik doğrulama parolası"
|
||||
|
|
527
po/zh_Hant.po
527
po/zh_Hant.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Authenticator\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-25 19:56+0100\n"
|
||||
"POT-Creation-Date: 2019-02-11 22:35+0100\n"
|
||||
"PO-Revision-Date: 2019-01-29 03:08+0000\n"
|
||||
"Last-Translator: Louies <louies0623@gmail.com>\n"
|
||||
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
|
||||
|
@ -19,226 +19,12 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 3.5-dev\n"
|
||||
|
||||
#: Authenticator/application.py.in:39
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
|
||||
#: data/ui/window.ui.in:255 src/Authenticator/application.py.in:36
|
||||
msgid "Authenticator"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:91 Authenticator/widgets/settings.py:239
|
||||
msgid "Lock the application"
|
||||
msgstr "鎖定應用程式"
|
||||
|
||||
#: Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "還原"
|
||||
|
||||
#: Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "備份"
|
||||
|
||||
#. Night mode action
|
||||
#: Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "偏好設定"
|
||||
|
||||
#: Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "贊助"
|
||||
|
||||
#: Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "鍵盤快速鍵"
|
||||
|
||||
#: Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/models/account.py:74
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:50
|
||||
#: Authenticator/widgets/headerbar.py:101
|
||||
msgid "Add a new account"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:54
|
||||
msgid "Add"
|
||||
msgstr "添加"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:62
|
||||
msgid "Scan QR code"
|
||||
msgstr "掃描 QR Code"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:68
|
||||
#: Authenticator/widgets/accounts/edit.py:58
|
||||
msgid "Close"
|
||||
msgstr "關閉"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:161
|
||||
msgid "Provider"
|
||||
msgstr "供應商"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:171
|
||||
msgid "Account name"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:177
|
||||
msgid "Secret token"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:260
|
||||
msgid "Invalid QR code"
|
||||
msgstr "無效的 QR code"
|
||||
|
||||
#: Authenticator/widgets/accounts/add.py:268
|
||||
msgid "zbar library is not found. QRCode scanner will be disabled"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:47
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/edit.py:52
|
||||
#: Authenticator/widgets/settings.py:143 Authenticator/widgets/utils.py:20
|
||||
msgid "Save"
|
||||
msgstr "儲存"
|
||||
|
||||
#: Authenticator/widgets/accounts/list.py:164
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#. Label
|
||||
#: Authenticator/widgets/accounts/list.py:286
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:59
|
||||
msgid "Copy"
|
||||
msgstr "複製"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:60
|
||||
msgid "Edit"
|
||||
msgstr "編輯"
|
||||
|
||||
#: Authenticator/widgets/accounts/row.py:150
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/actions_bar.py:52
|
||||
msgid "Delete"
|
||||
msgstr "删除"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:99
|
||||
msgid "Search"
|
||||
msgstr "搜尋"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:103 Authenticator/widgets/settings.py:212
|
||||
msgid "Settings"
|
||||
msgstr "設定"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:105
|
||||
msgid "Selection mode"
|
||||
msgstr "選擇模式"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:107 Authenticator/widgets/utils.py:22
|
||||
#: Authenticator/widgets/utils.py:48
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: Authenticator/widgets/headerbar.py:183
|
||||
msgid "Click on items to select them"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:139
|
||||
msgid "Authentication Password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:152
|
||||
msgid "Old Password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:156
|
||||
msgid "Password"
|
||||
msgstr "密碼"
|
||||
|
||||
#: Authenticator/widgets/settings.py:159
|
||||
msgid "Repeat Password"
|
||||
msgstr "再次輸入密碼"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Dark theme"
|
||||
msgstr "黑暗主題"
|
||||
|
||||
#: Authenticator/widgets/settings.py:229
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:232
|
||||
msgid "Appearance"
|
||||
msgstr "外觀"
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Clear the database"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:236
|
||||
msgid "Erase existing accounts"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:240
|
||||
msgid "Possibility to lock the application with a password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:243
|
||||
msgid "Authentication password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:244
|
||||
msgid "Set up application authentication password"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:250
|
||||
msgid "Behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:259
|
||||
msgid "The application needs to be restarted first."
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:288
|
||||
msgid "The existing accounts will be erased in 5 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/settings.py:292 Authenticator/widgets/window.py.in:217
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:18
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:32 Authenticator/widgets/utils.py:37
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/utils.py:47
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: Authenticator/widgets/window.py.in:213
|
||||
msgid "An account or more were removed."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
|
||||
msgid "Two-factor authentication code generator"
|
||||
|
@ -266,6 +52,114 @@ msgstr ""
|
|||
msgid "Huge database of (290+) websites/applications"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:34
|
||||
msgid ""
|
||||
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
|
||||
"build for each new commit is available to download from the site's website."
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:38
|
||||
msgid "Backup and restore from a basic JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:39
|
||||
msgid "Backup and restore from an encrypted-GPG JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:40
|
||||
msgid "Add andOTP support (free and open Android 2FA application)"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:41
|
||||
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
|
||||
msgid "Fix Flatpak Build with the latest GNOME Runtime"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
|
||||
msgid "Move the project to GOME Gitlab's World group"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:50
|
||||
msgid "GNOME Shell Search provider"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:51
|
||||
msgid "Codes expire simultaneously #91"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:58
|
||||
msgid "Revamped main window to more closely follow the GNOME HIG"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
|
||||
msgid "Revamped add a new account window to make it easier to use"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
|
||||
msgid ""
|
||||
"Possibility to add an account from a provider not listed in the shipped "
|
||||
"database"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
|
||||
msgid "Possibilty to edit an account"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
|
||||
msgid "One Time Password now visible by default"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:69
|
||||
msgid "Fix python-dbus by using GDbus instead"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:76
|
||||
msgid "Fix the QRScanner on GNOME Shell"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:77
|
||||
msgid "Add a new entry for the account's username"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:78
|
||||
msgid "Updated database of supported accounts"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:85
|
||||
msgid "HOTFIX: App not running in DE other than GNOME"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:92
|
||||
msgid "Rename project to Authenticator"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:93
|
||||
msgid "Cleaner code base"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:94
|
||||
msgid "Faster startup"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:95
|
||||
msgid "Remove unneeded features"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:96
|
||||
msgid "Switch to pyzbar instead of zbarlight"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
|
||||
msgid "Flatpak package"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:104
|
||||
msgid "Bilal Elmoussaoui"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
|
||||
msgid "Two-factor authentication"
|
||||
msgstr ""
|
||||
|
@ -295,18 +189,90 @@ msgstr ""
|
|||
msgid "Default window maximized behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
|
||||
msgid "Whether the application is locked with a password or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
|
||||
msgid "Whether the application can be locked or not"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/about_dialog.ui.in:10
|
||||
msgid "Two-factor authentication code generator."
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/about_dialog.ui.in:13
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_add.ui:24
|
||||
msgid "Add a new account"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/account_add.ui:27 data/ui/account_edit.ui:21
|
||||
msgid "Close"
|
||||
msgstr "關閉"
|
||||
|
||||
#: data/ui/account_add.ui:36
|
||||
msgid "Add"
|
||||
msgstr "添加"
|
||||
|
||||
#: data/ui/account_add.ui:56
|
||||
#, fuzzy
|
||||
msgid "Scan QR Code"
|
||||
msgstr "掃描 QR Code"
|
||||
|
||||
#: data/ui/account_edit.ui:30 data/ui/settings.ui.in:454
|
||||
#: src/Authenticator/widgets/utils.py:34
|
||||
msgid "Save"
|
||||
msgstr "儲存"
|
||||
|
||||
#: data/ui/account_row.ui:23
|
||||
msgid "Edit"
|
||||
msgstr "編輯"
|
||||
|
||||
#: data/ui/account_row.ui:37
|
||||
msgid "Delete"
|
||||
msgstr "删除"
|
||||
|
||||
#: data/ui/account_row.ui:92
|
||||
msgid "Copy PIN to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:66
|
||||
msgid "Behaviour"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:100
|
||||
msgid "Dark theme"
|
||||
msgstr "黑暗主題"
|
||||
|
||||
#: data/ui/settings.ui.in:117
|
||||
msgid "Use a dark theme, if possible"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:179 src/Authenticator/application.py.in:91
|
||||
msgid "Lock the application"
|
||||
msgstr "鎖定應用程式"
|
||||
|
||||
#: data/ui/settings.ui.in:196
|
||||
#, fuzzy
|
||||
msgid "Lock the application with a password"
|
||||
msgstr "鎖定應用程式"
|
||||
|
||||
#: data/ui/settings.ui.in:279
|
||||
msgid "Keep your accounts safer "
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/settings.ui.in:303
|
||||
msgid "Password"
|
||||
msgstr "密碼"
|
||||
|
||||
#: data/ui/settings.ui.in:348
|
||||
msgid "Repeat Password"
|
||||
msgstr "再次輸入密碼"
|
||||
|
||||
#: data/ui/settings.ui.in:410
|
||||
msgid "Settings"
|
||||
msgstr "設定"
|
||||
|
||||
#: data/ui/settings.ui.in:427
|
||||
#, fuzzy
|
||||
msgid "Authenticator Password"
|
||||
msgstr "再次輸入密碼"
|
||||
|
||||
#: data/ui/shortcuts.ui:13
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
|
@ -339,18 +305,117 @@ msgstr ""
|
|||
|
||||
#: data/ui/shortcuts.ui:51
|
||||
msgctxt "shortcut window"
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/shortcuts.ui:58
|
||||
msgctxt "shortcut window"
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: authenticator.py.in:54
|
||||
#: data/ui/window.ui.in:60
|
||||
msgid "There are no accounts yet…"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.ui.in:187
|
||||
msgid "Authenticator is locked"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.ui.in:222
|
||||
msgid "Unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/authenticator.py.in:49
|
||||
msgid "Start in debug mode"
|
||||
msgstr ""
|
||||
|
||||
#: authenticator.py.in:56
|
||||
#: src/authenticator.py.in:51
|
||||
msgid "Authenticator version number"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:99
|
||||
msgid "from a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:100
|
||||
msgid "in a plain-text JSON file"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/application.py.in:102
|
||||
msgid "Restore"
|
||||
msgstr "還原"
|
||||
|
||||
#: src/Authenticator/application.py.in:103
|
||||
msgid "Backup"
|
||||
msgstr "備份"
|
||||
|
||||
#. Night mode action
|
||||
#: src/Authenticator/application.py.in:111
|
||||
msgid "Preferences"
|
||||
msgstr "偏好設定"
|
||||
|
||||
#: src/Authenticator/application.py.in:112
|
||||
msgid "Donate"
|
||||
msgstr "贊助"
|
||||
|
||||
#: src/Authenticator/application.py.in:113
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "鍵盤快速鍵"
|
||||
|
||||
#: src/Authenticator/application.py.in:114
|
||||
msgid "About Authenticator"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/models/account.py:70
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/add.py:204
|
||||
msgid "Invalid QR code"
|
||||
msgstr "無效的 QR code"
|
||||
|
||||
#: src/Authenticator/widgets/accounts/edit.py:45
|
||||
msgid "Edit {} - {}"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/list.py:144
|
||||
msgid "The One-Time Passwords expires in {} seconds"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/accounts/row.py:75
|
||||
msgid "Couldn't generate the secret code"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:73
|
||||
msgid "Authentication password was unset. Please restart the application"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/settings.py:81
|
||||
msgid "Authentication password is now enabled. Please restart the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:32
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:36 src/Authenticator/widgets/utils.py:62
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:46 src/Authenticator/widgets/utils.py:51
|
||||
msgid "JSON files"
|
||||
msgstr ""
|
||||
|
||||
#: src/Authenticator/widgets/utils.py:61
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Provider"
|
||||
#~ msgstr "供應商"
|
||||
|
||||
#~ msgid "Copy"
|
||||
#~ msgstr "複製"
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "搜尋"
|
||||
|
||||
#~ msgid "Selection mode"
|
||||
#~ msgstr "選擇模式"
|
||||
|
||||
#~ msgid "Appearance"
|
||||
#~ msgstr "外觀"
|
||||
|
|
|
@ -18,3 +18,5 @@
|
|||
"""
|
||||
from .application import Application
|
||||
from .utils import load_pixbuf, load_pixbuf_from_provider
|
||||
from .models import *
|
||||
from .widgets import *
|
|
@ -17,13 +17,10 @@
|
|||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gettext import gettext as _
|
||||
|
||||
from gi import require_version
|
||||
|
||||
require_version("Gtk", "3.0")
|
||||
from gi.repository import Gtk, GLib, Gio, Gdk, GObject
|
||||
from .widgets import Window, AboutDialog, import_json, export_json
|
||||
from .models import Settings, Clipboard, Logger
|
||||
|
||||
from Authenticator.widgets import Window, WindowState, AboutDialog, import_json, export_json
|
||||
from Authenticator.models import Database, Settings, Clipboard, Logger, Keyring
|
||||
|
||||
|
||||
class Application(Gtk.Application):
|
||||
|
@ -40,15 +37,18 @@ class Application(Gtk.Application):
|
|||
GLib.set_prgname("Authenticator")
|
||||
self.connect("notify::is-locked", self.__is_locked_changed)
|
||||
self.alive = True
|
||||
Settings.get_default().bind("is-locked", self, "is_locked", Gio.SettingsBindFlags.GET)
|
||||
|
||||
self._menu = Gio.Menu()
|
||||
|
||||
def __is_locked_changed(self, *_):
|
||||
if self.is_locked:
|
||||
Window.get_default().emit("locked")
|
||||
Window.get_default().state = WindowState.LOCKED
|
||||
else:
|
||||
Window.get_default().emit("unlocked")
|
||||
|
||||
count = Database.get_default().count
|
||||
if count == 0:
|
||||
Window.get_default().state = WindowState.EMPTY
|
||||
else:
|
||||
Window.get_default().state = WindowState.NORMAL
|
||||
@staticmethod
|
||||
def get_default():
|
||||
if Application.instance is None:
|
||||
|
@ -60,7 +60,7 @@ class Application(Gtk.Application):
|
|||
Gtk.Application.do_startup(self)
|
||||
self.__generate_menu()
|
||||
self.__setup_actions()
|
||||
self.set_property("is-locked", Settings.get_default().can_be_locked)
|
||||
self.props.is_locked = Keyring.get_default().has_password()
|
||||
Application.__setup_css()
|
||||
|
||||
# Set the default night mode
|
||||
|
@ -86,7 +86,7 @@ class Application(Gtk.Application):
|
|||
def __generate_menu(self):
|
||||
"""Generate application menu."""
|
||||
# Lock/Unlock
|
||||
if Settings.get_default().can_be_locked:
|
||||
if Keyring.get_default().has_password():
|
||||
lock_content = Gio.Menu.new()
|
||||
lock_content.append_item(Gio.MenuItem.new(_("Lock the application"), "app.lock"))
|
||||
self._menu.append_item(Gio.MenuItem.new_section(None, lock_content))
|
||||
|
@ -123,14 +123,13 @@ class Application(Gtk.Application):
|
|||
self.__add_action("settings", self.__on_settings, "is_locked")
|
||||
self.__add_action("import_json", self.__on_import_json, "is_locked")
|
||||
self.__add_action("export_json", self.__on_export_json, "is_locked")
|
||||
if Settings.get_default().can_be_locked:
|
||||
if Keyring.get_default().has_password():
|
||||
self.__add_action("lock", self.__on_lock, "is_locked")
|
||||
|
||||
# Keyboard shortcuts. This includes actions defined in window.py.in
|
||||
self.set_accels_for_action("app.shortcuts", ["<Ctrl>question"])
|
||||
self.set_accels_for_action("app.quit", ["<Ctrl>Q"])
|
||||
self.set_accels_for_action("app.settings", ["<Ctrl>comma"])
|
||||
self.set_accels_for_action("win.toggle-select", ["<Ctrl>S"])
|
||||
self.set_accels_for_action("win.add-account", ["<Ctrl>N"])
|
||||
self.set_accels_for_action("win.toggle-searchbar", ["<Ctrl>F"])
|
||||
|
||||
|
@ -144,9 +143,8 @@ class Application(Gtk.Application):
|
|||
def do_activate(self, *_):
|
||||
"""On activate signal override."""
|
||||
window = Window.get_default()
|
||||
|
||||
window.set_application(self)
|
||||
window.set_menu(self._menu)
|
||||
window.set_application(self)
|
||||
window.connect("delete-event", lambda x, y: self.__on_quit())
|
||||
if Application.IS_DEVEL:
|
||||
window.get_style_context().add_class("devel")
|
|
@ -16,14 +16,17 @@
|
|||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from .account import Account
|
||||
from .accounts_manager import AccountsManager
|
||||
from .backup import BackupJSON
|
||||
from .clipboard import Clipboard
|
||||
from .database import Database
|
||||
from .keyring import Keyring
|
||||
from .logger import Logger
|
||||
from .otp import OTP
|
||||
from .qr_reader import QRReader
|
||||
from .screenshot import GNOMEScreenshot
|
||||
from .settings import Settings
|
||||
from Authenticator.models.logger import Logger
|
||||
from Authenticator.models.otp import OTP
|
||||
from Authenticator.models.clipboard import Clipboard
|
||||
from Authenticator.models.database import Database
|
||||
from Authenticator.models.keyring import Keyring
|
||||
|
||||
from Authenticator.models.account import Account
|
||||
from Authenticator.models.accounts_manager import AccountsManager
|
||||
from Authenticator.models.backup import BackupJSON
|
||||
|
||||
|
||||
from Authenticator.models.qr_reader import QRReader
|
||||
from Authenticator.models.screenshot import GNOMEScreenshot
|
||||
from Authenticator.models.settings import Settings
|
|
@ -20,11 +20,7 @@ from hashlib import sha256
|
|||
from gettext import gettext as _
|
||||
from gi.repository import GObject
|
||||
|
||||
from .clipboard import Clipboard
|
||||
from .database import Database
|
||||
from .keyring import Keyring
|
||||
from .logger import Logger
|
||||
from .otp import OTP
|
||||
from Authenticator.models import Clipboard, Database, Keyring, Logger, OTP
|
||||
|
||||
|
||||
class Account(GObject.GObject):
|
||||
|
@ -88,6 +84,8 @@ class Account(GObject.GObject):
|
|||
:param username: the account's username
|
||||
:param provider: the account's provider
|
||||
"""
|
||||
self.username = username
|
||||
self.provider = provider
|
||||
Database.get_default().update(username, provider, self.id)
|
||||
|
||||
def remove(self):
|
|
@ -18,7 +18,6 @@
|
|||
"""
|
||||
from threading import Thread
|
||||
from time import sleep
|
||||
|
||||
from gi.repository import GObject
|
||||
|
||||
|
|
@ -19,10 +19,7 @@
|
|||
import json
|
||||
from gi.repository import Gio
|
||||
|
||||
from .account import Account
|
||||
from .accounts_manager import AccountsManager
|
||||
from .keyring import Keyring
|
||||
from .logger import Logger
|
||||
from Authenticator.models import Account, AccountsManager, Logger, Keyring
|
||||
|
||||
class Backup:
|
||||
|
|
@ -16,10 +16,6 @@
|
|||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
|
||||
from gi import require_version
|
||||
|
||||
require_version("Gtk", "3.0")
|
||||
from gi.repository import Gdk, Gtk
|
||||
|
||||
|
|
@ -19,10 +19,9 @@
|
|||
import sqlite3
|
||||
from collections import OrderedDict
|
||||
from os import path, makedirs
|
||||
|
||||
from gi.repository import GLib
|
||||
|
||||
from .logger import Logger
|
||||
from Authenticator.models import Logger
|
||||
|
||||
|
||||
class Database:
|
|
@ -16,9 +16,6 @@
|
|||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gi import require_version
|
||||
|
||||
require_version('Secret', '1')
|
||||
from gi.repository import Secret
|
||||
|
||||
|
||||
|
@ -137,3 +134,8 @@ class Keyring:
|
|||
@staticmethod
|
||||
def has_password():
|
||||
return Keyring.get_password() is not None
|
||||
|
||||
@staticmethod
|
||||
def clear_password():
|
||||
schema = Keyring.get_default().password_schema
|
||||
Secret.password_clear_sync(schema, {}, None)
|
|
@ -18,7 +18,7 @@
|
|||
"""
|
||||
import binascii
|
||||
|
||||
from .logger import Logger
|
||||
from Authenticator.models import Logger
|
||||
|
||||
try:
|
||||
from pyotp import TOTP
|
|
@ -19,12 +19,14 @@
|
|||
from os import remove, path
|
||||
from urllib.parse import urlparse, parse_qsl, unquote
|
||||
|
||||
from .logger import Logger
|
||||
from .otp import OTP
|
||||
from PIL import Image
|
||||
from pyzbar.pyzbar import decode
|
||||
|
||||
from Authenticator.models import Logger, OTP
|
||||
|
||||
|
||||
class QRReader:
|
||||
ZBAR_FOUND = True
|
||||
|
||||
def __init__(self, filename):
|
||||
self.filename = filename
|
||||
self._codes = None
|
||||
|
@ -32,33 +34,28 @@ class QRReader:
|
|||
self.username = None
|
||||
|
||||
def read(self):
|
||||
decoded_data = decode(Image.open(self.filename))
|
||||
if path.isfile(self.filename):
|
||||
remove(self.filename)
|
||||
try:
|
||||
from PIL import Image
|
||||
from pyzbar.pyzbar import decode
|
||||
decoded_data = decode(Image.open(self.filename))
|
||||
if path.isfile(self.filename):
|
||||
remove(self.filename)
|
||||
try:
|
||||
# See https://github.com/google/google-authenticator/wiki/Key-Uri-Format
|
||||
# for a description of the URL format
|
||||
url = urlparse(decoded_data[0].data.decode())
|
||||
query_params = parse_qsl(url.query)
|
||||
self._codes = dict(query_params)
|
||||
# See https://github.com/google/google-authenticator/wiki/Key-Uri-Format
|
||||
# for a description of the URL format
|
||||
url = urlparse(decoded_data[0].data.decode())
|
||||
query_params = parse_qsl(url.query)
|
||||
self._codes = dict(query_params)
|
||||
|
||||
label = unquote(url.path.lstrip("/"))
|
||||
if ":" in label:
|
||||
self.provider, self.username = label.split(":", maxsplit=1)
|
||||
else:
|
||||
self.provider = label
|
||||
# provider information could also be in the query params
|
||||
self.provider = self._codes.get("issuer", self.provider)
|
||||
label = unquote(url.path.lstrip("/"))
|
||||
if ":" in label:
|
||||
self.provider, self.username = label.split(":", maxsplit=1)
|
||||
else:
|
||||
self.provider = label
|
||||
# provider information could also be in the query params
|
||||
self.provider = self._codes.get("issuer", self.provider)
|
||||
|
||||
return self._codes.get("secret")
|
||||
except (KeyError, IndexError):
|
||||
Logger.error("Invalid QR image")
|
||||
return None
|
||||
except ImportError:
|
||||
QRReader.ZBAR_FOUND = False
|
||||
return self._codes.get("secret")
|
||||
except (KeyError, IndexError):
|
||||
Logger.error("Invalid QR image")
|
||||
return None
|
||||
|
||||
def is_valid(self):
|
||||
"""
|
|
@ -29,7 +29,7 @@ class Settings(Gio.Settings):
|
|||
instance = None
|
||||
# Settings schema
|
||||
SCHEMA = "@APP_ID@"
|
||||
|
||||
|
||||
def __init__(self):
|
||||
Gio.Settings.__init__(self)
|
||||
|
||||
|
@ -92,20 +92,3 @@ class Settings(Gio.Settings):
|
|||
:type is_maximized: bool
|
||||
"""
|
||||
self.set_boolean("is-maximized", is_maximized)
|
||||
|
||||
@property
|
||||
def is_locked(self):
|
||||
return self.get_boolean("is-locked")
|
||||
|
||||
@is_locked.setter
|
||||
def is_locked(self, state):
|
||||
self.set_boolean("is-locked", state)
|
||||
|
||||
@property
|
||||
def can_be_locked(self):
|
||||
return self.get_boolean("can-be-locked")
|
||||
|
||||
@can_be_locked.setter
|
||||
def can_be_locked(self, state):
|
||||
self.set_boolean("can-be-locked", state)
|
||||
|
|
@ -17,11 +17,7 @@
|
|||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from os import environ
|
||||
|
||||
from gi import require_version
|
||||
|
||||
require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, GdkPixbuf, GLib, Gio
|
||||
from gi.repository import Gtk, GdkPixbuf, GLib
|
||||
|
||||
|
||||
def load_pixbuf(icon_name, size):
|
|
@ -17,11 +17,7 @@
|
|||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from .about import AboutDialog
|
||||
from .accounts import AccountsList, AccountRow, AccountsListState
|
||||
from .actions_bar import ActionsBar
|
||||
from .headerbar import HeaderBar
|
||||
from .login import LoginWidget
|
||||
from .search_bar import SearchBar
|
||||
from .window import Window
|
||||
from .accounts import AccountsList, AccountRow
|
||||
from .window import Window, WindowState
|
||||
from .settings import SettingsWindow
|
||||
from .utils import import_json, export_json
|
|
@ -16,10 +16,6 @@
|
|||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gettext import gettext as _
|
||||
|
||||
from gi import require_version
|
||||
require_version("Gtk", "3.0")
|
||||
from gi.repository import Gtk
|
||||
|
||||
|
||||
|
@ -31,7 +27,7 @@ class AboutDialog(Gtk.AboutDialog):
|
|||
__gtype_name__ ="AboutDialog"
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(self)
|
||||
super(AboutDialog, self).__init__()
|
||||
|
||||
def __repr__(self):
|
||||
return '<AboutDialog>'
|
|
@ -17,5 +17,5 @@
|
|||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from .add import AddAccountWindow
|
||||
from .list import AccountsWidget, AccountsList, EmptyAccountsList, AccountsListState
|
||||
from .list import AccountsWidget, AccountsList
|
||||
from .row import AccountRow
|
221
src/Authenticator/widgets/accounts/add.py
Normal file
221
src/Authenticator/widgets/accounts/add.py
Normal file
|
@ -0,0 +1,221 @@
|
|||
"""
|
||||
Copyright © 2017 Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>
|
||||
|
||||
This file is part of Authenticator.
|
||||
|
||||
Authenticator is free software: you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Authenticator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
import json
|
||||
from gettext import gettext as _
|
||||
from gi.repository import Gio, Gtk, GObject, GLib
|
||||
|
||||
from Authenticator.models import OTP
|
||||
from Authenticator.utils import load_pixbuf_from_provider
|
||||
|
||||
@Gtk.Template(resource_path='/com/github/bilelmoussaoui/Authenticator/account_add.ui')
|
||||
class AddAccountWindow(Gtk.Window):
|
||||
"""Add Account Window."""
|
||||
|
||||
__gtype_name__ = "AddAccountWindow"
|
||||
|
||||
add_btn = Gtk.Template.Child()
|
||||
|
||||
def __init__(self):
|
||||
super(AddAccountWindow, self).__init__()
|
||||
self.init_template('AddAccountWindow')
|
||||
self.__init_widgets()
|
||||
|
||||
def __init_widgets(self):
|
||||
"""Create the Add Account widgets."""
|
||||
self.account_config = AccountConfig()
|
||||
self.account_config.connect("changed", self._on_account_config_changed)
|
||||
|
||||
self.add(self.account_config)
|
||||
|
||||
@Gtk.Template.Callback('scan_btn_clicked')
|
||||
def _on_scan(self, *_):
|
||||
"""
|
||||
QR Scan button clicked signal handler.
|
||||
"""
|
||||
if self.account_config:
|
||||
self.account_config.scan_qr()
|
||||
|
||||
def _on_account_config_changed(self, _, state):
|
||||
"""Set the sensitivity of the AddButton depends on the AccountConfig."""
|
||||
self.add_btn.set_sensitive(state)
|
||||
|
||||
@Gtk.Template.Callback('close_btn_clicked')
|
||||
def _on_quit(self, *_):
|
||||
self.destroy()
|
||||
|
||||
@Gtk.Template.Callback('add_btn_clicked')
|
||||
def _on_add(self, *_):
|
||||
from .list import AccountsWidget
|
||||
from ...models import AccountsManager, Account
|
||||
account_obj = self.account_config.account
|
||||
# Create a new account
|
||||
account = Account.create(account_obj["username"],
|
||||
account_obj["provider"],
|
||||
account_obj["token"])
|
||||
# Add it to the AccountsManager
|
||||
AccountsManager.get_default().add(account)
|
||||
AccountsWidget.get_default().append(account)
|
||||
self._on_quit()
|
||||
|
||||
@Gtk.Template(resource_path='/com/github/bilelmoussaoui/Authenticator/account_config.ui')
|
||||
class AccountConfig(Gtk.Box, GObject.GObject):
|
||||
__gsignals__ = {
|
||||
'changed': (GObject.SignalFlags.RUN_LAST, None, (bool,)),
|
||||
}
|
||||
|
||||
__gtype_name__ = 'AccountConfig'
|
||||
|
||||
provider_img = Gtk.Template.Child()
|
||||
account_name_entry = Gtk.Template.Child()
|
||||
token_entry = Gtk.Template.Child()
|
||||
provider_combobox = Gtk.Template.Child()
|
||||
provider_entry = Gtk.Template.Child()
|
||||
providers_store = Gtk.Template.Child()
|
||||
|
||||
provider_completion = Gtk.Template.Child()
|
||||
notification = Gtk.Template.Child()
|
||||
notification_label = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super(AccountConfig, self).__init__()
|
||||
self.init_template('AccountConfig')
|
||||
GObject.GObject.__init__(self)
|
||||
|
||||
self.is_edit = kwargs.get("edit", False)
|
||||
self._account = kwargs.get("account", None)
|
||||
|
||||
self.__init_widgets()
|
||||
|
||||
@property
|
||||
def account(self):
|
||||
"""
|
||||
Return an instance of Account for the new account.
|
||||
"""
|
||||
account = {
|
||||
"username": self.account_name_entry.get_text(),
|
||||
"provider": self.provider_entry.get_text()
|
||||
}
|
||||
|
||||
if not self.is_edit:
|
||||
# remove spaces
|
||||
token = self.token_entry.get_text()
|
||||
account["token"] = "".join(token.split())
|
||||
return account
|
||||
|
||||
def __init_widgets(self):
|
||||
# Set up auto completion
|
||||
if self._account and self._account.provider:
|
||||
self.provider_entry.set_text(self._account.provider)
|
||||
|
||||
if self._account and self._account.username:
|
||||
self.account_name_entry.set_text(self._account.username)
|
||||
|
||||
if not self.is_edit:
|
||||
self.token_entry.set_no_show_all(False)
|
||||
self.token_entry.show()
|
||||
# To set the empty logo
|
||||
if self._account:
|
||||
pixbuf = load_pixbuf_from_provider(self._account.provider, 96)
|
||||
else:
|
||||
pixbuf = load_pixbuf_from_provider(None, 96)
|
||||
|
||||
self.provider_img.set_from_pixbuf(pixbuf)
|
||||
self._fill_data()
|
||||
|
||||
@Gtk.Template.Callback('provider_changed')
|
||||
def _on_provider_changed(self, combo):
|
||||
tree_iter = combo.get_active_iter()
|
||||
if tree_iter is not None:
|
||||
model = combo.get_model()
|
||||
logo = model[tree_iter][-1]
|
||||
else:
|
||||
entry = combo.get_child()
|
||||
logo = entry.get_text()
|
||||
self._validate()
|
||||
self.provider_img.set_from_pixbuf(load_pixbuf_from_provider(logo, 96))
|
||||
|
||||
def _fill_data(self):
|
||||
uri = 'resource:///com/github/bilelmoussaoui/Authenticator/data.json'
|
||||
g_file = Gio.File.new_for_uri(uri)
|
||||
content = str(g_file.load_contents(None)[1].decode("utf-8"))
|
||||
data = json.loads(content)
|
||||
data = sorted([(name, logo) for name, logo in data.items()],
|
||||
key=lambda account: account[0].lower())
|
||||
|
||||
for name, logo in data:
|
||||
self.providers_store.append([name, logo])
|
||||
|
||||
|
||||
@Gtk.Template.Callback('account_edited')
|
||||
def _validate(self, *_):
|
||||
"""Validate the username and the token."""
|
||||
provider = self.provider_entry.get_text()
|
||||
username = self.account_name_entry.get_text()
|
||||
token = "".join(self.token_entry.get_text().split())
|
||||
|
||||
if not username:
|
||||
self.account_name_entry.get_style_context().add_class("error")
|
||||
valid_name = False
|
||||
else:
|
||||
self.account_name_entry.get_style_context().remove_class("error")
|
||||
valid_name = True
|
||||
|
||||
if not provider:
|
||||
self.provider_combobox.get_style_context().add_class("error")
|
||||
valid_provider = False
|
||||
else:
|
||||
self.provider_combobox.get_style_context().remove_class("error")
|
||||
valid_provider = True
|
||||
|
||||
if (not token or not OTP.is_valid(token)) and not self.is_edit:
|
||||
self.token_entry.get_style_context().add_class("error")
|
||||
valid_token = False
|
||||
else:
|
||||
self.token_entry.get_style_context().remove_class("error")
|
||||
valid_token = True
|
||||
self.emit("changed", all([valid_name, valid_provider, valid_token]))
|
||||
|
||||
def scan_qr(self):
|
||||
"""
|
||||
Scans a QRCode and fills the entries with the correct data.
|
||||
"""
|
||||
from ...models import QRReader, GNOMEScreenshot
|
||||
filename = GNOMEScreenshot.area()
|
||||
if filename:
|
||||
qr_reader = QRReader(filename)
|
||||
secret = qr_reader.read()
|
||||
if not qr_reader.is_valid():
|
||||
self.__send_notification(_("Invalid QR code"))
|
||||
else:
|
||||
self.token_entry.set_text(secret)
|
||||
if qr_reader.provider is not None:
|
||||
self.provider_entry.set_text(qr_reader.provider)
|
||||
if qr_reader.username is not None:
|
||||
self.account_name_entry.set_text(qr_reader.username)
|
||||
|
||||
def __send_notification(self, message):
|
||||
"""
|
||||
Show a notification using Gd.Notification.
|
||||
:param message: the notification message
|
||||
:type message: str
|
||||
"""
|
||||
self.notification_label.set_text(message)
|
||||
self.notification.set_reveal_child(True)
|
||||
GLib.timeout_add_seconds(5,
|
||||
lambda _: self.notification.set_reveal_child(False), None)
|
|
@ -17,48 +17,33 @@
|
|||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gettext import gettext as _
|
||||
from gi.repository import Gtk, GObject
|
||||
|
||||
from gi import require_version
|
||||
|
||||
require_version("Gtk", "3.0")
|
||||
from gi.repository import Gtk, Gdk, GObject
|
||||
|
||||
from .add import AccountConfig
|
||||
|
||||
from Authenticator.widgets.accounts.add import AccountConfig
|
||||
|
||||
@Gtk.Template(resource_path='/com/github/bilelmoussaoui/Authenticator/account_edit.ui')
|
||||
class EditAccountWindow(Gtk.Window, GObject.GObject):
|
||||
__gsignals__ = {
|
||||
'updated': (GObject.SignalFlags.RUN_LAST, None, (str, str,)),
|
||||
}
|
||||
|
||||
__gtype_name__ = 'EditAccountWindow'
|
||||
|
||||
headerbar = Gtk.Template.Child()
|
||||
save_btn = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, account):
|
||||
Gtk.Window.__init__(self)
|
||||
super(EditAccountWindow, self).__init__()
|
||||
self.init_template('EditAccountWindow')
|
||||
GObject.GObject.__init__(self)
|
||||
|
||||
self._account = account
|
||||
self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT)
|
||||
self.set_size_request(400, 600)
|
||||
self.resize(400, 600)
|
||||
self.connect('key_press_event', self._on_key_press)
|
||||
self._build_widgets()
|
||||
|
||||
def _build_widgets(self):
|
||||
header_bar = Gtk.HeaderBar()
|
||||
header_bar.set_show_close_button(False)
|
||||
header_bar.set_title(_("Edit {} - {}".format(self._account.username,
|
||||
self._account.provider)))
|
||||
self.set_titlebar(header_bar)
|
||||
# Save btn
|
||||
self.save_btn = Gtk.Button()
|
||||
self.save_btn.set_label(_("Save"))
|
||||
self.save_btn.connect("clicked", self._on_save)
|
||||
self.save_btn.get_style_context().add_class("suggested-action")
|
||||
header_bar.pack_end(self.save_btn)
|
||||
self.__init_widgets()
|
||||
|
||||
self.close_btn = Gtk.Button()
|
||||
self.close_btn.set_label(_("Close"))
|
||||
self.close_btn.connect("clicked", self._on_quit)
|
||||
|
||||
header_bar.pack_start(self.close_btn)
|
||||
def __init_widgets(self):
|
||||
self.headerbar.set_title(_("Edit {} - {}".format(self._account.username,
|
||||
self._account.provider)))
|
||||
|
||||
self.account_config = AccountConfig(edit=True, account=self._account)
|
||||
self.account_config.connect("changed", self._on_account_config_changed)
|
||||
|
@ -75,6 +60,7 @@ class EditAccountWindow(Gtk.Window, GObject.GObject):
|
|||
"""
|
||||
self.save_btn.set_sensitive(state)
|
||||
|
||||
@Gtk.Template.Callback('save_btn_clicked')
|
||||
def _on_save(self, *_):
|
||||
"""
|
||||
Save Button clicked signal handler.
|
||||
|
@ -92,16 +78,9 @@ class EditAccountWindow(Gtk.Window, GObject.GObject):
|
|||
ac_widget.update_provider(self._account, provider)
|
||||
self._on_quit()
|
||||
|
||||
@Gtk.Template.Callback('close_btn_clicked')
|
||||
def _on_quit(self, *_):
|
||||
"""
|
||||
Close the window.
|
||||
"""
|
||||
self.destroy()
|
||||
|
||||
def _on_key_press(self, _, event):
|
||||
"""
|
||||
KeyPress event handler.
|
||||
"""
|
||||
_, key_val = event.get_keyval()
|
||||
if key_val == Gdk.KEY_Escape:
|
||||
self._on_quit()
|
|
@ -17,25 +17,21 @@
|
|||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gettext import gettext as _
|
||||
from gi.repository import Gtk, GObject, Handy
|
||||
|
||||
from gi import require_version
|
||||
|
||||
require_version("Gtk", "3.0")
|
||||
require_version("Handy", "0.0")
|
||||
from gi.repository import Gtk, GObject, Gio, Handy
|
||||
|
||||
from .row import AccountRow
|
||||
from ...models import Database, Account, AccountsManager
|
||||
from ...utils import load_pixbuf_from_provider
|
||||
from Authenticator.widgets.accounts.row import AccountRow
|
||||
from Authenticator.models import Account, AccountsManager
|
||||
from Authenticator.utils import load_pixbuf_from_provider
|
||||
|
||||
|
||||
class AccountsWidget(Gtk.Box, GObject.GObject):
|
||||
__gsignals__ = {
|
||||
'changed': (GObject.SignalFlags.RUN_LAST, None, ()),
|
||||
'selected-rows-changed': (GObject.SignalFlags.RUN_LAST, None, (int,)),
|
||||
}
|
||||
instance = None
|
||||
|
||||
__gsignals__ = {
|
||||
'account-removed': (GObject.SignalFlags.RUN_LAST, None, ()),
|
||||
'account-added': (GObject.SignalFlags.RUN_LAST, None, ()),
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL)
|
||||
GObject.GObject.__init__(self)
|
||||
|
@ -50,8 +46,8 @@ class AccountsWidget(Gtk.Box, GObject.GObject):
|
|||
self.otp_progress_bar = Gtk.ProgressBar()
|
||||
self.otp_progress_bar.get_style_context().add_class("progress-bar")
|
||||
self.add(self.otp_progress_bar)
|
||||
AccountsManager.get_default().connect(
|
||||
"counter_updated", self._on_counter_updated)
|
||||
AccountsManager.get_default().connect("counter_updated",
|
||||
self._on_counter_updated)
|
||||
|
||||
self.accounts_container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
|
||||
|
@ -74,15 +70,13 @@ class AccountsWidget(Gtk.Box, GObject.GObject):
|
|||
accounts_list = self._providers.get(account.provider)
|
||||
if not accounts_list:
|
||||
accounts_list = AccountsList()
|
||||
accounts_list.connect("selected-count-rows-changed",
|
||||
self._on_selected_count_changed)
|
||||
accounts_list.connect("account-deleted", self._on_account_deleted)
|
||||
self._providers[account.provider] = accounts_list
|
||||
provider_widget = ProviderWidget(accounts_list, account.provider)
|
||||
self.accounts_container.pack_start(provider_widget, False, False, 0)
|
||||
accounts_list.add_row(account)
|
||||
self._reorder()
|
||||
self.emit("changed")
|
||||
self.emit("account-added")
|
||||
|
||||
@property
|
||||
def accounts_lists(self):
|
||||
|
@ -92,17 +86,6 @@ class AccountsWidget(Gtk.Box, GObject.GObject):
|
|||
for account_list in self._providers.values():
|
||||
self.accounts_container.remove(account_list.get_parent())
|
||||
self._providers = {}
|
||||
self.emit("changed")
|
||||
|
||||
def set_state(self, state):
|
||||
for account_list in self._providers.values():
|
||||
account_list.set_state(state)
|
||||
|
||||
def delete_selected(self, *_):
|
||||
for account_list in self._providers.values():
|
||||
account_list.delete_selected()
|
||||
self._clean_unneeded_providers_widgets()
|
||||
self.emit("changed")
|
||||
|
||||
def update_provider(self, account, new_provider):
|
||||
current_account_list = None
|
||||
|
@ -129,16 +112,13 @@ class AccountsWidget(Gtk.Box, GObject.GObject):
|
|||
for account in accounts:
|
||||
self.append(account)
|
||||
|
||||
def _on_selected_count_changed(self, *_):
|
||||
total_selected_rows = 0
|
||||
for account_list in self._providers.values():
|
||||
total_selected_rows += account_list.selected_rows_count
|
||||
self.emit("selected-rows-changed", total_selected_rows)
|
||||
|
||||
def _on_account_deleted(self, account_list):
|
||||
if len(account_list.get_children()) == 0:
|
||||
self._to_delete.append(account_list)
|
||||
|
||||
self._reorder()
|
||||
self._clean_unneeded_providers_widgets()
|
||||
self.emit("account-removed")
|
||||
|
||||
def _clean_unneeded_providers_widgets(self):
|
||||
for account_list in self._to_delete:
|
||||
provider_widget = account_list.get_parent()
|
||||
|
@ -150,11 +130,11 @@ class AccountsWidget(Gtk.Box, GObject.GObject):
|
|||
"""
|
||||
Re-order the ProviderWidget on AccountsWidget.
|
||||
"""
|
||||
childes = self.accounts_container.get_children()
|
||||
ordered_childes = sorted(
|
||||
childes, key=lambda children: children.provider.lower())
|
||||
for i in range(len(ordered_childes)):
|
||||
self.accounts_container.reorder_child(ordered_childes[i], i)
|
||||
childs = self.accounts_container.get_children()
|
||||
ordered_childs = sorted(
|
||||
childs, key=lambda children: children.provider.lower())
|
||||
for i in range(len(ordered_childs)):
|
||||
self.accounts_container.reorder_child(ordered_childs[i], i)
|
||||
self.show_all()
|
||||
|
||||
def _on_counter_updated(self, accounts_manager, counter):
|
||||
|
@ -177,7 +157,7 @@ class ProviderWidget(Gtk.Box):
|
|||
provider_lbl = Gtk.Label()
|
||||
provider_lbl.set_text(provider)
|
||||
provider_lbl.set_halign(Gtk.Align.START)
|
||||
provider_lbl.get_style_context().add_class("provider-lbl")
|
||||
provider_lbl.get_style_context().add_class("provider-label")
|
||||
|
||||
provider_img = Gtk.Image()
|
||||
pixbuf = load_pixbuf_from_provider(provider)
|
||||
|
@ -190,16 +170,10 @@ class ProviderWidget(Gtk.Box):
|
|||
self.pack_start(accounts_list, False, False, 3)
|
||||
|
||||
|
||||
class AccountsListState:
|
||||
NORMAL = 0
|
||||
SELECT = 1
|
||||
|
||||
|
||||
class AccountsList(Gtk.ListBox, GObject.GObject):
|
||||
"""Accounts List."""
|
||||
|
||||
__gsignals__ = {
|
||||
'selected-count-rows-changed': (GObject.SignalFlags.RUN_LAST, None, (int,)),
|
||||
'account-deleted': (GObject.SignalFlags.RUN_LAST, None, ()),
|
||||
}
|
||||
# Default instance of accounts list
|
||||
|
@ -210,8 +184,6 @@ class AccountsList(Gtk.ListBox, GObject.GObject):
|
|||
Gtk.ListBox.__init__(self)
|
||||
self.set_selection_mode(Gtk.SelectionMode.NONE)
|
||||
self.get_style_context().add_class("accounts-list")
|
||||
self.state = AccountsListState.NORMAL
|
||||
self.selected_rows_count = 0
|
||||
|
||||
def append_new(self, name, provider, token):
|
||||
account = Account.create(name, provider, token)
|
||||
|
@ -221,69 +193,13 @@ class AccountsList(Gtk.ListBox, GObject.GObject):
|
|||
account = Account(_id, name, provider, secret_id)
|
||||
self.add_row(account)
|
||||
|
||||
def delete(self, _):
|
||||
# Remove an account from the list
|
||||
self.emit("changed", False)
|
||||
|
||||
def set_state(self, state):
|
||||
show_check_btn = (state == AccountsListState.SELECT)
|
||||
for child in self.get_children():
|
||||
child.check_btn.set_visible(show_check_btn)
|
||||
child.check_btn.set_no_show_all(not show_check_btn)
|
||||
|
||||
def delete_selected(self, *_):
|
||||
for child in self.get_children():
|
||||
check_btn = child.check_btn
|
||||
if check_btn.props.active:
|
||||
child.account.remove()
|
||||
self.remove(child)
|
||||
self.emit("account-deleted")
|
||||
self.set_state(AccountsListState.NORMAL)
|
||||
|
||||
def add_row(self, account):
|
||||
row = AccountRow(account)
|
||||
row.connect("on_selected", self._on_row_checked)
|
||||
row.delete_btn.connect("clicked", self.__on_delete_child, row)
|
||||
self.add(row)
|
||||
|
||||
def _on_row_checked(self, _):
|
||||
self.selected_rows_count = 0
|
||||
for _row in self.get_children():
|
||||
if _row.check_btn.props.active:
|
||||
self.selected_rows_count += 1
|
||||
self.emit("selected-count-rows-changed", self.selected_rows_count)
|
||||
def __on_delete_child(self, model_btn, account_row):
|
||||
self.remove(account_row)
|
||||
account_row.account.remove()
|
||||
self.emit("account-deleted")
|
||||
|
||||
|
||||
class EmptyAccountsList(Gtk.Box):
|
||||
"""
|
||||
Empty accounts list widget.
|
||||
"""
|
||||
# Default instance
|
||||
instance = None
|
||||
|
||||
def __init__(self):
|
||||
Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL)
|
||||
self._build_widgets()
|
||||
|
||||
@staticmethod
|
||||
def get_default():
|
||||
if not EmptyAccountsList.instance:
|
||||
EmptyAccountsList.instance = EmptyAccountsList()
|
||||
return EmptyAccountsList.instance
|
||||
|
||||
def _build_widgets(self):
|
||||
"""
|
||||
Build EmptyAccountList widget.
|
||||
"""
|
||||
self.set_border_width(36)
|
||||
self.set_valign(Gtk.Align.CENTER)
|
||||
self.set_halign(Gtk.Align.CENTER)
|
||||
|
||||
# Image
|
||||
g_icon = Gio.ThemedIcon(name="dialog-information-symbolic.symbolic")
|
||||
img = Gtk.Image.new_from_gicon(g_icon, Gtk.IconSize.DIALOG)
|
||||
|
||||
# Label
|
||||
label = Gtk.Label(label=_("There are no accounts yet…"))
|
||||
|
||||
self.pack_start(img, False, False, 6)
|
||||
self.pack_start(label, False, False, 6)
|
122
src/Authenticator/widgets/accounts/row.py
Normal file
122
src/Authenticator/widgets/accounts/row.py
Normal file
|
@ -0,0 +1,122 @@
|
|||
"""
|
||||
Copyright © 2017 Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>
|
||||
|
||||
This file is part of Authenticator.
|
||||
|
||||
Authenticator is free software: you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Authenticator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gettext import gettext as _
|
||||
from gi.repository import Gtk, GObject
|
||||
|
||||
from Authenticator.widgets.accounts.edit import EditAccountWindow
|
||||
|
||||
@Gtk.Template(resource_path='/com/github/bilelmoussaoui/Authenticator/account_row.ui')
|
||||
class AccountRow(Gtk.ListBoxRow, GObject.GObject):
|
||||
"""
|
||||
AccountRow Widget.
|
||||
|
||||
It's a subclass of Gtk.ListBoxRow
|
||||
Added as a child to a AccountsList
|
||||
|
||||
@signals: None
|
||||
@properties: account
|
||||
"""
|
||||
__gtype_name__ = 'AccountRow'
|
||||
|
||||
account_name_label = Gtk.Template.Child()
|
||||
pin_label = Gtk.Template.Child()
|
||||
|
||||
more_actions_btn = Gtk.Template.Child()
|
||||
delete_btn = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, account):
|
||||
"""
|
||||
:param account: Account
|
||||
"""
|
||||
super(AccountRow, self).__init__()
|
||||
self.init_template('AccountRow')
|
||||
self._account = account
|
||||
|
||||
self._account.connect("otp_updated", self._on_pin_updated)
|
||||
self.__init_widgets()
|
||||
|
||||
@property
|
||||
def account(self):
|
||||
"""
|
||||
The Account model assigned to this AccountRow
|
||||
|
||||
:return: Account Object
|
||||
"""
|
||||
return self._account
|
||||
|
||||
|
||||
def __init_widgets(self):
|
||||
# Set up account name text label
|
||||
self.account_name_label.set_text(self.account.username)
|
||||
self.account_name_label.set_tooltip_text(self.account.username)
|
||||
|
||||
# Set up account pin text label
|
||||
pin = self.account.otp.pin
|
||||
if pin:
|
||||
self.pin_label.set_text(pin)
|
||||
else:
|
||||
self.pin_label.set_text("??????")
|
||||
self.pin_label.set_tooltip_text(_("Couldn't generate the secret code"))
|
||||
|
||||
@Gtk.Template.Callback('copy_btn_clicked')
|
||||
def _on_copy(self, *_):
|
||||
"""
|
||||
Copy button clicked signal handler.
|
||||
Copies the OTP pin to the clipboard
|
||||
"""
|
||||
print(self._account.otp.pin)
|
||||
self._account.copy_pin()
|
||||
|
||||
@Gtk.Template.Callback('edit_btn_clicked')
|
||||
def _on_edit(self, *_):
|
||||
"""
|
||||
Edit Button clicked signal handler.
|
||||
Opens a new Window to edit the current account.
|
||||
"""
|
||||
from ..window import Window
|
||||
edit_window = EditAccountWindow(self._account)
|
||||
edit_window.set_transient_for(Window.get_default())
|
||||
edit_window.connect("updated", self._on_update)
|
||||
edit_window.show_all()
|
||||
edit_window.present()
|
||||
|
||||
def _on_update(self, _, account_name, provider):
|
||||
"""
|
||||
On account update signal handler.
|
||||
Updates the account name and provider
|
||||
|
||||
:param account_name: the new account's name
|
||||
:type account_name: str
|
||||
|
||||
:param provider: the new account's provider
|
||||
:type provider: str
|
||||
"""
|
||||
self.account_name_label.set_text(account_name)
|
||||
self.account.update(account_name, provider)
|
||||
|
||||
def _on_pin_updated(self, _, pin):
|
||||
"""
|
||||
Updates the pin label each time a new OTP is generated.
|
||||
otp_updated signal handler.
|
||||
|
||||
:param pin: the new OTP
|
||||
:type pin: str
|
||||
"""
|
||||
if pin:
|
||||
self.pin_label.set_text(pin)
|
142
src/Authenticator/widgets/settings.py
Normal file
142
src/Authenticator/widgets/settings.py
Normal file
|
@ -0,0 +1,142 @@
|
|||
"""
|
||||
Copyright © 2017 Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>
|
||||
|
||||
This file is part of Authenticator.
|
||||
|
||||
Authenticator is free software: you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Authenticator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gettext import gettext as _
|
||||
|
||||
from gi.repository import Gio, GLib, Gtk, GObject
|
||||
from .window import Window
|
||||
from ..models import Settings, Keyring
|
||||
|
||||
class SettingsView:
|
||||
MAIN = 0
|
||||
PASSWORD = 1
|
||||
|
||||
|
||||
@Gtk.Template(resource_path='/com/github/bilelmoussaoui/Authenticator/settings.ui')
|
||||
class SettingsWindow(Gtk.Window):
|
||||
|
||||
__gtype_name__ = 'SettingsWindow'
|
||||
|
||||
lock_switch = Gtk.Template.Child()
|
||||
dark_theme_switch = Gtk.Template.Child()
|
||||
|
||||
headerbar = Gtk.Template.Child()
|
||||
|
||||
headerbar_stack = Gtk.Template.Child()
|
||||
main_stack = Gtk.Template.Child()
|
||||
|
||||
save_btn = Gtk.Template.Child()
|
||||
|
||||
password_entry = Gtk.Template.Child()
|
||||
repeat_password_entry = Gtk.Template.Child()
|
||||
|
||||
notification = Gtk.Template.Child()
|
||||
notification_label = Gtk.Template.Child()
|
||||
|
||||
view = GObject.Property(type=int)
|
||||
|
||||
def __init__(self):
|
||||
super(SettingsWindow, self).__init__()
|
||||
self.init_template('SettingsWindow')
|
||||
|
||||
self.connect("notify::view", self.__update_view)
|
||||
|
||||
self.__init_widgets()
|
||||
|
||||
def __init_widgets(self):
|
||||
settings = Settings.get_default()
|
||||
settings.bind("night-mode", self.dark_theme_switch, "state", Gio.SettingsBindFlags.DEFAULT)
|
||||
|
||||
self.lock_switch.set_active(Keyring.get_default().has_password())
|
||||
|
||||
@Gtk.Template.Callback('lock_switch_state_changed')
|
||||
def __on_app_set_password(self, __, state):
|
||||
if state and not Keyring.get_default().has_password():
|
||||
self.props.view = SettingsView.PASSWORD
|
||||
elif Keyring.get_default().has_password():
|
||||
Keyring.get_default().clear_password()
|
||||
self.__send_notification(_("Authentication password was unset. Please restart the application"))
|
||||
|
||||
@Gtk.Template.Callback('save_btn_clicked')
|
||||
def __save_password(self, *__):
|
||||
if self.save_btn.get_sensitive():
|
||||
password = self.password_entry.get_text()
|
||||
Keyring.set_password(password)
|
||||
self.props.view = SettingsView.MAIN
|
||||
self.__send_notification(_("Authentication password is now enabled. Please restart the application."))
|
||||
|
||||
@Gtk.Template.Callback('back_btn_clicked')
|
||||
def __back_btn_clicked(self, *_):
|
||||
self.props.view = SettingsView.MAIN
|
||||
if not Keyring.get_default().has_password():
|
||||
self.lock_switch.set_active(False)
|
||||
|
||||
@Gtk.Template.Callback('dark_theme_switch_state_changed')
|
||||
@staticmethod
|
||||
def __on_dark_theme_changed(_, state):
|
||||
gtk_settings = Gtk.Settings.get_default()
|
||||
gtk_settings.set_property("gtk-application-prefer-dark-theme",
|
||||
state)
|
||||
|
||||
@Gtk.Template.Callback('password_entry_changed')
|
||||
def __validate_password(self, *_):
|
||||
password = self.password_entry.get_text()
|
||||
repeat_password = self.repeat_password_entry.get_text()
|
||||
if not password:
|
||||
self.password_entry.get_style_context().add_class("error")
|
||||
valid_password = False
|
||||
else:
|
||||
self.password_entry.get_style_context().remove_class("error")
|
||||
valid_password = True
|
||||
|
||||
if not repeat_password or password != repeat_password:
|
||||
self.repeat_password_entry.get_style_context().add_class("error")
|
||||
valid_repeat_password = False
|
||||
else:
|
||||
self.repeat_password_entry.get_style_context().remove_class("error")
|
||||
valid_repeat_password = True
|
||||
|
||||
to_validate = [valid_password, valid_repeat_password]
|
||||
|
||||
self.save_btn.set_sensitive(all(to_validate))
|
||||
|
||||
def __update_view(self, *_):
|
||||
if self.props.view == SettingsView.PASSWORD:
|
||||
self.main_stack.set_visible_child_name("password_view")
|
||||
self.headerbar_stack.set_visible_child_name("headerbar_password")
|
||||
self.headerbar.set_show_close_button(False)
|
||||
self.notification.set_reveal_child(False)
|
||||
self.notification_label.set_text("")
|
||||
else:
|
||||
self.main_stack.set_visible_child_name("settings_view")
|
||||
self.headerbar_stack.set_visible_child_name("headerbar_settings")
|
||||
self.headerbar.set_show_close_button(True)
|
||||
# Reset Password View
|
||||
# To avoid user saving a password he doesn't remember
|
||||
self.password_entry.set_text("")
|
||||
self.repeat_password_entry.set_text("")
|
||||
self.password_entry.get_style_context().remove_class("error")
|
||||
self.repeat_password_entry.get_style_context().remove_class("error")
|
||||
self.save_btn.set_sensitive(False)
|
||||
|
||||
def __send_notification(self, message):
|
||||
self.notification_label.set_text(message)
|
||||
self.notification.set_reveal_child(True)
|
||||
|
||||
GLib.timeout_add_seconds(5,
|
||||
lambda _: self.notification.set_reveal_child(False), None)
|
|
@ -1,8 +1,22 @@
|
|||
"""
|
||||
Copyright © 2017 Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>
|
||||
|
||||
This file is part of Authenticator.
|
||||
|
||||
Authenticator is free software: you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Authenticator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gettext import gettext as _
|
||||
|
||||
from gi import require_version
|
||||
|
||||
require_version("Gtk", "3.0")
|
||||
from gi.repository import Gtk
|
||||
|
||||
|
228
src/Authenticator/widgets/window.py
Normal file
228
src/Authenticator/widgets/window.py
Normal file
|
@ -0,0 +1,228 @@
|
|||
"""
|
||||
Copyright © 2017 Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>
|
||||
|
||||
This file is part of Authenticator.
|
||||
|
||||
Authenticator is free software: you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Authenticator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Authenticator. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
from gi.repository import Gtk, GObject, Gio, GLib
|
||||
|
||||
from Authenticator.models import Database, Logger, Settings, AccountsManager
|
||||
from Authenticator.widgets.accounts import AccountsWidget, AddAccountWindow
|
||||
|
||||
|
||||
class WindowState:
|
||||
NORMAL = 0
|
||||
LOCKED = 1
|
||||
EMPTY = 2
|
||||
|
||||
@Gtk.Template(resource_path='/com/github/bilelmoussaoui/Authenticator/window.ui')
|
||||
class Window(Gtk.ApplicationWindow, GObject.GObject):
|
||||
"""Main Window object."""
|
||||
__gsignals__ = {
|
||||
'changed': (GObject.SignalFlags.RUN_LAST, None, (bool,))
|
||||
}
|
||||
|
||||
__gtype_name__ = 'Window'
|
||||
|
||||
# Default Window instance
|
||||
instance = None
|
||||
|
||||
|
||||
state = GObject.Property(type=int, default=0)
|
||||
|
||||
headerbar = Gtk.Template.Child()
|
||||
|
||||
add_btn = Gtk.Template.Child()
|
||||
search_btn = Gtk.Template.Child()
|
||||
primary_menu_btn = Gtk.Template.Child()
|
||||
|
||||
main_stack = Gtk.Template.Child()
|
||||
|
||||
search_bar = Gtk.Template.Child()
|
||||
|
||||
notification = Gtk.Template.Child()
|
||||
notification_label = Gtk.Template.Child()
|
||||
|
||||
accounts_viewport = Gtk.Template.Child()
|
||||
|
||||
unlock_btn = Gtk.Template.Child()
|
||||
password_entry = Gtk.Template.Child()
|
||||
|
||||
def __init__(self):
|
||||
super(Window, self).__init__()
|
||||
self.init_template('Window')
|
||||
|
||||
self.connect("notify::state", self.__state_changed)
|
||||
|
||||
self.key_press_signal = None
|
||||
self.restore_state()
|
||||
# Start the Account Manager
|
||||
AccountsManager.get_default()
|
||||
|
||||
self.__init_widgets()
|
||||
|
||||
@staticmethod
|
||||
def get_default():
|
||||
"""Return the default instance of Window."""
|
||||
if Window.instance is None:
|
||||
Window.instance = Window()
|
||||
return Window.instance
|
||||
|
||||
def close(self):
|
||||
self.save_state()
|
||||
AccountsManager.get_default().kill()
|
||||
self.destroy()
|
||||
|
||||
def add_account(self, *_):
|
||||
if not self.get_application().is_locked:
|
||||
add_window = AddAccountWindow()
|
||||
add_window.set_transient_for(self)
|
||||
add_window.show_all()
|
||||
add_window.present()
|
||||
|
||||
def set_menu(self, menu):
|
||||
popover = Gtk.Popover.new_from_model(self.primary_menu_btn, menu)
|
||||
def primary_menu_btn_handler(_, popover):
|
||||
popover.set_visible(not popover.get_visible())
|
||||
self.primary_menu_btn.connect('clicked', primary_menu_btn_handler, popover)
|
||||
|
||||
def toggle_search(self, *_):
|
||||
"""
|
||||
Switch the state of the search mode
|
||||
|
||||
Switches the state of the search mode if:
|
||||
- The application is not locked
|
||||
- There are at least one account in the database
|
||||
return: None
|
||||
"""
|
||||
if self.props.state == WindowState.NORMAL:
|
||||
toggled = not self.search_btn.props.active
|
||||
self.search_btn.set_property("active", toggled)
|
||||
|
||||
def save_state(self):
|
||||
"""
|
||||
Save window position and maximized state.
|
||||
"""
|
||||
settings = Settings.get_default()
|
||||
settings.window_position = self.get_position()
|
||||
settings.window_maximized = self.is_maximized()
|
||||
|
||||
def restore_state(self):
|
||||
"""
|
||||
Restore the window's state.
|
||||
"""
|
||||
settings = Settings.get_default()
|
||||
# Restore the window position
|
||||
position_x, position_y = settings.window_position
|
||||
if position_x != 0 and position_y != 0:
|
||||
self.move(position_x, position_y)
|
||||
Logger.debug("[Window] Restore position x: {}, y: {}".format(position_x,
|
||||
position_y))
|
||||
else:
|
||||
# Fallback to the center
|
||||
self.set_position(Gtk.WindowPosition.CENTER)
|
||||
|
||||
if settings.window_maximized:
|
||||
self.maximize()
|
||||
|
||||
def __init_widgets(self):
|
||||
"""Build main window widgets."""
|
||||
# Register Actions
|
||||
self.__add_action("add-account", self.add_account)
|
||||
self.__add_action("toggle-searchbar", self.toggle_search)
|
||||
|
||||
# Set up accounts Widget
|
||||
accounts_widget = AccountsWidget.get_default()
|
||||
accounts_widget.connect("account-removed", self.__on_accounts_changed)
|
||||
accounts_widget.connect("account-added", self.__on_accounts_changed)
|
||||
self.accounts_viewport.add(accounts_widget)
|
||||
|
||||
self.search_bar.bind_property("search-mode-enabled", self.search_btn,
|
||||
"active", GObject.BindingFlags.BIDIRECTIONAL)
|
||||
|
||||
def __on_accounts_changed(self, *_):
|
||||
if Database.get_default().count == 0:
|
||||
self.props.state = WindowState.EMPTY
|
||||
else:
|
||||
self.props.state = WindowState.NORMAL
|
||||
|
||||
@Gtk.Template.Callback('unlock_btn_clicked')
|
||||
def __unlock_btn_clicked(self, *_):
|
||||
from Authenticator.models import Keyring
|
||||
typed_password = self.password_entry.get_text()
|
||||
if typed_password == Keyring.get_password():
|
||||
self.get_application().set_property("is-locked", False)
|
||||
# Reset password entry
|
||||
self.password_entry.get_style_context().remove_class("error")
|
||||
self.password_entry.set_text("")
|
||||
else:
|
||||
self.password_entry.get_style_context().add_class("error")
|
||||
|
||||
def __add_action(self, key, callback, prop_bind=None, bind_flag=GObject.BindingFlags.INVERT_BOOLEAN):
|
||||
action = Gio.SimpleAction.new(key, None)
|
||||
action.connect("activate", callback)
|
||||
if prop_bind:
|
||||
self.bind_property(prop_bind, action, "enabled", bind_flag)
|
||||
self.add_action(action)
|
||||
|
||||
def __state_changed(self, *_):
|
||||
if self.props.state == WindowState.LOCKED:
|
||||
visible_child = "locked_state"
|
||||
self.add_btn.set_visible(False)
|
||||
self.add_btn.set_no_show_all(True)
|
||||
self.search_btn.set_visible(False)
|
||||
self.search_btn.set_no_show_all(True)
|
||||
if self.key_press_signal:
|
||||
self.disconnect(self.key_press_signal)
|
||||
else:
|
||||
# Connect on type search bar
|
||||
self.key_press_signal = self.connect("key-press-event", lambda x,
|
||||
y: self.search_bar.handle_event(y))
|
||||
if self.props.state == WindowState.EMPTY:
|
||||
visible_child = "empty_state"
|
||||
self.search_btn.set_visible(False)
|
||||
self.search_btn.set_no_show_all(True)
|
||||
else:
|
||||
visible_child = "normal_state"
|
||||
self.search_btn.set_visible(True)
|
||||
self.search_btn.set_no_show_all(False)
|
||||
self.add_btn.set_visible(True)
|
||||
self.add_btn.set_no_show_all(False)
|
||||
self.main_stack.set_visible_child_name(visible_child)
|
||||
|
||||
@Gtk.Template.Callback('search_changed')
|
||||
def __search_changed(self, entry):
|
||||
"""
|
||||
Handles search-changed signal.
|
||||
"""
|
||||
def filter_func(row, data, *_):
|
||||
"""
|
||||
Filter function
|
||||
"""
|
||||
data = data.lower()
|
||||
if len(data) > 0:
|
||||
return (
|
||||
data in row.account.username.lower()
|
||||
or
|
||||
data in row.account.provider.lower()
|
||||
)
|
||||
else:
|
||||
return True
|
||||
data = entry.get_text().strip()
|
||||
search_lists = AccountsWidget.get_default().accounts_lists
|
||||
for search_list in search_lists:
|
||||
search_list.set_filter_func(filter_func,
|
||||
data, False)
|
||||
|
|
@ -23,16 +23,7 @@ import sy
|
|||
sys.path.insert(1, '@PYTHON_EXEC_DIR@')
|
||||
sys.path.insert(1, '@PYTHON_DIR@')
|
||||
from os import path
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
gi.require_version('GIRepository', '2.0')
|
||||
|
||||
from gi.repository import Gio, GIRepository, GLib
|
||||
|
||||
GIRepository.Repository.prepend_search_path(
|
||||
path.join('@LIB_DIR@', 'girepository-1.0'))
|
||||
GIRepository.Repository.prepend_library_path('@LIB_DIR@')
|
||||
|
||||
from gi.repository import Gio, GLib
|
||||
|
||||
from Authenticator.models.database import Database
|
||||
from Authenticator.models.account import Account
|
|
@ -26,28 +26,23 @@ import sys
|
|||
from os import path
|
||||
from gettext import gettext as _
|
||||
from gi import require_version
|
||||
|
||||
require_version('GIRepository', '2.0')
|
||||
from gi.repository import Gio, GIRepository
|
||||
require_version('Gtk', '3.0')
|
||||
require_version("Handy", "0.0")
|
||||
require_version('Secret', '1')
|
||||
from gi.repository import Gio
|
||||
|
||||
sys.path.insert(1, '@PYTHON_EXEC_DIR@')
|
||||
sys.path.insert(1, '@PYTHON_DIR@')
|
||||
|
||||
def prepare_locale():
|
||||
locale.bindtextdomain('Authenticator', '@LOCALE_DIR@')
|
||||
locale.textdomain('Authenticator')
|
||||
gettext.bindtextdomain('Authenticator', '@LOCALE_DIR@')
|
||||
gettext.textdomain('Authenticator')
|
||||
locale.bindtextdomain('@GETTEXT_PACKAGE@', '@LOCALE_DIR@')
|
||||
locale.textdomain('@GETTEXT_PACKAGE@')
|
||||
gettext.bindtextdomain('@GETTEXT_PACKAGE@', '@LOCALE_DIR@')
|
||||
gettext.textdomain('@GETTEXT_PACKAGE@')
|
||||
|
||||
|
||||
def prepare_gir():
|
||||
gir_repository_path = path.join('@LIB_DIR@', 'girepository-1.0')
|
||||
GIRepository.Repository.prepend_search_path(gir_repository_path)
|
||||
GIRepository.Repository.prepend_library_path('@LIB_DIR@')
|
||||
|
||||
if __name__ == "__main__":
|
||||
prepare_locale()
|
||||
prepare_gir()
|
||||
|
||||
parser = argparse.ArgumentParser(prog="Authenticator")
|
||||
parser.add_argument("--debug", "-d", action="store_true",
|
||||
|
@ -56,7 +51,7 @@ if __name__ == "__main__":
|
|||
help=_("Authenticator version number"))
|
||||
args = parser.parse_args()
|
||||
|
||||
resource = Gio.resource_load(path.join('@DATA_DIR@', '@APP_ID@.gresource'))
|
||||
resource = Gio.resource_load(path.join('@PKGDATA_DIR@', '@APP_ID@.gresource'))
|
||||
Gio.Resource._register(resource)
|
||||
|
||||
|
51
src/meson.build
Normal file
51
src/meson.build
Normal file
|
@ -0,0 +1,51 @@
|
|||
|
||||
|
||||
configure_file(
|
||||
input: 'authenticator.py.in',
|
||||
output: 'authenticator',
|
||||
configuration: conf,
|
||||
install_dir: get_option('bindir')
|
||||
)
|
||||
|
||||
configure_file(
|
||||
input: 'authenticator-search-provider.py.in',
|
||||
output: 'authenticator-search-provider',
|
||||
configuration: conf,
|
||||
install_dir: get_option('libexecdir')
|
||||
)
|
||||
|
||||
|
||||
configure_file(
|
||||
input: 'Authenticator/models/settings.py.in',
|
||||
output: 'settings.py',
|
||||
configuration: conf,
|
||||
install_dir: join_paths(python.sysconfig_path('purelib'),
|
||||
'Authenticator/models')
|
||||
)
|
||||
|
||||
configure_file(
|
||||
input: 'Authenticator/utils.py.in',
|
||||
output: 'utils.py',
|
||||
configuration: conf,
|
||||
install_dir: join_paths(python.sysconfig_path('purelib'),
|
||||
'Authenticator')
|
||||
)
|
||||
|
||||
configure_file(
|
||||
input: 'Authenticator/application.py.in',
|
||||
output: 'application.py',
|
||||
configuration: conf,
|
||||
install_dir: join_paths(python.sysconfig_path('purelib'),
|
||||
'Authenticator')
|
||||
)
|
||||
|
||||
install_subdir(
|
||||
'Authenticator',
|
||||
install_dir: python.sysconfig_path('purelib'),
|
||||
exclude_files: [
|
||||
'models/settings.py.in',
|
||||
'widgets/window.py.in',
|
||||
'utils.py.in',
|
||||
'application.py.in'
|
||||
]
|
||||
)
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 7ae254bfc5f641c60566614e08245176f7bc5aa8
|
Loading…
Add table
Reference in a new issue