<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://svn.reviewboard.kde.org/r/5639/">http://svn.reviewboard.kde.org/r/5639/</a>
     </td>
    </tr>
   </table>
   <br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://svn.reviewboard.kde.orgrb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for kdelibs.</div>
<div>By John Layt.</div>





<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This change moves the localization of AM/PM into KLocale allowing for a single consistent translation that can be overridden at system, country or user level.

Currently AM/PM text is translated in several different places which could lead to inconsistencies.  The translation is also only done at language level, meaning country level localization cannot be performed and users cannot modify them to their personal preference.  Further, it will become a problem on the Mac and Windows platforms when we switch to use the platform localization settings as they do provide a common localization which users can override.

Initially I implemented simple amText() and pmText() methods, but further research found that the Unicode CLDR project defines something called Day Periods (http://www.unicode.org/reports/tr35/tr35-15.html#DayPeriodRules) to cater for cultures that split the day into more than 2 periods, so I have implemented that instead.  If people feel it's too complicated a solution I can easily switch back to the amText()/pmText() solution.

Note I have changed our default text from lowercase to uppercase AM/PM.  POSIX, Unicode, Windows and Mac all default to uppercase, the POSIX %p format symbol is defined as uppercase, with the more recent %P defined as lowercase.

KDateTime is not yet changed to use this, that will happen when the shared date/time format routines are completed and djarvie approves.

The KCM will be modified to allow users to override the value in a later change.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Full unit tests written for new code.  All existing tests passed after having am/pm changed to AM/PM.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/trunk/KDE/kdelibs/kdecore/CMakeLists.txt <span style="color: grey">(1186497)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/date/kdatetimeformatter.cpp <span style="color: grey">(1186497)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/date/kdayperiod.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/date/kdayperiod.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale.h <span style="color: grey">(1186497)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale.cpp <span style="color: grey">(1186497)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale_kde.cpp <span style="color: grey">(1186497)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale_mac.cpp <span style="color: grey">(1186497)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale_p.h <span style="color: grey">(1186497)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale_win.cpp <span style="color: grey">(1186497)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/tests/klocaletest.h <span style="color: grey">(1186497)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/tests/klocaletest.cpp <span style="color: grey">(1186497)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/tests/klocaletimeformattest.cpp <span style="color: grey">(1186497)</span></li>

</ul>

<p><a href="http://svn.reviewboard.kde.org/r/5639/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>




  </div>
 </body>
</html>