Imported Upstream version 1.4.4 upstream/1.4.4
authorDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 25 Feb 2020 01:13:51 +0000 (10:13 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Tue, 25 Feb 2020 01:13:51 +0000 (10:13 +0900)
31 files changed:
.gitlab-ci.yml [new file with mode: 0644]
build-aux/make_release.sh [deleted file]
doc/draft-zyp-json-schema-02.txt [deleted file]
doc/meson.build
doc/rfc4627.txt [deleted file]
json-glib.doap [deleted file]
json-glib/json-enum-types.h.in
json-glib/json-node.c
json-glib/json-parser.c
json-glib/json-types.h
json-glib/tests/array.c
json-glib/tests/json-test-utils.h [new file with mode: 0644]
json-glib/tests/node.c
json-glib/tests/parser.c
json-glib/tests/path.c
json-glib/tests/reader.c
json-glib/tests/serialize-complex.c
meson.build
meson_options.txt
po/.gitignore [deleted file]
po/LINGUAS
po/Makevars [deleted file]
po/ca@valencia.po
po/el.po
po/hr.po [new file with mode: 0644]
po/nl.po [new file with mode: 0644]
po/oc.po
po/ro.po
po/sl.po
po/zh_CN.po
po/zh_TW.po

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644 (file)
index 0000000..8d6f67e
--- /dev/null
@@ -0,0 +1,15 @@
+image: fedora:26
+
+stages:
+  - build
+
+before_script:
+  - dnf install -y gcc meson ninja-build gettext gtk-doc glib2-devel
+
+build-json-glib:
+  stage: build
+  script:
+  - meson _build .
+  - ninja -C _build
+  - mesontest -C _build
+  - ninja -C _build install
diff --git a/build-aux/make_release.sh b/build-aux/make_release.sh
deleted file mode 100755 (executable)
index 8c69990..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-test -n "$srcdir" || srcdir=$(dirname "$0")
-test -n "$srcdir" || srcdir=.
-
-cd $srcdir
-
-PROJECT=json-glib
-VERSION=$(git describe --abbrev=0)
-
-NAME="${PROJECT}-${VERSION}"
-
-rm -f "${NAME}.tar"
-rm -f "${NAME}.tar.xz"
-
-echo "Creating git tree archive…"
-git archive --prefix="${NAME}/" --format=tar HEAD > ${NAME}.tar
-
-echo "Compressing archive…"
-xz -f "${NAME}.tar"
diff --git a/doc/draft-zyp-json-schema-02.txt b/doc/draft-zyp-json-schema-02.txt
deleted file mode 100644 (file)
index 5e72fee..0000000
+++ /dev/null
@@ -1,1345 +0,0 @@
-
-
-
-Internet Engineering Task Force                              K. Zyp, Ed.
-Internet-Draft                                             SitePen (USA)
-Intended status: Informational                            March 23, 2010
-Expires: September 24, 2010
-
-
-   A JSON Media Type for Describing the Structure and Meaning of JSON
-                               Documents
-                        draft-zyp-json-schema-02
-
-Abstract
-
-   JSON (JavaScript Object Notation) Schema defines the media type
-   application/schema+json, a JSON based format for defining the
-   structure of JSON data.  JSON Schema provides a contract for what
-   JSON data is required for a given application and how to interact
-   with it.  JSON Schema is intended to define validation,
-   documentation, hyperlink navigation, and interaction control of JSON
-   data.
-
-Status of This Memo
-
-   This Internet-Draft is submitted to IETF in full conformance with the
-   provisions of BCP 78 and BCP 79.
-
-   Internet-Drafts are working documents of the Internet Engineering
-   Task Force (IETF), its areas, and its working groups.  Note that
-   other groups may also distribute working documents as Internet-
-   Drafts.
-
-   Internet-Drafts are draft documents valid for a maximum of six months
-   and may be updated, replaced, or obsoleted by other documents at any
-   time.  It is inappropriate to use Internet-Drafts as reference
-   material or to cite them other than as "work in progress."
-
-   The list of current Internet-Drafts can be accessed at
-   http://www.ietf.org/ietf/1id-abstracts.txt.
-
-   The list of Internet-Draft Shadow Directories can be accessed at
-   http://www.ietf.org/shadow.html.
-
-   This Internet-Draft will expire on September 24, 2010.
-
-Copyright Notice
-
-   Copyright (c) 2010 IETF Trust and the persons identified as the
-   document authors.  All rights reserved.
-
-
-
-
-Zyp                    Expires September 24, 2010               [Page 1]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-   This document is subject to BCP 78 and the IETF Trust's Legal
-   Provisions Relating to IETF Documents
-   (http://trustee.ietf.org/license-info) in effect on the date of
-   publication of this document.  Please review these documents
-   carefully, as they describe your rights and restrictions with respect
-   to this document.  Code Components extracted from this document must
-   include Simplified BSD License text as described in Section 4.e of
-   the Trust Legal Provisions and are provided without warranty as
-   described in the BSD License.
-
-Table of Contents
-
-   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
-   2.  Conventions  . . . . . . . . . . . . . . . . . . . . . . . . .  4
-   3.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
-     3.1.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  5
-     3.2.  Design Considerations  . . . . . . . . . . . . . . . . . .  6
-   4.  Schema/Instance Association  . . . . . . . . . . . . . . . . .  6
-     4.1.  Self-Descriptive Schema  . . . . . . . . . . . . . . . . .  7
-   5.  Core Schema Definition . . . . . . . . . . . . . . . . . . . .  7
-     5.1.  type . . . . . . . . . . . . . . . . . . . . . . . . . . .  8
-     5.2.  properties . . . . . . . . . . . . . . . . . . . . . . . .  8
-     5.3.  items  . . . . . . . . . . . . . . . . . . . . . . . . . .  9
-     5.4.  optional . . . . . . . . . . . . . . . . . . . . . . . . .  9
-     5.5.  additionalProperties . . . . . . . . . . . . . . . . . . .  9
-     5.6.  requires . . . . . . . . . . . . . . . . . . . . . . . . .  9
-     5.7.  minimum  . . . . . . . . . . . . . . . . . . . . . . . . . 10
-     5.8.  maximum  . . . . . . . . . . . . . . . . . . . . . . . . . 10
-     5.9.  minimumCanEqual  . . . . . . . . . . . . . . . . . . . . . 10
-     5.10. maximumCanEqual  . . . . . . . . . . . . . . . . . . . . . 10
-     5.11. minItems . . . . . . . . . . . . . . . . . . . . . . . . . 10
-     5.12. maxItems . . . . . . . . . . . . . . . . . . . . . . . . . 10
-     5.13. uniqueItems  . . . . . . . . . . . . . . . . . . . . . . . 10
-     5.14. pattern  . . . . . . . . . . . . . . . . . . . . . . . . . 10
-     5.15. maxLength  . . . . . . . . . . . . . . . . . . . . . . . . 11
-     5.16. minLength  . . . . . . . . . . . . . . . . . . . . . . . . 11
-     5.17. enum . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
-     5.18. title  . . . . . . . . . . . . . . . . . . . . . . . . . . 11
-     5.19. description  . . . . . . . . . . . . . . . . . . . . . . . 11
-     5.20. format . . . . . . . . . . . . . . . . . . . . . . . . . . 11
-     5.21. contentEncoding  . . . . . . . . . . . . . . . . . . . . . 12
-     5.22. default  . . . . . . . . . . . . . . . . . . . . . . . . . 13
-     5.23. divisibleBy  . . . . . . . . . . . . . . . . . . . . . . . 13
-     5.24. disallow . . . . . . . . . . . . . . . . . . . . . . . . . 13
-     5.25. extends  . . . . . . . . . . . . . . . . . . . . . . . . . 13
-   6.  Hyper Schema . . . . . . . . . . . . . . . . . . . . . . . . . 13
-     6.1.  links  . . . . . . . . . . . . . . . . . . . . . . . . . . 13
-       6.1.1.  Link Description Object  . . . . . . . . . . . . . . . 14
-
-
-
-Zyp                    Expires September 24, 2010               [Page 2]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-     6.2.  fragmentResolution . . . . . . . . . . . . . . . . . . . . 18
-       6.2.1.  dot-delimited fragment resolution  . . . . . . . . . . 18
-       6.2.2.  slash-delimited fragment resolution  . . . . . . . . . 19
-     6.3.  root . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
-     6.4.  readonly . . . . . . . . . . . . . . . . . . . . . . . . . 19
-     6.5.  pathStart  . . . . . . . . . . . . . . . . . . . . . . . . 20
-     6.6.  mediaType  . . . . . . . . . . . . . . . . . . . . . . . . 20
-     6.7.  alternate  . . . . . . . . . . . . . . . . . . . . . . . . 20
-   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 20
-   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 21
-     8.1.  Registry of Link Relations . . . . . . . . . . . . . . . . 21
-   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 22
-     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 22
-     9.2.  Informative References . . . . . . . . . . . . . . . . . . 22
-   Appendix A.  Change Log  . . . . . . . . . . . . . . . . . . . . . 23
-   Appendix B.  Open Issues . . . . . . . . . . . . . . . . . . . . . 24
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Zyp                    Expires September 24, 2010               [Page 3]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-1.  Introduction
-
-   JSON (JavaScript Object Notation) Schema is a JSON media type for
-   defining the structure of JSON data.  JSON Schema provides a contract
-   for what JSON data is required for a given application and how to
-   interact with it.  JSON Schema is intended to define validation,
-   documentation, hyperlink navigation, and interaction control of JSON
-   data.
-
-2.  Conventions
-
-   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
-   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
-   document are to be interpreted as described in RFC 2119.
-
-3.  Overview
-
-   JSON Schema defines the media type application/schema+json for
-   describing the structure of other JSON documents.  JSON Schema is
-   JSON-based and includes facilities for describing the structure of
-   JSON documents in terms of allowable values, descriptions, and
-   interpreting relations with other resources.
-
-   JSON Schema format is organized into several separate definitions.
-   The first definition is the core schema specification.  This
-   definition is primary concerned with describing a JSON structure and
-   specifying valid elements in the structure.  The second definition is
-   the Hyper Schema specification which is intended define elements in a
-   structure that can be interpreted as hyperlinks.  Hyper Schema builds
-   on JSON Schema to describe the hyperlink structure of other JSON
-   documents.  This allows user agents to be able to successfully
-   navigate JSON documents based on their schemas.
-
-   Cumulatively JSON Schema acts as a meta-document that can be used to
-   define the required type and constraints on property values, as well
-   as define the meaning of the property values for the purpose of
-   describing a resource and determining hyperlinks within the
-   representation.
-
-   An example JSON Schema that describes products might look like:
-
-
-
-
-
-
-
-
-
-
-
-Zyp                    Expires September 24, 2010               [Page 4]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-   {
-     "name":"Product",
-     "properties":{
-       "id":{
-         "type":"number",
-         "description":"Product identifier"
-       },
-       "name":{
-         "description":"Name of the product",
-         "type":"string"
-       },
-       "price":{
-         "type": "number",
-         "minimum":0
-       },
-       "tags":{
-         "optional":true,
-         "type":"array",
-         "items":{
-            "type":"string"
-         }
-       }
-     },
-     "links":[
-       {
-         "rel":"full",
-         "href":"{id}"
-       },
-       {
-         "rel":"comments",
-         "href":"comments/?id={id}"
-       }
-     ]
-   }
-
-   This schema defines the properties of the instance JSON documents and
-   their required properties (id, name, and price) as well as an
-   optional property (tags).  This also defines the link relations of
-   the instance JSON documents.
-
-3.1.  Terminology
-
-   For this specification, a schema will be used to denote a JSON Schema
-   definition, and an instance refers to the JSON object or array that
-   the schema will be describing and validating
-
-
-
-
-
-
-Zyp                    Expires September 24, 2010               [Page 5]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-3.2.  Design Considerations
-
-   The JSON Schema media type does not attempt to dictate the structure
-   of JSON representations that contain data, but rather provides a
-   separate format for flexibly communicating how a JSON representation
-   should be interpreted and validated, such that user agents can
-   properly understand acceptable structures and extrapolate hyperlink
-   information with the JSON document.  It is acknowledged that JSON
-   documents come in a variety of structures, and JSON is unique in that
-   the structure of stored data structures often prescribes a non-
-   ambiguous definite JSON representation.  Attempting to force a
-   specific structure is generally not viable, and therefore JSON Schema
-   allows for great flexibility in the structure of JSON data that it
-   describes.
-
-   This specification is protocol agnostic.  The underlying protocol
-   (such as HTTP) should sufficiently define the semantics of the
-   client-server interface, the retrieval of resource representations
-   linked to by JSON representations, and modification of those
-   resources.  The goal of this format is to sufficiently describe JSON
-   structures such that one can utilize existing information available
-   in existing JSON representations from a large variety of services
-   that leverage a representational state transfer architecture using
-   existing protocols.
-
-4.  Schema/Instance Association
-
-   JSON Schema instances are correlated to their schema by the
-   "describedby" relation, where the schema is defined to be the target
-   of the relation.  Instance representations may be of the application/
-   json media type or any other subtype.  Consequently, dictating how an
-   instance representation should specify the relation to the schema is
-   beyond the normative scope of this document (since this document
-   specifically defines the JSON Schema media type, and no other), but
-   it is recommended that instances specify their schema so that user
-   agents can interpret the instance representation and messages may
-   retain the self-descriptive characteristic, avoiding the need for
-   out-of-band information about instance data.  Two approaches are
-   recommended for declaring the relation to the schema that describes
-   the meaning of a JSON instance's (or collection of instances)
-   structure.  A MIME type parameter named "profile" or a Link header
-   with a relation of "describedby" SHOULD be used:
-
-
-   Content-Type: application/json;
-                 profile=http://json.com/my-hyper-schema
-
-   or if the content is being transferred by a protocol (such as HTTP)
-
-
-
-Zyp                    Expires September 24, 2010               [Page 6]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-   that provides headers, a Link header can be used:
-
-
-   Link: <http://json.com/my-hyper-schema>; rel="describedby"
-
-   Instances MAY specify multiple schemas, to indicate all the schemas
-   that are applicable to the data.  The instance data may have multiple
-   schemas that it is defined by (the instance data should be valid for
-   those schemas).  Or if the document is a collection of instances, the
-   collection may contain instances from different schemas.  When
-   collections contain heterogeneous instances, the pathStart attribute
-   MAY be specified in the schema to disambiguate which schema should be
-   applied for each item in the collection.
-
-4.1.  Self-Descriptive Schema
-
-   JSON Schemas are themselves instances for the schema schemas.  A
-   self-describing JSON Schema for the core JSON Schema can be found at
-   http://json-schema.org/schema and the hyper schema self-description
-   can be found at: http://json-schema.org/hyper-schema.  All schemas
-   used within a protocol with media type definitions SHOULD include a
-   MIME parameter that refers to the self-descriptive hyper schema or
-   another schema that extends this hyper schema:
-
-
-   Content-Type: application/json;
-                 profile=http://www.json-schema.org/hyper-schema
-
-5.  Core Schema Definition
-
-   A JSON Schema is a JSON Object that defines various attributes of the
-   instance and defines it's usage and valid values.  A JSON Schema is a
-   JSON Object with schema attribute properties.  The following is the
-   grammar of a JSON Schema:
-
-   And an example JSON Schema definition could look like:
-
-
-   {"description":"A person",
-    "type":"object",
-
-    "properties":
-     {"name": {"type":"string"},
-      "age" : {"type":"integer",
-        "maximum":125}}
-   }
-
-   A JSON Schema object may have any of the following properties, called
-
-
-
-Zyp                    Expires September 24, 2010               [Page 7]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-   schema attributes (all attributes are optional):
-
-5.1.  type
-
-      Union type definition - An array with two or more items which
-      indicates a union of type definitions.  Each item in the array may
-      be a simple type definition or a schema.  The instance value is
-      valid if it is of the same type as one the type definitions in the
-      array or if it is valid by one of the schemas in the array.  For
-      example to indicate that a string or number is a valid: {"type":
-      ["string","number"]}
-
-      Simple type definition - A string indicating a primitive or simple
-      type.  The following are acceptable strings:
-
-         string - Value must be a string.
-
-         number - Value must be a number, floating point numbers are
-         allowed.
-
-         integer - Value must be an integer, no floating point numbers
-         are allowed.  This is a subset of the number type.
-
-         boolean - Value must be a boolean.
-
-         object - Value must be an object.
-
-         array - Value must be an array.
-
-         null - Value must be null.  Note this is mainly for purpose of
-         being able use union types to define nullability.
-
-         any - Value may be of any type including null.  If the property
-         is not defined or is not in this list, than any type of value
-         is acceptable.  Other type values may be used for custom
-         purposes, but minimal validators of the specification
-         implementation can allow any instance value on unknown type
-         values.
-
-5.2.  properties
-
-   This should be an object type definition, which is an object with
-   property definitions that correspond to instance object properties.
-   When the instance value is an object, the property values of the
-   instance object must conform to the property definitions in this
-   object.  In this object, each property definition's value should be a
-   schema, and the property's name should be the name of the instance
-   property that it defines.
-
-
-
-Zyp                    Expires September 24, 2010               [Page 8]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-5.3.  items
-
-   This should be a schema or an array of schemas.  When this is an
-   object/schema and the instance value is an array, all the items in
-   the array must conform to this schema.  When this is an array of
-   schemas and the instance value is an array, each position in the
-   instance array must conform to the schema in the corresponding
-   position for this array.  This called tuple typing.  When tuple
-   typing is used, additional items are allowed, disallowed, or
-   constrained by the additionalProperties attribute using the same
-   rules as extra properties for objects.  The default value is an empty
-   schema which allows any value for items in the instance array.
-
-5.4.  optional
-
-   This indicates that the instance property in the instance object is
-   optional.  This is false by default.
-
-5.5.  additionalProperties
-
-   This provides a default property definition for all properties that
-   are not explicitly defined in an object type definition.  The value
-   must be a schema.  If false is provided, no additional properties are
-   allowed, and the schema can not be extended.  The default value is an
-   empty schema which allows any value for additional properties.
-
-5.6.  requires
-
-   This indicates that if this property is present in the containing
-   instance object, the property given by requires attribute must also
-   be present in the containing instance object.  The value of this
-   property may be a string, indicating the require property name.  Or
-   the value may be a schema, in which case the containing instance must
-   be valid by the schema if the property is present.  For example if a
-   object type definition is defined:
-
-
-   {
-     "state":
-     {
-       "optional":true
-     },
-     "town":
-     {
-       "requires":"state",
-       "optional":true
-     }
-   }
-
-
-
-Zyp                    Expires September 24, 2010               [Page 9]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-   An instance must include a state property if a town property is
-   included.  If a town property is not included, the state property is
-   optional.
-
-5.7.  minimum
-
-   This indicates the minimum value for the instance property when the
-   type of the instance value is a number.
-
-5.8.  maximum
-
-   This indicates the minimum value for the instance property when the
-   type of the instance value is a number.
-
-5.9.  minimumCanEqual
-
-   If the minimum is defined, this indicates whether or not the instance
-   property value can equal the minimum.
-
-5.10.  maximumCanEqual
-
-   If the maximum is defined, this indicates whether or not the instance
-   property value can equal the maximum.
-
-5.11.  minItems
-
-   This indicates the minimum number of values in an array when an array
-   is the instance value.
-
-5.12.  maxItems
-
-   This indicates the maximum number of values in an array when an array
-   is the instance value.
-
-5.13.  uniqueItems
-
-   This indicates that all the items in an array must be unique (no two
-   identical values) within that array when an array is the instance
-   value.
-
-5.14.  pattern
-
-   When the instance value is a string, this provides a regular
-   expression that a instance string value should match in order to be
-   valid.  Regular expressions should follow the regular expression
-   specification from ECMA 262/Perl 5
-
-
-
-
-
-Zyp                    Expires September 24, 2010              [Page 10]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-5.15.  maxLength
-
-   When the instance value is a string, this indicates maximum length of
-   the string.
-
-5.16.  minLength
-
-   When the instance value is a string, this indicates minimum length of
-   the string.
-
-5.17.  enum
-
-   This provides an enumeration of possible values that are valid for
-   the instance property.  This should be an array, and each item in the
-   array represents a possible value for the instance value.  If "enum"
-   is included, the instance value must be one of the values in enum
-   array in order for the schema to be valid.
-
-5.18.  title
-
-   This provides a short description of the instance property.  The
-   value must be a string.
-
-5.19.  description
-
-   This provides a full description of the of purpose the instance
-   property.  The value must be a string.
-
-5.20.  format
-
-   This property indicates the type of data, content type, or
-   microformat to be expected in the instance property values.  A format
-   attribute may be one of the values listed below, and if so, should
-   adhere to the semantics describing for the format.  A format should
-   only be used give meaning to primitive types (string, integer,
-   number, or boolean).  Validators are not required to validate that
-   the instance values conform to a format.  The following formats are
-   defined:
-
-      Any valid MIME media type may be used as a format value, in which
-      case the instance property value must be a string, representing
-      the contents of the MIME file.
-
-      date-time - This should be a date in ISO 8601 format of YYYY-MM-
-      DDThh:mm:ssZ in UTC time.  This is the recommended form of date/
-      timestamp.
-
-
-
-
-
-Zyp                    Expires September 24, 2010              [Page 11]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-      date - This should be a date in the format of YYYY-MM-DD.  It is
-      recommended that you use the "date-time" format instead of "date"
-      unless you need to transfer only the date part.
-
-      time - This should be a time in the format of hh:mm:ss.  It is
-      recommended that you use the "date-time" format instead of "time"
-      unless you need to transfer only the time part.
-
-      utc-millisec - This should be the difference, measured in
-      milliseconds, between the specified time and midnight, January 1,
-      1970 UTC.  The value should be a number (integer or float).
-
-      regex - A regular expression.
-
-      color - This is a CSS color (like "#FF0000" or "red").
-
-      style - This is a CSS style definition (like "color: red;
-      background-color:#FFF").
-
-      phone - This should be a phone number (format may follow E.123).
-
-      uri - This value should be a URI..
-
-      email - This should be an email address.
-
-      ip-address - This should be an ip version 4 address.
-
-      ipv6 - This should be an ip version 6 address.
-
-      street-address - This should be a street address.
-
-      locality - This should be a city or town.
-
-      region - This should be a region (a state in the US, province in
-      Canada, etc.)
-
-      postal-code - This should be a postal code (AKA zip code).
-
-      country - This should be the name of a country.
-
-      Additional custom formats may be defined with a URL to a
-      definition of the format.
-
-5.21.  contentEncoding
-
-   If the instance property value is a string, this indicates that the
-   string should be interpreted as binary data and decoded using the
-   encoding named by this schema property.  RFC 2045, Sec 6.1 lists
-
-
-
-Zyp                    Expires September 24, 2010              [Page 12]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-   possible values.
-
-5.22.  default
-
-   This indicates the default for the instance property.
-
-5.23.  divisibleBy
-
-   This indicates that the instance property value must be divisible by
-   the given schema value when the instance property value is a number.
-
-5.24.  disallow
-
-   This attribute may take the same values as the "type" attribute,
-   however if the instance matches the type or if this value is an array
-   and the instance matches any type or schema in the array, than this
-   instance is not valid.
-
-5.25.  extends
-
-   The value of this property should be another schema which will
-   provide a base schema which the current schema will inherit from.
-   The inheritance rules are such that any instance that is valid
-   according to the current schema must be valid according to the
-   referenced schema.  This may also be an array, in which case, the
-   instance must be valid for all the schemas in the array.
-
-6.  Hyper Schema
-
-   This section defines hypermedia definitions of JSON schema.  The
-   following attributes are specified in addition to those attributes
-   that already provided by JSON schema with the specific purpose of
-   informing user agents of relations between resources based on JSON
-   data.  Just as with JSON schema attributes, all the attributes in
-   hyper-schema are optional.  Therefore an empty object is a valid
-   (non-informative) schema, and essentially describes plain JSON (no
-   constraints on the structures).  Addition of attributes provides
-   additive information for user agents.
-
-6.1.  links
-
-   The value of the links property should be an array, where each item
-   in the array is a link description object which describes the link
-   relations of the instances.
-
-
-
-
-
-
-
-Zyp                    Expires September 24, 2010              [Page 13]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-6.1.1.  Link Description Object
-
-   A link description object is used to describe the link relations.  In
-   the context of a schema, it defines the link relations of the
-   instances of the schema, and can be parameterized by the instance
-   values.  The link description format can be used on its own in
-   regular (non-schema documents), and use of this format can be
-   declared by referencing the normative link description schema as the
-   the schema for the data structure that uses the links.  The URI of
-   the normative link description schema is:
-   http://json-schema.org/links.
-
-6.1.1.1.  href
-
-   The value of the "href" link description property indicates the
-   target URI of the related resource.  The value of the instance
-   property should be resolved as a URI-Reference per [RFC3986] and may
-   be a relative URI.  The base URI to be used for relative resolution
-   should be the URI used to retrieve the instance object (not the
-   schema) when used in the context of a schema.  Also, the URI may be
-   parametrized by the property values of the instance object.
-
-   Instance property values should be substituted into the URIs where
-   matching braces ('{', '}') are found surrounding zero or more
-   characters, creating an expanded URI.  Instance property value
-   substitutions are resolved by using the text between the braces to
-   denote the property name from the instance to get the value to
-   substitute.  For example, if an href value is defined:
-
-
-   http://somesite.com/{id}
-
-   Then it would be resolved by replace the value of the "id" property
-   value from the instance object.  If the value of the "id" property
-   was "45", the expanded URI would be:
-
-
-   http://somesite.com/45
-
-   If matching braces are found with the string "-this" (no quotes)
-   between the braces, than the actual instance value should be used to
-   replace the braces, rather than a property value.  This should only
-   be used in situations where the instance is a scalar (string,
-   boolean, or number), and not for objects or arrays.
-
-
-
-
-
-
-
-Zyp                    Expires September 24, 2010              [Page 14]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-6.1.1.2.  rel
-
-   The value of the "rel" property indicates the name of the relation to
-   the target resource.  The relation to the target should be
-   interpreted as specifically from the instance object that the schema
-   (or sub-schema) applies to, not just the top level resource that
-   contains the object within its hierarchy.  If a resource JSON
-   representation contains a sub object with a property interpreted as a
-   link, that sub-object holds the relation with the target.  A relation
-   to target from the top level resource must be indicated with the
-   schema describing the top level JSON representation.
-
-   Relationship definitions SHOULD NOT be media type dependent, and
-   users are encouraged to utilize existing accepted relation
-   definitions, including those in existing relation registries (see
-   &rfc4287).  However, we define these relation here for clarity of
-   normative interpretation within the context of JSON hyper schema
-   defined relations:
-
-      self - If the relation value is "self", when this property is
-      encountered in the instance object, the object represents a
-      resource and the instance object is treated as a full
-      representation of the target resource identified by the specified
-      URI.
-
-      full - This indicates that the target of the link is the full
-      representation for the instance object.  The object that contains
-      this link may not be the full representation.
-
-      describedby - This indicates the target of the link is the schema
-      for the instance object.  This may be used to specifically denote
-      the schemas of objects within a JSON object hierarchy,
-      facilitating polymorphic type data structures.
-
-      The following relations are applicable for schemas (the schema as
-      the "from" resource in the relation).
-
-      instances - This indicates the target resource that represents
-      collection of instances of a schema.
-
-      create - This indicates a target to use for creating new instances
-      of a schema.  This link definition SHOULD be a submission link
-      with a non-safe method (like POST).
-
-   For example, if a schema is defined:
-
-
-
-
-
-
-Zyp                    Expires September 24, 2010              [Page 15]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-   {
-       "links": [
-           {
-                   "rel": "self"
-                   "href": "{id}"
-           },
-           {
-                   "rel": "up"
-                   "href": "{upId}"
-           },
-           {
-                   "rel": "children"
-                   "href": "?upId={id}"
-           }
-       ]
-   }
-
-   And if a collection of instance resource's JSON representation was
-   retrieved:
-
-
-   GET /Resource/
-
-   [
-       {
-           "id": "thing",
-           "upId": "parent"
-       },
-       {
-           "id": "thing2",
-           "upId": "parent"
-       }
-   ]
-
-   This would indicate that for the first item in the collection, it's
-   own (self) URI would resolve to "/Resource/thing" and the first
-   item's "up" relation should be resolved to the resource at
-   "/Resource/parent".  The "children" collection would be located at
-   "/Resource/?upId=thing".
-
-6.1.1.2.1.  targetSchema
-
-   This property value can be a schema that defines the expected
-   structure of the JSON representation of the target of the link.
-
-
-
-
-
-
-
-Zyp                    Expires September 24, 2010              [Page 16]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-6.1.1.3.  Submission Link Properties
-
-   The following properties also apply to link definition objects, and
-   provide functionality analogous to HTML forms, in providing a means
-   for submitting extra (often user supplied) information to send to a
-   server.
-
-6.1.1.3.1.  method
-
-   This indicates which method should be used to access the target
-   resource.  In an HTTP environment, this would be "GET" or "POST"
-   (other HTTP methods such as "PUT" and "DELETE" have semantics that
-   are clearly implied by accessed resources, and do not need to be
-   defined here).  This defaults to "GET".
-
-6.1.1.3.2.  enctype
-
-   If present, this property indicates a query media type format that
-   the server supports for querying or posting to the collection of
-   instances at the target resource.  The query can be suffixed to the
-   target URI to query the collection with property-based constraints on
-   the resources that SHOULD be returned from the server or used to post
-   data to the resource (depending on the method).  For example, with
-   the following schema:
-
-
-   {
-    "links":[
-       {
-         "enctype": "application/x-www-form-urlencoded",
-         "method": "GET",
-         "href": "/Product/",
-         "properties":{
-            "name":{"description":"name of the product"}
-         }
-       }
-     ]
-   }
-
-   This indicates that the client can query the server for instances
-   that have a specific name:
-
-
-   /Product/?name=Slinky
-
-   If no enctype or method is specified, only the single URI specified
-   by the href property is defined.  If the method is POST, application/
-   json is the default media type.
-
-
-
-Zyp                    Expires September 24, 2010              [Page 17]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-6.1.1.3.3.  properties
-
-   This is inherited from the base JSON schema definition, and can
-   follow the same structure, but its meaning should be used to define
-   the acceptable property names and values for the action (whether it
-   be for the GET query or POST body).  If properties are omitted, and
-   this form is the child of a schema, the properties from the parent
-   schema should be used as the basis for the form action.
-
-6.2.  fragmentResolution
-
-   This property indicates the fragment resolution protocol to use for
-   resolving fragment identifiers in URIs within the instance
-   representations.  This applies to the instance object URIs and all
-   children of the instance object's URIs.  The default fragment
-   resolution protocol is "slash-delimited", which is defined below.
-   Other fragment resolution protocols may be used, but are not defined
-   in this document.
-
-   The fragment identifier is based on RFC 2396 Sec 5, and defines the
-   mechanism for resolving references to entities within a document.
-
-6.2.1.  dot-delimited fragment resolution
-
-   With the dot-delimited fragment resolution protocol, the fragment
-   identifier is interpreted as a series of property reference tokens
-   that are delimited by the "." character (\x2E).  Each property
-   reference token is a series of any legal URI component characters
-   except the "." character.  Each property reference token should be
-   interpreted, starting from the beginning of the fragment identifier,
-   as a path reference in the target JSON structure.  The final target
-   value of the fragment can be determined by starting with the root of
-   the JSON structure from the representation of the resource identified
-   by the pre-fragment URI.  If the target is a JSON object, than the
-   new target is the value of the property with the name identified by
-   the next property reference token in the fragment.  If the target is
-   a JSON array, than the target is determined by finding the item in
-   array the array with the index defined by the next property reference
-   token (which MUST be a number).  The target is successively updated
-   for each property reference token, until the entire fragment has been
-   traversed.
-
-   Property names SHOULD be URI-encoded.  In particular, any "." in a
-   property name MUST be encoded to avoid being interpreted as a
-   property delimiter.
-
-   For example, for the following JSON representation:
-
-
-
-
-Zyp                    Expires September 24, 2010              [Page 18]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-   {
-      "foo":{
-         "anArray":[
-           {"prop":44}
-         ],
-         "another prop":{
-             "baz":"A string"
-         }
-      }
-   }
-
-   The following fragment identifiers would be resolved:
-
-
-   fragment identifier    resolution
-   -------------------    ----------
-   #                      self, the root of the resource itself
-   #foo                   the object referred to by the foo property
-   #foo.another prop      the object referred to by the "another prop"
-                          property of the object referred to by the
-                          "foo" property
-   #foo.another prop.baz  the string referred to by the value of "baz"
-                          property of the "another prop" property of
-                          the object referred to by the "foo" property
-   #foo.anArray.0         the first object in the "anArray" array
-
-6.2.2.  slash-delimited fragment resolution
-
-   The slash-delimited fragment resolution protocol is exactly the same
-   as dot-delimited fragment resolution protocol except that the "/"
-   character (\x2F) is used as the delimiter between property names
-   (instead of ".").
-
-6.3.  root
-
-   This attribute indicates that the value of the instance property
-   value SHOULD be treated as the root or the body of the representation
-   for the purposes of user agent interaction and fragment resolution
-   (all other properties of the instance objects are can be regarded as
-   meta-data descriptions for the data).
-
-6.4.  readonly
-
-   This indicates that the instance property should not be changed.
-   Attempts by a user agent to modify the value of this property are
-   expected to be rejected by a server.
-
-
-
-
-
-Zyp                    Expires September 24, 2010              [Page 19]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-6.5.  pathStart
-
-   This property value is a URI-Reference that indicates the URI that
-   all the URIs for the instances of the schema should start with.  When
-   multiple schemas have been referenced for an instance, the user agent
-   can determine if this schema is applicable for a particular instance
-   by determining if URI of the instance begins with the pathStart's
-   referenced URI. pathStart MUST be resolved as per [RFC3986] section
-   5.  If the URI of the instance does not start with URI indicated by
-   pathStart, or if another schema specifies a starting URI that is
-   longer and also matches the instance, this schema should not be
-   applied to the instance.  Any schema that does not have a pathStart
-   attribute should be considered applicable to all the instances for
-   which it is referenced.
-
-6.6.  mediaType
-
-   This indicates the media type of the instance representations that
-   this schema is defining.
-
-6.7.  alternate
-
-   This is an array of JSON schema definitions that define any other
-   schemas for alternate JSON-based representations of the instance
-   resources.
-
-7.  Security Considerations
-
-   This specification is a sub-type of the JSON format, and consequently
-   the security considerations are generally the same as RFC 4627.
-   However, an additional issue is that when link relation of "self" is
-   used to denote a full representation of an object, the user agent
-   SHOULD NOT consider the representation to be the authoritative
-   representation of the resource denoted by the target URI if the
-   target URI is not equivalent to or a sub-path of the the URI used to
-   request the resource representation which contains the target URI
-   with the "self" link.  For example, if a hyper schema was defined:
-
-
-   {
-     "links":[
-           {
-                   "rel":"self",
-                   "href":"{id}"
-           }
-     ]
-   }
-
-
-
-
-Zyp                    Expires September 24, 2010              [Page 20]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-   And a resource was requested from somesite.com:
-
-
-   GET /foo/
-
-   With a response of:
-
-
-Content-Type: application/json; profile=/schema-for-this-data
-[
-  {"id":"bar", "name":"This representation can be safely treated \
-        as authoritative "},
-  {"id":"/baz", "name":"This representation should not be treated as \
-        authoritative the user agent should make request the resource\
-        from "/baz" to ensure it has the authoritative representation"},
-  {"id":"http://othersite.com/something", "name":"This representation\
-        should also not be treated as authoritative and the target\
-        resource representation should be retrieved for the\
-        authoritative representation"}
-]
-
-8.  IANA Considerations
-
-   The proposed MIME media type for JSON Schema is application/
-   schema+json
-
-   Type name: application
-
-   Subtype name: schema+json
-
-   Required parameters: profile
-
-   The value of the profile parameter should be a URI (relative or
-   absolute) that refers to the schema used to define the structure of
-   this structure (the meta-schema).  Normally the value would be
-   http://json-schema.org/hyper-schema, but it is allowable to use other
-   schemas that extend the hyper schema's meta- schema.
-
-   Optional parameters: pretty
-
-   The value of the pretty parameter may be true or false to indicate if
-   additional whitespace has been included to make the JSON
-   representation easier to read.
-
-8.1.  Registry of Link Relations
-
-   This registry is maintained by IANA per RFC 4287 and this
-   specification adds three values: "full", "create", "instances".  New
-
-
-
-Zyp                    Expires September 24, 2010              [Page 21]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-   assignments are subject to IESG Approval, as outlined in [RFC5226].
-   Requests should be made by email to IANA, which will then forward the
-   request to the IESG, requesting approval.
-
-9.  References
-
-9.1.  Normative References
-
-   [RFC3986]                          Berners-Lee, T., Fielding, R., and
-                                      L. Masinter, "Uniform Resource
-                                      Identifier (URI): Generic Syntax",
-                                      STD 66, RFC 3986, January 2005.
-
-   [RFC2119]                          Bradner, S., "Key words for use in
-                                      RFCs to Indicate Requirement
-                                      Levels", BCP 14, RFC 2119,
-                                      March 1997.
-
-   [RFC4287]                          Nottingham, M., Ed. and R. Sayre,
-                                      Ed., "The Atom Syndication
-                                      Format", RFC 4287, December 2005.
-
-   [RFC3339]                          Klyne, G., Ed. and C. Newman,
-                                      "Date and Time on the Internet:
-                                      Timestamps", RFC 3339, July 2002.
-
-   [RFC2045]                          Freed, N. and N. Borenstein,
-                                      "Multipurpose Internet Mail
-                                      Extensions (MIME) Part One: Format
-                                      of Internet Message Bodies",
-                                      RFC 2045, November 1996.
-
-9.2.  Informative References
-
-   [RFC4627]                          Crockford, D., "The application/
-                                      json Media Type for JavaScript
-                                      Object Notation (JSON)", RFC 4627,
-                                      July 2006.
-
-   [RFC2616]                          Fielding, R., Gettys, J., Mogul,
-                                      J., Frystyk, H., Masinter, L.,
-                                      Leach, P., and T. Berners-Lee,
-                                      "Hypertext Transfer Protocol --
-                                      HTTP/1.1", RFC 2616, June 1999.
-
-   [RFC5226]                          Narten, T. and H. Alvestrand,
-                                      "Guidelines for Writing an IANA
-                                      Considerations Section in RFCs",
-
-
-
-Zyp                    Expires September 24, 2010              [Page 22]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-                                      BCP 26, RFC 5226, May 2008.
-
-   [I-D.hammer-discovery]             Hammer-Lahav, E., "LRDD: Link-
-                                      based Resource Descriptor
-                                      Discovery",
-                                      draft-hammer-discovery-04 (work in
-                                      progress), March 2010.
-
-   [I-D.gregorio-uritemplate]         Gregorio, J., Fielding, R.,
-                                      Hadley, M., and M. Nottingham,
-                                      "URI Template",
-                                      draft-gregorio-uritemplate-04
-                                      (work in progress), March 2010.
-
-   [I-D.nottingham-http-link-header]  Nottingham, M., "Web Linking", dra
-                                      ft-nottingham-http-link-header-08
-                                      (work in progress), March 2010.
-
-   [W3C.REC-html401-19991224]         Hors, A., Jacobs, I., and D.
-                                      Raggett, "HTML 4.01
-                                      Specification", World Wide Web
-                                      Consortium Recommendation REC-
-                                      html401-19991224, December 1999, <
-                                      http://www.w3.org/TR/1999/
-                                      REC-html401-19991224>.
-
-Appendix A.  Change Log
-
-   -02
-
-   o  Replaced maxDecimal attribute with divisibleBy attribute
-
-   o  Added slash-delimited fragment resolution protocol and made it the
-      default.
-
-   o  Added language about using links outside of schemas by referencing
-      it's normative URI.
-
-   o  Added uniqueItems attribute
-
-   o  Added targetSchema attribute to link description object
-
-   -01
-
-   o  Fixed category and updates from template
-
-   -00
-
-
-
-
-Zyp                    Expires September 24, 2010              [Page 23]
-\f
-Internet-Draft           JSON Schema Media Type               March 2010
-
-
-   o  Initial draft
-
-Appendix B.  Open Issues
-
-   Should we give a preference to MIME headers over Link headers (or
-   only use one)?
-
-   Should we use "profile" as the media type parameter instead?
-
-   Should "root" be a MIME parameter instead of a schema attribute?
-
-   Should "format" be renamed to "mediaType" or "contentType" to reflect
-   the usage MIME media types that are allowed.
-
-   I still do not like how dates are handled.
-
-   Should "slash-delimited" or "dot-delimited" be the default fragment
-   resolution protocol?
-
-Author's Address
-
-   Kris Zyp (editor)
-   SitePen (USA)
-   530 Lytton Avenue
-   Palo Alto, CA 94301
-   USA
-
-   Phone: +1 650 968 8787
-   EMail: kris@sitepen.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Zyp                    Expires September 24, 2010              [Page 24]
-\f
-
index 678853e..7223b2d 100644 (file)
@@ -17,29 +17,31 @@ glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
 glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
 docpath = join_paths(json_datadir, 'gtk-doc', 'html')
 
-gnome.gtkdoc('json-glib',
-             main_xml: 'json-glib-docs.xml',
-             src_dir: [
-               join_paths(meson.source_root(), 'json-glib'),
-               join_paths(meson.build_root(), 'json-glib'),
-             ],
-             dependencies: json_glib_dep,
-             gobject_typesfile: 'json-glib.types',
-             scan_args: [
-               '--rebuild-types',
-               '--ignore-decorators=_JSON_EXTERN',
-               '--ignore-headers=' + ' '.join(private_headers),
-             ],
-             fixxref_args: [
-               '--html-dir=@0@'.format(docpath),
-               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
-               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
-               '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
-             ],
-             install: true)
+if get_option('docs')
+  gnome.gtkdoc('json-glib',
+               main_xml: 'json-glib-docs.xml',
+               src_dir: [
+                 join_paths(meson.source_root(), 'json-glib'),
+                 join_paths(meson.build_root(), 'json-glib'),
+               ],
+               dependencies: json_glib_dep,
+               gobject_typesfile: 'json-glib.types',
+               scan_args: [
+                 '--rebuild-types',
+                 '--ignore-decorators=_JSON_EXTERN',
+                 '--ignore-headers=' + ' '.join(private_headers),
+               ],
+               fixxref_args: [
+                 '--html-dir=@0@'.format(docpath),
+                 '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
+                 '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
+                 '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
+               ],
+               install: true)
+endif
 
 xsltproc = find_program('xsltproc', required: false)
-if xsltproc.found()
+if get_option('man') and xsltproc.found()
   xlstproc_flags = [
     '--nonet',
     '--stringparam', 'man.output.quietly', '1',
diff --git a/doc/rfc4627.txt b/doc/rfc4627.txt
deleted file mode 100644 (file)
index 67b8909..0000000
+++ /dev/null
@@ -1,563 +0,0 @@
-
-
-
-
-
-
-Network Working Group                                       D. Crockford
-Request for Comments: 4627                                      JSON.org
-Category: Informational                                        July 2006
-
-
- The application/json Media Type for JavaScript Object Notation (JSON)
-
-Status of This Memo
-
-   This memo provides information for the Internet community.  It does
-   not specify an Internet standard of any kind.  Distribution of this
-   memo is unlimited.
-
-Copyright Notice
-
-   Copyright (C) The Internet Society (2006).
-
-Abstract
-
-   JavaScript Object Notation (JSON) is a lightweight, text-based,
-   language-independent data interchange format.  It was derived from
-   the ECMAScript Programming Language Standard.  JSON defines a small
-   set of formatting rules for the portable representation of structured
-   data.
-
-1.  Introduction
-
-   JavaScript Object Notation (JSON) is a text format for the
-   serialization of structured data.  It is derived from the object
-   literals of JavaScript, as defined in the ECMAScript Programming
-   Language Standard, Third Edition [ECMA].
-
-   JSON can represent four primitive types (strings, numbers, booleans,
-   and null) and two structured types (objects and arrays).
-
-   A string is a sequence of zero or more Unicode characters [UNICODE].
-
-   An object is an unordered collection of zero or more name/value
-   pairs, where a name is a string and a value is a string, number,
-   boolean, null, object, or array.
-
-   An array is an ordered sequence of zero or more values.
-
-   The terms "object" and "array" come from the conventions of
-   JavaScript.
-
-   JSON's design goals were for it to be minimal, portable, textual, and
-   a subset of JavaScript.
-
-
-
-Crockford                    Informational                      [Page 1]
-\f
-RFC 4627                          JSON                         July 2006
-
-
-1.1.  Conventions Used in This Document
-
-   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
-   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
-   document are to be interpreted as described in [RFC2119].
-
-   The grammatical rules in this document are to be interpreted as
-   described in [RFC4234].
-
-2.  JSON Grammar
-
-   A JSON text is a sequence of tokens.  The set of tokens includes six
-   structural characters, strings, numbers, and three literal names.
-
-   A JSON text is a serialized object or array.
-
-      JSON-text = object / array
-
-   These are the six structural characters:
-
-      begin-array     = ws %x5B ws  ; [ left square bracket
-
-      begin-object    = ws %x7B ws  ; { left curly bracket
-
-      end-array       = ws %x5D ws  ; ] right square bracket
-
-      end-object      = ws %x7D ws  ; } right curly bracket
-
-      name-separator  = ws %x3A ws  ; : colon
-
-      value-separator = ws %x2C ws  ; , comma
-
-   Insignificant whitespace is allowed before or after any of the six
-   structural characters.
-
-      ws = *(
-                %x20 /              ; Space
-                %x09 /              ; Horizontal tab
-                %x0A /              ; Line feed or New line
-                %x0D                ; Carriage return
-            )
-
-2.1.  Values
-
-   A JSON value MUST be an object, array, number, or string, or one of
-   the following three literal names:
-
-      false null true
-
-
-
-Crockford                    Informational                      [Page 2]
-\f
-RFC 4627                          JSON                         July 2006
-
-
-   The literal names MUST be lowercase.  No other literal names are
-   allowed.
-
-         value = false / null / true / object / array / number / string
-
-         false = %x66.61.6c.73.65   ; false
-
-         null  = %x6e.75.6c.6c      ; null
-
-         true  = %x74.72.75.65      ; true
-
-2.2.  Objects
-
-   An object structure is represented as a pair of curly brackets
-   surrounding zero or more name/value pairs (or members).  A name is a
-   string.  A single colon comes after each name, separating the name
-   from the value.  A single comma separates a value from a following
-   name.  The names within an object SHOULD be unique.
-
-      object = begin-object [ member *( value-separator member ) ]
-      end-object
-
-      member = string name-separator value
-
-2.3.  Arrays
-
-   An array structure is represented as square brackets surrounding zero
-   or more values (or elements).  Elements are separated by commas.
-
-      array = begin-array [ value *( value-separator value ) ] end-array
-
-2.4.  Numbers
-
-   The representation of numbers is similar to that used in most
-   programming languages.  A number contains an integer component that
-   may be prefixed with an optional minus sign, which may be followed by
-   a fraction part and/or an exponent part.
-
-   Octal and hex forms are not allowed.  Leading zeros are not allowed.
-
-   A fraction part is a decimal point followed by one or more digits.
-
-   An exponent part begins with the letter E in upper or lowercase,
-   which may be followed by a plus or minus sign.  The E and optional
-   sign are followed by one or more digits.
-
-   Numeric values that cannot be represented as sequences of digits
-   (such as Infinity and NaN) are not permitted.
-
-
-
-Crockford                    Informational                      [Page 3]
-\f
-RFC 4627                          JSON                         July 2006
-
-
-         number = [ minus ] int [ frac ] [ exp ]
-
-         decimal-point = %x2E       ; .
-
-         digit1-9 = %x31-39         ; 1-9
-
-         e = %x65 / %x45            ; e E
-
-         exp = e [ minus / plus ] 1*DIGIT
-
-         frac = decimal-point 1*DIGIT
-
-         int = zero / ( digit1-9 *DIGIT )
-
-         minus = %x2D               ; -
-
-         plus = %x2B                ; +
-
-         zero = %x30                ; 0
-
-2.5.  Strings
-
-   The representation of strings is similar to conventions used in the C
-   family of programming languages.  A string begins and ends with
-   quotation marks.  All Unicode characters may be placed within the
-   quotation marks except for the characters that must be escaped:
-   quotation mark, reverse solidus, and the control characters (U+0000
-   through U+001F).
-
-   Any character may be escaped.  If the character is in the Basic
-   Multilingual Plane (U+0000 through U+FFFF), then it may be
-   represented as a six-character sequence: a reverse solidus, followed
-   by the lowercase letter u, followed by four hexadecimal digits that
-   encode the character's code point.  The hexadecimal letters A though
-   F can be upper or lowercase.  So, for example, a string containing
-   only a single reverse solidus character may be represented as
-   "\u005C".
-
-   Alternatively, there are two-character sequence escape
-   representations of some popular characters.  So, for example, a
-   string containing only a single reverse solidus character may be
-   represented more compactly as "\\".
-
-   To escape an extended character that is not in the Basic Multilingual
-   Plane, the character is represented as a twelve-character sequence,
-   encoding the UTF-16 surrogate pair.  So, for example, a string
-   containing only the G clef character (U+1D11E) may be represented as
-   "\uD834\uDD1E".
-
-
-
-Crockford                    Informational                      [Page 4]
-\f
-RFC 4627                          JSON                         July 2006
-
-
-         string = quotation-mark *char quotation-mark
-
-         char = unescaped /
-                escape (
-                    %x22 /          ; "    quotation mark  U+0022
-                    %x5C /          ; \    reverse solidus U+005C
-                    %x2F /          ; /    solidus         U+002F
-                    %x62 /          ; b    backspace       U+0008
-                    %x66 /          ; f    form feed       U+000C
-                    %x6E /          ; n    line feed       U+000A
-                    %x72 /          ; r    carriage return U+000D
-                    %x74 /          ; t    tab             U+0009
-                    %x75 4HEXDIG )  ; uXXXX                U+XXXX
-
-         escape = %x5C              ; \
-
-         quotation-mark = %x22      ; "
-
-         unescaped = %x20-21 / %x23-5B / %x5D-10FFFF
-
-3.  Encoding
-
-   JSON text SHALL be encoded in Unicode.  The default encoding is
-   UTF-8.
-
-   Since the first two characters of a JSON text will always be ASCII
-   characters [RFC0020], it is possible to determine whether an octet
-   stream is UTF-8, UTF-16 (BE or LE), or UTF-32 (BE or LE) by looking
-   at the pattern of nulls in the first four octets.
-
-           00 00 00 xx  UTF-32BE
-           00 xx 00 xx  UTF-16BE
-           xx 00 00 00  UTF-32LE
-           xx 00 xx 00  UTF-16LE
-           xx xx xx xx  UTF-8
-
-4.  Parsers
-
-   A JSON parser transforms a JSON text into another representation.  A
-   JSON parser MUST accept all texts that conform to the JSON grammar.
-   A JSON parser MAY accept non-JSON forms or extensions.
-
-   An implementation may set limits on the size of texts that it
-   accepts.  An implementation may set limits on the maximum depth of
-   nesting.  An implementation may set limits on the range of numbers.
-   An implementation may set limits on the length and character contents
-   of strings.
-
-
-
-
-Crockford                    Informational                      [Page 5]
-\f
-RFC 4627                          JSON                         July 2006
-
-
-5. Generators
-
-   A JSON generator produces JSON text.  The resulting text MUST
-   strictly conform to the JSON grammar.
-
-6. IANA Considerations
-
-   The MIME media type for JSON text is application/json.
-
-   Type name: application
-
-   Subtype name: json
-
-   Required parameters: n/a
-
-   Optional parameters: n/a
-
-   Encoding considerations: 8bit if UTF-8; binary if UTF-16 or UTF-32
-
-      JSON may be represented using UTF-8, UTF-16, or UTF-32.  When JSON
-      is written in UTF-8, JSON is 8bit compatible.  When JSON is
-      written in UTF-16 or UTF-32, the binary content-transfer-encoding
-      must be used.
-
-   Security considerations:
-
-   Generally there are security issues with scripting languages.  JSON
-   is a subset of JavaScript, but it is a safe subset that excludes
-   assignment and invocation.
-
-   A JSON text can be safely passed into JavaScript's eval() function
-   (which compiles and executes a string) if all the characters not
-   enclosed in strings are in the set of characters that form JSON
-   tokens.  This can be quickly determined in JavaScript with two
-   regular expressions and calls to the test and replace methods.
-
-      var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(
-             text.replace(/"(\\.|[^"\\])*"/g, ''))) &&
-         eval('(' + text + ')');
-
-   Interoperability considerations: n/a
-
-   Published specification: RFC 4627
-
-
-
-
-
-
-
-
-Crockford                    Informational                      [Page 6]
-\f
-RFC 4627                          JSON                         July 2006
-
-
-   Applications that use this media type:
-
-      JSON has been used to exchange data between applications written
-      in all of these programming languages: ActionScript, C, C#,
-      ColdFusion, Common Lisp, E, Erlang, Java, JavaScript, Lua,
-      Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Scheme.
-
-   Additional information:
-
-      Magic number(s): n/a
-      File extension(s): .json
-      Macintosh file type code(s): TEXT
-
-   Person & email address to contact for further information:
-      Douglas Crockford
-      douglas@crockford.com
-
-   Intended usage: COMMON
-
-   Restrictions on usage: none
-
-   Author:
-      Douglas Crockford
-      douglas@crockford.com
-
-   Change controller:
-      Douglas Crockford
-      douglas@crockford.com
-
-7. Security Considerations
-
-   See Security Considerations in Section 6.
-
-8. Examples
-
-   This is a JSON object:
-
-   {
-      "Image": {
-          "Width":  800,
-          "Height": 600,
-          "Title":  "View from 15th Floor",
-          "Thumbnail": {
-              "Url":    "http://www.example.com/image/481989943",
-              "Height": 125,
-              "Width":  "100"
-          },
-          "IDs": [116, 943, 234, 38793]
-
-
-
-Crockford                    Informational                      [Page 7]
-\f
-RFC 4627                          JSON                         July 2006
-
-
-        }
-   }
-
-   Its Image member is an object whose Thumbnail member is an object
-   and whose IDs member is an array of numbers.
-
-   This is a JSON array containing two objects:
-
-   [
-      {
-         "precision": "zip",
-         "Latitude":  37.7668,
-         "Longitude": -122.3959,
-         "Address":   "",
-         "City":      "SAN FRANCISCO",
-         "State":     "CA",
-         "Zip":       "94107",
-         "Country":   "US"
-      },
-      {
-         "precision": "zip",
-         "Latitude":  37.371991,
-         "Longitude": -122.026020,
-         "Address":   "",
-         "City":      "SUNNYVALE",
-         "State":     "CA",
-         "Zip":       "94085",
-         "Country":   "US"
-      }
-   ]
-
-9. References
-
-9.1.  Normative References
-
-   [ECMA]    European Computer Manufacturers Association, "ECMAScript
-             Language Specification 3rd Edition", December 1999,
-             <http://www.ecma-international.org/publications/files/
-             ecma-st/ECMA-262.pdf>.
-
-   [RFC0020] Cerf, V., "ASCII format for network interchange", RFC 20,
-             October 1969.
-
-   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
-             Requirement Levels", BCP 14, RFC 2119, March 1997.
-
-   [RFC4234] Crocker, D. and P.  Overell, "Augmented BNF for Syntax
-             Specifications: ABNF", RFC 4234, October 2005.
-
-
-
-Crockford                    Informational                      [Page 8]
-\f
-RFC 4627                          JSON                         July 2006
-
-
-   [UNICODE] The Unicode Consortium, "The Unicode Standard Version 4.0",
-             2003, <http://www.unicode.org/versions/Unicode4.1.0/>.
-
-Author's Address
-
-   Douglas Crockford
-   JSON.org
-   EMail: douglas@crockford.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Crockford                    Informational                      [Page 9]
-\f
-RFC 4627                          JSON                         July 2006
-
-
-Full Copyright Statement
-
-   Copyright (C) The Internet Society (2006).
-
-   This document is subject to the rights, licenses and restrictions
-   contained in BCP 78, and except as set forth therein, the authors
-   retain all their rights.
-
-   This document and the information contained herein are provided on an
-   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
-   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
-   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
-   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
-   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
-   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-
-Intellectual Property
-
-   The IETF takes no position regarding the validity or scope of any
-   Intellectual Property Rights or other rights that might be claimed to
-   pertain to the implementation or use of the technology described in
-   this document or the extent to which any license under such rights
-   might or might not be available; nor does it represent that it has
-   made any independent effort to identify any such rights.  Information
-   on the procedures with respect to rights in RFC documents can be
-   found in BCP 78 and BCP 79.
-
-   Copies of IPR disclosures made to the IETF Secretariat and any
-   assurances of licenses to be made available, or the result of an
-   attempt made to obtain a general license or permission for the use of
-   such proprietary rights by implementers or users of this
-   specification can be obtained from the IETF on-line IPR repository at
-   http://www.ietf.org/ipr.
-
-   The IETF invites any interested party to bring to its attention any
-   copyrights, patents or patent applications, or other proprietary
-   rights that may cover technology that may be required to implement
-   this standard.  Please address the information to the IETF at
-   ietf-ipr@ietf.org.
-
-Acknowledgement
-
-   Funding for the RFC Editor function is provided by the IETF
-   Administrative Support Activity (IASA).
-
-
-
-
-
-
-
-Crockford                    Informational                     [Page 10]
-\f
diff --git a/json-glib.doap b/json-glib.doap
deleted file mode 100644 (file)
index 7ea3795..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-         xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-         xmlns:foaf="http://xmlns.com/foaf/0.1/"
-         xmlns:gnome="http://api.gnome.org/doap-extensions#"
-         xmlns="http://usefulinc.com/ns/doap#">
-  <name>JSON-GLib</name>
-  <shortname>json-glib</shortname>
-  <shortdesc>GLib-based JSON manipulation library</shortdesc>
-  <description>JSON-GLib implements a full JSON parser using GLib and GObject. Use JSON-GLib it is possible to parse and generate valid JSON data structures, using a DOM-like API. JSON-GLib also offers GObject integration, providing the ability to serialize and deserialize GObject instances to and from JSON data types.</description>
-
-  <homepage rdf:resource="https://wiki.gnome.org/Projects/JsonGlib"/>
-  <license rdf:resource="http://spdx.org/licenses/LGPL-2.1+"/>
-  <download-page rdf:resource="http://download.gnome.org/sources/json-glib/"/>
-  <bug-database rdf:resource="https://bugzilla.gnome.org/enter_bug.cgi?product=json-glib"/>
-  <repository>
-    <GitRepository>
-      <location rdf:resource="https://gitlab.gnome.org/GNOME/json-glib.git"/>
-      <browse rdf:resource="https://gitlab.gnome.org/GNOME/json-glib/"/>
-    </GitRepository>
-  </repository>
-
-  <category rdf:resource="http://api.gnome.org/doap-extensions#core"/>
-
-  <programming-language>C</programming-language>
-
-  <maintainer>
-    <foaf:Person>
-      <foaf:name>Emmanuele Bassi</foaf:name>
-      <foaf:mbox rdf:resource="mailto:ebassi@gnome.org"/>
-      <gnome:userid>ebassi</gnome:userid>
-    </foaf:Person>
-  </maintainer>
-
-  <author>
-    <foaf:Person>
-      <foaf:name>Emmanuele Bassi</foaf:name>
-      <foaf:mbox rdf:resource="mailto:ebassi@gnome.org"/>
-      <gnome:userid>ebassi</gnome:userid>
-    </foaf:Person>
-  </author>
-
-</Project>
index 4ce965d..06720bc 100644 (file)
@@ -14,7 +14,7 @@ G_BEGIN_DECLS
 /*** END file-header ***/
 
 /*** BEGIN file-production ***/
-/* enumerations from "@filename@" */
+/* enumerations from "@basename@" */
 /*** END file-production ***/
 
 /*** BEGIN file-tail ***/
index 5e158c5..a6898d9 100644 (file)
@@ -502,7 +502,8 @@ json_node_unref (JsonNode *node)
  *
  * If @object is %NULL, the node’s existing object is cleared.
  *
- * It is an error to call this on an immutable node.
+ * It is an error to call this on an immutable node, or on a node which is not
+ * an object node.
  */
 void
 json_node_set_object (JsonNode   *node,
@@ -528,7 +529,8 @@ json_node_set_object (JsonNode   *node,
  *
  * Sets @object inside @node. The reference count of @object is not increased.
  *
- * It is an error to call this on an immutable node.
+ * It is an error to call this on an immutable node, or on a node which is not
+ * an object node.
  */
 void
 json_node_take_object (JsonNode   *node,
@@ -552,8 +554,9 @@ json_node_take_object (JsonNode   *node,
  * json_node_get_object:
  * @node: a #JsonNode
  *
- * Retrieves the #JsonObject stored inside a #JsonNode. If the node does not
- * hold an object value, %NULL is returned.
+ * Retrieves the #JsonObject stored inside a #JsonNode. It is a programmer error
+ * to call this on a node which doesn’t hold an object value. Use
+ * %JSON_NODE_HOLDS_OBJECT first.
  *
  * Return value: (transfer none) (nullable): the #JsonObject
  */
@@ -571,8 +574,9 @@ json_node_get_object (JsonNode *node)
  * @node: a #JsonNode
  *
  * Retrieves the #JsonObject inside @node. The reference count of
- * the returned object is increased. If the node does not hold an object value,
- * %NULL is returned.
+ * the returned object is increased. It is a programmer error
+ * to call this on a node which doesn’t hold an object value. Use
+ * %JSON_NODE_HOLDS_OBJECT first.
  *
  * Return value: (transfer full) (nullable): the #JsonObject
  */
@@ -595,7 +599,8 @@ json_node_dup_object (JsonNode *node)
  *
  * Sets @array inside @node and increases the #JsonArray reference count.
  *
- * It is an error to call this on an immutable node.
+ * It is an error to call this on an immutable node, or on a node which is not
+ * an array node.
  */
 void
 json_node_set_array (JsonNode  *node,
@@ -621,7 +626,8 @@ json_node_set_array (JsonNode  *node,
  *
  * Sets @array into @node without increasing the #JsonArray reference count.
  *
- * It is an error to call this on an immutable node.
+ * It is an error to call this on an immutable node, or a node which is not
+ * an array node.
  */
 void
 json_node_take_array (JsonNode  *node,
@@ -645,8 +651,9 @@ json_node_take_array (JsonNode  *node,
  * json_node_get_array:
  * @node: a #JsonNode
  *
- * Retrieves the #JsonArray stored inside a #JsonNode. If the node does not
- * hold an array value, %NULL is returned.
+ * Retrieves the #JsonArray stored inside a #JsonNode. It is a programmer error
+ * to call this on a node which doesn’t hold an array value. Use
+ * %JSON_NODE_HOLDS_ARRAY first.
  *
  * Return value: (transfer none) (nullable): the #JsonArray
  */
@@ -664,8 +671,9 @@ json_node_get_array (JsonNode *node)
  * @node: a #JsonNode
  *
  * Retrieves the #JsonArray stored inside a #JsonNode and returns it
- * with its reference count increased by one. If the node does not hold an
- * array value, %NULL is returned.
+ * with its reference count increased by one. It is a programmer error
+ * to call this on a node which doesn’t hold an array value. Use
+ * %JSON_NODE_HOLDS_ARRAY first.
  *
  * Return value: (transfer full) (nullable): the #JsonArray with its reference
  *   count increased.
@@ -688,8 +696,9 @@ json_node_dup_array (JsonNode *node)
  * @value: (out caller-allocates): return location for an uninitialized value
  *
  * Retrieves a value from a #JsonNode and copies into @value. When done
- * using it, call g_value_unset() on the #GValue. If the node does not hold a
- * scalar value, @value is not modified.
+ * using it, call g_value_unset() on the #GValue. It is a programmer error
+ * to call this on a node which doesn’t hold a scalar value. Use
+ * %JSON_NODE_HOLDS_VALUE first.
  */
 void
 json_node_get_value (JsonNode *node,
@@ -732,7 +741,8 @@ json_node_get_value (JsonNode *node,
  *
  * Sets @value inside @node. The passed #GValue is copied into the #JsonNode.
  *
- * It is an error to call this on an immutable node.
+ * It is an error to call this on an immutable node, or on a node which is not
+ * a value node.
  */
 void
 json_node_set_value (JsonNode     *node,
@@ -972,7 +982,8 @@ json_node_get_parent (JsonNode *node)
  * Sets @value as the string content of the @node, replacing any existing
  * content.
  *
- * It is an error to call this on an immutable node.
+ * It is an error to call this on an immutable node, or on a node which is not
+ * a value node.
  */
 void
 json_node_set_string (JsonNode    *node,
@@ -1040,7 +1051,8 @@ json_node_dup_string (JsonNode *node)
  * Sets @value as the integer content of the @node, replacing any existing
  * content.
  *
- * It is an error to call this on an immutable node.
+ * It is an error to call this on an immutable node, or on a node which is not
+ * a value node.
  */
 void
 json_node_set_int (JsonNode *node,
@@ -1098,7 +1110,8 @@ json_node_get_int (JsonNode *node)
  * Sets @value as the double content of the @node, replacing any existing
  * content.
  *
- * It is an error to call this on an immutable node.
+ * It is an error to call this on an immutable node, or on a node which is not
+ * a value node.
  */
 void
 json_node_set_double (JsonNode *node,
@@ -1156,7 +1169,8 @@ json_node_get_double (JsonNode *node)
  * Sets @value as the boolean content of the @node, replacing any existing
  * content.
  *
- * It is an error to call this on an immutable node.
+ * It is an error to call this on an immutable node, or on a node which is not
+ * a value node.
  */
 void
 json_node_set_boolean (JsonNode *node,
index bdb7123..1155783 100644 (file)
@@ -746,6 +746,7 @@ json_parse_object (JsonParser   *parser,
             {
               priv->error_code = JSON_PARSER_ERROR_TRAILING_COMMA;
 
+              g_free (name);
               json_object_unref (object);
               json_node_unref (member);
               json_node_unref (priv->current_node);
@@ -758,6 +759,7 @@ json_parse_object (JsonParser   *parser,
         {
           priv->error_code = JSON_PARSER_ERROR_MISSING_COMMA;
 
+          g_free (name);
           json_object_unref (object);
           json_node_unref (member);
           json_node_unref (priv->current_node);
@@ -1179,9 +1181,11 @@ json_parser_load_from_data (JsonParser   *parser,
  * json_parser_get_root:
  * @parser: a #JsonParser
  *
- * Retrieves the top level node from the parsed JSON stream.
+ * Retrieves the top level node from the parsed JSON stream. If the parser input
+ * was an empty string, or if parsing failed, this will be %NULL. It will also
+ * be %NULL if it has been stolen using json_parser_steal_root().
  *
- * Return value: (transfer none): the root #JsonNode . The returned
+ * Return value: (transfer none) (nullable): the root #JsonNode . The returned
  *   node is owned by the #JsonParser and should never be modified
  *   or freed.
  */
@@ -1191,7 +1195,8 @@ json_parser_get_root (JsonParser *parser)
   g_return_val_if_fail (JSON_IS_PARSER (parser), NULL);
 
   /* Sanity check. */
-  g_return_val_if_fail (!parser->priv->is_immutable ||
+  g_return_val_if_fail (parser->priv->root == NULL ||
+                        !parser->priv->is_immutable ||
                         json_node_is_immutable (parser->priv->root), NULL);
 
   return parser->priv->root;
@@ -1201,9 +1206,10 @@ json_parser_get_root (JsonParser *parser)
  * json_parser_steal_root:
  * @parser: a #JsonParser
  *
- * Steals the top level node from the parsed JSON stream.
+ * Steals the top level node from the parsed JSON stream. This will be %NULL
+ * in the same situations as json_parser_get_root() returns %NULL.
  *
- * Returns: (transfer full): the top level #JsonNode
+ * Returns: (transfer full) (nullable): the top level #JsonNode
  *
  * Since: 1.4
  */
@@ -1214,6 +1220,11 @@ json_parser_steal_root (JsonParser *parser)
 
   g_return_val_if_fail (JSON_IS_PARSER (parser), NULL);
 
+  /* Sanity check. */
+  g_return_val_if_fail (parser->priv->root == NULL ||
+                        !parser->priv->is_immutable ||
+                        json_node_is_immutable (parser->priv->root), NULL);
+
   return g_steal_pointer (&priv->root);
 }
 
index d845f94..cd18c66 100644 (file)
@@ -517,7 +517,7 @@ gboolean              json_array_equal               (gconstpointer a,
 #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
 G_DEFINE_AUTOPTR_CLEANUP_FUNC (JsonArray, json_array_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC (JsonObject, json_object_unref)
-G_DEFINE_AUTOPTR_CLEANUP_FUNC (JsonNode, json_node_free)
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (JsonNode, json_node_unref)
 #endif
 
 G_END_DECLS
index 98afeab..426cd72 100644 (file)
@@ -1,9 +1,4 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <glib.h>
-#include <json-glib/json-glib.h>
+#include "json-test-utils.h"
 
 static void
 test_empty_array (void)
@@ -37,7 +32,7 @@ test_add_element (void)
 
   json_array_add_double_element (array, 3.14);
   g_assert_cmpint (json_array_get_length (array), ==, 3);
-  g_assert_cmpfloat (json_array_get_double_element (array, 2), ==, 3.14);
+  json_assert_fuzzy_equals (json_array_get_double_element (array, 2), 3.14, 0.001);
 
   json_array_add_boolean_element (array, TRUE);
   g_assert_cmpint (json_array_get_length (array), ==, 4);
diff --git a/json-glib/tests/json-test-utils.h b/json-glib/tests/json-test-utils.h
new file mode 100644 (file)
index 0000000..83a02c6
--- /dev/null
@@ -0,0 +1,21 @@
+#include <string.h>
+#include <math.h>
+#include <float.h>
+#include <glib.h>
+#include <json-glib/json-glib.h>
+
+#define json_fuzzy_equals(n1,n2,epsilon) \
+  (((n1) > (n2) ? ((n1) - (n2)) : ((n2) - (n1))) < (epsilon))
+
+#define json_assert_fuzzy_equals(n1,n2,epsilon) \
+  G_STMT_START { \
+    double __n1 = (n1), __n2 = (n2), __epsilon = (epsilon); \
+    if (json_fuzzy_equals (__n1, __n2, __epsilon)) ; else { \
+      g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
+                                  #n1 " == " #n2 " (+/- " #epsilon ")", \
+                                  __n1, "==", __n2, 'f'); \
+    } \
+  } G_STMT_END
+
+#define json_assert_almost_equals(n1,n2) \
+  json_assert_fuzzy_equals (n1, n2, DBL_EPSILON)
index 23bda63..80beb78 100644 (file)
@@ -1,6 +1,4 @@
-#include <glib.h>
-#include <json-glib/json-glib.h>
-#include <string.h>
+#include "json-test-utils.h"
 
 static void
 test_init_int (void)
@@ -19,7 +17,7 @@ test_init_double (void)
   JsonNode *node = json_node_new (JSON_NODE_VALUE);
 
   json_node_set_double (node, 3.14159);
-  g_assert_cmpfloat (json_node_get_double (node), ==, 3.14159);
+  json_assert_fuzzy_equals (json_node_get_double (node), 3.14159, 0.00001);
 
   json_node_free (node);
 }
@@ -119,13 +117,13 @@ test_get_int (void)
 
   json_node_set_int (node, 0);
   g_assert_cmpint (json_node_get_int (node), ==, 0);
-  g_assert_cmpfloat (json_node_get_double (node), ==, 0.0);
+  json_assert_almost_equals (json_node_get_double (node), 0.0);
   g_assert (!json_node_get_boolean (node));
   g_assert (!json_node_is_null (node));
 
   json_node_set_int (node, 42);
   g_assert_cmpint (json_node_get_int (node), ==, 42);
-  g_assert_cmpfloat (json_node_get_double (node), ==, 42.0);
+  json_assert_almost_equals (json_node_get_double (node), 42.0);
   g_assert (json_node_get_boolean (node));
   g_assert (!json_node_is_null (node));
 
@@ -138,7 +136,7 @@ test_get_double (void)
   JsonNode *node = json_node_new (JSON_NODE_VALUE);
 
   json_node_set_double (node, 3.14);
-  g_assert_cmpfloat (json_node_get_double (node), ==, 3.14);
+  json_assert_fuzzy_equals (json_node_get_double (node), 3.14, 0.001);
   g_assert_cmpint (json_node_get_int (node), ==, 3);
   g_assert (json_node_get_boolean (node));
 
@@ -232,9 +230,9 @@ test_gvalue_autopromotion (void)
     g_print ("Expecting a gdouble, got a %s\n", g_type_name (G_VALUE_TYPE (&check))); 
 
   g_assert_cmpint (G_VALUE_TYPE (&check), ==, G_TYPE_DOUBLE);
-  g_assert_cmpfloat ((float) g_value_get_double (&check), ==, 3.14159f);
+  json_assert_fuzzy_equals (g_value_get_double (&check), 3.14159, 0.00001);
   g_assert_cmpint (G_VALUE_TYPE (&value), !=, G_VALUE_TYPE (&check));
-  g_assert_cmpfloat ((gdouble) g_value_get_float (&value), ==, g_value_get_double (&check));
+  json_assert_almost_equals (g_value_get_float (&value), g_value_get_double (&check));
 
   g_value_unset (&value);
   g_value_unset (&check);
index f71584a..7af4329 100644 (file)
@@ -1,11 +1,5 @@
-#include "config.h"
-
+#include "json-test-utils.h"
 #include <stdlib.h>
-#include <stdio.h>
-
-#include <glib.h>
-
-#include <json-glib/json-glib.h>
 
 static const gchar *test_empty_string = "";
 static const gchar *test_empty_array_string = "[ ]";
@@ -38,13 +32,13 @@ verify_string_value (JsonNode *node)
 static void
 verify_double_value (JsonNode *node)
 {
-  g_assert_cmpfloat (10.2e3, ==, json_node_get_double (node));
+  json_assert_fuzzy_equals (10.2e3, json_node_get_double (node), 0.1);
 }
 
 static void
 verify_negative_double_value (JsonNode *node)
 {
-  g_assert_cmpfloat (-3.14, ==, json_node_get_double (node));
+  json_assert_fuzzy_equals (-3.14, json_node_get_double (node), 0.01);
 }
 
 static const struct {
@@ -150,14 +144,10 @@ static guint n_test_assignments    = G_N_ELEMENTS (test_assignments);
 static guint n_test_unicode        = G_N_ELEMENTS (test_unicode);
 
 static void
-test_empty (void)
+test_empty_with_parser (JsonParser *parser)
 {
-  JsonParser *parser;
   GError *error = NULL;
 
-  parser = json_parser_new ();
-  g_assert (JSON_IS_PARSER (parser));
-
   if (g_test_verbose ())
     g_print ("checking json_parser_load_from_data with empty string...\n");
 
@@ -176,7 +166,23 @@ test_empty (void)
 
       g_assert (NULL == json_parser_get_root (parser));
     }
+}
 
+static void
+test_empty (void)
+{
+  JsonParser *parser;
+
+  /* Check with and without immutability enabled, as there have been bugs with
+   * NULL root nodes on immutable parsers. */
+  parser = json_parser_new ();
+  g_assert (JSON_IS_PARSER (parser));
+  test_empty_with_parser (parser);
+  g_object_unref (parser);
+
+  parser = json_parser_new_immutable ();
+  g_assert (JSON_IS_PARSER (parser));
+  test_empty_with_parser (parser);
   g_object_unref (parser);
 }
 
index 0dce631..e6d82c2 100644 (file)
@@ -215,6 +215,7 @@ path_expressions_invalid (gconstpointer data)
   g_assert_error (error, JSON_PATH_ERROR, code);
 
   g_object_unref (path);
+  g_clear_error (&error);
 }
 
 static void
index 43a6aac..d0a046b 100644 (file)
@@ -1,9 +1,4 @@
-#include <stdlib.h>
-#include <stdio.h>
-
-#include <glib.h>
-
-#include <json-glib/json-glib.h>
+#include "json-test-utils.h"
 
 static const gchar *test_base_array_data =
 "[ 0, true, null, \"foo\", 3.14, [ false ], { \"bar\" : 42 } ]";
@@ -78,7 +73,7 @@ test_base_object (void)
   g_assert (json_reader_get_error (reader) == NULL);
 
   json_reader_read_member (reader, "double");
-  g_assert_cmpfloat (json_reader_get_double_value (reader), ==, 42.47);
+  json_assert_fuzzy_equals (json_reader_get_double_value (reader), 42.47, 0.01);
   json_reader_end_element (reader);
 
   g_object_unref (reader);
@@ -138,6 +133,8 @@ test_base_array (void)
   g_assert (json_reader_get_error (reader) == NULL);
 
   g_object_unref (reader);
+  g_object_unref (parser);
+  g_clear_error (&error);
 }
 
 static void
index 9da8dd1..226e722 100644 (file)
@@ -263,7 +263,7 @@ test_serialize (void)
                                   "baz", "Hello, World!",
                                   "meh", 0.5,
                                   NULL);
-  JsonParser *parser = json_parser_new ();
+  JsonParser *parser = NULL;
   GError *error = NULL;
   JsonObject *object;
   JsonNode *node;
@@ -295,6 +295,7 @@ test_serialize (void)
   g_free (data);
   g_object_unref (parser);
   g_object_unref (obj);
+  g_clear_error (&error);
 }
 
 int
index cee6389..1105d32 100644 (file)
@@ -1,4 +1,4 @@
-project('json-glib', 'c', version: '1.4.2',
+project('json-glib', 'c', version: '1.4.4',
         license: 'LGPLv2.1+',
         default_options: [
           'warning_level=1',
@@ -161,9 +161,5 @@ python3 = import('python3').find_python()
 gen_installed_test = files('build-aux/gen-installed-test.py')
 
 subdir('json-glib')
-
 subdir('po')
-
-if get_option('docs')
-  subdir('doc')
-endif
+subdir('doc')
index edaab56..237b725 100644 (file)
@@ -4,3 +4,6 @@ option('introspection',
 option('docs',
        type: 'boolean', value: false,
        description: 'Build the API reference and man pages (requires gtk-doc and xsltproc)')
+option('man',
+       type: 'boolean', value: false,
+       description: 'Build the man pages (requires xsltproc)')
diff --git a/po/.gitignore b/po/.gitignore
deleted file mode 100644 (file)
index 9ac1987..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/Makefile.in.in
-/Makevars.template
-/POTFILES
-/Rules-quot
-/boldquot.sed
-/en@boldquot.header
-/en@quot.header
-/insert-header.sin
-/quot.sed
-/remove-potcdate.sed
-/remove-potcdate.sin
-/stamp-po
-*.gmo
-*.pot
index 89f5020..7213bf9 100644 (file)
@@ -18,6 +18,7 @@ fur
 gl
 he
 hi
+hr
 hu
 id
 it
@@ -29,6 +30,7 @@ lv
 ml
 nb
 ne
+nl
 oc
 or
 pa
diff --git a/po/Makevars b/po/Makevars
deleted file mode 100644 (file)
index 23342d8..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-DOMAIN = json-glib-1.0
-XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments
-COPYRIGHT_HOLDER = Intel Corporation and others
-MSGID_BUGS_ADDRESS = http://bugzilla.gnome.org/enter_bug.cgi?product=json-glib
-EXTRA_LOCALE_CATEGORIES =
-PACKAGE_GNU = no
-
-subdir = po
-top_builddir = ..
index cf3a410..9ee5819 100644 (file)
 # Catalan translation for json-glib.
 # Copyright (C) 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the json-glib package.
-# Gil Forcada <gilforcada@guifi.net>, 2012, 2013.
+# Gil Forcada <gilforcada@guifi.net>, 2012, 2013, 2014.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: json-glib master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=json-"
-"glib\n"
-"POT-Creation-Date: 2013-01-21 00:27+0100\n"
-"PO-Revision-Date: 2013-01-21 00:26+0100\n"
-"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=json-"
+"glib&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2017-08-24 10:49+0000\n"
+"PO-Revision-Date: 2017-08-21 21:06+0200\n"
+"Last-Translator: Xavi Ivars <xavi.ivars@gmail.com>\n"
 "Language-Team: Catalan <tradgnome@softcatala.org>\n"
-"Language: ca@valencia\n"
+"Language: ca-valencia\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bits\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Poedit 1.8.11\n"
 
-#: ../json-glib/json-gobject.c:925
+#: json-glib/json-glib-format.c:50
+msgid "Prettify output"
+msgstr "Formata l'eixida"
+
+#: json-glib/json-glib-format.c:51
+msgid "Indentation spaces"
+msgstr "Espais de sagnat"
+
+#. Translators: the first %s is the program name, the second one
+#. * is the URI of the file, the third is the error message.
+#.
+#: json-glib/json-glib-format.c:77 json-glib/json-glib-validate.c:63
+#, c-format
+msgid "%s: %s: error opening file: %s\n"
+msgstr "%s: %s: s'ha produït un error en obrir el fitxer: %s\n"
+
+#. Translators: the first %s is the program name, the second one
+#. * is the URI of the file, the third is the error message.
+#.
+#: json-glib/json-glib-format.c:89 json-glib/json-glib-validate.c:75
+#, c-format
+msgid "%s: %s: error parsing file: %s\n"
+msgstr "%s: %s: s'ha produït un error en analitzar el fitxer: %s\n"
+
+#. Translators: the first %s is the program name, the
+#. * second one is the URI of the file.
+#.
+#: json-glib/json-glib-format.c:108
+#, c-format
+msgid "%s: %s: error writing to stdout"
+msgstr "%s: %s: s'ha produït un error en escriure a l'eixida estàndard"
+
+#. Translators: the first %s is the program name, the second one
+#. * is the URI of the file, the third is the error message.
+#.
+#: json-glib/json-glib-format.c:129 json-glib/json-glib-validate.c:87
+#, c-format
+msgid "%s: %s: error closing: %s\n"
+msgstr "%s: %s: s'ha produït un error en tancar: %s\n"
+
+#: json-glib/json-glib-format.c:158 json-glib/json-glib-validate.c:115
+msgid "FILE"
+msgstr "FITXER"
+
+#. Translators: this message will appear after the usage string
+#. and before the list of options.
+#: json-glib/json-glib-format.c:161
+msgid "Format JSON files."
+msgstr "Formata fitxers JSON."
+
+#: json-glib/json-glib-format.c:162
+msgid "json-glib-format formats JSON resources."
+msgstr "El json-glib-format formata recursos JSON."
+
+#. Translators: the %s is the program name. This error message
+#. * means the user is calling json-glib-validate without any
+#. * argument.
+#.
+#: json-glib/json-glib-format.c:179 json-glib/json-glib-validate.c:136
 #, c-format
-msgid "Expecting a JSON object, but the root node is of type `%s'"
+msgid "Error parsing commandline options: %s\n"
+msgstr ""
+"S'ha produït un error en analitzar les opcions de la línia d'ordes: %s\n"
+
+#: json-glib/json-glib-format.c:181 json-glib/json-glib-format.c:195
+#: json-glib/json-glib-validate.c:138 json-glib/json-glib-validate.c:152
+#, c-format
+msgid "Try “%s --help” for more information."
+msgstr "Per a més informació proveu «%s --help»."
+
+#. Translators: the %s is the program name. This error message
+#. * means the user is calling json-glib-validate without any
+#. * argument.
+#.
+#: json-glib/json-glib-format.c:193 json-glib/json-glib-validate.c:150
+#, c-format
+msgid "%s: missing files"
+msgstr "%s: manquen els fitxers"
+
+#. Translators: this message will appear after the usage string
+#. and before the list of options.
+#: json-glib/json-glib-validate.c:118
+msgid "Validate JSON files."
+msgstr "Valida fitxers JSON."
+
+#: json-glib/json-glib-validate.c:119
+msgid "json-glib-validate validates JSON data at the given URI."
+msgstr "El json-glib-validate valida les dades JSON de l'URI donat."
+
+#. translators: the %s is the name of the data structure
+#: json-glib/json-gobject.c:940
+#, c-format
+msgid "Expecting a JSON object, but the root node is of type “%s”"
 msgstr "S'esperava un objecte JSON, però el node arrel és del tipus «%s»"
 
-#: ../json-glib/json-gvariant.c:539
+#. translators: the '%s' is the type name
+#: json-glib/json-gvariant.c:524
 #, c-format
-msgid "Unexpected type '%s' in JSON node"
+msgid "Unexpected type “%s” in JSON node"
 msgstr "No s'esperava el tipus «%s» en un node de JSON"
 
-#: ../json-glib/json-gvariant.c:609
+#: json-glib/json-gvariant.c:594
 msgid "Missing elements in JSON array to conform to a tuple"
 msgstr "Manquen elements en la matriu de JSON perquè siguen una tupla"
 
-#: ../json-glib/json-gvariant.c:637
-msgid "Missing closing symbol ')' in the GVariant tuple type"
-msgstr "Manca el símbol de tancament «)» pel tipus de tupla de GVariant"
+#: json-glib/json-gvariant.c:622
+msgid "Missing closing symbol “)” in the GVariant tuple type"
+msgstr "Falta el símbol de tancament «)» pel tipus de tupla de GVariant"
 
-#: ../json-glib/json-gvariant.c:645
+#: json-glib/json-gvariant.c:630
 msgid "Unexpected extra elements in JSON array"
 msgstr "No s'esperaven elements extra en la matriu de JSON"
 
-#: ../json-glib/json-gvariant.c:924
+#: json-glib/json-gvariant.c:909
 msgid "Invalid string value converting to GVariant"
 msgstr "La cadena no es pot convertir a GVariant, la conversió no és vàlida"
 
-#: ../json-glib/json-gvariant.c:980
+#: json-glib/json-gvariant.c:964
 msgid ""
 "A GVariant dictionary entry expects a JSON object with exactly one member"
 msgstr ""
 "Un diccionari de GVariant requereix un objecte de JSON amb un sol membre"
 
-#: ../json-glib/json-gvariant.c:1236
+#: json-glib/json-gvariant.c:1242
 #, c-format
-msgid "GVariant class '%c' not supported"
+msgid "GVariant class “%c” not supported"
 msgstr "La classe «%c» de GVariant no es pot utilitzar"
 
-#: ../json-glib/json-gvariant.c:1281
+#: json-glib/json-gvariant.c:1290
 msgid "Invalid GVariant signature"
 msgstr "La signatura de GVariant no és vàlida"
 
-#: ../json-glib/json-gvariant.c:1326
+#: json-glib/json-gvariant.c:1338
 msgid "JSON data is empty"
 msgstr "No hi ha dades de JSON"
 
-#: ../json-glib/json-parser.c:825
+#. translators: %s: is the file name, the first %d is the line
+#. * number, the second %d is the position on the line, and %s is
+#. * the error message
+#.
+#: json-glib/json-parser.c:907
 #, c-format
 msgid "%s:%d:%d: Parse error: %s"
 msgstr "%s:%d:%d: error en l'anàlisi: %s"
 
-#: ../json-glib/json-path.c:375
+#: json-glib/json-parser.c:990
+msgid "JSON data must be UTF-8 encoded"
+msgstr "Les dades JSON han d'estar codificades amb UTF-8"
+
+#: json-glib/json-path.c:389
 msgid "Only one root node is allowed in a JSONPath expression"
 msgstr "Només es pot utilitzar un node arrel en una expressió JSONPath"
 
-#: ../json-glib/json-path.c:384
+#. translators: the %c is the invalid character
+#: json-glib/json-path.c:398
 #, c-format
-msgid "Root node followed by invalid character '%c'"
+msgid "Root node followed by invalid character “%c”"
 msgstr "El caràcter «%c» que segueix el node arrel no és vàlid"
 
-#: ../json-glib/json-path.c:490
+#: json-glib/json-path.c:438
+msgid "Missing member name or wildcard after . character"
+msgstr "Falta el nom del membre o un comodí després del caràcter «.»"
+
+#: json-glib/json-path.c:512
 #, c-format
-msgid "Malformed slice expression '%*s'"
+msgid "Malformed slice expression “%*s”"
 msgstr "L'expressió de tallat «%*s» no està ben formatada"
 
-#: ../json-glib/json-path.c:534
+#: json-glib/json-path.c:556
 #, c-format
-msgid "Invalid set definition '%*s'"
+msgid "Invalid set definition “%*s”"
 msgstr "La definició del conjunt «%*s» no és vàlida"
 
-#: ../json-glib/json-path.c:587
+#: json-glib/json-path.c:609
 #, c-format
-msgid "Invalid slice definition '%*s'"
+msgid "Invalid slice definition “%*s”"
 msgstr "La definició del tallat «%*s» no és vàlida"
 
-#: ../json-glib/json-path.c:615
+#: json-glib/json-path.c:637
 #, c-format
-msgid "Invalid array index definition '%*s'"
+msgid "Invalid array index definition “%*s”"
 msgstr "La definició de l'índex de la matriu «%*s» no és vàlida"
 
-#: ../json-glib/json-reader.c:464
+#: json-glib/json-path.c:656
+#, c-format
+msgid "Invalid first character “%c”"
+msgstr "El primer caràcter «%c» no és vàlid"
+
+#: json-glib/json-reader.c:474
 #, c-format
 msgid ""
-"The current node is of type '%s', but an array or an object was expected."
+"The current node is of type “%s”, but an array or an object was expected."
 msgstr ""
 "El node actual és de tipus «%s», però s'esperava una matriu, o bé, un "
 "objecte."
 
-#: ../json-glib/json-reader.c:476
+#: json-glib/json-reader.c:486
 #, c-format
 msgid ""
-"The index '%d' is greater than the size of the array at the current position."
+"The index “%d” is greater than the size of the array at the current position."
 msgstr "L'índex «%d» és més gran que la mida de la matriu a la posició actual."
 
-#: ../json-glib/json-reader.c:493
+#: json-glib/json-reader.c:503
 #, c-format
 msgid ""
-"The index '%d' is greater than the size of the object at the current "
+"The index “%d” is greater than the size of the object at the current "
 "position."
 msgstr "L'índex «%d» és més gran que la mida de l'objecte a la posició actual."
 
-#: ../json-glib/json-reader.c:577 ../json-glib/json-reader.c:730
-#: ../json-glib/json-reader.c:781 ../json-glib/json-reader.c:819
-#: ../json-glib/json-reader.c:857 ../json-glib/json-reader.c:895
-#: ../json-glib/json-reader.c:933 ../json-glib/json-reader.c:978
-#: ../json-glib/json-reader.c:1014 ../json-glib/json-reader.c:1040
+#: json-glib/json-reader.c:585 json-glib/json-reader.c:751
+#: json-glib/json-reader.c:799 json-glib/json-reader.c:837
+#: json-glib/json-reader.c:875 json-glib/json-reader.c:913
+#: json-glib/json-reader.c:951 json-glib/json-reader.c:996
+#: json-glib/json-reader.c:1032 json-glib/json-reader.c:1058
 msgid "No node available at the current position"
 msgstr "No hi ha cap node disponible a la posició actual"
 
-#: ../json-glib/json-reader.c:584
+#: json-glib/json-reader.c:592
 #, c-format
-msgid "The current position holds a '%s' and not an array"
+msgid "The current position holds a “%s” and not an array"
 msgstr "A la posició actual hi ha un «%s» i no una matriu"
 
-#: ../json-glib/json-reader.c:647
+#: json-glib/json-reader.c:668
 #, c-format
-msgid "The current node is of type '%s', but an object was expected."
+msgid "The current node is of type “%s”, but an object was expected."
 msgstr "El node actual és de tipus «%s», però s'esperava un objecte."
 
-#: ../json-glib/json-reader.c:654
+#: json-glib/json-reader.c:675
 #, c-format
-msgid "The member '%s' is not defined in the object at the current position."
+msgid "The member “%s” is not defined in the object at the current position."
 msgstr "El membre «%s» no està definit a l'objecte de la posició actual."
 
-#: ../json-glib/json-reader.c:737 ../json-glib/json-reader.c:788
+#: json-glib/json-reader.c:758 json-glib/json-reader.c:806
 #, c-format
-msgid "The current position holds a '%s' and not an object"
+msgid "The current position holds a “%s” and not an object"
 msgstr "A la posició actual hi ha un «%s» i no un objecte"
 
-#: ../json-glib/json-reader.c:828 ../json-glib/json-reader.c:866
-#: ../json-glib/json-reader.c:904 ../json-glib/json-reader.c:942
-#: ../json-glib/json-reader.c:987
+#: json-glib/json-reader.c:846 json-glib/json-reader.c:884
+#: json-glib/json-reader.c:922 json-glib/json-reader.c:960
+#: json-glib/json-reader.c:1005
 #, c-format
-msgid "The current position holds a '%s' and not a value"
+msgid "The current position holds a “%s” and not a value"
 msgstr "A la posició actual hi ha un «%s» i no un valor"
 
-#: ../json-glib/json-reader.c:950
+#: json-glib/json-reader.c:968
 msgid "The current position does not hold a string type"
 msgstr "A la posició actual no hi ha una cadena"
index 1c99526..236337a 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -6,32 +6,32 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: json-glib master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=json-"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=json-"
 "glib&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-03-09 10:17+0000\n"
-"PO-Revision-Date: 2014-07-09 14:38+0200\n"
-"Last-Translator: Tom Tryfonidis <tomtryf@gmail.com>\n"
+"POT-Creation-Date: 2017-06-27 22:31+0000\n"
+"PO-Revision-Date: 2017-09-10 11:33+0200\n"
+"Last-Translator: Efstathios Iosifidis <iosifidis@opensuse.org>\n"
 "Language-Team: team@lists.gnome.gr\n"
 "Language: el\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-Generator: Poedit 1.6.5\n"
+"X-Generator: Poedit 1.5.7\n"
 "X-Project-Style: gnome\n"
 
-#: ../json-glib/json-glib-format.c:50
+#: json-glib/json-glib-format.c:50
 msgid "Prettify output"
 msgstr "Ωραιοποίηση εξόδου"
 
-#: ../json-glib/json-glib-format.c:51
+#: json-glib/json-glib-format.c:51
 msgid "Indentation spaces"
 msgstr "Διαστήματα εσοχών"
 
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:77 ../json-glib/json-glib-validate.c:63
+#: json-glib/json-glib-format.c:77 json-glib/json-glib-validate.c:63
 #, c-format
 msgid "%s: %s: error opening file: %s\n"
 msgstr "%s: %s: σφάλμα ανοίγματος αρχείου: %s\n"
@@ -39,7 +39,7 @@ msgstr "%s: %s: σφάλμα ανοίγματος αρχείου: %s\n"
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:89 ../json-glib/json-glib-validate.c:75
+#: json-glib/json-glib-format.c:89 json-glib/json-glib-validate.c:75
 #, c-format
 msgid "%s: %s: error parsing file: %s\n"
 msgstr "%s: %s: σφάλμα ανάλυσης αρχείου: %s\n"
@@ -47,7 +47,7 @@ msgstr "%s: %s: σφάλμα ανάλυσης αρχείου: %s\n"
 #. Translators: the first %s is the program name, the
 #. * second one is the URI of the file.
 #.
-#: ../json-glib/json-glib-format.c:108
+#: json-glib/json-glib-format.c:108
 #, c-format
 msgid "%s: %s: error writing to stdout"
 msgstr "%s: %s: σφάλμα εγγραφής στην τυπική έξοδο"
@@ -55,22 +55,22 @@ msgstr "%s: %s: σφάλμα εγγραφής στην τυπική έξοδο"
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:128 ../json-glib/json-glib-validate.c:87
+#: json-glib/json-glib-format.c:129 json-glib/json-glib-validate.c:87
 #, c-format
 msgid "%s: %s: error closing: %s\n"
 msgstr "%s: %s: σφάλμα κλεισίματος: %s\n"
 
-#: ../json-glib/json-glib-format.c:157 ../json-glib/json-glib-validate.c:115
+#: json-glib/json-glib-format.c:158 json-glib/json-glib-validate.c:115
 msgid "FILE"
 msgstr "ΑΡΧΕΙΟ"
 
 #. Translators: this message will appear after the usage string
 #. and before the list of options.
-#: ../json-glib/json-glib-format.c:160
+#: json-glib/json-glib-format.c:161
 msgid "Format JSON files."
 msgstr "Μορφή αρχείων JSON."
 
-#: ../json-glib/json-glib-format.c:161
+#: json-glib/json-glib-format.c:162
 msgid "json-glib-format formats JSON resources."
 msgstr "το json-glib-format μορφοποιεί τους πόρους JSON."
 
@@ -78,190 +78,222 @@ msgstr "το json-glib-format μορφοποιεί τους πόρους JSON."
 #. * means the user is calling json-glib-validate without any
 #. * argument.
 #.
-#: ../json-glib/json-glib-format.c:178 ../json-glib/json-glib-validate.c:136
+#: json-glib/json-glib-format.c:179 json-glib/json-glib-validate.c:136
 #, c-format
 msgid "Error parsing commandline options: %s\n"
 msgstr "Σφάλμα ανάλυσης επιλογών της γραμμής εντολών: %s\n"
 
-#: ../json-glib/json-glib-format.c:180 ../json-glib/json-glib-format.c:194
-#: ../json-glib/json-glib-validate.c:138 ../json-glib/json-glib-validate.c:152
+#: json-glib/json-glib-format.c:181 json-glib/json-glib-format.c:195
+#: json-glib/json-glib-validate.c:138 json-glib/json-glib-validate.c:152
 #, c-format
-msgid "Try \"%s --help\" for more information."
-msgstr "Δοκιμάστε \"%s --help\" για περισσότερες πληροφορίες."
+#| msgid "Try \"%s --help\" for more information."
+msgid "Try “%s --help” for more information."
+msgstr "Δοκιμάστε «%s --help» για περισσότερες πληροφορίες."
 
 #. Translators: the %s is the program name. This error message
 #. * means the user is calling json-glib-validate without any
 #. * argument.
 #.
-#: ../json-glib/json-glib-format.c:192 ../json-glib/json-glib-validate.c:150
+#: json-glib/json-glib-format.c:193 json-glib/json-glib-validate.c:150
 #, c-format
 msgid "%s: missing files"
 msgstr "%s: λείπουν αρχεία"
 
 #. Translators: this message will appear after the usage string
 #. and before the list of options.
-#: ../json-glib/json-glib-validate.c:118
+#: json-glib/json-glib-validate.c:118
 msgid "Validate JSON files."
 msgstr "Επικυρώστε αρχεία JSON."
 
-#: ../json-glib/json-glib-validate.c:119
+#: json-glib/json-glib-validate.c:119
 msgid "json-glib-validate validates JSON data at the given URI."
 msgstr "το json-glib-validate επικυρώνει δεδομένα JSON στο δοσμένο URI."
 
-#: ../json-glib/json-gobject.c:917
+#. translators: the %s is the name of the data structure
+#: json-glib/json-gobject.c:943
 #, c-format
-msgid "Expecting a JSON object, but the root node is of type `%s'"
-msgstr "Αναμένεται αντικείμενο JSON, αλλά ο αρχικός κόμβος είναι τύπου `%s'"
+#| msgid "Expecting a JSON object, but the root node is of type `%s'"
+msgid "Expecting a JSON object, but the root node is of type “%s”"
+msgstr "Αναμένεται αντικείμενο JSON, αλλά ο αρχικός κόμβος είναι τύπου «%s»"
 
-#: ../json-glib/json-gvariant.c:545
+#. translators: the '%s' is the type name
+#: json-glib/json-gvariant.c:523
 #, c-format
-msgid "Unexpected type '%s' in JSON node"
-msgstr "Αναπάντεχος τύπος '%s' σε κόμβο JSON"
+#| msgid "Unexpected type '%s' in JSON node"
+msgid "Unexpected type “%s” in JSON node"
+msgstr "Αναπάντεχος τύπος «%s» σε κόμβο JSON"
 
-#: ../json-glib/json-gvariant.c:615
+#: json-glib/json-gvariant.c:593
 msgid "Missing elements in JSON array to conform to a tuple"
 msgstr "Λείπουν στοιχεία σε πίνακα JSON για συμφωνία με πλειάδα"
 
-#: ../json-glib/json-gvariant.c:643
-msgid "Missing closing symbol ')' in the GVariant tuple type"
-msgstr "Λείπει το σύμβολο κλεισίματος ')' στον τύπο πλειάδας GVariant"
+#: json-glib/json-gvariant.c:621
+#| msgid "Missing closing symbol ')' in the GVariant tuple type"
+msgid "Missing closing symbol “)” in the GVariant tuple type"
+msgstr "Λείπει το σύμβολο κλεισίματος «)» στον τύπο πλειάδας GVariant"
 
-#: ../json-glib/json-gvariant.c:651
+#: json-glib/json-gvariant.c:629
 msgid "Unexpected extra elements in JSON array"
 msgstr "Αναπάντεχα πρόσθετα στοιχεία σε πίνακα JSON"
 
-#: ../json-glib/json-gvariant.c:930
+#: json-glib/json-gvariant.c:908
 msgid "Invalid string value converting to GVariant"
 msgstr "Άκυρη τιμή συμβολοσειράς μετατροπής σε GVariant"
 
-#: ../json-glib/json-gvariant.c:986
+#: json-glib/json-gvariant.c:964
 msgid ""
 "A GVariant dictionary entry expects a JSON object with exactly one member"
 msgstr ""
 "Μια καταχώριση λεξικού GVariant περιμένει ένα αντικείμενο JSON με ακριβώς "
 "ένα μέλος"
 
-#: ../json-glib/json-gvariant.c:1266
+#: json-glib/json-gvariant.c:1248
 #, c-format
-msgid "GVariant class '%c' not supported"
-msgstr "Η κλάση GVariant '%c' δεν υποστηρίζεται"
+#| msgid "GVariant class '%c' not supported"
+msgid "GVariant class “%c” not supported"
+msgstr "Η κλάση GVariant «%c» δεν υποστηρίζεται"
 
-#: ../json-glib/json-gvariant.c:1314
+#: json-glib/json-gvariant.c:1296
 msgid "Invalid GVariant signature"
 msgstr "Άκυρη υπογραφή GVariant"
 
-#: ../json-glib/json-gvariant.c:1362
+#: json-glib/json-gvariant.c:1344
 msgid "JSON data is empty"
 msgstr "Τα δεδομένα JSON είναι κενά"
 
-#: ../json-glib/json-parser.c:817
+#. translators: %s: is the file name, the first %d is the line
+#. * number, the second %d is the position on the line, and %s is
+#. * the error message
+#.
+#: json-glib/json-parser.c:907
 #, c-format
 msgid "%s:%d:%d: Parse error: %s"
 msgstr "%s:%d:%d: Σφάλμα ανάλυσης: %s"
 
-#: ../json-glib/json-parser.c:885
+#: json-glib/json-parser.c:990
 msgid "JSON data must be UTF-8 encoded"
 msgstr "Τα δεδομένα JSON πρέπει να είναι κωδικοποιημένα ως UTF-8"
 
-#: ../json-glib/json-path.c:438
+#: json-glib/json-path.c:389
 msgid "Only one root node is allowed in a JSONPath expression"
 msgstr "Μόνο ένας αρχικός κόμβος επιτρέπεται σε μια έκφραση JSONPath"
 
-#: ../json-glib/json-path.c:447
+#. translators: the %c is the invalid character
+#: json-glib/json-path.c:398
 #, c-format
-msgid "Root node followed by invalid character '%c'"
-msgstr "Αρχικός κόμβος ακολουθούμενος από άκυρο χαρακτήρα '%c'"
+#| msgid "Root node followed by invalid character '%c'"
+msgid "Root node followed by invalid character “%c”"
+msgstr "Αρχικός κόμβος ακολουθούμενος από μη έγκυρο χαρακτήρα «%c»"
 
-#: ../json-glib/json-path.c:487
+#: json-glib/json-path.c:438
 msgid "Missing member name or wildcard after . character"
 msgstr "Λείπει όνομα μέλους ή συμβόλου υποκατάστασης μετά τον χαρακτήρα ."
 
-#: ../json-glib/json-path.c:561
+#: json-glib/json-path.c:512
 #, c-format
-msgid "Malformed slice expression '%*s'"
-msgstr "Κακοδιατυπωμένη έκφραση τεμαχισμού '%*s'"
+#| msgid "Malformed slice expression '%*s'"
+msgid "Malformed slice expression “%*s”"
+msgstr "Κακοδιατυπωμένη έκφραση τεμαχισμού «%*s»"
 
-#: ../json-glib/json-path.c:605
+#: json-glib/json-path.c:556
 #, c-format
-msgid "Invalid set definition '%*s'"
-msgstr "Άκυρος ορισμός συνόλου '%*s'"
+#| msgid "Invalid set definition '%*s'"
+msgid "Invalid set definition “%*s”"
+msgstr "Άκυρος ορισμός συνόλου «%*s»"
 
-#: ../json-glib/json-path.c:658
+#: json-glib/json-path.c:609
 #, c-format
-msgid "Invalid slice definition '%*s'"
-msgstr "Άκυρος ορισμός τεμαχισμού '%*s'"
+#| msgid "Invalid slice definition '%*s'"
+msgid "Invalid slice definition “%*s”"
+msgstr "Άκυρος ορισμός τεμαχισμού «%*s»"
 
-#: ../json-glib/json-path.c:686
+#: json-glib/json-path.c:637
 #, c-format
-msgid "Invalid array index definition '%*s'"
-msgstr "Άκυρος ορισμός δείκτη πίνακα '%*s'"
+#| msgid "Invalid array index definition '%*s'"
+msgid "Invalid array index definition “%*s”"
+msgstr "Μη έγκυρος ορισμός δείκτη πίνακα «%*s»"
 
-#: ../json-glib/json-path.c:705
+#: json-glib/json-path.c:656
 #, c-format
-msgid "Invalid first character '%c'"
-msgstr "Άκυρος ο πρώτος χαρακτήρας '%c'"
+#| msgid "Invalid first character '%c'"
+msgid "Invalid first character “%c”"
+msgstr "Μή έγκυρος ο πρώτος χαρακτήρας «%c»"
 
-#: ../json-glib/json-reader.c:463
+#: json-glib/json-reader.c:474
 #, c-format
+#| msgid ""
+#| "The current node is of type '%s', but an array or an object was expected."
 msgid ""
-"The current node is of type '%s', but an array or an object was expected."
+"The current node is of type “%s”, but an array or an object was expected."
 msgstr ""
-"Ο τρέχων κόμβος είναι τύπου '%s', αλλά αναμενόταν ένας πίνακας ή ένα "
+"Ο τρέχων κόμβος είναι τύπου «%s», αλλά αναμενόταν ένας πίνακας ή ένα "
 "αντικείμενο."
 
-#: ../json-glib/json-reader.c:475
+#: json-glib/json-reader.c:486
 #, c-format
+#| msgid ""
+#| "The index '%d' is greater than the size of the array at the current "
+#| "position."
 msgid ""
-"The index '%d' is greater than the size of the array at the current position."
+"The index “%d” is greater than the size of the array at the current position."
 msgstr ""
-"Ο δείκτης '%d' είναι μεγαλύτερος από το μέγεθος του πίνακα στην τρέχουσα "
+"Ο δείκτης «%d» είναι μεγαλύτερος από το μέγεθος του πίνακα στην τρέχουσα "
 "θέση."
 
-#: ../json-glib/json-reader.c:492
+#: json-glib/json-reader.c:503
 #, c-format
+#| msgid ""
+#| "The index '%d' is greater than the size of the object at the current "
+#| "position."
 msgid ""
-"The index '%d' is greater than the size of the object at the current "
+"The index “%d” is greater than the size of the object at the current "
 "position."
 msgstr ""
-"Ο δείκτης '%d' είναι μεγαλύτερος από το μέγεθος του αντικειμένου στην "
+"Ο δείκτης «%d» είναι μεγαλύτερος από το μέγεθος του αντικειμένου στην "
 "τρέχουσα θέση."
 
-#: ../json-glib/json-reader.c:577 ../json-glib/json-reader.c:731
-#: ../json-glib/json-reader.c:782 ../json-glib/json-reader.c:820
-#: ../json-glib/json-reader.c:858 ../json-glib/json-reader.c:896
-#: ../json-glib/json-reader.c:934 ../json-glib/json-reader.c:979
-#: ../json-glib/json-reader.c:1015 ../json-glib/json-reader.c:1041
+#: json-glib/json-reader.c:587 json-glib/json-reader.c:751
+#: json-glib/json-reader.c:802 json-glib/json-reader.c:840
+#: json-glib/json-reader.c:878 json-glib/json-reader.c:916
+#: json-glib/json-reader.c:954 json-glib/json-reader.c:999
+#: json-glib/json-reader.c:1035 json-glib/json-reader.c:1061
 msgid "No node available at the current position"
 msgstr "Κανένας διαθέσιμος κόμβος στην τρέχουσα θέση"
 
-#: ../json-glib/json-reader.c:584
+#: json-glib/json-reader.c:594
 #, c-format
-msgid "The current position holds a '%s' and not an array"
-msgstr "Η τρέχουσα θέση περιέχει ένα '%s' και όχι ένα πίνακα"
+#| msgid "The current position holds a '%s' and not an array"
+msgid "The current position holds a “%s” and not an array"
+msgstr "Η τρέχουσα θέση περιέχει ένα «%s» και όχι ένα πίνακα"
 
-#: ../json-glib/json-reader.c:647
+#: json-glib/json-reader.c:670
 #, c-format
-msgid "The current node is of type '%s', but an object was expected."
-msgstr "Ο τρέχων κόμβος είναι του τύπου '%s', αλλά αναμενόταν ένα αντικείμενο."
+#| msgid "The current node is of type '%s', but an object was expected."
+msgid "The current node is of type “%s”, but an object was expected."
+msgstr "Ο τρέχων κόμβος είναι του τύπου «%s», αλλά αναμενόταν ένα αντικείμενο."
 
-#: ../json-glib/json-reader.c:654
+#: json-glib/json-reader.c:677
 #, c-format
-msgid "The member '%s' is not defined in the object at the current position."
-msgstr "Το μέλος '%s' δεν ορίζεται στο αντικείμενο στην τρέχουσα θέση."
+#| msgid ""
+#| "The member '%s' is not defined in the object at the current position."
+msgid "The member “%s” is not defined in the object at the current position."
+msgstr "Το μέλος «%s» δεν ορίζεται στο αντικείμενο στην τρέχουσα θέση."
 
-#: ../json-glib/json-reader.c:738 ../json-glib/json-reader.c:789
+#: json-glib/json-reader.c:758 json-glib/json-reader.c:809
 #, c-format
-msgid "The current position holds a '%s' and not an object"
-msgstr "Η τρέχουσα θέση περιέχει ένα '%s' και όχι ένα αντικείμενο"
+#| msgid "The current position holds a '%s' and not an object"
+msgid "The current position holds a “%s” and not an object"
+msgstr "Η τρέχουσα θέση περιέχει ένα «%s» και όχι ένα αντικείμενο"
 
-#: ../json-glib/json-reader.c:829 ../json-glib/json-reader.c:867
-#: ../json-glib/json-reader.c:905 ../json-glib/json-reader.c:943
-#: ../json-glib/json-reader.c:988
+#: json-glib/json-reader.c:849 json-glib/json-reader.c:887
+#: json-glib/json-reader.c:925 json-glib/json-reader.c:963
+#: json-glib/json-reader.c:1008
 #, c-format
-msgid "The current position holds a '%s' and not a value"
-msgstr "Η τρέχουσα θέση περιέχει ένα '%s' και όχι μια τιμή"
+#| msgid "The current position holds a '%s' and not a value"
+msgid "The current position holds a “%s” and not a value"
+msgstr "Η τρέχουσα θέση περιέχει ένα «%s» και όχι μια τιμή"
 
-#: ../json-glib/json-reader.c:951
+#: json-glib/json-reader.c:971
 msgid "The current position does not hold a string type"
 msgstr "Η τρέχουσα θέση δεν περιέχει τύπο συμβολοσειράς"
 
diff --git a/po/hr.po b/po/hr.po
new file mode 100644 (file)
index 0000000..7f3b584
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,264 @@
+# Croatian translation for json-glib.
+# Copyright (C) 2018 json-glib's COPYRIGHT HOLDER
+# This file is distributed under the same license as the json-glib package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: json-glib json-glib-1-4\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/json-glib/issues\n"
+"POT-Creation-Date: 2018-03-13 14:47+0000\n"
+"PO-Revision-Date: 2018-03-16 21:48+0100\n"
+"Language-Team: Croatian <hr@li.org>\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Last-Translator: \n"
+"X-Generator: Poedit 2.0.6\n"
+
+#: json-glib/json-glib-format.c:50
+msgid "Prettify output"
+msgstr "Uljepšani izlaz"
+
+#: json-glib/json-glib-format.c:51
+msgid "Indentation spaces"
+msgstr "Poravnanje razmaka"
+
+#. Translators: the first %s is the program name, the second one
+#. * is the URI of the file, the third is the error message.
+#.
+#: json-glib/json-glib-format.c:77 json-glib/json-glib-validate.c:63
+#, c-format
+msgid "%s: %s: error opening file: %s\n"
+msgstr "%s: %s: greška otvaranja datoteke: %s\n"
+
+#. Translators: the first %s is the program name, the second one
+#. * is the URI of the file, the third is the error message.
+#.
+#: json-glib/json-glib-format.c:89 json-glib/json-glib-validate.c:75
+#, c-format
+msgid "%s: %s: error parsing file: %s\n"
+msgstr "%s: %s: greška obrade datoteke: %s\n"
+
+#. Translators: the first %s is the program name, the
+#. * second one is the URI of the file.
+#.
+#: json-glib/json-glib-format.c:108
+#, c-format
+msgid "%s: %s: error writing to stdout"
+msgstr "%s: %s: greška zapisivanja u stdout"
+
+#. Translators: the first %s is the program name, the second one
+#. * is the URI of the file, the third is the error message.
+#.
+#: json-glib/json-glib-format.c:129 json-glib/json-glib-validate.c:87
+#, c-format
+msgid "%s: %s: error closing: %s\n"
+msgstr "%s: %s: greška zatvaranja: %s\n"
+
+#: json-glib/json-glib-format.c:158 json-glib/json-glib-validate.c:115
+msgid "FILE"
+msgstr "DATOTEKA"
+
+#. Translators: this message will appear after the usage string
+#. and before the list of options.
+#: json-glib/json-glib-format.c:161
+msgid "Format JSON files."
+msgstr "Format JSON datoteka."
+
+#: json-glib/json-glib-format.c:162
+msgid "json-glib-format formats JSON resources."
+msgstr "json-glib-format formati JSON resursa."
+
+#. Translators: the %s is the program name. This error message
+#. * means the user is calling json-glib-validate without any
+#. * argument.
+#.
+#: json-glib/json-glib-format.c:179 json-glib/json-glib-validate.c:136
+#, c-format
+msgid "Error parsing commandline options: %s\n"
+msgstr "Greška obrade mogućnosti naredbenog redka: %s\n"
+
+#: json-glib/json-glib-format.c:181 json-glib/json-glib-format.c:195
+#: json-glib/json-glib-validate.c:138 json-glib/json-glib-validate.c:152
+#, c-format
+msgid "Try “%s --help” for more information."
+msgstr "Pokušajte “%s --help” za više informacija."
+
+#. Translators: the %s is the program name. This error message
+#. * means the user is calling json-glib-validate without any
+#. * argument.
+#.
+#: json-glib/json-glib-format.c:193 json-glib/json-glib-validate.c:150
+#, c-format
+msgid "%s: missing files"
+msgstr "%s: nedostaju datoteke"
+
+#. Translators: this message will appear after the usage string
+#. and before the list of options.
+#: json-glib/json-glib-validate.c:118
+msgid "Validate JSON files."
+msgstr "Provjera JSON datoteka."
+
+#: json-glib/json-glib-validate.c:119
+msgid "json-glib-validate validates JSON data at the given URI."
+msgstr "json-glib-validate provjerava JSON podatke na danom URI-ju."
+
+#. translators: the %s is the name of the data structure
+#: json-glib/json-gobject.c:940
+#, c-format
+msgid "Expecting a JSON object, but the root node is of type “%s”"
+msgstr "Očekivani je JSON objekt li korijenski čvor je “%s” vrste"
+
+#. translators: the '%s' is the type name
+#: json-glib/json-gvariant.c:524
+#, c-format
+msgid "Unexpected type “%s” in JSON node"
+msgstr "Neočekivana vrsta “%s” u JSON čvoru"
+
+#: json-glib/json-gvariant.c:594
+msgid "Missing elements in JSON array to conform to a tuple"
+msgstr "Nedostaju elementu u JSON polju za porvrdu tuple"
+
+#: json-glib/json-gvariant.c:622
+msgid "Missing closing symbol “)” in the GVariant tuple type"
+msgstr "Nedostaje simbol zatvaranja “)” u vrsti GVariant tuple"
+
+#: json-glib/json-gvariant.c:630
+msgid "Unexpected extra elements in JSON array"
+msgstr "Neočekivani dodatni elementi u JSON polju"
+
+#: json-glib/json-gvariant.c:909
+msgid "Invalid string value converting to GVariant"
+msgstr "Neispravna vrijednost izraza pretvorbe u GVariantu"
+
+#: json-glib/json-gvariant.c:964
+msgid ""
+"A GVariant dictionary entry expects a JSON object with exactly one member"
+msgstr "GVariant unos rječnika očekuje JSON objekt s točno jednim članom"
+
+#: json-glib/json-gvariant.c:1242
+#, c-format
+msgid "GVariant class “%c” not supported"
+msgstr "GVariant klasa “%c” nije podržana"
+
+#: json-glib/json-gvariant.c:1290
+msgid "Invalid GVariant signature"
+msgstr "Neispravan potpis GVariante"
+
+#: json-glib/json-gvariant.c:1338
+msgid "JSON data is empty"
+msgstr "JSON podatak je prazan"
+
+#. translators: %s: is the file name, the first %d is the line
+#. * number, the second %d is the position on the line, and %s is
+#. * the error message
+#.
+#: json-glib/json-parser.c:909
+#, c-format
+msgid "%s:%d:%d: Parse error: %s"
+msgstr "%s:%d:%d: Greška obrade: %s"
+
+#: json-glib/json-parser.c:992
+msgid "JSON data must be UTF-8 encoded"
+msgstr "JSON podatak mora biti UTF-8 kôdiran"
+
+#: json-glib/json-path.c:389
+msgid "Only one root node is allowed in a JSONPath expression"
+msgstr "Samo jedan korijenski čvor je dopušten u JSONPath izrazu"
+
+#. translators: the %c is the invalid character
+#: json-glib/json-path.c:398
+#, c-format
+msgid "Root node followed by invalid character “%c”"
+msgstr "Korijenski čvor je slijeđen neispravnim znakom “%c”"
+
+#: json-glib/json-path.c:438
+msgid "Missing member name or wildcard after . character"
+msgstr "Nedostaje naziv člana ili zamjenski znak nakon . character"
+
+#: json-glib/json-path.c:512
+#, c-format
+msgid "Malformed slice expression “%*s”"
+msgstr "Krivo oblikovan dio izraza “%*s”"
+
+#: json-glib/json-path.c:556
+#, c-format
+msgid "Invalid set definition “%*s”"
+msgstr "Neispravna postavka definicije “%*s”"
+
+#: json-glib/json-path.c:609
+#, c-format
+msgid "Invalid slice definition “%*s”"
+msgstr "Neispravan dio definicije “%*s”"
+
+#: json-glib/json-path.c:637
+#, c-format
+msgid "Invalid array index definition “%*s”"
+msgstr "Neispravno polje sadržaja definicije “%*s”"
+
+#: json-glib/json-path.c:656
+#, c-format
+msgid "Invalid first character “%c”"
+msgstr "Neispravan prvi znak “%c”"
+
+#: json-glib/json-reader.c:474
+#, c-format
+msgid ""
+"The current node is of type “%s”, but an array or an object was expected."
+msgstr "Trenutni čvor je “%s” vrste, ali polje ili objekt je očekivan."
+
+#: json-glib/json-reader.c:486
+#, c-format
+msgid ""
+"The index “%d” is greater than the size of the array at the current position."
+msgstr "Sadržaj “%d” je veći od veličine polja na trenutnom položaju."
+
+#: json-glib/json-reader.c:503
+#, c-format
+msgid ""
+"The index “%d” is greater than the size of the object at the current "
+"position."
+msgstr "Sadržaj “%d” je veći od veličine objekta na trenutnom položaju."
+
+#: json-glib/json-reader.c:585 json-glib/json-reader.c:751
+#: json-glib/json-reader.c:799 json-glib/json-reader.c:837
+#: json-glib/json-reader.c:875 json-glib/json-reader.c:913
+#: json-glib/json-reader.c:951 json-glib/json-reader.c:996
+#: json-glib/json-reader.c:1032 json-glib/json-reader.c:1058
+msgid "No node available at the current position"
+msgstr "Nema dostupnih čvorova na trenutnom položaju"
+
+#: json-glib/json-reader.c:592
+#, c-format
+msgid "The current position holds a “%s” and not an array"
+msgstr "Trenutni položaj zauzima “%s” a ne polje"
+
+#: json-glib/json-reader.c:668
+#, c-format
+msgid "The current node is of type “%s”, but an object was expected."
+msgstr "Trenutni čvor je “%s” vrste, ali objekt je očekivan."
+
+#: json-glib/json-reader.c:675
+#, c-format
+msgid "The member “%s” is not defined in the object at the current position."
+msgstr "Član “%s” nije definiran u objektu na trenutnom položaju."
+
+#: json-glib/json-reader.c:758 json-glib/json-reader.c:806
+#, c-format
+msgid "The current position holds a “%s” and not an object"
+msgstr "Trenutni položaj zauzima “%s” a ne objekt"
+
+#: json-glib/json-reader.c:846 json-glib/json-reader.c:884
+#: json-glib/json-reader.c:922 json-glib/json-reader.c:960
+#: json-glib/json-reader.c:1005
+#, c-format
+msgid "The current position holds a “%s” and not a value"
+msgstr "Trenutni položaj zauzima “%s” a ne vrijednost"
+
+#: json-glib/json-reader.c:968
+msgid "The current position does not hold a string type"
+msgstr "Trenutni položaj ne zauzima vrsta izraza"
diff --git a/po/nl.po b/po/nl.po
new file mode 100644 (file)
index 0000000..af7b88d
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,270 @@
+# Dutch translation for json-glib.
+# Copyright (C) 2016 json-glib's COPYRIGHT HOLDER
+# This file is distributed under the same license as the json-glib package.
+# Justin van Steijn <jvs@fsfe.org>, 2016.
+# Nathan Follens <nthn@unseen.is>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: json-glib master\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=json-"
+"glib&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2017-09-09 15:59+0000\n"
+"PO-Revision-Date: 2017-09-09 20:12+0200\n"
+"Last-Translator: Nathan Follens <nthn@unseen.is>\n"
+"Language-Team: Dutch <gnome-nl-list@gnome.org>\n"
+"Language: nl\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-Generator: Poedit 2.0.3\n"
+
+#: json-glib/json-glib-format.c:50
+msgid "Prettify output"
+msgstr "Uitvoer mooi maken"
+
+#: json-glib/json-glib-format.c:51
+msgid "Indentation spaces"
+msgstr "Inspringingspaties"
+
+#. Translators: the first %s is the program name, the second one
+#. * is the URI of the file, the third is the error message.
+#.
+#: json-glib/json-glib-format.c:77 json-glib/json-glib-validate.c:63
+#, c-format
+msgid "%s: %s: error opening file: %s\n"
+msgstr "%s: %s: fout bij het openen van bestand: %s\n"
+
+#. Translators: the first %s is the program name, the second one
+#. * is the URI of the file, the third is the error message.
+#.
+#: json-glib/json-glib-format.c:89 json-glib/json-glib-validate.c:75
+#, c-format
+msgid "%s: %s: error parsing file: %s\n"
+msgstr "%s: %s: fout bij het ontleden van bestand: %s\n"
+
+#. Translators: the first %s is the program name, the
+#. * second one is the URI of the file.
+#.
+#: json-glib/json-glib-format.c:108
+#, c-format
+msgid "%s: %s: error writing to stdout"
+msgstr "%s: %s: fout bij het schrijven naar stdout"
+
+#. Translators: the first %s is the program name, the second one
+#. * is the URI of the file, the third is the error message.
+#.
+#: json-glib/json-glib-format.c:129 json-glib/json-glib-validate.c:87
+#, c-format
+msgid "%s: %s: error closing: %s\n"
+msgstr "%s: %s: fout bij het sluiten: %s\n"
+
+#: json-glib/json-glib-format.c:158 json-glib/json-glib-validate.c:115
+msgid "FILE"
+msgstr "BESTAND"
+
+#. Translators: this message will appear after the usage string
+#. and before the list of options.
+#: json-glib/json-glib-format.c:161
+msgid "Format JSON files."
+msgstr "JSON-bestanden formatteren."
+
+#: json-glib/json-glib-format.c:162
+msgid "json-glib-format formats JSON resources."
+msgstr "json-glib-format formatteert JSON-hulpbronnen."
+
+#. Translators: the %s is the program name. This error message
+#. * means the user is calling json-glib-validate without any
+#. * argument.
+#.
+#: json-glib/json-glib-format.c:179 json-glib/json-glib-validate.c:136
+#, c-format
+msgid "Error parsing commandline options: %s\n"
+msgstr "Fout bij het ontleden van commandolijn-opties: %s\n"
+
+#: json-glib/json-glib-format.c:181 json-glib/json-glib-format.c:195
+#: json-glib/json-glib-validate.c:138 json-glib/json-glib-validate.c:152
+#, c-format
+msgid "Try “%s --help” for more information."
+msgstr "Probeer ‘%s --help’ voor meer informatie."
+
+#. Translators: the %s is the program name. This error message
+#. * means the user is calling json-glib-validate without any
+#. * argument.
+#.
+#: json-glib/json-glib-format.c:193 json-glib/json-glib-validate.c:150
+#, c-format
+msgid "%s: missing files"
+msgstr "%s: ontbrekende bestanden"
+
+#. Translators: this message will appear after the usage string
+#. and before the list of options.
+#: json-glib/json-glib-validate.c:118
+msgid "Validate JSON files."
+msgstr "JSON-bestanden valideren."
+
+#: json-glib/json-glib-validate.c:119
+msgid "json-glib-validate validates JSON data at the given URI."
+msgstr "json-glib-validate valideert JSON-gegevens op de opgegeven URI."
+
+#. translators: the %s is the name of the data structure
+#: json-glib/json-gobject.c:940
+#, c-format
+msgid "Expecting a JSON object, but the root node is of type “%s”"
+msgstr "Verwacht een JSON-object, maar de root node is van het type ‘%s’"
+
+#. translators: the '%s' is the type name
+#: json-glib/json-gvariant.c:524
+#, c-format
+msgid "Unexpected type “%s” in JSON node"
+msgstr "Onverwacht type ‘%s’ in JSON-node"
+
+#: json-glib/json-gvariant.c:594
+msgid "Missing elements in JSON array to conform to a tuple"
+msgstr "Ontbrekende elementen in JSON-array om tupel te bevestigen"
+
+#: json-glib/json-gvariant.c:622
+msgid "Missing closing symbol “)” in the GVariant tuple type"
+msgstr "Ontbrekend sluitsymbool ‘)’ in het GVariant-tupel-type"
+
+#: json-glib/json-gvariant.c:630
+msgid "Unexpected extra elements in JSON array"
+msgstr "Onverwachte extra elementen in JSON-array"
+
+#: json-glib/json-gvariant.c:909
+msgid "Invalid string value converting to GVariant"
+msgstr "Ongeldige tekenreekswaarde omzetten naar GVariant"
+
+#: json-glib/json-gvariant.c:964
+msgid ""
+"A GVariant dictionary entry expects a JSON object with exactly one member"
+msgstr ""
+"Een GVariant-woordenboekelement verwacht een JSON-object met precies één lid"
+
+#: json-glib/json-gvariant.c:1242
+#, c-format
+msgid "GVariant class “%c” not supported"
+msgstr "GVariant-klasse ‘%c’ niet ondersteund"
+
+#: json-glib/json-gvariant.c:1290
+msgid "Invalid GVariant signature"
+msgstr "Ongeldige GVariant-handtekening"
+
+#: json-glib/json-gvariant.c:1338
+msgid "JSON data is empty"
+msgstr "JSON-gegevens is leeg"
+
+#. translators: %s: is the file name, the first %d is the line
+#. * number, the second %d is the position on the line, and %s is
+#. * the error message
+#.
+#: json-glib/json-parser.c:907
+#, c-format
+msgid "%s:%d:%d: Parse error: %s"
+msgstr "%s:%d:%d: Ontleedfout: %s"
+
+#: json-glib/json-parser.c:990
+msgid "JSON data must be UTF-8 encoded"
+msgstr "JSON-gegevens moeten gecodeerd zijn als UTF-8"
+
+#: json-glib/json-path.c:389
+msgid "Only one root node is allowed in a JSONPath expression"
+msgstr "Er mag slechts één root node zijn in een JSONPath-uitdrukking"
+
+#. translators: the %c is the invalid character
+#: json-glib/json-path.c:398
+#, c-format
+msgid "Root node followed by invalid character “%c”"
+msgstr "Root node gevolgd door ongeldig teken ‘%c’"
+
+#: json-glib/json-path.c:438
+msgid "Missing member name or wildcard after . character"
+msgstr "Ontbrekende naam van lid of wildcard na .-teken"
+
+#: json-glib/json-path.c:512
+#, c-format
+msgid "Malformed slice expression “%*s”"
+msgstr "Misvormde slice-uitdrukking ‘%*s’"
+
+#: json-glib/json-path.c:556
+#, c-format
+msgid "Invalid set definition “%*s”"
+msgstr "Ongeldige set-definitie ‘%*s’"
+
+#: json-glib/json-path.c:609
+#, c-format
+msgid "Invalid slice definition “%*s”"
+msgstr "Ongeldige slice-definitie ‘%*s’"
+
+#: json-glib/json-path.c:637
+#, c-format
+msgid "Invalid array index definition “%*s”"
+msgstr "Ongeldige array-index-definitie ‘%*s’"
+
+#: json-glib/json-path.c:656
+#, c-format
+msgid "Invalid first character “%c”"
+msgstr "Ongeldig eerste teken ‘%c’"
+
+#: json-glib/json-reader.c:474
+#, c-format
+msgid ""
+"The current node is of type “%s”, but an array or an object was expected."
+msgstr ""
+"De huidige node is van het type ‘%s’, maar een array of een object was "
+"verwacht."
+
+#: json-glib/json-reader.c:486
+#, c-format
+msgid ""
+"The index “%d” is greater than the size of the array at the current position."
+msgstr ""
+"De index ‘%d’ is hoger dan de grootte van de array op de huidige positie."
+
+#: json-glib/json-reader.c:503
+#, c-format
+msgid ""
+"The index “%d” is greater than the size of the object at the current "
+"position."
+msgstr ""
+"De index ‘%d’ is hoger dan de grootte van het object op de huidige positie."
+
+#: json-glib/json-reader.c:585 json-glib/json-reader.c:751
+#: json-glib/json-reader.c:799 json-glib/json-reader.c:837
+#: json-glib/json-reader.c:875 json-glib/json-reader.c:913
+#: json-glib/json-reader.c:951 json-glib/json-reader.c:996
+#: json-glib/json-reader.c:1032 json-glib/json-reader.c:1058
+msgid "No node available at the current position"
+msgstr "Geen node beschikbaar op de huidige positie"
+
+#: json-glib/json-reader.c:592
+#, c-format
+msgid "The current position holds a “%s” and not an array"
+msgstr "De huidige positie bevat een ‘%s’ en is geen array"
+
+#: json-glib/json-reader.c:668
+#, c-format
+msgid "The current node is of type “%s”, but an object was expected."
+msgstr "De huidige node is van het type ‘%s’, maar een object was verwacht."
+
+#: json-glib/json-reader.c:675
+#, c-format
+msgid "The member “%s” is not defined in the object at the current position."
+msgstr "Het lid ‘%s’ is niet gedefinieerd in het object op de huidige positie."
+
+#: json-glib/json-reader.c:758 json-glib/json-reader.c:806
+#, c-format
+msgid "The current position holds a “%s” and not an object"
+msgstr "De huidige positie bevat een ‘%s’ en is geen object"
+
+#: json-glib/json-reader.c:846 json-glib/json-reader.c:884
+#: json-glib/json-reader.c:922 json-glib/json-reader.c:960
+#: json-glib/json-reader.c:1005
+#, c-format
+msgid "The current position holds a “%s” and not a value"
+msgstr "De huidige positie bevat een ‘%s’ en is geen waarde"
+
+#: json-glib/json-reader.c:968
+msgid "The current position does not hold a string type"
+msgstr "De huidige positie bevat geen tekenreekstype"
index a13f0f4..5ea882c 100644 (file)
--- a/po/oc.po
+++ b/po/oc.po
@@ -3,14 +3,13 @@
 # This file is distributed under the same license as the json-glib package.
 # Cédric Valmary <cvalmary@yahoo.fr>, 2015.
 # Cédric Valmary (Tot en òc) <cvalmary@yahoo.fr>, 2015.
-# Cédric Valmary (totenoc.eu) <cvalmary@yahoo.fr>, 2016.
+# Cédric Valmary (totenoc.eu) <cvalmary@yahoo.fr>, 2016, 2018.
 msgid ""
 msgstr ""
 "Project-Id-Version: json-glib master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=json-"
-"glib&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2016-05-09 20:54+0000\n"
-"PO-Revision-Date: 2016-05-08 18:49+0200\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/json-glib/issues\n"
+"POT-Creation-Date: 2018-04-09 05:53+0000\n"
+"PO-Revision-Date: 2018-04-19 09:56+0200\n"
 "Last-Translator: Cédric Valmary (totenoc.eu) <cvalmary@yahoo.fr>\n"
 "Language-Team: Tot En Òc\n"
 "Language: oc\n"
@@ -22,57 +21,57 @@ msgstr ""
 "X-Launchpad-Export-Date: 2015-05-20 16:56+0000\n"
 "X-Project-Style: gnome\n"
 
-#: ../json-glib/json-glib-format.c:50
+#: json-glib/json-glib-format.c:50
 msgid "Prettify output"
 msgstr "Formatatge indentat"
 
-#: ../json-glib/json-glib-format.c:51
+#: json-glib/json-glib-format.c:51
 msgid "Indentation spaces"
 msgstr "Espacis d'indentacion"
 
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:77 ../json-glib/json-glib-validate.c:63
+#: json-glib/json-glib-format.c:77 json-glib/json-glib-validate.c:63
 #, c-format
 msgid "%s: %s: error opening file: %s\n"
-msgstr "%s : %s : error de dobertura del fichièr : %s\n"
+msgstr "%s : %s : error de dobertura del fichièr : %s\n"
 
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:89 ../json-glib/json-glib-validate.c:75
+#: json-glib/json-glib-format.c:89 json-glib/json-glib-validate.c:75
 #, c-format
 msgid "%s: %s: error parsing file: %s\n"
-msgstr "%s : %s : error d'analisi del fichièr : %s\n"
+msgstr "%s : %s : error d'analisi del fichièr : %s\n"
 
 #. Translators: the first %s is the program name, the
 #. * second one is the URI of the file.
 #.
-#: ../json-glib/json-glib-format.c:108
+#: json-glib/json-glib-format.c:108
 #, c-format
 msgid "%s: %s: error writing to stdout"
-msgstr "%s : %s : error d'escritura cap a stdout"
+msgstr "%s : %s : error d'escritura cap a stdout"
 
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:129 ../json-glib/json-glib-validate.c:87
+#: json-glib/json-glib-format.c:129 json-glib/json-glib-validate.c:87
 #, c-format
 msgid "%s: %s: error closing: %s\n"
-msgstr "%s : %s : error de tampadura : %s\n"
+msgstr "%s : %s : error de tampadura : %s\n"
 
-#: ../json-glib/json-glib-format.c:158 ../json-glib/json-glib-validate.c:115
+#: json-glib/json-glib-format.c:158 json-glib/json-glib-validate.c:115
 msgid "FILE"
 msgstr "FICHIÈR"
 
 #. Translators: this message will appear after the usage string
 #. and before the list of options.
-#: ../json-glib/json-glib-format.c:161
+#: json-glib/json-glib-format.c:161
 msgid "Format JSON files."
 msgstr "Mesa en forma de fichièrs JSON."
 
-#: ../json-glib/json-glib-format.c:162
+#: json-glib/json-glib-format.c:162
 msgid "json-glib-format formats JSON resources."
 msgstr "json-glib-format met en forma de ressorsas JSON."
 
@@ -80,190 +79,222 @@ msgstr "json-glib-format met en forma de ressorsas JSON."
 #. * means the user is calling json-glib-validate without any
 #. * argument.
 #.
-#: ../json-glib/json-glib-format.c:179 ../json-glib/json-glib-validate.c:136
+#: json-glib/json-glib-format.c:179 json-glib/json-glib-validate.c:136
 #, c-format
 msgid "Error parsing commandline options: %s\n"
-msgstr "Error d'analisi de las opcions de la linha de comanda : %s\n"
+msgstr "Error d'analisi de las opcions de la linha de comanda : %s\n"
 
-#: ../json-glib/json-glib-format.c:181 ../json-glib/json-glib-format.c:195
-#: ../json-glib/json-glib-validate.c:138 ../json-glib/json-glib-validate.c:152
-#, c-format
-msgid "Try \"%s --help\" for more information."
-msgstr "Ensajatz « %s --help » per mai d'informacions."
+#: json-glib/json-glib-format.c:181 json-glib/json-glib-format.c:195
+#: json-glib/json-glib-validate.c:138 json-glib/json-glib-validate.c:152
+#, c-format, c-format
+#| msgid "Try \"%s --help\" for more information."
+msgid "Try “%s --help” for more information."
+msgstr "Ensajatz « %s --help » per mai d'informacions."
 
 #. Translators: the %s is the program name. This error message
 #. * means the user is calling json-glib-validate without any
 #. * argument.
 #.
-#: ../json-glib/json-glib-format.c:193 ../json-glib/json-glib-validate.c:150
+#: json-glib/json-glib-format.c:193 json-glib/json-glib-validate.c:150
 #, c-format
 msgid "%s: missing files"
-msgstr "%s : fichièrs mancants"
+msgstr "%s : fichièrs mancants"
 
 #. Translators: this message will appear after the usage string
 #. and before the list of options.
-#: ../json-glib/json-glib-validate.c:118
+#: json-glib/json-glib-validate.c:118
 msgid "Validate JSON files."
 msgstr "Validacion de fichièrs JSON."
 
-#: ../json-glib/json-glib-validate.c:119
+#: json-glib/json-glib-validate.c:119
 msgid "json-glib-validate validates JSON data at the given URI."
 msgstr "json-glib-validate valida de donadas JSON a l'URI indicada."
 
-#: ../json-glib/json-gobject.c:943
-#, c-format
-msgid "Expecting a JSON object, but the root node is of type `%s'"
-msgstr "Objècte de tipe JSON esperat mas lo nosèl raiç es de tipe « %s »"
-
-#: ../json-glib/json-gvariant.c:523
-#, c-format
-msgid "Unexpected type '%s' in JSON node"
-msgstr "Tipe « %s » inesperat dins lo nosèl JSON"
-
-#: ../json-glib/json-gvariant.c:593
+#. translators: the %s is the name of the data structure
+#: json-glib/json-gobject.c:940
+#, c-format, c-format
+#| msgid "Expecting a JSON object, but the root node is of type `%s'"
+msgid "Expecting a JSON object, but the root node is of type “%s”"
+msgstr "Objècte de tipe JSON esperat mas lo nosèl raiç es de tipe « %s »"
+
+#. translators: the '%s' is the type name
+#: json-glib/json-gvariant.c:524
+#, c-format, c-format
+#| msgid "Unexpected type '%s' in JSON node"
+msgid "Unexpected type “%s” in JSON node"
+msgstr "Tipe « %s » inesperat dins lo nosèl JSON"
+
+#: json-glib/json-gvariant.c:594
 msgid "Missing elements in JSON array to conform to a tuple"
 msgstr "Elements mancants dins lo tablèu JSON per èsser confòrme a un tuple"
 
-#: ../json-glib/json-gvariant.c:621
-msgid "Missing closing symbol ')' in the GVariant tuple type"
-msgstr "Simbòl tampant « ) » mancant dins lo tuple GVariant"
+#: json-glib/json-gvariant.c:622
+#| msgid "Missing closing symbol ')' in the GVariant tuple type"
+msgid "Missing closing symbol “)” in the GVariant tuple type"
+msgstr "Simbòl tampant « ) » mancant dins lo tuple GVariant"
 
-#: ../json-glib/json-gvariant.c:629
+#: json-glib/json-gvariant.c:630
 msgid "Unexpected extra elements in JSON array"
 msgstr "Elements suplementaris inesperats dins lo tablèu JSON"
 
-#: ../json-glib/json-gvariant.c:908
+#: json-glib/json-gvariant.c:909
 msgid "Invalid string value converting to GVariant"
 msgstr "Cadena de caractèrs invalida per la conversion en GVariant"
 
-#: ../json-glib/json-gvariant.c:964
+#: json-glib/json-gvariant.c:964
 msgid ""
 "A GVariant dictionary entry expects a JSON object with exactly one member"
 msgstr ""
 "Una entrada de diccionari GVariant requerís un objècte JSON que conten un "
 "sol membre"
 
-#: ../json-glib/json-gvariant.c:1248
-#, c-format
-msgid "GVariant class '%c' not supported"
-msgstr "Classa GVariant « %c » pas presa en carga"
+#: json-glib/json-gvariant.c:1242
+#, c-format, c-format
+#| msgid "GVariant class '%c' not supported"
+msgid "GVariant class “%c” not supported"
+msgstr "Classa GVariant « %c » pas presa en carga"
 
-#: ../json-glib/json-gvariant.c:1296
+#: json-glib/json-gvariant.c:1290
 msgid "Invalid GVariant signature"
 msgstr "Signatura GVariant invalida"
 
-#: ../json-glib/json-gvariant.c:1344
+#: json-glib/json-gvariant.c:1338
 msgid "JSON data is empty"
 msgstr "Las donadas JSON son voidas"
 
-#: ../json-glib/json-parser.c:914
+#. translators: %s: is the file name, the first %d is the line
+#. * number, the second %d is the position on the line, and %s is
+#. * the error message
+#.
+#: json-glib/json-parser.c:909
 #, c-format
 msgid "%s:%d:%d: Parse error: %s"
-msgstr "%s:%d:%d: Error d'analisi : %s"
+msgstr "%s:%d:%d: Error d'analisi : %s"
 
-#: ../json-glib/json-parser.c:997
+#: json-glib/json-parser.c:992
 msgid "JSON data must be UTF-8 encoded"
 msgstr "Las donadas JSON devon èsser encodadas en UTF-8"
 
-#: ../json-glib/json-path.c:388
+#: json-glib/json-path.c:389
 msgid "Only one root node is allowed in a JSONPath expression"
 msgstr "Un sol nosèl raiç d'autorizat dins una expression JSONPath"
 
-#: ../json-glib/json-path.c:397
-#, c-format
-msgid "Root node followed by invalid character '%c'"
-msgstr "Nosèl raiç seguit d'un caractèr invalid « %c »"
+#. translators: the %c is the invalid character
+#: json-glib/json-path.c:398
+#, c-format, c-format
+#| msgid "Root node followed by invalid character '%c'"
+msgid "Root node followed by invalid character “%c”"
+msgstr "Nosèl raiç seguit d'un caractèr invalid « %c »"
 
-#: ../json-glib/json-path.c:437
+#: json-glib/json-path.c:438
 msgid "Missing member name or wildcard after . character"
-msgstr "Nom de membre o caractèr joker mancant aprèp un caractèr « . »"
-
-#: ../json-glib/json-path.c:511
-#, c-format
-msgid "Malformed slice expression '%*s'"
-msgstr "Expression de talhon malformat « %*s »"
-
-#: ../json-glib/json-path.c:555
-#, c-format
-msgid "Invalid set definition '%*s'"
-msgstr "Definicion d'ensemble invalida « %*s »"
-
-#: ../json-glib/json-path.c:608
-#, c-format
-msgid "Invalid slice definition '%*s'"
-msgstr "Definicion de talha invalida « %*s »"
-
-#: ../json-glib/json-path.c:636
-#, c-format
-msgid "Invalid array index definition '%*s'"
-msgstr "Definicion d'indici de tablèu invalida « %*s »"
-
-#: ../json-glib/json-path.c:655
-#, c-format
-msgid "Invalid first character '%c'"
-msgstr "Primièr caractèr « %c » invalid"
-
-#: ../json-glib/json-reader.c:473
-#, c-format
+msgstr "Nom de membre o caractèr joker mancant aprèp un caractèr « . »"
+
+#: json-glib/json-path.c:512
+#, c-format, c-format
+#| msgid "Malformed slice expression '%*s'"
+msgid "Malformed slice expression “%*s”"
+msgstr "Expression de segmentacion malformada « %*s »"
+
+#: json-glib/json-path.c:556
+#, c-format, c-format
+#| msgid "Invalid set definition '%*s'"
+msgid "Invalid set definition “%*s”"
+msgstr "Definicion d'ensemble invalida « %*s »"
+
+#: json-glib/json-path.c:609
+#, c-format, c-format
+#| msgid "Invalid slice definition '%*s'"
+msgid "Invalid slice definition “%*s”"
+msgstr "Definicion de segmentacion invalida « %*s »"
+
+#: json-glib/json-path.c:637
+#, c-format, c-format
+#| msgid "Invalid array index definition '%*s'"
+msgid "Invalid array index definition “%*s”"
+msgstr "Definicion d'indici de tablèu invalida « %*s »"
+
+#: json-glib/json-path.c:656
+#, c-format, c-format
+#| msgid "Invalid first character '%c'"
+msgid "Invalid first character “%c”"
+msgstr "Primièr caractèr « %c » invalid"
+
+#: json-glib/json-reader.c:474
+#, c-format, c-format
+#| msgid ""
+#| "The current node is of type '%s', but an array or an object was expected."
 msgid ""
-"The current node is of type '%s', but an array or an object was expected."
+"The current node is of type “%s”, but an array or an object was expected."
 msgstr ""
-"Lo nosèl corrent es de tipe « %s » mas un tablèu o un objècte èra esperat."
+"Lo nosèl corrent es de tipe « %s » mas un tablèu o un objècte èra esperat."
 
-#: ../json-glib/json-reader.c:485
-#, c-format
+#: json-glib/json-reader.c:486
+#, c-format, c-format
+#| msgid ""
+#| "The index '%d' is greater than the size of the array at the current "
+#| "position."
 msgid ""
-"The index '%d' is greater than the size of the array at the current position."
+"The index “%d” is greater than the size of the array at the current position."
 msgstr ""
-"L'indici « %d » es mai grand que la talha del tablèu a la posicion actuala."
+"L'indici « %d » es mai grand que la talha del tablèu a la posicion "
+"actuala."
 
-#: ../json-glib/json-reader.c:502
-#, c-format
+#: json-glib/json-reader.c:503
+#, c-format, c-format
+#| msgid ""
+#| "The index '%d' is greater than the size of the object at the current "
+#| "position."
 msgid ""
-"The index '%d' is greater than the size of the object at the current "
+"The index “%d” is greater than the size of the object at the current "
 "position."
 msgstr ""
-"L'indici « %d » es mai grand que la talha de l'objècte indicat a la posicion "
-"actuala."
-
-#: ../json-glib/json-reader.c:586 ../json-glib/json-reader.c:750
-#: ../json-glib/json-reader.c:801 ../json-glib/json-reader.c:839
-#: ../json-glib/json-reader.c:877 ../json-glib/json-reader.c:915
-#: ../json-glib/json-reader.c:953 ../json-glib/json-reader.c:998
-#: ../json-glib/json-reader.c:1034 ../json-glib/json-reader.c:1060
+"L'indici « %d » es mai grand que la talha de l'objècte indicat a la "
+"posicion actuala."
+
+#: json-glib/json-reader.c:585 json-glib/json-reader.c:751
+#: json-glib/json-reader.c:799 json-glib/json-reader.c:837
+#: json-glib/json-reader.c:875 json-glib/json-reader.c:913
+#: json-glib/json-reader.c:951 json-glib/json-reader.c:996
+#: json-glib/json-reader.c:1032 json-glib/json-reader.c:1058
 msgid "No node available at the current position"
 msgstr "Cap de nosèl pas disponible a aquesta posicion."
 
-#: ../json-glib/json-reader.c:593
-#, c-format
-msgid "The current position holds a '%s' and not an array"
+#: json-glib/json-reader.c:592
+#, c-format, c-format
+#| msgid "The current position holds a '%s' and not an array"
+msgid "The current position holds a “%s” and not an array"
 msgstr ""
-"La posicion actuala conten un element de tipe « %s » e non pas un tablèu"
-
-#: ../json-glib/json-reader.c:669
-#, c-format
-msgid "The current node is of type '%s', but an object was expected."
-msgstr "Lo nosèl actual es de tipe « %s » mas un objècte èra esperat."
-
-#: ../json-glib/json-reader.c:676
-#, c-format
-msgid "The member '%s' is not defined in the object at the current position."
-msgstr "Lo membre « %s »  es pas definit dins l'objècte a la posicion actuala."
-
-#: ../json-glib/json-reader.c:757 ../json-glib/json-reader.c:808
-#, c-format
-msgid "The current position holds a '%s' and not an object"
-msgstr ""
-"La posicion actuala conten un element de tipe « %s » e non pas un objècte"
-
-#: ../json-glib/json-reader.c:848 ../json-glib/json-reader.c:886
-#: ../json-glib/json-reader.c:924 ../json-glib/json-reader.c:962
-#: ../json-glib/json-reader.c:1007
-#, c-format
-msgid "The current position holds a '%s' and not a value"
+"La posicion actuala conten un element de tipe « %s » e non pas un tablèu"
+
+#: json-glib/json-reader.c:668
+#, c-format, c-format
+#| msgid "The current node is of type '%s', but an object was expected."
+msgid "The current node is of type “%s”, but an object was expected."
+msgstr "Lo nosèl actual es de tipe « %s » mas un objècte èra esperat."
+
+#: json-glib/json-reader.c:675
+#, c-format, c-format
+#| msgid ""
+#| "The member '%s' is not defined in the object at the current position."
+msgid "The member “%s” is not defined in the object at the current position."
+msgstr "Lo membre « %s »  es pas definit dins l'objècte a la posicion actuala."
+
+#: json-glib/json-reader.c:758 json-glib/json-reader.c:806
+#, c-format, c-format
+#| msgid "The current position holds a '%s' and not an object"
+msgid "The current position holds a “%s” and not an object"
+msgstr "La posicion actuala conten un element de tipe « %s » e non pas un objècte"
+
+#: json-glib/json-reader.c:846 json-glib/json-reader.c:884
+#: json-glib/json-reader.c:922 json-glib/json-reader.c:960
+#: json-glib/json-reader.c:1005
+#, c-format, c-format
+#| msgid "The current position holds a '%s' and not a value"
+msgid "The current position holds a “%s” and not a value"
 msgstr ""
-"La posicion actuala conten un element de tipe « %s » e non pas una valor"
+"La posicion actuala conten un element de tipe « %s » e non pas una valor"
 
-#: ../json-glib/json-reader.c:970
+#: json-glib/json-reader.c:968
 msgid "The current position does not hold a string type"
 msgstr "La posicion actuala conten pas una cadena de caractèrs"
index 971c2dc..a61fbb4 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -6,11 +6,10 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: json-glib master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=json-"
-"glib&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2015-08-18 13:12+0000\n"
-"PO-Revision-Date: 2015-06-19 19:17+0200\n"
-"Last-Translator: Daniel Șerbănescu <daniel [at] serbanescu [dot] dk>\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/json-glib/issues\n"
+"POT-Creation-Date: 2018-03-13 14:47+0000\n"
+"PO-Revision-Date: 2018-04-06 00:42+0300\n"
+"Last-Translator: Florentina Mușat <florentina.musat.28@gmail.com>\n"
 "Language-Team: Gnome Romanian Translation Team\n"
 "Language: ro\n"
 "MIME-Version: 1.0\n"
@@ -18,21 +17,21 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
 "20)) ? 1 : 2);;\n"
-"X-Generator: Virtaal 0.7.1\n"
+"X-Generator: Poedit 2.0.6\n"
 "X-Project-Style: gnome\n"
 
-#: ../json-glib/json-glib-format.c:50
+#: json-glib/json-glib-format.c:50
 msgid "Prettify output"
 msgstr "Înfrumusețează rezultatul"
 
-#: ../json-glib/json-glib-format.c:51
+#: json-glib/json-glib-format.c:51
 msgid "Indentation spaces"
 msgstr "Spații de indentare"
 
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:77 ../json-glib/json-glib-validate.c:63
+#: json-glib/json-glib-format.c:77 json-glib/json-glib-validate.c:63
 #, c-format
 msgid "%s: %s: error opening file: %s\n"
 msgstr "%s: %s: eroare la deschiderea fișierului: %s\n"
@@ -40,7 +39,7 @@ msgstr "%s: %s: eroare la deschiderea fișierului: %s\n"
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:89 ../json-glib/json-glib-validate.c:75
+#: json-glib/json-glib-format.c:89 json-glib/json-glib-validate.c:75
 #, c-format
 msgid "%s: %s: error parsing file: %s\n"
 msgstr "%s: %s: eroare la parsarea fișierului: %s\n"
@@ -48,7 +47,7 @@ msgstr "%s: %s: eroare la parsarea fișierului: %s\n"
 #. Translators: the first %s is the program name, the
 #. * second one is the URI of the file.
 #.
-#: ../json-glib/json-glib-format.c:108
+#: json-glib/json-glib-format.c:108
 #, c-format
 msgid "%s: %s: error writing to stdout"
 msgstr "%s: %s: eroare la scrierea în stdout"
@@ -56,22 +55,22 @@ msgstr "%s: %s: eroare la scrierea în stdout"
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:128 ../json-glib/json-glib-validate.c:87
+#: json-glib/json-glib-format.c:129 json-glib/json-glib-validate.c:87
 #, c-format
 msgid "%s: %s: error closing: %s\n"
 msgstr "%s: %s: eroare la închidere: %s\n"
 
-#: ../json-glib/json-glib-format.c:157 ../json-glib/json-glib-validate.c:115
+#: json-glib/json-glib-format.c:158 json-glib/json-glib-validate.c:115
 msgid "FILE"
 msgstr "FIȘIER"
 
 #. Translators: this message will appear after the usage string
 #. and before the list of options.
-#: ../json-glib/json-glib-format.c:160
+#: json-glib/json-glib-format.c:161
 msgid "Format JSON files."
 msgstr "Formatează fișiere JSON."
 
-#: ../json-glib/json-glib-format.c:161
+#: json-glib/json-glib-format.c:162
 msgid "json-glib-format formats JSON resources."
 msgstr "json-glib-format formatează resurse JSON."
 
@@ -79,187 +78,193 @@ msgstr "json-glib-format formatează resurse JSON."
 #. * means the user is calling json-glib-validate without any
 #. * argument.
 #.
-#: ../json-glib/json-glib-format.c:178 ../json-glib/json-glib-validate.c:136
+#: json-glib/json-glib-format.c:179 json-glib/json-glib-validate.c:136
 #, c-format
 msgid "Error parsing commandline options: %s\n"
 msgstr "Eroare la parsarea opțiunilor din linia de comandă: %s\n"
 
-#: ../json-glib/json-glib-format.c:180 ../json-glib/json-glib-format.c:194
-#: ../json-glib/json-glib-validate.c:138 ../json-glib/json-glib-validate.c:152
+#: json-glib/json-glib-format.c:181 json-glib/json-glib-format.c:195
+#: json-glib/json-glib-validate.c:138 json-glib/json-glib-validate.c:152
 #, c-format
-msgid "Try \"%s --help\" for more information."
+msgid "Try “%s --help” for more information."
 msgstr "Încercați „%s --help” pentru mai multe informații."
 
 #. Translators: the %s is the program name. This error message
 #. * means the user is calling json-glib-validate without any
 #. * argument.
 #.
-#: ../json-glib/json-glib-format.c:192 ../json-glib/json-glib-validate.c:150
+#: json-glib/json-glib-format.c:193 json-glib/json-glib-validate.c:150
 #, c-format
 msgid "%s: missing files"
 msgstr "%s: lipsesc fișiere"
 
 #. Translators: this message will appear after the usage string
 #. and before the list of options.
-#: ../json-glib/json-glib-validate.c:118
+#: json-glib/json-glib-validate.c:118
 msgid "Validate JSON files."
 msgstr "Validează fișiere JSON."
 
-#: ../json-glib/json-glib-validate.c:119
+#: json-glib/json-glib-validate.c:119
 msgid "json-glib-validate validates JSON data at the given URI."
 msgstr "json-glib-validate validează date JSON la URI-ul dat."
 
-#: ../json-glib/json-gobject.c:943
+#. translators: the %s is the name of the data structure
+#: json-glib/json-gobject.c:940
 #, c-format
-msgid "Expecting a JSON object, but the root node is of type `%s'"
-msgstr "Se așteaptă un obiect JSON, dar nodul rădăcină este de tip „%s”"
+msgid "Expecting a JSON object, but the root node is of type “%s”"
+msgstr "Se așteaptă un obiect JSON, dar nodul rădăcină este de tipul „%s”"
 
-#: ../json-glib/json-gvariant.c:523
+#. translators: the '%s' is the type name
+#: json-glib/json-gvariant.c:524
 #, c-format
-msgid "Unexpected type '%s' in JSON node"
+msgid "Unexpected type “%s” in JSON node"
 msgstr "Tip neașteptat „%s” în nodul JSON"
 
-#: ../json-glib/json-gvariant.c:593
+#: json-glib/json-gvariant.c:594
 msgid "Missing elements in JSON array to conform to a tuple"
 msgstr "Lipsesc elemente în matricea JSON pentru a fi în acord cu un tuplu"
 
-#: ../json-glib/json-gvariant.c:621
-msgid "Missing closing symbol ')' in the GVariant tuple type"
+#: json-glib/json-gvariant.c:622
+msgid "Missing closing symbol “)” in the GVariant tuple type"
 msgstr "Lipsește simbolul de închidere „)” în tipul de tuplu GVariant"
 
-#: ../json-glib/json-gvariant.c:629
+#: json-glib/json-gvariant.c:630
 msgid "Unexpected extra elements in JSON array"
 msgstr "Elemente adiționale neașteptate în matricea JSON"
 
-#: ../json-glib/json-gvariant.c:908
+#: json-glib/json-gvariant.c:909
 msgid "Invalid string value converting to GVariant"
 msgstr "Valoare de șir nevalidă în timpul convertirii la GVariant"
 
-#: ../json-glib/json-gvariant.c:964
+#: json-glib/json-gvariant.c:964
 msgid ""
 "A GVariant dictionary entry expects a JSON object with exactly one member"
 msgstr ""
 "O înregistrate de dicționar GVariant presupune un obiect JSON cu exact un "
 "membru"
 
-#: ../json-glib/json-gvariant.c:1248
+#: json-glib/json-gvariant.c:1242
 #, c-format
-msgid "GVariant class '%c' not supported"
-msgstr "Clasă GVariant „%c” nesuportată"
+msgid "GVariant class “%c” not supported"
+msgstr "Clasa GVariant „%c” nu este suportată"
 
-#: ../json-glib/json-gvariant.c:1296
+#: json-glib/json-gvariant.c:1290
 msgid "Invalid GVariant signature"
 msgstr "Semnătură GVariant nevalidă"
 
-#: ../json-glib/json-gvariant.c:1344
+#: json-glib/json-gvariant.c:1338
 msgid "JSON data is empty"
 msgstr "Datele JSON sunt goale"
 
-#: ../json-glib/json-parser.c:815
+#. translators: %s: is the file name, the first %d is the line
+#. * number, the second %d is the position on the line, and %s is
+#. * the error message
+#.
+#: json-glib/json-parser.c:909
 #, c-format
 msgid "%s:%d:%d: Parse error: %s"
 msgstr "%s:%d:%d: Eroare la parsare: %s"
 
-#: ../json-glib/json-parser.c:883
+#: json-glib/json-parser.c:992
 msgid "JSON data must be UTF-8 encoded"
 msgstr "Datele JSON trebuie să fie codate UTF-8"
 
-#: ../json-glib/json-path.c:388
+#: json-glib/json-path.c:389
 msgid "Only one root node is allowed in a JSONPath expression"
 msgstr "Doar un nod rădăcină este permis într-o expresie JSONPath"
 
-#: ../json-glib/json-path.c:397
+#. translators: the %c is the invalid character
+#: json-glib/json-path.c:398
 #, c-format
-msgid "Root node followed by invalid character '%c'"
-msgstr "Nod rădăcină urmat de caracterul nevalid „%c”"
+msgid "Root node followed by invalid character “%c”"
+msgstr "Nodul rădăcină urmat de caracterul nevalid „%c”"
 
-#: ../json-glib/json-path.c:437
+#: json-glib/json-path.c:438
 msgid "Missing member name or wildcard after . character"
 msgstr "Lipsește un nume de membru sau metacaracter după caracterul „.”"
 
-#: ../json-glib/json-path.c:511
+#: json-glib/json-path.c:512
 #, c-format
-msgid "Malformed slice expression '%*s'"
-msgstr "Expresie slice eronată „%*s”"
+msgid "Malformed slice expression “%*s”"
+msgstr "Expresie de slice eronată „%*s”"
 
-#: ../json-glib/json-path.c:555
+#: json-glib/json-path.c:556
 #, c-format
-msgid "Invalid set definition '%*s'"
+msgid "Invalid set definition “%*s”"
 msgstr "Definiție de set nevalidă „%*s”"
 
-#: ../json-glib/json-path.c:608
+#: json-glib/json-path.c:609
 #, c-format
-msgid "Invalid slice definition '%*s'"
-msgstr "Definiție slice nevalidă „%*s”"
+msgid "Invalid slice definition “%*s”"
+msgstr "Definiție de slice nevalidă „%*s”"
 
-#: ../json-glib/json-path.c:636
+#: json-glib/json-path.c:637
 #, c-format
-msgid "Invalid array index definition '%*s'"
-msgstr "Definiția indexului matricii nevalidă „%*s”"
+msgid "Invalid array index definition “%*s”"
+msgstr "Definiția indexului de matrice nevalidă „%*s”"
 
-#: ../json-glib/json-path.c:655
+#: json-glib/json-path.c:656
 #, c-format
-msgid "Invalid first character '%c'"
+msgid "Invalid first character “%c”"
 msgstr "Primul caracter nevalid „%c”"
 
-#: ../json-glib/json-reader.c:473
+#: json-glib/json-reader.c:474
 #, c-format
 msgid ""
-"The current node is of type '%s', but an array or an object was expected."
+"The current node is of type “%s”, but an array or an object was expected."
 msgstr ""
-"Nodul curent deste de tipul „%s”, dar o matrice sau un obiect a fost "
-"așteptat."
+"Nodul curent este de tipul „%s”, dar o matrice sau un obiect a fost așteptat."
 
-#: ../json-glib/json-reader.c:485
+#: json-glib/json-reader.c:486
 #, c-format
 msgid ""
-"The index '%d' is greater than the size of the array at the current position."
+"The index “%d” is greater than the size of the array at the current position."
 msgstr ""
-"Indexul „%d” este mai mare decât dimensiunea matricii la poziția curentă."
+"Indexul „%d” este mai mare decât dimensiunea matricei la poziția curentă."
 
-#: ../json-glib/json-reader.c:502
+#: json-glib/json-reader.c:503
 #, c-format
 msgid ""
-"The index '%d' is greater than the size of the object at the current "
+"The index “%d” is greater than the size of the object at the current "
 "position."
 msgstr ""
 "Indexul „%d” este mai mare decât dimensiunea obiectului la poziția curentă."
 
-#: ../json-glib/json-reader.c:586 ../json-glib/json-reader.c:750
-#: ../json-glib/json-reader.c:801 ../json-glib/json-reader.c:839
-#: ../json-glib/json-reader.c:877 ../json-glib/json-reader.c:915
-#: ../json-glib/json-reader.c:953 ../json-glib/json-reader.c:998
-#: ../json-glib/json-reader.c:1034 ../json-glib/json-reader.c:1060
+#: json-glib/json-reader.c:585 json-glib/json-reader.c:751
+#: json-glib/json-reader.c:799 json-glib/json-reader.c:837
+#: json-glib/json-reader.c:875 json-glib/json-reader.c:913
+#: json-glib/json-reader.c:951 json-glib/json-reader.c:996
+#: json-glib/json-reader.c:1032 json-glib/json-reader.c:1058
 msgid "No node available at the current position"
 msgstr "Niciun nod disponibil la poziția curentă"
 
-#: ../json-glib/json-reader.c:593
+#: json-glib/json-reader.c:592
 #, c-format
-msgid "The current position holds a '%s' and not an array"
-msgstr "Poziția curentă ține un „%s” ci nu o matrice"
+msgid "The current position holds a “%s” and not an array"
+msgstr "Poziția curentă ține un „%s” și nu o matrice"
 
-#: ../json-glib/json-reader.c:669
+#: json-glib/json-reader.c:668
 #, c-format
-msgid "The current node is of type '%s', but an object was expected."
-msgstr "Nodul curent deste de tipul „%s”, dar un obiect a fost așteptat."
+msgid "The current node is of type “%s”, but an object was expected."
+msgstr "Nodul curent este de tipul „%s”, dar s-a așteptat un obiect."
 
-#: ../json-glib/json-reader.c:676
+#: json-glib/json-reader.c:675
 #, c-format
-msgid "The member '%s' is not defined in the object at the current position."
+msgid "The member “%s” is not defined in the object at the current position."
 msgstr "Membrul „%s” nu este definit în obiectul de la poziția curentă."
 
-#: ../json-glib/json-reader.c:757 ../json-glib/json-reader.c:808
+#: json-glib/json-reader.c:758 json-glib/json-reader.c:806
 #, c-format
-msgid "The current position holds a '%s' and not an object"
-msgstr "Poziția curentă ține un „%s” ci nu un obiect"
+msgid "The current position holds a “%s” and not an object"
+msgstr "Poziția curentă ține un „%s” și nu un obiect"
 
-#: ../json-glib/json-reader.c:848 ../json-glib/json-reader.c:886
-#: ../json-glib/json-reader.c:924 ../json-glib/json-reader.c:962
-#: ../json-glib/json-reader.c:1007
+#: json-glib/json-reader.c:846 json-glib/json-reader.c:884
+#: json-glib/json-reader.c:922 json-glib/json-reader.c:960
+#: json-glib/json-reader.c:1005
 #, c-format
-msgid "The current position holds a '%s' and not a value"
-msgstr "Poziția curentă ține un „%s” ci nu o valoare"
+msgid "The current position holds a “%s” and not a value"
+msgstr "Poziția curentă ține un „%s” și nu o valoare"
 
-#: ../json-glib/json-reader.c:970
+#: json-glib/json-reader.c:968
 msgid "The current position does not hold a string type"
 msgstr "Poziția curentă nu ține un șir"
index cc11ce1..08a6b8e 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -2,37 +2,38 @@
 # Copyright (C) 2011 json-glib's COPYRIGHT HOLDER
 # This file is distributed under the same license as the json-glib package.
 #
-# Matej Urbančič <mateju@svn.gnome.org>, 2011-2014.
+# Matej Urbančič <mateju@svn.gnome.org>, 2011–2017.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: json-glib master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=json-"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=json-"
 "glib&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-03-31 09:49+0000\n"
-"PO-Revision-Date: 2014-04-03 20:37+0100\n"
+"POT-Creation-Date: 2017-06-27 22:31+0000\n"
+"PO-Revision-Date: 2017-09-19 23:20+0200\n"
 "Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
 "Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
 "Language: sl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
+"%100==4 ? 3 : 0);\n"
 "X-Poedit-SourceCharset: utf-8\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 2.0.1\n"
 
-#: ../json-glib/json-glib-format.c:50
+#: json-glib/json-glib-format.c:50
 msgid "Prettify output"
 msgstr "Olepšaj odvod"
 
-#: ../json-glib/json-glib-format.c:51
+#: json-glib/json-glib-format.c:51
 msgid "Indentation spaces"
 msgstr "Presledki zamika"
 
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:77 ../json-glib/json-glib-validate.c:63
+#: json-glib/json-glib-format.c:77 json-glib/json-glib-validate.c:63
 #, c-format
 msgid "%s: %s: error opening file: %s\n"
 msgstr "%s: %s: napaka odpiranja datoteke: %s\n"
@@ -40,7 +41,7 @@ msgstr "%s: %s: napaka odpiranja datoteke: %s\n"
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:89 ../json-glib/json-glib-validate.c:75
+#: json-glib/json-glib-format.c:89 json-glib/json-glib-validate.c:75
 #, c-format
 msgid "%s: %s: error parsing file: %s\n"
 msgstr "%s: %s: napaka razčlenjevanja datoteke: %s\n"
@@ -48,7 +49,7 @@ msgstr "%s: %s: napaka razčlenjevanja datoteke: %s\n"
 #. Translators: the first %s is the program name, the
 #. * second one is the URI of the file.
 #.
-#: ../json-glib/json-glib-format.c:108
+#: json-glib/json-glib-format.c:108
 #, c-format
 msgid "%s: %s: error writing to stdout"
 msgstr "%s: %s: napaka pisanja na standardni odvod"
@@ -56,22 +57,22 @@ msgstr "%s: %s: napaka pisanja na standardni odvod"
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:128 ../json-glib/json-glib-validate.c:87
+#: json-glib/json-glib-format.c:129 json-glib/json-glib-validate.c:87
 #, c-format
 msgid "%s: %s: error closing: %s\n"
 msgstr "%s: %s: napaka zapiranja: %s\n"
 
-#: ../json-glib/json-glib-format.c:157 ../json-glib/json-glib-validate.c:115
+#: json-glib/json-glib-format.c:158 json-glib/json-glib-validate.c:115
 msgid "FILE"
 msgstr "DATOTEKA"
 
 #. Translators: this message will appear after the usage string
 #. and before the list of options.
-#: ../json-glib/json-glib-format.c:160
+#: json-glib/json-glib-format.c:161
 msgid "Format JSON files."
 msgstr "Oblikuj datoteke JSON."
 
-#: ../json-glib/json-glib-format.c:161
+#: json-glib/json-glib-format.c:162
 msgid "json-glib-format formats JSON resources."
 msgstr "Možnost json-glib-format oblikuje zapis virov JSON."
 
@@ -79,182 +80,189 @@ msgstr "Možnost json-glib-format oblikuje zapis virov JSON."
 #. * means the user is calling json-glib-validate without any
 #. * argument.
 #.
-#: ../json-glib/json-glib-format.c:178 ../json-glib/json-glib-validate.c:136
+#: json-glib/json-glib-format.c:179 json-glib/json-glib-validate.c:136
 #, c-format
 msgid "Error parsing commandline options: %s\n"
 msgstr "Napaka med razčlenjevanjem možnosti ukazne vrstice: %s\n"
 
-#: ../json-glib/json-glib-format.c:180 ../json-glib/json-glib-format.c:194
-#: ../json-glib/json-glib-validate.c:138 ../json-glib/json-glib-validate.c:152
+#: json-glib/json-glib-format.c:181 json-glib/json-glib-format.c:195
+#: json-glib/json-glib-validate.c:138 json-glib/json-glib-validate.c:152
 #, c-format
-msgid "Try \"%s --help\" for more information."
-msgstr "Poskusite \"%s --help\" za več podrobnosti."
+msgid "Try “%s --help” for more information."
+msgstr "Poskusite zagnati ukaz »%s --help« za več podrobnosti."
 
 #. Translators: the %s is the program name. This error message
 #. * means the user is calling json-glib-validate without any
 #. * argument.
 #.
-#: ../json-glib/json-glib-format.c:192 ../json-glib/json-glib-validate.c:150
+#: json-glib/json-glib-format.c:193 json-glib/json-glib-validate.c:150
 #, c-format
 msgid "%s: missing files"
 msgstr "%s: manjkajoče datoteke"
 
 #. Translators: this message will appear after the usage string
 #. and before the list of options.
-#: ../json-glib/json-glib-validate.c:118
+#: json-glib/json-glib-validate.c:118
 msgid "Validate JSON files."
 msgstr "Overi datoteke JSON."
 
-#: ../json-glib/json-glib-validate.c:119
+#: json-glib/json-glib-validate.c:119
 msgid "json-glib-validate validates JSON data at the given URI."
 msgstr "Možnost json-glib-validate overi podatke JSON za podani naslov URI."
 
-#: ../json-glib/json-gobject.c:915
+#. translators: the %s is the name of the data structure
+#: json-glib/json-gobject.c:943
 #, c-format
-msgid "Expecting a JSON object, but the root node is of type `%s'"
-msgstr "Pričakovan je predmet JSON, vendar pa je korensko vozlišče vrste `%s'"
+msgid "Expecting a JSON object, but the root node is of type “%s”"
+msgstr "Pričakovan je predmet JSON, vendar pa je korensko vozlišče vrste »%s«"
 
-#: ../json-glib/json-gvariant.c:523
+#. translators: the '%s' is the type name
+#: json-glib/json-gvariant.c:523
 #, c-format
-msgid "Unexpected type '%s' in JSON node"
-msgstr "Nepričakovana vrsta '%s' v vozlišču JSON"
+msgid "Unexpected type “%s” in JSON node"
+msgstr "Nepričakovana vrsta »%s« v vozlišču JSON"
 
-#: ../json-glib/json-gvariant.c:593
+#: json-glib/json-gvariant.c:593
 msgid "Missing elements in JSON array to conform to a tuple"
 msgstr "Manjkajo predmeti v polju JSON za skladnost z n-terico."
 
-#: ../json-glib/json-gvariant.c:621
-msgid "Missing closing symbol ')' in the GVariant tuple type"
-msgstr "Manjka zaključni znak ')' v vrsti n-terice GVariant"
+#: json-glib/json-gvariant.c:621
+msgid "Missing closing symbol “)” in the GVariant tuple type"
+msgstr "Manjka zaključni znak » ) « v vrsti n-terice GVariant"
 
-#: ../json-glib/json-gvariant.c:629
+#: json-glib/json-gvariant.c:629
 msgid "Unexpected extra elements in JSON array"
 msgstr "Nepričakovan dodatni predmet polja JSON"
 
-#: ../json-glib/json-gvariant.c:908
+#: json-glib/json-gvariant.c:908
 msgid "Invalid string value converting to GVariant"
 msgstr "Neveljavna vrednost niza med pretvarjanjem v GVariant"
 
-#: ../json-glib/json-gvariant.c:964
+#: json-glib/json-gvariant.c:964
 msgid ""
 "A GVariant dictionary entry expects a JSON object with exactly one member"
 msgstr "Slovar GVariant pričakuje predmet JSON z natanko enim določilom"
 
-#: ../json-glib/json-gvariant.c:1244
+#: json-glib/json-gvariant.c:1248
 #, c-format
-msgid "GVariant class '%c' not supported"
-msgstr "Razred GVariant '%c' ni podprt."
+msgid "GVariant class “%c” not supported"
+msgstr "Razred GVariant »%c« ni podprt."
 
-#: ../json-glib/json-gvariant.c:1292
+#: json-glib/json-gvariant.c:1296
 msgid "Invalid GVariant signature"
 msgstr "Neveljaven podpis GVariant"
 
-#: ../json-glib/json-gvariant.c:1340
+#: json-glib/json-gvariant.c:1344
 msgid "JSON data is empty"
 msgstr "Podatki JSON so prazni"
 
-#: ../json-glib/json-parser.c:815
+#. translators: %s: is the file name, the first %d is the line
+#. * number, the second %d is the position on the line, and %s is
+#. * the error message
+#.
+#: json-glib/json-parser.c:907
 #, c-format
 msgid "%s:%d:%d: Parse error: %s"
 msgstr "%s:%d:%d: napaka razčlenjevanje: %s"
 
-#: ../json-glib/json-parser.c:883
+#: json-glib/json-parser.c:990
 msgid "JSON data must be UTF-8 encoded"
 msgstr "Podatki JSON morajo biti kodirani v naboru UTF-8"
 
-#: ../json-glib/json-path.c:388
+#: json-glib/json-path.c:389
 msgid "Only one root node is allowed in a JSONPath expression"
 msgstr "Le eno korensko vozlišče je dovoljeno v izrazu JSONPath"
 
-#: ../json-glib/json-path.c:397
+#. translators: the %c is the invalid character
+#: json-glib/json-path.c:398
 #, c-format
-msgid "Root node followed by invalid character '%c'"
-msgstr "Korensko vozlišče se konča z neveljavnim znakom '%c'"
+msgid "Root node followed by invalid character “%c”"
+msgstr "Korensko vozlišče se konča z neveljavnim znakom »%c«"
 
-#: ../json-glib/json-path.c:437
+#: json-glib/json-path.c:438
 msgid "Missing member name or wildcard after . character"
 msgstr "Manjka ime člana ali pa nadomestni znak po znaku . (pika)"
 
-#: ../json-glib/json-path.c:511
+#: json-glib/json-path.c:512
 #, c-format
-msgid "Malformed slice expression '%*s'"
-msgstr "Napačno oblikovan izraz rezine '%*s'"
+msgid "Malformed slice expression “%*s”"
+msgstr "Napačno oblikovan izraz rezine »%*s«"
 
-#: ../json-glib/json-path.c:555
+#: json-glib/json-path.c:556
 #, c-format
-msgid "Invalid set definition '%*s'"
-msgstr "Neveljavno določilo '%*s'"
+msgid "Invalid set definition “%*s”"
+msgstr "Neveljavno določilo »%*s«"
 
-#: ../json-glib/json-path.c:608
+#: json-glib/json-path.c:609
 #, c-format
-msgid "Invalid slice definition '%*s'"
-msgstr "Neveljavno določilo rezine '%*s'"
+msgid "Invalid slice definition “%*s”"
+msgstr "Neveljavno določilo rezine »%*s«"
 
-#: ../json-glib/json-path.c:636
+#: json-glib/json-path.c:637
 #, c-format
-msgid "Invalid array index definition '%*s'"
-msgstr "Neveljavno določilo kazala polja '%*s'"
+msgid "Invalid array index definition “%*s”"
+msgstr "Neveljavno določilo kazala polja »%*s«"
 
-#: ../json-glib/json-path.c:655
+#: json-glib/json-path.c:656
 #, c-format
-msgid "Invalid first character '%c'"
-msgstr "Neveljaven prvi znak '%c'"
+msgid "Invalid first character “%c”"
+msgstr "Neveljaven prvi znak »%c«"
 
-#: ../json-glib/json-reader.c:456
+#: json-glib/json-reader.c:474
 #, c-format
 msgid ""
-"The current node is of type '%s', but an array or an object was expected."
-msgstr "Trenutno vozlišče je vrste '%s', pričakovano pa je polje ali predmet."
+"The current node is of type “%s”, but an array or an object was expected."
+msgstr "Trenutno vozlišče je vrste »%s«, pričakovano pa je polje ali predmet."
 
-#: ../json-glib/json-reader.c:468
+#: json-glib/json-reader.c:486
 #, c-format
 msgid ""
-"The index '%d' is greater than the size of the array at the current position."
-msgstr "Kazalo '%d' je večje od velikosti polja na trenutnem položaju."
+"The index “%d” is greater than the size of the array at the current position."
+msgstr "Kazalo »%d« je večje od velikosti polja na trenutnem položaju."
 
-#: ../json-glib/json-reader.c:485
+#: json-glib/json-reader.c:503
 #, c-format
 msgid ""
-"The index '%d' is greater than the size of the object at the current "
+"The index “%d” is greater than the size of the object at the current "
 "position."
-msgstr "Kazalo '%d' je večje od velikosti predmeta na trenutnem položaju."
+msgstr "Kazalo »%d« je večje od velikosti predmeta na trenutnem položaju."
 
-#: ../json-glib/json-reader.c:570 ../json-glib/json-reader.c:724
-#: ../json-glib/json-reader.c:775 ../json-glib/json-reader.c:813
-#: ../json-glib/json-reader.c:851 ../json-glib/json-reader.c:889
-#: ../json-glib/json-reader.c:927 ../json-glib/json-reader.c:972
-#: ../json-glib/json-reader.c:1008 ../json-glib/json-reader.c:1034
+#: json-glib/json-reader.c:587 json-glib/json-reader.c:751
+#: json-glib/json-reader.c:802 json-glib/json-reader.c:840
+#: json-glib/json-reader.c:878 json-glib/json-reader.c:916
+#: json-glib/json-reader.c:954 json-glib/json-reader.c:999
+#: json-glib/json-reader.c:1035 json-glib/json-reader.c:1061
 msgid "No node available at the current position"
 msgstr "Na trenutnem položaju ni razpoložljivega vozlišča."
 
-#: ../json-glib/json-reader.c:577
+#: json-glib/json-reader.c:594
 #, c-format
-msgid "The current position holds a '%s' and not an array"
-msgstr "Trenutni položaj vsebuje '%s' in ne polja"
+msgid "The current position holds a “%s” and not an array"
+msgstr "Trenutni položaj vsebuje »%s« in ne polja"
 
-#: ../json-glib/json-reader.c:640
+#: json-glib/json-reader.c:670
 #, c-format
-msgid "The current node is of type '%s', but an object was expected."
-msgstr "Trenutno vozlišče je vrste '%s', pričakovan pa je predmet."
+msgid "The current node is of type “%s”, but an object was expected."
+msgstr "Trenutno vozlišče je vrste »%s«, pričakovan pa je predmet."
 
-#: ../json-glib/json-reader.c:647
+#: json-glib/json-reader.c:677
 #, c-format
-msgid "The member '%s' is not defined in the object at the current position."
-msgstr "Določilo '%s' ni določan v predmetu na trenutnem položaju."
+msgid "The member “%s” is not defined in the object at the current position."
+msgstr "Določilo »%s« ni določan v predmetu na trenutnem položaju."
 
-#: ../json-glib/json-reader.c:731 ../json-glib/json-reader.c:782
+#: json-glib/json-reader.c:758 json-glib/json-reader.c:809
 #, c-format
-msgid "The current position holds a '%s' and not an object"
-msgstr "Trenutni položaj vsebuje '%s' in ne predmeta"
+msgid "The current position holds a “%s” and not an object"
+msgstr "Trenutni položaj vsebuje »%s« in ne predmeta"
 
-#: ../json-glib/json-reader.c:822 ../json-glib/json-reader.c:860
-#: ../json-glib/json-reader.c:898 ../json-glib/json-reader.c:936
-#: ../json-glib/json-reader.c:981
+#: json-glib/json-reader.c:849 json-glib/json-reader.c:887
+#: json-glib/json-reader.c:925 json-glib/json-reader.c:963
+#: json-glib/json-reader.c:1008
 #, c-format
-msgid "The current position holds a '%s' and not a value"
-msgstr "Trenutni položaj vsebuje '%s' in ne vrednosti"
+msgid "The current position holds a “%s” and not a value"
+msgstr "Trenutni položaj vsebuje »%s« in ne vrednosti"
 
-#: ../json-glib/json-reader.c:944
+#: json-glib/json-reader.c:971
 msgid "The current position does not hold a string type"
 msgstr "Trenutni položaj ne vsebuje niza"
 
index a0a598d..f138a25 100644 (file)
@@ -5,35 +5,35 @@
 # Cheng Lu <chenglu1990@gmail.com>, 2012.
 # Wylmer Wang <wantinghard@gmail.com>, 2012.
 # Sphinx Jiang <yishanj13@gmail.com>, 2014.
-
+# Mingcong Bai <jeffbai@aosc.xyz>, 2017.
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: json-glib master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=json-"
-"glib&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-02-20 10:20+0000\n"
-"PO-Revision-Date: 2014-02-22 09:27+0800\n"
-"Last-Translator: Sphinx Jiang <yishanj13@gmail.com>\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/json-glib/issues\n"
+"POT-Creation-Date: 2017-10-18 15:10+0000\n"
+"PO-Revision-Date: 2017-06-10 14:29+0800\n"
+"Last-Translator: Mingcong Bai <jeffbai@aosc.xyz>\n"
 "Language-Team: Chinese Simplified <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Poedit 2.0.2\n"
 
-#: ../json-glib/json-glib-format.c:50
+#: json-glib/json-glib-format.c:50
 msgid "Prettify output"
 msgstr "美化输出"
 
-#: ../json-glib/json-glib-format.c:51
+#: json-glib/json-glib-format.c:51
 msgid "Indentation spaces"
 msgstr "缩进空格"
 
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:77 ../json-glib/json-glib-validate.c:63
+#: json-glib/json-glib-format.c:77 json-glib/json-glib-validate.c:63
 #, c-format
 msgid "%s: %s: error opening file: %s\n"
 msgstr "%s: %s:打开文件出错:%s\n"
@@ -41,7 +41,7 @@ msgstr "%s: %s:打开文件出错:%s\n"
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:89 ../json-glib/json-glib-validate.c:75
+#: json-glib/json-glib-format.c:89 json-glib/json-glib-validate.c:75
 #, c-format
 msgid "%s: %s: error parsing file: %s\n"
 msgstr "%s: %s:解析文件出错: %s\n"
@@ -49,7 +49,7 @@ msgstr "%s: %s:解析文件出错: %s\n"
 #. Translators: the first %s is the program name, the
 #. * second one is the URI of the file.
 #.
-#: ../json-glib/json-glib-format.c:108
+#: json-glib/json-glib-format.c:108
 #, c-format
 msgid "%s: %s: error writing to stdout"
 msgstr "%s: %s:写到标准输出出错"
@@ -57,22 +57,22 @@ msgstr "%s: %s:写到标准输出出错"
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:128 ../json-glib/json-glib-validate.c:87
+#: json-glib/json-glib-format.c:129 json-glib/json-glib-validate.c:87
 #, c-format
 msgid "%s: %s: error closing: %s\n"
 msgstr "%s: %s:关闭出错: %s\n"
 
-#: ../json-glib/json-glib-format.c:157 ../json-glib/json-glib-validate.c:115
+#: json-glib/json-glib-format.c:158 json-glib/json-glib-validate.c:115
 msgid "FILE"
 msgstr "文件"
 
 #. Translators: this message will appear after the usage string
 #. and before the list of options.
-#: ../json-glib/json-glib-format.c:160
+#: json-glib/json-glib-format.c:161
 msgid "Format JSON files."
 msgstr "格式化 JSON 文件。"
 
-#: ../json-glib/json-glib-format.c:161
+#: json-glib/json-glib-format.c:162
 msgid "json-glib-format formats JSON resources."
 msgstr "json-glib-format 可以格式化 JSON 资源。"
 
@@ -80,182 +80,189 @@ msgstr "json-glib-format 可以格式化 JSON 资源。"
 #. * means the user is calling json-glib-validate without any
 #. * argument.
 #.
-#: ../json-glib/json-glib-format.c:178 ../json-glib/json-glib-validate.c:136
+#: json-glib/json-glib-format.c:179 json-glib/json-glib-validate.c:136
 #, c-format
 msgid "Error parsing commandline options: %s\n"
 msgstr "解析命令行选项出错:%s\n"
 
-#: ../json-glib/json-glib-format.c:180 ../json-glib/json-glib-format.c:194
-#: ../json-glib/json-glib-validate.c:138 ../json-glib/json-glib-validate.c:152
+#: json-glib/json-glib-format.c:181 json-glib/json-glib-format.c:195
+#: json-glib/json-glib-validate.c:138 json-glib/json-glib-validate.c:152
 #, c-format
-msgid "Try \"%s --help\" for more information."
-msgstr "请运行“%s --help”了解更多信息。"
+msgid "Try “%s --help” for more information."
+msgstr "请è¿\90è¡\8câ\80\9c%s --helpâ\80\9d以äº\86解æ\9b´å¤\9aä¿¡æ\81¯ã\80\82"
 
 #. Translators: the %s is the program name. This error message
 #. * means the user is calling json-glib-validate without any
 #. * argument.
 #.
-#: ../json-glib/json-glib-format.c:192 ../json-glib/json-glib-validate.c:150
+#: json-glib/json-glib-format.c:193 json-glib/json-glib-validate.c:150
 #, c-format
 msgid "%s: missing files"
 msgstr "%s:缺少文件"
 
 #. Translators: this message will appear after the usage string
 #. and before the list of options.
-#: ../json-glib/json-glib-validate.c:118
+#: json-glib/json-glib-validate.c:118
 msgid "Validate JSON files."
 msgstr "验证 JSON 文件"
 
-#: ../json-glib/json-glib-validate.c:119
+#: json-glib/json-glib-validate.c:119
 msgid "json-glib-validate validates JSON data at the given URI."
 msgstr "json-glib-validate 验证给定 URI 的 JSON 数据。"
 
-#: ../json-glib/json-gobject.c:917
+#. translators: the %s is the name of the data structure
+#: json-glib/json-gobject.c:940
 #, c-format
-msgid "Expecting a JSON object, but the root node is of type `%s'"
+msgid "Expecting a JSON object, but the root node is of type “%s”"
 msgstr "期望一个 JSON 对象,但根节点类型是“%s”"
 
-#: ../json-glib/json-gvariant.c:545
+#. translators: the '%s' is the type name
+#: json-glib/json-gvariant.c:524
 #, c-format
-msgid "Unexpected type '%s' in JSON node"
+msgid "Unexpected type “%s” in JSON node"
 msgstr "JSON 节点中存在异常的类型“%s”"
 
-#: ../json-glib/json-gvariant.c:615
+#: json-glib/json-gvariant.c:594
 msgid "Missing elements in JSON array to conform to a tuple"
 msgstr "在 JSON 数组中缺少用来构成 tuple(元组) 的元素"
 
-#: ../json-glib/json-gvariant.c:643
-msgid "Missing closing symbol ')' in the GVariant tuple type"
+#: json-glib/json-gvariant.c:622
+msgid "Missing closing symbol “)” in the GVariant tuple type"
 msgstr "在 GVariant 元组类型中缺少闭合符号“)”"
 
-#: ../json-glib/json-gvariant.c:651
+#: json-glib/json-gvariant.c:630
 msgid "Unexpected extra elements in JSON array"
 msgstr "在 JSON 数组中存在意外的其他元素"
 
-#: ../json-glib/json-gvariant.c:930
+#: json-glib/json-gvariant.c:909
 msgid "Invalid string value converting to GVariant"
 msgstr "字符串值到 GVariant 的转换无效"
 
-#: ../json-glib/json-gvariant.c:986
+#: json-glib/json-gvariant.c:964
 msgid ""
 "A GVariant dictionary entry expects a JSON object with exactly one member"
 msgstr "GVariant 字典记录期望仅有一个成员的 JSON 对象"
 
-#: ../json-glib/json-gvariant.c:1266
+#: json-glib/json-gvariant.c:1242
 #, c-format
-msgid "GVariant class '%c' not supported"
+msgid "GVariant class “%c” not supported"
 msgstr "不支持的 GVariant 类“%c”"
 
-#: ../json-glib/json-gvariant.c:1314
+#: json-glib/json-gvariant.c:1290
 msgid "Invalid GVariant signature"
 msgstr "无效的 GVariant 签名"
 
-#: ../json-glib/json-gvariant.c:1362
+#: json-glib/json-gvariant.c:1338
 msgid "JSON data is empty"
 msgstr "JSON 数据为空"
 
-#: ../json-glib/json-parser.c:817
+#. translators: %s: is the file name, the first %d is the line
+#. * number, the second %d is the position on the line, and %s is
+#. * the error message
+#.
+#: json-glib/json-parser.c:907
 #, c-format
 msgid "%s:%d:%d: Parse error: %s"
 msgstr "%s:%d:%d:解析错误:%s"
 
-#: ../json-glib/json-parser.c:885
+#: json-glib/json-parser.c:990
 msgid "JSON data must be UTF-8 encoded"
 msgstr "JSON 数据必须是 UTF-8 编码"
 
-#: ../json-glib/json-path.c:438
+#: json-glib/json-path.c:389
 msgid "Only one root node is allowed in a JSONPath expression"
 msgstr "JSONPath 表达式中只允许有一个根节点"
 
-#: ../json-glib/json-path.c:447
+#. translators: the %c is the invalid character
+#: json-glib/json-path.c:398
 #, c-format
-msgid "Root node followed by invalid character '%c'"
+msgid "Root node followed by invalid character “%c”"
 msgstr "根节点之后跟随了无效的字符“%c”"
 
-#: ../json-glib/json-path.c:487
+#: json-glib/json-path.c:438
 msgid "Missing member name or wildcard after . character"
 msgstr "在字符 . 后面缺少成员名或通配符"
 
-#: ../json-glib/json-path.c:561
+#: json-glib/json-path.c:512
 #, c-format
-msgid "Malformed slice expression '%*s'"
+msgid "Malformed slice expression “%*s”"
 msgstr "有错误的 slice 表达式“%*s”"
 
-#: ../json-glib/json-path.c:605
+#: json-glib/json-path.c:556
 #, c-format
-msgid "Invalid set definition '%*s'"
+msgid "Invalid set definition “%*s”"
 msgstr "无效的 set 定义“%*s”"
 
-#: ../json-glib/json-path.c:658
+#: json-glib/json-path.c:609
 #, c-format
-msgid "Invalid slice definition '%*s'"
+msgid "Invalid slice definition “%*s”"
 msgstr "无效的 slice 定义“%*s”"
 
-#: ../json-glib/json-path.c:686
+#: json-glib/json-path.c:637
 #, c-format
-msgid "Invalid array index definition '%*s'"
+msgid "Invalid array index definition “%*s”"
 msgstr "无效的数组索引定义“%*s”"
 
-#: ../json-glib/json-path.c:705
+#: json-glib/json-path.c:656
 #, c-format
-msgid "Invalid first character '%c'"
+msgid "Invalid first character “%c”"
 msgstr "无效的首字符“%c”"
 
-#: ../json-glib/json-reader.c:463
+#: json-glib/json-reader.c:474
 #, c-format
 msgid ""
-"The current node is of type '%s', but an array or an object was expected."
+"The current node is of type “%s”, but an array or an object was expected."
 msgstr "当前节点的类型是“%s”,应为数组或对象。"
 
-#: ../json-glib/json-reader.c:475
+#: json-glib/json-reader.c:486
 #, c-format
 msgid ""
-"The index '%d' is greater than the size of the array at the current position."
+"The index “%d” is greater than the size of the array at the current position."
 msgstr "索引“%d”大于当前位置数组的大小。"
 
-#: ../json-glib/json-reader.c:492
+#: json-glib/json-reader.c:503
 #, c-format
 msgid ""
-"The index '%d' is greater than the size of the object at the current "
+"The index “%d” is greater than the size of the object at the current "
 "position."
 msgstr "索引“%d”大于当前位置对象的大小。"
 
-#: ../json-glib/json-reader.c:577 ../json-glib/json-reader.c:731
-#: ../json-glib/json-reader.c:782 ../json-glib/json-reader.c:820
-#: ../json-glib/json-reader.c:858 ../json-glib/json-reader.c:896
-#: ../json-glib/json-reader.c:934 ../json-glib/json-reader.c:979
-#: ../json-glib/json-reader.c:1015 ../json-glib/json-reader.c:1041
+#: json-glib/json-reader.c:585 json-glib/json-reader.c:751
+#: json-glib/json-reader.c:799 json-glib/json-reader.c:837
+#: json-glib/json-reader.c:875 json-glib/json-reader.c:913
+#: json-glib/json-reader.c:951 json-glib/json-reader.c:996
+#: json-glib/json-reader.c:1032 json-glib/json-reader.c:1058
 msgid "No node available at the current position"
 msgstr "当前位置无节点可用"
 
-#: ../json-glib/json-reader.c:584
+#: json-glib/json-reader.c:592
 #, c-format
-msgid "The current position holds a '%s' and not an array"
+msgid "The current position holds a “%s” and not an array"
 msgstr "当前位置是一个“%s”,而不是一个数组"
 
-#: ../json-glib/json-reader.c:647
+#: json-glib/json-reader.c:668
 #, c-format
-msgid "The current node is of type '%s', but an object was expected."
+msgid "The current node is of type “%s”, but an object was expected."
 msgstr "当前节点的类型是“%s”,但应为对象。"
 
-#: ../json-glib/json-reader.c:654
+#: json-glib/json-reader.c:675
 #, c-format
-msgid "The member '%s' is not defined in the object at the current position."
+msgid "The member “%s” is not defined in the object at the current position."
 msgstr "成员“%s”没有在当前位置的对象中定义。"
 
-#: ../json-glib/json-reader.c:738 ../json-glib/json-reader.c:789
+#: json-glib/json-reader.c:758 json-glib/json-reader.c:806
 #, c-format
-msgid "The current position holds a '%s' and not an object"
+msgid "The current position holds a “%s” and not an object"
 msgstr "当前位置是一个“%s”,而不是一个对象"
 
-#: ../json-glib/json-reader.c:829 ../json-glib/json-reader.c:867
-#: ../json-glib/json-reader.c:905 ../json-glib/json-reader.c:943
-#: ../json-glib/json-reader.c:988
+#: json-glib/json-reader.c:846 json-glib/json-reader.c:884
+#: json-glib/json-reader.c:922 json-glib/json-reader.c:960
+#: json-glib/json-reader.c:1005
 #, c-format
-msgid "The current position holds a '%s' and not a value"
+msgid "The current position holds a “%s” and not a value"
 msgstr "当前位置是一个“%s”,不是一个值"
 
-#: ../json-glib/json-reader.c:951
+#: json-glib/json-reader.c:968
 msgid "The current position does not hold a string type"
 msgstr "当前位置不是一个字符串类型"
 
index 860167f..055d988 100644 (file)
@@ -6,30 +6,29 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: json-glib master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=json-"
-"glib&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2013-12-19 14:30+0000\n"
-"PO-Revision-Date: 2014-02-01 19:05+0800\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/json-glib/issues\n"
+"POT-Creation-Date: 2018-02-21 01:40+0000\n"
+"PO-Revision-Date: 2018-02-28 20:13+0800\n"
 "Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
 "Language-Team: Chinese (Taiwan) <chinese-l10n@googlegroups.com>\n"
 "Language: zh_TW\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.6.3\n"
+"X-Generator: Poedit 2.0.6\n"
 
-#: ../json-glib/json-glib-format.c:41
+#: json-glib/json-glib-format.c:50
 msgid "Prettify output"
 msgstr "Prettify 輸出"
 
-#: ../json-glib/json-glib-format.c:42
+#: json-glib/json-glib-format.c:51
 msgid "Indentation spaces"
 msgstr "縮排空間"
 
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:68 ../json-glib/json-glib-validate.c:61
+#: json-glib/json-glib-format.c:77 json-glib/json-glib-validate.c:63
 #, c-format
 msgid "%s: %s: error opening file: %s\n"
 msgstr "%s:%s:開啟檔案時發生錯誤:%s\n"
@@ -37,7 +36,7 @@ msgstr "%s:%s:開啟檔案時發生錯誤:%s\n"
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:80 ../json-glib/json-glib-validate.c:73
+#: json-glib/json-glib-format.c:89 json-glib/json-glib-validate.c:75
 #, c-format
 msgid "%s: %s: error parsing file: %s\n"
 msgstr "%s:%s:分析檔案時發生錯誤:%s\n"
@@ -45,7 +44,7 @@ msgstr "%s:%s:分析檔案時發生錯誤:%s\n"
 #. Translators: the first %s is the program name, the
 #. * second one is the URI of the file.
 #.
-#: ../json-glib/json-glib-format.c:99
+#: json-glib/json-glib-format.c:108
 #, c-format
 msgid "%s: %s: error writing to stdout"
 msgstr "%s:%s:寫入標準輸出時發生錯誤"
@@ -53,22 +52,22 @@ msgstr "%s:%s:寫入標準輸出時發生錯誤"
 #. Translators: the first %s is the program name, the second one
 #. * is the URI of the file, the third is the error message.
 #.
-#: ../json-glib/json-glib-format.c:119 ../json-glib/json-glib-validate.c:85
+#: json-glib/json-glib-format.c:129 json-glib/json-glib-validate.c:87
 #, c-format
 msgid "%s: %s: error closing: %s\n"
 msgstr "%s:%s:關閉時發生錯誤:%s\n"
 
-#: ../json-glib/json-glib-format.c:148 ../json-glib/json-glib-validate.c:113
+#: json-glib/json-glib-format.c:158 json-glib/json-glib-validate.c:115
 msgid "FILE"
 msgstr "檔案"
 
 #. Translators: this message will appear after the usage string
 #. and before the list of options.
-#: ../json-glib/json-glib-format.c:151
+#: json-glib/json-glib-format.c:161
 msgid "Format JSON files."
 msgstr "格式化 JSON 檔案。"
 
-#: ../json-glib/json-glib-format.c:152
+#: json-glib/json-glib-format.c:162
 msgid "json-glib-format formats JSON resources."
 msgstr "json-glib-format 格式化 JSON 資源。"
 
@@ -76,182 +75,189 @@ msgstr "json-glib-format 格式化 JSON 資源。"
 #. * means the user is calling json-glib-validate without any
 #. * argument.
 #.
-#: ../json-glib/json-glib-format.c:169 ../json-glib/json-glib-validate.c:134
+#: json-glib/json-glib-format.c:179 json-glib/json-glib-validate.c:136
 #, c-format
 msgid "Error parsing commandline options: %s\n"
 msgstr "分析命令列選項時發生錯誤:%s\n"
 
-#: ../json-glib/json-glib-format.c:171 ../json-glib/json-glib-format.c:185
-#: ../json-glib/json-glib-validate.c:136 ../json-glib/json-glib-validate.c:150
+#: json-glib/json-glib-format.c:181 json-glib/json-glib-format.c:195
+#: json-glib/json-glib-validate.c:138 json-glib/json-glib-validate.c:152
 #, c-format
-msgid "Try \"%s --help\" for more information."
+msgid "Try “%s --help” for more information."
 msgstr "嘗試「%s --help」以獲得更多資訊。"
 
 #. Translators: the %s is the program name. This error message
 #. * means the user is calling json-glib-validate without any
 #. * argument.
 #.
-#: ../json-glib/json-glib-format.c:183 ../json-glib/json-glib-validate.c:148
+#: json-glib/json-glib-format.c:193 json-glib/json-glib-validate.c:150
 #, c-format
 msgid "%s: missing files"
 msgstr "%s:缺少檔案"
 
 #. Translators: this message will appear after the usage string
 #. and before the list of options.
-#: ../json-glib/json-glib-validate.c:116
+#: json-glib/json-glib-validate.c:118
 msgid "Validate JSON files."
 msgstr "驗證 JSON 檔案。"
 
-#: ../json-glib/json-glib-validate.c:117
+#: json-glib/json-glib-validate.c:119
 msgid "json-glib-validate validates JSON data at the given URI."
 msgstr "json-glib-validate 驗證指定 URI 的 JSON 資料。"
 
-#: ../json-glib/json-gobject.c:917
+#. translators: the %s is the name of the data structure
+#: json-glib/json-gobject.c:940
 #, c-format
-msgid "Expecting a JSON object, but the root node is of type `%s'"
+msgid "Expecting a JSON object, but the root node is of type “%s”"
 msgstr "預期是 JSON 物件,但根節點卻是類型「%s」"
 
-#: ../json-glib/json-gvariant.c:545
+#. translators: the '%s' is the type name
+#: json-glib/json-gvariant.c:524
 #, c-format
-msgid "Unexpected type '%s' in JSON node"
+msgid "Unexpected type “%s” in JSON node"
 msgstr "JSON 節點中未預期的類型「%s」"
 
-#: ../json-glib/json-gvariant.c:615
+#: json-glib/json-gvariant.c:594
 msgid "Missing elements in JSON array to conform to a tuple"
 msgstr "在 JSON 陣列中缺少確認變數值組"
 
-#: ../json-glib/json-gvariant.c:643
-msgid "Missing closing symbol ')' in the GVariant tuple type"
+#: json-glib/json-gvariant.c:622
+msgid "Missing closing symbol “)” in the GVariant tuple type"
 msgstr "在 GVariant 變數值組類型中缺少關閉符號 ')'"
 
-#: ../json-glib/json-gvariant.c:651
+#: json-glib/json-gvariant.c:630
 msgid "Unexpected extra elements in JSON array"
 msgstr "JSON 陣列中有未預期的額外元素"
 
-#: ../json-glib/json-gvariant.c:930
+#: json-glib/json-gvariant.c:909
 msgid "Invalid string value converting to GVariant"
 msgstr "無效的字串數值轉換到 GVariant"
 
-#: ../json-glib/json-gvariant.c:986
+#: json-glib/json-gvariant.c:964
 msgid ""
 "A GVariant dictionary entry expects a JSON object with exactly one member"
 msgstr "GVariant 字典項目預期 JSON 物件只能有一個成員"
 
-#: ../json-glib/json-gvariant.c:1266
+#: json-glib/json-gvariant.c:1242
 #, c-format
-msgid "GVariant class '%c' not supported"
+msgid "GVariant class “%c” not supported"
 msgstr "GVariant 類別「%c」不支援"
 
-#: ../json-glib/json-gvariant.c:1314
+#: json-glib/json-gvariant.c:1290
 msgid "Invalid GVariant signature"
 msgstr "無效的 GVariant 簽章"
 
-#: ../json-glib/json-gvariant.c:1362
+#: json-glib/json-gvariant.c:1338
 msgid "JSON data is empty"
 msgstr "JSON 資料是空的"
 
-#: ../json-glib/json-parser.c:817
+#. translators: %s: is the file name, the first %d is the line
+#. * number, the second %d is the position on the line, and %s is
+#. * the error message
+#.
+#: json-glib/json-parser.c:909
 #, c-format
 msgid "%s:%d:%d: Parse error: %s"
 msgstr "%s:%d:%d:解析錯誤:%s"
 
-#: ../json-glib/json-parser.c:885
+#: json-glib/json-parser.c:992
 msgid "JSON data must be UTF-8 encoded"
 msgstr "JSON 資料必須以 UTF-8 編碼"
 
-#: ../json-glib/json-path.c:438
+#: json-glib/json-path.c:389
 msgid "Only one root node is allowed in a JSONPath expression"
 msgstr "在 JSONPath 表示式中不允許一個根節點"
 
-#: ../json-glib/json-path.c:447
+#. translators: the %c is the invalid character
+#: json-glib/json-path.c:398
 #, c-format
-msgid "Root node followed by invalid character '%c'"
+msgid "Root node followed by invalid character “%c”"
 msgstr "根節點跟隨在無效的字元「%c」後"
 
-#: ../json-glib/json-path.c:487
+#: json-glib/json-path.c:438
 msgid "Missing member name or wildcard after . character"
 msgstr "在 . 字元後缺少成員名稱或萬用字元"
 
-#: ../json-glib/json-path.c:561
+#: json-glib/json-path.c:512
 #, c-format
-msgid "Malformed slice expression '%*s'"
+msgid "Malformed slice expression “%*s”"
 msgstr "格式不良的片段表示式「%*s」"
 
-#: ../json-glib/json-path.c:605
+#: json-glib/json-path.c:556
 #, c-format
-msgid "Invalid set definition '%*s'"
+msgid "Invalid set definition “%*s”"
 msgstr "無效的組定義「%*s」"
 
-#: ../json-glib/json-path.c:658
+#: json-glib/json-path.c:609
 #, c-format
-msgid "Invalid slice definition '%*s'"
+msgid "Invalid slice definition “%*s”"
 msgstr "無效的片段定義「%*s」"
 
-#: ../json-glib/json-path.c:686
+#: json-glib/json-path.c:637
 #, c-format
-msgid "Invalid array index definition '%*s'"
+msgid "Invalid array index definition “%*s”"
 msgstr "無效的陣列索引定義「%*s」"
 
-#: ../json-glib/json-path.c:705
+#: json-glib/json-path.c:656
 #, c-format
-msgid "Invalid first character '%c'"
+msgid "Invalid first character “%c”"
 msgstr "無效的第一個字元「%c」"
 
-#: ../json-glib/json-reader.c:457
+#: json-glib/json-reader.c:474
 #, c-format
 msgid ""
-"The current node is of type '%s', but an array or an object was expected."
+"The current node is of type “%s”, but an array or an object was expected."
 msgstr "目前的節點類型是「%s」,但預期應為陣列或物件。"
 
-#: ../json-glib/json-reader.c:469
+#: json-glib/json-reader.c:486
 #, c-format
 msgid ""
-"The index '%d' is greater than the size of the array at the current position."
+"The index “%d” is greater than the size of the array at the current position."
 msgstr "索引「%d」大於目前位置的陣列大小。"
 
-#: ../json-glib/json-reader.c:486
+#: json-glib/json-reader.c:503
 #, c-format
 msgid ""
-"The index '%d' is greater than the size of the object at the current "
+"The index “%d” is greater than the size of the object at the current "
 "position."
 msgstr "索引「%d」大於目前位置的物件大小。"
 
-#: ../json-glib/json-reader.c:570 ../json-glib/json-reader.c:723
-#: ../json-glib/json-reader.c:774 ../json-glib/json-reader.c:812
-#: ../json-glib/json-reader.c:850 ../json-glib/json-reader.c:888
-#: ../json-glib/json-reader.c:926 ../json-glib/json-reader.c:971
-#: ../json-glib/json-reader.c:1007 ../json-glib/json-reader.c:1033
+#: json-glib/json-reader.c:585 json-glib/json-reader.c:751
+#: json-glib/json-reader.c:799 json-glib/json-reader.c:837
+#: json-glib/json-reader.c:875 json-glib/json-reader.c:913
+#: json-glib/json-reader.c:951 json-glib/json-reader.c:996
+#: json-glib/json-reader.c:1032 json-glib/json-reader.c:1058
 msgid "No node available at the current position"
 msgstr "目前的位置沒有可用的節點"
 
-#: ../json-glib/json-reader.c:577
+#: json-glib/json-reader.c:592
 #, c-format
-msgid "The current position holds a '%s' and not an array"
+msgid "The current position holds a “%s” and not an array"
 msgstr "目前的位置持有一個「%s」,並非陣列"
 
-#: ../json-glib/json-reader.c:640
+#: json-glib/json-reader.c:668
 #, c-format
-msgid "The current node is of type '%s', but an object was expected."
+msgid "The current node is of type “%s”, but an object was expected."
 msgstr "目前的節點類型是「%s」,但預期應為物件。"
 
-#: ../json-glib/json-reader.c:647
+#: json-glib/json-reader.c:675
 #, c-format
-msgid "The member '%s' is not defined in the object at the current position."
+msgid "The member “%s” is not defined in the object at the current position."
 msgstr "成員「%s」並未在目前的位置的物件中定義。"
 
-#: ../json-glib/json-reader.c:730 ../json-glib/json-reader.c:781
+#: json-glib/json-reader.c:758 json-glib/json-reader.c:806
 #, c-format
-msgid "The current position holds a '%s' and not an object"
+msgid "The current position holds a “%s” and not an object"
 msgstr "目前的位置持有一個「%s」,並非物件"
 
-#: ../json-glib/json-reader.c:821 ../json-glib/json-reader.c:859
-#: ../json-glib/json-reader.c:897 ../json-glib/json-reader.c:935
-#: ../json-glib/json-reader.c:980
+#: json-glib/json-reader.c:846 json-glib/json-reader.c:884
+#: json-glib/json-reader.c:922 json-glib/json-reader.c:960
+#: json-glib/json-reader.c:1005
 #, c-format
-msgid "The current position holds a '%s' and not a value"
+msgid "The current position holds a “%s” and not a value"
 msgstr "目前的位置持有一個「%s」,並非數值"
 
-#: ../json-glib/json-reader.c:943
+#: json-glib/json-reader.c:968
 msgid "The current position does not hold a string type"
 msgstr "目前的位置並未持有字串類型"