<HTML><!-- #BeginTemplate "/Templates/MainTemplate.dwt" -->
<HEAD>
<!-- #BeginEditable "doctitle" --> 
<TITLE>RB Manager - Features and Version History</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">Future Features and Version History</H3>
      <P>Some of the features all ready in the works for future versions of RB 
        Manager:</P>
      <UL>
        <LI>The ability to lookup suggested translations using imported dictionaries</LI>
        <LI>Multiple selections across resource tables</LI>
        <LI>Editing subtrees within the resource bundle tree</LI>
        <LI>The ability to print various views of resources</LI>
        <LI>A character table for selecting characters not common to keyboards</LI>
        <LI>...and of course all of the bug fixes</LI>
      </UL>
      
      <p>Features added in the latest version (0.7) of RB Manager:</p>
        
      <ul>
        <li>Add initial support for importing and exporting XLIFF files</li>
        <li>Fix some panel updating issues</li>
        <li>... and some other bug fixes</li>
      </ul>

      <P>Features added in the latest version (0.6) of RB Manager:</P>
        
      <UL>
        <LI>The program window now has an icon</LI>
        <LI>Integrate the images and resources into the jar files</LI>
        <LI>Source code made publicly available</LI>
        <LI>Allow exporting of ICU4C resource bundles</LI>
        <LI>... and some bug fixes</LI>
      </UL>
      
      <P>Features added in version 0.4a of RB Manager:</P>
      
      <UL>
        <LI>Recently accessed resource bundles appear in the File menu for easy 
          opening</LI>
        <LI>New icons for the tree view</LI>
        <LI>Ability to save, hide, or delete specific resource files without affecting 
          the resource bundle as a whole</LI>
        <LI>Exporting to Java class files allows for specification of the package 
          name as well as the ability to specify public or protected objects</LI>
        <LI>Translations can now easily accomidate multiple line text</LI>
        <LI>RB Manager is no longer restriced to resource bundles that end in 
          '.properties' in lower-case</LI>
        <LI>... and some bug fixes</LI>
      </UL>

      <P>Features added in version 0.3a of RB Manager:</P>
      <UL>
        <LI>The ability to merge property files and other resource bundles with 
          the open resource bundle</LI>
        <LI>Exporting Java compilable files (ListResourceBundle extension files)</LI>
        <LI>Import and export support for TMX formatted XML translation files</LI>
        <LI>The ability to search resource bundles and language files for particular 
          translations</LI>
        <LI>Keyboard shortcuts for the most common functions</LI>
        <LI>A file scanning extension to the reporting tool</LI>
        <LI>... and some bug fixes</LI>
      </UL>
      <P>Have another idea? Send any thoughts or comments to
      <a href="http://www.jtcsv.com/cgibin/icu-bugs/">ICU's Jitterbug database</a>.</P>
      <br>
      <!-- #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-2004 International Business Machines, All Rights Reserved</SPAN></CENTER>
		</TD>
	</TR>
</TABLE>
</BODY>
<!-- #EndTemplate --></HTML>
