Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package folks for openSUSE:Factory checked 
in at 2022-01-21 01:25:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/folks (Old)
 and      /work/SRC/openSUSE:Factory/.folks.new.1938 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "folks"

Fri Jan 21 01:25:21 2022 rev:56 rq:947479 version:0.15.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/folks/folks.changes      2021-11-11 
21:36:31.284893002 +0100
+++ /work/SRC/openSUSE:Factory/.folks.new.1938/folks.changes    2022-01-21 
01:25:44.822452740 +0100
@@ -1,0 +2,9 @@
+Tue Jan 18 09:57:36 UTC 2022 - Bj??rn Lie <bjorn....@gmail.com>
+
+- Update to version 0.15.4:
+  + Bugs fixed:
+    - Fix docs build against newer eds version.
+    - Fix build against newer eds version.
+    - Remove volatile keyword from tests.
+
+-------------------------------------------------------------------

Old:
----
  folks-0.15.3.tar.xz

New:
----
  folks-0.15.4.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ folks.spec ++++++
--- /var/tmp/diff_new_pack.WTkm87/_old  2022-01-21 01:25:45.366449011 +0100
+++ /var/tmp/diff_new_pack.WTkm87/_new  2022-01-21 01:25:45.374448956 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package folks
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -22,7 +22,7 @@
 %define with_zeitgeist  0
 
 Name:           folks
-Version:        0.15.3
+Version:        0.15.4
 Release:        0
 Summary:        Library to create metacontacts from multiple sources
 License:        LGPL-2.1-or-later

++++++ folks-0.15.3.tar.xz -> folks-0.15.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/folks-0.15.3/.gitlab/ci/junit-report.sh 
new/folks-0.15.4/.gitlab/ci/junit-report.sh
--- old/folks-0.15.3/.gitlab/ci/junit-report.sh 1970-01-01 01:00:00.000000000 
+0100
+++ new/folks-0.15.4/.gitlab/ci/junit-report.sh 2022-01-17 22:10:43.000000000 
+0100
@@ -0,0 +1,70 @@
+#!/usr/bin/env bash
+#
+# junit-report.sh: JUnit report helpers
+#
+# Source this file into your CI scripts to get a nice JUnit report file which
+# can be shown in the GitLab UI.
+
+JUNIT_REPORT_TESTS_FILE=$(mktemp)
+
+# We need this to make sure we don't send funky stuff into the XML report,
+# making it invalid XML (and thus unparsable by CI)
+function escape_xml() {
+  echo "$1" | sed -e 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g; s/"/\&quot;/g; 
s/'"'"'/\&#39;/g'
+}
+
+# Append a failed test case with the given name and message
+function append_failed_test_case() {
+  test_name="$1"
+  test_message="$2"
+
+  # Escape both fields before putting them into the xml
+  test_name_esc="$(escape_xml "$test_name")"
+  test_message_esc="$(escape_xml "$test_message")"
+
+  echo "<testcase name=\"$test_name_esc\">" >> $JUNIT_REPORT_TESTS_FILE
+  echo "    <failure message=\"$test_message_esc\"/>" >> 
$JUNIT_REPORT_TESTS_FILE
+  echo "</testcase>" >> $JUNIT_REPORT_TESTS_FILE
+
+  # Also output to stderr, so it shows up in the job output
+  echo >&2 "Test '$test_name' failed: $test_message"
+}
+
+# Append a successful test case with the given name
+function append_passed_test_case() {
+  test_name="$1"
+  test_name_esc="$(escape_xml "$test_name")"
+
+  echo "<testcase name=\"$test_name_esc\"></testcase>" >> 
$JUNIT_REPORT_TESTS_FILE
+
+  # Also output to stderr, so it shows up in the job output
+  echo >&2 "Test '$test_name' succeeded"
+}
+
+# Aggregates the test cases into a proper JUnit report XML file
+function generate_junit_report() {
+  junit_report_file="$1"
+  testsuite_name="$2"
+
+  num_tests=$(fgrep '<testcase' -- "$JUNIT_REPORT_TESTS_FILE" | wc -l)
+  num_failures=$(fgrep '<failure' -- "$JUNIT_REPORT_TESTS_FILE" | wc -l )
+
+  echo Generating JUnit report \"$(pwd)/$junit_report_file\" with $num_tests 
tests and $num_failures failures.
+
+  cat > $junit_report_file << __EOF__
+<?xml version="1.0" encoding="utf-8"?>
+<testsuites tests="$num_tests" errors="0" failures="$num_failures">
+<testsuite name="$testsuite_name" tests="$num_tests" errors="0" 
failures="$num_failures" skipped="0">
+$(< $JUNIT_REPORT_TESTS_FILE)
+</testsuite>
+</testsuites>
+__EOF__
+}
+
+# Returns a non-zero exit status if any of the tests in the given JUnit report 
failed
+# You probably want to call this at the very end of your script.
+function check_junit_report() {
+  junit_report_file="$1"
+
+  ! fgrep -q '<failure' -- "$junit_report_file"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/folks-0.15.3/.gitlab/ci/style-check.sh 
new/folks-0.15.4/.gitlab/ci/style-check.sh
--- old/folks-0.15.3/.gitlab/ci/style-check.sh  1970-01-01 01:00:00.000000000 
+0100
+++ new/folks-0.15.4/.gitlab/ci/style-check.sh  2022-01-17 22:10:43.000000000 
+0100
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+#
+# style-check.sh: Performs some basic style checks
+
+# Source the JUnit helpers
+scriptdir="$(dirname "$BASH_SOURCE")"
+source "$scriptdir/junit-report.sh"
+
+
+TESTNAME="No tabs"
+tabs_occurrences="$(fgrep -nRI $'\t' folks backends tests tools)"
+if [[ -z "$tabs_occurrences" ]]; then
+  append_passed_test_case "$TESTNAME"
+else
+  append_failed_test_case "$TESTNAME" \
+    $'Please remove the tabs found at the following 
places:\n\n'"$tabs_occurrences"
+fi
+
+
+TESTNAME="No trailing whitespace"
+trailing_ws_occurrences="$(grep -nRI '[[:blank:]]$' folks backends tests 
tools)"
+if [[ -z "$trailing_ws_occurrences" ]]; then
+  append_passed_test_case "$TESTNAME"
+else
+  append_failed_test_case "$TESTNAME" \
+    $'Please remove the trailing whitespace at the following 
places:\n\n'"$trailing_ws_occurrences"
+fi
+
+
+generate_junit_report "$CI_JOB_NAME-junit-report.xml" "$CI_JOB_NAME"
+check_junit_report "$CI_JOB_NAME-junit-report.xml"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/folks-0.15.3/.gitlab-ci.yml 
new/folks-0.15.4/.gitlab-ci.yml
--- old/folks-0.15.3/.gitlab-ci.yml     1970-01-01 01:00:00.000000000 +0100
+++ new/folks-0.15.4/.gitlab-ci.yml     2022-01-17 22:10:43.000000000 +0100
@@ -0,0 +1,69 @@
+image: fedora:latest
+
+stages:
+  - review
+  - build
+  - deploy
+
+style-check:
+  stage: review
+  script:
+    - ./.gitlab/ci/style-check.sh
+  artifacts:
+    expire_in: 1 week
+    name: "style-check-junit-report"
+    when: always
+    reports:
+      junit: style-check-junit-report.xml
+    paths:
+      - "style-check-junit-report.xml"
+
+build-folks:
+  stage: build
+  except:
+    - tags
+  before_script:
+    - dnf update -y --nogpgcheck
+    - dnf -y install --nogpgcheck
+      dbus-glib-devel evolution-data-server-devel glib2-devel
+      gobject-introspection-devel libgee-devel libxml2-devel meson ninja-build
+      python3-dbusmock readline-devel redhat-rpm-config telepathy-glib-devel
+      telepathy-glib-vala vala valadoc gtk-doc
+      dbus-daemon # FIXME: dbus-broker breaks the CI, see 
https://github.com/bus1/dbus-broker/issues/145
+  script:
+    - meson _build -Ddocs=true
+    - meson compile -C _build
+    # Multiply the Meson test timeout by 3 (mostly for the stress tests)
+    # For most tests it doesn't matter anyway, since we internally use
+    # TestUtils.loop_run_with_timeout()
+    - meson test -C _build -t 3
+  artifacts:
+    reports:
+      junit: "_build/meson-logs/testlog.junit.xml"
+    name: "folks-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
+    when: always
+    paths:
+      - "_build/config.h"
+      - "_build/meson-logs"
+      - "_build/docs"
+
+pages:
+  stage: deploy
+  dependencies:
+    - build-folks
+  script:
+    # Devhelp (Vala API)
+    - mkdir -p public/devhelp
+    - mv _build/docs/devhelp/* public/devhelp
+    # Gtk-doc (C API)
+    - >
+      for f in folks folks-dummy folks-eds folks-telepathy; do
+        mkdir -p public/gtkdoc/$f
+        # We're only interested in the generated HTML here
+        mv _build/docs/gtkdoc/$f/html/* public/gtkdoc/$f
+      done
+  artifacts:
+    paths:
+      - public
+  only:
+    - master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/folks-0.15.3/NEWS new/folks-0.15.4/NEWS
--- old/folks-0.15.3/NEWS       2021-07-18 23:29:27.127598800 +0200
+++ new/folks-0.15.4/NEWS       2022-01-17 22:10:43.000000000 +0100
@@ -1,3 +1,11 @@
+Overview of changes from libfolks 0.15.3 to libfolks 0.15.4
+===========================================================
+
+Bugs fixed:
+  * Fix docs build against newer eds version
+  * Fix build against newer eds version
+  * Remove volatile keyword from tests
+
 Overview of changes from libfolks 0.15.2 to libfolks 0.15.3
 ===========================================================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/folks-0.15.3/backends/eds/lib/edsf-persona.vala 
new/folks-0.15.4/backends/eds/lib/edsf-persona.vala
--- old/folks-0.15.3/backends/eds/lib/edsf-persona.vala 2021-07-18 
23:29:27.131598700 +0200
+++ new/folks-0.15.4/backends/eds/lib/edsf-persona.vala 2022-01-17 
22:10:43.000000000 +0100
@@ -98,7 +98,7 @@
    * than the X-URIS field. Here are mappings between the custom vCard field
    * names which EDS uses, and the TYPE values which folks uses which map to
    * them. */
