###############################################################################
# Copyright (c) 2000, 2007 IBM Corporation and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0 which is available at
# http://www.eclipse.org/legal/epl-2.0.
#
# SPDX-License-Identifier: EPL-2.0
#

#     Sebastian Davids <sdavids@gmx.de> - Bug 114276
###############################################################################

RubyFoldingPreferenceBlock_0=Add
RubyFoldingPreferenceBlock_2=You may use only English letters and _.
RubyFoldingPreferenceBlock_3=Add block
RubyFoldingPreferenceBlock_4=Enter name of block ("if" for example)
RubyFoldingPreferenceBlock_6=Remove
RubyFoldingPreferenceBlock_10=Block folding
#RubyFoldingPreferenceBlock_11=Off
#RubyFoldingPreferenceBlock_12=Fold all blocks except following:
#RubyFoldingPreferenceBlock_13=Fold only following blocks:
RubyFoldingPreferenceBlock_initRequires=Require statements
RubyFoldingPreferenceBlock_initFoldRDoc = RDoc
