<HTML><!-- #BeginTemplate "/Templates/MainTemplate.dwt" -->
<HEAD>
<!-- #BeginEditable "doctitle" --> 
<TITLE>Template</TITLE>
<!-- #EndEditable --> 
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<STYLE TYPE="TEXT/CSS">
<!--
.topicHead {  font-family: "Times New Roman", Times, serif; font-size: 14pt; font-weight: bold; text-align: center; color: #333333}
.topicList {  font-family: Georgia, "Times New Roman", Times, serif; font-size: 9pt; color: #FF0099; list-style-image:  url(images/diamond_bullet.gif); text-decoration: none; font-weight: bold}
.mainBlock {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12pt; margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px; padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; text-align: justify}
-->
</STYLE>
</HEAD>

<BODY BGCOLOR="#FFFFFF" LEFTMARGIN="0" TOPMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0">
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
  <TR>
    <TD ROWSPAN="2" COLSPAN="2" BACKGROUND="images/template_ul.gif" HEIGHT="75"><IMG SRC="images/spacer.gif" WIDTH="280" HEIGHT="1" HSPACE="0"></TD>
		<TD HEIGHT="15"  WIDTH="100%" BACKGROUND="images/template_u.gif"></TD>
	</TR>
	<TR>
		<TD HEIGHT="60" >
			<CENTER><IMG SRC="images/TitleLogo_transparent.gif" VSPACE="0"></CENTER>
		</TD>
	</TR>
	<TR>
		
    <TD WIDTH="200" BACKGROUND="images/template_l.gif" VALIGN="top">
		<TABLE WIDTH="180" CELLSPACING="0" CELLPADDING="1"> 
      	<TR>
			<TD CLASS="topicHead">General</TD>
		</TR>
		<TR>
			<TD VALIGN="center"><IMG SRC="images/template_line.gif"></TD>
		</TR>
		<TR>
			<TD CLASS="topicList">
	        <UL>
              <LI><A HREF="system_requirements.html">System Requirements</A></LI>
              <LI><A HREF="faq.html">FAQ</A></LI>
              <LI><A HREF="future_features.html">Future Releases</A></LI>
              <LI CLASS="topicList"><A HREF="future_features.html">Version 
                History</A></LI>
            </UL>
			</TD>
		</TR>
      	<TR>
			<TD CLASS="topicHead">RB Manager</TD>
		</TR>
		<TR>
			<TD VALIGN="center"><IMG SRC="images/template_line.gif"></TD>
		</TR>
		<TR>
			<TD CLASS="topicList">
	        <UL>
              <LI><A HREF="index.html">Home</A></LI>
              <LI><A HREF="tutorial/index.html">Tutorial</A></LI>
              <LI><A HREF="views/index.html">Functionality and Views</A></LI>
              <LI><A HREF="lookandfeel.html">Look and Feel</A></LI>
              <LI><A HREF="menu.html">Menu Items</A></LI>
              <LI CLASS="topicList"><A HREF="tutorial/step1.html">Preferences</A></LI>
            </UL>
			</TD>
		</TR>
		<TR>
			<TD CLASS="topicHead">RB Reporter</TD>
		</TR>
		<TR>
			<TD VALIGN="center"><IMG SRC="images/template_line.gif"></TD>
		</TR>
		<TR>
			<TD CLASS="topicList">
	  <UL>
              <LI><A HREF="RBReporter.html">Home</A></LI>
        <LI>Report Types</LI>
              <LI><A HREF="scanfile.html">Code Scanning</A></LI>
            </UL>
			</TD>
		</TR>
	</TABLE>

      <P>&nbsp; </P>
      </TD>
		
    <TD COLSPAN="2" VALIGN="top" CLASS="mainBlock"><!-- #BeginEditable "Main" --> 
      <H3 ALIGN="CENTER">Frequently Asked Questions</H3>
      <P><B> What is the advantage of using RB Manager when I can edit resource 
        bundle property files in a simple text editor?</B></P>
      <P>Trying to manage internationalization efforts in anything but the smallest 
        of projects can be a difficult and time consuming task. In fact, RB Manager 
        as a project grew out of the frustrations and errors that developed as 
        the result of trying to maintain multiple language support in a moderately 
        large project. Relying on text editors and the like decreases the chance 
        that developers will properly comment each aspect of each translation, 
        increases the chance that errors such as duplicate key names and inconsistencies 
        across language files, and increases the amount of time developers and 
        translators have to spend tracking down inconsistencies and untranslated 
        resources.</P>
      <P>RBManager offers the following features to correct these problems:</P>
      <P> 
        <UL>
          
        <LI> RB Manager can edit multiple language files when appropriate</LI>
          <LI>Entries are checked for proper format and assured not to be duplicates</LI>
          
        <LI>RB Manager provides a better grouping of resources, so that individual 
          translations are easy to find</LI>
          <LI>Each language file will display in its own view a list of only resources 
            that are untranslated</LI>
          
        <LI>RB Manager keeps track of statistics such as number of resources, 
          untranslated items, etc.</LI>
          
        <LI>RB Manager allows importing and exporting of translation data into 
          multiple formats</LI>
          <LI>Use of the application cuts down on development, translation, and 
            debugging time in any internationalized setting</LI>
        </UL>
        
      <P><B>Will RB Manager work on my computer?</B></P>
        
      <P>RB Manager is written using only the Java API. It has been tested under 
        the Java 1.2.2 runtime environment and higher. If your computer has a 
        Java Virtual Machine (JVM) in this environment, RBManager should work 
        for you. Instructions for setting up and running the program are found 
        in <A HREF="tutorial/step1.html">Step 1</A> of the tutorial.</P>
        
      <P><B>Why doesn't RB Manager run in language X?</B></P>
      <P></P>
      <P>RB Manager will allow you to edit language files for any language/country/variant 
        encoding. To demonstrate the usefulness of internationalization, RB Manager 
        has its own resource bundle. The application can currently be run in English, 
        German, Swedish, and Finnish. You are welcome to use the program to edit 
        its own resource bundle and add any other language. If you do so, you 
        may submit the new language file to the
        <A HREF="http://www.jtcsv.com/cgibin/icu-bugs/">ICU bug database</A>. 
        Each submission will be considered for future submissions, but the submittor 
        must give the rights to the translation to IBM if the file is to be included.</P>
      <P><B>I found a bug. Where do I report it?</B></P>
      <P>Please submit a bug to the <a href="http://www.jtcsv.com/cgibin/icu-bugs/">ICU bug database</a>.</P>
      <P><B>What can I expect from future versions of RB Manager?</B></P>
      <P><A HREF="future_features.html">Answer</A></P>
      <!-- #EndEditable --></TD>
	</TR>
	<TR>
		<TD BACKGROUND="images/template_ll.gif" HEIGHT="40" WIDTH="200">
			<!-- Comment -->
		</TD>
		<TD WIDTH="80">
			<!-- Comment -->
		</TD>
		<TD>
			<CENTER><SPAN CLASS="Copyright">Copyright 2000-2001 International Business Machines, All Rights Reserved</SPAN></CENTER>
		</TD>
	</TR>
</TABLE>
</BODY>
<!-- #EndTemplate --></HTML>
