Calendaring Extensions R. Tse
Internet-Draft P. Tam
Updates: 5545, 6321, 6350, 6351, 7953, Ribose
7265, 7095 (if approved) M. Douglass
Intended status: Standards Track Spherical Cow Group
Expires: December 10, 2018 June 8, 2018

vObject Internationalization
draft-calconnect-vobject-i18n-00

Abstract

This document specifies mechanisms for the internationalization of vObject content and its realization in vFormat.

This document updates the following specifications:

This work is produced by the CalConnect TC-VCARD and TC-CALENDAR committees.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

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."

This Internet-Draft will expire on December 10, 2018.

Copyright Notice

Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://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 Simplified BSD License.


Table of Contents

1. Introduction

vCard [RFC6350] and iCalendar [RFC5545] are standards compliant to the vObject data model [I-D.calconnect-vobject-vformat-03].

These standards are used worldwide and require proper certain localization elements suitable for multi-cultural use.

Previously, the only internationalization method for vCard [RFC6350] and iCalendar [RFC5545] standards was the language property parameter (3.2.10).

This document:

The methods described in this document are intended to be used by vObject-compliant standards, such as vCard 4.0 [RFC6350] and iCalendar [RFC5545].

This is a work product of the CalConnect TC-VCARD [CALCONNECT-VCARD] and TC-CALENDAR [CALCONNECT-CALENDAR] committees.

2. Terms and Definitions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

The key words "Private Use", "Experimental Use", "Hierarchical Allocation", "First Come First Served", "Expert Review", "Specification Required", "RFC Required", "IETF Review", "Standards Action" and "IESG Approval" in this document are to be interpreted as described in 4.

Notation in this document is described in ABNF [RFC5234] as used by [RFC6350].

Definitions from [RFC6350] apply to this specification except when explicitly overridden.

All names of properties, property parameters, enumerated property values, and property parameter values are case-insensitive. However, all property values are case-sensitive, unless otherwise stated.

2.1. Definitions

phonetic system

method of transcription of language in a script that allows phonetic reproduction

3. Property Parameter Usage Clarification: LANGUAGE

This section clarifies the intent of the LANGUAGE property parameter in [RFC5545] and [RFC6350] to be for the identification of the language used in the property value where the parameter is specified.

The [RFC5646] defined language-tag allows specification of multiple attributes (called "subtags") in addition to just language. Its basic form includes:

In practical usage of vObject standards, including [RFC5545] and [RFC6350], it is determined that the combinatorial enumeration of non-language subtags often cause unnecessary confusion in interpretation and parsing, especially when the registry contain variant and extension subtags that either conflict in semantics or have overly restrictive in their supported prefixes.

This document therefore clarifies the intent of 3.2.10 and 5.1, such that the LANGUAGE property parameter SHOULD only support the mandatory language subtag.

Other subtags MAY be supplied as specified in [RFC5646], but they are purely for informational purposes not used in the vObject specification.

Namespace
Property parameter name

LANGUAGE
Purpose

To specify the language used in the property value.
Value type

LANGUAGE-TAG 4.8
Description

As provided above.

3.1. vFormat Implementation of LANGUAGE

The value of the LANGUAGE property parameter is re-defined as shown below.

Format definition

languageparam = "LANGUAGE" "=" language *(subpart)

language = iso-639-3-code / iso-639-2-code
          ; a 2-alpha or 3-alpha language code
          ; defined in ISO 639

subpart  = "-" *alphanum
           ; all other subparts unsupported

Examples

N;LANGUAGE=en:Miyazaki;Hayao;;;
N;LANGUAGE=jp:宮崎;駿;;;

4. Property Parameter: SCRIPT

The SCRIPT property parameter specifies the written script used in the property value which contains the parameter, which is amongst the valid codes in the ISO 15924 registry.

It is separated from the LANGUAGE property parameter defined in [RFC5545] and [RFC6350] for reasons stated in Section 3.

Namespace
Property parameter name

SCRIPT
Purpose

To specify the script used in the property value, which is amongst the valid codes in the ISO 15924 registry.
Value type

TEXT, a single value valid in the ISO 15924 script registry.
Description

The property value of which this property parameter applies to must have identical structure to

4.1. vFormat Implementation of SCRIPT

Format definition

scriptparam = "SCRIPT" "=" script-code
            ; script-code defined in the value type SCRIPT-CODE

Examples

N;SCRIPT=Hira;LANGUAGE=jp:みやざき;はやお;;;
N;SCRIPT=Hani;LANGUAGE=jp:宮崎;駿;;;

5. Property Parameter: PHONETIC

A number of contact managers have long used "X-properties" to to store phonetic information of a vCard’s subject, such as X-PHONETIC-NAME, X-PHONETIC-FIRST-NAME and X-PHONETIC-LAST-NAME.

However, this is an issue for multiple reasons:

This section defines three property parameters used to store pronunciation information of a property value:

  1. The script used in the pronunciation system;
  2. An identifier of the pronunciation system used;
  3. The source language that was transcribed by the pronunciation system.

The PHONETIC property parameter specifies the phonetic system used in the transcription of the property value, identified by the phonetic system code from the ISO XXXXX phonetic system registry.

This property parameter is often applied together with the LANGUAGE (Section 3) and SCRIPT (Section 4) property parameters.

Namespace
Property parameter name

PHONETIC
Purpose

To specify the phonetic system used in the property value, which is amongst the valid codes in the ISO XXXXX registry.
Value type

TEXT, a single value valid in the ISO XXXXX phonetic system registry.
Description

The property value of which this property parameter applies to must take an identical structure to the property value without application of this property parameter.

5.1. vFormat Implementation of PHONETIC

Format definition

