 #=============================================================================#
 # Copyright (c) 2007, 2017 Stephan Wahlbrink and others.
 # 
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License 2.0 which is available at
 # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
 # which is available at https://www.apache.org/licenses/LICENSE-2.0.
 # 
 # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
 # 
 # Contributors:
 #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
 #=============================================================================#

contentTypes_LtxRweave_name= Sweave (LaTeX+R)

editors_LtxRweave_name= Sweave Editor (LaTeX+R)

docTemplates_NewTextileRweave_name= New Sweave Documents (LaTeX+R)
wizards_NewLtxRweaveDoc_name= Sweave Document
wizards_NewLtxRweaveDoc_description= Creates a new Sweave document (LaTeX+R).

templatesCategory_LtxRweaveCodeTemplates_name= Sweave Documents (LaTeX+R)

menus_Search_AllAccess_name= All Occurrences
menus_Search_AllAccess_mnemonic= A
menus_Search_WriteAccess_name= Write Occurrences
menus_Search_WriteAccess_mnemonic= W

menus_SweaveEditorContext_ToggleComment_mnemonic= C

preferencePages_SweaveEditorOptions= Sweave Editing Options

rCodeLaunchHandler_SweaveRweaveTexDoc_label= 'Sweave' Document (LaTeX+R) in R

launchShortcuts_RunRweaveTexDocViaSweave= Sweave Document (LaTeX+R) in R via 'Sweave'

launchConfigurations_TexRweaveProcessing_name= Sweave Document Processing (LaTeX+R)
launchConfigurations_TexRweaveProcessing_description= Run a tool chain to compile Sweave documents (LaTeX+R).