-  private struct UrlTypeMapping
+  internal struct UrlTypeMapping
     {
       unowned string vcard_field_name;
       unowned string folks_type;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/folks-0.15.3/docs/meson.build 
new/folks-0.15.4/docs/meson.build
--- old/folks-0.15.3/docs/meson.build   2021-07-18 23:29:27.137598800 +0200
+++ new/folks-0.15.4/docs/meson.build   2022-01-17 22:10:43.000000000 +0100
@@ -35,6 +35,10 @@
 ]
 
 if eds_backend_enabled
+  if eds_dep.version().version_compare('>=3.41')
+    docs_common_valadoc_flags += ['-D', 'HAS_EDS_3_41']
+  endif
+
   valadoc_targets += {
     'name': 'folks-eds',
     'source_files': eds_backendlib_sources,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/folks-0.15.3/meson.build new/folks-0.15.4/meson.build
--- old/folks-0.15.3/meson.build        2021-07-18 23:29:27.145599000 +0200
+++ new/folks-0.15.4/meson.build        2022-01-17 22:10:43.000000000 +0100
@@ -1,5 +1,5 @@
 project('folks', [ 'vala', 'c' ],
-  version: '0.15.3',
+  version: '0.15.4',
   license: 'LGPL2.1+',
   meson_version: '>= 0.51',
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/folks-0.15.3/po/he.po new/folks-0.15.4/po/he.po
--- old/folks-0.15.3/po/he.po   2021-07-18 23:29:27.154599000 +0200
+++ new/folks-0.15.4/po/he.po   2022-01-17 22:10:43.000000000 +0100
@@ -6,211 +6,307 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gnome folks\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-29 11:10+0200\n"
-"PO-Revision-Date: 2012-12-29 11:37+0200\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/folks/issues\n";
+"POT-Creation-Date: 2021-09-23 11:22+0000\n"
+"PO-Revision-Date: 2021-11-16 23:53+0200\n"
 "Last-Translator: Yaron Shahrabani <sh.ya...@gmail.com>\n"
 "Language-Team: Hebrew <sh.ya...@gmail.com>\n"
 "Language: he\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Poedit-Language: Hebrew\n"
-"X-Poedit-Country: ISRAEL\n"
-"X-Poedit-SourceCharset: utf-8\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==2 ? 1 : n>10 && n%10==0 ? "
+"2 : 3);\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Generator: Poedit 3.0\n"
+
+#: backends/bluez/bluez-backend.vala:734
+msgid ""
+"No BlueZ 5 object manager running, so the BlueZ backend will be inactive. "
+"Either your BlueZ installation is too old (only version 5 is supported) or "
+"the service can???t be started."
+msgstr ""
+
+#: backends/bluez/bluez-backend.vala:747
+msgid ""
+"Error connecting to OBEX transfer daemon over D-Bus. Ensure BlueZ and obexd "
+"are installed."
+msgstr ""
+"?????????? ???????????????? ?????????? ?????????????? ???? OBEX ?????? D-Bus. 
???? ?????????? ???? BlueZ ????obexd "
+"??????????????."
+
+#. Translators: the parameter is an error message.
+#: backends/bluez/bluez-persona-store.vala:385
+#, c-format
+msgid "Error reading the transferred address book file: %s"
+msgstr "?????????? ???????????? ???????? ?????? ?????????????? ????????????: 
%s"
+
+#. Translators: the first parameter is the name of the
+#. * failed transfer, and the second is a Bluetooth device
+#. * alias.
+#. Translators: the first parameter is the name of the failed
+#. * transfer, and the second is a Bluetooth device alias.
+#: backends/bluez/bluez-persona-store.vala:676
+#: backends/bluez/bluez-persona-store.vala:698
+#, c-format
+msgid ""
+"Error during transfer of the address book ???%s??? from Bluetooth device 
???%s???."
+msgstr ""
+
+#: backends/bluez/bluez-persona-store.vala:791
+#, c-format
+msgid ""
+"Permission to access the address book on Bluetooth device ???%s??? was denied 
by "
+"the user."
+msgstr ""
+
+#. Translators: the first parameter is a Bluetooth device
+#. * alias, and the second is an error message.
+#: backends/bluez/bluez-persona-store.vala:798
+#, c-format
+msgid "An OBEX address book transfer from device ???%s??? could not be 
started: %s"
+msgstr ""
+
+#. Translators: the first parameter is a Bluetooth device
+#. * alias, and the second is an error message.
+#: backends/bluez/bluez-persona-store.vala:838
+#, c-format
+msgid "The OBEX address book transfer from device ???%s??? failed: %s"
+msgstr "?????????? ?????? ?????????????? ????OBEX ?????????????? ???%s??? 
??????????: %s"
+
+#. Translators: the first parameter is a Bluetooth device
+#. * alias, and the second is an error message.
+#: backends/bluez/bluez-persona-store.vala:855
+#, c-format
+msgid ""
+"Error during transfer of the address book from Bluetooth device ???%s???: %s"
+msgstr ""
+
+#: backends/bluez/bluez-persona-store.vala:1073
+#, c-format
+msgid "Bluetooth device ???%s??? disappeared during address book transfer."
+msgstr "???????? ???????????????? ???%s??? ???????? ?????????? ?????????? 
???????? ??????????????."
 
 #. The timeout after which we consider a property change to have failed if we
 #. * haven't received a property change notification for it.
 #. seconds
+#. The timeout after which we consider a contact addition to have failed if we
+#. * haven't received an object addition signal for it.
+#. seconds
 #. Translators: This should be translated to the name of the ???Starred in
 #. * Android??? group in Google Contacts for your language. If Google have not
 #. * localised the group for your language, or Google Contacts isn't available
 #. * in your language, please *do not* translate this string (i.e. just copy
 #. * the msgid to the msgstr unchanged).
-#: ../backends/eds/lib/edsf-persona-store.vala:64
+#: backends/eds/lib/edsf-persona-store.vala:69
 msgid "Starred in Android"
 msgstr "???????????? ???????? ????????????????"
 
 #. Translators: the first parameter is an address book
 #. * URI and the second is a persona UID.
-#: ../backends/eds/lib/edsf-persona-store.vala:641
+#: backends/eds/lib/edsf-persona-store.vala:641
 #, c-format
 msgid "Address book ???%s??? is offline, so contact ???%s??? cannot be 
removed."
 msgstr "?????? ?????????????? ???%s??? ???????? ?????????? ???????? ???? 
???????? ?????????? ???? ?????? ???????? ???%s???."
 
 #. Translators: the first parameter is an address book
 #. * URI and the second is an error message.
-#: ../backends/eds/lib/edsf-persona-store.vala:647
+#: backends/eds/lib/edsf-persona-store.vala:647
 #, c-format
 msgid "Permission denied to remove contact ???%s???: %s"
 msgstr "?????????? ???????????? ?????? ???????? ???%s??? ??????????: %s"
 
 #. Translators: the parameter is an error message.
-#: ../backends/eds/lib/edsf-persona-store.vala:652
+#: backends/eds/lib/edsf-persona-store.vala:652
 #, c-format
-msgid "Removing contacts isn't supported by this persona store: %s"
+msgid "Removing contacts isn???t supported by this persona store: %s"
 msgstr "???????? ???????? ?????? ???????? ?????????? ?????????????? ?????????? 
???????????? ????: %s"
 
-#: ../backends/eds/lib/edsf-persona-store.vala:681
+#: backends/eds/lib/edsf-persona-store.vala:681
 #, c-format
-msgid "Can't remove contact ???%s???: %s"
+msgid "Can???t remove contact ???%s???: %s"
 msgstr "???? ???????? ?????????? ???? ?????? ???????? ???%s???:??? %s"
 
 #. Translators: the parameter is an address book
 #. * URI.
-#: ../backends/eds/lib/edsf-persona-store.vala:774
-#: ../backends/eds/lib/edsf-persona-store.vala:968
+#: backends/eds/lib/edsf-persona-store.vala:770
+#: backends/eds/lib/edsf-persona-store.vala:963
 #, c-format
 msgid "Address book ???%s??? is offline."
 msgstr "?????? ?????????????? ???%s??? ???????? ??????????."
 
 #. Translators: the first parameter is an address
 #. * book URI and the second is an error message.
-#: ../backends/eds/lib/edsf-persona-store.vala:779
-#: ../backends/eds/lib/edsf-persona-store.vala:973
+#: backends/eds/lib/edsf-persona-store.vala:775
+#: backends/eds/lib/edsf-persona-store.vala:968
 #, c-format
 msgid "Permission denied to open address book ???%s???: %s"
 msgstr "?????????? ???????????? ?????? ???????????? ???%s??? ??????????: %s"
 
 #. Translators: the first parameter is an address book URI
 #. * and the second is an error message.
-#: ../backends/eds/lib/edsf-persona-store.vala:812
+#: backends/eds/lib/edsf-persona-store.vala:808
 #, c-format
-msgid "Couldn't open address book ???%s???: %s"
-msgstr "???? ???????? ?????????? ???? ?????? ?????????????? ???%s???:??? %s"
+msgid "Couldn???t open address book ???%s???: %s"
+msgstr "???? ???????? ?????????? ???? ?????? ?????????????? ???%s???:??? %s"
 
 #. Translators: the parameteter is an error message.
-#: ../backends/eds/lib/edsf-persona-store.vala:878
-#: ../backends/eds/lib/edsf-persona-store.vala:908
+#: backends/eds/lib/edsf-persona-store.vala:876
+#: backends/eds/lib/edsf-persona-store.vala:906
 #, c-format
-msgid "Couldn't get address book capabilities: %s"
+msgid "Couldn???t get address book capabilities: %s"
 msgstr "???? ???????? ???????? ???? ???????????? ?????? ??????????????: %s"
 
 #. Translators: the parameter is an address book URI.
-#: ../backends/eds/lib/edsf-persona-store.vala:924
+#: backends/eds/lib/edsf-persona-store.vala:922
 #, c-format
-msgid "Couldn't get view for address book ???%s???."
-msgstr "???? ???????? ???????? ?????????? ???????? ?????? ?????????????? 
???%s???."
+msgid "Couldn???t get view for address book ???%s???."
+msgstr "???? ???????? ???????? ?????????? ???????? ?????? ?????????????? 
???%s???."
 
 #. Translators: the first parameter is an address book URI
 #. * and the second is an error message.
-#: ../backends/eds/lib/edsf-persona-store.vala:1006
+#: backends/eds/lib/edsf-persona-store.vala:1001
 #, c-format
-msgid "Couldn't get view for address book ???%s???: %s"
-msgstr "???? ???????? ???????? ?????????? ???????? ?????????????? ???%s???:??? 
%s"
+msgid "Couldn???t get view for address book ???%s???: %s"
+msgstr "???? ???????? ???????? ?????????? ???????? ?????????????? ???%s???:??? 
%s"
+
+#: backends/eds/lib/edsf-persona-store.vala:1307
+msgid "Creating a new contact failed due to reaching the timeout."
+msgstr "?????????? ???????????? ???%s??? ???????? ?????????? ???????? ?????? 
???? ??????."
 
 #. Translators: the parameter is the name of a property on a
 #. * contact, formatted in the normal GObject style (e.g.
 #. * lowercase with hyphens to separate words).
-#: ../backends/eds/lib/edsf-persona-store.vala:1363
+#: backends/eds/lib/edsf-persona-store.vala:1421
 #, c-format
 msgid "Changing the ???%s??? property failed due to reaching the timeout."
 msgstr "?????????? ???????????? ???%s??? ???????? ?????????? ???????? ?????? 
???? ??????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1401
-#: ../folks/avatar-details.vala:63
+#: backends/eds/lib/edsf-persona-store.vala:1455 folks/avatar-details.vala:63
 msgid "Avatar is not writeable on this contact."
 msgstr "???? ???????? ?????????? ???? ?????????? ???????????? ???????? ?????? 
????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1422
-#: ../folks/web-service-details.vala:123
+#: backends/eds/lib/edsf-persona-store.vala:1476
+#: folks/web-service-details.vala:123
 msgid "Web service addresses are not writeable on this contact."
 msgstr "???? ???????? ?????????? ???????????? ???????????? ?????? ???????? 
?????? ????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1458
-#: ../folks/url-details.vala:152
+#: backends/eds/lib/edsf-persona-store.vala:1512 folks/url-details.vala:152
 msgid "URLs are not writeable on this contact."
 msgstr "???? ???????? ?????????? ???????????? ???????? ?????? ????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1539
-#: ../folks/local-id-details.vala:64
+#: backends/eds/lib/edsf-persona-store.vala:1594 folks/local-id-details.vala:64
 msgid "Local IDs are not writeable on this contact."
 msgstr "???? ???????? ?????????? ?????????? ?????????????? ???????? ?????? 
????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1565
+#: backends/eds/lib/edsf-persona-store.vala:1623
 msgid "The contact cannot be marked as favourite."
 msgstr "???? ???????? ???????? ???? ?????? ???????? ????????????."
 
 #. Translators: the parameter is an error message.
-#: ../backends/eds/lib/edsf-persona-store.vala:1634
+#: backends/eds/lib/edsf-persona-store.vala:1695
 #, c-format
-msgid "Can't update avatar: %s"
-msgstr "???? ???????? ?????????? ???? ?????????? ????????????: %s"
+msgid "Can???t update avatar: %s"
+msgstr "???? ???????? ?????????? ???? ???????????? ????????????????: %s"
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1645
-#: ../folks/email-details.vala:120
+#: backends/eds/lib/edsf-persona-store.vala:1706 folks/email-details.vala:120
 msgid "E-mail addresses are not writeable on this contact."
 msgstr "???? ???????? ?????????? ???? ???????????? ???????????? ???????? 
?????? ????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1659
-#: ../folks/phone-details.vala:229
+#: backends/eds/lib/edsf-persona-store.vala:1773 folks/phone-details.vala:255
 msgid "Phone numbers are not writeable on this contact."
 msgstr "???? ???????? ?????????? ???? ?????????? ???????????? ???????? ?????? 
????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1673
-#: ../folks/postal-address-details.vala:361
+#: backends/eds/lib/edsf-persona-store.vala:1791
+#: folks/postal-address-details.vala:362
 msgid "Postal addresses are not writeable on this contact."
 msgstr "???? ???????? ?????????? ???? ???????????? ?????????? ???????? ?????? 
????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1740
-#: ../folks/name-details.vala:283
+#: backends/eds/lib/edsf-persona-store.vala:1862 folks/name-details.vala:454
 msgid "Full name is not writeable on this contact."
 msgstr "???? ???????? ?????????? ???? ?????? ???????? ???????? ?????? ????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1762
-#: ../folks/name-details.vala:321
+#: backends/eds/lib/edsf-persona-store.vala:1884 folks/name-details.vala:492
 msgid "Nickname is not writeable on this contact."
 msgstr "???? ???????? ?????????? ???? ???????????? ???????? ?????? ????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1784
-#: ../folks/note-details.vala:138
+#: backends/eds/lib/edsf-persona-store.vala:1906 folks/note-details.vala:139
 msgid "Notes are not writeable on this contact."
 msgstr "???? ???????? ?????????? ?????????? ???????? ?????? ????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1813
-#: ../folks/birthday-details.vala:62
+#: backends/eds/lib/edsf-persona-store.vala:1938 folks/birthday-details.vala:62
 msgid "Birthday is not writeable on this contact."
 msgstr "???? ???????? ?????????? ?????????? ?????? ???????????? ???????? 
?????? ????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1857
-#: ../folks/role-details.vala:279
+#: backends/eds/lib/edsf-persona-store.vala:1982 folks/role-details.vala:280
 msgid "Roles are not writeable on this contact."
 msgstr "???? ???????? ?????????? ?????????????? ???????? ?????? ????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1958
-#: ../folks/name-details.vala:246
+#: backends/eds/lib/edsf-persona-store.vala:2083 folks/name-details.vala:417
 msgid "Structured name is not writeable on this contact."
 msgstr "???? ???????? ?????????? ???? ?????????? ???????? ?????? ????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:1997
-#: ../folks/im-details.vala:136
+#: backends/eds/lib/edsf-persona-store.vala:2122 folks/im-details.vala:136
 msgid "IM addresses are not writeable on this contact."
 msgstr "???? ???????? ?????????? ???? ???????????? ?????????? ???????????? 
???????? ?????? ????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:2047
-#: ../folks/group-details.vala:174
+#: backends/eds/lib/edsf-persona-store.vala:2172 folks/group-details.vala:174
 msgid "Groups are not writeable on this contact."
 msgstr "???? ???????? ?????????? ???????????? ???????? ?????? ????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:2059
+#: backends/eds/lib/edsf-persona-store.vala:2187
 msgid "My Contacts is only available for Google Contacts"
-msgstr "???????? ???????? ?????? ???????????? ???? ???????????? Google."
+msgstr "???????? ???????? ?????? ???????????? ???? ????Google Contacts"
 
-#: ../backends/eds/lib/edsf-persona-store.vala:2126
-#: ../folks/gender-details.vala:79
+#: backends/eds/lib/edsf-persona-store.vala:2258 folks/gender-details.vala:79
 msgid "Gender is not writeable on this contact."
 msgstr "???? ???????? ?????????? ???????? ???????? ?????? ????."
 
-#: ../backends/eds/lib/edsf-persona-store.vala:2161
-#: ../folks/anti-linkable.vala:81
+#: backends/eds/lib/edsf-persona-store.vala:2296 folks/anti-linkable.vala:84
 msgid "Anti-links are not writeable on this contact."
 msgstr "???? ???????? ?????????? ???????? ?????????????? ???????? ?????? ????."
 
+#: backends/eds/lib/edsf-persona-store.vala:2339
+#: folks/location-details.vala:135
+msgid "Location is not writeable on this contact."
+msgstr "???????????? ???????? ???????? ???????????? ???????? ?????? ?????? 
????."
+
+#. Translators: the first parameter is an error message.
+#: backends/eds/lib/edsf-persona-store.vala:2685
+#, c-format
+msgid "Permission denied when creating new contact: %s"
+msgstr "?????????? ?????????? ?????? ?????????? ?????? ?????? ??????: %s"
+
+#. Translators: the first parameter is an error message.
+#: backends/eds/lib/edsf-persona-store.vala:2690
+#, c-format
+msgid "Address book is offline and a new contact cannot be created: %s"
+msgstr "?????? ?????????????? ???????? ?????????? ???? ???????? ?????????? 
?????? ?????? ??????: %s"
+
 #. Translators: the first parameter is a non-human-readable
 #. * property name and the second parameter is an error
 #. * message.
-#: ../backends/eds/lib/edsf-persona-store.vala:2356
+#: backends/eds/lib/edsf-persona-store.vala:2699
+#, c-format
+msgid "New contact is not writeable: %s"
+msgstr "?????? ???????? ???????? ???????? ????????????: %s"
+
+#. Translators: the first parameter is an error message.
+#: backends/eds/lib/edsf-persona-store.vala:2703
+#, c-format
+msgid "Invalid value in contact: %s"
+msgstr "?????? ???????? ???????? ??????: %s"
+
+#. Translators: the first parameter is an error message.
+#: backends/eds/lib/edsf-persona-store.vala:2727
+#, c-format
+msgid "Unknown error adding contact: %s"
+msgstr "?????????? ???????? ?????????? ???????????? ?????? ??????: %s"
+
+#. Translators: the first parameter is a non-human-readable
+#. * property name and the second parameter is an error
+#. * message.
+#: backends/eds/lib/edsf-persona-store.vala:2760
 #, c-format
 msgid "Property ???%s??? is not writeable: %s"
 msgstr "???????????? ???%s??? ?????????? ???????? ??????????: %s"
@@ -218,375 +314,414 @@
 #. Translators: the first parameter is a non-human-readable
 #. * property name and the second parameter is an error
 #. * message.
-#: ../backends/eds/lib/edsf-persona-store.vala:2365
+#: backends/eds/lib/edsf-persona-store.vala:2769
 #, c-format
 msgid "Invalid value for property ???%s???: %s"
 msgstr "?????? ???????? ???????? ???????????? ???%s???:??? %s"
 
 #. Translators: the first parameter is a non-human-readable
 #. * property name and the second parameter is an error message.
-#: ../backends/eds/lib/edsf-persona-store.vala:2391
+#: backends/eds/lib/edsf-persona-store.vala:2795
 #, c-format
 msgid "Unknown error setting property ???%s???: %s"
 msgstr "?????????? ???????? ?????????? ?????? ?????????? ???????????? 
???%s???:??? %s"
 
 #. Translators: the first parameter is a filename, and
 #. * the second is an error message.
-#: ../backends/key-file/kf-persona-store.vala:233
+#: backends/key-file/kf-persona-store.vala:235
 #, c-format
-msgid "The relationship key file '%s' could not be loaded: %s"
-msgstr "???? ???????? ?????????? ???? ???????? ???????? ???????????? 
???%s???:??? %s"
+msgid "The relationship key file ???%s??? could not be loaded: %s"
+msgstr "???? ???????? ?????????? ???? ???????? ???????? ???????????? 
???%s???:??? %s"
 
 #. Translators: the first parameter is a path, and the
 #. * second is an error message.
-#: ../backends/key-file/kf-persona-store.vala:255
+#: backends/key-file/kf-persona-store.vala:257
 #, c-format
-msgid "The relationship key file directory '%s' could not be created: %s"
-msgstr "???? ???????? ?????????? ???? ???????????? ???????? ???????? 
???????????? ???%s???:??? %s"
+msgid "The relationship key file directory ???%s??? could not be created: %s"
+msgstr "???? ???????? ?????????? ???? ???????????? ???????? ???????? 
???????????? ???%s???:??? %s"
 
 #. Translators: the first parameter is a filename, and
 #. * the second is an error message.
-#: ../backends/key-file/kf-persona-store.vala:279
+#: backends/key-file/kf-persona-store.vala:281
 #, c-format
-msgid "The relationship key file '%s' could not be created: %s"
-msgstr "???? ???????? ?????????? ???? ???????? ???????????? ???%s???:??? %s"
+msgid "The relationship key file ???%s??? could not be created: %s"
+msgstr "???? ???????? ?????????? ???? ???????? ???????? ???????????? 
???%s???:??? %s"
 
 #. Translators: the first parameter is a filename, the second is
 #. * an error message.
-#: ../backends/key-file/kf-persona-store.vala:468
+#: backends/key-file/kf-persona-store.vala:483
 #, c-format
-msgid "Could not write updated key file '%s': %s"
-msgstr "???? ???????? ?????????? ???? ???????? ?????????? ?????????????? 
???%s???:??? %s"
+msgid "Could not write updated key file ???%s???: %s"
+msgstr "???? ???????? ?????????? ???? ???????? ?????????? ?????????????? 
???%s???:??? %s"
 
 #. Translators: this is an error message for if the user
 #. * provides an invalid IM address. The first parameter is
 #. * an IM address (e.g. ???f...@jabber.org???), the second is
 #. * the name of a protocol (e.g. ???jabber???) and the third is
 #. * an error message.
-#: ../backends/key-file/kf-persona.vala:173
+#: backends/key-file/kf-persona.vala:176
 #, c-format
 msgid "Invalid IM address ???%s??? for protocol ???%s???: %s"
-msgstr "?????????? ?????????? ???????????? ?????????? ???%s??? ???????? 
?????????????????? ???%s???:??? %s"
-
-#. Translators: the parameter is an error message.
-#: ../backends/key-file/kf-persona.vala:432
-#, c-format
-msgid "Couldn't load data from key file: %s"
-msgstr "???? ???????? ?????????? ???????????? ?????????? ??????????: %s"
+msgstr "?????????? ?????????? ???????????? ?????????? ???%s??? ???????? 
?????????????????? ???%s???:??? %s"
 
 #. Translators: the parameter is an error message.
-#: ../backends/libsocialweb/lib/swf-persona-store.vala:345
-#: ../backends/libsocialweb/lib/swf-persona-store.vala:367
-#: ../backends/libsocialweb/lib/swf-persona-store.vala:388
+#: backends/key-file/kf-persona.vala:508
 #, c-format
-msgid "Couldn???t prepare libsocialweb service: %s"
-msgstr "???? ???????? ?????????? ???? ???????????? libsocialweb:??? %s"
+msgid "Couldn???t load data from key file: %s"
+msgstr "???? ???????? ?????????? ???????????? ?????????? ????????: %s"
 
-#: ../backends/libsocialweb/lib/swf-persona-store.vala:346
-msgid "No capabilities were found."
-msgstr "???? ?????????? ????????????."
-
-#: ../backends/libsocialweb/lib/swf-persona-store.vala:368
-msgid "No contacts capability was found."
-msgstr "???? ?????????? ???????????? ???????? ??????."
-
-#: ../backends/libsocialweb/lib/swf-persona-store.vala:389
-msgid "Error opening contacts view."
-msgstr "?????????? ???????????? ?????????? ???????? ??????."
-
-#. Translators: the first parameter is the display name for
-#. * the Telepathy account, and the second is an error
-#. * message.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:813
-#, c-format
-msgid "Failed to determine whether we can set aliases on Telepathy account 
'%s': %s"
+#: backends/ofono/ofono-backend.vala:196
+msgid ""
+"No oFono object manager running, so the oFono backend will be inactive. "
+"Either oFono isn???t installed or the service can???t be started."
 msgstr ""
 
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1271
+#: backends/telepathy/lib/tpf-persona-store.vala:1264
 msgid "Telepathy contacts representing the local user may not be removed."
 msgstr ""
 
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1282
+#. Translators: the parameter is an error message.
+#: backends/telepathy/lib/tpf-persona-store.vala:1275
 #, c-format
 msgid "Failed to remove a persona from store: %s"
 msgstr ""
 
 #. Translators: the first two parameters are store identifiers and
 #. * the third is a contact identifier.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1312
+#: backends/telepathy/lib/tpf-persona-store.vala:1310
 #, c-format
 msgid ""
 "Persona store (%s, %s) requires the following details:\n"
-"    contact (provided: '%s')\n"
+"    contact (provided: ???%s???)\n"
 msgstr ""
 
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1327
+#: backends/telepathy/lib/tpf-persona-store.vala:1325
 msgid "Cannot create a new Telepathy contact while offline."
-msgstr "???? ???????? ?????????? ?????? ?????? ?????? ????Telepathy 
???????????? ???????? ??????????."
+msgstr "???? ???????? ?????????? ?????? ?????? ?????? ????Telepathy ?????? 
?????????? ????????????????."
 
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1345
+#. Translators: the parameter is an error message.
+#: backends/telepathy/lib/tpf-persona-store.vala:1343
 #, c-format
 msgid "Failed to add a persona from details: %s"
-msgstr ""
+msgstr "?????????? ???????? ???????????? ??????????: %s"
 
 #. Translators: "telepathy-logger" is the name of an application,
 #. * and should not be translated.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1365
-msgid "Failed to change favorite without a connection to the telepathy-logger 
service."
+#: backends/telepathy/lib/tpf-persona-store.vala:1363
+msgid ""
+"Failed to change favorite without a connection to the telepathy-logger "
+"service."
 msgstr ""
 
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1371
-msgid "Failed to change favorite status of Telepathy Persona because it has no 
attached TpContact."
+#: backends/telepathy/lib/tpf-persona-store.vala:1369
+msgid ""
+"Failed to change favorite status of Telepathy Persona because it has no "
+"attached TpContact."
 msgstr ""
 
 #. Translators: the parameter is a contact identifier.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1389
+#: backends/telepathy/lib/tpf-persona-store.vala:1387
 #, c-format
 msgid "Failed to change favorite status for Telepathy contact ???%s???."
 msgstr ""
 
 #. Translators: the parameter is an error message.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1421
+#: backends/telepathy/lib/tpf-persona-store.vala:1419
 #, c-format
-msgid "Failed to change contact's alias: %s"
-msgstr ""
+msgid "Failed to change contact???s alias: %s"
+msgstr "?????????? ?????????? ?????? ???????? ??????????: %s"
 
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1501
-msgid "Extended information may only be set on the user's Telepathy contact."
+#: backends/telepathy/lib/tpf-persona-store.vala:1500
+msgid "Extended information may only be set on the user???s Telepathy contact."
 msgstr ""
 
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1530
-msgid "Extended information cannot be written because the store is 
disconnected."
+#: backends/telepathy/lib/tpf-persona-store.vala:1529
+msgid ""
+"Extended information cannot be written because the store is disconnected."
 msgstr ""
 
-#: ../backends/telepathy/lib/tpf-persona.vala:499
-#: ../backends/telepathy/lib/tpf-persona.vala:520
-#: ../backends/telepathy/lib/tpf-persona.vala:572
-#: ../backends/telepathy/lib/tpf-persona.vala:586
+#. Translators: the parameter is an error message.
+#: backends/telepathy/lib/tpf-persona.vala:511
+#: backends/telepathy/lib/tpf-persona.vala:532
+#: backends/telepathy/lib/tpf-persona.vala:584
+#: backends/telepathy/lib/tpf-persona.vala:598
 #, c-format
 msgid "Failed to change group membership: %s"
 msgstr "?????????? ???????????? ???????????? ????????: %s"
 
 #. Translators: "account" refers to an instant messaging
 #. * account.
-#: ../backends/telepathy/lib/tpf-persona.vala:502
-#: ../backends/telepathy/lib/tpf-persona.vala:575
+#: backends/telepathy/lib/tpf-persona.vala:514
+#: backends/telepathy/lib/tpf-persona.vala:587
 msgid "Account is offline."
 msgstr "???????????? ???????? ??????????."
 
-#. Translators: the first parameter is the unknown key that
-#. * was received with the details params, and the second
-#. * identifies the persona store.
-#: ../backends/tracker/lib/trf-persona-store.vala:742
-#, c-format
-msgid "Unrecognized parameter '%s' passed to persona store '%s'."
-msgstr ""
-
-#: ../folks/alias-details.vala:61
+#: folks/alias-details.vala:61
 msgid "Alias is not writeable on this contact."
 msgstr "???? ???????? ?????????? ?????????? ???????????? ????."
 
 #. Translators: the first parameter is a folder path and the second
 #. * is an error message.
-#: ../folks/backend-store.vala:591
+#: folks/backend-store.vala:655
 #, c-format
-msgid "Error listing contents of folder '%s': %s"
-msgstr "?????????? ?????????? ?????? ???????? ???????? ?????????????? 
???%s???:??? %s"
+msgid "Error listing contents of folder ???%s???: %s"
+msgstr "?????????? ?????????? ?????? ???????? ?????????? ?????????????? 
???%s???:??? %s"
+
+#. Translators: the first parameter is a folder path and the second
+#. * is an error message.
+#: folks/backend-store.vala:696
+#, c-format
+msgid "Error querying info for target ???%s??? of symlink ???%s???: %s"
+msgstr ""
 
 #. Translators: the parameter is a filename.
-#: ../folks/backend-store.vala:720
+#: folks/backend-store.vala:824
 #, c-format
-msgid "File or directory '%s' does not exist."
-msgstr "?????????? ???? ?????????????? ???%s??? ???????? ????????????."
+msgid "File or directory ???%s??? does not exist."
+msgstr "?????????? ???? ?????????????? ???%s??? ???????? ????????????."
 
 #. Translators: the parameter is a filename.
-#: ../folks/backend-store.vala:726
+#: folks/backend-store.vala:830
 #, c-format
-msgid "Failed to get content type for '%s'."
-msgstr "???????? ?????? ?????? ???????? ???????? ???%s??? ??????????."
+msgid "Failed to get content type for ???%s???."
+msgstr "???????? ?????? ?????????? ???? ???%s??? ??????????."
 
-#: ../folks/birthday-details.vala:93
+#: folks/birthday-details.vala:93
 msgid "Birthday event ID is not writeable on this contact."
 msgstr "???? ???????? ?????????? ???????? ?????????? ?????? ?????????? 
???????? ?????? ????."
 
-#: ../folks/favourite-details.vala:58
+#: folks/extended-info.vala:133 folks/extended-info.vala:149
+msgid "Extended fields are not writeable on this contact."
+msgstr "?????????? ???????????????? ???????????? ???????????? ???????? ?????? 
?????? ????."
+
+#: folks/favourite-details.vala:58
 msgid "Favorite status is not writeable on this contact."
 msgstr "???? ???????? ???????????? ?????? ?????????? ???????? ?????? ????."
 
 #. Translators: the parameter is an IM address.
-#: ../folks/im-details.vala:178
-#: ../folks/im-details.vala:192
-#: ../folks/im-details.vala:214
-#: ../folks/im-details.vala:241
+#: folks/im-details.vala:178 folks/im-details.vala:192
+#: folks/im-details.vala:214 folks/im-details.vala:241
 #, c-format
-msgid "The IM address '%s' could not be understood."
-msgstr "???? ???????? ?????????? ???? ?????????? ???????????? ?????????????? 
???%s???."
+msgid "The IM address ???%s??? could not be understood."
+msgstr "???? ???????? ?????????? ???? ?????????? ???????????? ?????????????? 
???%s???."
 
 #. Translators: the first parameter is a persona store identifier
 #. * and the second is an error message.
-#: ../folks/individual-aggregator.vala:882
+#: folks/individual-aggregator.vala:1052
 #, c-format
-msgid "Error preparing persona store '%s': %s"
-msgstr ""
+msgid "Error preparing persona store ???%s???: %s"
+msgstr "?????????? ?????????? ?????????? ???????????? ???%s???:??? %s"
 
 #. Translators: the parameter is a property name.
-#: ../folks/individual-aggregator.vala:1103
-#: ../folks/individual-aggregator.vala:1329
+#: folks/individual-aggregator.vala:1283 folks/individual-aggregator.vala:1556
 #, c-format
-msgid "Unknown property '%s' in linkable property list."
-msgstr ""
+msgid "Unknown property ???%s??? in linkable property list."
+msgstr "?????????????? ???%s??? ???????? ???????? ???????????? 
?????????????????? ????????????."
 
 #. Translators: the first parameter is a store identifier
 #. * and the second parameter is an error message.
-#: ../folks/individual-aggregator.vala:1791
+#: folks/individual-aggregator.vala:2042
 #, c-format
-msgid "Failed to add contact for persona store ID '%s': %s"
+msgid "Failed to add contact for persona store ID ???%s???: %s"
 msgstr ""
 
-#: ../folks/individual-aggregator.vala:1884
-msgid "Can???t link personas with no primary store."
+#: folks/individual-aggregator.vala:2169
+msgid "Anti-links can???t be removed between personas being linked."
 msgstr ""
 
-#: ../folks/individual-aggregator.vala:1885
-#: ../folks/individual-aggregator.vala:2219
-#, c-format
-msgid "Persona store ???%s:%s??? is configured as primary, but could not be 
found or failed to load."
+#: folks/individual-aggregator.vala:2493
+msgid "Can???t add personas with no primary store."
 msgstr ""
 
-#: ../folks/individual-aggregator.vala:1886
-#: ../folks/individual-aggregator.vala:2220
+#: folks/individual-aggregator.vala:2494
 #, c-format
-msgid "Check the relevant service is running, or change the default store in 
that service or using the ???%s??? GSettings key."
-msgstr ""
-
-#: ../folks/individual-aggregator.vala:1918
-msgid "Anti-links can't be removed between personas being linked."
+msgid ""
+"Persona store ???%s:%s??? is configured as primary, but could not be found or 
"
+"failed to load."
 msgstr ""
 
-#: ../folks/individual-aggregator.vala:2218
-msgid "Can???t add personas with no primary store."
+#: folks/individual-aggregator.vala:2495
+#, c-format
+msgid ""
+"Check the relevant service is running, or change the default store in that "
+"service or using the ???%s??? GSettings key."
 msgstr ""
 
-#: ../folks/individual-aggregator.vala:2229
+#: folks/individual-aggregator.vala:2504
 #, c-format
-msgid "Can't write to requested property (???%s???) of the writeable store."
+msgid "Can???t write to requested property (???%s???) of the writeable store."
 msgstr ""
 
-#: ../folks/individual.vala:216
-#: ../folks/individual.vala:369
-#: ../folks/individual.vala:478
-#: ../folks/individual.vala:718
-#: ../folks/individual.vala:796
+#: folks/individual.vala:217 folks/individual.vala:404
+#: folks/individual.vala:513 folks/individual.vala:764
+#: folks/individual.vala:842 folks/individual.vala:1060
 #, c-format
 msgid "Failed to change property ???%s???: No suitable personas were found."
 msgstr ""
 
-#: ../folks/org.freedesktop.folks.gschema.xml.in.h:1
+#. Translators: This is the default name for an Individual
+#. * when displayed in the UI if no personal details are available
+#. * for them.
+#: folks/individual.vala:2110
+msgid "Unnamed Person"
+msgstr "?????? ?????? ????"
+
+#. FIXME: Ideally we???d use a format string translated to the locale of the
+#. * persona whose name is being formatted, but no backend provides
+#. * information about personas??? locales, so we have to settle for the
+#. * current user???s locale.
+#. *
+#. * We thought about using nl_langinfo(_NL_NAME_NAME_FMT) here, but
+#. * decided against it because:
+#. *  1. It???s not the best documented API in the world, and its stability
+#. *     is in question.
+#. *  2. An attempt to improve the interface in glibc met with a wall of
+#. *     complaints: https://sourceware.org/bugzilla/show_bug.cgi?id=14641.
+#. *
+#. * However, we do re-use the string format placeholders from
+#. * _NL_NAME_NAME_FMT (as documented here:
+#. * http://lh.2xlibre.net/values/name_fmt/) because there???s a chance glibc
+#. * might eventually grow a useful interface for this.
+#. *
+#. * It does mean we have to implement our own parser for the name_fmt
+#. * format though, since glibc doesn???t provide a formatting function.
+#. Translators: This is a format string used to convert structured names
+#. * to a single string. It should be translated to the predominant
+#. * semi-formal name format for your locale, using the placeholders
+#. * documented here: http://lh.2xlibre.net/values/name_fmt/. You may be
+#. * able to re-use the existing glibc format string for your locale on that
+#. * page if it???s suitable.
+#. *
+#. * More explicitly: the supported placeholders are %f, %F, %g, %G, %m, %M,
+#. * %t. The romanisation modifier (e.g. %Rf) is recognized but ignored.
+#. * %s, %S and %d are all replaced by the same thing (the ???Honorific
+#. * Prefixes??? from vCard) so please avoid using more than one.
+#. *
+#. * For example, the format string ???%g%t%m%t%f??? expands to ???John Andrew
+#. * Lees??? when used for a persona with first name ???John???, additional 
names
+#. * ???Andrew??? and family names ???Lees???.
+#. *
+#. * If you need additional placeholders with other information or
+#. * punctuation, please file a bug against libfolks:
+#. *   https://gitlab.gnome.org/GNOME/folks/issues
+#.
+#: folks/name-details.vala:268
+msgid "%g%t%m%t%f"
+msgstr "%g%t%m%t%f"
+
+#: folks/org.freedesktop.folks.gschema.xml.in:6
 msgid "Primary store ID"
-msgstr ""
+msgstr "???????? ?????????? ??????????"
 
-#: ../folks/org.freedesktop.folks.gschema.xml.in.h:2
-msgid "The ID of the persona store which folks should use as primary (i.e. to 
store linking data in). The type ID of the store may optionally be prepended, 
separated by a colon. For example: ???eds:system-address-book??? or 
???key-file???."
+#: folks/org.freedesktop.folks.gschema.xml.in:7
+msgid ""
+"The ID of the persona store which folks should use as primary (i.e. to store "
+"linking data in). The type ID of the store may optionally be prepended, "
+"separated by a colon. For example: ???eds:system-address-book??? or 
???key-file???."
 msgstr ""
 
-#: ../folks/postal-address-details.vala:231
+#: folks/postal-address-details.vala:232
 #, c-format
 msgid "%s, %s, %s, %s, %s, %s, %s"
 msgstr "%s, %s, %s, %s, %s, %s, %s"
 
-#: ../folks/presence-details.vala:159
+#: folks/presence-details.vala:171
 msgid "Unknown status"
 msgstr "?????? ???????? ????????"
 
-#: ../folks/presence-details.vala:161
+#: folks/presence-details.vala:173
 msgid "Offline"
 msgstr "??????????"
 
-#: ../folks/presence-details.vala:165
+#: folks/presence-details.vala:177
 msgid "Error"
 msgstr "??????????"
 
-#: ../folks/presence-details.vala:167
+#: folks/presence-details.vala:179
 msgid "Available"
 msgstr "????????????"
 
-#: ../folks/presence-details.vala:169
+#: folks/presence-details.vala:181
 msgid "Away"
 msgstr "??????????"
 
-#: ../folks/presence-details.vala:171
+#: folks/presence-details.vala:183
 msgid "Extended away"
 msgstr "?????????? ??????????"
 
-#: ../folks/presence-details.vala:173
+#: folks/presence-details.vala:185
 msgid "Busy"
 msgstr "????????????"
 
-#: ../folks/presence-details.vala:175
+#: folks/presence-details.vala:187
 msgid "Hidden"
 msgstr "??????????"
 
-#: ../folks/role-details.vala:150
+#: folks/role-details.vala:151
 #, c-format
 msgid "Title: %s, Organisation: %s, Role: %s"
 msgstr "??????????: %s, ??????????: %s, ??????????: %s"
 
 #. Translators: the parameter is a filename.
-#: ../tools/import-pidgin.vala:48
+#: tools/import-pidgin.vala:49
 #, c-format
 msgid "File %s does not exist."
 msgstr "?????????? %s ???? ????????."
 
 #. Translators: the first parameter is a filename, and the second
 #. * is an error message.
-#: ../tools/import-pidgin.vala:64
+#: tools/import-pidgin.vala:65
 #, c-format
 msgid "Failed to get information about file %s: %s"
 msgstr "???????? ???????? ???? ?????????? %s ??????????: %s"
 
 #. Translators: the parameter is a filename.
-#: ../tools/import-pidgin.vala:71
+#: tools/import-pidgin.vala:72
 #, c-format
 msgid "File %s is not readable."
 msgstr "?????????? %s ???????? ????????."
 
 #. Translators: the parameter is a filename.
-#: ../tools/import-pidgin.vala:81
+#: tools/import-pidgin.vala:82
 #, c-format
-msgid "The Pidgin buddy list file '%s' could not be loaded."
-msgstr ""
+msgid "The Pidgin buddy list file ???%s??? could not be loaded."
+msgstr "???? ???????? ?????????? ???? ???????? ?????????? ???????????? 
???%s??? ????Pidgin."
 
 #. Translators: the parameter is a filename.
-#: ../tools/import-pidgin.vala:96
+#: tools/import-pidgin.vala:97
 #, c-format
-msgid "The Pidgin buddy list file ???%s??? could not be loaded: the root 
element could not be found or was not recognized."
+msgid ""
+"The Pidgin buddy list file ???%s??? could not be loaded: the root element 
could "
+"not be found or was not recognized."
 msgstr ""
 
 #. Translators: the first parameter is the number of buddies which
 #. * were successfully imported, and the second is a filename.
-#: ../tools/import-pidgin.vala:116
+#: tools/import-pidgin.vala:117
 #, c-format
-msgid "Imported %u buddy from '%s'."
-msgid_plural "Imported %u buddies from '%s'."
+msgid "Imported %u buddy from ???%s???."
+msgid_plural "Imported %u buddies from ???%s???."
 msgstr[0] ""
 msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
 
 #. Translators: the first parameter is a persona identifier,
 #. * and the second is an error message.
-#: ../tools/import-pidgin.vala:163
+#: tools/import-pidgin.vala:164
 #, c-format
 msgid "Error changing group of contact ???%s???: %s"
-msgstr ""
+msgstr "?????????? ???????????? ?????????? ?????? ???????? ???%s???:??? %s"
 
 #. Translators: the parameter is the buddy's IM address.
-#: ../tools/import-pidgin.vala:220
+#: tools/import-pidgin.vala:221
 #, c-format
 msgid ""
 "Ignoring buddy with no alias and only one IM address:\n"
 "%s"
 msgstr ""
 
-#: ../tools/import-pidgin.vala:244
+#: tools/import-pidgin.vala:244
 #, c-format
 msgid ""
 "Failed to create new contact for buddy with alias ???%s??? and IM 
addresses:\n"
@@ -597,7 +732,7 @@
 #. Translators: the first parameter is a persona identifier, the
 #. * second is an alias for the persona, and the third is a set of IM
 #. * addresses each on a new line.
-#: ../tools/import-pidgin.vala:258
+#: tools/import-pidgin.vala:258
 #, c-format
 msgid ""
 "Created contact ???%s??? for buddy with alias ???%s??? and IM addresses:\n"
@@ -606,63 +741,80 @@
 "???????? ?????? ???????? ???%s??? ???????? ???????? ???? ???????????? 
???%s??? ?????????????? ???????????? ?????????????? ??????????:\n"
 "%s"
 
-#: ../tools/import.vala:44
-msgid "Source backend name (default: 'pidgin')"
-msgstr "???? ???????????? ?????????? (???????? ????????: ???pidgin???)"
+#: tools/import.vala:44
+msgid "Source backend name (default: ???pidgin???)"
+msgstr "???? ???????????? ?????????? (???????? ????????: ???pidgin???)"
 
-#: ../tools/import.vala:47
+#: tools/import.vala:47
 msgid "Source filename (default: specific to source backend)"
 msgstr "???? ???????? ?????????? (???????? ????????: ???????????? ?????????? 
??????????????)"
 
