README.translators Author: Gary Meyer Date: November 7, 1999 --------------------------------------------------------------------------- KCron requires special care in translation. KCron does natural language description, such as "At 12:00am, every day." How days and times are described in different languages and cultures varies greatly. I have tried to accomodate this challenge through making formatting of the display significantly controlled by the translater. The approach I have taken makes formatting strings available to the translator. Where there is a string to translate that has a name "SUCH_AS_THIS", KCron treats "SUCH_AS_THIS" as a special token. For instance, consider "DAYS_OF_MONTH of MONTHS". The translator can move the ordering of the phrases around. Additionally the translator can translate the various words as well as separators such as the comma. --------------------------------------------------------------------------- Look at CTTask::describe(). This is the most significant method used in creating the description string that appears in the main display. 1. Change "%l:%M%P" to support time formatting for your locale. Default: "%l:%M%P" -> "11:00pm" Other possibilities: "%l:%M%p" -> "11:00PM" "%H:%M" -> "23:00" See "man strftime" for more time formatting options available. 2. Change "DAYS_OF_MONTH of MONTHS" to support how days of the month are combined with month names for your locale. Default: "DAYS_OF_MONTH of MONTHS" -> "1st and 15th of Jan" Other possibilities: "MONTHS, DAYS_OF_MONTH" -> "Jan, 1st and 15th" 3. Change "every DAYS_OF_WEEK" to support how the English phrase "every Monday" is translated to your locale. Default: "every DAYS_OF_WEEK" -> "every Mon, Wed, and Fri" Other possibilitities: "DAYS_OF_WEEK" -> "Mon, Wed, and Fri" 4. Change "DOM_FORMAT as well as DOW_FORMAT" to support how complex phrases that involve day of the month as well as day of the week are described in your locale. Default: "DOM_FORMAT as well as DOW_FORMAT" -> "1st and 15th of every month as well as every Sun" Other possibilities: "DOM_FORMAT and DOW_FORMAT" -> "1st and 15th of every month and every Sun" Note how the order of the two phrases can be changed. 5. Change "At TIME" to support how the English phrase "At 11:00pm" is translated to your locale. Default: "At TIME" -> "At 11:00pm" Other possibilities: "TIME" -> "11:00pm" If necessary you can put a phrase suffix after the "TIME" token. 6. Change "TIME_FORMAT, DATE_FORMAT" to describe how the English phrase "At 11:00pm, every Sun" is best translated to your locale. Default: "TIME_FORMAT, DATE_FORMAT" -> "At 11:00pm, every Sun" Other possibilities: "TIME_FORMAT DATE_FORMAT" -> "At 11:00pm every Sun" "DATE_FORMAT TIME_FORMAT" -> "every Sun At 11:00pm" So the following translations... "%l:%M%P" -> "%H:%M" "DAYS_OF_MONTH of MONTHS" -> "MONTHS DAYS_OF_MONTH" "every DAYS_OF_WEEK" -> "every DAYS_OF_WEEK" "DOM_FORMAT as well as DOW_FORMAT" -> "DOM_FORMAT and DOW_FORMAT" "At TIME" -> "at TIME" -> "TIME_FORMAT, DATE_FORMAT" -> "DATE_FORMAT TIME_FORMAT" Would produce... "Jan 1st 23:00" instead of "At 11:00pm, Jan 1st" --------------------------------------------------------------------------- ctunit.h and cttask.cpp also have places to describe whether or not your local uses: "1, 2, and 3" or "1, 2 and 3" or "1, 2, 3" --------------------------------------------------------------------------- Everything else should be rather clear to translate. If you can not support your locale through this translation, email the author at gary@meyer.net and I'll see if I can make changes to accomodate.