/**********************************************************************
 * Copyright (c) 2005 IBM Corporation and others. All rights reserved.   This
 * program and the accompanying materials are made available under the terms of
 * the Eclipse Public License v1.0 which accompanies this distribution, and is
 * available at http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors: 
 * IBM - Initial API and implementation
 **********************************************************************/
package org.eclipse.wst.common.snippets.internal;

import org.eclipse.osgi.util.NLS;

/**
 * Strings used by Snippets
 * 
 * @plannedfor 1.0
 */
public class SnippetsMessages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.wst.common.snippets.internal.SnippetsPluginResources";//$NON-NLS-1$

	public static String A_name_must_be_specified_1;
	public static String New_Category_Title;
	public static String New_Item_Title;
	public static String Delete_1;
	public static String Unnamed_Template_1;
	public static String Insert_Template___1;
	public static String Insert_Template_2;
	public static String Edit_Instruction;
	public static String Variables__4;
	public static String Description_of_variable__5;
	public static String Variable_Name_6;
	public static String Value_7;
	public static String Preview__9;
	public static String Insert_14;
	public static String Variable_Name_3;
	public static String Value_4;
	public static String Name_5;
	public static String Description_6;
	public static String Default_Value_7;
	public static String Remove_15;
	public static String Template_Pattern__16;
	public static String Insert_Variable_17;
	public static String Insert___;
	public static String New_1;
	public static String Cut_2;
	public static String Copy_2;
	public static String Paste_4;
	public static String new_category_name;
	public static String category;
	public static String item;
	public static String Unnamed_Category;
	public static String Add_to_Snippets____3;
	public static String Cant_add_to_this;
	public static String choose_or_create;
	public static String force_create;
	public static String SnippetCustomizerDialog_0;
	public static String SnippetCustomizerDialog_1;
	public static String SnippetCustomizerDialog_2;
	public static String SnippetCustomizerDialog_3;
	public static String SnippetCustomizerDialog_4;
	public static String SnippetDrawerEntryPage_0;
	public static String SnippetDrawerEntryPage_1;
	public static String SnippetDrawerEntryPage_2;
	public static String SnippetDrawerEntryPage_3;
	public static String SnippetDrawerEntryPage_4;
	public static String SnippetDrawerEntryPage_5;
	public static String SnippetDrawerEntryPage_6;
	public static String Paste_as_Snippet;

	static {
		// load message values from bundle file
		NLS.initializeMessages(BUNDLE_NAME, SnippetsMessages.class);
	}

	private SnippetsMessages() {
		// cannot create new instance
	}
}