-#: ../tools/import.vala:57
+#: tools/import.vala:58
 msgid "??? import meta-contact information to libfolks"
 msgstr "??? ???????? ???????? ???? ???? ???????? ?????? ????libfolks"
 
 #. Translators: the parameter is an error message.
-#: ../tools/import.vala:67
+#: tools/import.vala:68
 #, c-format
-msgid "Couldn't parse command line options: %s"
+msgid "Couldn???t parse command line options: %s"
 msgstr "???? ???????? ???????? ???? ?????????????????? ?????????? 
????????????: %s"
 
 #. Translators: the parameter is an error message.
-#: ../tools/import.vala:108
+#: tools/import.vala:109
 #, c-format
-msgid "Couldn't load the backends: %s"
+msgid "Couldn???t load the backends: %s"
 msgstr "???? ???????? ?????????? ???? ??????????????????: %s"
 
 #. Translators: the parameter is a backend identifier.
-#: ../tools/import.vala:119
+#: tools/import.vala:120
 #, c-format
-msgid "Couldn't load the ???%s??? backend."
-msgstr "???? ???????? ?????????? ?????????????? ???%s???."
+msgid "Couldn???t load the ???%s??? backend."
+msgstr "???? ???????? ?????????? ???? ?????????????? ???%s???."
 
 #. Translators: the first parameter is a backend identifier and the
 #. * second parameter is an error message.
