pondus-0.8.0/0000755000175000017500000000000011574231223011443 5ustar eikeeikepondus-0.8.0/NEWS0000644000175000017500000001554711574231216012160 0ustar eikeeikePondus NEWS ============= 2011-06-09: Version 0.8.0 -------------------------- * *Bump minimum required version of python to 2.5* * Add options to track bodyfat, muscle and water percentage (can be activated in preferences) * Add option to add notes to datasets (can be activated in preferences) * Plot bodyfat, muscle or water using second y-axis in graph * Set default plot range to ``Last Year'' and replace ``Last 3 months'' with ``Last 6 months'' * Display bodyfat, muscle, water and notes as tooltips in main window * Add Finnish translation (Thanks Esa Rautiainen) * Add Hebrew translation (Thanks Yaron Shahrabani) * Add Russian translation (Thanks Alex Slabchenko) * Add Turkish translation (Thanks Muhammet Kara) * Updated translations: bg, de, sv 2011-01-21: Version 0.7.3 -------------------------- * Make add/edit dialog transient (Thanks niqueco for the initial patch) * Documentation updates: official homepage is now at bitbucket * Add Bulgarian translation (Thanks Yasen Pramatarov) * Add Esperanto translation (Thanks Axel Rousseau) * Updated translations: fr 2010-02-14: Version 0.7.2 -------------------------- * Disable threaded import on non-POSIX platforms; did not work on windows 2010-01-25: Version 0.7.1 -------------------------- * Update date range when in-/excluding the plan in the plot if necessary * Add Swedish translation (Thanks Peter Landgren) * Updated translations: it 2009-12-20: Version 0.7.0 -------------------------- * *Switch to MIT license*: http://www.opensource.org/licenses/mit-license.php * *Bump minimum required version of pygtk to 2.12* * Import matplotlib in a separate thread in the background to reduce startup time. Plotting is enabled once the import is completed. * Add ``Last 3 Months'' daterange to plot dialog and make it default if the weight history goes further back than 3 months and if measurements exist in the last 3 months * When using imperial units, interpret csv-im-/exported data as lbs * Fix crash when trying to smooth nonexistent data * Add more tooltips to improve usability * Minor performance improvements and code cleanup * Updated translations: de, es, pl 2009-07-19: Version 0.6.0 -------------------------- * The weight plot can be smoothed to filter out short-term fluctations and to emphasize the general trend of the weight (Thanks Stefano Maggiolo for the initial patch) * Add option to replace the date entry with a calendar widget in the add/edit dialog (Thanks Stefano Costa for the initial patch) * Use a spinbutton for entering the weight in the add/edit dialog * Fix visibility of edit-/quit-button in toolbar with recent versions of pygtk * Minor usability tweaks to the plot dialog * Add information about the used format to the xml-file to ease future conversions to new formats * Add Polish translation (Thanks Adam Piotrowicz) * Updated translations: de, fr 2008-12-10: Version 0.5.3 -------------------------- * Fix crash on first startup * Remove shebang from non-executable files (Thanks Sindre Pedersen Bjørdal for the patch) 2008-12-07: Version 0.5.2 -------------------------- * Add a file lock to prevent two instances of pondus from editing the same file * Enable editing the selected row with `CTR-e` again * Quit pondus with `CTR-q` * Fix xml parsing problems when height element is missing * Add Italian translation (Thanks Stefano Costa) * Updated translations: de, es 2008-09-05: Version 0.5.1 -------------------------- * Fix crash on first startup 2008-09-02: Version 0.5.0 --------------------------- * Allow user to enter his/her height and to plot the body mass index * Move option to plot the weight plan from the preferences dialog to the plot dialog * Restructure xml scheme: all user data is now saved in a single file at `~/.pondus/user_data.xml` and weight is always saved as kg * Fix sensitivity of plot action when not using weight planner * Require python-elementtree (only for python < 2.5) * Add Spanish translation (Thanks Enrique José Hernández Blasco) * Add Columbian Spanish translation (Thanks Abdón Sánchez) 2008-05-16: Version 0.4.1 --------------------------- * Fix crash if matplotlib is not available (Thanks Jorge Maroto) * Add French translation (Thanks Fabrice Haberer-Proust) 2008-04-12: Version 0.4.0 --------------------------- * Add an optional weight planner to define ``target weights'' for the future and an option to plot the plan for comparison with the measured weight * Add CSV Im-/Export dialogs * Update plot if `Enter` is pressed in one of the date entry fields * The edit dialog can no longer be opened with `CTR-e` or the toolbar button, please use `Enter` or double-click instead 2008-03-06: Version 0.3.0 --------------------------- * Add preferences dialog: - Option to use `kg` or `lbs` as the weight unit - Option to remember window size * Plot can be saved to a file * Disable plotting functions if matplotlib is not available to make matplotlib only recommended, but not required. * Require pygtk >= 2.6 * Drop build dependency on gettext 2008-02-19: Version 0.2.0 --------------------------- * Internationalization Support: Pondus can now be translated to languages other than English; see `po/README` for details on how to create a new translation. * Select and scroll to newly created dataset after add * Custom date range in plot: User can provide start/end date * Add German translation 2008-02-01: Version 0.1.0 --------------------------- * Pondus now has an icon/logo * add/edit dialog: pressing `Enter` in one of the entry fields has the same effect as clicking `OK`, i.e. adds/edits the dataset * fix bugs in plot if no datasets are selected * code cleanup 2008-01-26: Version 0.0.6 --------------------------- * plotting weight vs time is enabled * `+` and `-` can be used to increment/decrement date and weight in the add/edit dataset dialog * `,` can be used instead of `.` as the decimal separator in the add/edit dataset dialog * code cleanup and documentation updates * a Windows installer is provided * install manpage and documentation * requires Python >= 2.4 due to use of generator expressions 2008-01-06: Version 0.0.5 --------------------------- * enable command line option parsing * code cleanup, performance improvements and documentation updates 2008-01-02: Version 0.0.4 --------------------------- * add ability to edit datasets * alternate background color of rows in main window * add desktop file 2007-12-30: Version 0.0.3 --------------------------- * use uimanager for the toolbar to have keybindings and tooltips * include a manpage * remove button only active when a dataset is selected 2007-12-10: Version 0.0.2 --------------------------- * disable tooltips for now as they require pygtk >= 2.12, which is not yet available on every system 2007-12-09: Version 0.0.1 --------------------------- * initial release pondus-0.8.0/po/0000755000175000017500000000000011574231223012061 5ustar eikeeikepondus-0.8.0/po/README0000644000175000017500000000162311574231216012745 0ustar eikeeikeHandling Translations for Pondus ================================== Transifex ----------- Translations can be created or updated via https://www.transifex.net/projects/p/pondus/[Transifex]. The manual way ---------------- Creating a new translation: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Run `msginit` in `po/` and follow the instructions. Alternatively, you can also copy `pondus.pot` to `LL.po` (where LL is your language code) and edit the header manually. Translate the strings and send the resulting `LL.po` to mailto:pondus-dev@lists.berlios.de[] Updating a translation: ~~~~~~~~~~~~~~~~~~~~~~~~~ Shortly before new releases, a notification will be sent to the mailing list asking for an update of the translations. Then, you can download the `LL.po` file from the hg repository, translate new strings, correct changed strings and send the resulting `LL.po` to mailto:pondus-dev@lists.berlios.de[] pondus-0.8.0/po/he.po0000644000175000017500000002601111574231216013017 0ustar eikeeike# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # eike , 2011 msgid "" msgstr "" "Project-Id-Version: pondus\n" "Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues\n" "POT-Creation-Date: 2011-05-28 20:39+0200\n" "PO-Revision-Date: 2011-05-26 17:41+0000\n" "Last-Translator: eike \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" #: ../pondus/backends/csv_backend.py:22 msgid "weight.csv" msgstr "weight.csv" #: ../pondus/core/util.py:47 msgid "kg" msgstr "ק״ג" #: ../pondus/core/util.py:49 msgid "lbs" msgstr "ליברות" #: ../pondus/core/filelock.py:40 msgid "Datafile locked, continue?" msgstr "קובץ הנתונים נעול, האם להמשיך?" #: ../pondus/core/filelock.py:41 msgid "" "Another instance of pondus seems to be editing the same datafile. Do you " "really want to continue and loose all the changes from the other instance?" msgstr "" "מסתבר כי עותק נוסף של Pondus עורך את אותו קובץ הנתונים. האם אכן ברצונך " "להמשיך ולאבד את כל השינויים מהעותק הנוכחי?" #: ../pondus/core/initialize.py:44 #, python-format msgid "Could not find %s" msgstr "לא ניתן למצוא %s" #: ../pondus/core/initialize.py:55 msgid "Please make sure pygtk is installed." msgstr "נא לוודא שה־pygtk הזה מותקן." #: ../pondus/core/initialize.py:95 #, python-format msgid "Not owning the file lock. Backing up the data to %s" msgstr "נעילת הקובץ אינה בלעדית לך. הנתונים יגובו אל %s" #: ../pondus/core/plot.py:23 ../pondus/gui/dialog_plot.py:73 #: ../pondus/gui/dialog_plot.py:97 ../pondus/gui/dialog_add.py:78 #: ../pondus/gui/window_main.py:124 msgid "Weight" msgstr "משקל" #: ../pondus/core/plot.py:24 ../pondus/gui/dialog_plot.py:88 #: ../pondus/gui/dialog_plot.py:109 msgid "Body Mass Index" msgstr "אינדקס מסת הגוף" #: ../pondus/core/plot.py:25 ../pondus/gui/dialog_plot.py:76 #: ../pondus/gui/dialog_plot.py:99 ../pondus/gui/dialog_add.py:256 #: ../pondus/gui/guiutil.py:53 msgid "Bodyfat" msgstr "" #: ../pondus/core/plot.py:26 ../pondus/gui/dialog_plot.py:79 #: ../pondus/gui/dialog_plot.py:102 ../pondus/gui/dialog_add.py:258 #: ../pondus/gui/guiutil.py:56 msgid "Muscle" msgstr "" #: ../pondus/core/plot.py:27 ../pondus/gui/dialog_plot.py:82 #: ../pondus/gui/dialog_plot.py:104 ../pondus/gui/dialog_add.py:260 #: ../pondus/gui/guiutil.py:59 msgid "Water" msgstr "" #: ../pondus/core/plot.py:113 #, python-format msgid "Saving plot to %s" msgstr "שמירת הרישום אל %s" #: ../pondus/core/option_parser.py:38 #, python-format msgid "Reading file %s" msgstr "הקובץ נקרא %s" #: ../pondus/core/option_parser.py:43 msgid "You passed a directory, not a file!" msgstr "זוהי תיקייה, לא קובץ!" #: ../pondus/core/option_parser.py:45 msgid "Using the standard file ~/.pondus/user_data.xml instead." msgstr "נעשה שימוש בקובץ התקני ‎~/.pondus/user_data.xml במקום." #: ../pondus/gui/dialog_csv.py:39 ../pondus/gui/window_main.py:134 msgid "Weight Measurements" msgstr "מדידות משקל" #: ../pondus/gui/dialog_csv.py:44 msgid "Weight Plan" msgstr "תכנית משקל" #: ../pondus/gui/dialog_csv.py:88 ../pondus/gui/window_main.py:93 msgid "CSV Export" msgstr "יצוא CSV" #: ../pondus/gui/dialog_csv.py:89 msgid "Data to export:" msgstr "נתונים ליצוא:" #: ../pondus/gui/dialog_csv.py:90 msgid "CSV File to save to:" msgstr "קובץ CSV לשמירה:" #: ../pondus/gui/dialog_csv.py:104 msgid "Export successful" msgstr "היצוא הצליח" #: ../pondus/gui/dialog_csv.py:105 msgid "The export was successful." msgstr "היצוא הסתיים בהצלחה." #: ../pondus/gui/dialog_csv.py:121 ../pondus/gui/window_main.py:92 msgid "CSV Import" msgstr "יבוא CSV" #: ../pondus/gui/dialog_csv.py:122 msgid "Import data to:" msgstr "יבוא נתונים אל:" #: ../pondus/gui/dialog_csv.py:123 msgid "CSV File to read from:" msgstr "קובץ CSV לקרוא ממנו:" #: ../pondus/gui/dialog_csv.py:134 msgid "Error: Not a valid File" msgstr "שגיאה: לא קובץ תקני" #: ../pondus/gui/dialog_csv.py:135 msgid "The given path does not point to a valid file!" msgstr "הנתיב הנתון אינו מפנה אל קובץ תקני!" #: ../pondus/gui/dialog_csv.py:146 msgid "Import successful" msgstr "היבוא הושלם" #: ../pondus/gui/dialog_csv.py:147 msgid "The import was successful." msgstr "היבוא הסתיים בהצלחה." #: ../pondus/gui/dialog_csv.py:150 msgid "Import not successful" msgstr "היבוא לא הצליח" #: ../pondus/gui/dialog_csv.py:151 msgid "An error occured during the import." msgstr "אירעה שגיאה במהלך היבוא." #: ../pondus/gui/dialog_plot.py:32 msgid "Plot Weight" msgstr "רישום משקל" #: ../pondus/gui/dialog_plot.py:41 msgid "Select Date Range:" msgstr "בחירת טווח תאריכים:" #: ../pondus/gui/dialog_plot.py:46 msgid "Start date" msgstr "תאריך ההתחלה" #: ../pondus/gui/dialog_plot.py:52 msgid "End date" msgstr "תאריך הסיום" #: ../pondus/gui/dialog_plot.py:57 msgid "Select date range of plot" msgstr "נא לבחור טווח תאריכים לתוואי" #: ../pondus/gui/dialog_plot.py:58 msgid "All Time" msgstr "כל הזמן" #: ../pondus/gui/dialog_plot.py:59 msgid "Last Year" msgstr "שנה שעברה" #: ../pondus/gui/dialog_plot.py:60 msgid "Last 6 Months" msgstr "" #: ../pondus/gui/dialog_plot.py:61 msgid "Last Month" msgstr "החודש הקודם" #: ../pondus/gui/dialog_plot.py:62 msgid "Custom" msgstr "התאמה אישית" #: ../pondus/gui/dialog_plot.py:69 msgid "Data Left:" msgstr "" #: ../pondus/gui/dialog_plot.py:85 ../pondus/gui/dialog_plot.py:106 msgid "" "To plot your BMI, you need to enter your height in the preferences dialog." msgstr "" "כדי לערוך רישום של ה־BMI שלך עליך להזין את הגובה שלך בתיבת דו־שיח ההעדפות." #: ../pondus/gui/dialog_plot.py:93 msgid "Right:" msgstr "" #: ../pondus/gui/dialog_plot.py:110 msgid "None" msgstr "" #: ../pondus/gui/dialog_plot.py:117 msgid "Smooth" msgstr "חלק" #: ../pondus/gui/dialog_plot.py:121 msgid "Show Plan" msgstr "" #: ../pondus/gui/dialog_plot.py:125 msgid "The weight planner can be enabled in the preferences dialog." msgstr "ניתן להפעיל את מתכנן המשקל בתיבת הדו־שיח העדפות." #: ../pondus/gui/dialog_plot.py:130 msgid "Save Plot" msgstr "שמירת הרישום" #: ../pondus/gui/dialog_plot.py:162 ../pondus/gui/dialog_plot.py:167 #: ../pondus/gui/dialog_add.py:181 msgid "Error: Wrong Format" msgstr "שגיאה: המבנה שגוי" #: ../pondus/gui/dialog_plot.py:163 ../pondus/gui/dialog_add.py:182 msgid "The data entered is not in the correct format!" msgstr "הנתונים שהוזנו אינם במבנה הנכון!" #: ../pondus/gui/dialog_plot.py:168 msgid "The start date has to be before the end date!" msgstr "על תאריך ההתחלה להיות לפני תאריך הסיום!" #: ../pondus/gui/dialog_plot.py:198 msgid "weight_plot.png" msgstr "רישום_משקל.png" #: ../pondus/gui/dialog_add.py:42 msgid "Edit Dataset" msgstr "עריכת מערך הנתונים" #: ../pondus/gui/dialog_add.py:44 msgid "Add Dataset" msgstr "הוספת מערך נתונים" #: ../pondus/gui/dialog_add.py:51 ../pondus/gui/window_main.py:123 msgid "Date" msgstr "תאריך" #: ../pondus/gui/dialog_add.py:65 msgid "Date (YYYY-MM-DD)" msgstr "" #: ../pondus/gui/dialog_add.py:109 ../pondus/gui/guiutil.py:62 msgid "Note" msgstr "" #: ../pondus/gui/dialog_preferences.py:27 ../pondus/gui/window_main.py:68 msgid "Preferences" msgstr "העדפות" #: ../pondus/gui/dialog_preferences.py:31 msgid "User Height:" msgstr "גובה המשתמש:" #: ../pondus/gui/dialog_preferences.py:55 msgid "m" msgstr "מ׳" #: ../pondus/gui/dialog_preferences.py:56 msgid "cm" msgstr "ס״מ" #: ../pondus/gui/dialog_preferences.py:57 msgid "ft" msgstr "רגל" #: ../pondus/gui/dialog_preferences.py:58 msgid "in" msgstr "אינ׳" #: ../pondus/gui/dialog_preferences.py:79 msgid "Preferred Unit System:" msgstr "מערכת היחידות המועדפת:" #: ../pondus/gui/dialog_preferences.py:83 msgid "metric" msgstr "מטרית" #: ../pondus/gui/dialog_preferences.py:89 msgid "imperial" msgstr "אימפריאלית" #: ../pondus/gui/dialog_preferences.py:97 msgid "Enable Weight Planner" msgstr "הפעל מתכנן המשקל" #: ../pondus/gui/dialog_preferences.py:103 msgid "Track Bodyfat" msgstr "" #: ../pondus/gui/dialog_preferences.py:109 msgid "Track Muscle" msgstr "" #: ../pondus/gui/dialog_preferences.py:115 msgid "Track Water" msgstr "" #: ../pondus/gui/dialog_preferences.py:121 msgid "Append Notes to Datasets" msgstr "" #: ../pondus/gui/dialog_preferences.py:128 msgid "Use Calendar in Add Dialog" msgstr "שימוש בלוח שנה בדו־שיח ההוספה" #: ../pondus/gui/dialog_preferences.py:132 msgid "" "Use a calendar widget instead of a text entry to enter dates in the add/edit" " dialog" msgstr "" "שימוש בחלונית לוח שנה במקום הזנת טקסט כדי להזין תאריכים בתיבת הדו־שיח " "להוספה/עריכה" #: ../pondus/gui/dialog_preferences.py:136 msgid "Remember Window Size" msgstr "שמירת ממדי החלון" #: ../pondus/gui/dialog_select_file.py:24 msgid "Select File" msgstr "בחירת קובץ" #: ../pondus/gui/window_main.py:60 msgid "Add dataset" msgstr "הוספת מערך נתונים" #: ../pondus/gui/window_main.py:62 msgid "Edit selected dataset" msgstr "עריכת מערך הנתונים הנבחר" #: ../pondus/gui/window_main.py:64 msgid "Delete selected dataset" msgstr "מחיקת מערך הנתונים הנבחר" #: ../pondus/gui/window_main.py:65 msgid "Plot" msgstr "רישום" #: ../pondus/gui/window_main.py:66 msgid "Matplotlib not available!" msgstr "Matplotlib אינה זמינה!" #: ../pondus/gui/window_main.py:70 msgid "Quit" msgstr "יציאה" #: ../pondus/gui/window_main.py:135 msgid "Weight Planner" msgstr "מתכנן המשקל" #: ../pondus/gui/window_main.py:187 msgid "Remove Data?" msgstr "האם להסיר את הנתונים?" #: ../pondus/gui/window_main.py:188 msgid "Do you really want to delete this dataset?" msgstr "האם אכן ברצונך למחוק מערך נתונים זה?" #: ../pondus/gui/window_main.py:368 msgid "python-matplotlib is not installed, plotting disabled!" msgstr "הספרייה python-matplotlib אינה מותקנת, הרישום מנוטרל!" #: ../pondus/gui/window_main.py:378 msgid "Plot weight data" msgstr "רישום נתוני המשקל" #: ../pondus/gui/dialog_save_file.py:24 msgid "Save to File" msgstr "שמירה לקובץ" #: ../pondus/gui/dialog_save_file.py:30 msgid "Save as File Type:" msgstr "שמירת הקובץ כסוג:" pondus-0.8.0/po/es.po0000644000175000017500000002475311574231216013045 0ustar eikeeike# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # eike , 2011 msgid "" msgstr "" "Project-Id-Version: pondus\n" "Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues\n" "POT-Creation-Date: 2011-05-28 20:39+0200\n" "PO-Revision-Date: 2011-05-26 17:41+0000\n" "Last-Translator: eike \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" #: ../pondus/backends/csv_backend.py:22 msgid "weight.csv" msgstr "peso.csv" #: ../pondus/core/util.py:47 msgid "kg" msgstr "kg" #: ../pondus/core/util.py:49 msgid "lbs" msgstr "lbs" #: ../pondus/core/filelock.py:40 msgid "Datafile locked, continue?" msgstr "Archivo de datos bloqueado, ¿continuar?" #: ../pondus/core/filelock.py:41 msgid "" "Another instance of pondus seems to be editing the same datafile. Do you " "really want to continue and loose all the changes from the other instance?" msgstr "" "Otra instancia de pondus parece estar editando el mismo archivo de datos. " "¿Realmente quieres continuar y perder todos los cambios de la otra " "instancia?" #: ../pondus/core/initialize.py:44 #, python-format msgid "Could not find %s" msgstr "No se pudo encontrar %s" #: ../pondus/core/initialize.py:55 msgid "Please make sure pygtk is installed." msgstr "Por favor, comprueba que la librería pygtk está instalada" #: ../pondus/core/initialize.py:95 #, python-format msgid "Not owning the file lock. Backing up the data to %s" msgstr "" "No tiene permisos sobre el Archivo. Guardando copia de seguridad de los " "datos a %s" #: ../pondus/core/plot.py:23 ../pondus/gui/dialog_plot.py:73 #: ../pondus/gui/dialog_plot.py:97 ../pondus/gui/dialog_add.py:78 #: ../pondus/gui/window_main.py:124 msgid "Weight" msgstr "Peso" #: ../pondus/core/plot.py:24 ../pondus/gui/dialog_plot.py:88 #: ../pondus/gui/dialog_plot.py:109 msgid "Body Mass Index" msgstr "Índice de Masa Corporal" #: ../pondus/core/plot.py:25 ../pondus/gui/dialog_plot.py:76 #: ../pondus/gui/dialog_plot.py:99 ../pondus/gui/dialog_add.py:256 #: ../pondus/gui/guiutil.py:53 msgid "Bodyfat" msgstr "" #: ../pondus/core/plot.py:26 ../pondus/gui/dialog_plot.py:79 #: ../pondus/gui/dialog_plot.py:102 ../pondus/gui/dialog_add.py:258 #: ../pondus/gui/guiutil.py:56 msgid "Muscle" msgstr "" #: ../pondus/core/plot.py:27 ../pondus/gui/dialog_plot.py:82 #: ../pondus/gui/dialog_plot.py:104 ../pondus/gui/dialog_add.py:260 #: ../pondus/gui/guiutil.py:59 msgid "Water" msgstr "" #: ../pondus/core/plot.py:113 #, python-format msgid "Saving plot to %s" msgstr "Guardando el gráfico a %s" #: ../pondus/core/option_parser.py:38 #, python-format msgid "Reading file %s" msgstr "Leyendo archivo %s" #: ../pondus/core/option_parser.py:43 msgid "You passed a directory, not a file!" msgstr "Esto es un directorio, no un archivo" #: ../pondus/core/option_parser.py:45 msgid "Using the standard file ~/.pondus/user_data.xml instead." msgstr "Usando el fichero estándar ~/.pondus/user_data.xml" #: ../pondus/gui/dialog_csv.py:39 ../pondus/gui/window_main.py:134 msgid "Weight Measurements" msgstr "Medidas de peso" #: ../pondus/gui/dialog_csv.py:44 msgid "Weight Plan" msgstr "Plan de peso" #: ../pondus/gui/dialog_csv.py:88 ../pondus/gui/window_main.py:93 msgid "CSV Export" msgstr "Exportar a CSV " #: ../pondus/gui/dialog_csv.py:89 msgid "Data to export:" msgstr "Datos a exportar" #: ../pondus/gui/dialog_csv.py:90 msgid "CSV File to save to:" msgstr "Archivo CSV para guardar en:" #: ../pondus/gui/dialog_csv.py:104 msgid "Export successful" msgstr "Exportación realizada con éxito" #: ../pondus/gui/dialog_csv.py:105 msgid "The export was successful." msgstr "La exportación fue realizada con éxito" #: ../pondus/gui/dialog_csv.py:121 ../pondus/gui/window_main.py:92 msgid "CSV Import" msgstr "Importar CSV " #: ../pondus/gui/dialog_csv.py:122 msgid "Import data to:" msgstr "Importar datos de:" #: ../pondus/gui/dialog_csv.py:123 msgid "CSV File to read from:" msgstr "Archivo CSV para leer desde: " #: ../pondus/gui/dialog_csv.py:134 msgid "Error: Not a valid File" msgstr "Error: El Archivo no es válido" #: ../pondus/gui/dialog_csv.py:135 msgid "The given path does not point to a valid file!" msgstr "La ruta dada no indica a un fichero válido" #: ../pondus/gui/dialog_csv.py:146 msgid "Import successful" msgstr "Importación con éxito" #: ../pondus/gui/dialog_csv.py:147 msgid "The import was successful." msgstr "La importación se realizó con éxito" #: ../pondus/gui/dialog_csv.py:150 msgid "Import not successful" msgstr "Importación sin éxito" #: ../pondus/gui/dialog_csv.py:151 msgid "An error occured during the import." msgstr "Un error occurrió durante la importación" #: ../pondus/gui/dialog_plot.py:32 msgid "Plot Weight" msgstr "Gráfico del peso" #: ../pondus/gui/dialog_plot.py:41 msgid "Select Date Range:" msgstr "Seleccionar Rango de Fechas" #: ../pondus/gui/dialog_plot.py:46 msgid "Start date" msgstr "Fecha de comienzo" #: ../pondus/gui/dialog_plot.py:52 msgid "End date" msgstr "Fecha de finalización" #: ../pondus/gui/dialog_plot.py:57 msgid "Select date range of plot" msgstr "Seleccionar Rango de Fechas" #: ../pondus/gui/dialog_plot.py:58 msgid "All Time" msgstr "Todo el tiempo" #: ../pondus/gui/dialog_plot.py:59 msgid "Last Year" msgstr "Último Año" #: ../pondus/gui/dialog_plot.py:60 msgid "Last 6 Months" msgstr "Últimos 6 Meses" #: ../pondus/gui/dialog_plot.py:61 msgid "Last Month" msgstr "Último Mes" #: ../pondus/gui/dialog_plot.py:62 msgid "Custom" msgstr "Costumbre" #: ../pondus/gui/dialog_plot.py:69 msgid "Data Left:" msgstr "" #: ../pondus/gui/dialog_plot.py:85 ../pondus/gui/dialog_plot.py:106 msgid "" "To plot your BMI, you need to enter your height in the preferences dialog." msgstr "" "Para hacer el gráfico de tu IMC debes introducir tu altura en preferencias" #: ../pondus/gui/dialog_plot.py:93 msgid "Right:" msgstr "" #: ../pondus/gui/dialog_plot.py:110 msgid "None" msgstr "" #: ../pondus/gui/dialog_plot.py:117 msgid "Smooth" msgstr "Suave" #: ../pondus/gui/dialog_plot.py:121 msgid "Show Plan" msgstr "" #: ../pondus/gui/dialog_plot.py:125 msgid "The weight planner can be enabled in the preferences dialog." msgstr "El planificador de peso puede ser activado en Preferencias" #: ../pondus/gui/dialog_plot.py:130 msgid "Save Plot" msgstr "Guardar Gráfico" #: ../pondus/gui/dialog_plot.py:162 ../pondus/gui/dialog_plot.py:167 #: ../pondus/gui/dialog_add.py:181 msgid "Error: Wrong Format" msgstr "Error: formato incorrecto" #: ../pondus/gui/dialog_plot.py:163 ../pondus/gui/dialog_add.py:182 msgid "The data entered is not in the correct format!" msgstr "¡Los datos introducidos no están en el formato correcto!" #: ../pondus/gui/dialog_plot.py:168 msgid "The start date has to be before the end date!" msgstr "La fecha de inicio tiene que ser anterior a la fecha final" #: ../pondus/gui/dialog_plot.py:198 msgid "weight_plot.png" msgstr "grafico_peso.png" #: ../pondus/gui/dialog_add.py:42 msgid "Edit Dataset" msgstr "Editar conjunto de datos" #: ../pondus/gui/dialog_add.py:44 msgid "Add Dataset" msgstr "Añadir conjunto de datos" #: ../pondus/gui/dialog_add.py:51 ../pondus/gui/window_main.py:123 msgid "Date" msgstr "Fecha" #: ../pondus/gui/dialog_add.py:65 msgid "Date (YYYY-MM-DD)" msgstr "Fecha (AAAA-MM-DD)" #: ../pondus/gui/dialog_add.py:109 ../pondus/gui/guiutil.py:62 msgid "Note" msgstr "" #: ../pondus/gui/dialog_preferences.py:27 ../pondus/gui/window_main.py:68 msgid "Preferences" msgstr "Preferencias" #: ../pondus/gui/dialog_preferences.py:31 msgid "User Height:" msgstr "Altura del Usuario" #: ../pondus/gui/dialog_preferences.py:55 msgid "m" msgstr "m" #: ../pondus/gui/dialog_preferences.py:56 msgid "cm" msgstr "cm" #: ../pondus/gui/dialog_preferences.py:57 msgid "ft" msgstr "pies" #: ../pondus/gui/dialog_preferences.py:58 msgid "in" msgstr "pulgadas" #: ../pondus/gui/dialog_preferences.py:79 msgid "Preferred Unit System:" msgstr "Sistema de Medida Seleccionado" #: ../pondus/gui/dialog_preferences.py:83 msgid "metric" msgstr "métrico" #: ../pondus/gui/dialog_preferences.py:89 msgid "imperial" msgstr "imperial" #: ../pondus/gui/dialog_preferences.py:97 msgid "Enable Weight Planner" msgstr "Usar Planificador de Peso:" #: ../pondus/gui/dialog_preferences.py:103 msgid "Track Bodyfat" msgstr "" #: ../pondus/gui/dialog_preferences.py:109 msgid "Track Muscle" msgstr "" #: ../pondus/gui/dialog_preferences.py:115 msgid "Track Water" msgstr "" #: ../pondus/gui/dialog_preferences.py:121 msgid "Append Notes to Datasets" msgstr "" #: ../pondus/gui/dialog_preferences.py:128 msgid "Use Calendar in Add Dialog" msgstr "Usar Calendario en el Cuadro de añadir datos" #: ../pondus/gui/dialog_preferences.py:132 msgid "" "Use a calendar widget instead of a text entry to enter dates in the add/edit" " dialog" msgstr "" "Usa un widget de calentario en vez de una entrada de texto para ñadir fechas" " en el diálogo añadir/editar" #: ../pondus/gui/dialog_preferences.py:136 msgid "Remember Window Size" msgstr "Recordar el tamaño de ventana" #: ../pondus/gui/dialog_select_file.py:24 msgid "Select File" msgstr "Seleccionar Archivo" #: ../pondus/gui/window_main.py:60 msgid "Add dataset" msgstr "Añadir conjunto de datos" #: ../pondus/gui/window_main.py:62 msgid "Edit selected dataset" msgstr "Editar conjunto de datos seleccionado" #: ../pondus/gui/window_main.py:64 msgid "Delete selected dataset" msgstr "Borrar conjunto de datos seleccionado" #: ../pondus/gui/window_main.py:65 msgid "Plot" msgstr "Gráfico" #: ../pondus/gui/window_main.py:66 msgid "Matplotlib not available!" msgstr "Matplotlib no está disponible" #: ../pondus/gui/window_main.py:70 msgid "Quit" msgstr "Salir" #: ../pondus/gui/window_main.py:135 msgid "Weight Planner" msgstr "Planificador de Peso" #: ../pondus/gui/window_main.py:187 msgid "Remove Data?" msgstr "¿Borrar datos?" #: ../pondus/gui/window_main.py:188 msgid "Do you really want to delete this dataset?" msgstr "¿Realmente quieres borrar este conjunto de datos?" #: ../pondus/gui/window_main.py:368 msgid "python-matplotlib is not installed, plotting disabled!" msgstr "python-Matplotlib no está instalado, gráfico deshabilitado" #: ../pondus/gui/window_main.py:378 msgid "Plot weight data" msgstr "Gráfico del peso" #: ../pondus/gui/dialog_save_file.py:24 msgid "Save to File" msgstr "Guardar a Archivo" #: ../pondus/gui/dialog_save_file.py:30 msgid "Save as File Type:" msgstr "Guardar como:" pondus-0.8.0/po/fr.po0000644000175000017500000002500311574231216013032 0ustar eikeeike# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # eike , 2011 msgid "" msgstr "" "Project-Id-Version: pondus\n" "Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues\n" "POT-Creation-Date: 2011-05-28 20:39+0200\n" "PO-Revision-Date: 2011-05-26 17:41+0000\n" "Last-Translator: eike \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" #: ../pondus/backends/csv_backend.py:22 msgid "weight.csv" msgstr "poids.csv" #: ../pondus/core/util.py:47 msgid "kg" msgstr "kg" #: ../pondus/core/util.py:49 msgid "lbs" msgstr "livres" #: ../pondus/core/filelock.py:40 msgid "Datafile locked, continue?" msgstr "Fichier de données déjà utilisé, continuer ?" #: ../pondus/core/filelock.py:41 msgid "" "Another instance of pondus seems to be editing the same datafile. Do you " "really want to continue and loose all the changes from the other instance?" msgstr "" "Une autre instance de pondus semble être en train d'éditer le même fichier " "de données. Voulez-vous vraiment continuer et perdre tous les changements " "effectués par l'autre instance ?" #: ../pondus/core/initialize.py:44 #, python-format msgid "Could not find %s" msgstr "Fichier introuvable: %s" #: ../pondus/core/initialize.py:55 msgid "Please make sure pygtk is installed." msgstr "Veuillez vérifier que pygtk est installé." #: ../pondus/core/initialize.py:95 #, python-format msgid "Not owning the file lock. Backing up the data to %s" msgstr "" "Ne possède pas le fichier de verrouillage. Sauvegarde des données vers %s" #: ../pondus/core/plot.py:23 ../pondus/gui/dialog_plot.py:73 #: ../pondus/gui/dialog_plot.py:97 ../pondus/gui/dialog_add.py:78 #: ../pondus/gui/window_main.py:124 msgid "Weight" msgstr "Poids" #: ../pondus/core/plot.py:24 ../pondus/gui/dialog_plot.py:88 #: ../pondus/gui/dialog_plot.py:109 msgid "Body Mass Index" msgstr "Index de Masse Corporelle (IMC)" #: ../pondus/core/plot.py:25 ../pondus/gui/dialog_plot.py:76 #: ../pondus/gui/dialog_plot.py:99 ../pondus/gui/dialog_add.py:256 #: ../pondus/gui/guiutil.py:53 msgid "Bodyfat" msgstr "" #: ../pondus/core/plot.py:26 ../pondus/gui/dialog_plot.py:79 #: ../pondus/gui/dialog_plot.py:102 ../pondus/gui/dialog_add.py:258 #: ../pondus/gui/guiutil.py:56 msgid "Muscle" msgstr "" #: ../pondus/core/plot.py:27 ../pondus/gui/dialog_plot.py:82 #: ../pondus/gui/dialog_plot.py:104 ../pondus/gui/dialog_add.py:260 #: ../pondus/gui/guiutil.py:59 msgid "Water" msgstr "" #: ../pondus/core/plot.py:113 #, python-format msgid "Saving plot to %s" msgstr "Enregistrer le diagramme sous %s" #: ../pondus/core/option_parser.py:38 #, python-format msgid "Reading file %s" msgstr "Lecture du fichier %s" #: ../pondus/core/option_parser.py:43 msgid "You passed a directory, not a file!" msgstr "Ceci est un répertoire, pas un fichier" #: ../pondus/core/option_parser.py:45 msgid "Using the standard file ~/.pondus/user_data.xml instead." msgstr "Utilisation du fichier standard ~/.pondus/user_data.xml à la place" #: ../pondus/gui/dialog_csv.py:39 ../pondus/gui/window_main.py:134 msgid "Weight Measurements" msgstr "Mesures de poids" #: ../pondus/gui/dialog_csv.py:44 msgid "Weight Plan" msgstr "Planificateur de poids" #: ../pondus/gui/dialog_csv.py:88 ../pondus/gui/window_main.py:93 msgid "CSV Export" msgstr "Exportation CSV" #: ../pondus/gui/dialog_csv.py:89 msgid "Data to export:" msgstr "Données à exporter :" #: ../pondus/gui/dialog_csv.py:90 msgid "CSV File to save to:" msgstr "Fichier CSV à enregistrer sous :" #: ../pondus/gui/dialog_csv.py:104 msgid "Export successful" msgstr "Exportation réussie" #: ../pondus/gui/dialog_csv.py:105 msgid "The export was successful." msgstr "Exportation réussie" #: ../pondus/gui/dialog_csv.py:121 ../pondus/gui/window_main.py:92 msgid "CSV Import" msgstr "Importation CSV" #: ../pondus/gui/dialog_csv.py:122 msgid "Import data to:" msgstr "Importer les données vers :" #: ../pondus/gui/dialog_csv.py:123 msgid "CSV File to read from:" msgstr "Chemin du fichier CSV à importer :" #: ../pondus/gui/dialog_csv.py:134 msgid "Error: Not a valid File" msgstr "Erreur : fichier invalide" #: ../pondus/gui/dialog_csv.py:135 msgid "The given path does not point to a valid file!" msgstr "Le chemin indiqué n'est pas un fichier valide !" #: ../pondus/gui/dialog_csv.py:146 msgid "Import successful" msgstr "Importation réussie" #: ../pondus/gui/dialog_csv.py:147 msgid "The import was successful." msgstr "Importation réussie" #: ../pondus/gui/dialog_csv.py:150 msgid "Import not successful" msgstr "Échec de l'importation" #: ../pondus/gui/dialog_csv.py:151 msgid "An error occured during the import." msgstr "Une erreur s'est produite lors de l'importation" #: ../pondus/gui/dialog_plot.py:32 msgid "Plot Weight" msgstr "Courbe de poids" #: ../pondus/gui/dialog_plot.py:41 msgid "Select Date Range:" msgstr "Plage de dates :" #: ../pondus/gui/dialog_plot.py:46 msgid "Start date" msgstr "Date de début" #: ../pondus/gui/dialog_plot.py:52 msgid "End date" msgstr "Date de fin" #: ../pondus/gui/dialog_plot.py:57 msgid "Select date range of plot" msgstr "" #: ../pondus/gui/dialog_plot.py:58 msgid "All Time" msgstr "Toutes les dates" #: ../pondus/gui/dialog_plot.py:59 msgid "Last Year" msgstr "Année dernière" #: ../pondus/gui/dialog_plot.py:60 msgid "Last 6 Months" msgstr "6 derniers mois" #: ../pondus/gui/dialog_plot.py:61 msgid "Last Month" msgstr "Mois dernier" #: ../pondus/gui/dialog_plot.py:62 msgid "Custom" msgstr "Personnalisé" #: ../pondus/gui/dialog_plot.py:69 msgid "Data Left:" msgstr "" #: ../pondus/gui/dialog_plot.py:85 ../pondus/gui/dialog_plot.py:106 msgid "" "To plot your BMI, you need to enter your height in the preferences dialog." msgstr "" "Pour tracer votre IMC, vous devez saisir votre taille dans les préférences." #: ../pondus/gui/dialog_plot.py:93 msgid "Right:" msgstr "" #: ../pondus/gui/dialog_plot.py:110 msgid "None" msgstr "" #: ../pondus/gui/dialog_plot.py:117 msgid "Smooth" msgstr "Finesse" #: ../pondus/gui/dialog_plot.py:121 msgid "Show Plan" msgstr "" #: ../pondus/gui/dialog_plot.py:125 msgid "The weight planner can be enabled in the preferences dialog." msgstr "Le planificateur de poids peut être activé dans les préférences." #: ../pondus/gui/dialog_plot.py:130 msgid "Save Plot" msgstr "Enregistrer le diagramme" #: ../pondus/gui/dialog_plot.py:162 ../pondus/gui/dialog_plot.py:167 #: ../pondus/gui/dialog_add.py:181 msgid "Error: Wrong Format" msgstr "Erreur : format incorrect" #: ../pondus/gui/dialog_plot.py:163 ../pondus/gui/dialog_add.py:182 msgid "The data entered is not in the correct format!" msgstr "La saisie n'a pas été effectuée au bon format !" #: ../pondus/gui/dialog_plot.py:168 msgid "The start date has to be before the end date!" msgstr "La date de départ doit être antérieure à celle de fin !" #: ../pondus/gui/dialog_plot.py:198 msgid "weight_plot.png" msgstr "courbe_de_poids.png" #: ../pondus/gui/dialog_add.py:42 msgid "Edit Dataset" msgstr "Modifier l'enregistrement" #: ../pondus/gui/dialog_add.py:44 msgid "Add Dataset" msgstr "Nouvel enregistrement" #: ../pondus/gui/dialog_add.py:51 ../pondus/gui/window_main.py:123 msgid "Date" msgstr "Date" #: ../pondus/gui/dialog_add.py:65 msgid "Date (YYYY-MM-DD)" msgstr "Date (AAAA-MM-JJ)" #: ../pondus/gui/dialog_add.py:109 ../pondus/gui/guiutil.py:62 msgid "Note" msgstr "" #: ../pondus/gui/dialog_preferences.py:27 ../pondus/gui/window_main.py:68 msgid "Preferences" msgstr "Options" #: ../pondus/gui/dialog_preferences.py:31 msgid "User Height:" msgstr "Taille de l'utilisateur :" #: ../pondus/gui/dialog_preferences.py:55 msgid "m" msgstr "m" #: ../pondus/gui/dialog_preferences.py:56 msgid "cm" msgstr "cm" #: ../pondus/gui/dialog_preferences.py:57 msgid "ft" msgstr "pieds" #: ../pondus/gui/dialog_preferences.py:58 msgid "in" msgstr "pouces" #: ../pondus/gui/dialog_preferences.py:79 msgid "Preferred Unit System:" msgstr "Système d'unités préféré :" #: ../pondus/gui/dialog_preferences.py:83 msgid "metric" msgstr "métrique" #: ../pondus/gui/dialog_preferences.py:89 msgid "imperial" msgstr "impérial" #: ../pondus/gui/dialog_preferences.py:97 msgid "Enable Weight Planner" msgstr "Activer le planificateur de poids" #: ../pondus/gui/dialog_preferences.py:103 msgid "Track Bodyfat" msgstr "" #: ../pondus/gui/dialog_preferences.py:109 msgid "Track Muscle" msgstr "" #: ../pondus/gui/dialog_preferences.py:115 msgid "Track Water" msgstr "" #: ../pondus/gui/dialog_preferences.py:121 msgid "Append Notes to Datasets" msgstr "" #: ../pondus/gui/dialog_preferences.py:128 msgid "Use Calendar in Add Dialog" msgstr "Utiliser le calendrier dans le menu d'ajout" #: ../pondus/gui/dialog_preferences.py:132 msgid "" "Use a calendar widget instead of a text entry to enter dates in the add/edit" " dialog" msgstr "" "Utiliser un widget calendrier plutôt qu'une entrée texte pour saisir les " "dates dans la fenêtre d'ajout/édition" #: ../pondus/gui/dialog_preferences.py:136 msgid "Remember Window Size" msgstr "Mémoriser la taille de la fenêtre" #: ../pondus/gui/dialog_select_file.py:24 msgid "Select File" msgstr "Choix du fichier" #: ../pondus/gui/window_main.py:60 msgid "Add dataset" msgstr "Nouvel enregistrement" #: ../pondus/gui/window_main.py:62 msgid "Edit selected dataset" msgstr "Éditer la ligne sélectionnée" #: ../pondus/gui/window_main.py:64 msgid "Delete selected dataset" msgstr "Supprimer la ligne sélectionnée" #: ../pondus/gui/window_main.py:65 msgid "Plot" msgstr "Diagramme" #: ../pondus/gui/window_main.py:66 msgid "Matplotlib not available!" msgstr "Matplotlib indisponible !" #: ../pondus/gui/window_main.py:70 msgid "Quit" msgstr "Quitter" #: ../pondus/gui/window_main.py:135 msgid "Weight Planner" msgstr "Planificateur de poids" #: ../pondus/gui/window_main.py:187 msgid "Remove Data?" msgstr "Supprimer l'enregistrement ?" #: ../pondus/gui/window_main.py:188 msgid "Do you really want to delete this dataset?" msgstr "Êtes vous certain(e) de vouloir supprimer cet enregistrement ?" #: ../pondus/gui/window_main.py:368 msgid "python-matplotlib is not installed, plotting disabled!" msgstr "Matplotlib indisponible, tracé désactivé" #: ../pondus/gui/window_main.py:378 msgid "Plot weight data" msgstr "" #: ../pondus/gui/dialog_save_file.py:24 msgid "Save to File" msgstr "Enregistrer dans un fichier" #: ../pondus/gui/dialog_save_file.py:30 msgid "Save as File Type:" msgstr "Type de fichier :" pondus-0.8.0/po/pl.po0000644000175000017500000002401111574231216013034 0ustar eikeeike# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # eike , 2011 msgid "" msgstr "" "Project-Id-Version: pondus\n" "Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues\n" "POT-Creation-Date: 2011-05-28 20:39+0200\n" "PO-Revision-Date: 2011-05-26 17:41+0000\n" "Last-Translator: eike \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" #: ../pondus/backends/csv_backend.py:22 msgid "weight.csv" msgstr "waga.csv" #: ../pondus/core/util.py:47 msgid "kg" msgstr "kg" #: ../pondus/core/util.py:49 msgid "lbs" msgstr "lbs" #: ../pondus/core/filelock.py:40 msgid "Datafile locked, continue?" msgstr "Plik danych jest zablokowany, kontynuować?" #: ../pondus/core/filelock.py:41 msgid "" "Another instance of pondus seems to be editing the same datafile. Do you " "really want to continue and loose all the changes from the other instance?" msgstr "" "Wyglada na to ze inna kopia programu próbuje edytować ten sam plik danych. " "Czy na pewno chcesz kontynuować i utracić wszystkie zmiany z innej kopii " "programu?" #: ../pondus/core/initialize.py:44 #, python-format msgid "Could not find %s" msgstr "Nie można odnaleźć %s" #: ../pondus/core/initialize.py:55 msgid "Please make sure pygtk is installed." msgstr "Upewnij się że pygtk jest zainstalowane." #: ../pondus/core/initialize.py:95 #, python-format msgid "Not owning the file lock. Backing up the data to %s" msgstr "Brak pliku blokady. Zapisywanie kopii danych do %s" #: ../pondus/core/plot.py:23 ../pondus/gui/dialog_plot.py:73 #: ../pondus/gui/dialog_plot.py:97 ../pondus/gui/dialog_add.py:78 #: ../pondus/gui/window_main.py:124 msgid "Weight" msgstr "Waga" #: ../pondus/core/plot.py:24 ../pondus/gui/dialog_plot.py:88 #: ../pondus/gui/dialog_plot.py:109 msgid "Body Mass Index" msgstr "Indeks Masy Ciała" #: ../pondus/core/plot.py:25 ../pondus/gui/dialog_plot.py:76 #: ../pondus/gui/dialog_plot.py:99 ../pondus/gui/dialog_add.py:256 #: ../pondus/gui/guiutil.py:53 msgid "Bodyfat" msgstr "" #: ../pondus/core/plot.py:26 ../pondus/gui/dialog_plot.py:79 #: ../pondus/gui/dialog_plot.py:102 ../pondus/gui/dialog_add.py:258 #: ../pondus/gui/guiutil.py:56 msgid "Muscle" msgstr "" #: ../pondus/core/plot.py:27 ../pondus/gui/dialog_plot.py:82 #: ../pondus/gui/dialog_plot.py:104 ../pondus/gui/dialog_add.py:260 #: ../pondus/gui/guiutil.py:59 msgid "Water" msgstr "" #: ../pondus/core/plot.py:113 #, python-format msgid "Saving plot to %s" msgstr "Zapisywanie wykresu do %s" #: ../pondus/core/option_parser.py:38 #, python-format msgid "Reading file %s" msgstr "Czytanie pliku %s" #: ../pondus/core/option_parser.py:43 msgid "You passed a directory, not a file!" msgstr "To jest katalog a nie plik!" #: ../pondus/core/option_parser.py:45 msgid "Using the standard file ~/.pondus/user_data.xml instead." msgstr "Użycie standardowego pliku ~/.pondus/user_data.xml." #: ../pondus/gui/dialog_csv.py:39 ../pondus/gui/window_main.py:134 msgid "Weight Measurements" msgstr "Pomiary wagi" #: ../pondus/gui/dialog_csv.py:44 msgid "Weight Plan" msgstr "Planner wagi" #: ../pondus/gui/dialog_csv.py:88 ../pondus/gui/window_main.py:93 msgid "CSV Export" msgstr "Eksport do pliku CSV" #: ../pondus/gui/dialog_csv.py:89 msgid "Data to export:" msgstr "Dane do eksportu:" #: ../pondus/gui/dialog_csv.py:90 msgid "CSV File to save to:" msgstr "Plik CSV do zapisania:" #: ../pondus/gui/dialog_csv.py:104 msgid "Export successful" msgstr "Pomyślny eksport" #: ../pondus/gui/dialog_csv.py:105 msgid "The export was successful." msgstr "Eksport zakończył się pomyślnie." #: ../pondus/gui/dialog_csv.py:121 ../pondus/gui/window_main.py:92 msgid "CSV Import" msgstr "Import z pliku CSV" #: ../pondus/gui/dialog_csv.py:122 msgid "Import data to:" msgstr "Importuj dane do:" #: ../pondus/gui/dialog_csv.py:123 msgid "CSV File to read from:" msgstr "Plik CSV do przeczytania:" #: ../pondus/gui/dialog_csv.py:134 msgid "Error: Not a valid File" msgstr "Błąd: niepoprawny plik" #: ../pondus/gui/dialog_csv.py:135 msgid "The given path does not point to a valid file!" msgstr "Podana ścieżka nie prowadzi do poprawnego pliku!" #: ../pondus/gui/dialog_csv.py:146 msgid "Import successful" msgstr "Pomyślny import" #: ../pondus/gui/dialog_csv.py:147 msgid "The import was successful." msgstr "Import zakończył się pomyślnie." #: ../pondus/gui/dialog_csv.py:150 msgid "Import not successful" msgstr "Błąd importu" #: ../pondus/gui/dialog_csv.py:151 msgid "An error occured during the import." msgstr "Wystąpił błąd podczas importu." #: ../pondus/gui/dialog_plot.py:32 msgid "Plot Weight" msgstr "Wykres wagi" #: ../pondus/gui/dialog_plot.py:41 msgid "Select Date Range:" msgstr "Zakres czasu:" #: ../pondus/gui/dialog_plot.py:46 msgid "Start date" msgstr "" #: ../pondus/gui/dialog_plot.py:52 #, fuzzy msgid "End date" msgstr "Edytuj dane" #: ../pondus/gui/dialog_plot.py:57 #, fuzzy msgid "Select date range of plot" msgstr "Zakres czasu:" #: ../pondus/gui/dialog_plot.py:58 msgid "All Time" msgstr "Cały czas" #: ../pondus/gui/dialog_plot.py:59 msgid "Last Year" msgstr "Ostatni rok" #: ../pondus/gui/dialog_plot.py:60 msgid "Last 6 Months" msgstr "" #: ../pondus/gui/dialog_plot.py:61 msgid "Last Month" msgstr "Ostatni miesiąc" #: ../pondus/gui/dialog_plot.py:62 msgid "Custom" msgstr "Własny" #: ../pondus/gui/dialog_plot.py:69 msgid "Data Left:" msgstr "" #: ../pondus/gui/dialog_plot.py:85 ../pondus/gui/dialog_plot.py:106 msgid "" "To plot your BMI, you need to enter your height in the preferences dialog." msgstr "" #: ../pondus/gui/dialog_plot.py:93 msgid "Right:" msgstr "" #: ../pondus/gui/dialog_plot.py:110 msgid "None" msgstr "" #: ../pondus/gui/dialog_plot.py:117 msgid "Smooth" msgstr "Gładki" #: ../pondus/gui/dialog_plot.py:121 msgid "Show Plan" msgstr "" #: ../pondus/gui/dialog_plot.py:125 msgid "The weight planner can be enabled in the preferences dialog." msgstr "" #: ../pondus/gui/dialog_plot.py:130 msgid "Save Plot" msgstr "Zapisz wykres" #: ../pondus/gui/dialog_plot.py:162 ../pondus/gui/dialog_plot.py:167 #: ../pondus/gui/dialog_add.py:181 msgid "Error: Wrong Format" msgstr "Błąd: Nieprawidłowy format" #: ../pondus/gui/dialog_plot.py:163 ../pondus/gui/dialog_add.py:182 msgid "The data entered is not in the correct format!" msgstr "Wprowadzona data ma nieprawidłowy format!" #: ../pondus/gui/dialog_plot.py:168 msgid "The start date has to be before the end date!" msgstr "Data początku musi być wcześniejsza niż data końca!" #: ../pondus/gui/dialog_plot.py:198 msgid "weight_plot.png" msgstr "wykres_wagi.png" #: ../pondus/gui/dialog_add.py:42 msgid "Edit Dataset" msgstr "Edytuj dane" #: ../pondus/gui/dialog_add.py:44 msgid "Add Dataset" msgstr "Dodaj dane" #: ../pondus/gui/dialog_add.py:51 ../pondus/gui/window_main.py:123 msgid "Date" msgstr "Data" #: ../pondus/gui/dialog_add.py:65 msgid "Date (YYYY-MM-DD)" msgstr "Data (YYYY-MM-DD)" #: ../pondus/gui/dialog_add.py:109 ../pondus/gui/guiutil.py:62 msgid "Note" msgstr "" #: ../pondus/gui/dialog_preferences.py:27 ../pondus/gui/window_main.py:68 msgid "Preferences" msgstr "Preferencje" #: ../pondus/gui/dialog_preferences.py:31 msgid "User Height:" msgstr "Wzrost użytkownika:" #: ../pondus/gui/dialog_preferences.py:55 msgid "m" msgstr "m" #: ../pondus/gui/dialog_preferences.py:56 msgid "cm" msgstr "cm" #: ../pondus/gui/dialog_preferences.py:57 msgid "ft" msgstr "ft" #: ../pondus/gui/dialog_preferences.py:58 msgid "in" msgstr "in" #: ../pondus/gui/dialog_preferences.py:79 msgid "Preferred Unit System:" msgstr "System jednostek miar:" #: ../pondus/gui/dialog_preferences.py:83 msgid "metric" msgstr "metryczny" #: ../pondus/gui/dialog_preferences.py:89 msgid "imperial" msgstr "anglosaski" #: ../pondus/gui/dialog_preferences.py:97 #, fuzzy msgid "Enable Weight Planner" msgstr "Użyj plannera wagi" #: ../pondus/gui/dialog_preferences.py:103 msgid "Track Bodyfat" msgstr "" #: ../pondus/gui/dialog_preferences.py:109 msgid "Track Muscle" msgstr "" #: ../pondus/gui/dialog_preferences.py:115 msgid "Track Water" msgstr "" #: ../pondus/gui/dialog_preferences.py:121 msgid "Append Notes to Datasets" msgstr "" #: ../pondus/gui/dialog_preferences.py:128 msgid "Use Calendar in Add Dialog" msgstr "Użyj kalendarza podczas dodawania wpisów" #: ../pondus/gui/dialog_preferences.py:132 msgid "" "Use a calendar widget instead of a text entry to enter dates in the add/edit" " dialog" msgstr "" #: ../pondus/gui/dialog_preferences.py:136 msgid "Remember Window Size" msgstr "Pamiętaj rozmiar okna" #: ../pondus/gui/dialog_select_file.py:24 msgid "Select File" msgstr "Wybierz plik" #: ../pondus/gui/window_main.py:60 #, fuzzy msgid "Add dataset" msgstr "Dodaj dane" #: ../pondus/gui/window_main.py:62 #, fuzzy msgid "Edit selected dataset" msgstr "Edytuj zaznaczoną linię" #: ../pondus/gui/window_main.py:64 #, fuzzy msgid "Delete selected dataset" msgstr "Usuń zaznaczoną linię" #: ../pondus/gui/window_main.py:65 msgid "Plot" msgstr "Wykres" #: ../pondus/gui/window_main.py:66 msgid "Matplotlib not available!" msgstr "Matplotlib jest niedostępny!" #: ../pondus/gui/window_main.py:70 msgid "Quit" msgstr "Wyjście" #: ../pondus/gui/window_main.py:135 msgid "Weight Planner" msgstr "Planner wagi" #: ../pondus/gui/window_main.py:187 msgid "Remove Data?" msgstr "Usunąć dane?" #: ../pondus/gui/window_main.py:188 msgid "Do you really want to delete this dataset?" msgstr "Czy na pewno chcesz usunąć te dane?" #: ../pondus/gui/window_main.py:368 #, fuzzy msgid "python-matplotlib is not installed, plotting disabled!" msgstr "Matplotlib jest niedostępne, tworzenie wykresów niemożliwe!" #: ../pondus/gui/window_main.py:378 msgid "Plot weight data" msgstr "" #: ../pondus/gui/dialog_save_file.py:24 msgid "Save to File" msgstr "Zapis do pliku" #: ../pondus/gui/dialog_save_file.py:30 msgid "Save as File Type:" msgstr "Typ pliku:" pondus-0.8.0/po/ru.po0000644000175000017500000003013711574231216013055 0ustar eikeeike# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # msgid "" msgstr "" "Project-Id-Version: pondus\n" "Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues\n" "POT-Creation-Date: 2011-05-28 20:39+0200\n" "PO-Revision-Date: 2011-05-31 13:24+0000\n" "Last-Translator: Sl_Alex \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" #: ../pondus/backends/csv_backend.py:22 msgid "weight.csv" msgstr "weight.csv" #: ../pondus/core/util.py:47 msgid "kg" msgstr "кг" #: ../pondus/core/util.py:49 msgid "lbs" msgstr "lbs" #: ../pondus/core/filelock.py:40 msgid "Datafile locked, continue?" msgstr "База данных заблокирована, продолжить?" #: ../pondus/core/filelock.py:41 msgid "" "Another instance of pondus seems to be editing the same datafile. Do you " "really want to continue and loose all the changes from the other instance?" msgstr "" "Кажется, другая версия pondus уже редактирует этот файл данных. Вы " "действительно хотите продолжить и потерять все изменения, сделанные в другой" " версии программы?" #: ../pondus/core/initialize.py:44 #, python-format msgid "Could not find %s" msgstr "Невозможно найти %s" #: ../pondus/core/initialize.py:55 msgid "Please make sure pygtk is installed." msgstr "Пожалуйста, убедитесь, что pygtk установлен." #: ../pondus/core/initialize.py:95 #, python-format msgid "Not owning the file lock. Backing up the data to %s" msgstr "" "Не являемся владельцем файла блокировки. Выполняется копирование данных в %s" #: ../pondus/core/plot.py:23 ../pondus/gui/dialog_plot.py:73 #: ../pondus/gui/dialog_plot.py:97 ../pondus/gui/dialog_add.py:78 #: ../pondus/gui/window_main.py:124 msgid "Weight" msgstr "Вес" #: ../pondus/core/plot.py:24 ../pondus/gui/dialog_plot.py:88 #: ../pondus/gui/dialog_plot.py:109 msgid "Body Mass Index" msgstr "Индекс массы тела" #: ../pondus/core/plot.py:25 ../pondus/gui/dialog_plot.py:76 #: ../pondus/gui/dialog_plot.py:99 ../pondus/gui/dialog_add.py:256 #: ../pondus/gui/guiutil.py:53 msgid "Bodyfat" msgstr "Жир" #: ../pondus/core/plot.py:26 ../pondus/gui/dialog_plot.py:79 #: ../pondus/gui/dialog_plot.py:102 ../pondus/gui/dialog_add.py:258 #: ../pondus/gui/guiutil.py:56 msgid "Muscle" msgstr "Мышцы" #: ../pondus/core/plot.py:27 ../pondus/gui/dialog_plot.py:82 #: ../pondus/gui/dialog_plot.py:104 ../pondus/gui/dialog_add.py:260 #: ../pondus/gui/guiutil.py:59 msgid "Water" msgstr "Вода" #: ../pondus/core/plot.py:113 #, python-format msgid "Saving plot to %s" msgstr "График сохраняется в %s" #: ../pondus/core/option_parser.py:38 #, python-format msgid "Reading file %s" msgstr "Чтение файла %s" #: ../pondus/core/option_parser.py:43 msgid "You passed a directory, not a file!" msgstr "Вы передали папку, а не файл!" #: ../pondus/core/option_parser.py:45 msgid "Using the standard file ~/.pondus/user_data.xml instead." msgstr "Используется стандартный файл ~/.pondus/user_data.xml" #: ../pondus/gui/dialog_csv.py:39 ../pondus/gui/window_main.py:134 msgid "Weight Measurements" msgstr "Измерения веса" #: ../pondus/gui/dialog_csv.py:44 msgid "Weight Plan" msgstr "План веса" #: ../pondus/gui/dialog_csv.py:88 ../pondus/gui/window_main.py:93 msgid "CSV Export" msgstr "Экспорт в CSV" #: ../pondus/gui/dialog_csv.py:89 msgid "Data to export:" msgstr "Данные для экспорта" #: ../pondus/gui/dialog_csv.py:90 msgid "CSV File to save to:" msgstr "Имя CSV-файла для сохранения:" #: ../pondus/gui/dialog_csv.py:104 msgid "Export successful" msgstr "Успешно экспортировано" #: ../pondus/gui/dialog_csv.py:105 msgid "The export was successful." msgstr "Экспорт закончился успешно" #: ../pondus/gui/dialog_csv.py:121 ../pondus/gui/window_main.py:92 msgid "CSV Import" msgstr "Импорт CSV" #: ../pondus/gui/dialog_csv.py:122 msgid "Import data to:" msgstr "Импортировать данные в:" #: ../pondus/gui/dialog_csv.py:123 msgid "CSV File to read from:" msgstr "CSV-файл для чтения:" #: ../pondus/gui/dialog_csv.py:134 msgid "Error: Not a valid File" msgstr "Ошибка: Неправильный файл" #: ../pondus/gui/dialog_csv.py:135 msgid "The given path does not point to a valid file!" msgstr "Предоставленный путь не указывает на правильный файл!" #: ../pondus/gui/dialog_csv.py:146 msgid "Import successful" msgstr "Успешно импортировано" #: ../pondus/gui/dialog_csv.py:147 msgid "The import was successful." msgstr "Импорт завершился успешно" #: ../pondus/gui/dialog_csv.py:150 msgid "Import not successful" msgstr "Импорт закончился неудачно" #: ../pondus/gui/dialog_csv.py:151 msgid "An error occured during the import." msgstr "В процессе импорта возникла ошибка" #: ../pondus/gui/dialog_plot.py:32 msgid "Plot Weight" msgstr "График веса" #: ../pondus/gui/dialog_plot.py:41 msgid "Select Date Range:" msgstr "Выберите диапазон данных" #: ../pondus/gui/dialog_plot.py:46 msgid "Start date" msgstr "Начальная дата" #: ../pondus/gui/dialog_plot.py:52 msgid "End date" msgstr "Конечная дата" #: ../pondus/gui/dialog_plot.py:57 msgid "Select date range of plot" msgstr "Выберите диапазон данных для графика" #: ../pondus/gui/dialog_plot.py:58 msgid "All Time" msgstr "Всё время" #: ../pondus/gui/dialog_plot.py:59 msgid "Last Year" msgstr "Последний год" #: ../pondus/gui/dialog_plot.py:60 msgid "Last 6 Months" msgstr "Последние 6 месяцев" #: ../pondus/gui/dialog_plot.py:61 msgid "Last Month" msgstr "Последний месяц" #: ../pondus/gui/dialog_plot.py:62 msgid "Custom" msgstr "Пользовательский" #: ../pondus/gui/dialog_plot.py:69 msgid "Data Left:" msgstr "Данных осталось:" #: ../pondus/gui/dialog_plot.py:85 ../pondus/gui/dialog_plot.py:106 msgid "" "To plot your BMI, you need to enter your height in the preferences dialog." msgstr "Чтобы построить ваш ИМТ, введите свой рост в диалоге настроек" #: ../pondus/gui/dialog_plot.py:93 msgid "Right:" msgstr "Верно:" #: ../pondus/gui/dialog_plot.py:110 msgid "None" msgstr "Нет" #: ../pondus/gui/dialog_plot.py:117 msgid "Smooth" msgstr "Сглаженный" #: ../pondus/gui/dialog_plot.py:121 msgid "Show Plan" msgstr "Показать план" #: ../pondus/gui/dialog_plot.py:125 msgid "The weight planner can be enabled in the preferences dialog." msgstr "Планировщик веса должен быть включен в диалоге настроек." #: ../pondus/gui/dialog_plot.py:130 msgid "Save Plot" msgstr "Сохранить график" #: ../pondus/gui/dialog_plot.py:162 ../pondus/gui/dialog_plot.py:167 #: ../pondus/gui/dialog_add.py:181 msgid "Error: Wrong Format" msgstr "Ошибка: неверный формат" #: ../pondus/gui/dialog_plot.py:163 ../pondus/gui/dialog_add.py:182 msgid "The data entered is not in the correct format!" msgstr "Данные введены в неверном формате!" #: ../pondus/gui/dialog_plot.py:168 msgid "The start date has to be before the end date!" msgstr "Дата начала должна быть меньше даты конца!" #: ../pondus/gui/dialog_plot.py:198 msgid "weight_plot.png" msgstr "weight_plot.png" #: ../pondus/gui/dialog_add.py:42 msgid "Edit Dataset" msgstr "Редактировать данные" #: ../pondus/gui/dialog_add.py:44 msgid "Add Dataset" msgstr "Добавить данные" #: ../pondus/gui/dialog_add.py:51 ../pondus/gui/window_main.py:123 msgid "Date" msgstr "Дата" #: ../pondus/gui/dialog_add.py:65 msgid "Date (YYYY-MM-DD)" msgstr "Дата (ГГГГ-ММ-ДД)" #: ../pondus/gui/dialog_add.py:109 ../pondus/gui/guiutil.py:62 msgid "Note" msgstr "Примечание" #: ../pondus/gui/dialog_preferences.py:27 ../pondus/gui/window_main.py:68 msgid "Preferences" msgstr "Настройки" #: ../pondus/gui/dialog_preferences.py:31 msgid "User Height:" msgstr "Рост пользователя:" #: ../pondus/gui/dialog_preferences.py:55 msgid "m" msgstr "м" #: ../pondus/gui/dialog_preferences.py:56 msgid "cm" msgstr "см" #: ../pondus/gui/dialog_preferences.py:57 msgid "ft" msgstr "ft" #: ../pondus/gui/dialog_preferences.py:58 msgid "in" msgstr "in" #: ../pondus/gui/dialog_preferences.py:79 msgid "Preferred Unit System:" msgstr "Предпочитаемая система единиц:" #: ../pondus/gui/dialog_preferences.py:83 msgid "metric" msgstr "метрическая" #: ../pondus/gui/dialog_preferences.py:89 msgid "imperial" msgstr "дюймовая" #: ../pondus/gui/dialog_preferences.py:97 msgid "Enable Weight Planner" msgstr "Включить планировщик веса" #: ../pondus/gui/dialog_preferences.py:103 msgid "Track Bodyfat" msgstr "Отслеживать жир" #: ../pondus/gui/dialog_preferences.py:109 msgid "Track Muscle" msgstr "Отслеживать мышцы" #: ../pondus/gui/dialog_preferences.py:115 msgid "Track Water" msgstr "Отслеживать воду" #: ../pondus/gui/dialog_preferences.py:121 msgid "Append Notes to Datasets" msgstr "Добавить примечания к данным" #: ../pondus/gui/dialog_preferences.py:128 msgid "Use Calendar in Add Dialog" msgstr "Использовать календарь в диалоге добавления" #: ../pondus/gui/dialog_preferences.py:132 msgid "" "Use a calendar widget instead of a text entry to enter dates in the add/edit" " dialog" msgstr "" "Использовать календарь вместо текстового ввода в диалоге " "добавления/редактирования" #: ../pondus/gui/dialog_preferences.py:136 msgid "Remember Window Size" msgstr "Запоминать размер окна" #: ../pondus/gui/dialog_select_file.py:24 msgid "Select File" msgstr "Выбрать файл" #: ../pondus/gui/window_main.py:60 msgid "Add dataset" msgstr "Добавить данные" #: ../pondus/gui/window_main.py:62 msgid "Edit selected dataset" msgstr "Редактировать выбранные данные" #: ../pondus/gui/window_main.py:64 msgid "Delete selected dataset" msgstr "Удалить выбранные данные" #: ../pondus/gui/window_main.py:65 msgid "Plot" msgstr "График" #: ../pondus/gui/window_main.py:66 msgid "Matplotlib not available!" msgstr "Matplotlib недоступна!" #: ../pondus/gui/window_main.py:70 msgid "Quit" msgstr "Выход" #: ../pondus/gui/window_main.py:135 msgid "Weight Planner" msgstr "Планировщик веса" #: ../pondus/gui/window_main.py:187 msgid "Remove Data?" msgstr "Удалить данные?" #: ../pondus/gui/window_main.py:188 msgid "Do you really want to delete this dataset?" msgstr "Вы действительно хотите удалить эти данные?" #: ../pondus/gui/window_main.py:368 msgid "python-matplotlib is not installed, plotting disabled!" msgstr "python-matplotlib не установлен, построение графиков отключено!" #: ../pondus/gui/window_main.py:378 msgid "Plot weight data" msgstr "Вывести график веса" #: ../pondus/gui/dialog_save_file.py:24 msgid "Save to File" msgstr "Сохранить в файл" #: ../pondus/gui/dialog_save_file.py:30 msgid "Save as File Type:" msgstr "Сохранить как файл типа:" pondus-0.8.0/po/mo/0000755000175000017500000000000011574231223012474 5ustar eikeeikepondus-0.8.0/po/mo/es/0000755000175000017500000000000011574231223013103 5ustar eikeeikepondus-0.8.0/po/mo/es/LC_MESSAGES/0000755000175000017500000000000011574231223014670 5ustar eikeeikepondus-0.8.0/po/mo/es/LC_MESSAGES/pondus.mo0000644000175000017500000001375711574231217016555 0ustar eikeeikePk  #   8=O*g   " 8 J X c m 3 $     % * : O \ f y     .  .- \ -w < J - SH 8    # < ? B K N Q U W 6^   6Pj*y=Vf  ( %$2J}%!(J]u  R;)en  %7Rn:(+&F:m:K-/k]3 %2$Glot}<?@C"LA /KE%F 7H.N 8>54M6!,$'#:;)*2 P0&OI-B1<D(=9  +J3GAdd DatasetAdd datasetAll TimeAn error occured during the import.Another instance of pondus seems to be editing the same datafile. Do you really want to continue and loose all the changes from the other instance?Body Mass IndexCSV ExportCSV File to read from:CSV File to save to:CSV ImportCould not find %sCustomData to export:Datafile locked, continue?DateDate (YYYY-MM-DD)Delete selected datasetDo you really want to delete this dataset?Edit DatasetEdit selected datasetEnable Weight PlannerEnd dateError: Not a valid FileError: Wrong FormatExport successfulImport data to:Import not successfulImport successfulLast 6 MonthsLast MonthLast YearMatplotlib not available!Not owning the file lock. Backing up the data to %sPlease make sure pygtk is installed.PlotPlot WeightPlot weight dataPreferencesPreferred Unit System:QuitReading file %sRemember Window SizeRemove Data?Save PlotSave as File Type:Save to FileSaving plot to %sSelect Date Range:Select FileSelect date range of plotSmoothStart dateThe data entered is not in the correct format!The export was successful.The given path does not point to a valid file!The import was successful.The start date has to be before the end date!The weight planner can be enabled in the preferences dialog.To plot your BMI, you need to enter your height in the preferences dialog.Use Calendar in Add DialogUse a calendar widget instead of a text entry to enter dates in the add/edit dialogUser Height:Using the standard file ~/.pondus/user_data.xml instead.WeightWeight MeasurementsWeight PlanWeight PlannerYou passed a directory, not a file!cmftimperialinkglbsmmetricpython-matplotlib is not installed, plotting disabled!weight.csvweight_plot.pngProject-Id-Version: pondus Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues POT-Creation-Date: 2011-05-28 20:39+0200 PO-Revision-Date: 2011-05-26 17:41+0000 Last-Translator: eike Language-Team: LANGUAGE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: es Plural-Forms: nplurals=2; plural=(n != 1) Añadir conjunto de datosAñadir conjunto de datosTodo el tiempoUn error occurrió durante la importaciónOtra instancia de pondus parece estar editando el mismo archivo de datos. ¿Realmente quieres continuar y perder todos los cambios de la otra instancia?Índice de Masa CorporalExportar a CSV Archivo CSV para leer desde: Archivo CSV para guardar en:Importar CSV No se pudo encontrar %sCostumbreDatos a exportarArchivo de datos bloqueado, ¿continuar?FechaFecha (AAAA-MM-DD)Borrar conjunto de datos seleccionado¿Realmente quieres borrar este conjunto de datos?Editar conjunto de datosEditar conjunto de datos seleccionadoUsar Planificador de Peso:Fecha de finalizaciónError: El Archivo no es válidoError: formato incorrectoExportación realizada con éxitoImportar datos de:Importación sin éxitoImportación con éxitoÚltimos 6 MesesÚltimo MesÚltimo AñoMatplotlib no está disponibleNo tiene permisos sobre el Archivo. Guardando copia de seguridad de los datos a %sPor favor, comprueba que la librería pygtk está instaladaGráficoGráfico del pesoGráfico del pesoPreferenciasSistema de Medida SeleccionadoSalirLeyendo archivo %sRecordar el tamaño de ventana¿Borrar datos?Guardar GráficoGuardar como:Guardar a ArchivoGuardando el gráfico a %sSeleccionar Rango de FechasSeleccionar ArchivoSeleccionar Rango de FechasSuaveFecha de comienzo¡Los datos introducidos no están en el formato correcto!La exportación fue realizada con éxitoLa ruta dada no indica a un fichero válidoLa importación se realizó con éxitoLa fecha de inicio tiene que ser anterior a la fecha finalEl planificador de peso puede ser activado en PreferenciasPara hacer el gráfico de tu IMC debes introducir tu altura en preferenciasUsar Calendario en el Cuadro de añadir datosUsa un widget de calentario en vez de una entrada de texto para ñadir fechas en el diálogo añadir/editarAltura del UsuarioUsando el fichero estándar ~/.pondus/user_data.xmlPesoMedidas de pesoPlan de pesoPlanificador de PesoEsto es un directorio, no un archivocmpiesimperialpulgadaskglbsmmétricopython-Matplotlib no está instalado, gráfico deshabilitadopeso.csvgrafico_peso.pngpondus-0.8.0/po/mo/pl/0000755000175000017500000000000011574231223013107 5ustar eikeeikepondus-0.8.0/po/mo/pl/LC_MESSAGES/0000755000175000017500000000000011574231223014674 5ustar eikeeikepondus-0.8.0/po/mo/pl/LC_MESSAGES/pondus.mo0000644000175000017500000001114411574231217016545 0ustar eikeeikeC4YL #~  *+ Vc{  3$<a f r~     ' .. ] .x  -  8 Q X l x #           "       +"NS%e  #/2M*   " 0;J d r*$2# 8.*g4   $' *58;? AKT:@ (!27<93-1A0/ )5,+'".*%C84 6;&> B? #=$Add DatasetAll TimeAn error occured during the import.Another instance of pondus seems to be editing the same datafile. Do you really want to continue and loose all the changes from the other instance?Body Mass IndexCSV ExportCSV File to read from:CSV File to save to:CSV ImportCould not find %sCustomData to export:Datafile locked, continue?DateDate (YYYY-MM-DD)Do you really want to delete this dataset?Edit DatasetError: Not a valid FileError: Wrong FormatExport successfulImport data to:Import not successfulImport successfulLast MonthLast YearMatplotlib not available!Not owning the file lock. Backing up the data to %sPlease make sure pygtk is installed.PlotPlot WeightPreferencesPreferred Unit System:QuitReading file %sRemember Window SizeRemove Data?Save PlotSave as File Type:Save to FileSaving plot to %sSelect Date Range:Select FileSmoothThe data entered is not in the correct format!The export was successful.The given path does not point to a valid file!The import was successful.The start date has to be before the end date!Use Calendar in Add DialogUser Height:Using the standard file ~/.pondus/user_data.xml instead.WeightWeight MeasurementsWeight PlanWeight PlannerYou passed a directory, not a file!cmftimperialinkglbsmmetricweight.csvweight_plot.pngProject-Id-Version: pondus Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues POT-Creation-Date: 2011-05-28 20:39+0200 PO-Revision-Date: 2011-05-26 17:41+0000 Last-Translator: eike Language-Team: LANGUAGE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: pl Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2) Dodaj daneCały czasWystąpił błąd podczas importu.Wyglada na to ze inna kopia programu próbuje edytować ten sam plik danych. Czy na pewno chcesz kontynuować i utracić wszystkie zmiany z innej kopii programu?Indeks Masy CiałaEksport do pliku CSVPlik CSV do przeczytania:Plik CSV do zapisania:Import z pliku CSVNie można odnaleźć %sWłasnyDane do eksportu:Plik danych jest zablokowany, kontynuować?DataData (YYYY-MM-DD)Czy na pewno chcesz usunąć te dane?Edytuj daneBłąd: niepoprawny plikBłąd: Nieprawidłowy formatPomyślny eksportImportuj dane do:Błąd importuPomyślny importOstatni miesiącOstatni rokMatplotlib jest niedostępny!Brak pliku blokady. Zapisywanie kopii danych do %sUpewnij się że pygtk jest zainstalowane.WykresWykres wagiPreferencjeSystem jednostek miar:WyjścieCzytanie pliku %sPamiętaj rozmiar oknaUsunąć dane?Zapisz wykresTyp pliku:Zapis do plikuZapisywanie wykresu do %sZakres czasu:Wybierz plikGładkiWprowadzona data ma nieprawidłowy format!Eksport zakończył się pomyślnie.Podana ścieżka nie prowadzi do poprawnego pliku!Import zakończył się pomyślnie.Data początku musi być wcześniejsza niż data końca!Użyj kalendarza podczas dodawania wpisówWzrost użytkownika:Użycie standardowego pliku ~/.pondus/user_data.xml.WagaPomiary wagiPlanner wagiPlanner wagiTo jest katalog a nie plik!cmftanglosaskiinkglbsmmetrycznywaga.csvwykres_wagi.pngpondus-0.8.0/po/mo/he/0000755000175000017500000000000011574231223013070 5ustar eikeeikepondus-0.8.0/po/mo/he/LC_MESSAGES/0000755000175000017500000000000011574231223014655 5ustar eikeeikepondus-0.8.0/po/mo/he/LC_MESSAGES/pondus.mo0000644000175000017500000001472411574231217016535 0ustar eikeeikeNk  #  *5 `m  # - 3G ${         & 9 F X k w  .  .  -7 <e J  S \ 8i    #         6 U ` p   8,Fs: W!d 6 0-;Ai"-"1TtS.s   ) $;&Z#4'\c;{%?%GCX6h7PN%1: AN SR^ =>A J?D-IC#L 5F, 6<32K4*"%!89'(0 N.;$MG+@/:B&7  )H1EAdd DatasetAdd datasetAll TimeAn error occured during the import.Another instance of pondus seems to be editing the same datafile. Do you really want to continue and loose all the changes from the other instance?Body Mass IndexCSV ExportCSV File to read from:CSV File to save to:CSV ImportCould not find %sCustomData to export:Datafile locked, continue?DateDelete selected datasetDo you really want to delete this dataset?Edit DatasetEdit selected datasetEnable Weight PlannerEnd dateError: Not a valid FileError: Wrong FormatExport successfulImport data to:Import not successfulImport successfulLast MonthLast YearMatplotlib not available!Not owning the file lock. Backing up the data to %sPlease make sure pygtk is installed.PlotPlot WeightPlot weight dataPreferencesPreferred Unit System:QuitReading file %sRemember Window SizeRemove Data?Save PlotSave as File Type:Save to FileSaving plot to %sSelect Date Range:Select FileSelect date range of plotSmoothStart dateThe data entered is not in the correct format!The export was successful.The given path does not point to a valid file!The import was successful.The start date has to be before the end date!The weight planner can be enabled in the preferences dialog.To plot your BMI, you need to enter your height in the preferences dialog.Use Calendar in Add DialogUse a calendar widget instead of a text entry to enter dates in the add/edit dialogUser Height:Using the standard file ~/.pondus/user_data.xml instead.WeightWeight MeasurementsWeight PlanWeight PlannerYou passed a directory, not a file!cmftimperialinkglbsmmetricpython-matplotlib is not installed, plotting disabled!weight.csvweight_plot.pngProject-Id-Version: pondus Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues POT-Creation-Date: 2011-05-28 20:39+0200 PO-Revision-Date: 2011-05-26 17:41+0000 Last-Translator: eike Language-Team: LANGUAGE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: he Plural-Forms: nplurals=2; plural=(n != 1) הוספת מערך נתוניםהוספת מערך נתוניםכל הזמןאירעה שגיאה במהלך היבוא.מסתבר כי עותק נוסף של Pondus עורך את אותו קובץ הנתונים. האם אכן ברצונך להמשיך ולאבד את כל השינויים מהעותק הנוכחי?אינדקס מסת הגוףיצוא CSVקובץ CSV לקרוא ממנו:קובץ CSV לשמירה:יבוא CSVלא ניתן למצוא %sהתאמה אישיתנתונים ליצוא:קובץ הנתונים נעול, האם להמשיך?תאריךמחיקת מערך הנתונים הנבחרהאם אכן ברצונך למחוק מערך נתונים זה?עריכת מערך הנתוניםעריכת מערך הנתונים הנבחרהפעל מתכנן המשקלתאריך הסיוםשגיאה: לא קובץ תקנישגיאה: המבנה שגויהיצוא הצליחיבוא נתונים אל:היבוא לא הצליחהיבוא הושלםהחודש הקודםשנה שעברהMatplotlib אינה זמינה!נעילת הקובץ אינה בלעדית לך. הנתונים יגובו אל %sנא לוודא שה־pygtk הזה מותקן.רישוםרישום משקלרישום נתוני המשקלהעדפותמערכת היחידות המועדפת:יציאההקובץ נקרא %sשמירת ממדי החלוןהאם להסיר את הנתונים?שמירת הרישוםשמירת הקובץ כסוג:שמירה לקובץשמירת הרישום אל %sבחירת טווח תאריכים:בחירת קובץנא לבחור טווח תאריכים לתוואיחלקתאריך ההתחלההנתונים שהוזנו אינם במבנה הנכון!היצוא הסתיים בהצלחה.הנתיב הנתון אינו מפנה אל קובץ תקני!היבוא הסתיים בהצלחה.על תאריך ההתחלה להיות לפני תאריך הסיום!ניתן להפעיל את מתכנן המשקל בתיבת הדו־שיח העדפות.כדי לערוך רישום של ה־BMI שלך עליך להזין את הגובה שלך בתיבת דו־שיח ההעדפות.שימוש בלוח שנה בדו־שיח ההוספהשימוש בחלונית לוח שנה במקום הזנת טקסט כדי להזין תאריכים בתיבת הדו־שיח להוספה/עריכהגובה המשתמש:נעשה שימוש בקובץ התקני ‎~/.pondus/user_data.xml במקום.משקלמדידות משקלתכנית משקלמתכנן המשקלזוהי תיקייה, לא קובץ!ס״מרגלאימפריאליתאינ׳ק״גליברותמ׳מטריתהספרייה python-matplotlib אינה מותקנת, הרישום מנוטרל!weight.csvרישום_משקל.pngpondus-0.8.0/po/mo/eo/0000755000175000017500000000000011574231223013077 5ustar eikeeikepondus-0.8.0/po/mo/eo/LC_MESSAGES/0000755000175000017500000000000011574231223014664 5ustar eikeeikepondus-0.8.0/po/mo/eo/LC_MESSAGES/pondus.mo0000644000175000017500000000760211574231217016541 0ustar eikeeike=S8 9 EQZ  &-=X]o*    2 @ KU$o      ) <Hb i t8 #   # & ) - / 6 A Q         (   ( ,C p         * %J p {       3Me-u9  "*GJMUX[_a gr5$-1.4(,8)*'%"= 9 /+ 6:0<2#&7;!3 Add DatasetAdd datasetAll TimeAnother instance of pondus seems to be editing the same datafile. Do you really want to continue and loose all the changes from the other instance?Body Mass IndexCSV ExportCSV ImportCould not find %sCustomData to export:Datafile locked, continue?DateDate (YYYY-MM-DD)Delete selected datasetDo you really want to delete this dataset?Edit DatasetEdit selected datasetEnable Weight PlannerEnd dateError: Not a valid FileError: Wrong FormatExport successfulLast 6 MonthsLast MonthLast YearMatplotlib not available!Please make sure pygtk is installed.PlotPlot WeightPreferencesPreferred Unit System:QuitReading file %sRemember Window SizeRemove Data?Save PlotSave as File Type:Save to FileSelect Date Range:Select FileSelect date range of plotSmoothStart dateUser Height:Using the standard file ~/.pondus/user_data.xml instead.WeightWeight MeasurementsWeight PlanWeight PlannerYou passed a directory, not a file!cmftimperialinkglbsmmetricweight.csvweight_plot.pngProject-Id-Version: pondus Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues POT-Creation-Date: 2011-05-28 20:39+0200 PO-Revision-Date: 2011-05-26 17:41+0000 Last-Translator: eike Language-Team: LANGUAGE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: eo Plural-Forms: nplurals=2; plural=(n != 1) Aldoni DatumaronAldoni DatumaronĈiamŜajnas ke alia apero de pondus redaktas la saman datumdosieron. Ĉu vi vere deziras daŭrigi kaj perdi ĉiujn ŝanĝojn de la alia apero ?Korpomasa indicoCSV EksportadoCSV ImportadoNe eblis trovi %sPropraDatumoj por eksporti:Datumdosiero ŝlosita, ĉu ni daŭrigu ?DatoDato (JJJJ-MM-TT)Forigi elektitan datumaronĈu vi vere volas forigi ĉi tiun datumaron?Redakti DatumaronRedakti elektitan datumaronEbligi PezcelonDato de finoEraro: Ne valida DosieroEraro: Netaŭga FormatoEksportado suksesisLastaj 6 MonatojLasta MonatoLasta JaroMatplotlib ne estas disponebla.Bonvolu certiĝi ke pygtk instaliĝisGrafikaĵoGrafika Reprezento de PezoAgordojpreferata Unua Sistemo:ForlasiLegante dosieron %sMemoru fenestran grandeconĈu forigi Datumojn?Konservi grafikaĵonKonservi kiel dosiera tipo:Konservi al la dosiero...Elektu datan intervalonElekti dosieronElektu datan intervalon de grafika reprezentoGlataDato de komencoUzanta Grandeco:Uzi aprioran dosieron ~/.pondus/user_data.xml anstataŭ.PezoPezaj MezurojPeza PlanoPezceloEstas dosierujo, ne dosiero!cmftimperiainkglbsmmetraweight.csvweight_plot.pngpondus-0.8.0/po/mo/bg/0000755000175000017500000000000011574231223013064 5ustar eikeeikepondus-0.8.0/po/mo/bg/LC_MESSAGES/0000755000175000017500000000000011574231223014651 5ustar eikeeikepondus-0.8.0/po/mo/bg/LC_MESSAGES/pondus.mo0000644000175000017500000002040211574231217016517 0ustar eikeeike\  #   % 7 > I Y t y  *     ( < N ^ t    3  $ - 2 > O [ r w       % / 6 .A p .  - < J@  S !8.gmt #6 +;  3FM :$7%W}'!Pcl5M*99>s)/""B)e<D^ke<",6O3 910b*r1"- >5W.K'3D[%Vy5I1/8-gh (&&3 6 9 < M P S W Y |j  =:JR&+KY>@ [!'5Q.F3)AC ,;8/"<?%4 #B7IX$L9NOZH2U*STPD- (6GEV1M\ W 0Add DatasetAdd datasetAll TimeAn error occured during the import.Another instance of pondus seems to be editing the same datafile. Do you really want to continue and loose all the changes from the other instance?Append Notes to DatasetsBody Mass IndexBodyfatCSV ExportCSV File to read from:CSV File to save to:CSV ImportCould not find %sCustomData Left:Data to export:Datafile locked, continue?DateDate (YYYY-MM-DD)Delete selected datasetDo you really want to delete this dataset?Edit DatasetEdit selected datasetEnable Weight PlannerEnd dateError: Not a valid FileError: Wrong FormatExport successfulImport data to:Import not successfulImport successfulLast 6 MonthsLast MonthLast YearMatplotlib not available!MuscleNoneNot owning the file lock. Backing up the data to %sNotePlease make sure pygtk is installed.PlotPlot WeightPlot weight dataPreferencesPreferred Unit System:QuitReading file %sRemember Window SizeRemove Data?Right:Save PlotSave as File Type:Save to FileSaving plot to %sSelect Date Range:Select FileSelect date range of plotShow PlanSmoothStart dateThe data entered is not in the correct format!The export was successful.The given path does not point to a valid file!The import was successful.The start date has to be before the end date!The weight planner can be enabled in the preferences dialog.To plot your BMI, you need to enter your height in the preferences dialog.Track BodyfatTrack MuscleTrack WaterUse Calendar in Add DialogUse a calendar widget instead of a text entry to enter dates in the add/edit dialogUser Height:Using the standard file ~/.pondus/user_data.xml instead.WaterWeightWeight MeasurementsWeight PlanWeight PlannerYou passed a directory, not a file!cmftimperialinkglbsmmetricpython-matplotlib is not installed, plotting disabled!weight.csvweight_plot.pngProject-Id-Version: pondus Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues POT-Creation-Date: 2011-05-28 20:39+0200 PO-Revision-Date: 2011-06-02 10:29+0000 Last-Translator: turin Language-Team: Bulgarian (http://www.transifex.net/projects/p/pondus/team/bg/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: bg Plural-Forms: nplurals=2; plural=(n != 1) Добавяне на данниДобавяне на данниЦелият периодВъзникна грешка по време на внасянето.Изглежда друго копие на програмата редактира същия файл с данни. Наистина ли искате да се продължи и да се загубят всички промени от другото копие?Добавяне на бележки към даннитеИндекс телесна масаТелесна мазнинаИзнасяне в CSVФайл CSV за четене:Файл CSV за запазване:Внасяне от CSVНе може да се открие %sРъчно зададенДанни отляво:Данни за изнасяне:Файлът с данни е заключен. Да се продължи ли?ДатаДата (ГГГГ-ММ-ДД)Изтриване на избраните данниНаистина ли искате да изтриете тези данни?Редактиране на даннитеРедактиране на избраните данниВключване на планиране на теглотоКрайна датаГрешка: Невалиден файлГрешка: неправилен форматУспешно изнасянеВнасяне на данни в:Внасянето е неуспешно.Успешно внасянеПоследни 6 месецаПоследен месецПоследна годинаБиблиотеката mathplotlib не е налична!Мускулна масаБезФайлът е заключен. Създава се резервно копие на данните в %sБележкаПроверете дали pygtk е инсталирано.ГрафикаГрафика на теглотоГрафика на данните за теглотоНастройкиПредпочитана мерна система:ИзходЧетене на файл %sЗапомняне размера на прозорецаДа се премахнат ли данните?Отдясно:Запазване на графикатаЗапазване като файл от вид:Запазване във файлЗапазване на графиката %sИзбор на период:Избор на файлИзберете период за показванеПоказване на планиранетоУсредненоНачална датаВъведените данни не са в правилен формат!Изнасянето е успешно.Даденият път не съдържа валиден файл!Внасянето е успешно.Началната дата трябва да е преди крайната дата!Планирането на теглото може да се включи от прозореца с настройки.За да се изчертае вашия ИТМ (индекс телесна маса), трябва да въведете в настройките височината си.Следене на телесната мазнинаСледене на мускулната масаСледене на телесната водаКалендар при добавяне на данниИзползване на календар вместо текстово поле за въвеждане на дати при добавяне или редакция на данниВисочина на потребителя:Използване вместо това на стандартния файл ~/.pondus/user_data.xmlТелесна водаТеглоИзмервания на теглотоПланиране на теглотоПланиране на теглотоТова е директория, а не файл!cmftимперскаinkglbsmметричнаpython-matplotlib не е инсталирано, затова чертането на графики е изключено!weight.csvweight_plot.pngpondus-0.8.0/po/mo/sv/0000755000175000017500000000000011574231223013124 5ustar eikeeikepondus-0.8.0/po/mo/sv/LC_MESSAGES/0000755000175000017500000000000011574231223014711 5ustar eikeeikepondus-0.8.0/po/mo/sv/LC_MESSAGES/pondus.mo0000644000175000017500000001424111574231217016563 0ustar eikeeike\  #   % 7 > I Y t y  *     ( < N ^ t    3  $ - 2 > O [ r w       % / 6 .A p .  - < J@  S !8.gmt #6 +;! B$  +D Ydx%  4 FPa w  +E"Knv  $3J \%f   +4%2;XM  # X18 $'+48;@B<K=:JR&+KY>@ [!'5Q.F3)AC ,;8/"<?%4 #B7IX$L9NOZH2U*STPD- (6GEV1M\ W 0Add DatasetAdd datasetAll TimeAn error occured during the import.Another instance of pondus seems to be editing the same datafile. Do you really want to continue and loose all the changes from the other instance?Append Notes to DatasetsBody Mass IndexBodyfatCSV ExportCSV File to read from:CSV File to save to:CSV ImportCould not find %sCustomData Left:Data to export:Datafile locked, continue?DateDate (YYYY-MM-DD)Delete selected datasetDo you really want to delete this dataset?Edit DatasetEdit selected datasetEnable Weight PlannerEnd dateError: Not a valid FileError: Wrong FormatExport successfulImport data to:Import not successfulImport successfulLast 6 MonthsLast MonthLast YearMatplotlib not available!MuscleNoneNot owning the file lock. Backing up the data to %sNotePlease make sure pygtk is installed.PlotPlot WeightPlot weight dataPreferencesPreferred Unit System:QuitReading file %sRemember Window SizeRemove Data?Right:Save PlotSave as File Type:Save to FileSaving plot to %sSelect Date Range:Select FileSelect date range of plotShow PlanSmoothStart dateThe data entered is not in the correct format!The export was successful.The given path does not point to a valid file!The import was successful.The start date has to be before the end date!The weight planner can be enabled in the preferences dialog.To plot your BMI, you need to enter your height in the preferences dialog.Track BodyfatTrack MuscleTrack WaterUse Calendar in Add DialogUse a calendar widget instead of a text entry to enter dates in the add/edit dialogUser Height:Using the standard file ~/.pondus/user_data.xml instead.WaterWeightWeight MeasurementsWeight PlanWeight PlannerYou passed a directory, not a file!cmftimperialinkglbsmmetricpython-matplotlib is not installed, plotting disabled!weight.csvweight_plot.pngProject-Id-Version: pondus Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues POT-Creation-Date: 2011-05-28 20:39+0200 PO-Revision-Date: 2011-05-30 13:19+0200 Last-Translator: Peter Landgren Language-Team: Swedish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: sv Plural-Forms: nplurals=2; plural=(n != 1) X-Generator: Lokalize 1.0 Lägg till dataLägg till dataAll tidEtt fel inträffade under import.En annan instans av pondus verkar hålla,på ett redigera samma datafil. Vill du verkligen fortsätta och förlora alla ändringar från den andra instansen?Lägg till notiser till datamängderBody Mass IndexKroppsfettCSV-exportCSV-fil att läsa från:CSV-fil sparas till:CSV-importKunde inte hitta %sAnpassadVänstra data:Data att exportera:Datafil låst, fortsätta?DatumDatum (YYYY-MM-DD)Tag bort valda dataVill du verkligen ta bort dessa data?Redigera dataRedigera valda dataTillåt viktsplanSlutdatumFel: Ogiltig filFel: Felaktigt formatLyckad exportImportera data till:Importen misslyckadesImport lyckadesSenaste 6 månadernaSenaste månadFörra åretMatplotlib ej installerat!MuskelIngetÄger ej fillåsningen. Sparar data till %sNotisSe till att pygtk är installerat.DiagramRita viktkurvaRita viktsdataInställningarFöredraget enhetssystem:AvslutaLäser fil %sKom ihåg fönsterstorlekTag bort data?Högra:Spara diagramSpara som filtyp:Spara till filSparar diagram till %sVälj dataområdeVälj filVälj datumutsträckning för diagramVisa planUtjämnadStartdatumDen inmatade uppgiften har ej rätt format!Exporten lyckades.Den angivna sökvägen pekar inte på en giltig fil!Importen lyckades.Startdatum måste föregå slutdatum!Viktplanen kan göras tillgänglig i inställningsdialogen.För att rita ditt BMI, måste du mata in din längd i inställningsdialogen.Följ kroppsfettFölj muskelFölj vattenAnvända kalender i tilläggsdialogAnvänd en kalender i stället för textinmatning av datum i tilläggs/redigera-dialogenAnvändarens längd:Använder standardfil ~/.pondus/user_data.xml i ställetVattenViktViktmätningarViktplanViktsplanDette är en mapp, ej en fil!cmfotengelskttumkgpundmmetrisktpython matlibplot är ej installerat, plottning ej möjligt!vikt.csvviktdiagram.pngpondus-0.8.0/po/mo/ru/0000755000175000017500000000000011574231223013122 5ustar eikeeikepondus-0.8.0/po/mo/ru/LC_MESSAGES/0000755000175000017500000000000011574231223014707 5ustar eikeeikepondus-0.8.0/po/mo/ru/LC_MESSAGES/pondus.mo0000644000175000017500000002003511574231217016557 0ustar eikeeike\  #   % 7 > I Y t y  *     ( < N ^ t    3  $ - 2 > O [ r w       % / 6 .A p .  - < J@  S !8.gmt #6 +;7U@g#5 #*!@2b" $ G.v.P':E0/++'+S2)# 8 YdkL  Zg$}9 *@ ]i,)..DF?2cI0Mh,p!$FRf"VPy3(\adux}f   =:JR&+KY>@ [!'5Q.F3)AC ,;8/"<?%4 #B7IX$L9NOZH2U*STPD- (6GEV1M\ W 0Add DatasetAdd datasetAll TimeAn error occured during the import.Another instance of pondus seems to be editing the same datafile. Do you really want to continue and loose all the changes from the other instance?Append Notes to DatasetsBody Mass IndexBodyfatCSV ExportCSV File to read from:CSV File to save to:CSV ImportCould not find %sCustomData Left:Data to export:Datafile locked, continue?DateDate (YYYY-MM-DD)Delete selected datasetDo you really want to delete this dataset?Edit DatasetEdit selected datasetEnable Weight PlannerEnd dateError: Not a valid FileError: Wrong FormatExport successfulImport data to:Import not successfulImport successfulLast 6 MonthsLast MonthLast YearMatplotlib not available!MuscleNoneNot owning the file lock. Backing up the data to %sNotePlease make sure pygtk is installed.PlotPlot WeightPlot weight dataPreferencesPreferred Unit System:QuitReading file %sRemember Window SizeRemove Data?Right:Save PlotSave as File Type:Save to FileSaving plot to %sSelect Date Range:Select FileSelect date range of plotShow PlanSmoothStart dateThe data entered is not in the correct format!The export was successful.The given path does not point to a valid file!The import was successful.The start date has to be before the end date!The weight planner can be enabled in the preferences dialog.To plot your BMI, you need to enter your height in the preferences dialog.Track BodyfatTrack MuscleTrack WaterUse Calendar in Add DialogUse a calendar widget instead of a text entry to enter dates in the add/edit dialogUser Height:Using the standard file ~/.pondus/user_data.xml instead.WaterWeightWeight MeasurementsWeight PlanWeight PlannerYou passed a directory, not a file!cmftimperialinkglbsmmetricpython-matplotlib is not installed, plotting disabled!weight.csvweight_plot.pngProject-Id-Version: pondus Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues POT-Creation-Date: 2011-05-28 20:39+0200 PO-Revision-Date: 2011-05-31 13:24+0000 Last-Translator: Sl_Alex Language-Team: LANGUAGE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: ru Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2) Добавить данныеДобавить данныеВсё времяВ процессе импорта возникла ошибкаКажется, другая версия pondus уже редактирует этот файл данных. Вы действительно хотите продолжить и потерять все изменения, сделанные в другой версии программы?Добавить примечания к даннымИндекс массы телаЖирЭкспорт в CSVCSV-файл для чтения:Имя CSV-файла для сохранения:Импорт CSVНевозможно найти %sПользовательскийДанных осталось:Данные для экспортаБаза данных заблокирована, продолжить?ДатаДата (ГГГГ-ММ-ДД)Удалить выбранные данныеВы действительно хотите удалить эти данные?Редактировать данныеРедактировать выбранные данныеВключить планировщик весаКонечная датаОшибка: Неправильный файлОшибка: неверный форматУспешно экспортированоИмпортировать данные в:Импорт закончился неудачноУспешно импортированоПоследние 6 месяцевПоследний месяцПоследний годMatplotlib недоступна!МышцыНетНе являемся владельцем файла блокировки. Выполняется копирование данных в %sПримечаниеПожалуйста, убедитесь, что pygtk установлен.ГрафикГрафик весаВывести график весаНастройкиПредпочитаемая система единиц:ВыходЧтение файла %sЗапоминать размер окнаУдалить данные?Верно:Сохранить графикСохранить как файл типа:Сохранить в файлГрафик сохраняется в %sВыберите диапазон данныхВыбрать файлВыберите диапазон данных для графикаПоказать планСглаженныйНачальная датаДанные введены в неверном формате!Экспорт закончился успешноПредоставленный путь не указывает на правильный файл!Импорт завершился успешноДата начала должна быть меньше даты конца!Планировщик веса должен быть включен в диалоге настроек.Чтобы построить ваш ИМТ, введите свой рост в диалоге настроекОтслеживать жирОтслеживать мышцыОтслеживать водуИспользовать календарь в диалоге добавленияИспользовать календарь вместо текстового ввода в диалоге добавления/редактированияРост пользователя:Используется стандартный файл ~/.pondus/user_data.xmlВодаВесИзмерения весаПлан весаПланировщик весаВы передали папку, а не файл!смftдюймоваяinкгlbsмметрическаяpython-matplotlib не установлен, построение графиков отключено!weight.csvweight_plot.pngpondus-0.8.0/po/mo/tr/0000755000175000017500000000000011574231223013121 5ustar eikeeikepondus-0.8.0/po/mo/tr/LC_MESSAGES/0000755000175000017500000000000011574231223014706 5ustar eikeeikepondus-0.8.0/po/mo/tr/LC_MESSAGES/pondus.mo0000644000175000017500000001507611574231217016567 0ustar eikeeike\  #   % 7 > I Y t y  *     ( < N ^ t    3  $ - 2 > O [ r w       % / 6 .A p .  - < J@  S !8.gmt #6 +; ,  &=Xhw }+49 O*p *E N Xd~0+  1;X^s $*O ^j$//. >8Hwb# 8 C'MouEA DOgy!K #.=:JR&+KY>@ [!'5Q.F3)AC ,;8/"<?%4 #B7IX$L9NOZH2U*STPD- (6GEV1M\ W 0Add DatasetAdd datasetAll TimeAn error occured during the import.Another instance of pondus seems to be editing the same datafile. Do you really want to continue and loose all the changes from the other instance?Append Notes to DatasetsBody Mass IndexBodyfatCSV ExportCSV File to read from:CSV File to save to:CSV ImportCould not find %sCustomData Left:Data to export:Datafile locked, continue?DateDate (YYYY-MM-DD)Delete selected datasetDo you really want to delete this dataset?Edit DatasetEdit selected datasetEnable Weight PlannerEnd dateError: Not a valid FileError: Wrong FormatExport successfulImport data to:Import not successfulImport successfulLast 6 MonthsLast MonthLast YearMatplotlib not available!MuscleNoneNot owning the file lock. Backing up the data to %sNotePlease make sure pygtk is installed.PlotPlot WeightPlot weight dataPreferencesPreferred Unit System:QuitReading file %sRemember Window SizeRemove Data?Right:Save PlotSave as File Type:Save to FileSaving plot to %sSelect Date Range:Select FileSelect date range of plotShow PlanSmoothStart dateThe data entered is not in the correct format!The export was successful.The given path does not point to a valid file!The import was successful.The start date has to be before the end date!The weight planner can be enabled in the preferences dialog.To plot your BMI, you need to enter your height in the preferences dialog.Track BodyfatTrack MuscleTrack WaterUse Calendar in Add DialogUse a calendar widget instead of a text entry to enter dates in the add/edit dialogUser Height:Using the standard file ~/.pondus/user_data.xml instead.WaterWeightWeight MeasurementsWeight PlanWeight PlannerYou passed a directory, not a file!cmftimperialinkglbsmmetricpython-matplotlib is not installed, plotting disabled!weight.csvweight_plot.pngProject-Id-Version: pondus Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues POT-Creation-Date: 2011-05-28 20:39+0200 PO-Revision-Date: 2011-05-30 11:21+0000 Last-Translator: kara Language-Team: LANGUAGE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: tr Plural-Forms: nplurals=1; plural=0 Veri Kümesi EkleVeri kümesi ekleTüm Zamanlarİçe aktarım sırasında bir hata oluştu.pondus'un başka bir örneği aynı veri dosyasını düzenliyor gibi görünüyor. Gerçekten devam etmek istiyor musunuz? (Diğer örnekteki tüm değişiklikleri kaybedeceksiniz.)Veri Kümelerine Not EkleVücut Kitle İndeksiVücut YağıCSV Dışa AktarOkunacak CSV Dosyası:Kaydedilecek CSV Dosyası:CSV İçe Aktar%s bulunamadıÖzelKalan Veri:Dışa aktarılacak veri:Veri dosyası kilitlendi, devam edilsin mi?TarihTarih (YYYY-AA-GG)Seçilen veri kümesini silGerçekten bu veri kümesini silmek istiyor musunuz?Veri Kümesi DüzenleSeçilen veri kümesini düzenleAğırlık Planlayıcısını EtkinleştirBitiş tarihiHata: Geçerli bir dosya değilHata: Yanlış BiçimDışa aktarım başarılıVeriyi içe aktar:İçe aktarım başarısızİçe aktarım başarılıSon 6 AyGeçen AyGeçen YılMatplotlib mevcut değil!KasHiçbiriDosya kilidi yok. Veriler %s içine yedekleniyorNotLütfen pygtk kurulu olduğundan emin olun.Grafik çizAğırlık Grafiği ÇizAğırlık verisi grafiği çizTercihlerTercih Edilen Birim Sistemi:Kapat%s dosyası okunuyorPencere Boyutunu HatırlaVeri Kaldırılsın mı?Sağ:Grafiği KaydetFarklı Kaydet Dosya Türü:Dosyaya KaydetGrafik %s içine kaydediliyorTarih Aralığı Seçin:Dosya SeçGrafiğin tarih aralığını seçinPlanı GösterPürüzsüzBaşlangıç ​​tarihiGirilen veri doğru biçimde değil!Dışa aktarım başarıyla gerçekleştirildi.Verilen yol geçerli bir dosyayı göstermiyor!İçe aktarım başarıyla gerçekleştirildi.Başlangıç ​​tarihi bitiş tarihinden önce olmalıdır!Ağırlık planlayıcısı, tercihler iletişim kutusundan açılabilir.VKİ grafiğinizin çizilebilmesi için, tercihler ​​iletişim kutusuna boyunuzu girmelisiniz.Vücut Yağı TakibiKas TakibiSu TakibiEkle İletişim Kutusunda Takvim KullanEkle/düzenle iletişim kutusunda tarihleri girmek için metin girişi yerine bir takvim uygulamacığı kullanKullanıcının Boyu:Onun yerine ~/.pondus/User_data.xml standart dosyası kullanılıyor.SuAğırlıkAğırlık ÖlçümleriAğırlık PlanıAğırlık PlanlayıcısıBir dosya değil, dizin girdiniz!cmftingilizinkglbsmmetrikpython-matplotlib kurulu değil. Grafik çizimi devre dışı bırakıldı!weight.csvweight_plot.pngpondus-0.8.0/po/mo/de/0000755000175000017500000000000011574231223013064 5ustar eikeeikepondus-0.8.0/po/mo/de/LC_MESSAGES/0000755000175000017500000000000011574231223014651 5ustar eikeeikepondus-0.8.0/po/mo/de/LC_MESSAGES/pondus.mo0000644000175000017500000001474111574231217016530 0ustar eikeeike\  #   % 7 > I Y t y  *     ( < N ^ t    3  $ - 2 > O [ r w       % / 6 .A p .  - < J@  S !8.gmt #6 +; '!I  *@ OZ x 0-?_x  !. KX5^55=Sl " 4 B M7Z$.:SY'm=  5PSVhknrtB} =:JR&+KY>@ [!'5Q.F3)AC ,;8/"<?%4 #B7IX$L9NOZH2U*STPD- (6GEV1M\ W 0Add DatasetAdd datasetAll TimeAn error occured during the import.Another instance of pondus seems to be editing the same datafile. Do you really want to continue and loose all the changes from the other instance?Append Notes to DatasetsBody Mass IndexBodyfatCSV ExportCSV File to read from:CSV File to save to:CSV ImportCould not find %sCustomData Left:Data to export:Datafile locked, continue?DateDate (YYYY-MM-DD)Delete selected datasetDo you really want to delete this dataset?Edit DatasetEdit selected datasetEnable Weight PlannerEnd dateError: Not a valid FileError: Wrong FormatExport successfulImport data to:Import not successfulImport successfulLast 6 MonthsLast MonthLast YearMatplotlib not available!MuscleNoneNot owning the file lock. Backing up the data to %sNotePlease make sure pygtk is installed.PlotPlot WeightPlot weight dataPreferencesPreferred Unit System:QuitReading file %sRemember Window SizeRemove Data?Right:Save PlotSave as File Type:Save to FileSaving plot to %sSelect Date Range:Select FileSelect date range of plotShow PlanSmoothStart dateThe data entered is not in the correct format!The export was successful.The given path does not point to a valid file!The import was successful.The start date has to be before the end date!The weight planner can be enabled in the preferences dialog.To plot your BMI, you need to enter your height in the preferences dialog.Track BodyfatTrack MuscleTrack WaterUse Calendar in Add DialogUse a calendar widget instead of a text entry to enter dates in the add/edit dialogUser Height:Using the standard file ~/.pondus/user_data.xml instead.WaterWeightWeight MeasurementsWeight PlanWeight PlannerYou passed a directory, not a file!cmftimperialinkglbsmmetricpython-matplotlib is not installed, plotting disabled!weight.csvweight_plot.pngProject-Id-Version: pondus Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues POT-Creation-Date: 2011-05-28 20:39+0200 PO-Revision-Date: 2011-05-26 18:43+0000 Last-Translator: eike Language-Team: German (http://www.transifex.net/projects/p/pondus/team/de/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: de Plural-Forms: nplurals=2; plural=(n != 1) Füge Datensatz hinzuFüge Datensatz hinzuAlle ZeitenBeim Import ist ein Fehler aufgetreten.Eine andere Instanz von Pondus scheint die selbe Datei zu bearbeiten. Möchtest du wirklich fortfahren und alle Änderungen der anderen Instanz verlieren?Notizen an Datensatz anhängenBody Mass IndexKörperfettCSV ExportZu lesende CSV Datei:CSV Zieldatei:CSV ImportKonnte Datei %s nicht finden.AngepasstDaten links:Zu exportierende Daten:Datei gesperrt, fortfahren?DatumDatum (JJJJ-MM-TT)Lösche ausgewählten DatensatzMöchtest du diesen Datensatz wirklich löschen?Ändere DatensatzÄndere ausgewählten DatensatzAktiviere GewichtsplanerEnddatumFehler: Keine DateiFehler: Falsches FormatExport erfolgreichImportiere Daten nach:Import nicht erfolgreichImport erfolgreichLetzte 6 MonateLetzter MonatLetztes JahrMatplotlib nicht verfügbar!MuskelanteilKeineDatei ist gesperrt. Die Daten werden in %s gesichert.NotizBitte stellen Sie sicher, dass PyGTK installiert ist.DiagrammGrafischer GewichtsverlaufGrafischer GewichtsverlaufOptionenBevorzugtes Einheitensystem:BeendenDatei %s wird gelesenSpeichere FenstergrößeDatensatz löschen?Rechts:Diagramm speichernSpeichere Datei im Format:Speichere in DateiDiagramm wird als %s gespeichertWähle Datumsbereich:Wähle Datei ausWähle Datumsbereich des DiagrammsPlan anzeigenGeglättetAnfangsdatumDie eingegebenen Daten haben nicht das richtige Format!Der Export war erfolgreich.Der angegebene Pfad ist keine Datei!Der Import war erfolgreich.Das Anfangsdatum muss vor dem Enddatum liegen!Der Gewichtsplaner kann im Optionsdialog aktiviert werden.Um den BMI darzustellen, muss die Körpergröße im Optionsdialog angegeben werden.Körperfett speichernMuskelanteil speichernWasseranteil speichernBenutze Kalender im Hinzufügen-FensterBenutze ein Kalenderwidget anstatt des Texteingabefeldes zum Eingeben von Daten im Hinzufügen-/ÄnderndialogKörpergröße:Benutze stattdessen die Standarddatei ~/.pondus/user_data.xmlWasseranteilGewichtGewichtsmessungenGewichtsplanerGewichtsplanerSie haben ein Verzeichnis und keine Datei übergeben!cmftangloamerikanischinkglbsmmetrischpython-matplotlib ist nicht installiert, Plotfunktion deaktiviert!gewicht.csvgewichtsdiagramm.pngpondus-0.8.0/po/mo/it/0000755000175000017500000000000011574231223013110 5ustar eikeeikepondus-0.8.0/po/mo/it/LC_MESSAGES/0000755000175000017500000000000011574231223014675 5ustar eikeeikepondus-0.8.0/po/mo/it/LC_MESSAGES/pondus.mo0000644000175000017500000001406611574231217016554 0ustar eikeeikePk  #   8=O*g   " 8 J X c m 3 $     % * : O \ f y     .  .- \ -w < J - SH 8    # < ? B K N Q U W 6^   _t2i  .,1C3_#"(K$^"   E$1Vf &#=N l .(61(hC=d5x<EFK`t% F%?@C"LA /KE%F 7H.N 8>54M6!,$'#:;)*2 P0&OI-B1<D(=9  +J3GAdd DatasetAdd datasetAll TimeAn error occured during the import.Another instance of pondus seems to be editing the same datafile. Do you really want to continue and loose all the changes from the other instance?Body Mass IndexCSV ExportCSV File to read from:CSV File to save to:CSV ImportCould not find %sCustomData to export:Datafile locked, continue?DateDate (YYYY-MM-DD)Delete selected datasetDo you really want to delete this dataset?Edit DatasetEdit selected datasetEnable Weight PlannerEnd dateError: Not a valid FileError: Wrong FormatExport successfulImport data to:Import not successfulImport successfulLast 6 MonthsLast MonthLast YearMatplotlib not available!Not owning the file lock. Backing up the data to %sPlease make sure pygtk is installed.PlotPlot WeightPlot weight dataPreferencesPreferred Unit System:QuitReading file %sRemember Window SizeRemove Data?Save PlotSave as File Type:Save to FileSaving plot to %sSelect Date Range:Select FileSelect date range of plotSmoothStart dateThe data entered is not in the correct format!The export was successful.The given path does not point to a valid file!The import was successful.The start date has to be before the end date!The weight planner can be enabled in the preferences dialog.To plot your BMI, you need to enter your height in the preferences dialog.Use Calendar in Add DialogUse a calendar widget instead of a text entry to enter dates in the add/edit dialogUser Height:Using the standard file ~/.pondus/user_data.xml instead.WeightWeight MeasurementsWeight PlanWeight PlannerYou passed a directory, not a file!cmftimperialinkglbsmmetricpython-matplotlib is not installed, plotting disabled!weight.csvweight_plot.pngProject-Id-Version: pondus Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues POT-Creation-Date: 2011-05-28 20:39+0200 PO-Revision-Date: 2011-05-28 18:42+0000 Last-Translator: eike Language-Team: Italian (http://www.transifex.net/projects/p/pondus/team/it/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: it Plural-Forms: nplurals=2; plural=(n != 1) Aggiungi misurazioneAggiungi misurazioneIntero periodoSi è verificato un errore durante l'importazione.Sembra che ci sia già un pondus in esecuzione su questo file. Si vuole veramente continuare e perdere tutte le modifiche dell'altro programma in esecuzione?Indice di Massa CorporeaEsporta CSVLeggi dal file CSV:Salva il file CSV in:Importa CSVImpossibile trovare %sPersonalizzatoDati da esportare:Il file dati è bloccato, continuare comunque?DataData (YYYY-MM-DD)Elimina la riga selezionataSi desidera veramente rimuovere questa misurazione?Modifica misurazioneModifica la misurazione selezionataUsa la proiezione del pesoFine del periodoErrore: File non validoErrore: formato errato.Esportazione avvenuta con successoImporta i dati in:L'importazione non ha avuto successoImportazione avvenuta con successoUltimi 6 mesiUltimo meseUltimo annoMatplotlib non è disponibile!Non si dispone del blocco sul file. Verrà effettuato un backup in %sVerificare che pygtk sia installato.Crea un graficoCrea un grafico del pesoCrea un grafico del pesoPreferenzeSistema di misura preferito:EsciLettura del file %sRicordare le dimensioni della finestraRimuovere i dati?Salva il graficoSalva in un file di tipo:Salva in un fileSalvataggio del grafico in %sSeleziona l'intervallo di tempo:Seleziona fileSeleziona l'intervallo di tempo:SmussatoInizio del periodoI dati inseriti non sono nel formato corretto!L'esportazione è avvenuta con successo.Il percorso indicato non corrisponde a un file valido!L'importazione è avvenuta con successo.La data di inizio deve essere precedente alla data di fine periodo!La proiezione del peso può essere abilitata nelle preferenzePer disegnare l'Indice di Massa Corporea è necessario inserire la propria altezza nelle preferenze.Usa un calendario nella finestra Aggiungi misurazioneMostra un calendario invece che inserire manualmente le dateAltezza dell'utente:Viene usato il file standard ~/.pondus/user_data.xml in sostituzione.PesoMisurazioni del pesoProiezione del pesoProiezione del pesoQuesta è una directory, non un file!cmftanglosassoneinkglbsmmetricoMatplotlib non è disponibile, la creazione di grafici è disabilitatapeso.csvgrafico_peso.pngpondus-0.8.0/po/mo/fi/0000755000175000017500000000000011574231223013072 5ustar eikeeikepondus-0.8.0/po/mo/fi/LC_MESSAGES/0000755000175000017500000000000011574231223014657 5ustar eikeeikepondus-0.8.0/po/mo/fi/LC_MESSAGES/pondus.mo0000644000175000017500000001462111574231217016533 0ustar eikeeike\  #   % 7 > I Y t y  *     ( < N ^ t    3  $ - 2 > O [ r w       % / 6 .A p .  - < J@  S !8.gmt #6 +;"  ! )4DL_x(!. P]z  ! ';3o!v    /9Jfz .&9<v>BSb4gGB\#$'.0<9 v=:JR&+KY>@ [!'5Q.F3)AC ,;8/"<?%4 #B7IX$L9NOZH2U*STPD- (6GEV1M\ W 0Add DatasetAdd datasetAll TimeAn error occured during the import.Another instance of pondus seems to be editing the same datafile. Do you really want to continue and loose all the changes from the other instance?Append Notes to DatasetsBody Mass IndexBodyfatCSV ExportCSV File to read from:CSV File to save to:CSV ImportCould not find %sCustomData Left:Data to export:Datafile locked, continue?DateDate (YYYY-MM-DD)Delete selected datasetDo you really want to delete this dataset?Edit DatasetEdit selected datasetEnable Weight PlannerEnd dateError: Not a valid FileError: Wrong FormatExport successfulImport data to:Import not successfulImport successfulLast 6 MonthsLast MonthLast YearMatplotlib not available!MuscleNoneNot owning the file lock. Backing up the data to %sNotePlease make sure pygtk is installed.PlotPlot WeightPlot weight dataPreferencesPreferred Unit System:QuitReading file %sRemember Window SizeRemove Data?Right:Save PlotSave as File Type:Save to FileSaving plot to %sSelect Date Range:Select FileSelect date range of plotShow PlanSmoothStart dateThe data entered is not in the correct format!The export was successful.The given path does not point to a valid file!The import was successful.The start date has to be before the end date!The weight planner can be enabled in the preferences dialog.To plot your BMI, you need to enter your height in the preferences dialog.Track BodyfatTrack MuscleTrack WaterUse Calendar in Add DialogUse a calendar widget instead of a text entry to enter dates in the add/edit dialogUser Height:Using the standard file ~/.pondus/user_data.xml instead.WaterWeightWeight MeasurementsWeight PlanWeight PlannerYou passed a directory, not a file!cmftimperialinkglbsmmetricpython-matplotlib is not installed, plotting disabled!weight.csvweight_plot.pngProject-Id-Version: pondus Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues POT-Creation-Date: 2011-05-28 20:39+0200 PO-Revision-Date: 2011-06-01 09:04+0000 Last-Translator: erauti Language-Team: LANGUAGE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: fi Plural-Forms: nplurals=2; plural=(n != 1) Lisää tietojaLisää tietojaKaikkiTapahtui virhe tuonnin yhteydessäPonduksen toinen ilmentymä on muokkaamassa samaa datatiedostoa. Haluatko jatkaa ja mahdollisesti menettää toisen ilmentymän tekemät muutokset?Lisää huomioita tietueisiinBody Mass IndexKehon rasvaCSV vientiCVS tiedosto, josta luetaan:CVS tiedosto, johon tallennetaan:CVS tuontiEi löytynyt %sValittuTiedot vasemmalle:Tiedot, jotka viedään:Datatiedosto lukittu, jatkatko?PäivämääräPäivämäärä (YYYY-MM-DD)Poista valitut tiedotHaluatko varmasti poistaa nämä tiedot?Muokkaa tietojaMuokkaa valittuja tietojaOta käyttöön painonsuunnitteluLopetus pvm.Virhe: Virheellinen tiedostoVirhe: Virheellinen muotoVienti onnistuiTuo tiedot:Tuonti ei onnistunutTuonti onnistuiViimeiset 6 kuukauttaViime kuukausiViime vuosiMatplotlib ei asennettuna!LihasEi mitäänEi oikeutta tiedoston lukitsemiseen. Tallennetaan tiedot %sHuomioVarmista että pygtk on asennettuPiirräPiirrä painokäyräPiirrä painotiedotAsetuksetOletus yksikköjärjestelmä:LopetaLuetaan tiedosto %sMuista ikkunan kokoPoista tiedot?Oikealle:Tallenna piirrosTallenna tiedostotyyppinä:Tallenna tiedostoonTalletetaan piirros %sValitse ajanjakso:Valitse tiedostoValitse piirron ajanjaksoNäytä suunnitelmaSileäAloitus pvm.Syötetyt tiedot eivät ole oikein muotoiltujaVienti oli onnistunutAnnettu hakemistopolku ei sisällä soveltuvaa tiedostoa!Tuonti oli onnistunutAloituspäivämäärän tulee olla ennen päättymispäivää!Painonsuunnittelu voidaan ottaa käyttöön asetukset lomakkeella.Piirtääksesi BMI käyrän, tulee sinun antaa pituutesi asetustietojen lomakkeellaSeuraa kehon rasvapitoisuuttaSeuraa lihasmassaaSeuraa vesipitoisuuttaKäytä kalenteria päivämäärän syöttämisessäKäytä kalenteria päivämäärien syöttämiseen tekstinsyötön sijaan lisää/muokkaa -lomakkeella Käyttäjän pituus:Käytetään tilalla standardia tiedostoa ~/.pondus/user_data.xml.VesiPainoPainon mittauksetPainonsuunnitteluPainonsuunnitteluAnnoit hakemiston tiedoston sijaan!cmjalkaaenglantilainentuumaakgpaunaammetrinenpython-matplotlib ei ole asennettuna, piirto ei käytössä!weight.csvweight_plot.pngpondus-0.8.0/po/mo/fr/0000755000175000017500000000000011574231223013103 5ustar eikeeikepondus-0.8.0/po/mo/fr/LC_MESSAGES/0000755000175000017500000000000011574231223014670 5ustar eikeeikepondus-0.8.0/po/mo/fr/LC_MESSAGES/pondus.mo0000644000175000017500000001367511574231217016554 0ustar eikeeikeNk  #  /*G r  * 8 C M 3g $       + 5 H U g z  .  .  -, <Z J  S Q 8^    #         6 J U e /'W2#B!f 0 !??! 0Mez K+ :DT\|# "CTem2|0; DFM+rxC'CF LV]`g i+s =>A"J? .IC%D 5F-L 6<324!+$&#K9()1 N/MG,@0:B';7  *H8EAdd DatasetAdd datasetAll TimeAn error occured during the import.Another instance of pondus seems to be editing the same datafile. Do you really want to continue and loose all the changes from the other instance?Body Mass IndexCSV ExportCSV File to read from:CSV File to save to:CSV ImportCould not find %sCustomData to export:Datafile locked, continue?DateDate (YYYY-MM-DD)Delete selected datasetDo you really want to delete this dataset?Edit DatasetEdit selected datasetEnable Weight PlannerEnd dateError: Not a valid FileError: Wrong FormatExport successfulImport data to:Import not successfulImport successfulLast 6 MonthsLast MonthLast YearMatplotlib not available!Not owning the file lock. Backing up the data to %sPlease make sure pygtk is installed.PlotPlot WeightPreferencesPreferred Unit System:QuitReading file %sRemember Window SizeRemove Data?Save PlotSave as File Type:Save to FileSaving plot to %sSelect Date Range:Select FileSmoothStart dateThe data entered is not in the correct format!The export was successful.The given path does not point to a valid file!The import was successful.The start date has to be before the end date!The weight planner can be enabled in the preferences dialog.To plot your BMI, you need to enter your height in the preferences dialog.Use Calendar in Add DialogUse a calendar widget instead of a text entry to enter dates in the add/edit dialogUser Height:Using the standard file ~/.pondus/user_data.xml instead.WeightWeight MeasurementsWeight PlanWeight PlannerYou passed a directory, not a file!cmftimperialinkglbsmmetricpython-matplotlib is not installed, plotting disabled!weight.csvweight_plot.pngProject-Id-Version: pondus Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues POT-Creation-Date: 2011-05-28 20:39+0200 PO-Revision-Date: 2011-05-26 17:41+0000 Last-Translator: eike Language-Team: LANGUAGE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: fr Plural-Forms: nplurals=2; plural=(n > 1) Nouvel enregistrementNouvel enregistrementToutes les datesUne erreur s'est produite lors de l'importationUne autre instance de pondus semble être en train d'éditer le même fichier de données. Voulez-vous vraiment continuer et perdre tous les changements effectués par l'autre instance ?Index de Masse Corporelle (IMC)Exportation CSVChemin du fichier CSV à importer :Fichier CSV à enregistrer sous :Importation CSVFichier introuvable: %sPersonnaliséDonnées à exporter :Fichier de données déjà utilisé, continuer ?DateDate (AAAA-MM-JJ)Supprimer la ligne sélectionnéeÊtes vous certain(e) de vouloir supprimer cet enregistrement ?Modifier l'enregistrementÉditer la ligne sélectionnéeActiver le planificateur de poidsDate de finErreur : fichier invalideErreur : format incorrectExportation réussieImporter les données vers :Échec de l'importationImportation réussie6 derniers moisMois dernierAnnée dernièreMatplotlib indisponible !Ne possède pas le fichier de verrouillage. Sauvegarde des données vers %sVeuillez vérifier que pygtk est installé.DiagrammeCourbe de poidsOptionsSystème d'unités préféré :QuitterLecture du fichier %sMémoriser la taille de la fenêtreSupprimer l'enregistrement ?Enregistrer le diagrammeType de fichier :Enregistrer dans un fichierEnregistrer le diagramme sous %sPlage de dates :Choix du fichierFinesseDate de débutLa saisie n'a pas été effectuée au bon format !Exportation réussieLe chemin indiqué n'est pas un fichier valide !Importation réussieLa date de départ doit être antérieure à celle de fin !Le planificateur de poids peut être activé dans les préférences.Pour tracer votre IMC, vous devez saisir votre taille dans les préférences.Utiliser le calendrier dans le menu d'ajoutUtiliser un widget calendrier plutôt qu'une entrée texte pour saisir les dates dans la fenêtre d'ajout/éditionTaille de l'utilisateur :Utilisation du fichier standard ~/.pondus/user_data.xml à la placePoidsMesures de poidsPlanificateur de poidsPlanificateur de poidsCeci est un répertoire, pas un fichiercmpiedsimpérialpouceskglivresmmétriqueMatplotlib indisponible, tracé désactivépoids.csvcourbe_de_poids.pngpondus-0.8.0/po/update_po.py0000644000175000017500000000406611574231216014423 0ustar eikeeike#! /usr/bin/env python # -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2008-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import os import sys def _get_version(): """Returns the current version of Pondus.""" srcdir = os.path.dirname(os.path.abspath(sys.path[0])) sys.path.insert(1, srcdir) from pondus import __version__ return __version__ def _get_language_codes(): """Returns a list of language codes of available translations""" language_codes = [] podir = '.' for file_ in os.listdir(podir): if not file_.endswith('.po'): continue language_codes.append(os.path.splitext(file_)[0]) return language_codes def _create_pot(version, files_to_translate): """Creates pondus.pot, the template file for translations.""" gettext_command = ['xgettext'] gettext_options = [ '-L Python', '-o pondus.pot', '--package-name=Pondus', ''.join(['--package-version=', version]), '--msgid-bugs-address=pondus-dev@lists.berlios.de'] gettext_command.extend(gettext_options) gettext_command.extend(files_to_translate) os.system(' '.join(gettext_command)) return None def _update_po(languages): """Merges the existing .po files with the new pondus.pot.""" for lang in languages: command = 'msgmerge --update ' + lang + '.po pondus.pot' os.system(command) return None if __name__ == '__main__': # list of source files containing translatable strings files_to_translate = [] for root, dirs, files in os.walk('../pondus/'): for f in files: if os.path.splitext(f)[1] == '.py': files_to_translate.append(os.path.join(root, f)) # list of existing translations languages = _get_language_codes() version = _get_version() _create_pot(version, files_to_translate) _update_po(languages) pondus-0.8.0/po/sv.po0000644000175000017500000002442711574231216013064 0ustar eikeeike# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # eike , 2011. # Peter Landgren , 2011. msgid "" msgstr "" "Project-Id-Version: pondus\n" "Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues\n" "POT-Creation-Date: 2011-05-28 20:39+0200\n" "PO-Revision-Date: 2011-05-30 13:19+0200\n" "Last-Translator: Peter Landgren \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Lokalize 1.0\n" #: ../pondus/backends/csv_backend.py:22 msgid "weight.csv" msgstr "vikt.csv" #: ../pondus/core/util.py:47 msgid "kg" msgstr "kg" #: ../pondus/core/util.py:49 msgid "lbs" msgstr "pund" #: ../pondus/core/filelock.py:40 msgid "Datafile locked, continue?" msgstr "Datafil låst, fortsätta?" #: ../pondus/core/filelock.py:41 msgid "" "Another instance of pondus seems to be editing the same datafile. Do you " "really want to continue and loose all the changes from the other instance?" msgstr "" "En annan instans av pondus verkar hålla,på ett redigera samma datafil. Vill " "du verkligen fortsätta och förlora alla ändringar från den andra instansen?" #: ../pondus/core/initialize.py:44 #, python-format msgid "Could not find %s" msgstr "Kunde inte hitta %s" #: ../pondus/core/initialize.py:55 msgid "Please make sure pygtk is installed." msgstr "Se till att pygtk är installerat." #: ../pondus/core/initialize.py:95 #, python-format msgid "Not owning the file lock. Backing up the data to %s" msgstr "Äger ej fillåsningen. Sparar data till %s" #: ../pondus/core/plot.py:23 ../pondus/gui/dialog_plot.py:73 #: ../pondus/gui/dialog_plot.py:97 ../pondus/gui/dialog_add.py:78 #: ../pondus/gui/window_main.py:124 msgid "Weight" msgstr "Vikt" #: ../pondus/core/plot.py:24 ../pondus/gui/dialog_plot.py:88 #: ../pondus/gui/dialog_plot.py:109 msgid "Body Mass Index" msgstr "Body Mass Index" #: ../pondus/core/plot.py:25 ../pondus/gui/dialog_plot.py:76 #: ../pondus/gui/dialog_plot.py:99 ../pondus/gui/dialog_add.py:256 #: ../pondus/gui/guiutil.py:53 msgid "Bodyfat" msgstr "Kroppsfett" #: ../pondus/core/plot.py:26 ../pondus/gui/dialog_plot.py:79 #: ../pondus/gui/dialog_plot.py:102 ../pondus/gui/dialog_add.py:258 #: ../pondus/gui/guiutil.py:56 msgid "Muscle" msgstr "Muskel" #: ../pondus/core/plot.py:27 ../pondus/gui/dialog_plot.py:82 #: ../pondus/gui/dialog_plot.py:104 ../pondus/gui/dialog_add.py:260 #: ../pondus/gui/guiutil.py:59 msgid "Water" msgstr "Vatten" #: ../pondus/core/plot.py:113 #, python-format msgid "Saving plot to %s" msgstr "Sparar diagram till %s" #: ../pondus/core/option_parser.py:38 #, python-format msgid "Reading file %s" msgstr "Läser fil %s" #: ../pondus/core/option_parser.py:43 msgid "You passed a directory, not a file!" msgstr "Dette är en mapp, ej en fil!" #: ../pondus/core/option_parser.py:45 msgid "Using the standard file ~/.pondus/user_data.xml instead." msgstr "Använder standardfil ~/.pondus/user_data.xml i stället" #: ../pondus/gui/dialog_csv.py:39 ../pondus/gui/window_main.py:134 msgid "Weight Measurements" msgstr "Viktmätningar" #: ../pondus/gui/dialog_csv.py:44 msgid "Weight Plan" msgstr "Viktplan" #: ../pondus/gui/dialog_csv.py:88 ../pondus/gui/window_main.py:93 msgid "CSV Export" msgstr "CSV-export" #: ../pondus/gui/dialog_csv.py:89 msgid "Data to export:" msgstr "Data att exportera:" #: ../pondus/gui/dialog_csv.py:90 msgid "CSV File to save to:" msgstr "CSV-fil sparas till:" #: ../pondus/gui/dialog_csv.py:104 msgid "Export successful" msgstr "Lyckad export" #: ../pondus/gui/dialog_csv.py:105 msgid "The export was successful." msgstr "Exporten lyckades." #: ../pondus/gui/dialog_csv.py:121 ../pondus/gui/window_main.py:92 msgid "CSV Import" msgstr "CSV-import" #: ../pondus/gui/dialog_csv.py:122 msgid "Import data to:" msgstr "Importera data till:" #: ../pondus/gui/dialog_csv.py:123 msgid "CSV File to read from:" msgstr "CSV-fil att läsa från:" #: ../pondus/gui/dialog_csv.py:134 msgid "Error: Not a valid File" msgstr "Fel: Ogiltig fil" #: ../pondus/gui/dialog_csv.py:135 msgid "The given path does not point to a valid file!" msgstr "Den angivna sökvägen pekar inte på en giltig fil!" #: ../pondus/gui/dialog_csv.py:146 msgid "Import successful" msgstr "Import lyckades" #: ../pondus/gui/dialog_csv.py:147 msgid "The import was successful." msgstr "Importen lyckades." #: ../pondus/gui/dialog_csv.py:150 msgid "Import not successful" msgstr "Importen misslyckades" #: ../pondus/gui/dialog_csv.py:151 msgid "An error occured during the import." msgstr "Ett fel inträffade under import." #: ../pondus/gui/dialog_plot.py:32 msgid "Plot Weight" msgstr "Rita viktkurva" #: ../pondus/gui/dialog_plot.py:41 msgid "Select Date Range:" msgstr "Välj dataområde" #: ../pondus/gui/dialog_plot.py:46 msgid "Start date" msgstr "Startdatum" #: ../pondus/gui/dialog_plot.py:52 msgid "End date" msgstr "Slutdatum" #: ../pondus/gui/dialog_plot.py:57 msgid "Select date range of plot" msgstr "Välj datumutsträckning för diagram" #: ../pondus/gui/dialog_plot.py:58 msgid "All Time" msgstr "All tid" #: ../pondus/gui/dialog_plot.py:59 msgid "Last Year" msgstr "Förra året" #: ../pondus/gui/dialog_plot.py:60 msgid "Last 6 Months" msgstr "Senaste 6 månaderna" #: ../pondus/gui/dialog_plot.py:61 msgid "Last Month" msgstr "Senaste månad" #: ../pondus/gui/dialog_plot.py:62 msgid "Custom" msgstr "Anpassad" #: ../pondus/gui/dialog_plot.py:69 msgid "Data Left:" msgstr "Vänstra data:" #: ../pondus/gui/dialog_plot.py:85 ../pondus/gui/dialog_plot.py:106 msgid "" "To plot your BMI, you need to enter your height in the preferences dialog." msgstr "" "För att rita ditt BMI, måste du mata in din längd i inställningsdialogen." #: ../pondus/gui/dialog_plot.py:93 msgid "Right:" msgstr "Högra:" #: ../pondus/gui/dialog_plot.py:110 msgid "None" msgstr "Inget" #: ../pondus/gui/dialog_plot.py:117 msgid "Smooth" msgstr "Utjämnad" #: ../pondus/gui/dialog_plot.py:121 msgid "Show Plan" msgstr "Visa plan" #: ../pondus/gui/dialog_plot.py:125 msgid "The weight planner can be enabled in the preferences dialog." msgstr "Viktplanen kan göras tillgänglig i inställningsdialogen." #: ../pondus/gui/dialog_plot.py:130 msgid "Save Plot" msgstr "Spara diagram" #: ../pondus/gui/dialog_plot.py:162 ../pondus/gui/dialog_plot.py:167 #: ../pondus/gui/dialog_add.py:181 msgid "Error: Wrong Format" msgstr "Fel: Felaktigt format" #: ../pondus/gui/dialog_plot.py:163 ../pondus/gui/dialog_add.py:182 msgid "The data entered is not in the correct format!" msgstr "Den inmatade uppgiften har ej rätt format!" #: ../pondus/gui/dialog_plot.py:168 msgid "The start date has to be before the end date!" msgstr "Startdatum måste föregå slutdatum!" #: ../pondus/gui/dialog_plot.py:198 msgid "weight_plot.png" msgstr "viktdiagram.png" #: ../pondus/gui/dialog_add.py:42 msgid "Edit Dataset" msgstr "Redigera data" #: ../pondus/gui/dialog_add.py:44 msgid "Add Dataset" msgstr "Lägg till data" #: ../pondus/gui/dialog_add.py:51 ../pondus/gui/window_main.py:123 msgid "Date" msgstr "Datum" #: ../pondus/gui/dialog_add.py:65 msgid "Date (YYYY-MM-DD)" msgstr "Datum (YYYY-MM-DD)" #: ../pondus/gui/dialog_add.py:109 ../pondus/gui/guiutil.py:62 msgid "Note" msgstr "Notis" #: ../pondus/gui/dialog_preferences.py:27 ../pondus/gui/window_main.py:68 msgid "Preferences" msgstr "Inställningar" #: ../pondus/gui/dialog_preferences.py:31 msgid "User Height:" msgstr "Användarens längd:" #: ../pondus/gui/dialog_preferences.py:55 msgid "m" msgstr "m" #: ../pondus/gui/dialog_preferences.py:56 msgid "cm" msgstr "cm" #: ../pondus/gui/dialog_preferences.py:57 msgid "ft" msgstr "fot" #: ../pondus/gui/dialog_preferences.py:58 msgid "in" msgstr "tum" #: ../pondus/gui/dialog_preferences.py:79 msgid "Preferred Unit System:" msgstr "Föredraget enhetssystem:" #: ../pondus/gui/dialog_preferences.py:83 msgid "metric" msgstr "metriskt" #: ../pondus/gui/dialog_preferences.py:89 msgid "imperial" msgstr "engelskt" #: ../pondus/gui/dialog_preferences.py:97 msgid "Enable Weight Planner" msgstr "Tillåt viktsplan" #: ../pondus/gui/dialog_preferences.py:103 msgid "Track Bodyfat" msgstr "Följ kroppsfett" #: ../pondus/gui/dialog_preferences.py:109 msgid "Track Muscle" msgstr "Följ muskel" #: ../pondus/gui/dialog_preferences.py:115 msgid "Track Water" msgstr "Följ vatten" #: ../pondus/gui/dialog_preferences.py:121 msgid "Append Notes to Datasets" msgstr "Lägg till notiser till datamängder" #: ../pondus/gui/dialog_preferences.py:128 msgid "Use Calendar in Add Dialog" msgstr "Använda kalender i tilläggsdialog" #: ../pondus/gui/dialog_preferences.py:132 msgid "" "Use a calendar widget instead of a text entry to enter dates in the add/edit" " dialog" msgstr "" "Använd en kalender i stället för textinmatning av datum i tilläggs/redigera-" "dialogen" #: ../pondus/gui/dialog_preferences.py:136 msgid "Remember Window Size" msgstr "Kom ihåg fönsterstorlek" #: ../pondus/gui/dialog_select_file.py:24 msgid "Select File" msgstr "Välj fil" #: ../pondus/gui/window_main.py:60 msgid "Add dataset" msgstr "Lägg till data" #: ../pondus/gui/window_main.py:62 msgid "Edit selected dataset" msgstr "Redigera valda data" #: ../pondus/gui/window_main.py:64 msgid "Delete selected dataset" msgstr "Tag bort valda data" #: ../pondus/gui/window_main.py:65 msgid "Plot" msgstr "Diagram" #: ../pondus/gui/window_main.py:66 msgid "Matplotlib not available!" msgstr "Matplotlib ej installerat!" #: ../pondus/gui/window_main.py:70 msgid "Quit" msgstr "Avsluta" #: ../pondus/gui/window_main.py:135 msgid "Weight Planner" msgstr "Viktsplan" #: ../pondus/gui/window_main.py:187 msgid "Remove Data?" msgstr "Tag bort data?" #: ../pondus/gui/window_main.py:188 msgid "Do you really want to delete this dataset?" msgstr "Vill du verkligen ta bort dessa data?" #: ../pondus/gui/window_main.py:368 msgid "python-matplotlib is not installed, plotting disabled!" msgstr "python matlibplot är ej installerat, plottning ej möjligt!" #: ../pondus/gui/window_main.py:378 msgid "Plot weight data" msgstr "Rita viktsdata" #: ../pondus/gui/dialog_save_file.py:24 msgid "Save to File" msgstr "Spara till fil" #: ../pondus/gui/dialog_save_file.py:30 msgid "Save as File Type:" msgstr "Spara som filtyp:" pondus-0.8.0/po/tr.po0000644000175000017500000002526011574231216013055 0ustar eikeeike# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Muhammet Kara , 2011 msgid "" msgstr "" "Project-Id-Version: pondus\n" "Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues\n" "POT-Creation-Date: 2011-05-28 20:39+0200\n" "PO-Revision-Date: 2011-05-30 11:21+0000\n" "Last-Translator: kara \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tr\n" "Plural-Forms: nplurals=1; plural=0\n" #: ../pondus/backends/csv_backend.py:22 msgid "weight.csv" msgstr "weight.csv" #: ../pondus/core/util.py:47 msgid "kg" msgstr "kg" #: ../pondus/core/util.py:49 msgid "lbs" msgstr "lbs" #: ../pondus/core/filelock.py:40 msgid "Datafile locked, continue?" msgstr "Veri dosyası kilitlendi, devam edilsin mi?" #: ../pondus/core/filelock.py:41 msgid "" "Another instance of pondus seems to be editing the same datafile. Do you " "really want to continue and loose all the changes from the other instance?" msgstr "" "pondus'un başka bir örneği aynı veri dosyasını düzenliyor gibi görünüyor. " "Gerçekten devam etmek istiyor musunuz? (Diğer örnekteki tüm değişiklikleri " "kaybedeceksiniz.)" #: ../pondus/core/initialize.py:44 #, python-format msgid "Could not find %s" msgstr "%s bulunamadı" #: ../pondus/core/initialize.py:55 msgid "Please make sure pygtk is installed." msgstr "Lütfen pygtk kurulu olduğundan emin olun." #: ../pondus/core/initialize.py:95 #, python-format msgid "Not owning the file lock. Backing up the data to %s" msgstr "Dosya kilidi yok. Veriler %s içine yedekleniyor" #: ../pondus/core/plot.py:23 ../pondus/gui/dialog_plot.py:73 #: ../pondus/gui/dialog_plot.py:97 ../pondus/gui/dialog_add.py:78 #: ../pondus/gui/window_main.py:124 msgid "Weight" msgstr "Ağırlık" #: ../pondus/core/plot.py:24 ../pondus/gui/dialog_plot.py:88 #: ../pondus/gui/dialog_plot.py:109 msgid "Body Mass Index" msgstr "Vücut Kitle İndeksi" #: ../pondus/core/plot.py:25 ../pondus/gui/dialog_plot.py:76 #: ../pondus/gui/dialog_plot.py:99 ../pondus/gui/dialog_add.py:256 #: ../pondus/gui/guiutil.py:53 msgid "Bodyfat" msgstr "Vücut Yağı" #: ../pondus/core/plot.py:26 ../pondus/gui/dialog_plot.py:79 #: ../pondus/gui/dialog_plot.py:102 ../pondus/gui/dialog_add.py:258 #: ../pondus/gui/guiutil.py:56 msgid "Muscle" msgstr "Kas" #: ../pondus/core/plot.py:27 ../pondus/gui/dialog_plot.py:82 #: ../pondus/gui/dialog_plot.py:104 ../pondus/gui/dialog_add.py:260 #: ../pondus/gui/guiutil.py:59 msgid "Water" msgstr "Su" #: ../pondus/core/plot.py:113 #, python-format msgid "Saving plot to %s" msgstr "Grafik %s içine kaydediliyor" #: ../pondus/core/option_parser.py:38 #, python-format msgid "Reading file %s" msgstr "%s dosyası okunuyor" #: ../pondus/core/option_parser.py:43 msgid "You passed a directory, not a file!" msgstr "Bir dosya değil, dizin girdiniz!" #: ../pondus/core/option_parser.py:45 msgid "Using the standard file ~/.pondus/user_data.xml instead." msgstr "Onun yerine ~/.pondus/User_data.xml standart dosyası kullanılıyor." #: ../pondus/gui/dialog_csv.py:39 ../pondus/gui/window_main.py:134 msgid "Weight Measurements" msgstr "Ağırlık Ölçümleri" #: ../pondus/gui/dialog_csv.py:44 msgid "Weight Plan" msgstr "Ağırlık Planı" #: ../pondus/gui/dialog_csv.py:88 ../pondus/gui/window_main.py:93 msgid "CSV Export" msgstr "CSV Dışa Aktar" #: ../pondus/gui/dialog_csv.py:89 msgid "Data to export:" msgstr "Dışa aktarılacak veri:" #: ../pondus/gui/dialog_csv.py:90 msgid "CSV File to save to:" msgstr "Kaydedilecek CSV Dosyası:" #: ../pondus/gui/dialog_csv.py:104 msgid "Export successful" msgstr "Dışa aktarım başarılı" #: ../pondus/gui/dialog_csv.py:105 msgid "The export was successful." msgstr "Dışa aktarım başarıyla gerçekleştirildi." #: ../pondus/gui/dialog_csv.py:121 ../pondus/gui/window_main.py:92 msgid "CSV Import" msgstr "CSV İçe Aktar" #: ../pondus/gui/dialog_csv.py:122 msgid "Import data to:" msgstr "Veriyi içe aktar:" #: ../pondus/gui/dialog_csv.py:123 msgid "CSV File to read from:" msgstr "Okunacak CSV Dosyası:" #: ../pondus/gui/dialog_csv.py:134 msgid "Error: Not a valid File" msgstr "Hata: Geçerli bir dosya değil" #: ../pondus/gui/dialog_csv.py:135 msgid "The given path does not point to a valid file!" msgstr "Verilen yol geçerli bir dosyayı göstermiyor!" #: ../pondus/gui/dialog_csv.py:146 msgid "Import successful" msgstr "İçe aktarım başarılı" #: ../pondus/gui/dialog_csv.py:147 msgid "The import was successful." msgstr "İçe aktarım başarıyla gerçekleştirildi." #: ../pondus/gui/dialog_csv.py:150 msgid "Import not successful" msgstr "İçe aktarım başarısız" #: ../pondus/gui/dialog_csv.py:151 msgid "An error occured during the import." msgstr "İçe aktarım sırasında bir hata oluştu." #: ../pondus/gui/dialog_plot.py:32 msgid "Plot Weight" msgstr "Ağırlık Grafiği Çiz" #: ../pondus/gui/dialog_plot.py:41 msgid "Select Date Range:" msgstr "Tarih Aralığı Seçin:" #: ../pondus/gui/dialog_plot.py:46 msgid "Start date" msgstr "Başlangıç ​​tarihi" #: ../pondus/gui/dialog_plot.py:52 msgid "End date" msgstr "Bitiş tarihi" #: ../pondus/gui/dialog_plot.py:57 msgid "Select date range of plot" msgstr "Grafiğin tarih aralığını seçin" #: ../pondus/gui/dialog_plot.py:58 msgid "All Time" msgstr "Tüm Zamanlar" #: ../pondus/gui/dialog_plot.py:59 msgid "Last Year" msgstr "Geçen Yıl" #: ../pondus/gui/dialog_plot.py:60 msgid "Last 6 Months" msgstr "Son 6 Ay" #: ../pondus/gui/dialog_plot.py:61 msgid "Last Month" msgstr "Geçen Ay" #: ../pondus/gui/dialog_plot.py:62 msgid "Custom" msgstr "Özel" #: ../pondus/gui/dialog_plot.py:69 msgid "Data Left:" msgstr "Kalan Veri:" #: ../pondus/gui/dialog_plot.py:85 ../pondus/gui/dialog_plot.py:106 msgid "" "To plot your BMI, you need to enter your height in the preferences dialog." msgstr "" "VKİ grafiğinizin çizilebilmesi için, tercihler ​​iletişim kutusuna boyunuzu " "girmelisiniz." #: ../pondus/gui/dialog_plot.py:93 msgid "Right:" msgstr "Sağ:" #: ../pondus/gui/dialog_plot.py:110 msgid "None" msgstr "Hiçbiri" #: ../pondus/gui/dialog_plot.py:117 msgid "Smooth" msgstr "Pürüzsüz" #: ../pondus/gui/dialog_plot.py:121 msgid "Show Plan" msgstr "Planı Göster" #: ../pondus/gui/dialog_plot.py:125 msgid "The weight planner can be enabled in the preferences dialog." msgstr "Ağırlık planlayıcısı, tercihler iletişim kutusundan açılabilir." #: ../pondus/gui/dialog_plot.py:130 msgid "Save Plot" msgstr "Grafiği Kaydet" #: ../pondus/gui/dialog_plot.py:162 ../pondus/gui/dialog_plot.py:167 #: ../pondus/gui/dialog_add.py:181 msgid "Error: Wrong Format" msgstr "Hata: Yanlış Biçim" #: ../pondus/gui/dialog_plot.py:163 ../pondus/gui/dialog_add.py:182 msgid "The data entered is not in the correct format!" msgstr "Girilen veri doğru biçimde değil!" #: ../pondus/gui/dialog_plot.py:168 msgid "The start date has to be before the end date!" msgstr "Başlangıç ​​tarihi bitiş tarihinden önce olmalıdır!" #: ../pondus/gui/dialog_plot.py:198 msgid "weight_plot.png" msgstr "weight_plot.png" #: ../pondus/gui/dialog_add.py:42 msgid "Edit Dataset" msgstr "Veri Kümesi Düzenle" #: ../pondus/gui/dialog_add.py:44 msgid "Add Dataset" msgstr "Veri Kümesi Ekle" #: ../pondus/gui/dialog_add.py:51 ../pondus/gui/window_main.py:123 msgid "Date" msgstr "Tarih" #: ../pondus/gui/dialog_add.py:65 msgid "Date (YYYY-MM-DD)" msgstr "Tarih (YYYY-AA-GG)" #: ../pondus/gui/dialog_add.py:109 ../pondus/gui/guiutil.py:62 msgid "Note" msgstr "Not" #: ../pondus/gui/dialog_preferences.py:27 ../pondus/gui/window_main.py:68 msgid "Preferences" msgstr "Tercihler" #: ../pondus/gui/dialog_preferences.py:31 msgid "User Height:" msgstr "Kullanıcının Boyu:" #: ../pondus/gui/dialog_preferences.py:55 msgid "m" msgstr "m" #: ../pondus/gui/dialog_preferences.py:56 msgid "cm" msgstr "cm" #: ../pondus/gui/dialog_preferences.py:57 msgid "ft" msgstr "ft" #: ../pondus/gui/dialog_preferences.py:58 msgid "in" msgstr "in" #: ../pondus/gui/dialog_preferences.py:79 msgid "Preferred Unit System:" msgstr "Tercih Edilen Birim Sistemi:" #: ../pondus/gui/dialog_preferences.py:83 msgid "metric" msgstr "metrik" #: ../pondus/gui/dialog_preferences.py:89 msgid "imperial" msgstr "ingiliz" #: ../pondus/gui/dialog_preferences.py:97 msgid "Enable Weight Planner" msgstr "Ağırlık Planlayıcısını Etkinleştir" #: ../pondus/gui/dialog_preferences.py:103 msgid "Track Bodyfat" msgstr "Vücut Yağı Takibi" #: ../pondus/gui/dialog_preferences.py:109 msgid "Track Muscle" msgstr "Kas Takibi" #: ../pondus/gui/dialog_preferences.py:115 msgid "Track Water" msgstr "Su Takibi" #: ../pondus/gui/dialog_preferences.py:121 msgid "Append Notes to Datasets" msgstr "Veri Kümelerine Not Ekle" #: ../pondus/gui/dialog_preferences.py:128 msgid "Use Calendar in Add Dialog" msgstr "Ekle İletişim Kutusunda Takvim Kullan" #: ../pondus/gui/dialog_preferences.py:132 msgid "" "Use a calendar widget instead of a text entry to enter dates in the add/edit" " dialog" msgstr "" "Ekle/düzenle iletişim kutusunda tarihleri girmek için metin girişi yerine " "bir takvim uygulamacığı kullan" #: ../pondus/gui/dialog_preferences.py:136 msgid "Remember Window Size" msgstr "Pencere Boyutunu Hatırla" #: ../pondus/gui/dialog_select_file.py:24 msgid "Select File" msgstr "Dosya Seç" #: ../pondus/gui/window_main.py:60 msgid "Add dataset" msgstr "Veri kümesi ekle" #: ../pondus/gui/window_main.py:62 msgid "Edit selected dataset" msgstr "Seçilen veri kümesini düzenle" #: ../pondus/gui/window_main.py:64 msgid "Delete selected dataset" msgstr "Seçilen veri kümesini sil" #: ../pondus/gui/window_main.py:65 msgid "Plot" msgstr "Grafik çiz" #: ../pondus/gui/window_main.py:66 msgid "Matplotlib not available!" msgstr "Matplotlib mevcut değil!" #: ../pondus/gui/window_main.py:70 msgid "Quit" msgstr "Kapat" #: ../pondus/gui/window_main.py:135 msgid "Weight Planner" msgstr "Ağırlık Planlayıcısı" #: ../pondus/gui/window_main.py:187 msgid "Remove Data?" msgstr "Veri Kaldırılsın mı?" #: ../pondus/gui/window_main.py:188 msgid "Do you really want to delete this dataset?" msgstr "Gerçekten bu veri kümesini silmek istiyor musunuz?" #: ../pondus/gui/window_main.py:368 msgid "python-matplotlib is not installed, plotting disabled!" msgstr "python-matplotlib kurulu değil. Grafik çizimi devre dışı bırakıldı!" #: ../pondus/gui/window_main.py:378 msgid "Plot weight data" msgstr "Ağırlık verisi grafiği çiz" #: ../pondus/gui/dialog_save_file.py:24 msgid "Save to File" msgstr "Dosyaya Kaydet" #: ../pondus/gui/dialog_save_file.py:30 msgid "Save as File Type:" msgstr "Farklı Kaydet Dosya Türü:" pondus-0.8.0/po/eo.po0000644000175000017500000002273611574231216013040 0ustar eikeeike# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # eike , 2011 msgid "" msgstr "" "Project-Id-Version: pondus\n" "Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues\n" "POT-Creation-Date: 2011-05-28 20:39+0200\n" "PO-Revision-Date: 2011-05-26 17:41+0000\n" "Last-Translator: eike \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" #: ../pondus/backends/csv_backend.py:22 msgid "weight.csv" msgstr "weight.csv" #: ../pondus/core/util.py:47 msgid "kg" msgstr "kg" #: ../pondus/core/util.py:49 msgid "lbs" msgstr "lbs" #: ../pondus/core/filelock.py:40 msgid "Datafile locked, continue?" msgstr "Datumdosiero ŝlosita, ĉu ni daŭrigu ?" #: ../pondus/core/filelock.py:41 msgid "" "Another instance of pondus seems to be editing the same datafile. Do you " "really want to continue and loose all the changes from the other instance?" msgstr "" "Ŝajnas ke alia apero de pondus redaktas la saman datumdosieron. Ĉu vi vere " "deziras daŭrigi kaj perdi ĉiujn ŝanĝojn de la alia apero ?" #: ../pondus/core/initialize.py:44 #, python-format msgid "Could not find %s" msgstr "Ne eblis trovi %s" #: ../pondus/core/initialize.py:55 msgid "Please make sure pygtk is installed." msgstr "Bonvolu certiĝi ke pygtk instaliĝis" #: ../pondus/core/initialize.py:95 #, python-format msgid "Not owning the file lock. Backing up the data to %s" msgstr "" #: ../pondus/core/plot.py:23 ../pondus/gui/dialog_plot.py:73 #: ../pondus/gui/dialog_plot.py:97 ../pondus/gui/dialog_add.py:78 #: ../pondus/gui/window_main.py:124 msgid "Weight" msgstr "Pezo" #: ../pondus/core/plot.py:24 ../pondus/gui/dialog_plot.py:88 #: ../pondus/gui/dialog_plot.py:109 msgid "Body Mass Index" msgstr "Korpomasa indico" #: ../pondus/core/plot.py:25 ../pondus/gui/dialog_plot.py:76 #: ../pondus/gui/dialog_plot.py:99 ../pondus/gui/dialog_add.py:256 #: ../pondus/gui/guiutil.py:53 msgid "Bodyfat" msgstr "" #: ../pondus/core/plot.py:26 ../pondus/gui/dialog_plot.py:79 #: ../pondus/gui/dialog_plot.py:102 ../pondus/gui/dialog_add.py:258 #: ../pondus/gui/guiutil.py:56 msgid "Muscle" msgstr "" #: ../pondus/core/plot.py:27 ../pondus/gui/dialog_plot.py:82 #: ../pondus/gui/dialog_plot.py:104 ../pondus/gui/dialog_add.py:260 #: ../pondus/gui/guiutil.py:59 msgid "Water" msgstr "" #: ../pondus/core/plot.py:113 #, python-format msgid "Saving plot to %s" msgstr "" #: ../pondus/core/option_parser.py:38 #, python-format msgid "Reading file %s" msgstr "Legante dosieron %s" #: ../pondus/core/option_parser.py:43 msgid "You passed a directory, not a file!" msgstr "Estas dosierujo, ne dosiero!" #: ../pondus/core/option_parser.py:45 msgid "Using the standard file ~/.pondus/user_data.xml instead." msgstr "Uzi aprioran dosieron ~/.pondus/user_data.xml anstataŭ." #: ../pondus/gui/dialog_csv.py:39 ../pondus/gui/window_main.py:134 msgid "Weight Measurements" msgstr "Pezaj Mezuroj" #: ../pondus/gui/dialog_csv.py:44 msgid "Weight Plan" msgstr "Peza Plano" #: ../pondus/gui/dialog_csv.py:88 ../pondus/gui/window_main.py:93 msgid "CSV Export" msgstr "CSV Eksportado" #: ../pondus/gui/dialog_csv.py:89 msgid "Data to export:" msgstr "Datumoj por eksporti:" #: ../pondus/gui/dialog_csv.py:90 msgid "CSV File to save to:" msgstr "" #: ../pondus/gui/dialog_csv.py:104 msgid "Export successful" msgstr "Eksportado suksesis" #: ../pondus/gui/dialog_csv.py:105 msgid "The export was successful." msgstr "" #: ../pondus/gui/dialog_csv.py:121 ../pondus/gui/window_main.py:92 msgid "CSV Import" msgstr "CSV Importado" #: ../pondus/gui/dialog_csv.py:122 msgid "Import data to:" msgstr "" #: ../pondus/gui/dialog_csv.py:123 msgid "CSV File to read from:" msgstr "" #: ../pondus/gui/dialog_csv.py:134 msgid "Error: Not a valid File" msgstr "Eraro: Ne valida Dosiero" #: ../pondus/gui/dialog_csv.py:135 msgid "The given path does not point to a valid file!" msgstr "" #: ../pondus/gui/dialog_csv.py:146 msgid "Import successful" msgstr "" #: ../pondus/gui/dialog_csv.py:147 msgid "The import was successful." msgstr "" #: ../pondus/gui/dialog_csv.py:150 msgid "Import not successful" msgstr "" #: ../pondus/gui/dialog_csv.py:151 msgid "An error occured during the import." msgstr "" #: ../pondus/gui/dialog_plot.py:32 msgid "Plot Weight" msgstr "Grafika Reprezento de Pezo" #: ../pondus/gui/dialog_plot.py:41 msgid "Select Date Range:" msgstr "Elektu datan intervalon" #: ../pondus/gui/dialog_plot.py:46 msgid "Start date" msgstr "Dato de komenco" #: ../pondus/gui/dialog_plot.py:52 msgid "End date" msgstr "Dato de fino" #: ../pondus/gui/dialog_plot.py:57 msgid "Select date range of plot" msgstr "Elektu datan intervalon de grafika reprezento" #: ../pondus/gui/dialog_plot.py:58 msgid "All Time" msgstr "Ĉiam" #: ../pondus/gui/dialog_plot.py:59 msgid "Last Year" msgstr "Lasta Jaro" #: ../pondus/gui/dialog_plot.py:60 msgid "Last 6 Months" msgstr "Lastaj 6 Monatoj" #: ../pondus/gui/dialog_plot.py:61 msgid "Last Month" msgstr "Lasta Monato" #: ../pondus/gui/dialog_plot.py:62 msgid "Custom" msgstr "Propra" #: ../pondus/gui/dialog_plot.py:69 msgid "Data Left:" msgstr "" #: ../pondus/gui/dialog_plot.py:85 ../pondus/gui/dialog_plot.py:106 msgid "" "To plot your BMI, you need to enter your height in the preferences dialog." msgstr "" #: ../pondus/gui/dialog_plot.py:93 msgid "Right:" msgstr "" #: ../pondus/gui/dialog_plot.py:110 msgid "None" msgstr "" #: ../pondus/gui/dialog_plot.py:117 msgid "Smooth" msgstr "Glata" #: ../pondus/gui/dialog_plot.py:121 msgid "Show Plan" msgstr "" #: ../pondus/gui/dialog_plot.py:125 msgid "The weight planner can be enabled in the preferences dialog." msgstr "" #: ../pondus/gui/dialog_plot.py:130 msgid "Save Plot" msgstr "Konservi grafikaĵon" #: ../pondus/gui/dialog_plot.py:162 ../pondus/gui/dialog_plot.py:167 #: ../pondus/gui/dialog_add.py:181 msgid "Error: Wrong Format" msgstr "Eraro: Netaŭga Formato" #: ../pondus/gui/dialog_plot.py:163 ../pondus/gui/dialog_add.py:182 msgid "The data entered is not in the correct format!" msgstr "" #: ../pondus/gui/dialog_plot.py:168 msgid "The start date has to be before the end date!" msgstr "" #: ../pondus/gui/dialog_plot.py:198 msgid "weight_plot.png" msgstr "weight_plot.png" #: ../pondus/gui/dialog_add.py:42 msgid "Edit Dataset" msgstr "Redakti Datumaron" #: ../pondus/gui/dialog_add.py:44 msgid "Add Dataset" msgstr "Aldoni Datumaron" #: ../pondus/gui/dialog_add.py:51 ../pondus/gui/window_main.py:123 msgid "Date" msgstr "Dato" #: ../pondus/gui/dialog_add.py:65 msgid "Date (YYYY-MM-DD)" msgstr "Dato (JJJJ-MM-TT)" #: ../pondus/gui/dialog_add.py:109 ../pondus/gui/guiutil.py:62 msgid "Note" msgstr "" #: ../pondus/gui/dialog_preferences.py:27 ../pondus/gui/window_main.py:68 msgid "Preferences" msgstr "Agordoj" #: ../pondus/gui/dialog_preferences.py:31 msgid "User Height:" msgstr "Uzanta Grandeco:" #: ../pondus/gui/dialog_preferences.py:55 msgid "m" msgstr "m" #: ../pondus/gui/dialog_preferences.py:56 msgid "cm" msgstr "cm" #: ../pondus/gui/dialog_preferences.py:57 msgid "ft" msgstr "ft" #: ../pondus/gui/dialog_preferences.py:58 msgid "in" msgstr "in" #: ../pondus/gui/dialog_preferences.py:79 msgid "Preferred Unit System:" msgstr "preferata Unua Sistemo:" #: ../pondus/gui/dialog_preferences.py:83 msgid "metric" msgstr "metra" #: ../pondus/gui/dialog_preferences.py:89 msgid "imperial" msgstr "imperia" #: ../pondus/gui/dialog_preferences.py:97 msgid "Enable Weight Planner" msgstr "Ebligi Pezcelon" #: ../pondus/gui/dialog_preferences.py:103 msgid "Track Bodyfat" msgstr "" #: ../pondus/gui/dialog_preferences.py:109 msgid "Track Muscle" msgstr "" #: ../pondus/gui/dialog_preferences.py:115 msgid "Track Water" msgstr "" #: ../pondus/gui/dialog_preferences.py:121 msgid "Append Notes to Datasets" msgstr "" #: ../pondus/gui/dialog_preferences.py:128 msgid "Use Calendar in Add Dialog" msgstr "" #: ../pondus/gui/dialog_preferences.py:132 msgid "" "Use a calendar widget instead of a text entry to enter dates in the add/edit" " dialog" msgstr "" #: ../pondus/gui/dialog_preferences.py:136 msgid "Remember Window Size" msgstr "Memoru fenestran grandecon" #: ../pondus/gui/dialog_select_file.py:24 msgid "Select File" msgstr "Elekti dosieron" #: ../pondus/gui/window_main.py:60 msgid "Add dataset" msgstr "Aldoni Datumaron" #: ../pondus/gui/window_main.py:62 msgid "Edit selected dataset" msgstr "Redakti elektitan datumaron" #: ../pondus/gui/window_main.py:64 msgid "Delete selected dataset" msgstr "Forigi elektitan datumaron" #: ../pondus/gui/window_main.py:65 msgid "Plot" msgstr "Grafikaĵo" #: ../pondus/gui/window_main.py:66 msgid "Matplotlib not available!" msgstr "Matplotlib ne estas disponebla." #: ../pondus/gui/window_main.py:70 msgid "Quit" msgstr "Forlasi" #: ../pondus/gui/window_main.py:135 msgid "Weight Planner" msgstr "Pezcelo" #: ../pondus/gui/window_main.py:187 msgid "Remove Data?" msgstr "Ĉu forigi Datumojn?" #: ../pondus/gui/window_main.py:188 msgid "Do you really want to delete this dataset?" msgstr "Ĉu vi vere volas forigi ĉi tiun datumaron?" #: ../pondus/gui/window_main.py:368 msgid "python-matplotlib is not installed, plotting disabled!" msgstr "" #: ../pondus/gui/window_main.py:378 msgid "Plot weight data" msgstr "" #: ../pondus/gui/dialog_save_file.py:24 msgid "Save to File" msgstr "Konservi al la dosiero..." #: ../pondus/gui/dialog_save_file.py:30 msgid "Save as File Type:" msgstr "Konservi kiel dosiera tipo:" pondus-0.8.0/po/de.po0000644000175000017500000002522311574231216013017 0ustar eikeeike# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # , 2011 # eike , 2011 # Fabian Affolter , 2011 msgid "" msgstr "" "Project-Id-Version: pondus\n" "Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues\n" "POT-Creation-Date: 2011-05-28 20:39+0200\n" "PO-Revision-Date: 2011-05-26 18:43+0000\n" "Last-Translator: eike \n" "Language-Team: German (http://www.transifex.net/projects/p/pondus/team/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" #: ../pondus/backends/csv_backend.py:22 msgid "weight.csv" msgstr "gewicht.csv" #: ../pondus/core/util.py:47 msgid "kg" msgstr "kg" #: ../pondus/core/util.py:49 msgid "lbs" msgstr "lbs" #: ../pondus/core/filelock.py:40 msgid "Datafile locked, continue?" msgstr "Datei gesperrt, fortfahren?" #: ../pondus/core/filelock.py:41 msgid "" "Another instance of pondus seems to be editing the same datafile. Do you " "really want to continue and loose all the changes from the other instance?" msgstr "" "Eine andere Instanz von Pondus scheint die selbe Datei zu bearbeiten. " "Möchtest du wirklich fortfahren und alle Änderungen der anderen Instanz " "verlieren?" #: ../pondus/core/initialize.py:44 #, python-format msgid "Could not find %s" msgstr "Konnte Datei %s nicht finden." #: ../pondus/core/initialize.py:55 msgid "Please make sure pygtk is installed." msgstr "Bitte stellen Sie sicher, dass PyGTK installiert ist." #: ../pondus/core/initialize.py:95 #, python-format msgid "Not owning the file lock. Backing up the data to %s" msgstr "Datei ist gesperrt. Die Daten werden in %s gesichert." #: ../pondus/core/plot.py:23 ../pondus/gui/dialog_plot.py:73 #: ../pondus/gui/dialog_plot.py:97 ../pondus/gui/dialog_add.py:78 #: ../pondus/gui/window_main.py:124 msgid "Weight" msgstr "Gewicht" #: ../pondus/core/plot.py:24 ../pondus/gui/dialog_plot.py:88 #: ../pondus/gui/dialog_plot.py:109 msgid "Body Mass Index" msgstr "Body Mass Index" #: ../pondus/core/plot.py:25 ../pondus/gui/dialog_plot.py:76 #: ../pondus/gui/dialog_plot.py:99 ../pondus/gui/dialog_add.py:256 #: ../pondus/gui/guiutil.py:53 msgid "Bodyfat" msgstr "Körperfett" #: ../pondus/core/plot.py:26 ../pondus/gui/dialog_plot.py:79 #: ../pondus/gui/dialog_plot.py:102 ../pondus/gui/dialog_add.py:258 #: ../pondus/gui/guiutil.py:56 msgid "Muscle" msgstr "Muskelanteil" #: ../pondus/core/plot.py:27 ../pondus/gui/dialog_plot.py:82 #: ../pondus/gui/dialog_plot.py:104 ../pondus/gui/dialog_add.py:260 #: ../pondus/gui/guiutil.py:59 msgid "Water" msgstr "Wasseranteil" #: ../pondus/core/plot.py:113 #, python-format msgid "Saving plot to %s" msgstr "Diagramm wird als %s gespeichert" #: ../pondus/core/option_parser.py:38 #, python-format msgid "Reading file %s" msgstr "Datei %s wird gelesen" #: ../pondus/core/option_parser.py:43 msgid "You passed a directory, not a file!" msgstr "Sie haben ein Verzeichnis und keine Datei übergeben!" #: ../pondus/core/option_parser.py:45 msgid "Using the standard file ~/.pondus/user_data.xml instead." msgstr "Benutze stattdessen die Standarddatei ~/.pondus/user_data.xml" #: ../pondus/gui/dialog_csv.py:39 ../pondus/gui/window_main.py:134 msgid "Weight Measurements" msgstr "Gewichtsmessungen" #: ../pondus/gui/dialog_csv.py:44 msgid "Weight Plan" msgstr "Gewichtsplaner" #: ../pondus/gui/dialog_csv.py:88 ../pondus/gui/window_main.py:93 msgid "CSV Export" msgstr "CSV Export" #: ../pondus/gui/dialog_csv.py:89 msgid "Data to export:" msgstr "Zu exportierende Daten:" #: ../pondus/gui/dialog_csv.py:90 msgid "CSV File to save to:" msgstr "CSV Zieldatei:" #: ../pondus/gui/dialog_csv.py:104 msgid "Export successful" msgstr "Export erfolgreich" #: ../pondus/gui/dialog_csv.py:105 msgid "The export was successful." msgstr "Der Export war erfolgreich." #: ../pondus/gui/dialog_csv.py:121 ../pondus/gui/window_main.py:92 msgid "CSV Import" msgstr "CSV Import" #: ../pondus/gui/dialog_csv.py:122 msgid "Import data to:" msgstr "Importiere Daten nach:" #: ../pondus/gui/dialog_csv.py:123 msgid "CSV File to read from:" msgstr "Zu lesende CSV Datei:" #: ../pondus/gui/dialog_csv.py:134 msgid "Error: Not a valid File" msgstr "Fehler: Keine Datei" #: ../pondus/gui/dialog_csv.py:135 msgid "The given path does not point to a valid file!" msgstr "Der angegebene Pfad ist keine Datei!" #: ../pondus/gui/dialog_csv.py:146 msgid "Import successful" msgstr "Import erfolgreich" #: ../pondus/gui/dialog_csv.py:147 msgid "The import was successful." msgstr "Der Import war erfolgreich." #: ../pondus/gui/dialog_csv.py:150 msgid "Import not successful" msgstr "Import nicht erfolgreich" #: ../pondus/gui/dialog_csv.py:151 msgid "An error occured during the import." msgstr "Beim Import ist ein Fehler aufgetreten." #: ../pondus/gui/dialog_plot.py:32 msgid "Plot Weight" msgstr "Grafischer Gewichtsverlauf" #: ../pondus/gui/dialog_plot.py:41 msgid "Select Date Range:" msgstr "Wähle Datumsbereich:" #: ../pondus/gui/dialog_plot.py:46 msgid "Start date" msgstr "Anfangsdatum" #: ../pondus/gui/dialog_plot.py:52 msgid "End date" msgstr "Enddatum" #: ../pondus/gui/dialog_plot.py:57 msgid "Select date range of plot" msgstr "Wähle Datumsbereich des Diagramms" #: ../pondus/gui/dialog_plot.py:58 msgid "All Time" msgstr "Alle Zeiten" #: ../pondus/gui/dialog_plot.py:59 msgid "Last Year" msgstr "Letztes Jahr" #: ../pondus/gui/dialog_plot.py:60 msgid "Last 6 Months" msgstr "Letzte 6 Monate" #: ../pondus/gui/dialog_plot.py:61 msgid "Last Month" msgstr "Letzter Monat" #: ../pondus/gui/dialog_plot.py:62 msgid "Custom" msgstr "Angepasst" #: ../pondus/gui/dialog_plot.py:69 msgid "Data Left:" msgstr "Daten links:" #: ../pondus/gui/dialog_plot.py:85 ../pondus/gui/dialog_plot.py:106 msgid "" "To plot your BMI, you need to enter your height in the preferences dialog." msgstr "" "Um den BMI darzustellen, muss die Körpergröße im Optionsdialog angegeben " "werden." #: ../pondus/gui/dialog_plot.py:93 msgid "Right:" msgstr "Rechts:" #: ../pondus/gui/dialog_plot.py:110 msgid "None" msgstr "Keine" #: ../pondus/gui/dialog_plot.py:117 msgid "Smooth" msgstr "Geglättet" #: ../pondus/gui/dialog_plot.py:121 msgid "Show Plan" msgstr "Plan anzeigen" #: ../pondus/gui/dialog_plot.py:125 msgid "The weight planner can be enabled in the preferences dialog." msgstr "Der Gewichtsplaner kann im Optionsdialog aktiviert werden." #: ../pondus/gui/dialog_plot.py:130 msgid "Save Plot" msgstr "Diagramm speichern" #: ../pondus/gui/dialog_plot.py:162 ../pondus/gui/dialog_plot.py:167 #: ../pondus/gui/dialog_add.py:181 msgid "Error: Wrong Format" msgstr "Fehler: Falsches Format" #: ../pondus/gui/dialog_plot.py:163 ../pondus/gui/dialog_add.py:182 msgid "The data entered is not in the correct format!" msgstr "Die eingegebenen Daten haben nicht das richtige Format!" #: ../pondus/gui/dialog_plot.py:168 msgid "The start date has to be before the end date!" msgstr "Das Anfangsdatum muss vor dem Enddatum liegen!" #: ../pondus/gui/dialog_plot.py:198 msgid "weight_plot.png" msgstr "gewichtsdiagramm.png" #: ../pondus/gui/dialog_add.py:42 msgid "Edit Dataset" msgstr "Ändere Datensatz" #: ../pondus/gui/dialog_add.py:44 msgid "Add Dataset" msgstr "Füge Datensatz hinzu" #: ../pondus/gui/dialog_add.py:51 ../pondus/gui/window_main.py:123 msgid "Date" msgstr "Datum" #: ../pondus/gui/dialog_add.py:65 msgid "Date (YYYY-MM-DD)" msgstr "Datum (JJJJ-MM-TT)" #: ../pondus/gui/dialog_add.py:109 ../pondus/gui/guiutil.py:62 msgid "Note" msgstr "Notiz" #: ../pondus/gui/dialog_preferences.py:27 ../pondus/gui/window_main.py:68 msgid "Preferences" msgstr "Optionen" #: ../pondus/gui/dialog_preferences.py:31 msgid "User Height:" msgstr "Körpergröße:" #: ../pondus/gui/dialog_preferences.py:55 msgid "m" msgstr "m" #: ../pondus/gui/dialog_preferences.py:56 msgid "cm" msgstr "cm" #: ../pondus/gui/dialog_preferences.py:57 msgid "ft" msgstr "ft" #: ../pondus/gui/dialog_preferences.py:58 msgid "in" msgstr "in" #: ../pondus/gui/dialog_preferences.py:79 msgid "Preferred Unit System:" msgstr "Bevorzugtes Einheitensystem:" #: ../pondus/gui/dialog_preferences.py:83 msgid "metric" msgstr "metrisch" #: ../pondus/gui/dialog_preferences.py:89 msgid "imperial" msgstr "angloamerikanisch" #: ../pondus/gui/dialog_preferences.py:97 msgid "Enable Weight Planner" msgstr "Aktiviere Gewichtsplaner" #: ../pondus/gui/dialog_preferences.py:103 msgid "Track Bodyfat" msgstr "Körperfett speichern" #: ../pondus/gui/dialog_preferences.py:109 msgid "Track Muscle" msgstr "Muskelanteil speichern" #: ../pondus/gui/dialog_preferences.py:115 msgid "Track Water" msgstr "Wasseranteil speichern" #: ../pondus/gui/dialog_preferences.py:121 msgid "Append Notes to Datasets" msgstr "Notizen an Datensatz anhängen" #: ../pondus/gui/dialog_preferences.py:128 msgid "Use Calendar in Add Dialog" msgstr "Benutze Kalender im Hinzufügen-Fenster" #: ../pondus/gui/dialog_preferences.py:132 msgid "" "Use a calendar widget instead of a text entry to enter dates in the add/edit" " dialog" msgstr "" "Benutze ein Kalenderwidget anstatt des Texteingabefeldes zum Eingeben von " "Daten im Hinzufügen-/Änderndialog" #: ../pondus/gui/dialog_preferences.py:136 msgid "Remember Window Size" msgstr "Speichere Fenstergröße" #: ../pondus/gui/dialog_select_file.py:24 msgid "Select File" msgstr "Wähle Datei aus" #: ../pondus/gui/window_main.py:60 msgid "Add dataset" msgstr "Füge Datensatz hinzu" #: ../pondus/gui/window_main.py:62 msgid "Edit selected dataset" msgstr "Ändere ausgewählten Datensatz" #: ../pondus/gui/window_main.py:64 msgid "Delete selected dataset" msgstr "Lösche ausgewählten Datensatz" #: ../pondus/gui/window_main.py:65 msgid "Plot" msgstr "Diagramm" #: ../pondus/gui/window_main.py:66 msgid "Matplotlib not available!" msgstr "Matplotlib nicht verfügbar!" #: ../pondus/gui/window_main.py:70 msgid "Quit" msgstr "Beenden" #: ../pondus/gui/window_main.py:135 msgid "Weight Planner" msgstr "Gewichtsplaner" #: ../pondus/gui/window_main.py:187 msgid "Remove Data?" msgstr "Datensatz löschen?" #: ../pondus/gui/window_main.py:188 msgid "Do you really want to delete this dataset?" msgstr "Möchtest du diesen Datensatz wirklich löschen?" #: ../pondus/gui/window_main.py:368 msgid "python-matplotlib is not installed, plotting disabled!" msgstr "python-matplotlib ist nicht installiert, Plotfunktion deaktiviert!" #: ../pondus/gui/window_main.py:378 msgid "Plot weight data" msgstr "Grafischer Gewichtsverlauf" #: ../pondus/gui/dialog_save_file.py:24 msgid "Save to File" msgstr "Speichere in Datei" #: ../pondus/gui/dialog_save_file.py:30 msgid "Save as File Type:" msgstr "Speichere Datei im Format:" pondus-0.8.0/po/bg.po0000644000175000017500000003062111574231216013015 0ustar eikeeike# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # eike , 2011 # Yasen Pramatarov , 2011 msgid "" msgstr "" "Project-Id-Version: pondus\n" "Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues\n" "POT-Creation-Date: 2011-05-28 20:39+0200\n" "PO-Revision-Date: 2011-06-02 10:29+0000\n" "Last-Translator: turin \n" "Language-Team: Bulgarian (http://www.transifex.net/projects/p/pondus/team/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" #: ../pondus/backends/csv_backend.py:22 msgid "weight.csv" msgstr "weight.csv" #: ../pondus/core/util.py:47 msgid "kg" msgstr "kg" #: ../pondus/core/util.py:49 msgid "lbs" msgstr "lbs" #: ../pondus/core/filelock.py:40 msgid "Datafile locked, continue?" msgstr "Файлът с данни е заключен. Да се продължи ли?" #: ../pondus/core/filelock.py:41 msgid "" "Another instance of pondus seems to be editing the same datafile. Do you " "really want to continue and loose all the changes from the other instance?" msgstr "" "Изглежда друго копие на програмата редактира същия файл с данни. Наистина ли" " искате да се продължи и да се загубят всички промени от другото копие?" #: ../pondus/core/initialize.py:44 #, python-format msgid "Could not find %s" msgstr "Не може да се открие %s" #: ../pondus/core/initialize.py:55 msgid "Please make sure pygtk is installed." msgstr "Проверете дали pygtk е инсталирано." #: ../pondus/core/initialize.py:95 #, python-format msgid "Not owning the file lock. Backing up the data to %s" msgstr "Файлът е заключен. Създава се резервно копие на данните в %s" #: ../pondus/core/plot.py:23 ../pondus/gui/dialog_plot.py:73 #: ../pondus/gui/dialog_plot.py:97 ../pondus/gui/dialog_add.py:78 #: ../pondus/gui/window_main.py:124 msgid "Weight" msgstr "Тегло" #: ../pondus/core/plot.py:24 ../pondus/gui/dialog_plot.py:88 #: ../pondus/gui/dialog_plot.py:109 msgid "Body Mass Index" msgstr "Индекс телесна маса" #: ../pondus/core/plot.py:25 ../pondus/gui/dialog_plot.py:76 #: ../pondus/gui/dialog_plot.py:99 ../pondus/gui/dialog_add.py:256 #: ../pondus/gui/guiutil.py:53 msgid "Bodyfat" msgstr "Телесна мазнина" #: ../pondus/core/plot.py:26 ../pondus/gui/dialog_plot.py:79 #: ../pondus/gui/dialog_plot.py:102 ../pondus/gui/dialog_add.py:258 #: ../pondus/gui/guiutil.py:56 msgid "Muscle" msgstr "Мускулна маса" #: ../pondus/core/plot.py:27 ../pondus/gui/dialog_plot.py:82 #: ../pondus/gui/dialog_plot.py:104 ../pondus/gui/dialog_add.py:260 #: ../pondus/gui/guiutil.py:59 msgid "Water" msgstr "Телесна вода" #: ../pondus/core/plot.py:113 #, python-format msgid "Saving plot to %s" msgstr "Запазване на графиката %s" #: ../pondus/core/option_parser.py:38 #, python-format msgid "Reading file %s" msgstr "Четене на файл %s" #: ../pondus/core/option_parser.py:43 msgid "You passed a directory, not a file!" msgstr "Това е директория, а не файл!" #: ../pondus/core/option_parser.py:45 msgid "Using the standard file ~/.pondus/user_data.xml instead." msgstr "Използване вместо това на стандартния файл ~/.pondus/user_data.xml" #: ../pondus/gui/dialog_csv.py:39 ../pondus/gui/window_main.py:134 msgid "Weight Measurements" msgstr "Измервания на теглото" #: ../pondus/gui/dialog_csv.py:44 msgid "Weight Plan" msgstr "Планиране на теглото" #: ../pondus/gui/dialog_csv.py:88 ../pondus/gui/window_main.py:93 msgid "CSV Export" msgstr "Изнасяне в CSV" #: ../pondus/gui/dialog_csv.py:89 msgid "Data to export:" msgstr "Данни за изнасяне:" #: ../pondus/gui/dialog_csv.py:90 msgid "CSV File to save to:" msgstr "Файл CSV за запазване:" #: ../pondus/gui/dialog_csv.py:104 msgid "Export successful" msgstr "Успешно изнасяне" #: ../pondus/gui/dialog_csv.py:105 msgid "The export was successful." msgstr "Изнасянето е успешно." #: ../pondus/gui/dialog_csv.py:121 ../pondus/gui/window_main.py:92 msgid "CSV Import" msgstr "Внасяне от CSV" #: ../pondus/gui/dialog_csv.py:122 msgid "Import data to:" msgstr "Внасяне на данни в:" #: ../pondus/gui/dialog_csv.py:123 msgid "CSV File to read from:" msgstr "Файл CSV за четене:" #: ../pondus/gui/dialog_csv.py:134 msgid "Error: Not a valid File" msgstr "Грешка: Невалиден файл" #: ../pondus/gui/dialog_csv.py:135 msgid "The given path does not point to a valid file!" msgstr "Даденият път не съдържа валиден файл!" #: ../pondus/gui/dialog_csv.py:146 msgid "Import successful" msgstr "Успешно внасяне" #: ../pondus/gui/dialog_csv.py:147 msgid "The import was successful." msgstr "Внасянето е успешно." #: ../pondus/gui/dialog_csv.py:150 msgid "Import not successful" msgstr "Внасянето е неуспешно." #: ../pondus/gui/dialog_csv.py:151 msgid "An error occured during the import." msgstr "Възникна грешка по време на внасянето." #: ../pondus/gui/dialog_plot.py:32 msgid "Plot Weight" msgstr "Графика на теглото" #: ../pondus/gui/dialog_plot.py:41 msgid "Select Date Range:" msgstr "Избор на период:" #: ../pondus/gui/dialog_plot.py:46 msgid "Start date" msgstr "Начална дата" #: ../pondus/gui/dialog_plot.py:52 msgid "End date" msgstr "Крайна дата" #: ../pondus/gui/dialog_plot.py:57 msgid "Select date range of plot" msgstr "Изберете период за показване" #: ../pondus/gui/dialog_plot.py:58 msgid "All Time" msgstr "Целият период" #: ../pondus/gui/dialog_plot.py:59 msgid "Last Year" msgstr "Последна година" #: ../pondus/gui/dialog_plot.py:60 msgid "Last 6 Months" msgstr "Последни 6 месеца" #: ../pondus/gui/dialog_plot.py:61 msgid "Last Month" msgstr "Последен месец" #: ../pondus/gui/dialog_plot.py:62 msgid "Custom" msgstr "Ръчно зададен" #: ../pondus/gui/dialog_plot.py:69 msgid "Data Left:" msgstr "Данни отляво:" #: ../pondus/gui/dialog_plot.py:85 ../pondus/gui/dialog_plot.py:106 msgid "" "To plot your BMI, you need to enter your height in the preferences dialog." msgstr "" "За да се изчертае вашия ИТМ (индекс телесна маса), трябва да въведете в " "настройките височината си." #: ../pondus/gui/dialog_plot.py:93 msgid "Right:" msgstr "Отдясно:" #: ../pondus/gui/dialog_plot.py:110 msgid "None" msgstr "Без" #: ../pondus/gui/dialog_plot.py:117 msgid "Smooth" msgstr "Усреднено" #: ../pondus/gui/dialog_plot.py:121 msgid "Show Plan" msgstr "Показване на планирането" #: ../pondus/gui/dialog_plot.py:125 msgid "The weight planner can be enabled in the preferences dialog." msgstr "Планирането на теглото може да се включи от прозореца с настройки." #: ../pondus/gui/dialog_plot.py:130 msgid "Save Plot" msgstr "Запазване на графиката" #: ../pondus/gui/dialog_plot.py:162 ../pondus/gui/dialog_plot.py:167 #: ../pondus/gui/dialog_add.py:181 msgid "Error: Wrong Format" msgstr "Грешка: неправилен формат" #: ../pondus/gui/dialog_plot.py:163 ../pondus/gui/dialog_add.py:182 msgid "The data entered is not in the correct format!" msgstr "Въведените данни не са в правилен формат!" #: ../pondus/gui/dialog_plot.py:168 msgid "The start date has to be before the end date!" msgstr "Началната дата трябва да е преди крайната дата!" #: ../pondus/gui/dialog_plot.py:198 msgid "weight_plot.png" msgstr "weight_plot.png" #: ../pondus/gui/dialog_add.py:42 msgid "Edit Dataset" msgstr "Редактиране на данните" #: ../pondus/gui/dialog_add.py:44 msgid "Add Dataset" msgstr "Добавяне на данни" #: ../pondus/gui/dialog_add.py:51 ../pondus/gui/window_main.py:123 msgid "Date" msgstr "Дата" #: ../pondus/gui/dialog_add.py:65 msgid "Date (YYYY-MM-DD)" msgstr "Дата (ГГГГ-ММ-ДД)" #: ../pondus/gui/dialog_add.py:109 ../pondus/gui/guiutil.py:62 msgid "Note" msgstr "Бележка" #: ../pondus/gui/dialog_preferences.py:27 ../pondus/gui/window_main.py:68 msgid "Preferences" msgstr "Настройки" #: ../pondus/gui/dialog_preferences.py:31 msgid "User Height:" msgstr "Височина на потребителя:" #: ../pondus/gui/dialog_preferences.py:55 msgid "m" msgstr "m" #: ../pondus/gui/dialog_preferences.py:56 msgid "cm" msgstr "cm" #: ../pondus/gui/dialog_preferences.py:57 msgid "ft" msgstr "ft" #: ../pondus/gui/dialog_preferences.py:58 msgid "in" msgstr "in" #: ../pondus/gui/dialog_preferences.py:79 msgid "Preferred Unit System:" msgstr "Предпочитана мерна система:" #: ../pondus/gui/dialog_preferences.py:83 msgid "metric" msgstr "метрична" #: ../pondus/gui/dialog_preferences.py:89 msgid "imperial" msgstr "имперска" #: ../pondus/gui/dialog_preferences.py:97 msgid "Enable Weight Planner" msgstr "Включване на планиране на теглото" #: ../pondus/gui/dialog_preferences.py:103 msgid "Track Bodyfat" msgstr "Следене на телесната мазнина" #: ../pondus/gui/dialog_preferences.py:109 msgid "Track Muscle" msgstr "Следене на мускулната маса" #: ../pondus/gui/dialog_preferences.py:115 msgid "Track Water" msgstr "Следене на телесната вода" #: ../pondus/gui/dialog_preferences.py:121 msgid "Append Notes to Datasets" msgstr "Добавяне на бележки към данните" #: ../pondus/gui/dialog_preferences.py:128 msgid "Use Calendar in Add Dialog" msgstr "Календар при добавяне на данни" #: ../pondus/gui/dialog_preferences.py:132 msgid "" "Use a calendar widget instead of a text entry to enter dates in the add/edit" " dialog" msgstr "" "Използване на календар вместо текстово поле за въвеждане на дати при " "добавяне или редакция на данни" #: ../pondus/gui/dialog_preferences.py:136 msgid "Remember Window Size" msgstr "Запомняне размера на прозореца" #: ../pondus/gui/dialog_select_file.py:24 msgid "Select File" msgstr "Избор на файл" #: ../pondus/gui/window_main.py:60 msgid "Add dataset" msgstr "Добавяне на данни" #: ../pondus/gui/window_main.py:62 msgid "Edit selected dataset" msgstr "Редактиране на избраните данни" #: ../pondus/gui/window_main.py:64 msgid "Delete selected dataset" msgstr "Изтриване на избраните данни" #: ../pondus/gui/window_main.py:65 msgid "Plot" msgstr "Графика" #: ../pondus/gui/window_main.py:66 msgid "Matplotlib not available!" msgstr "Библиотеката mathplotlib не е налична!" #: ../pondus/gui/window_main.py:70 msgid "Quit" msgstr "Изход" #: ../pondus/gui/window_main.py:135 msgid "Weight Planner" msgstr "Планиране на теглото" #: ../pondus/gui/window_main.py:187 msgid "Remove Data?" msgstr "Да се премахнат ли данните?" #: ../pondus/gui/window_main.py:188 msgid "Do you really want to delete this dataset?" msgstr "Наистина ли искате да изтриете тези данни?" #: ../pondus/gui/window_main.py:368 msgid "python-matplotlib is not installed, plotting disabled!" msgstr "" "python-matplotlib не е инсталирано, затова чертането на графики е изключено!" #: ../pondus/gui/window_main.py:378 msgid "Plot weight data" msgstr "Графика на данните за теглото" #: ../pondus/gui/dialog_save_file.py:24 msgid "Save to File" msgstr "Запазване във файл" #: ../pondus/gui/dialog_save_file.py:30 msgid "Save as File Type:" msgstr "Запазване като файл от вид:" pondus-0.8.0/po/it.po0000644000175000017500000002512711574231216013046 0ustar eikeeike# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Stefano Costa , 2008 # Eike Nicklas , 2011 msgid "" msgstr "" "Project-Id-Version: pondus\n" "Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues\n" "POT-Creation-Date: 2011-05-28 20:39+0200\n" "PO-Revision-Date: 2011-05-28 18:42+0000\n" "Last-Translator: eike \n" "Language-Team: Italian (http://www.transifex.net/projects/p/pondus/team/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" #: ../pondus/backends/csv_backend.py:22 msgid "weight.csv" msgstr "peso.csv" #: ../pondus/core/util.py:47 msgid "kg" msgstr "kg" #: ../pondus/core/util.py:49 msgid "lbs" msgstr "lbs" #: ../pondus/core/filelock.py:40 msgid "Datafile locked, continue?" msgstr "Il file dati è bloccato, continuare comunque?" #: ../pondus/core/filelock.py:41 msgid "" "Another instance of pondus seems to be editing the same datafile. Do you " "really want to continue and loose all the changes from the other instance?" msgstr "" "Sembra che ci sia già un pondus in esecuzione su questo file. Si vuole " "veramente continuare e perdere tutte le modifiche dell'altro programma in " "esecuzione?" #: ../pondus/core/initialize.py:44 #, python-format msgid "Could not find %s" msgstr "Impossibile trovare %s" #: ../pondus/core/initialize.py:55 msgid "Please make sure pygtk is installed." msgstr "Verificare che pygtk sia installato." #: ../pondus/core/initialize.py:95 #, python-format msgid "Not owning the file lock. Backing up the data to %s" msgstr "Non si dispone del blocco sul file. Verrà effettuato un backup in %s" #: ../pondus/core/plot.py:23 ../pondus/gui/dialog_plot.py:73 #: ../pondus/gui/dialog_plot.py:97 ../pondus/gui/dialog_add.py:78 #: ../pondus/gui/window_main.py:124 msgid "Weight" msgstr "Peso" #: ../pondus/core/plot.py:24 ../pondus/gui/dialog_plot.py:88 #: ../pondus/gui/dialog_plot.py:109 msgid "Body Mass Index" msgstr "Indice di Massa Corporea" #: ../pondus/core/plot.py:25 ../pondus/gui/dialog_plot.py:76 #: ../pondus/gui/dialog_plot.py:99 ../pondus/gui/dialog_add.py:256 #: ../pondus/gui/guiutil.py:53 msgid "Bodyfat" msgstr "" #: ../pondus/core/plot.py:26 ../pondus/gui/dialog_plot.py:79 #: ../pondus/gui/dialog_plot.py:102 ../pondus/gui/dialog_add.py:258 #: ../pondus/gui/guiutil.py:56 msgid "Muscle" msgstr "" #: ../pondus/core/plot.py:27 ../pondus/gui/dialog_plot.py:82 #: ../pondus/gui/dialog_plot.py:104 ../pondus/gui/dialog_add.py:260 #: ../pondus/gui/guiutil.py:59 msgid "Water" msgstr "" #: ../pondus/core/plot.py:113 #, python-format msgid "Saving plot to %s" msgstr "Salvataggio del grafico in %s" #: ../pondus/core/option_parser.py:38 #, python-format msgid "Reading file %s" msgstr "Lettura del file %s" #: ../pondus/core/option_parser.py:43 msgid "You passed a directory, not a file!" msgstr "Questa è una directory, non un file!" #: ../pondus/core/option_parser.py:45 msgid "Using the standard file ~/.pondus/user_data.xml instead." msgstr "Viene usato il file standard ~/.pondus/user_data.xml in sostituzione." #: ../pondus/gui/dialog_csv.py:39 ../pondus/gui/window_main.py:134 msgid "Weight Measurements" msgstr "Misurazioni del peso" #: ../pondus/gui/dialog_csv.py:44 msgid "Weight Plan" msgstr "Proiezione del peso" #: ../pondus/gui/dialog_csv.py:88 ../pondus/gui/window_main.py:93 msgid "CSV Export" msgstr "Esporta CSV" #: ../pondus/gui/dialog_csv.py:89 msgid "Data to export:" msgstr "Dati da esportare:" #: ../pondus/gui/dialog_csv.py:90 msgid "CSV File to save to:" msgstr "Salva il file CSV in:" #: ../pondus/gui/dialog_csv.py:104 msgid "Export successful" msgstr "Esportazione avvenuta con successo" #: ../pondus/gui/dialog_csv.py:105 msgid "The export was successful." msgstr "L'esportazione è avvenuta con successo." #: ../pondus/gui/dialog_csv.py:121 ../pondus/gui/window_main.py:92 msgid "CSV Import" msgstr "Importa CSV" #: ../pondus/gui/dialog_csv.py:122 msgid "Import data to:" msgstr "Importa i dati in:" #: ../pondus/gui/dialog_csv.py:123 msgid "CSV File to read from:" msgstr "Leggi dal file CSV:" #: ../pondus/gui/dialog_csv.py:134 msgid "Error: Not a valid File" msgstr "Errore: File non valido" #: ../pondus/gui/dialog_csv.py:135 msgid "The given path does not point to a valid file!" msgstr "Il percorso indicato non corrisponde a un file valido!" #: ../pondus/gui/dialog_csv.py:146 msgid "Import successful" msgstr "Importazione avvenuta con successo" #: ../pondus/gui/dialog_csv.py:147 msgid "The import was successful." msgstr "L'importazione è avvenuta con successo." #: ../pondus/gui/dialog_csv.py:150 msgid "Import not successful" msgstr "L'importazione non ha avuto successo" #: ../pondus/gui/dialog_csv.py:151 msgid "An error occured during the import." msgstr "Si è verificato un errore durante l'importazione." #: ../pondus/gui/dialog_plot.py:32 msgid "Plot Weight" msgstr "Crea un grafico del peso" #: ../pondus/gui/dialog_plot.py:41 msgid "Select Date Range:" msgstr "Seleziona l'intervallo di tempo:" #: ../pondus/gui/dialog_plot.py:46 msgid "Start date" msgstr "Inizio del periodo" #: ../pondus/gui/dialog_plot.py:52 msgid "End date" msgstr "Fine del periodo" #: ../pondus/gui/dialog_plot.py:57 msgid "Select date range of plot" msgstr "Seleziona l'intervallo di tempo:" #: ../pondus/gui/dialog_plot.py:58 msgid "All Time" msgstr "Intero periodo" #: ../pondus/gui/dialog_plot.py:59 msgid "Last Year" msgstr "Ultimo anno" #: ../pondus/gui/dialog_plot.py:60 msgid "Last 6 Months" msgstr "Ultimi 6 mesi" #: ../pondus/gui/dialog_plot.py:61 msgid "Last Month" msgstr "Ultimo mese" #: ../pondus/gui/dialog_plot.py:62 msgid "Custom" msgstr "Personalizzato" #: ../pondus/gui/dialog_plot.py:69 msgid "Data Left:" msgstr "" #: ../pondus/gui/dialog_plot.py:85 ../pondus/gui/dialog_plot.py:106 msgid "" "To plot your BMI, you need to enter your height in the preferences dialog." msgstr "" "Per disegnare l'Indice di Massa Corporea è necessario inserire la propria " "altezza nelle preferenze." #: ../pondus/gui/dialog_plot.py:93 msgid "Right:" msgstr "" #: ../pondus/gui/dialog_plot.py:110 msgid "None" msgstr "" #: ../pondus/gui/dialog_plot.py:117 msgid "Smooth" msgstr "Smussato" #: ../pondus/gui/dialog_plot.py:121 msgid "Show Plan" msgstr "" #: ../pondus/gui/dialog_plot.py:125 msgid "The weight planner can be enabled in the preferences dialog." msgstr "La proiezione del peso può essere abilitata nelle preferenze" #: ../pondus/gui/dialog_plot.py:130 msgid "Save Plot" msgstr "Salva il grafico" #: ../pondus/gui/dialog_plot.py:162 ../pondus/gui/dialog_plot.py:167 #: ../pondus/gui/dialog_add.py:181 msgid "Error: Wrong Format" msgstr "Errore: formato errato." #: ../pondus/gui/dialog_plot.py:163 ../pondus/gui/dialog_add.py:182 msgid "The data entered is not in the correct format!" msgstr "I dati inseriti non sono nel formato corretto!" #: ../pondus/gui/dialog_plot.py:168 msgid "The start date has to be before the end date!" msgstr "La data di inizio deve essere precedente alla data di fine periodo!" #: ../pondus/gui/dialog_plot.py:198 msgid "weight_plot.png" msgstr "grafico_peso.png" #: ../pondus/gui/dialog_add.py:42 msgid "Edit Dataset" msgstr "Modifica misurazione" #: ../pondus/gui/dialog_add.py:44 msgid "Add Dataset" msgstr "Aggiungi misurazione" #: ../pondus/gui/dialog_add.py:51 ../pondus/gui/window_main.py:123 msgid "Date" msgstr "Data" #: ../pondus/gui/dialog_add.py:65 msgid "Date (YYYY-MM-DD)" msgstr "Data (YYYY-MM-DD)" #: ../pondus/gui/dialog_add.py:109 ../pondus/gui/guiutil.py:62 msgid "Note" msgstr "" #: ../pondus/gui/dialog_preferences.py:27 ../pondus/gui/window_main.py:68 msgid "Preferences" msgstr "Preferenze" #: ../pondus/gui/dialog_preferences.py:31 msgid "User Height:" msgstr "Altezza dell'utente:" #: ../pondus/gui/dialog_preferences.py:55 msgid "m" msgstr "m" #: ../pondus/gui/dialog_preferences.py:56 msgid "cm" msgstr "cm" #: ../pondus/gui/dialog_preferences.py:57 msgid "ft" msgstr "ft" #: ../pondus/gui/dialog_preferences.py:58 msgid "in" msgstr "in" #: ../pondus/gui/dialog_preferences.py:79 msgid "Preferred Unit System:" msgstr "Sistema di misura preferito:" #: ../pondus/gui/dialog_preferences.py:83 msgid "metric" msgstr "metrico" #: ../pondus/gui/dialog_preferences.py:89 msgid "imperial" msgstr "anglosassone" #: ../pondus/gui/dialog_preferences.py:97 msgid "Enable Weight Planner" msgstr "Usa la proiezione del peso" #: ../pondus/gui/dialog_preferences.py:103 msgid "Track Bodyfat" msgstr "" #: ../pondus/gui/dialog_preferences.py:109 msgid "Track Muscle" msgstr "" #: ../pondus/gui/dialog_preferences.py:115 msgid "Track Water" msgstr "" #: ../pondus/gui/dialog_preferences.py:121 msgid "Append Notes to Datasets" msgstr "" #: ../pondus/gui/dialog_preferences.py:128 msgid "Use Calendar in Add Dialog" msgstr "Usa un calendario nella finestra Aggiungi misurazione" #: ../pondus/gui/dialog_preferences.py:132 msgid "" "Use a calendar widget instead of a text entry to enter dates in the add/edit" " dialog" msgstr "Mostra un calendario invece che inserire manualmente le date" #: ../pondus/gui/dialog_preferences.py:136 msgid "Remember Window Size" msgstr "Ricordare le dimensioni della finestra" #: ../pondus/gui/dialog_select_file.py:24 msgid "Select File" msgstr "Seleziona file" #: ../pondus/gui/window_main.py:60 msgid "Add dataset" msgstr "Aggiungi misurazione" #: ../pondus/gui/window_main.py:62 msgid "Edit selected dataset" msgstr "Modifica la misurazione selezionata" #: ../pondus/gui/window_main.py:64 msgid "Delete selected dataset" msgstr "Elimina la riga selezionata" #: ../pondus/gui/window_main.py:65 msgid "Plot" msgstr "Crea un grafico" #: ../pondus/gui/window_main.py:66 msgid "Matplotlib not available!" msgstr "Matplotlib non è disponibile!" #: ../pondus/gui/window_main.py:70 msgid "Quit" msgstr "Esci" #: ../pondus/gui/window_main.py:135 msgid "Weight Planner" msgstr "Proiezione del peso" #: ../pondus/gui/window_main.py:187 msgid "Remove Data?" msgstr "Rimuovere i dati?" #: ../pondus/gui/window_main.py:188 msgid "Do you really want to delete this dataset?" msgstr "Si desidera veramente rimuovere questa misurazione?" #: ../pondus/gui/window_main.py:368 msgid "python-matplotlib is not installed, plotting disabled!" msgstr "Matplotlib non è disponibile, la creazione di grafici è disabilitata" #: ../pondus/gui/window_main.py:378 msgid "Plot weight data" msgstr "Crea un grafico del peso" #: ../pondus/gui/dialog_save_file.py:24 msgid "Save to File" msgstr "Salva in un file" #: ../pondus/gui/dialog_save_file.py:30 msgid "Save as File Type:" msgstr "Salva in un file di tipo:" pondus-0.8.0/po/pondus.pot0000644000175000017500000002051411574231216014121 0ustar eikeeike# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Pondus 0.8.0rc1\n" "Report-Msgid-Bugs-To: pondus-dev@lists.berlios.de\n" "POT-Creation-Date: 2011-05-28 20:39+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: ../pondus/backends/csv_backend.py:22 msgid "weight.csv" msgstr "" #: ../pondus/core/util.py:47 msgid "kg" msgstr "" #: ../pondus/core/util.py:49 msgid "lbs" msgstr "" #: ../pondus/core/filelock.py:40 msgid "Datafile locked, continue?" msgstr "" #: ../pondus/core/filelock.py:41 msgid "" "Another instance of pondus seems to be editing the same datafile. Do you " "really want to continue and loose all the changes from the other instance?" msgstr "" #: ../pondus/core/initialize.py:44 #, python-format msgid "Could not find %s" msgstr "" #: ../pondus/core/initialize.py:55 msgid "Please make sure pygtk is installed." msgstr "" #: ../pondus/core/initialize.py:95 #, python-format msgid "Not owning the file lock. Backing up the data to %s" msgstr "" #: ../pondus/core/plot.py:23 ../pondus/gui/dialog_plot.py:73 #: ../pondus/gui/dialog_plot.py:97 ../pondus/gui/dialog_add.py:78 #: ../pondus/gui/window_main.py:124 msgid "Weight" msgstr "" #: ../pondus/core/plot.py:24 ../pondus/gui/dialog_plot.py:88 #: ../pondus/gui/dialog_plot.py:109 msgid "Body Mass Index" msgstr "" #: ../pondus/core/plot.py:25 ../pondus/gui/dialog_plot.py:76 #: ../pondus/gui/dialog_plot.py:99 ../pondus/gui/dialog_add.py:256 #: ../pondus/gui/guiutil.py:53 msgid "Bodyfat" msgstr "" #: ../pondus/core/plot.py:26 ../pondus/gui/dialog_plot.py:79 #: ../pondus/gui/dialog_plot.py:102 ../pondus/gui/dialog_add.py:258 #: ../pondus/gui/guiutil.py:56 msgid "Muscle" msgstr "" #: ../pondus/core/plot.py:27 ../pondus/gui/dialog_plot.py:82 #: ../pondus/gui/dialog_plot.py:104 ../pondus/gui/dialog_add.py:260 #: ../pondus/gui/guiutil.py:59 msgid "Water" msgstr "" #: ../pondus/core/plot.py:113 #, python-format msgid "Saving plot to %s" msgstr "" #: ../pondus/core/option_parser.py:38 #, python-format msgid "Reading file %s" msgstr "" #: ../pondus/core/option_parser.py:43 msgid "You passed a directory, not a file!" msgstr "" #: ../pondus/core/option_parser.py:45 msgid "Using the standard file ~/.pondus/user_data.xml instead." msgstr "" #: ../pondus/gui/dialog_csv.py:39 ../pondus/gui/window_main.py:134 msgid "Weight Measurements" msgstr "" #: ../pondus/gui/dialog_csv.py:44 msgid "Weight Plan" msgstr "" #: ../pondus/gui/dialog_csv.py:88 ../pondus/gui/window_main.py:93 msgid "CSV Export" msgstr "" #: ../pondus/gui/dialog_csv.py:89 msgid "Data to export:" msgstr "" #: ../pondus/gui/dialog_csv.py:90 msgid "CSV File to save to:" msgstr "" #: ../pondus/gui/dialog_csv.py:104 msgid "Export successful" msgstr "" #: ../pondus/gui/dialog_csv.py:105 msgid "The export was successful." msgstr "" #: ../pondus/gui/dialog_csv.py:121 ../pondus/gui/window_main.py:92 msgid "CSV Import" msgstr "" #: ../pondus/gui/dialog_csv.py:122 msgid "Import data to:" msgstr "" #: ../pondus/gui/dialog_csv.py:123 msgid "CSV File to read from:" msgstr "" #: ../pondus/gui/dialog_csv.py:134 msgid "Error: Not a valid File" msgstr "" #: ../pondus/gui/dialog_csv.py:135 msgid "The given path does not point to a valid file!" msgstr "" #: ../pondus/gui/dialog_csv.py:146 msgid "Import successful" msgstr "" #: ../pondus/gui/dialog_csv.py:147 msgid "The import was successful." msgstr "" #: ../pondus/gui/dialog_csv.py:150 msgid "Import not successful" msgstr "" #: ../pondus/gui/dialog_csv.py:151 msgid "An error occured during the import." msgstr "" #: ../pondus/gui/dialog_plot.py:32 msgid "Plot Weight" msgstr "" #: ../pondus/gui/dialog_plot.py:41 msgid "Select Date Range:" msgstr "" #: ../pondus/gui/dialog_plot.py:46 msgid "Start date" msgstr "" #: ../pondus/gui/dialog_plot.py:52 msgid "End date" msgstr "" #: ../pondus/gui/dialog_plot.py:57 msgid "Select date range of plot" msgstr "" #: ../pondus/gui/dialog_plot.py:58 msgid "All Time" msgstr "" #: ../pondus/gui/dialog_plot.py:59 msgid "Last Year" msgstr "" #: ../pondus/gui/dialog_plot.py:60 msgid "Last 6 Months" msgstr "" #: ../pondus/gui/dialog_plot.py:61 msgid "Last Month" msgstr "" #: ../pondus/gui/dialog_plot.py:62 msgid "Custom" msgstr "" #: ../pondus/gui/dialog_plot.py:69 msgid "Data Left:" msgstr "" #: ../pondus/gui/dialog_plot.py:85 ../pondus/gui/dialog_plot.py:106 msgid "" "To plot your BMI, you need to enter your height in the preferences dialog." msgstr "" #: ../pondus/gui/dialog_plot.py:93 msgid "Right:" msgstr "" #: ../pondus/gui/dialog_plot.py:110 msgid "None" msgstr "" #: ../pondus/gui/dialog_plot.py:117 msgid "Smooth" msgstr "" #: ../pondus/gui/dialog_plot.py:121 msgid "Show Plan" msgstr "" #: ../pondus/gui/dialog_plot.py:125 msgid "The weight planner can be enabled in the preferences dialog." msgstr "" #: ../pondus/gui/dialog_plot.py:130 msgid "Save Plot" msgstr "" #: ../pondus/gui/dialog_plot.py:162 ../pondus/gui/dialog_plot.py:167 #: ../pondus/gui/dialog_add.py:181 msgid "Error: Wrong Format" msgstr "" #: ../pondus/gui/dialog_plot.py:163 ../pondus/gui/dialog_add.py:182 msgid "The data entered is not in the correct format!" msgstr "" #: ../pondus/gui/dialog_plot.py:168 msgid "The start date has to be before the end date!" msgstr "" #: ../pondus/gui/dialog_plot.py:198 msgid "weight_plot.png" msgstr "" #: ../pondus/gui/dialog_add.py:42 msgid "Edit Dataset" msgstr "" #: ../pondus/gui/dialog_add.py:44 msgid "Add Dataset" msgstr "" #: ../pondus/gui/dialog_add.py:51 ../pondus/gui/window_main.py:123 msgid "Date" msgstr "" #: ../pondus/gui/dialog_add.py:65 msgid "Date (YYYY-MM-DD)" msgstr "" #: ../pondus/gui/dialog_add.py:109 ../pondus/gui/guiutil.py:62 msgid "Note" msgstr "" #: ../pondus/gui/dialog_preferences.py:27 ../pondus/gui/window_main.py:68 msgid "Preferences" msgstr "" #: ../pondus/gui/dialog_preferences.py:31 msgid "User Height:" msgstr "" #: ../pondus/gui/dialog_preferences.py:55 msgid "m" msgstr "" #: ../pondus/gui/dialog_preferences.py:56 msgid "cm" msgstr "" #: ../pondus/gui/dialog_preferences.py:57 msgid "ft" msgstr "" #: ../pondus/gui/dialog_preferences.py:58 msgid "in" msgstr "" #: ../pondus/gui/dialog_preferences.py:79 msgid "Preferred Unit System:" msgstr "" #: ../pondus/gui/dialog_preferences.py:83 msgid "metric" msgstr "" #: ../pondus/gui/dialog_preferences.py:89 msgid "imperial" msgstr "" #: ../pondus/gui/dialog_preferences.py:97 msgid "Enable Weight Planner" msgstr "" #: ../pondus/gui/dialog_preferences.py:103 msgid "Track Bodyfat" msgstr "" #: ../pondus/gui/dialog_preferences.py:109 msgid "Track Muscle" msgstr "" #: ../pondus/gui/dialog_preferences.py:115 msgid "Track Water" msgstr "" #: ../pondus/gui/dialog_preferences.py:121 msgid "Append Notes to Datasets" msgstr "" #: ../pondus/gui/dialog_preferences.py:128 msgid "Use Calendar in Add Dialog" msgstr "" #: ../pondus/gui/dialog_preferences.py:132 msgid "" "Use a calendar widget instead of a text entry to enter dates in the add/edit " "dialog" msgstr "" #: ../pondus/gui/dialog_preferences.py:136 msgid "Remember Window Size" msgstr "" #: ../pondus/gui/dialog_select_file.py:24 msgid "Select File" msgstr "" #: ../pondus/gui/window_main.py:60 msgid "Add dataset" msgstr "" #: ../pondus/gui/window_main.py:62 msgid "Edit selected dataset" msgstr "" #: ../pondus/gui/window_main.py:64 msgid "Delete selected dataset" msgstr "" #: ../pondus/gui/window_main.py:65 msgid "Plot" msgstr "" #: ../pondus/gui/window_main.py:66 msgid "Matplotlib not available!" msgstr "" #: ../pondus/gui/window_main.py:70 msgid "Quit" msgstr "" #: ../pondus/gui/window_main.py:135 msgid "Weight Planner" msgstr "" #: ../pondus/gui/window_main.py:187 msgid "Remove Data?" msgstr "" #: ../pondus/gui/window_main.py:188 msgid "Do you really want to delete this dataset?" msgstr "" #: ../pondus/gui/window_main.py:368 msgid "python-matplotlib is not installed, plotting disabled!" msgstr "" #: ../pondus/gui/window_main.py:378 msgid "Plot weight data" msgstr "" #: ../pondus/gui/dialog_save_file.py:24 msgid "Save to File" msgstr "" #: ../pondus/gui/dialog_save_file.py:30 msgid "Save as File Type:" msgstr "" pondus-0.8.0/po/fi.po0000644000175000017500000002477611574231216013041 0ustar eikeeike# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Esa Rautiainen , 2011 msgid "" msgstr "" "Project-Id-Version: pondus\n" "Report-Msgid-Bugs-To: http://bitbucket.org/eike/pondus/issues\n" "POT-Creation-Date: 2011-05-28 20:39+0200\n" "PO-Revision-Date: 2011-06-01 09:04+0000\n" "Last-Translator: erauti \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" #: ../pondus/backends/csv_backend.py:22 msgid "weight.csv" msgstr "weight.csv" #: ../pondus/core/util.py:47 msgid "kg" msgstr "kg" #: ../pondus/core/util.py:49 msgid "lbs" msgstr "paunaa" #: ../pondus/core/filelock.py:40 msgid "Datafile locked, continue?" msgstr "Datatiedosto lukittu, jatkatko?" #: ../pondus/core/filelock.py:41 msgid "" "Another instance of pondus seems to be editing the same datafile. Do you " "really want to continue and loose all the changes from the other instance?" msgstr "" "Ponduksen toinen ilmentymä on muokkaamassa samaa datatiedostoa. Haluatko " "jatkaa ja mahdollisesti menettää toisen ilmentymän tekemät muutokset?" #: ../pondus/core/initialize.py:44 #, python-format msgid "Could not find %s" msgstr "Ei löytynyt %s" #: ../pondus/core/initialize.py:55 msgid "Please make sure pygtk is installed." msgstr "Varmista että pygtk on asennettu" #: ../pondus/core/initialize.py:95 #, python-format msgid "Not owning the file lock. Backing up the data to %s" msgstr "Ei oikeutta tiedoston lukitsemiseen. Tallennetaan tiedot %s" #: ../pondus/core/plot.py:23 ../pondus/gui/dialog_plot.py:73 #: ../pondus/gui/dialog_plot.py:97 ../pondus/gui/dialog_add.py:78 #: ../pondus/gui/window_main.py:124 msgid "Weight" msgstr "Paino" #: ../pondus/core/plot.py:24 ../pondus/gui/dialog_plot.py:88 #: ../pondus/gui/dialog_plot.py:109 msgid "Body Mass Index" msgstr "Body Mass Index" #: ../pondus/core/plot.py:25 ../pondus/gui/dialog_plot.py:76 #: ../pondus/gui/dialog_plot.py:99 ../pondus/gui/dialog_add.py:256 #: ../pondus/gui/guiutil.py:53 msgid "Bodyfat" msgstr "Kehon rasva" #: ../pondus/core/plot.py:26 ../pondus/gui/dialog_plot.py:79 #: ../pondus/gui/dialog_plot.py:102 ../pondus/gui/dialog_add.py:258 #: ../pondus/gui/guiutil.py:56 msgid "Muscle" msgstr "Lihas" #: ../pondus/core/plot.py:27 ../pondus/gui/dialog_plot.py:82 #: ../pondus/gui/dialog_plot.py:104 ../pondus/gui/dialog_add.py:260 #: ../pondus/gui/guiutil.py:59 msgid "Water" msgstr "Vesi" #: ../pondus/core/plot.py:113 #, python-format msgid "Saving plot to %s" msgstr "Talletetaan piirros %s" #: ../pondus/core/option_parser.py:38 #, python-format msgid "Reading file %s" msgstr "Luetaan tiedosto %s" #: ../pondus/core/option_parser.py:43 msgid "You passed a directory, not a file!" msgstr "Annoit hakemiston tiedoston sijaan!" #: ../pondus/core/option_parser.py:45 msgid "Using the standard file ~/.pondus/user_data.xml instead." msgstr "Käytetään tilalla standardia tiedostoa ~/.pondus/user_data.xml." #: ../pondus/gui/dialog_csv.py:39 ../pondus/gui/window_main.py:134 msgid "Weight Measurements" msgstr "Painon mittaukset" #: ../pondus/gui/dialog_csv.py:44 msgid "Weight Plan" msgstr "Painonsuunnittelu" #: ../pondus/gui/dialog_csv.py:88 ../pondus/gui/window_main.py:93 msgid "CSV Export" msgstr "CSV vienti" #: ../pondus/gui/dialog_csv.py:89 msgid "Data to export:" msgstr "Tiedot, jotka viedään:" #: ../pondus/gui/dialog_csv.py:90 msgid "CSV File to save to:" msgstr "CVS tiedosto, johon tallennetaan:" #: ../pondus/gui/dialog_csv.py:104 msgid "Export successful" msgstr "Vienti onnistui" #: ../pondus/gui/dialog_csv.py:105 msgid "The export was successful." msgstr "Vienti oli onnistunut" #: ../pondus/gui/dialog_csv.py:121 ../pondus/gui/window_main.py:92 msgid "CSV Import" msgstr "CVS tuonti" #: ../pondus/gui/dialog_csv.py:122 msgid "Import data to:" msgstr "Tuo tiedot:" #: ../pondus/gui/dialog_csv.py:123 msgid "CSV File to read from:" msgstr "CVS tiedosto, josta luetaan:" #: ../pondus/gui/dialog_csv.py:134 msgid "Error: Not a valid File" msgstr "Virhe: Virheellinen tiedosto" #: ../pondus/gui/dialog_csv.py:135 msgid "The given path does not point to a valid file!" msgstr "Annettu hakemistopolku ei sisällä soveltuvaa tiedostoa!" #: ../pondus/gui/dialog_csv.py:146 msgid "Import successful" msgstr "Tuonti onnistui" #: ../pondus/gui/dialog_csv.py:147 msgid "The import was successful." msgstr "Tuonti oli onnistunut" #: ../pondus/gui/dialog_csv.py:150 msgid "Import not successful" msgstr "Tuonti ei onnistunut" #: ../pondus/gui/dialog_csv.py:151 msgid "An error occured during the import." msgstr "Tapahtui virhe tuonnin yhteydessä" #: ../pondus/gui/dialog_plot.py:32 msgid "Plot Weight" msgstr "Piirrä painokäyrä" #: ../pondus/gui/dialog_plot.py:41 msgid "Select Date Range:" msgstr "Valitse ajanjakso:" #: ../pondus/gui/dialog_plot.py:46 msgid "Start date" msgstr "Aloitus pvm." #: ../pondus/gui/dialog_plot.py:52 msgid "End date" msgstr "Lopetus pvm." #: ../pondus/gui/dialog_plot.py:57 msgid "Select date range of plot" msgstr "Valitse piirron ajanjakso" #: ../pondus/gui/dialog_plot.py:58 msgid "All Time" msgstr "Kaikki" #: ../pondus/gui/dialog_plot.py:59 msgid "Last Year" msgstr "Viime vuosi" #: ../pondus/gui/dialog_plot.py:60 msgid "Last 6 Months" msgstr "Viimeiset 6 kuukautta" #: ../pondus/gui/dialog_plot.py:61 msgid "Last Month" msgstr "Viime kuukausi" #: ../pondus/gui/dialog_plot.py:62 msgid "Custom" msgstr "Valittu" #: ../pondus/gui/dialog_plot.py:69 msgid "Data Left:" msgstr "Tiedot vasemmalle:" #: ../pondus/gui/dialog_plot.py:85 ../pondus/gui/dialog_plot.py:106 msgid "" "To plot your BMI, you need to enter your height in the preferences dialog." msgstr "" "Piirtääksesi BMI käyrän, tulee sinun antaa pituutesi asetustietojen " "lomakkeella" #: ../pondus/gui/dialog_plot.py:93 msgid "Right:" msgstr "Oikealle:" #: ../pondus/gui/dialog_plot.py:110 msgid "None" msgstr "Ei mitään" #: ../pondus/gui/dialog_plot.py:117 msgid "Smooth" msgstr "Sileä" #: ../pondus/gui/dialog_plot.py:121 msgid "Show Plan" msgstr "Näytä suunnitelma" #: ../pondus/gui/dialog_plot.py:125 msgid "The weight planner can be enabled in the preferences dialog." msgstr "Painonsuunnittelu voidaan ottaa käyttöön asetukset lomakkeella." #: ../pondus/gui/dialog_plot.py:130 msgid "Save Plot" msgstr "Tallenna piirros" #: ../pondus/gui/dialog_plot.py:162 ../pondus/gui/dialog_plot.py:167 #: ../pondus/gui/dialog_add.py:181 msgid "Error: Wrong Format" msgstr "Virhe: Virheellinen muoto" #: ../pondus/gui/dialog_plot.py:163 ../pondus/gui/dialog_add.py:182 msgid "The data entered is not in the correct format!" msgstr "Syötetyt tiedot eivät ole oikein muotoiltuja" #: ../pondus/gui/dialog_plot.py:168 msgid "The start date has to be before the end date!" msgstr "Aloituspäivämäärän tulee olla ennen päättymispäivää!" #: ../pondus/gui/dialog_plot.py:198 msgid "weight_plot.png" msgstr "weight_plot.png" #: ../pondus/gui/dialog_add.py:42 msgid "Edit Dataset" msgstr "Muokkaa tietoja" #: ../pondus/gui/dialog_add.py:44 msgid "Add Dataset" msgstr "Lisää tietoja" #: ../pondus/gui/dialog_add.py:51 ../pondus/gui/window_main.py:123 msgid "Date" msgstr "Päivämäärä" #: ../pondus/gui/dialog_add.py:65 msgid "Date (YYYY-MM-DD)" msgstr "Päivämäärä (YYYY-MM-DD)" #: ../pondus/gui/dialog_add.py:109 ../pondus/gui/guiutil.py:62 msgid "Note" msgstr "Huomio" #: ../pondus/gui/dialog_preferences.py:27 ../pondus/gui/window_main.py:68 msgid "Preferences" msgstr "Asetukset" #: ../pondus/gui/dialog_preferences.py:31 msgid "User Height:" msgstr "Käyttäjän pituus:" #: ../pondus/gui/dialog_preferences.py:55 msgid "m" msgstr "m" #: ../pondus/gui/dialog_preferences.py:56 msgid "cm" msgstr "cm" #: ../pondus/gui/dialog_preferences.py:57 msgid "ft" msgstr "jalkaa" #: ../pondus/gui/dialog_preferences.py:58 msgid "in" msgstr "tuumaa" #: ../pondus/gui/dialog_preferences.py:79 msgid "Preferred Unit System:" msgstr "Oletus yksikköjärjestelmä:" #: ../pondus/gui/dialog_preferences.py:83 msgid "metric" msgstr "metrinen" #: ../pondus/gui/dialog_preferences.py:89 msgid "imperial" msgstr "englantilainen" #: ../pondus/gui/dialog_preferences.py:97 msgid "Enable Weight Planner" msgstr "Ota käyttöön painonsuunnittelu" #: ../pondus/gui/dialog_preferences.py:103 msgid "Track Bodyfat" msgstr "Seuraa kehon rasvapitoisuutta" #: ../pondus/gui/dialog_preferences.py:109 msgid "Track Muscle" msgstr "Seuraa lihasmassaa" #: ../pondus/gui/dialog_preferences.py:115 msgid "Track Water" msgstr "Seuraa vesipitoisuutta" #: ../pondus/gui/dialog_preferences.py:121 msgid "Append Notes to Datasets" msgstr "Lisää huomioita tietueisiin" #: ../pondus/gui/dialog_preferences.py:128 msgid "Use Calendar in Add Dialog" msgstr "Käytä kalenteria päivämäärän syöttämisessä" #: ../pondus/gui/dialog_preferences.py:132 msgid "" "Use a calendar widget instead of a text entry to enter dates in the add/edit" " dialog" msgstr "" "Käytä kalenteria päivämäärien syöttämiseen tekstinsyötön sijaan " "lisää/muokkaa -lomakkeella " #: ../pondus/gui/dialog_preferences.py:136 msgid "Remember Window Size" msgstr "Muista ikkunan koko" #: ../pondus/gui/dialog_select_file.py:24 msgid "Select File" msgstr "Valitse tiedosto" #: ../pondus/gui/window_main.py:60 msgid "Add dataset" msgstr "Lisää tietoja" #: ../pondus/gui/window_main.py:62 msgid "Edit selected dataset" msgstr "Muokkaa valittuja tietoja" #: ../pondus/gui/window_main.py:64 msgid "Delete selected dataset" msgstr "Poista valitut tiedot" #: ../pondus/gui/window_main.py:65 msgid "Plot" msgstr "Piirrä" #: ../pondus/gui/window_main.py:66 msgid "Matplotlib not available!" msgstr "Matplotlib ei asennettuna!" #: ../pondus/gui/window_main.py:70 msgid "Quit" msgstr "Lopeta" #: ../pondus/gui/window_main.py:135 msgid "Weight Planner" msgstr "Painonsuunnittelu" #: ../pondus/gui/window_main.py:187 msgid "Remove Data?" msgstr "Poista tiedot?" #: ../pondus/gui/window_main.py:188 msgid "Do you really want to delete this dataset?" msgstr "Haluatko varmasti poistaa nämä tiedot?" #: ../pondus/gui/window_main.py:368 msgid "python-matplotlib is not installed, plotting disabled!" msgstr "python-matplotlib ei ole asennettuna, piirto ei käytössä!" #: ../pondus/gui/window_main.py:378 msgid "Plot weight data" msgstr "Piirrä painotiedot" #: ../pondus/gui/dialog_save_file.py:24 msgid "Save to File" msgstr "Tallenna tiedostoon" #: ../pondus/gui/dialog_save_file.py:30 msgid "Save as File Type:" msgstr "Tallenna tiedostotyyppinä:" pondus-0.8.0/README0000644000175000017500000000464411574231216012335 0ustar eikeeikePondus README =============== Pondus is a personal weight manager that keeps track of your body weight and, optionally, the percentage of bodyfat, muscle and water. It aims to be simple to use, lightweight and fast. All data can be plotted to get a quick overview of the history of your weight. A simple weight planner allows to define ``target weights'' and this plan can be compared with the actual measurements in a plot. For installation instructions read `INSTALL`. Homepage with Bugtracker: http://bitbucket.org/eike/pondus/ Mailing List: Requirements: --------------- * python (>= 2.5) * pygtk (>= 2.12) Recommended: -------------- * matplotlib to enable plotting functions Usage: -------- Pondus can be started from the command line with `pondus` or from the menu of your desktop environment. The following command line options are available: --version show program's version number and exit -h, --help show a help message and exit -i FILE, --input=FILE read data from FILE instead of the standard location By default, the user data is stored in `~/.pondus/user_data.xml` and is written to this file automatically on exit, so you don't have to worry about saving the data you entered. All functionality is available via the toolbar or via keyboard/mouse shortcuts. The following shortcuts are currently used: CTR-a add new dataset CTR-d, Delete delete selected dataset CTR-e, Return, Double-click edit selected dataset CTR-p plot weight vs time CTR-q quit pondus To improve the workflow, the add dialog is initialized with the current date and the last measured weight. Both date and weight can be incremented/decremented by one day/0.1kg(lbs) by pressing `+` or `-`, respectively. Pressing `Enter` in one of the entry fields is a shortcut for clicking the `OK`-button. A simple weight planner allows you to define future ``target weights'', i.e. the weight you want to have at some future date. After enabling the weight planner in the preferences, a selector at the bottom of the main window determines whether you are currently editing the weight measurements or the weight plan. The CSV im-/export dialogs allow to im-/export weight data from/to other applications. Currently, the only supported format is 2008-03-26,81.3 (for example). pondus-0.8.0/data/0000755000175000017500000000000011574231223012354 5ustar eikeeikepondus-0.8.0/data/pondus.1.gz0000644000175000017500000000324611574231222014371 0ustar eikeeike2Mpondus.1Wks_q6D/{ij݉HڶӁHPD4JV?\;ٶ3f,}so# TASj߭աj#N-F1 6TH]="W#STʹVß$Z (wls %pM[ذmNr_\7%Uq}6RVAپ55Z1XL 'tX<a@eSݤՈaBaB ivV:ӺE* Uچ 3[c<=ԊEJ +<`uVia Wke '}0Y҈bpbUjJ8S4,Q"p ∭9wpM "~CE"Xz,u ;Prկi;.CDׄ2k }YyŠb<$"I< #omZ0rǥE*yq!Q[f raPYJkZvb9Oed}(^J-l2e4P9vʶFN0[kCf* +p;m1U 1@XgI(Q1uk2*A)qE$\Bt[h$ې[+6H8ߴbl1N lo}yr@n&wq~~i@PA\%1eExnH͕YKlX~a#pUwLy $|`TrE=6&qR2GFʑ%rtA\d 49b.o8/Z Ri( ]{>W/?c/ +$/i2GM1O7[3n}UۻN.|!_Wlk.e=H7c>cA> +>~ea; pz'cL&Z8\UXF%ߊ-1+kǍt14*-hqs޷a&?{8p'Fn>-f_SW_.6{3[ܠV;>lv,]*2Dm2٠q;^/ ^sHI3wӽO^}CK͛(,pondus-0.8.0/data/icons/0000755000175000017500000000000011574231223013467 5ustar eikeeikepondus-0.8.0/data/icons/plot.png0000644000175000017500000000175411574231216015164 0ustar eikeeikePNG  IHDR00WsBIT|d pHYstEXtSoftwarewww.inkscape.org<iIDAThKhUIb_,m7G@-ADhBE"TݸY\YEBumQA)h[Dą]X5-IːdLhpse=w&2S q~%:5\w0) " ."k%yQ':3ϵ۬1M]RWbG;H@?N`43X,*ЅpY\<:#܇,y3vl.\EvVh[=9Z3"b|w27%eƲv/Gi! Y y|apAY"E؋݊:bgi?Ž1tAfN6lW7l=ъ ՚e` 6Tϰbߍ!0)5ឹO hrVKdYLO5ҟ Jd7E'MJwd_;P!qjbkq)>A acں!nǑ8ILO8+Jՙ0g ZPhjD!|;\d -xZq$O 5?fjpQ@g"U8w@;ySt*ڍYLG %#:]~EΈ:^|U5q/`bܪ\sWtmO+jz2ǿUߖ1K[_4!vE%IENDB`pondus-0.8.0/data/icons/pondus.png0000644000175000017500000000233311574231216015510 0ustar eikeeikePNG  IHDR00WsBIT|d pHYs[YtEXtSoftwarewww.inkscape.org<XIDAThkUY]w]DheZ2F؅CHSZaqI}B 6(*5j)\4Ӈwqu9{\_ 1FB=b'B; f#>dD/;`z+ p@}Y#BhX!Çd̘1øq5J]]^feYǏϿ ,1d* A&ìYKR;y򤮮.6mʏ,1~pI<*BihCGC[[[[vr/_EOO5k8|0ɴzaOXTh^W]N8aնnZ\d"Ux]av|#ƃF˖-n#sd䡡Agg\5r}tfªZ\@a>|#H:k ,0vزa҆ `cgKR,YK»؉GaC60bxX- +Чܹs+"߲sݻ2mc&,d̙3G:q6VR"IvYt ŋKtyLܸ{ .T__/9Nzr$Px"pY`(PAf)NKw;v8:e7oT*5z !L&CA#1{䑊O:5VdyAlg1d&y܄"aק;GvӮ?~'"0܎?>k*y #(Ww %_o,\<qKYqlO^rm|9\,1y\QrZ4^$&ڨ 6jj&ڨ 6jj& HnnljǏȑbۧc{>r YoGv\< 좛+%7W-%nǪ4o榜ùդo#o>o )TX9Ue⚲r"fLR1Y?E͓x$~TGEnFLdO+i\g_fb—5!<%΅iu2÷sU}ѿ0ZHDc(_SJRq<IENDB`pondus-0.8.0/data/icons/pondus.svg0000644000175000017500000001276311574231216015533 0ustar eikeeike image/svg+xml pondus-0.8.0/data/icons/pondus.xpm0000644000175000017500000001002611574231216015526 0ustar eikeeike/* XPM */ static char * pondus_xpm[] = { "32 32 118 2", " c None", ". c #000000", "+ c #232323", "@ c #585858", "# c #909090", "$ c #A5A5A5", "% c #A7A7A7", "& c #939393", "* c #5C5C5C", "= c #282828", "- c #040404", "; c #3A3A3A", "> c #989898", ", c #B2B2B2", "' c #B3B3B3", ") c #BB9F9F", "! c #CD7373", "~ c #9E9898", "{ c #434343", "] c #060606", "^ c #000002", "/ c #000007", "( c #020202", "_ c #6D6D6D", ": c #B0B0B0", "< c #B5ADAD", "[ c #E14646", "} c #E34343", "| c #B1B1B1", "1 c #797979", "2 c #000006", "3 c #000003", "4 c #00004A", "5 c #00008C", "6 c #00000B", "7 c #303030", "8 c #AEAEAE", "9 c #C28F8F", "0 c #F51717", "a c #C58787", "b c #3C3C3C", "c c #000085", "d c #000055", "e c #000016", "f c #000093", "g c #0000FD", "h c #000075", "i c #1B1B1B", "j c #929292", "k c #E93535", "l c #999999", "m c #000063", "n c #0000FA", "o c #0000A2", "p c #00001D", "q c #0000F6", "r c #0000EA", "s c #000041", "t c #454545", "u c #BAA3A3", "v c #F61414", "w c #CC7878", "x c #525252", "y c #000035", "z c #0000DF", "A c #0000F9", "B c #000086", "C c #00000D", "D c #0000F7", "E c #0000FF", "F c #0000CE", "G c #000024", "H c #666666", "I c #A2A2A2", "J c #B47979", "K c #D03F3F", "L c #A79797", "M c #747474", "N c #000019", "O c #0000C3", "P c #0000FC", "Q c #00001F", "R c #000038", "S c #0000C5", "T c #00001B", "U c #1D1D1D", "V c #2B2B2B", "W c #2C2929", "X c #322323", "Y c #212121", "Z c #00000E", "` c #0000B8", " . c #00004F", ".. c #000066", "+. c #0000ED", "@. c #000092", "#. c #000074", "$. c #0000E7", "%. c #00007E", "&. c #00006A", "*. c #000064", "=. c #00007D", "-. c #000059", ";. c #00000C", ">. c #0000F0", ",. c #000020", "'. c #00008A", "). c #00009E", "!. c #000091", "~. c #0000F5", "{. c #0000F8", "]. c #00009D", "^. c #00001C", "/. c #0000B0", "(. c #0000FE", "_. c #0000B5", ":. c #00006C", "<. c #000010", " ", " . . . . . . . . ", " . . + @ # $ % & * = . . ", " . - ; > , ' ' ' ) ! ~ { ] . ", " . ^ / ( _ : ' ' ' ' < [ } < | 1 - 2 3 . ", " . . 4 5 6 7 8 ' ' ' ' ' 9 0 a ' ' : b 2 c d . . ", " . e f g h i j ' ' ' ' ' ' [ k ' ' ' ' l + m n o p . ", " . h q r s t : ' ' ' ' ' u v w ' ' ' ' , x y z A B . ", " C D E F G H I I I I I I J K L I I I I I M N O E P Q ", " . R E E S T U V V V V V V W X V V V V V V Y Z ` E E .. ", " . ..E E +.@.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.5 $.E E %.. ", " . &.E E E E E E E E E E E E E E E E E E E E E E E E c . ", " . &.E E E E E E E E E E E E E E E E E E E E E E E E c . ", " . &.E E E E E E E E E E E E E E E E E E E E E E E E c . ", " . &.E E E E E E E E E E E E E E E E E E E E E E E E c . ", " . &.E E E E E E E E E E E E E E E E E E E E E E E E c . ", " . &.E E E E E E E E E E E E E E E E E E E E E E E E c . ", " . &.E E E E E E E E E E E E E E E E E E E E E E E E c . ", " . &.E E E E E E E E E E E E E E E E E E E E E E E E c . ", " . &.E E E E E E E E E E E E E E E E E E E E E E E E c . ", " . &.E E E E E E E E E E E E E E E E E E E E E E E E c . ", " . &.E E E E E E E E E E E E E E E E E E E E E E E E c . ", " . &.E E E E E E E E E E E E E E E E E E E E E E E E c . ", " . &.E E E E E E E E E E E E E E E E E E E E E E E E c . ", " . *.E E E E E E E E E E E E E E E E E E E E E E E E =.. ", " . s E E E E E E E E E E E E E E E E E E E E E E E E -.. ", " ;.>.E E E E E E E E E E E E E E E E E E E E E E D ,. ", " . '.P E E E E E E E E E E E E E E E E E E E E E ).^ ", " e !.~.E E E E E E E E E E E E E E E E E E {.].^. ", " . ;.*./.r (.E E E E E E E E E E E E E +._.:.<.. ", " . . . . . . . . . . . . . . . . . . . . ", " "}; pondus-0.8.0/data/pondus.desktop0000644000175000017500000000023211574231216015256 0ustar eikeeike[Desktop Entry] Version=1.0 Type=Application Name=Pondus Comment=Keep track of your weight Icon=pondus Exec=pondus Categories=GTK;Utility; Terminal=false pondus-0.8.0/LICENSE0000644000175000017500000000206511574231216012455 0ustar eikeeikeCopyright (c) 2007-2011 Eike Nicklas Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. pondus-0.8.0/CONTRIBUTING0000644000175000017500000000241211574231216013276 0ustar eikeeikeHow to Contribute to Pondus ============================= Feedback, Comments, Suggestions, Bugreports --------------------------------------------- The easiest way to contribute to Pondus is to give feedback. Let us know what you think about Pondus, suggest changes or improvements to the mailing list or report bugs at http://bitbucket.org/eike/pondus/issues/[]. We are looking forward to your feedback. Testing the Development Version --------------------------------- If you want to use the latest development version of Pondus and help finding new bugs or other problems, you can get the latest version from http://bitbucket.org/eike/pondus/[] or, if you have Mercurial installed, type `hg clone http://bitbucket.org/eike/pondus`. This version can be tested without installation by executing `pondus.py`. Translating ------------- You can help other people using Pondus by translating it from English to another language. Instructions how to do so can be found in `po/README`. Contributing Code ------------------- If you want to implement a feature yourself, we will be happy to accept patches sent to us via the mailing list. Alternatively, you can fork the project at http://bitbucket.org/eike/pondus/[] and ask me to pull the changes. pondus-0.8.0/pondus/0000755000175000017500000000000011574231223012753 5ustar eikeeikepondus-0.8.0/pondus/backends/0000755000175000017500000000000011574231223014525 5ustar eikeeikepondus-0.8.0/pondus/backends/csv_backend.py0000644000175000017500000000344511574231216017351 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2008-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import csv import os from pondus.core import parameters from pondus.core import util from pondus.core.dataset import Dataset class CsvBackend(object): """Backend to read and write AllDataset data to a csv file.""" default_filename = os.path.join(os.path.expanduser('~'), _('weight.csv')) def write(self, data, filename): """Creates a csv-file at filename containing data.""" csvfile = open(filename, 'w') csvwriter = csv.writer(csvfile) if parameters.config['preferences.unit_system'] == 'imperial': weight_key = 'weight_lbs' else: weight_key = 'weight' for dataset in data: csvwriter.writerow([str(dataset.date), str(round(getattr(dataset, weight_key), 1))]) csvfile.close() def read(self, filename): """Reads the csv-file at filename and returns a list of datasets.""" csvfile = open(filename, 'r') csvreader = csv.reader(csvfile) datasets = [] id_ = 1 # try to read the datasets from the csv file try: for row in csvreader: date = util.str2date(row[0]) weight = round(float(row[1]), 1) dataset = Dataset(id_, date, weight) if parameters.config['preferences.unit_system'] == 'imperial': dataset.weight_lbs = weight datasets.append(dataset) id_ += 1 except: return False return datasets pondus-0.8.0/pondus/backends/sportstracker_backend.py0000644000175000017500000000405511574231216021462 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2011 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import os from xml.etree.cElementTree import Element, SubElement, ElementTree, parse from pondus.core import util from pondus.core.dataset import Dataset class SportstrackerBackend(object): """Backend to read and write AllDatasets data to Sportstracker format.""" default_filename = os.path.join(os.path.expanduser('~'), '.sportstracker', 'weights.xml') def write(self, data, filename): """Creates a sportstracker weights file at filename containing the data; data is an AllDatasets instance.""" id_ = 1 weightlist_el = Element('weight-list') for dataset in data: weight_el = SubElement(weightlist_el, 'weight') id_el = SubElement(weight_el, 'id') id_el.text = str(id_) date_el = SubElement(weight_el, 'date') date_el.text = str(dataset.date) + 'T12:00:00' value_el = SubElement(weight_el, 'value') value_el.text = str(dataset.weight) comment_el = SubElement(weight_el, 'comment') comment_el.text = dataset.note id_ += 1 st_tree = ElementTree(weightlist_el) st_tree.write(filename, encoding='UTF-8') def read(self, filename): """Reads the sportstracker weights file at filename and returns a list of datasets.""" st_tree = parse(filename) datasets = [] id_ = 1 st_datasets = st_tree.findall('weight') for st_dataset in st_datasets: date = util.str2date(st_dataset.find('date').text[0:10]) weight = round(float(st_dataset.find('value').text), 1) note = st_dataset.find('comment').text datasets.append(Dataset(id_, date, weight, note=note)) id_ += 1 return datasets pondus-0.8.0/pondus/backends/util.py0000644000175000017500000000142011574231216016053 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2011 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ def get_backend(name): """Returns a backend corresponding to name. Possible names are: xml, xml_old, csv, sportstracker""" if name == 'xml': from xml_backend import XmlBackend as Backend elif name == 'xml_old': from xml_backend_old import XmlBackendOld as Backend elif name == 'csv': from csv_backend import CsvBackend as Backend elif name == 'sportstracker': from sportstracker_backend import SportstrackerBackend as Backend return Backend() pondus-0.8.0/pondus/backends/__init__.py0000644000175000017500000000057111574231216016643 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2011 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ __all__ = ['csv_backend', 'sportstracker_backend', 'xml_backend', 'xml_backend_old'] pondus-0.8.0/pondus/backends/xml_backend_old.py0000644000175000017500000000352011574231216020206 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import os from xml.etree.cElementTree import parse from pondus.core import parameters from pondus.core import util from pondus.core.dataset import Dataset from pondus.core.person import Person class XmlBackendOld(object): """Backend to read Person data from an xml file in legacy format.""" def read(self, meas_filename, plan_filename): """Parses the legacy xml-files and returns a Person instance.""" person = Person() meas_datasets = _get_datasets(meas_filename) person.measurements.add_list(meas_datasets) plan_datasets = _get_datasets(plan_filename) person.plan.add_list(plan_datasets) return person def _get_datasets(filename): """Parses the legacy xml file at filename and returns a list of datasets.""" datasets = [] if os.path.isfile(filename): user_tree = parse(filename) dataset_list = user_tree.findall('dataset') for dataset_el in dataset_list: dataset = _dataset_from_element(dataset_el) if parameters.convert_weight_data_to_kg: dataset.weight_lbs = dataset.weight datasets.append(dataset) return datasets def _dataset_from_element(dataset_el): """Parses a dataset xml-element and returns it as a Dataset object.""" try: id_ = int(dataset_el.find('id').text) except AttributeError: id_ = int(dataset_el.get('id')) dataset = Dataset(id_, util.str2date(dataset_el.find('date').text), float(dataset_el.find('weight').text)) return dataset pondus-0.8.0/pondus/backends/xml_backend.py0000644000175000017500000000621411574231216017353 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import os from xml.etree.cElementTree import Element, SubElement, ElementTree, parse from pondus.core import parameters from pondus.core import util from pondus.core.dataset import Dataset from pondus.core.person import Person class XmlBackend(object): """Backend to read and write Person data from/to an xml file.""" default_filename = os.path.join( os.path.expanduser('~'), '.pondus', 'user_data.xml') def write(self, data, filename): """Writes data to the xml file. Data is a Person instance.""" person_el = Element('person', format='0.7') height_el = SubElement(person_el, 'height') height_el.text = str(data.height) weight_el = SubElement(person_el, 'weight') measurements_el = SubElement(weight_el, 'measurements') plan_el = SubElement(weight_el, 'plan') for dataset in data.measurements: _add_dataset_to_element(dataset, measurements_el) for dataset in data.plan: _add_dataset_to_element(dataset, plan_el) user_tree = ElementTree(person_el) user_tree.write(filename, encoding='UTF-8') def read(self, filename): """Parses the xml-file in filename and returns a person object.""" person = Person() user_tree = parse(filename) height_element = user_tree.find('height') if height_element is not None: person.height = float(height_element.text) measurements = user_tree.findall('weight/measurements/dataset') plan = user_tree.findall('weight/plan/dataset') for dataset_el in measurements: person.measurements.add(_get_dataset_from_element(dataset_el)) for dataset_el in plan: person.plan.add(_get_dataset_from_element(dataset_el)) return person def _add_dataset_to_element(dataset, element): """Adds a dataset object to an element, which is the parent in the ElementTree.""" dataset_el = SubElement(element, 'dataset') for key in parameters.keys_required: sub_el = SubElement(dataset_el, key) sub_el.text = str(getattr(dataset, key)) for key in parameters.keys_optional: if getattr(dataset, key) is not None: sub_el = SubElement(dataset_el, key) sub_el.text = str(getattr(dataset, key)) def _get_dataset_from_element(dataset_el): """Parses a dataset xml-element and returns it as a Dataset object.""" dataset = Dataset(int(dataset_el.find('id').text), util.str2date(dataset_el.find('date').text), float(dataset_el.find('weight').text)) for key in parameters.keys_optional: key_el = dataset_el.find(key) if key_el is not None: if key in ['note']: key_data = str(key_el.text) else: key_data = float(key_el.text) setattr(dataset, key, key_data) return dataset pondus-0.8.0/pondus/core/0000755000175000017500000000000011574231223013703 5ustar eikeeikepondus-0.8.0/pondus/core/parameters.py0000644000175000017500000000305111574231216016421 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-10 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import os # path of configuration and data files configfile = os.path.expanduser('~/.config/pondus/pondusrc') userdatafile = os.path.expanduser('~/.pondus/user_data.xml') # legacy filepaths datafile_old = os.path.expanduser('~/.pondus/datasets.xml') planfile_old = os.path.expanduser('~/.pondus/weight-plan.xml') # using standard or custom location for datafile? use_custom_file = False # user data user = None # configuration config_default = {'window.remember_size': False, 'window.width': 180, 'window.height': 300, 'preferences.unit_system': 'metric', 'preferences.use_calendar': False, 'preferences.use_bodyfat': False, 'preferences.use_muscle': False, 'preferences.use_water': False, 'preferences.use_note': False, 'preferences.use_weight_plan': False} config = dict(config_default) have_mpl = False convert_weight_data_to_kg = False # tags used in the xml file and dataset objects keys_required = ('id', 'date', 'weight') keys_optional = ('bodyfat', 'muscle', 'water', 'note') # paths to button/logo icons used plot_button_path = '/usr/share/pondus/plot.png' logo_path = '/usr/share/icons/hicolor/48x48/apps/pondus.png' pondus-0.8.0/pondus/core/config_parser.py0000644000175000017500000000507311574231216017105 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2008-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import ConfigParser import os from pondus.core import parameters def read_config(default_config, conffile): """Reads the configuration file and returns the updated default_config dictionary.""" config = dict(default_config) if os.path.isfile(conffile): conf = ConfigParser.RawConfigParser() conf.read(conffile) if conf.has_option('window', 'remember_size'): if conf.getboolean('window', 'remember_size'): config['window.remember_size'] = True if conf.has_option('window', 'width'): config['window.width'] = conf.getint('window', 'width') if conf.has_option('window', 'height'): config['window.height'] = conf.getint('window', 'height') if conf.has_option('preferences', 'unit_system'): config['preferences.unit_system'] = \ conf.get('preferences', 'unit_system') # support legacy weight unit configuration elif conf.has_option('preferences', 'weight_unit'): if conf.get('preferences', 'weight_unit') == 'kg': config['preferences.unit_system'] = 'metric' elif conf.get('preferences', 'weight_unit') == 'lbs': config['preferences.unit_system'] = 'imperial' parameters.convert_weight_data_to_kg = True for option in ['use_weight_plan', 'use_calendar', 'use_bodyfat', 'use_muscle', 'use_water', 'use_note']: if conf.has_option('preferences', option): config['.'.join(['preferences', option])] = \ conf.getboolean('preferences', option) return config def write_config(config, conffile): """Writes the config dictionary to the configuration file.""" conf = ConfigParser.RawConfigParser() for key, value in config.iteritems(): section, option = key.split('.') try: conf.set(section, option, str(value)) except ConfigParser.NoSectionError: conf.add_section(section) conf.set(section, option, str(value)) if not os.path.exists(os.path.dirname(conffile)): os.makedirs(os.path.dirname(conffile)) config_file = open(conffile, 'w') conf.write(config_file) config_file.close() pondus-0.8.0/pondus/core/util.py0000644000175000017500000000370311574231216015237 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ from datetime import date from time import strptime from pondus.core import parameters def str2date(datestring): """Converts a string in the format YYYY-MM-DD into a date object.""" return date(*strptime(datestring, '%Y-%m-%d')[0:3]) def nonemin(list_): """Returns the minimum value in a list ignoring Nones""" try: return min(element for element in list_ if element is not None) except ValueError: return None def nonemax(list_): """Returns the maximum value in a list ignoring Nones""" try: return max(element for element in list_ if element is not None) except ValueError: return None def bmi(weight, height): """Returns the body mass index. Weight and height should be given in kg and cm.""" return weight / (height / 100.0)**2 def get_weight_unit(): """Returns the weight unit preferred by the user.""" if parameters.config['preferences.unit_system'] == 'metric': return _('kg') elif parameters.config['preferences.unit_system'] == 'imperial': return _('lbs') def height_to_metric(height): """Converts height in cm to m/cm.""" meters = int(height) / 100 centimeters = height % 100 return meters, centimeters def height_to_imperial(height): """Converts height in cm to feet/inches.""" height_inches = height / 2.54 feet = int(height_inches) / 12 inches = height_inches % 12 return feet, inches def metric_to_height(meters, centimeters): """Converts height in m/cm to cm.""" return 100 * meters + centimeters def imperial_to_height(feet, inches): """Converts height in feet/inches to cm.""" return 2.54 * (12 * feet + inches) pondus-0.8.0/pondus/core/logger.py0000644000175000017500000000105011574231216015532 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2011 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import logging console_handler = logging.StreamHandler() formatter = logging.Formatter("%(name)s - %(levelname)s: %(message)s") console_handler.setFormatter(formatter) logger = logging.getLogger('pondus') logger.setLevel(logging.INFO) logger.addHandler(console_handler) pondus-0.8.0/pondus/core/filelock.py0000644000175000017500000000475711574231216016064 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2008-10 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import os import sys import pygtk pygtk.require('2.0') import gtk from pondus.core import parameters from pondus.gui.dialog_message import MessageDialog class FileLock(object): """Implements a very simple file locking mechanism to prevent two instances of editing the same file.""" def __init__(self): """Gets data neccessary to lock the datafile, asks for confirmation if the file is already locked and performs the lock if wanted.""" self.lockfilename = parameters.userdatafile + '.lck' self.pid = str(os.getpid()) self.first_lock() def first_lock(self): """Locks the datafile, asks for confirmation if the file is already locked and performs the lock if wanted.""" if not self.is_locked(): self.lock() return elif not self.own_lock(): title = _('Datafile locked, continue?') message = _('Another instance of pondus seems to be editing \ the same datafile. Do you really want to continue and loose all the changes \ from the other instance?') response = MessageDialog('question', title, message).run() if response == gtk.RESPONSE_YES: self.take_over_lock() return elif response == gtk.RESPONSE_NO: sys.exit(1) def lock(self): """Locks the datafile to prevent editing with a second instance.""" lockfile = open(self.lockfilename, 'w') lockfile.write(self.pid) lockfile.close() def unlock(self): """Unlocks the datafile if the instance owns the lock.""" if self.own_lock(): os.remove(self.lockfilename) def is_locked(self): """Checks, whether the datafile is locked.""" return os.path.exists(self.lockfilename) def own_lock(self): """Checks, whether the current instance owns the lock.""" if self.is_locked(): lockfile = open(self.lockfilename, 'r') lockpid = lockfile.read() lockfile.close() return self.pid == lockpid def take_over_lock(self): """Deletes the current lockfile and creates a new one.""" os.remove(self.lockfilename) self.lock() pondus-0.8.0/pondus/core/__init__.py0000644000175000017500000000070711574231216016022 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ __all__ = ['all_datasets', 'config_parser', 'dataset', 'filelock', 'initialize', 'logger', 'option_parser', 'parameters', 'person', 'plot', 'util'] pondus-0.8.0/pondus/core/initialize.py0000644000175000017500000000634111574231216016424 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import gettext import logging import os import sys from pondus.core import parameters from pondus.core import config_parser from pondus.core import option_parser from pondus.core.logger import logger from pondus.core.filelock import FileLock from pondus.core.person import Person def _gettext_install(): """Installs string translations; uses local data if available.""" basepath = os.path.abspath(sys.path[0]) if os.path.exists(os.path.join(basepath, 'po/mo')): gettext.install('pondus', os.path.join(basepath, 'po/mo')) else: gettext.install('pondus', os.path.join(basepath, '../share/locale')) def _get_path(localpath, syspath, filename): """Returns the full path to the file with filename. If it exists, localpath is used, otherwise the corresponding system directory.""" basepath = os.path.abspath(sys.path[0]) localfilepath = os.path.join(basepath, localpath, filename) if os.path.exists(localfilepath): return localfilepath sysfilepath = os.path.join(basepath, syspath, filename) if os.path.exists(sysfilepath): return sysfilepath else: logger.error(_('Could not find %s'), sysfilepath) sys.exit(1) def _test_gtk_availability(): """Tests availability of pygtk and quits if not found.""" try: import pygtk pygtk.require('2.0') import gtk except ImportError: logger.error(_('Please make sure pygtk is installed.')) sys.exit(1) def check_datadir(filepath): """Checks, whether the directory containing the user data exists and creates it if necessary.""" if not os.path.exists(filepath): dirpath = os.path.dirname(filepath) if not os.path.exists(dirpath): os.makedirs(dirpath) def initialize(): """Initializes the main program with the non-default values and checks availability of dependencies.""" _gettext_install() option_parser.parse_options() _test_gtk_availability() check_datadir(parameters.userdatafile) parameters.filelock = FileLock() parameters.plot_button_path = _get_path( 'data/icons/', '../share/pondus/', 'plot.png') parameters.logo_path = _get_path( 'data/icons/', '../share/icons/hicolor/48x48/apps/', 'pondus.png') parameters.config = config_parser.read_config( parameters.config_default, parameters.configfile) parameters.user = Person(parameters.userdatafile) def shutdown(): """Saves the data to disk.""" if parameters.filelock.own_lock(): parameters.user.write_to_file(filepath=parameters.userdatafile) config_parser.write_config(parameters.config, parameters.configfile) parameters.filelock.unlock() else: backupfile = parameters.userdatafile + '.backup' parameters.user.write_to_file(filepath=backupfile) logger.warning( _('Not owning the file lock. Backing up the data to %s'), backupfile) logging.shutdown() pondus-0.8.0/pondus/core/person.py0000644000175000017500000000377311574231216015577 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import os from pondus.core import parameters from pondus.core.all_datasets import AllDatasets from pondus.backends.util import get_backend class Person(object): """Implements the structure to store the user data.""" def __init__(self, filepath=None): """Creates a new person object from the xml file at filepath.""" self.height = 0.0 self.measurements = AllDatasets() self.plan = AllDatasets() self.backend = get_backend('xml') if filepath is not None: self._read_from_file(filepath) def write_to_file(self, filepath): """Writes the person data to the xml file.""" self.backend.write(self, filepath) def _read_from_file(self, filepath): """Reads data from the xml-file in filepath and adds it to the person object.""" # if the standard file or the custom file exists, read from it if os.path.isfile(filepath): self._merge(self.backend.read(filepath)) return # if using a custom file, that does not exist, start with empty data elif parameters.use_custom_file: return # if none of the above, try to import from the legacy data structure elif os.path.isfile(parameters.datafile_old): backend = get_backend('xml_old') self._merge(backend.read(parameters.datafile_old, parameters.planfile_old)) return # this is the first start of pondus, start with empty data def _merge(self, other_person): """Merge data from other_person into self.""" self.height = other_person.height self.measurements = other_person.measurements self.plan = other_person.plan pondus-0.8.0/pondus/core/plot.py0000644000175000017500000003141711574231216015243 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ from datetime import timedelta from matplotlib.figure import Figure from matplotlib import dates from pondus.core import parameters from pondus.core import util from pondus.core.logger import logger class Plot(object): """Creates the weight plot and implements methods to modify it.""" ylabels = { 'weight': _('Weight') + ' (' + util.get_weight_unit() + ')', 'bmi': _('Body Mass Index'), 'bodyfat': _('Bodyfat') + ' (%)', 'muscle': _('Muscle') + ' (%)', 'water': _('Water') + ' (%)', None: ''} show_plan = False smooth = False left_datatype = None left_data = [] left_plan = [] right_datatype = None right_data = [] right_plan = [] def __init__(self): """Initializes the plot data and creates the plot.""" # default settings self.show_plan = parameters.config['preferences.use_weight_plan'] self.smooth = False self.left_datatype = 'weight' if parameters.config['preferences.use_bodyfat']: self.right_datatype = 'bodyfat' # get plot data self._update_plot_data() self._get_max_daterange() # plot whole date range by default self.start_date, self.end_date = self.mindate, self.maxdate # create plot self._create_figure() self._plot_data() self._format_plot() # external api def set_show_plan(self, show_plan): """Sets the parameter describing whether the weight plan is plotted and updates the plot.""" self.show_plan = show_plan self._get_max_daterange() self._update_plot() def set_smooth(self, smooth): """Sets the parameter describing whether the plot data should be smoothed and updates the plot""" self.smooth = smooth self._update_plot_data() self._update_plot() def get_show_plan(self): """Returns the parameter describing whether the weight plan is plotted.""" return self.show_plan def get_smooth(self): """Returns the parameter describing whether the data is smoothed.""" return self.smooth def get_mindate(self): """Returns the minimum date in the datasets.""" return self.mindate def get_maxdate(self): """Returns the maximum date in the datasets.""" return self.maxdate def set_left_type(self, datatype): """Sets the data type plotted on the left y-axis and updates the plot.""" self.left_datatype = datatype self._update_left_data() self._get_max_daterange() self._update_plot() def set_right_type(self, datatype): """Sets the data type plotted on the right y-axis and updates the plot.""" self.right_datatype = datatype self._update_right_data() self._get_max_daterange() self._update_plot() def set_date_range(self, start_date, end_date): """Updates the range of the x-axis.""" self.start_date, self.end_date = start_date, end_date self._format_plot() self.figure.canvas.draw() def save_to_file(self, filename): """Saves the plot to filename. The filename's ending must be a valid format to save to.""" logger.info(_('Saving plot to %s'), filename) self.figure.savefig(filename, format=filename[-3:]) # internal helper methods def _update_plot_data(self): """Update all plot data.""" self._update_left_data() self._update_right_data() def _update_left_data(self): """Update the data plotted on the left y-axis.""" self.left_data = _get_plot_data(parameters.user.measurements, \ self.left_datatype) self.left_plan = _get_plot_data(parameters.user.plan, \ self.left_datatype) if self.smooth and len(self.left_data) > 0: self.left_data = _smooth_data(self.left_data) def _update_right_data(self): """Update the data plotted on the right y-axis.""" self.right_data = _get_plot_data(parameters.user.measurements, \ self.right_datatype) self.right_plan = _get_plot_data(parameters.user.plan, \ self.right_datatype) if self.smooth and len(self.right_data) > 0: self.right_data = _smooth_data(self.right_data) def _create_figure(self): """Creates the figure object containing the plot.""" self.figure = Figure() self.ax_left = self.figure.add_subplot(111) self.ax_right = self.ax_left.twinx() def _update_plot(self): """Updates the plot with the current settings.""" # clear old plot data... self.ax_left.clear() self.ax_right.clear() # ...and create the new data self._plot_data() self._format_plot() self.figure.canvas.draw() def _plot_data(self): """Plots the data.""" if self.left_data: xvalues = [tup[0] for tup in self.left_data] yvalues = [tup[1] for tup in self.left_data] self.ax_left.plot_date(dates.date2num(xvalues), yvalues, fmt='bo-', ms=4.0) if self.left_plan and self.show_plan: xvalues = [tup[0] for tup in self.left_plan] yvalues = [tup[1] for tup in self.left_plan] self.ax_left.plot_date(dates.date2num(xvalues), yvalues, fmt='ro--', ms=4.0) if self.right_data: xvalues = [tup[0] for tup in self.right_data] yvalues = [tup[1] for tup in self.right_data] self.ax_right.plot_date(dates.date2num(xvalues), yvalues, fmt='go-', ms=4.0) if self.right_plan and self.show_plan: xvalues = [tup[0] for tup in self.right_plan] yvalues = [tup[1] for tup in self.right_plan] self.ax_right.plot_date(dates.date2num(xvalues), yvalues, fmt='yo--', ms=4.0) def _format_plot(self): """Formats the plot, i.e. scales axes, sets ticks, etc.""" # enable grid self.ax_left.grid(True) # format x-axis daterange = self.end_date - self.start_date majorlocator, majorformatter, minorlocator = _get_locators(daterange) self.ax_left.set_xlim( dates.date2num(self.start_date), dates.date2num(self.end_date)) self.ax_left.xaxis.set_major_locator(majorlocator) self.ax_left.xaxis.set_major_formatter(majorformatter) self.ax_left.xaxis.set_minor_locator(minorlocator) # format y-axis y_min, y_max = self._get_ylimits(yaxis='left') if y_min is not None: self.ax_left.set_ylim(y_min, y_max) y_min, y_max = self._get_ylimits(yaxis='right') if y_min is not None: self.ax_right.set_visible(True) self.ax_right.set_ylim(y_min, y_max) else: self.ax_right.set_visible(False) # set label on y-axis self.ax_left.set_ylabel(self.ylabels[self.left_datatype]) self.ax_right.set_ylabel(self.ylabels[self.right_datatype]) def _get_ylimits(self, yaxis): """Returns the minimum and the maximum y-value in the current date range. Offsets are used for proper axis scaling.""" if yaxis == 'left': datatype = self.left_datatype data_meas = self.left_data data_plan = self.left_plan if yaxis == 'right': datatype = self.right_datatype data_meas = self.right_data data_plan = self.right_plan if datatype == 'bmi': y_offset = 0.1 else: y_offset = 0.5 y_min, y_max = self._get_yrange(data_meas) if self.show_plan: y_min_plan, y_max_plan = self._get_yrange(data_plan) y_min = util.nonemin([y_min, y_min_plan]) y_max = util.nonemax([y_max, y_max_plan]) # y_min, y_max can be None if no datasets in selected daterange if y_min is not None: y_min -= y_offset y_max += y_offset return y_min, y_max def _get_yrange(self, datasets): """Returns the minimum and the maximum y-value in the given datasets. Returns None, None if no measurements exist in the current date range.""" try: y_min = min(dataset[1] for dataset in datasets if self.start_date <= dataset[0] <= self.end_date) y_max = max(dataset[1] for dataset in datasets if self.start_date <= dataset[0] <= self.end_date) return y_min, y_max except ValueError: return None, None def _get_max_daterange(self): """Sets the minimum and the maximum date in the available data.""" mindates = [] maxdates = [] if self.left_data: mindates.append(self.left_data[0][0]) maxdates.append(self.left_data[-1][0]) if self.left_plan and self.show_plan: mindates.append(self.left_plan[0][0]) maxdates.append(self.left_plan[-1][0]) if self.right_data: mindates.append(self.right_data[0][0]) maxdates.append(self.right_data[-1][0]) if self.right_plan and self.show_plan: mindates.append(self.right_plan[0][0]) maxdates.append(self.right_plan[-1][0]) # initially, mindates can not be empty, but can that happen later, # if only plan data is available and show_plan is then set to False if mindates: self.mindate = min(mindates) self.maxdate = max(maxdates) # internal helper functions def _get_plot_data(datasets, datatype): """Returns the list of datatuples to be plotted.""" if datatype == 'weight': if parameters.config['preferences.unit_system'] == 'imperial': return sorted((dataset.date, dataset.weight_lbs) for dataset in datasets) else: return sorted((dataset.date, dataset.weight) for dataset in datasets) elif datatype == 'bmi': return sorted((dataset.date, util.bmi(dataset.weight, parameters.user.height)) for dataset in datasets) elif datatype in ['bodyfat', 'muscle', 'water']: return sorted((dataset.date, getattr(dataset, datatype)) for dataset in datasets \ if getattr(dataset, datatype) is not None) elif datatype is None: return [] def _smooth_data(data): """Computes exponential central moving average.""" # attenuation factor reducing the weight of neighboring datasets alpha = 0.8 # number of datapoints to average avg_datapoints = 3 smooth_data = [] for i in xrange(0, len(data)): weights = [] weighted_data = [] for j in xrange(i-avg_datapoints, i+avg_datapoints+1): try: delta = abs((data[j][0] - data[i][0]).days) weight = alpha**delta weighted_data.append(data[j][1] * weight) weights.append(weight) except IndexError: pass weighted_average = sum(weighted_data) / sum(weights) smooth_data.append((data[i][0], weighted_average)) return smooth_data def _get_locators(daterange): """Returns sane locators and formatters for the given daterange.""" if daterange >= timedelta(days=8000): majorlocator = dates.YearLocator(10) majorformatter = dates.DateFormatter("%Y") minorlocator = dates.YearLocator(2) elif daterange >= timedelta(days=4000): majorlocator = dates.YearLocator(2) majorformatter = dates.DateFormatter("%Y") minorlocator = dates.YearLocator() elif daterange >= timedelta(days=700): majorlocator = dates.YearLocator() majorformatter = dates.DateFormatter("%Y") minorlocator = dates.MonthLocator(bymonth=(1, 4, 7, 10)) elif daterange >= timedelta(days=200): majorlocator = dates.MonthLocator(bymonth=(1, 4, 7, 10)) majorformatter = dates.DateFormatter("%b %Y") minorlocator = dates.MonthLocator() elif daterange >= timedelta(days=50): majorlocator = dates.MonthLocator() majorformatter = dates.DateFormatter("%b %Y") minorlocator = dates.WeekdayLocator(byweekday=6) else: majorlocator = dates.WeekdayLocator(byweekday=6) majorformatter = dates.DateFormatter("%d %b") minorlocator = dates.DayLocator() return majorlocator, majorformatter, minorlocator pondus-0.8.0/pondus/core/option_parser.py0000644000175000017500000000270011574231216017142 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import os from optparse import OptionParser from pondus import __version__ from pondus.core import parameters from pondus.core.logger import logger def parse_options(): """Parses the command line options and performs the corresponding actions.""" parser = OptionParser(version='%prog ' + __version__) parser.add_option('-i', '--input', dest='filename', help='read data from FILE instead of the standard location', metavar='FILE') (options, args) = parser.parse_args() if options.filename: _set_datafilepath(options.filename) def _set_datafilepath(filepath): """Updates the path to the file containing the weight data.""" filepath = os.path.expanduser(filepath) if not os.path.isabs(filepath): filepath = os.path.join(os.getcwd(), filepath) if not os.path.isdir(filepath): logger.info(_('Reading file %s'), filepath) parameters.userdatafile = filepath parameters.use_custom_file = True return else: logger.warning(_('You passed a directory, not a file!')) logger.warning( \ _('Using the standard file ~/.pondus/user_data.xml instead.')) pondus-0.8.0/pondus/core/all_datasets.py0000644000175000017500000000461211574231216016722 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ from datetime import date from pondus.core.dataset import Dataset class AllDatasets(object): """Defines the structure how all the datasets are stored internally. AllDatasets.datasets is a dictionary of Dataset objects with their ids as keys.""" def __init__(self, datasets=None): if datasets is None: datasets = {} self.datasets = datasets def __iter__(self): """Iterates over the datasets.""" return self.datasets.itervalues() def __len__(self): """Returns the number of datasets in self.datasets.""" return len(self.datasets) def add(self, dataset): """Adds a given dataset object to the datasets or updates, if the id already exists.""" self.datasets[dataset.id] = dataset def add_list(self, datasets, keep_id=False): """Adds a list of datasets and modifies their ids to avoid overwriting existing datasets.""" for dataset in datasets: if not keep_id: dataset.id = self.get_new_id() self.add(dataset) def remove(self, id_): """Removes the dataset with the given id from the datasets.""" del self.datasets[id_] def get(self, id_): """Returns the dataset with the given id.""" return self.datasets[id_] def get_new_dataset(self): """Returns a new dataset initialized with today's date and the last measured weight.""" id_ = self.get_new_id() date_ = date.today() weight = self._last_measured_weight() return Dataset(id_, date_, weight) def get_new_id(self): """Returns an unused id.""" try: return max(self.datasets) + 1 except ValueError: # no datasets exist return 1 def _last_measured_weight(self): """Returns the last measured weight.""" try: latest_dataset = max(self.datasets.itervalues(), key=lambda dataset: dataset.date) return latest_dataset.weight except ValueError: # no datasets exist return 0.0 pondus-0.8.0/pondus/core/dataset.py0000644000175000017500000000243311574231216015706 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ class Dataset(object): """Implements the structure of single weight measurements.""" def __init__(self, id_, date, weight, bodyfat=None, muscle=None, water=None, note=None): """Creates a new dataset with the given values. Weight is always in kg. Weight has one digit precision when using metric units and two digits precision when using imperial units to ensure proper conversion to lbs.""" self.id = id_ self.date = date self.weight = weight self.bodyfat = bodyfat self.muscle = muscle self.water = water self.note = note def _get_weight_lbs(self): """Converts from kg to lbs and returns weight in lbs.""" return round(self.weight / 0.45359237, 1) def _set_weight_lbs(self, new_weight_lbs): """Converts from lbs to kg and sets the weight of the dataset.""" self.weight = round(new_weight_lbs * 0.45359237, 2) weight_lbs = property(_get_weight_lbs, _set_weight_lbs) pondus-0.8.0/pondus/__init__.py0000644000175000017500000000052711574231216015072 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ __all__ = ['backends', 'core', 'gui'] __version__ = '0.8.0' pondus-0.8.0/pondus/gui/0000755000175000017500000000000011574231223013537 5ustar eikeeikepondus-0.8.0/pondus/gui/dialog_csv.py0000644000175000017500000001354211574231216016232 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2008-10 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import pygtk pygtk.require('2.0') import gtk import os from pondus.core import parameters from pondus.backends.util import get_backend from pondus.gui.dialog_message import MessageDialog from pondus.gui.dialog_save_file import SaveFileDialog from pondus.gui.dialog_select_file import SelectFileDialog class CSVDialogBase(object): """Common base class for the csv ex-/import dialogs.""" def __init__(self, title, data_label_text, file_label_text): self.dialog = gtk.Dialog(flags=gtk.DIALOG_NO_SEPARATOR) self.dialog.set_title(title) self.datasets = parameters.user.measurements self.backend = get_backend('csv') databox = gtk.VBox() databox.set_border_width(5) data_label = gtk.Label(data_label_text) data_label.set_alignment(xalign=0, yalign=0.5) databox.pack_start(data_label) self.data_button = gtk.RadioButton(label=_('Weight Measurements')) self.data_button.set_active(True) self.data_button.connect('toggled', self.on_data_change, 'meas') databox.pack_start(self.data_button) self.data_button = gtk.RadioButton( group=self.data_button, label=_('Weight Plan')) self.data_button.connect('toggled', self.on_data_change, 'plan') if not parameters.config['preferences.use_weight_plan']: self.data_button.set_sensitive(False) databox.pack_start(self.data_button) self.dialog.vbox.pack_start(databox) filebox = gtk.VBox() filebox.set_border_width(5) file_label = gtk.Label(file_label_text) file_label.set_alignment(xalign=0, yalign=0.5) filebox.pack_start(file_label) filehbox = gtk.HBox(homogeneous=False, spacing=5) self.file_entry = gtk.Entry() self.file_entry.set_text(self.backend.default_filename) filehbox.pack_start(self.file_entry) choose_button = gtk.Button(stock=gtk.STOCK_OPEN) filehbox.pack_start(choose_button) filebox.pack_start(filehbox) self.dialog.vbox.pack_start(filebox) # buttons in action area self.dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL) self.dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK) # connect the signals choose_button.connect('clicked', self.select_file) # show the content self.dialog.show_all() def on_data_change(self, widget, key): """Updates the datasets to be im-/exported.""" if widget.get_active(): if key == 'meas': self.datasets = parameters.user.measurements elif key == 'plan': self.datasets = parameters.user.plan class CSVDialogExport(CSVDialogBase): """Constructs the csv export dialog.""" def __init__(self): title = _('CSV Export') data_label_text = _('Data to export:') file_label_text = _('CSV File to save to:') CSVDialogBase.__init__(self, title, data_label_text, file_label_text) def run(self): """Runs the dialog and closes it afterwards.""" response = self.dialog.run() if response == gtk.RESPONSE_OK: self.exportcsv() self.dialog.hide() def exportcsv(self): """Saves the datasets to a csv file.""" filepath = os.path.expanduser(self.file_entry.get_text()) self.backend.write(self.datasets, filepath) title = _('Export successful') message = _('The export was successful.') MessageDialog(type_='info', title=title, message=message).run() def select_file(self, button): """Runs the file selection dialog and updates the file entry accordingly.""" filepath = os.path.expanduser(self.file_entry.get_text()) newpath = SaveFileDialog(filepath, ['.csv']).run() if newpath is not None: self.file_entry.set_text(newpath) class CSVDialogImport(CSVDialogBase): """Constructs the csv import dialog.""" def __init__(self): title = _('CSV Import') data_label_text = _('Import data to:') file_label_text = _('CSV File to read from:') CSVDialogBase.__init__(self, title, data_label_text, file_label_text) def run(self): """Runs the dialog and closes it afterwards.""" response = self.dialog.run() if response == gtk.RESPONSE_OK: filepath = os.path.expanduser(self.file_entry.get_text()) if os.path.isfile(filepath): self.importcsv(filepath) else: title = _('Error: Not a valid File') message = _('The given path does not point to a valid file!') MessageDialog( type_='error', title=title, message=message).run() return self.run() self.dialog.hide() def importcsv(self, filepath): """Imports the data from the csv file.""" new_datasets = self.backend.read(filepath) if new_datasets: self.datasets.add_list(new_datasets) title = _('Import successful') message = _('The import was successful.') MessageDialog(type_='info', title=title, message=message).run() else: title = _('Import not successful') message = _('An error occured during the import.') MessageDialog(type_='error', title=title, message=message).run() def select_file(self, button): """Runs the file selection dialog and updates the file entry accordingly.""" newpath = SelectFileDialog().run() if newpath is not None: self.file_entry.set_text(newpath) pondus-0.8.0/pondus/gui/dialog_plot.py0000644000175000017500000002616611574231216016423 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import pygtk pygtk.require('2.0') import gtk from datetime import date, timedelta from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg \ as FigureCanvas from pondus.core import parameters from pondus.core import util from pondus.core.plot import Plot from pondus.gui.dialog_message import MessageDialog from pondus.gui.dialog_save_file import SaveFileDialog class PlotDialog(object): """Implements the dialog to plot weight versus a selected time range.""" def __init__(self): self.dialog = gtk.Dialog(title=_('Plot Weight')) self.dialog.set_default_size(600, 450) # drawing area for the plot self.plot = Plot() self.canvas = FigureCanvas(self.plot.figure) self.dialog.vbox.set_spacing(5) self.dialog.vbox.pack_start(self.canvas) # date selection date_selection_box = gtk.HBox(homogeneous=False, spacing=5) date_label = gtk.Label(_('Select Date Range:')) date_selection_box.pack_start(date_label, False, False) # start date self.start_date_entry = gtk.Entry() self.start_date_entry.set_width_chars(10) self.start_date_entry.set_tooltip_text(_('Start date')) date_selection_box.pack_start(self.start_date_entry, False, False) date_selection_box.pack_start(gtk.Label('-'), False, False) # end date self.end_date_entry = gtk.Entry() self.end_date_entry.set_width_chars(10) self.end_date_entry.set_tooltip_text(_('End date')) date_selection_box.pack_start(self.end_date_entry, False, False) # preset date ranges self.dateselector = gtk.combo_box_new_text() self.dateselector.set_tooltip_text( _('Select date range of plot')) self.dateselector.append_text(_('All Time')) self.dateselector.append_text(_('Last Year')) self.dateselector.append_text(_('Last 6 Months')) self.dateselector.append_text(_('Last Month')) self.dateselector.append_text(_('Custom')) self.set_dateselector_default() date_selection_box.pack_start(self.dateselector, False, False) self.dialog.vbox.pack_start(date_selection_box, False, False) # select data to plot plot_options_box = gtk.HBox(homogeneous=False, spacing=5) # left data type selector data_label_left = gtk.Label(_('Data Left:')) plot_options_box.pack_start(data_label_left, False, False) self.plotselector_left = gtk.combo_box_new_text() self.plotselector_left.set_name('left') self.plotselector_left.append_text(_('Weight')) self.plotselector_keys = ['weight'] if parameters.config['preferences.use_bodyfat']: self.plotselector_left.append_text(_('Bodyfat')) self.plotselector_keys.append('bodyfat') if parameters.config['preferences.use_muscle']: self.plotselector_left.append_text(_('Muscle')) self.plotselector_keys.append('muscle') if parameters.config['preferences.use_water']: self.plotselector_left.append_text(_('Water')) self.plotselector_keys.append('water') if parameters.user.height < 30: self.plotselector_left.set_tooltip_text(_('To plot your BMI, \ you need to enter your height in the preferences dialog.')) else: self.plotselector_left.append_text(_('Body Mass Index')) self.plotselector_keys.append('bmi') self.plotselector_left.set_active(0) plot_options_box.pack_start(self.plotselector_left, False, False) # right data type selector data_label_right = gtk.Label(_('Right:')) plot_options_box.pack_start(data_label_right, False, False) self.plotselector_right = gtk.combo_box_new_text() self.plotselector_right.set_name('right') self.plotselector_right.append_text(_('Weight')) if parameters.config['preferences.use_bodyfat']: self.plotselector_right.append_text(_('Bodyfat')) self.plotselector_right.set_active(1) if parameters.config['preferences.use_muscle']: self.plotselector_right.append_text(_('Muscle')) if parameters.config['preferences.use_water']: self.plotselector_right.append_text(_('Water')) if parameters.user.height < 30: self.plotselector_right.set_tooltip_text(_('To plot your BMI, \ you need to enter your height in the preferences dialog.')) else: self.plotselector_right.append_text(_('Body Mass Index')) self.plotselector_right.append_text(_('None')) self.plotselector_keys.append(None) if not parameters.config['preferences.use_bodyfat']: self.plotselector_right.set_active( \ self.plotselector_keys.index(None)) plot_options_box.pack_start(self.plotselector_right, False, False) # smooth data checkbox self.smooth_data = gtk.CheckButton(_('Smooth')) self.smooth_data.set_active(self.plot.get_smooth()) plot_options_box.pack_start(self.smooth_data, True, False) # plot plan checkbox self.plot_plan = gtk.CheckButton(_('Show Plan')) self.plot_plan.set_active(self.plot.get_show_plan()) self.plot_plan.set_sensitive(self.plot.get_show_plan()) if not self.plot.get_show_plan(): self.plot_plan.set_tooltip_text(_('The weight planner can be \ enabled in the preferences dialog.')) plot_options_box.pack_start(self.plot_plan, True, False) self.dialog.vbox.pack_start(plot_options_box, False, False) # buttons in action field save_button = gtk.Button(label=_('Save Plot')) self.dialog.action_area.pack_start(save_button, False, False) self.dialog.add_button(gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE) # initialize text entries and format plot self.update_daterange(self.dateselector) # connect the signals self.start_date_entry.connect( 'key-press-event', self.on_keypress_in_entry) self.end_date_entry.connect( 'key-press-event', self.on_keypress_in_entry) self.dateselector.connect('changed', self.update_daterange) self.plotselector_left.connect('changed', self.update_plot_type) self.plotselector_right.connect('changed', self.update_plot_type) self.smooth_data.connect('toggled', self.on_toggle_smooth_data) self.plot_plan.connect('toggled', self.on_toggle_plot_plan) save_button.connect('clicked', self.save_plot) # show the content self.dialog.show_all() def run(self): """Runs the dialog and closes it afterwards.""" self.dialog.run() self.dialog.hide() # callback functions def set_custom_date_range(self): """Redraws the plot with the current start/end dates.""" try: start_date = util.str2date(self.start_date_entry.get_text()) end_date = util.str2date(self.end_date_entry.get_text()) except ValueError: title = _('Error: Wrong Format') message = _('The data entered is not in the correct format!') MessageDialog(type_='error', title=title, message=message).run() return if start_date >= end_date: title = _('Error: Wrong Format') message = _('The start date has to be before the end date!') MessageDialog(type_='error', title=title, message=message).run() return self.plot.set_date_range(start_date, end_date) self.dateselector.set_active(4) def update_daterange(self, dateselector): """Updates start and end date in the appropriate text entries everytime self.dateselector changes.""" start_date, end_date = self.get_daterange() self.start_date_entry.set_text(str(start_date)) self.end_date_entry.set_text(str(end_date)) self.plot.set_date_range(start_date, end_date) def update_plot_type(self, plotselector): """Redraws the plot with the desired data (weight or bmi).""" if plotselector.get_name() == 'left': set_type_function = self.plot.set_left_type elif plotselector.get_name() == 'right': set_type_function = self.plot.set_right_type key = plotselector.get_active() set_type_function(self.plotselector_keys[key]) self.update_daterange(self.dateselector) def on_toggle_smooth_data(self, smooth_data_button): """Redraws the plot with the desired data (raw or smoothed).""" self.plot.set_smooth(smooth_data_button.get_active()) def save_plot(self, button): """Runs the dialog to save the plot to a file.""" SaveFileDialog(_('weight_plot.png'), ['.png', '.svg']).run(self.plot) def on_keypress_in_entry(self, entry, event): """Updates the plot when Enter is pressed.""" if event.keyval in [gtk.keysyms.Return, gtk.keysyms.KP_Enter]: self.set_custom_date_range() def on_toggle_plot_plan(self, plot_plan_button): """Redraws the plot and in-/excludes the weight plan.""" self.plot.set_show_plan(plot_plan_button.get_active()) # if daterange is 'All Time', rescale date axis if self.dateselector.get_active() == 0: self.update_daterange(self.dateselector) # helper methods def get_daterange(self): """Returns start and end date of the plot to be created, depending on the current setting of self.dateselector.""" key = self.dateselector.get_active() if key == 0: dateoffset = timedelta(days=10) mindate = self.plot.get_mindate() - dateoffset maxdate = self.plot.get_maxdate() + dateoffset elif key == 1: # select last year dateoffset = timedelta(days=4) maxdate = date.today() + dateoffset mindate = maxdate - timedelta(days=365) - 2*dateoffset elif key == 2: # select last 6 months dateoffset = timedelta(days=2) maxdate = date.today() + dateoffset mindate = maxdate - timedelta(days=182) - 2*dateoffset elif key == 3: # select last month dateoffset = timedelta(days=1) maxdate = date.today() + dateoffset mindate = maxdate - timedelta(days=31) - 2*dateoffset else: mindate = util.str2date(self.start_date_entry.get_text()) maxdate = util.str2date(self.end_date_entry.get_text()) return mindate, maxdate def set_dateselector_default(self): """Sets the default daterange of the plot to last year, if sensible, and to 'All Time' otherwise.""" if (self.plot.get_mindate() > date.today() - timedelta(days=365) or self.plot.get_maxdate() < date.today() - timedelta(days=365)): self.dateselector.set_active(0) else: self.dateselector.set_active(1) pondus-0.8.0/pondus/gui/dialog_message.py0000644000175000017500000000234611574231216017063 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-10 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import pygtk pygtk.require('2.0') import gtk class MessageDialog(object): """Shows a message. The message type, title and the message to be displayed can be passed when initializing the class.""" def __init__(self, type_, title, message): if type_ == 'error': self.dialog = gtk.MessageDialog( type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_CLOSE) elif type_ == 'info': self.dialog = gtk.MessageDialog( type=gtk.MESSAGE_INFO, buttons=gtk.BUTTONS_CLOSE) elif type_ == 'question': self.dialog = gtk.MessageDialog( type=gtk.MESSAGE_QUESTION, buttons=gtk.BUTTONS_YES_NO) self.dialog.set_title(title) self.dialog.set_markup(message) self.dialog.show_all() def run(self): """Runs the dialog and closes it afterwards.""" response = self.dialog.run() self.dialog.hide() return response pondus-0.8.0/pondus/gui/__init__.py0000644000175000017500000000072311574231216015654 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-10 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ __all__ = ['dialog_add', 'dialog_csv', 'dialog_message', 'dialog_plot', 'dialog_preferences', 'dialog_save_file', 'dialog_select_file', 'guiutil', 'window_main'] pondus-0.8.0/pondus/gui/dialog_add.py0000644000175000017500000002756211574231216016176 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import pygtk pygtk.require('2.0') import gtk import gobject from datetime import date, timedelta from pondus.core import parameters from pondus.core import util from pondus.gui.dialog_message import MessageDialog class AddDataDialog(object): """Implements the user interface to add or edit datasets.""" def __init__(self, parent_window, dataset, edit): self.dataset = dataset # get default values for entry boxes if parameters.config['preferences.unit_system'] == 'imperial': weight = self.dataset.weight_lbs else: weight = self.dataset.weight if parameters.config['preferences.use_note']: note = self.dataset.note if note is None: note = '' self.dialog = gtk.Dialog(parent=parent_window, flags=gtk.DIALOG_NO_SEPARATOR) # set the title if edit: self.dialog.set_title(_('Edit Dataset')) else: self.dialog.set_title(_('Add Dataset')) # create the labels and entry boxes date_box = gtk.VBox(spacing=5) date_box.set_border_width(5) if parameters.config['preferences.use_calendar']: date_ = self.dataset.date date_label = gtk.Label(_('Date') + ':') date_label.set_alignment(xalign=0, yalign=0.5) self.calendar = gtk.Calendar() if parameters.config['preferences.unit_system'] == 'metric': self.calendar.set_display_options( gtk.CALENDAR_SHOW_HEADING | gtk.CALENDAR_SHOW_DAY_NAMES | gtk.CALENDAR_WEEK_START_MONDAY) self.calendar.select_month(date_.month-1, date_.year) self.calendar.select_day(date_.day) date_box.pack_start(date_label, False, True) date_box.pack_start(self.calendar, False, True) else: date_ = str(self.dataset.date) date_label = gtk.Label(_('Date (YYYY-MM-DD)') + ':') date_label.set_alignment(xalign=0, yalign=0.5) self.date_entry = gtk.Entry() self.date_entry.set_text(date_) self.date_entry.set_activates_default(True) date_box.pack_start(date_label, False, True) date_box.pack_start(self.date_entry, False, True) self.dialog.vbox.pack_start(date_box, False, True) weight_bodyfat_box = gtk.HBox(spacing=5) weight_box = gtk.VBox(spacing=5) weight_box.set_border_width(5) weight_label = gtk.Label( (_('Weight') + ' (' + util.get_weight_unit() + '):')) weight_label.set_alignment(xalign=0, yalign=0.5) weight_adj = gtk.Adjustment(value=weight, lower=0, upper=1000, step_incr=0.1, page_incr=1.0) self.weight_entry = gtk.SpinButton(adjustment=weight_adj, digits=1) self.weight_entry.set_numeric(True) self.weight_entry.set_activates_default(True) weight_box.pack_start(weight_label, False, True) weight_box.pack_start(self.weight_entry, False, True) weight_bodyfat_box.pack_start(weight_box) if parameters.config['preferences.use_bodyfat']: bodyfat_box = self._get_percentage_box('bodyfat') weight_bodyfat_box.pack_start(bodyfat_box) self.dialog.vbox.pack_start(weight_bodyfat_box, False, True) muscle_water_box = gtk.HBox(spacing=5) if parameters.config['preferences.use_muscle']: muscle_box = self._get_percentage_box('muscle') muscle_water_box.pack_start(muscle_box) if parameters.config['preferences.use_water']: water_box = self._get_percentage_box('water') muscle_water_box.pack_start(water_box) self.dialog.vbox.pack_start(muscle_water_box, False, True) if parameters.config['preferences.use_note']: note_box = gtk.VBox(spacing=5) note_box.set_border_width(5) textwindow = gtk.ScrolledWindow() textwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) note_label = gtk.Label(_('Note') + ':') note_label.set_alignment(xalign=0, yalign=0.5) self.note_view = gtk.TextView() self.note_view.set_editable(True) self.note_view.set_wrap_mode(gtk.WRAP_WORD) self.note_buffer = self.note_view.get_buffer() self.note_buffer.set_text(note) textwindow.add(self.note_view) note_box.pack_start(note_label, False, True) note_box.pack_start(textwindow, True, True) self.dialog.vbox.pack_start(note_box) # buttons in action area self.dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL) self.dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK) self.dialog.set_default_response(gtk.RESPONSE_OK) # connect the signals self.weight_insert_signal = \ self.weight_entry.connect('insert_text', self.on_insert) if parameters.config['preferences.use_bodyfat']: self.bodyfat_insert_signal = \ self.bodyfat_entry.connect('insert_text', self.on_insert) if parameters.config['preferences.use_muscle']: self.muscle_insert_signal = \ self.muscle_entry.connect('insert_text', self.on_insert) if parameters.config['preferences.use_water']: self.water_insert_signal = \ self.water_entry.connect('insert_text', self.on_insert) if not parameters.config['preferences.use_calendar']: self.date_entry.connect('focus-in-event', self.on_focus) self.date_insert_signal = \ self.date_entry.connect('insert_text', self.on_insert) # show the content self.dialog.show_all() def run(self): """Runs the dialog and returns the new/updated dataset.""" response = self.dialog.run() if response == gtk.RESPONSE_OK: # try to create a new dataset from the given data try: if parameters.config['preferences.use_calendar']: updated_year, updated_month, updated_day = \ self.calendar.get_date() self.dataset.date = \ date(updated_year, updated_month+1, updated_day) else: self.dataset.date = \ util.str2date(self.date_entry.get_text()) if parameters.config['preferences.unit_system'] == 'imperial': self.dataset.weight_lbs = self.weight_entry.get_value() else: self.dataset.weight = self.weight_entry.get_value() for key in ['bodyfat', 'muscle', 'water']: if parameters.config['preferences.use_' + key]: data = getattr(self, key+'_entry').get_value() if data > 0.1: setattr(self.dataset, key, data) else: setattr(self.dataset, key, None) if parameters.config['preferences.use_note']: note = self.note_buffer.get_text( self.note_buffer.get_start_iter(), self.note_buffer.get_end_iter()).strip() if note != '': self.dataset.note = note else: self.dataset.note = None except: title = _('Error: Wrong Format') message = _('The data entered is not in the correct format!') MessageDialog( type_='error', title=title, message=message).run() return self.run() self.dialog.hide() return self.dataset else: self.dialog.hide() return None # callback methods def on_focus(self, entry, event): """Prevents a selection and puts the cursor at the end of the entry instead.""" gobject.idle_add(entry.set_position, -1) def on_insert(self, entry, text, length, *args): """Prevents '+' and '-' from being inserted into the entry and triggers the appropriate callback function instead.""" if text in ['+', '-']: position = entry.get_position() entry.emit_stop_by_name('insert_text') # check first for use_calendar; date_entry might not exist if (not parameters.config['preferences.use_calendar'] and entry == self.date_entry): gobject.idle_add(self.date_key_press, entry, text, position) if entry == self.weight_entry \ or (parameters.config['preferences.use_bodyfat'] \ and entry==self.bodyfat_entry) \ or (parameters.config['preferences.use_muscle'] \ and entry==self.muscle_entry) \ or (parameters.config['preferences.use_water'] \ and entry==self.water_entry): gobject.idle_add(self.spin_key_press, entry, text) # helper methods def date_key_press(self, entry, text, position): """Tests, which key was pressed and increments/decrements the date in date entry by one day if possible.""" try: date_ = util.str2date(entry.get_text()) except ValueError: entry.handler_block(self.date_insert_signal) orig_text = entry.get_text() new_text = orig_text[:position] + text + orig_text[position:] entry.set_text(new_text) entry.set_position(position+1) entry.handler_unblock(self.date_insert_signal) return else: if text == '+': date_ += timedelta(days=1) elif text == '-': date_ -= timedelta(days=1) entry.handler_block(self.date_insert_signal) entry.set_text(str(date_)) entry.set_position(-1) entry.handler_unblock(self.date_insert_signal) def spin_key_press(self, entry, text): """Tests, which key was pressed and increments/decrements the value in the given entry by 0.1 if possible.""" if text == '+': entry.spin(gtk.SPIN_STEP_FORWARD, increment=0.1) elif text == '-': entry.spin(gtk.SPIN_STEP_BACKWARD, increment=0.1) def _get_percentage_box(self, key): """Returns a box containing label and spinbutton for entering one of bodyfat, muscle or water percentage.""" if parameters.config['preferences.use_' + key]: box = gtk.VBox(spacing=5) box.set_border_width(5) if key == 'bodyfat': label = gtk.Label(_('Bodyfat') + ' (%):') if key == 'muscle': label = gtk.Label(_('Muscle') + ' (%):') if key == 'water': label = gtk.Label(_('Water') + ' (%):') label.set_alignment(xalign=0, yalign=0.5) data = getattr(self.dataset, key) if data is None: data = 0.0 adj = gtk.Adjustment(value=data, lower=0, upper=100, step_incr=0.1, page_incr=1.0) entry = gtk.SpinButton(adjustment=adj, digits=1) entry.set_numeric(True) entry.set_activates_default(True) setattr(self, key+'_entry', entry) box.pack_start(label, False, True) box.pack_start(entry, False, True) return box pondus-0.8.0/pondus/gui/guiutil.py0000644000175000017500000000417511574231216015604 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import pygtk pygtk.require('2.0') import gtk from pondus.core import parameters def sort_function_weight(listmodel, iter1, iter2, data): """Sorts the weight column correctly, i.e. interprets the weight data as floats instead of strings.""" weight1 = float(listmodel.get_value(iter1, 2)) weight2 = float(listmodel.get_value(iter2, 2)) return cmp(weight1, weight2) def register_icons(): """Adds custom icons to the list of stock IDs.""" icon_info = {'pondus_plot': parameters.plot_button_path} iconfactory = gtk.IconFactory() stock_ids = gtk.stock_list_ids() for stock_id in icon_info: # only load image files when our stock_id is not present if stock_id not in stock_ids: icon_file = icon_info[stock_id] pixbuf = gtk.gdk.pixbuf_new_from_file(icon_file) iconset = gtk.IconSet(pixbuf) iconfactory.add(stock_id, iconset) iconfactory.add_default() def get_tooltip(dataset): """Returns a string containing the data of the optional parameters of the dataset.""" def append_to_tooltip(tooltip, text): if tooltip != '': tooltip += '\n' return tooltip + text tooltip = '' if dataset.bodyfat is not None: text = _('Bodyfat') + ': ' + str(round(dataset.bodyfat, 1)) + '%' tooltip = append_to_tooltip(tooltip, text) if dataset.muscle is not None: text = _('Muscle') + ': ' + str(round(dataset.muscle, 1)) + '%' tooltip = append_to_tooltip(tooltip, text) if dataset.water is not None: text = _('Water') + ': ' + str(round(dataset.water, 1)) + '%' tooltip = append_to_tooltip(tooltip, text) if dataset.note is not None: text = _('Note') + ': ' + dataset.note tooltip = append_to_tooltip(tooltip, text) if tooltip == '': return None return tooltip pondus-0.8.0/pondus/gui/dialog_preferences.py0000644000175000017500000002326411574231216017742 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2008-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import pygtk pygtk.require('2.0') import gtk from pondus.core import parameters from pondus.core import util class PreferencesDialog(object): """Displays the preferences dialog.""" def __init__(self): self.newconfig = dict(parameters.config) self.dialog = gtk.Dialog(flags=gtk.DIALOG_NO_SEPARATOR) self.dialog.set_title(_('Preferences')) height_box = gtk.VBox() height_box.set_border_width(5) height_label = gtk.Label(_('User Height:')) height_label.set_alignment(xalign=0, yalign=0.5) height_box.pack_start(height_label) height_hbox = gtk.HBox(spacing=3) self.m_adj = gtk.Adjustment(value=0, lower=0, upper=3, step_incr=1, page_incr=1) self.cm_adj = gtk.Adjustment(value=0, lower=0, upper=99, step_incr=1, page_incr=10) self.ft_adj = gtk.Adjustment(value=0, lower=0, upper=10, step_incr=1, page_incr=2) self.in_adj = gtk.Adjustment(value=0, lower=0, upper=11, step_incr=1, page_incr=6) self.m_text = _('m') self.cm_text = _('cm') self.ft_text = _('ft') self.in_text = _('in') self.height_entry1 = gtk.SpinButton() self.height_entry2 = gtk.SpinButton() self.height_entry1.set_numeric(True) self.height_entry2.set_numeric(True) self.height_entry2.set_digits(1) self.height_label1 = gtk.Label() self.height_label2 = gtk.Label() if self.newconfig['preferences.unit_system'] == 'metric': self.set_metric(parameters.user.height) else: self.set_imperial(parameters.user.height) height_hbox.pack_start(self.height_entry1) height_hbox.pack_start(self.height_label1, False, True) height_hbox.pack_start(self.height_entry2) height_hbox.pack_start(self.height_label2, False, True) height_box.pack_start(height_hbox) self.dialog.vbox.pack_start(height_box) unit_box = gtk.VBox() unit_box.set_border_width(5) unit_label = gtk.Label(_('Preferred Unit System:')) unit_label.set_alignment(xalign=0, yalign=0.5) unit_box.pack_start(unit_label) unit_hbox = gtk.HBox(homogeneous=True) self.unit_button = gtk.RadioButton(label=_('metric')) self.unit_button.connect('toggled', self.on_unit_change, 'metric') if self.newconfig['preferences.unit_system'] == 'metric': self.unit_button.set_active(True) unit_hbox.pack_start(self.unit_button) self.unit_button = gtk.RadioButton( group=self.unit_button, label=_('imperial')) self.unit_button.connect('toggled', self.on_unit_change, 'imperial') if self.newconfig['preferences.unit_system'] == 'imperial': self.unit_button.set_active(True) unit_hbox.pack_start(self.unit_button) unit_box.pack_start(unit_hbox) self.dialog.vbox.pack_start(unit_box) self.use_plan_button = gtk.CheckButton(_('Enable Weight Planner')) self.use_plan_button.set_border_width(5) self.use_plan_button.set_active( self.newconfig['preferences.use_weight_plan']) self.dialog.vbox.pack_start(self.use_plan_button) self.use_bodyfat_button = gtk.CheckButton(_('Track Bodyfat')) self.use_bodyfat_button.set_border_width(5) self.use_bodyfat_button.set_active( self.newconfig['preferences.use_bodyfat']) self.dialog.vbox.pack_start(self.use_bodyfat_button) self.use_muscle_button = gtk.CheckButton(_('Track Muscle')) self.use_muscle_button.set_border_width(5) self.use_muscle_button.set_active( self.newconfig['preferences.use_muscle']) self.dialog.vbox.pack_start(self.use_muscle_button) self.use_water_button = gtk.CheckButton(_('Track Water')) self.use_water_button.set_border_width(5) self.use_water_button.set_active( self.newconfig['preferences.use_water']) self.dialog.vbox.pack_start(self.use_water_button) self.use_note_button = gtk.CheckButton(_('Append Notes to Datasets')) self.use_note_button.set_border_width(5) self.use_note_button.set_active( self.newconfig['preferences.use_note']) self.dialog.vbox.pack_start(self.use_note_button) self.use_calendar_button = \ gtk.CheckButton(_('Use Calendar in Add Dialog')) self.use_calendar_button.set_border_width(5) self.use_calendar_button.set_active( self.newconfig['preferences.use_calendar']) self.use_calendar_button.set_tooltip_text(_('Use a calendar widget \ instead of a text entry to enter dates in the add/edit dialog')) self.dialog.vbox.pack_start(self.use_calendar_button) self.remember_button = gtk.CheckButton(_('Remember Window Size')) self.remember_button.set_border_width(5) self.remember_button.set_active(self.newconfig['window.remember_size']) self.dialog.vbox.pack_start(self.remember_button) # buttons in action area self.dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL) self.dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK) self.dialog.show_all() def run(self): """Runs the dialog and updates the configuration.""" response = self.dialog.run() if response == gtk.RESPONSE_OK: # set new config self.newconfig['window.remember_size'] = \ self.remember_button.get_active() self.newconfig['preferences.use_weight_plan'] = \ self.use_plan_button.get_active() self.newconfig['preferences.use_bodyfat'] = \ self.use_bodyfat_button.get_active() self.newconfig['preferences.use_muscle'] = \ self.use_muscle_button.get_active() self.newconfig['preferences.use_water'] = \ self.use_water_button.get_active() self.newconfig['preferences.use_note'] = \ self.use_note_button.get_active() self.newconfig['preferences.use_calendar'] = \ self.use_calendar_button.get_active() parameters.config = self.newconfig # set new user height newheight1 = self.height_entry1.get_value() newheight2 = self.height_entry2.get_value() if self.newconfig['preferences.unit_system'] == 'metric': parameters.user.height = \ util.metric_to_height(newheight1, newheight2) else: parameters.user.height = \ util.imperial_to_height(newheight1, newheight2) self.dialog.hide() # callback functions def on_unit_change(self, widget, data): """Remembers the selected weight unit to be saved later.""" if widget.get_active(): if (data == 'metric' and self.newconfig['preferences.unit_system'] == 'imperial'): newheight1 = self.height_entry1.get_value() newheight2 = self.height_entry2.get_value() height_cm = util.imperial_to_height(newheight1, newheight2) self.set_metric(height_cm) elif (data == 'imperial' and self.newconfig['preferences.unit_system'] == 'metric'): newheight1 = self.height_entry1.get_value() newheight2 = self.height_entry2.get_value() height_cm = util.metric_to_height(newheight1, newheight2) self.set_imperial(height_cm) self.newconfig['preferences.unit_system'] = data # helper methods def set_imperial(self, height_cm): """Sets the height display to imperial units.""" feet, inches = util.height_to_imperial(height_cm) self.ft_adj.set_value(feet) self.in_adj.set_value(inches) self.height_entry1.set_adjustment(self.ft_adj) self.height_entry2.set_adjustment(self.in_adj) self.height_entry1.set_value(self.ft_adj.get_value()) self.height_entry2.set_value(self.in_adj.get_value()) self.height_label1.set_text(self.ft_text) self.height_label2.set_text(self.in_text) def set_metric(self, height_cm): """Sets the height display to metric units.""" meters, cmeters = util.height_to_metric(height_cm) self.m_adj.set_value(meters) self.cm_adj.set_value(cmeters) self.height_entry1.set_adjustment(self.m_adj) self.height_entry2.set_adjustment(self.cm_adj) self.height_entry1.set_value(self.m_adj.get_value()) self.height_entry2.set_value(self.cm_adj.get_value()) self.height_label1.set_text(self.m_text) self.height_label2.set_text(self.cm_text) pondus-0.8.0/pondus/gui/dialog_select_file.py0000644000175000017500000000223711574231216017714 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2008-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import pygtk pygtk.require('2.0') import gtk import os class SelectFileDialog(object): """Allows the user to select a file.""" def __init__(self): self.chooser = gtk.FileChooserDialog() self.chooser.set_action(gtk.FILE_CHOOSER_ACTION_OPEN) self.chooser.set_title(_('Select File')) self.chooser.set_current_folder(os.path.expanduser('~')) # buttons in action area self.chooser.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL) self.chooser.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK) # show the dialog self.chooser.show_all() def run(self): """Runs the dialog and closes it afterwards.""" response = self.chooser.run() if response == gtk.RESPONSE_OK: filename = self.chooser.get_filename() self.chooser.hide() return filename self.chooser.hide() pondus-0.8.0/pondus/gui/window_main.py0000644000175000017500000003561311574231216016436 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import pygtk pygtk.require('2.0') import gtk import os import threading from pondus.core import parameters from pondus.core import initialize from pondus.core.logger import logger from pondus.gui import guiutil from pondus.gui.dialog_add import AddDataDialog from pondus.gui.dialog_message import MessageDialog from pondus.gui.dialog_preferences import PreferencesDialog from pondus.gui.dialog_csv import CSVDialogExport, CSVDialogImport PlotDialog = None class MainWindow(object): """Implements the main window and defines the functions to start the dialogs.""" def __init__(self): # display weight measurements by default self.datasetdata = parameters.user.measurements # create the window self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_title('Pondus') self.window.set_default_size( parameters.config['window.width'], parameters.config['window.height']) gtk.window_set_default_icon_from_file(parameters.logo_path) # build the content mainbox = gtk.VBox() self.window.add(mainbox) # register icons guiutil.register_icons() # set up UIManager uimanager = gtk.UIManager() accelgroup = uimanager.get_accel_group() self.window.add_accel_group(accelgroup) action_group = gtk.ActionGroup('pondus_actions') action_group.add_actions([ ('add', gtk.STOCK_ADD, None, 'a', _('Add dataset'), self.add_dialog), ('edit', gtk.STOCK_EDIT, None, 'e', _('Edit selected dataset'), self.edit_dialog), ('remove', gtk.STOCK_REMOVE, None, 'd', _('Delete selected dataset'), self.remove_dialog), ('plot', 'pondus_plot', _('Plot'), 'p', _('Matplotlib not available!'), self.plot_dialog), ('preferences', gtk.STOCK_PREFERENCES, None, None, _('Preferences'), self.preferences_dialog), ('quit', gtk.STOCK_QUIT, None, 'q', _('Quit'), self.destroy)]) self.editaction = action_group.get_action('edit') self.removeaction = action_group.get_action('remove') self.plotaction = action_group.get_action('plot') prefaction = action_group.get_action('preferences') uimanager.insert_action_group(action_group, 0) ui = """ """ uimanager.add_ui_from_string(ui) prefbutton = gtk.MenuToolButton(gtk.STOCK_PREFERENCES) prefaction.connect_proxy(prefbutton) prefmenu = gtk.Menu() csv_import_item = gtk.MenuItem(_('CSV Import')) csv_export_item = gtk.MenuItem(_('CSV Export')) csv_import_item.show() csv_export_item.show() prefmenu.append(csv_import_item) prefmenu.append(csv_export_item) prefbutton.set_menu(prefmenu) toolbar = uimanager.get_widget('/Toolbar') toolbar.set_style(gtk.TOOLBAR_ICONS) toolbar.insert(prefbutton, -1) for action in action_group.list_actions(): action.connect_accelerator() mainbox.pack_start(toolbar, False, True) # hide quit action action_group.get_action('quit').set_visible(False) self.editaction.set_visible(False) uimanager.get_widget('/Toolbar/edit').set_no_show_all(True) uimanager.get_widget('/Toolbar/quit').set_no_show_all(True) self.plotbutton = uimanager.get_widget('/Toolbar/plot') # add list displaying the datasets self.contentbox = gtk.VBox(spacing=5) datawindow = gtk.ScrolledWindow() datawindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) datawindow.set_shadow_type(gtk.SHADOW_IN) self.datalist = gtk.ListStore(int, str, str, str) self.display_data(self.datasetdata) self.dataview = gtk.TreeView(self.datalist) self.add_column(_('Date'), 1) self.add_column(_('Weight'), 2) self.datalist.set_sort_func(2, guiutil.sort_function_weight, None) self.datalist.set_sort_column_id(1, gtk.SORT_DESCENDING) self.dataview.set_rules_hint(True) self.dataview.set_tooltip_column(3) datawindow.add(self.dataview) self.contentbox.pack_start(datawindow) # measurement or plan selector self.modeselector = gtk.combo_box_new_text() self.modeselector.append_text(_('Weight Measurements')) self.modeselector.append_text(_('Weight Planner')) self.modeselector.set_active(0) mainbox.pack_start(self.contentbox) # get treeselection and deactivate actions if no selection self.treeselection = self.dataview.get_selection() self.set_selection_active(self.treeselection) self.set_plot_action_active() self.check_modeselector() # connect the signals csv_import_item.connect('activate', self.csv_dialog_import) csv_export_item.connect('activate', self.csv_dialog_export) self.dataview.add_events(gtk.gdk.BUTTON_PRESS_MASK) self.treeselection.connect('changed', self.set_selection_active) self.dataview.connect('button-press-event', self.button_pressed) self.dataview.connect('key-press-event', self.on_key_press) self.modeselector.connect('changed', self.update_mode) self.window.connect('destroy', self.destroy) # display window with content self.window.show_all() # callback functions def destroy(self, widget, data=None): """Quits the application cleanly.""" if parameters.config['window.remember_size']: parameters.config['window.width'] = \ self.window.get_allocation().width parameters.config['window.height'] = \ self.window.get_allocation().height initialize.shutdown() gtk.main_quit() def add_dialog(self, widget): """Runs the dialog to add a new dataset and then adds it to self.datasetdata and self.datalist.""" dialog = AddDataDialog(self.window, self.datasetdata.get_new_dataset(), edit=False) newdata = dialog.run() if newdata is not None: self.datasetdata.add(newdata) newiter = self.append_dataset(newdata) self.treeselection.select_iter(newiter) listmodel = self.dataview.get_model() path = listmodel.get_path(newiter) self.dataview.scroll_to_cell(path) self.set_plot_action_active() def remove_dialog(self, widget): """Runs the dialog to remove the selected dataset and then deletes it from self.datasetdata and self.datalist.""" title = _('Remove Data?') message = _('Do you really want to delete this dataset?') dialog = MessageDialog('question', title, message) if dialog.run() == gtk.RESPONSE_YES: (listmodel, treeiter) = self.treeselection.get_selected() id_selected = listmodel.get_value(treeiter, 0) # remove selected dataset from self.datasetdata self.datasetdata.remove(id_selected) # remove selected dataset from displayed list listmodel.remove(treeiter) # select next row if it exists (treeiter was advanced by # listmodel.remove(treeiter)) if self.datalist.iter_is_valid(treeiter): self.treeselection.select_iter(treeiter) else: lastpath = len(self.datalist) - 1 if lastpath >= 0: self.treeselection.select_path(len(self.datalist) - 1) else: self.set_selection_active(self.treeselection) self.set_plot_action_active() def edit_dialog(self, widget): """Runs the dialog to edit the selected dataset and then adds it to self.datasetdata and self.datalist.""" (listmodel, treeiter) = self.treeselection.get_selected() id_selected = listmodel.get_value(treeiter, 0) dialog = AddDataDialog(self.window, self.datasetdata.get(id_selected), edit=True) newdata = dialog.run() if newdata is not None: self.datasetdata.add(newdata) if parameters.config['preferences.unit_system'] == 'imperial': new_weight = newdata.weight_lbs else: new_weight = round(newdata.weight, 1) self.datalist.set(treeiter, 1, str(newdata.date), 2, str(new_weight), 3, guiutil.get_tooltip(newdata)) def plot_dialog(self, widget): """Runs the plotting dialog.""" PlotDialog().run() def preferences_dialog(self, widget): """Runs the preferences dialog.""" PreferencesDialog().run() self.set_plot_action_active() self.check_modeselector() self.display_data(self.datasetdata) def csv_dialog_import(self, widget): """Runs the csv import dialog and updates the display to show the imported data.""" CSVDialogImport().run() self.display_data(self.datasetdata) self.set_plot_action_active() def csv_dialog_export(self, widget): """Runs the csv export dialog.""" CSVDialogExport().run() def on_key_press(self, widget, event): """Tests, which key was pressed and triggers the appropriate callback function.""" # delete selected dataset if (event.keyval == gtk.keysyms.Delete and self.removeaction.get_sensitive()): self.remove_dialog(widget) # edit selected dataset if (event.keyval in [gtk.keysyms.Return, gtk.keysyms.KP_Enter] and self.editaction.get_sensitive()): self.edit_dialog(widget) def button_pressed(self, widget, event): """Tests, which mouse button was pressed and triggers the appropriate callback function.""" # double-click on dataset opens edit dialog if event.type == 5: self.edit_dialog(widget) def update_mode(self, modeselector): """Updates the editing mode: whether weight measurements or the weight plan is displayed and edited.""" key = self.modeselector.get_active() if key == 0: self.datasetdata = parameters.user.measurements elif key == 1: self.datasetdata = parameters.user.plan self.display_data(self.datasetdata) self.set_selection_active(self.treeselection) self.set_plot_action_active() def set_selection_active(self, widget): """Tests, whether a dataset is selected and sets sensitivity of actions accordingly.""" if widget.get_selected()[1] is None: self.removeaction.set_sensitive(False) self.editaction.set_sensitive(False) elif not self.removeaction.get_sensitive(): self.removeaction.set_sensitive(True) self.editaction.set_sensitive(True) # helper methods def set_plot_action_active(self): """Tests, whether a dataset exists and matplotlib is available and sets sensitivity of the plot action accordingly.""" if ((not parameters.user.measurements and (not parameters.user.plan or not parameters.config['preferences.use_weight_plan'])) or not parameters.have_mpl): self.plotaction.set_sensitive(False) elif not self.plotaction.get_sensitive() and parameters.have_mpl: self.plotaction.set_sensitive(True) def check_modeselector(self): """Checks, whether the modeselector should be displayed and hides or shows it accordingly.""" if (parameters.config['preferences.use_weight_plan'] and self.modeselector not in self.contentbox.get_children()): self.contentbox.pack_end(self.modeselector, False, True) elif (not parameters.config['preferences.use_weight_plan'] and self.modeselector in self.contentbox.get_children()): self.modeselector.set_active(0) self.contentbox.remove(self.modeselector) self.contentbox.show_all() def add_column(self, title, column_id): """Adds a column to the list view: First, create the gtk.TreeViewColumn and then set some needed properties.""" column = gtk.TreeViewColumn( title, gtk.CellRendererText(), text=column_id) column.set_sort_column_id(column_id) self.dataview.append_column(column) def display_data(self, datasetdata): """Appends all datasets to the list model.""" self.datalist.clear() for dataset in datasetdata: self.append_dataset(dataset) def append_dataset(self, dataset): """Appends a dataset to the list model.""" if parameters.config['preferences.unit_system'] == 'imperial': weight = dataset.weight_lbs else: weight = round(dataset.weight, 1) dataset_list = [dataset.id, dataset.date, weight, \ guiutil.get_tooltip(dataset)] return self.datalist.append(dataset_list) # main function def main(self): """Starts the gtk main loop.""" if os.name == 'posix': gtk.gdk.threads_init() MplTester().start() else: import_mpl() gtk.main() class MplTester(threading.Thread): """Tests availability of matplotlib in a separate thread.""" def __init__(self): """Initializes the thread.""" threading.Thread.__init__(self) def run(self): """Tries to import matplotlib and enable plotting.""" import_mpl() def import_mpl(): """Tests availability of matplotlib and enables plotting, if possible.""" try: from matplotlib import dates except ImportError: logger.warning( \ _('python-matplotlib is not installed, plotting disabled!')) else: parameters.have_mpl = True # speed up opening of plot dialog by importing it here global PlotDialog if PlotDialog is None: from pondus.gui.dialog_plot import PlotDialog # enable plot action in main window mainwindow.set_plot_action_active() # set correct tooltip on plotbutton mainwindow.plotbutton.set_tooltip_text(_('Plot weight data')) mainwindow = MainWindow() pondus-0.8.0/pondus/gui/dialog_save_file.py0000644000175000017500000000454111574231216017373 0ustar eikeeike# -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2008-10 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ import pygtk pygtk.require('2.0') import gtk import os class SaveFileDialog(object): """Allows the user to select a file something should be saved to.""" def __init__(self, default_file_name, file_formats): self.chooser = gtk.FileChooserDialog() self.chooser.set_action(gtk.FILE_CHOOSER_ACTION_SAVE) self.chooser.set_title(_('Save to File')) self.chooser.set_current_folder(os.path.expanduser('~')) self.chooser.set_current_name(default_file_name) file_type_box = gtk.HBox(homogeneous=False, spacing=10) file_type_label = gtk.Label(_('Save as File Type:')) file_type_box.pack_start(file_type_label, False, False) self.filetypeselector = gtk.combo_box_new_text() for ending in file_formats: self.filetypeselector.append_text(ending) self.filetypeselector.set_active(0) file_type_box.pack_end(self.filetypeselector, True, True) self.chooser.vbox.pack_start(file_type_box, False, False) # connect the signals self.filetypeselector.connect('changed', self.update_file_ending) # buttons in action area self.chooser.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL) self.chooser.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK) # show the dialog self.chooser.show_all() def run(self, plot=None): """Runs the dialog and closes it afterwards.""" response = self.chooser.run() if response == gtk.RESPONSE_OK: self.update_file_ending(self.filetypeselector) filename = self.chooser.get_filename() if plot is not None: plot.save_to_file(filename) self.chooser.hide() return filename self.chooser.hide() def update_file_ending(self, filetypeselector): """Updates the file ending of the target file.""" ending = filetypeselector.get_active_text() filename = os.path.split(self.chooser.get_filename())[1] filebase = os.path.splitext(filename)[0] self.chooser.set_current_name(filebase + ending) pondus-0.8.0/TODO0000644000175000017500000000130611574231216012135 0ustar eikeeikeTODO-List for Pondus ====================== features: ---------- * support multiple users * allow selection and deletion of multiple datasets in listview * add file-exists-warning on save plot and csv export? * add more import/export features in a unified dialog usability: ----------- * add dialog: increase date by month on pg_up * use frames in pref dialog? code clean up: --------------- * use GTKBuilder and clearly separate core and gui? * error message when adding dataset and sorted by weight in `newiter = self.datalist.append(newdata.as_list())` -> causes no problems, ask on pygtk list? other stuff: ------------- * validate xml? * unit tests? * use py2exe for windows version? pondus-0.8.0/AUTHORS0000644000175000017500000000126311574231216012517 0ustar eikeeikePondus Authors ================ Eike Nicklas Contributors: --------------- * niqueco * Sindre Pedersen Bjørdal * Stefano Maggiolo * Stefano Costa Translators: -------------- [bg] Yasen Pramatarov [de] Eike Nicklas [eo] Axel Rousseau [es] Jose Luis Jiménez [fi] Esa Rautiainen [fr] Arnaud Launay [he] Yaron Shahrabani [it] Stefano Costa [po] Adam Piotrowicz [ru] Alex Slabchenko [sv] Peter Landgren [tr] Muhammet Kara Former Translators: --------------------- [es] Enrique José Hernández Blasco [es_CO] Admin Abdón Sánchez [fr] Fabrice Haberer-Proust pondus-0.8.0/setup.py0000644000175000017500000000737511574231216013173 0ustar eikeeike#! /usr/bin/env python # -*- coding: UTF-8 -*- """ This file is part of Pondus, a personal weight manager. Copyright (C) 2007-11 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ from distutils.core import setup import os import shutil import sys from pondus import __version__ tmpdir = 'tmp' podir = 'po' modir = 'po/mo' def _get_language_codes(): """Returns a list of language codes of available translations""" language_codes = [] for file_ in os.listdir(podir): if not file_.endswith('.po'): continue language_codes.append(os.path.splitext(file_)[0]) return language_codes def _get_scripts(): """Returns the main script without .py extension. On windows, a script with an extension is used. When building a source distribution, no script is returned.""" if sys.argv[1] == 'sdist': return [] else: if sys.platform == 'win32': scriptpath = os.path.join(tmpdir, 'pondus-win.py') else: scriptpath = os.path.join(tmpdir, 'pondus') if not os.path.exists(tmpdir): os.makedirs(tmpdir) shutil.copyfile('pondus.py', scriptpath) return [scriptpath] def _create_mo(): """Creates the .mo files to be distributed with the source.""" if not os.path.exists(modir): for lang in _get_language_codes(): pofile = os.path.join('po', lang + '.po') modir_lang = os.path.join(modir, lang, 'LC_MESSAGES') mofile = os.path.join(modir_lang, 'pondus.mo') if not os.path.exists(modir_lang): os.makedirs(modir_lang) print 'generating', mofile os.system('msgfmt %s -o %s' % (pofile, mofile)) def _create_man(): """Creates the gzipped man file to be distributed with the source.""" if not os.path.exists('data/pondus.1.gz'): os.system('a2x -f manpage data/pondus.1.txt') os.system('gzip -9 data/pondus.1') def _clean_up(): """Removes the temporarily generated data.""" if os.path.exists(tmpdir): shutil.rmtree(tmpdir) long_description = """ Pondus is a personal weight manager that keeps track of your body weight and, optionally, the percentage of bodyfat, muscle and water. It aims to be simple to use, lightweight and fast. All data can be plotted to get a quick overview of the history of your weight. A simple weight planner allows to define "target weights" and this plan can be compared with the actual measurements in a plot. """ data_files = [ ('share/applications', ['data/pondus.desktop']), ('share/man/man1', ['data/pondus.1.gz']), ('share/doc/pondus', ['AUTHORS', 'NEWS', 'README', 'TODO']), ('share/pondus', ['data/icons/plot.png']), ('share/pixmaps', ['data/icons/pondus.xpm']), ('share/icons/hicolor/48x48/apps', ['data/icons/pondus.png']), ('share/icons/hicolor/scalable/apps', ['data/icons/pondus.svg'])] for lang in _get_language_codes(): data_files.append((os.path.join('share/locale', lang, 'LC_MESSAGES'), [os.path.join(modir, lang, 'LC_MESSAGES/pondus.mo')])) _create_mo() _create_man() setup(name = 'pondus', version = __version__, description = 'personal weight manager', long_description = long_description, author = 'Eike Nicklas', author_email = 'eike@ephys.de', url = 'http://bitbucket.org/eike/pondus/', license = 'MIT', scripts = _get_scripts(), data_files = data_files, package_dir = {'pondus': 'pondus'}, packages = ['pondus', 'pondus.backends', 'pondus.core', 'pondus.gui'], requires = ['python(>= 2.5)', 'pygtk(>=2.12)', 'matplotlib']) _clean_up() pondus-0.8.0/MANIFEST.in0000644000175000017500000000065411574231216013210 0ustar eikeeikeinclude AUTHORS include CONTRIBUTING include INSTALL include LICENSE include MANIFEST.in include NEWS include README include TODO include pondus.py include data/pondus.desktop include data/pondus.1.gz include data/icons/plot.png include data/icons/pondus.png include data/icons/pondus.svg include data/icons/pondus.xpm include po/README include po/update_po.py include po/pondus.pot include po/*.po recursive-include po/mo *.mo pondus-0.8.0/pondus.py0000755000175000017500000000070511574231216013334 0ustar eikeeike#! /usr/bin/env python # -*- coding: UTF-8 -*- """ Pondus is a personal weight manager. Copyright (C) 2007-10 Eike Nicklas This program is free software licensed under the MIT license. For details see LICENSE or http://www.opensource.org/licenses/mit-license.php """ if __name__ == '__main__': from pondus.core import initialize initialize.initialize() from pondus.gui.window_main import mainwindow mainwindow.main() pondus-0.8.0/INSTALL0000644000175000017500000000261511574231216012502 0ustar eikeeikeInstallation Instructions for Pondus ====================================== Pondus is developed and tested on Debian GNU/Linux, but should run on every system where Python (>= 2.5) and PyGTK (>= 2.12) are available. Matplotlib is recommended. Testing without installation ------------------------------ You can test pondus without installing it by executing `pondus.py`. Installation Instructions --------------------------- Linux/Unix: ~~~~~~~~~~~~~ Pondus is available in Debian, Ubuntu, Fedora, Arch Linux and Frugalware. On other systems, install Pondus by executing in the source directory (as root): python setup.py install The development package for python (python-devel or similar) is needed for this, so please install it first. Then, you can start Pondus (remember to switch back to the normal user) with: pondus or from the menu of your desktop environment. Windows: ~~~~~~~~~~ A Windows installer can be found at http://bitbucket.org/eike/pondus/[] However, before installing Pondus, you have to make sure that Python, GTK+, and PyGTK are installed (NumPy and Matplotlib are recommended). The installation directions for (Py)GTK can be found at http://faq.pygtk.org/index.py?req=show&file=faq21.001.htp[] Then, Pondus can be installed by executing the provided installer. The executable script to start Pondus should now be in C:\Python\Scripts\pondus-win.py pondus-0.8.0/PKG-INFO0000644000175000017500000000134611574231223012544 0ustar eikeeikeMetadata-Version: 1.1 Name: pondus Version: 0.8.0 Summary: personal weight manager Home-page: http://bitbucket.org/eike/pondus/ Author: Eike Nicklas Author-email: eike@ephys.de License: MIT Description: Pondus is a personal weight manager that keeps track of your body weight and, optionally, the percentage of bodyfat, muscle and water. It aims to be simple to use, lightweight and fast. All data can be plotted to get a quick overview of the history of your weight. A simple weight planner allows to define "target weights" and this plan can be compared with the actual measurements in a plot. Platform: UNKNOWN Requires: python(>= 2.5) Requires: pygtk(>=2.12) Requires: matplotlib