phoneticparam = "PHONETIC" "=" phonetic
phonetic      = 4ALPHA  ; ISO XXXXX 4-digit phonetic system code

Examples

N;SCRIPT=Hant;LANGUAGE=zho:孫;中山;文,逸仙;;
N;SCRIPT=Hans;LANGUAGE=zho:孙;中山;文,逸仙;;
N;PHONETIC=jyut;SCRIPT=Latn;LANGUAGE=yue:syun1;zung1saan1;man4,jat6sin1;;
N;PHONETIC=ping;SCRIPT=Latn;LANGUAGE=cmn:sun;zhongshan;rixian;;

6. Security Considerations

Security considerations of the vObject formats themselves MUST be adhered to, including:

vObject formats, especially for calendaring, scheduling and contact exchange, often involve privacy-sensitive information. Internationalization features defined in this document MAY pose risk of exposing private information if interchanged through unprotected communication channels.

Mechanisms used for the transmission of such information should implement security measures to protect against possible threats, such as eavesdropping, replay, message insertion, deletion, modification, and man-in-the-middle attacks.

7. IANA Considerations

IANA is requested to register the following property parameters and value types in the corresponding iCalendar and vCard registries.

7.1. iCalendar and vCard Property Parameter Registration: SCRIPT

Namespace
Parameter name

SCRIPT
Purpose

Given in Section 4.
Description

Given in Section 4.
Format definition

Given in Section 4.
Examples

Given in Section 4.

7.2. iCalendar and vCard Property Parameter Registration: PHONETIC

Namespace
Parameter name

PHONETIC
Purpose

Given in Section 5.
Description

Given in Section 5.
Format definition

Given in Section 5.
Examples

Given in Section 5.

7.3. iCalendar and vCard Registration for Value Data Type: SCRIPT-CODE

Value name

SCRIPT-CODE
Purpose

Indicate script used in property value using a valid value from the ISO 15924 registry.
Description

Used by the SCRIPT property parameter.
Format definition

script-code = 4ALPHA
            ; ISO 15924 4-digit script code

Examples

Latn, Cyrl, Hani

7.4. iCalendar and vCard Registration for Value Data Type: PHONETIC-CODE

Value name

PHONETIC-CODE
Purpose

Indicate phonetic system used in the transcription of property value, using a valid value from the ISO XXXXX registry.
Description

Used by the SCRIPT property parameter.
Format definition

phonetic-code = 4ALPHA
              ; ISO XXXXX 4-digit script code

Examples

ipa, jyut, ping

8. References

8.1. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.
[RFC3986] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, DOI 10.17487/RFC3986, January 2005.
[RFC5545] Desruisseaux, B., "Internet Calendaring and Scheduling Core Object Specification (iCalendar)", RFC 5545, DOI 10.17487/RFC5545, September 2009.
[RFC5646] Phillips, A. and M. Davis, "Tags for Identifying Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, September 2009.
[RFC6350] Perreault, S., "vCard Format Specification", RFC 6350, DOI 10.17487/RFC6350, August 2011.
[RFC8126] Cotton, M., Leiba, B. and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017.

8.2. Informative References

[CALCONNECT-CALENDAR] The Calendaring and Scheduling Consortium, "CalConnect CALENDAR Technical Committee", April 2018.
[CALCONNECT-VCARD] The Calendaring and Scheduling Consortium, "CalConnect VCARD Technical Committee", April 2018.
[I-D.calconnect-vobject-vformat-03] Tse, R., Tam, P., Daboo, C. and K. Murchison, "The vObject Model and vFormat Syntax", Internet-Draft draft-calconnect-vobject-vformat-03, June 2018.
[RFC4791] Daboo, C., Desruisseaux, B. and L. Dusseault, "Calendaring Extensions to WebDAV (CalDAV)", RFC 4791, DOI 10.17487/RFC4791, March 2007.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, DOI 10.17487/RFC5234, January 2008.
[RFC6321] Daboo, C., Douglass, M. and S. Lees, "xCal: The XML Format for iCalendar", RFC 6321, DOI 10.17487/RFC6321, August 2011.
[RFC6351] Perreault, S., "xCard: vCard XML Representation", RFC 6351, DOI 10.17487/RFC6351, August 2011.
[RFC6352] Daboo, C., "CardDAV: vCard Extensions to Web Distributed Authoring and Versioning (WebDAV)", RFC 6352, DOI 10.17487/RFC6352, August 2011.
[RFC7095] Kewisch, P., "jCard: The JSON Format for vCard", RFC 7095, DOI 10.17487/RFC7095, January 2014.
[RFC7265] Kewisch, P., Daboo, C. and M. Douglass, "jCal: The JSON Format for iCalendar", RFC 7265, DOI 10.17487/RFC7265, May 2014.
[RFC7953] Daboo, C. and M. Douglass, "Calendar Availability", RFC 7953, DOI 10.17487/RFC7953, August 2016.
[RFC7986] Daboo, C., "New Properties for iCalendar", RFC 7986, DOI 10.17487/RFC7986, October 2016.
[RFC8259] Bray, T., "The JavaScript Object Notation (JSON) Data Interchange Format", STD 90, RFC 8259, DOI 10.17487/RFC8259, December 2017.

Authors' Addresses

Ronald Henry Tse Ribose Suite 1111, 1 Pedder Street Central, Hong Kong EMail: ronald.tse@ribose.com URI: https://www.ribose.com
Peter Kwan Yu Tam Ribose Suite 1111, 1 Pedder Street Central, Hong Kong EMail: peter.tam@ribose.com URI: https://www.ribose.com
Mike Douglass Spherical Cow Group 226 3rd Street Troy, NY 12180 United States of America EMail: mdouglass@sphericalcowgroup.com URI: http://sphericalcowgroup.com