-#: ../tools/import.vala:132
+#: tools/import.vala:133
 #, c-format
-msgid "Couldn't prepare the ???%s??? backend: %s"
-msgstr "???? ???????? ?????????? ???? ?????????????? ???? ???%s???:??? %s"
+msgid "Couldn???t prepare the ???%s??? backend: %s"
+msgstr "???? ???????? ?????????? ???? ?????????????? ???? ???%s???:??? %s"
 
 #. Translators: the parameter is a backend identifier.
-#: ../tools/import.vala:145
+#: tools/import.vala:146
 #, c-format
-msgid "Couldn't load the ???%s??? backend's persona store."
-msgstr "???? ???????? ?????????? ???? ?????????? ?????????????? ???? 
?????????????? ???%s???."
+msgid "Couldn???t load the ???%s??? backend???s persona store."
+msgstr "???? ???????? ?????????? ???? ???????????? ?????????? ?????????????? 
???? ???%s???."
 
-#: ../tools/import.vala:166
+#. Translators: the first parameter is a backend identifier and the
+#. * second parameter is an error message.
+#: tools/import.vala:167
 #, c-format
-msgid "Couldn't prepare the ???%s??? backend's persona store: %s"
-msgstr "???? ???????? ?????????? ???? ?????????????? ???? ???%s??? 
???????????? ????????????: %s"
+msgid "Couldn???t prepare the ???%s??? backend???s persona store: %s"
+msgstr "???? ???????? ?????????? ???? ???????????? ?????????? ?????????????? 
???? ???%s???:??? %s"
 
 #. Translators: the parameter is an error message.
