################################################################################
# Copyright (c) 2016, 2017 Oracle and/or its affiliates. All rights reserved.
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
# which accompanies this distribution.
# The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
# and the Eclipse Distribution License is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# Contributors:
# Roman Grigoriadi
# David Kral
################################################################################

processFromJson = Zpracovávám třídu: {0} z jsonu za použití convertoru: {1}
processToJson = Zpracovávám třídu: {0} do jsonu za použití convertoru: {1}

diacriticsTest=p\u0159\u00edli\u0161,\u017elu\u0165ou\u010dk\u00fd,k\u016f\u0148,\u00fap\u011bl,\u010f\u00e1belsk\u00e9,\u00f3dy