-#: ../tools/import.vala:184
+#: tools/import.vala:185
 #, c-format
 msgid "Error importing contacts: %s"
 msgstr "?????????? ???????????? ???????? ????????: %s"
 
 #. Translators: both parameters are identifiers for backends.
-#: ../tools/import.vala:198
+#: tools/import.vala:199
 #, c-format
-msgid "Unrecognized source backend name ???%s???. ???%s??? is currently the 
only supported source backend."
-msgstr "???? ???????????? ?????????? ???????? ???????? ???%s???.??? ???%s??? 
???????? ???????????? ?????? ???????????? ?????????? ???????????? ??????????."
+msgid ""
+"Unrecognized source backend name ???%s???. ???%s??? is currently the only 
supported "
+"source backend."
+msgstr ""
+"???? ???????????? ?????????? ???????? ???????? ???%s???.??? ???%s???, 
???????? ????????????, ?????? ???????????? ?????????? ???????????? "
+"??????????."
+
+#~ msgid "Couldn???t prepare libsocialweb service: %s"
+#~ msgstr "???? ???????? ?????????? ???? ???????????? libsocialweb:??? %s"
+
+#~ msgid "No capabilities were found."
+#~ msgstr "???? ?????????? ????????????."
+
+#~ msgid "No contacts capability was found."
+#~ msgstr "???? ?????????? ???????????? ???????? ??????."
 
+#~ msgid "Error opening contacts view."
+#~ msgstr "?????????? ???????????? ?????????? ???????? ??????."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/folks-0.15.3/tests/lib/gtestdbus.c 
new/folks-0.15.4/tests/lib/gtestdbus.c
--- old/folks-0.15.3/tests/lib/gtestdbus.c      2021-07-18 23:29:27.171599000 
+0200
+++ new/folks-0.15.4/tests/lib/gtestdbus.c      2022-01-17 22:10:43.000000000 
+0100
@@ -44,7 +44,7 @@
 GType
 folks_test_dbus_flags_get_type (void)
 {
-  static volatile gsize g_define_type_id__volatile = 0;
+  static gsize g_define_type_id__volatile = 0;
 
   if (g_once_init_enter (&g_define_type_id__volatile))
     {

Reply via email to