Add support for translations and update translations

This commit is contained in:
Grégory Soutadé 2012-02-26 14:24:04 +01:00
parent 4ea7efd178
commit 83d144ca3c
9 changed files with 654 additions and 558 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-08-06 17:24+0200\n"
"POT-Creation-Date: 2012-02-26 14:03+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,188 +17,196 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/view/StatsPanel.cpp:384 src/view/PreferencesPanel.cpp:832
#: src/view/StatsPanel.cpp:415
msgid " - "
msgstr ""
#: src/view/UsersDialog.cpp:125 src/view/PreferencesPanel.cpp:496
#: src/view/PreferencesPanel.cpp:516 src/view/PreferencesPanel.cpp:727
#: src/view/PreferencesPanel.cpp:746 src/view/PreferencesPanel.cpp:790
#: src/view/UsersDialog.cpp:120 src/view/PreferencesPanel.cpp:826
#: src/view/PreferencesPanel.cpp:846 src/view/PreferencesPanel.cpp:978
#: src/view/PreferencesPanel.cpp:997 src/view/PreferencesPanel.cpp:1038
msgid " already exists"
msgstr ""
#: src/view/ImportPanel.cpp:283
#: src/view/ImportPanel.cpp:278
msgid " and "
msgstr ""
#: src/view/SearchPanel.cpp:114 src/view/ExportPanel.cpp:106
#: src/view/SearchPanel.cpp:104 src/view/ExportPanel.cpp:98
msgid " entries found"
msgstr ""
#: src/model/Database.cpp:106
#: src/model/Database.cpp:112
msgid " not found, aborting"
msgstr ""
#: src/view/AccountPanel.cpp:879
#: src/view/AccountPanel.cpp:979
msgid " operations ?"
msgstr ""
#: src/view/PreferencesPanel.cpp:839
#: src/view/PreferencesPanel.cpp:1090
msgid " profil ?"
msgstr ""
#: src/view/ImportPanel.cpp:289
#: src/view/ImportPanel.cpp:284
msgid " will be created, is it ok ?"
msgstr ""
#: src/model/Database.cpp:92
#: src/model/Database.cpp:102
msgid "!! Warning !! If there was a bug, the old database will be suppressed !"
msgstr ""
#: src/view/ImportPanel.cpp:282
#: src/view/ImportPanel.cpp:277
#, c-format
msgid "%d accounts"
msgstr ""
#: src/view/ImportPanel.cpp:287
#: src/view/ImportPanel.cpp:282
#, c-format
msgid "%d categories"
msgstr ""
#: src/view/SearchPanel.cpp:116 src/view/ExportPanel.cpp:108
#: src/view/StatsPanel.cpp:355
msgid "0 line"
msgstr ""
#: src/view/SearchPanel.cpp:106 src/view/ExportPanel.cpp:100
msgid "1 entry found"
msgstr ""
#: src/view/SearchBanner.cpp:83 src/view/grid/GridAccount.cpp:63
#: src/view/SearchBanner.cpp:93 src/view/grid/GridAccount.cpp:72
msgid "Account"
msgstr ""
#: src/view/PreferencesPanel.cpp:496 src/view/PreferencesPanel.cpp:516
#: src/view/PreferencesPanel.cpp:826 src/view/PreferencesPanel.cpp:846
msgid "Account "
msgstr ""
#: src/controller/KissCount.cpp:372
#: src/controller/KissCount.cpp:344
msgid "Account 1"
msgstr ""
#: src/view/ImportPanel.cpp:74 src/view/AccountPanel.cpp:112
#: src/view/ImportPanel.cpp:64 src/view/AccountPanel.cpp:471
msgid "Account name"
msgstr ""
#: src/view/AccountPanel.cpp:111
#: src/view/AccountPanel.cpp:470
msgid "Account number"
msgstr ""
#: src/view/StatsPanel.cpp:336 src/view/PreferencesPanel.cpp:60
#: src/view/StatsPanel.cpp:354 src/view/PreferencesPanel.cpp:47
msgid "Accounts"
msgstr ""
#: src/view/AccountPanel.cpp:1107
#: src/view/AccountPanel.cpp:1195
msgid "Accounts updated until "
msgstr ""
#: src/view/SearchBanner.cpp:79
#: src/view/StatsPanel.cpp:339
msgid "Amount"
msgstr ""
#: src/view/SearchBanner.cpp:89
msgid "Amount from"
msgstr ""
#: src/view/SearchBanner.cpp:80
#: src/view/SearchBanner.cpp:90
msgid "Amount to"
msgstr ""
#: src/view/AccountPanel.cpp:1114
#: src/view/AccountPanel.cpp:1200
msgid "Any account updated !"
msgstr ""
#: src/view/ImportPanel.cpp:175 src/view/ExportPanel.cpp:138
#: src/view/ImportPanel.cpp:170 src/view/ExportPanel.cpp:131
msgid "Any engine can process this file !"
msgstr ""
#: src/view/PreferencesPanel.cpp:839 src/view/AccountPanel.cpp:874
#: src/view/PreferencesPanel.cpp:1090 src/view/AccountPanel.cpp:974
msgid "Are you sure want to delete "
msgstr ""
#: src/view/grid/GridAccount.cpp:859
#: src/view/grid/GridAccount.cpp:757
msgid "Are you sure want to delete : \n"
msgstr ""
#: src/view/ImportPanel.cpp:367
#: src/view/ImportPanel.cpp:361
msgid "Are you sure want to integrate these operations ?"
msgstr ""
#: src/view/PreferencesPanel.cpp:369
#: src/view/PreferencesPanel.cpp:470
msgid "Ascending"
msgstr ""
#: src/view/PreferencesPanel.cpp:293
#: src/view/PreferencesPanel.cpp:356
msgid "Background color"
msgstr ""
#: src/view/AccountPanel.cpp:236
#: src/view/AccountPanel.cpp:272
msgid "Balance"
msgstr ""
#: src/view/PreferencesPanel.cpp:200
#: src/view/PreferencesPanel.cpp:223
msgid "Blocked"
msgstr ""
#: src/view/UsersDialog.cpp:52 src/view/GenerateDialog.cpp:61
#: src/view/PasswordDialog.cpp:56
#: src/view/UsersDialog.cpp:50 src/view/GenerateDialog.cpp:49
#: src/view/PasswordDialog.cpp:50
msgid "Cancel"
msgstr ""
#: src/view/grid/GridAccount.cpp:1294 src/view/grid/GridAccount.cpp:1301
#: src/view/grid/GridAccount.cpp:1247 src/view/grid/GridAccount.cpp:1260
msgid "Cannot group these operations"
msgstr ""
#: src/view/grid/GridAccount.cpp:1420 src/view/grid/GridAccount.cpp:1426
#: src/view/grid/GridAccount.cpp:1391 src/view/grid/GridAccount.cpp:1397
msgid "Cannot ungroup these operations"
msgstr ""
#: src/controller/KissCount.cpp:363
#: src/controller/KissCount.cpp:335
msgid "Car"
msgstr ""
#: src/view/PreferencesPanel.cpp:61
#: src/view/PreferencesPanel.cpp:48
msgid "Categories"
msgstr ""
#: src/view/SearchBanner.cpp:81 src/view/grid/GridAccount.cpp:63
#: src/view/SearchBanner.cpp:91 src/view/grid/GridAccount.cpp:72
msgid "Category"
msgstr ""
#: src/view/PreferencesPanel.cpp:727 src/view/PreferencesPanel.cpp:746
#: src/view/PreferencesPanel.cpp:978 src/view/PreferencesPanel.cpp:997
msgid "Category "
msgstr ""
#: src/view/ImportPanel.cpp:82
#: src/view/ImportPanel.cpp:71
msgid "Category name"
msgstr ""
#: src/view/PreferencesPanel.cpp:78
#: src/view/PreferencesPanel.cpp:65
msgid "Change Name"
msgstr ""
#: src/view/PreferencesPanel.cpp:79
#: src/view/PreferencesPanel.cpp:66
msgid "Change Password"
msgstr ""
#: src/view/SearchPanel.cpp:59
#: src/view/SearchPanel.cpp:47
msgid "Change account"
msgstr ""
#: src/view/SearchPanel.cpp:60
#: src/view/SearchPanel.cpp:48
msgid "Change category"
msgstr ""
#: src/view/PasswordDialog.cpp:29
#: src/view/PasswordDialog.cpp:30
msgid "Change password"
msgstr ""
#: src/view/AccountPanel.cpp:128
#: src/view/AccountPanel.cpp:149
msgid "Check"
msgstr ""
#: src/view/SearchBanner.cpp:70
#: src/view/SearchBanner.cpp:74
msgid "Checked"
msgstr ""
@ -206,364 +214,383 @@ msgstr ""
msgid "Choose a database to open"
msgstr ""
#: src/view/SearchPanel.cpp:154
#: src/view/SearchPanel.cpp:144
msgid "Choose a new account"
msgstr ""
#: src/view/SearchPanel.cpp:196
#: src/view/SearchPanel.cpp:184
msgid "Choose a new category"
msgstr ""
#: src/view/PasswordDialog.cpp:46
msgid "Confirm password "
#: src/view/PasswordDialog.cpp:41
msgid "Confirm password"
msgstr ""
#: src/view/StatsPanel.cpp:142 src/view/AccountPanel.cpp:122
#: src/view/StatsPanel.cpp:158 src/view/AccountPanel.cpp:98
msgid "Cost repartition"
msgstr ""
#: src/view/ImportPanel.cpp:187 src/view/ImportPanel.cpp:217
#: src/view/ImportPanel.cpp:260 src/view/ImportPanel.cpp:269
#: src/view/ImportPanel.cpp:297 src/view/ImportPanel.cpp:315
#: src/view/ImportPanel.cpp:181 src/view/ImportPanel.cpp:211
#: src/view/ImportPanel.cpp:255 src/view/ImportPanel.cpp:264
#: src/view/ImportPanel.cpp:291 src/view/ImportPanel.cpp:309
msgid "Create one"
msgstr ""
#: src/view/grid/GridAccount.cpp:63
#: src/view/grid/GridAccount.cpp:72
msgid "Credit"
msgstr ""
#: src/view/AccountPanel.cpp:234
#: src/view/AccountPanel.cpp:268
msgid "Cur Credit"
msgstr ""
#: src/view/AccountPanel.cpp:235
#: src/view/AccountPanel.cpp:269
msgid "Cur Debit"
msgstr ""
#: src/view/AccountPanel.cpp:114
#: src/view/AccountPanel.cpp:473
msgid "Current value"
msgstr ""
#: src/view/grid/GridAccount.cpp:63
#: src/view/grid/GridAccount.cpp:72
msgid "Date"
msgstr ""
#: src/view/SearchBanner.cpp:41
#: src/view/SearchBanner.cpp:30
msgid "Date from"
msgstr ""
#: src/view/SearchBanner.cpp:42
#: src/view/SearchBanner.cpp:31
msgid "Date to"
msgstr ""
#: src/view/grid/GridAccount.cpp:63
#: src/view/grid/GridAccount.cpp:72
msgid "Debit"
msgstr ""
#: src/view/PreferencesPanel.cpp:198
#: src/view/PreferencesPanel.cpp:221
msgid "Default"
msgstr ""
#: src/view/PreferencesPanel.cpp:201 src/view/PreferencesPanel.cpp:296
#: src/view/AccountPanel.cpp:733
#: src/view/PreferencesPanel.cpp:224 src/view/PreferencesPanel.cpp:359
#: src/view/AccountPanel.cpp:832
msgid "Delete"
msgstr ""
#: src/view/PreferencesPanel.cpp:370
#: src/view/PreferencesPanel.cpp:471
msgid "Descending"
msgstr ""
#: src/view/SearchBanner.cpp:78 src/view/grid/GridAccount.cpp:63
#: src/view/SearchBanner.cpp:88 src/view/grid/GridAccount.cpp:72
msgid "Description"
msgstr ""
#: src/view/SearchPanel.cpp:238
#: src/view/SearchPanel.cpp:221
msgid "Enter a new description"
msgstr ""
#: src/view/UsersDialog.cpp:95 src/view/UsersDialog.cpp:125
#: src/view/SearchBanner.cpp:140 src/view/SearchBanner.cpp:150
#: src/view/SearchBanner.cpp:163 src/view/SearchBanner.cpp:172
#: src/view/PreferencesPanel.cpp:436 src/view/PreferencesPanel.cpp:496
#: src/view/PreferencesPanel.cpp:516 src/view/PreferencesPanel.cpp:727
#: src/view/PreferencesPanel.cpp:746 src/view/PreferencesPanel.cpp:784
#: src/view/PreferencesPanel.cpp:790 src/view/PasswordDialog.cpp:72
#: src/view/PasswordDialog.cpp:78 src/view/AccountPanel.cpp:870
#: src/view/grid/GridAccount.cpp:1294 src/view/grid/GridAccount.cpp:1301
#: src/view/grid/GridAccount.cpp:1420 src/view/grid/GridAccount.cpp:1426
#: src/view/grid/wxGridCellFormulaEditor.cpp:69 src/model/Database.cpp:45
#: src/model/Database.cpp:52 src/model/Database.cpp:70
#: src/model/Database.cpp:106 src/model/Database.cpp:112
#: src/model/Database.cpp:118 src/model/Database.cpp:126
#: src/model/Database.cpp:147 src/model/Database_Update.cpp:23
#: src/view/StatsPanel.cpp:430 src/view/UsersDialog.cpp:90
#: src/view/UsersDialog.cpp:120 src/view/SearchBanner.cpp:149
#: src/view/SearchBanner.cpp:159 src/view/SearchBanner.cpp:172
#: src/view/SearchBanner.cpp:181 src/view/ImportPanel.cpp:170
#: src/view/ExportPanel.cpp:118 src/view/ExportPanel.cpp:131
#: src/view/ExportPanel.cpp:138 src/view/PreferencesPanel.cpp:585
#: src/view/PreferencesPanel.cpp:826 src/view/PreferencesPanel.cpp:846
#: src/view/PreferencesPanel.cpp:978 src/view/PreferencesPanel.cpp:997
#: src/view/PreferencesPanel.cpp:1032 src/view/PreferencesPanel.cpp:1038
#: src/view/PreferencesPanel.cpp:1078 src/view/PasswordDialog.cpp:64
#: src/view/PasswordDialog.cpp:70 src/view/AccountPanel.cpp:970
#: src/view/grid/GridAccount.cpp:1247 src/view/grid/GridAccount.cpp:1260
#: src/view/grid/GridAccount.cpp:1391 src/view/grid/GridAccount.cpp:1397
#: src/view/grid/FormulaDelegate.cpp:59 src/model/Database.cpp:57
#: src/model/Database.cpp:65 src/model/Database.cpp:84
#: src/model/Database.cpp:112 src/model/Database.cpp:118
#: src/model/Database.cpp:124 src/model/Database.cpp:134
#: src/model/Database.cpp:154 src/model/Database.cpp:604
#: src/model/Database.cpp:786 src/model/Database.cpp:928
#: src/model/DatabaseUpdate.cpp:31
msgid "Error"
msgstr ""
#: src/model/Database.cpp:147
#: src/model/Database.cpp:154
msgid "Error creating original database"
msgstr ""
#: src/view/ExportPanel.cpp:55 src/view/ExportPanel.cpp:89
#: src/view/ExportPanel.cpp:47 src/view/ExportPanel.cpp:81
msgid "Export"
msgstr ""
#: src/view/ExportPanel.cpp:146
#: src/view/ExportPanel.cpp:138
msgid "Failed to save operations"
msgstr ""
#: src/view/ImportPanel.cpp:73
#: src/view/ImportPanel.cpp:64
msgid "File account"
msgstr ""
#: src/view/ImportPanel.cpp:81
#: src/view/ImportPanel.cpp:71
msgid "File category"
msgstr ""
#: src/view/AccountPanel.cpp:115
#: src/view/AccountPanel.cpp:474
msgid "Final value"
msgstr ""
#: src/view/SearchBanner.cpp:70 src/view/grid/GridAccount.cpp:340
#: src/controller/KissCount.cpp:363
#: src/view/SearchBanner.cpp:70 src/view/grid/GridAccount.cpp:342
#: src/controller/KissCount.cpp:335
msgid "Fix"
msgstr ""
#: src/view/PreferencesPanel.cpp:295
#: src/view/PreferencesPanel.cpp:358
msgid "Font"
msgstr ""
#: src/view/PreferencesPanel.cpp:294
#: src/view/PreferencesPanel.cpp:357
msgid "Foreground color"
msgstr ""
#: src/view/StatsPanel.cpp:65
#: src/view/StatsPanel.cpp:71
msgid "From"
msgstr ""
#: src/view/GenerateDialog.cpp:46
#: src/view/GenerateDialog.cpp:36
msgid "From "
msgstr ""
#: src/view/GenerateDialog.cpp:31 src/view/AccountPanel.cpp:730
#: src/view/GenerateDialog.cpp:33 src/view/AccountPanel.cpp:829
msgid "Generate month"
msgstr ""
#: src/model/import/GrisbiImportEngine.cpp:201
msgid "Grisbi files (*.gsb)|*.gsb"
#: src/model/import/GrisbiImportEngine.cpp:166
msgid "Grisbi files (*.gsb)"
msgstr ""
#: src/controller/KissCount.cpp:363
#: src/controller/KissCount.cpp:335
msgid "Groceries"
msgstr ""
#: src/view/AccountPanel.cpp:134
#: src/view/AccountPanel.cpp:167
msgid "Group"
msgstr ""
#: src/controller/KissCount.cpp:363
#: src/view/PreferencesPanel.cpp:225
msgid "Hidden"
msgstr ""
#: src/controller/KissCount.cpp:335
msgid "Hobbies"
msgstr ""
#: src/view/ImportPanel.cpp:123
#: src/view/ImportPanel.cpp:121
msgid "Import"
msgstr ""
#: src/view/AccountPanel.cpp:113
#: src/view/AccountPanel.cpp:472
msgid "Initial value"
msgstr ""
#: src/view/ImportPanel.cpp:57
#: src/view/ImportPanel.cpp:47
msgid "Integrate operations"
msgstr ""
#: src/view/ImportPanel.cpp:75
#: src/view/ImportPanel.cpp:64
msgid "Internal account"
msgstr ""
#: src/view/ImportPanel.cpp:83
#: src/view/ImportPanel.cpp:71
msgid "Internal category"
msgstr ""
#: src/view/SearchBanner.cpp:150
#: src/view/SearchBanner.cpp:159
msgid "Invalid amount from"
msgstr ""
#: src/view/SearchBanner.cpp:172
#: src/view/SearchBanner.cpp:181
msgid "Invalid amount range"
msgstr ""
#: src/view/SearchBanner.cpp:163
#: src/view/SearchBanner.cpp:172
msgid "Invalid amount to"
msgstr ""
#: src/view/SearchBanner.cpp:140
#: src/view/SearchBanner.cpp:149
msgid "Invalid date range"
msgstr ""
#: src/view/grid/wxGridCellFormulaEditor.cpp:69
#: src/view/grid/FormulaDelegate.cpp:59
msgid "Invalid formula !"
msgstr ""
#: src/view/PreferencesPanel.cpp:784
msgid "Invalid name"
#: src/view/PreferencesPanel.cpp:1032
msgid "Invalid name !"
msgstr ""
#: src/view/PasswordDialog.cpp:72
#: src/view/PasswordDialog.cpp:64
msgid "Invalid old password"
msgstr ""
#: src/view/UsersDialog.cpp:95
#: src/view/UsersDialog.cpp:90
msgid "Invalid password"
msgstr ""
#: src/view/StatsPanel.cpp:403
#: src/view/StatsPanel.cpp:430
msgid "Invalide date range"
msgstr ""
#: src/view/PreferencesPanel.cpp:436
#: src/view/PreferencesPanel.cpp:585
msgid "It must be at least one account !"
msgstr ""
#: src/view/AccountPanel.cpp:870
#: src/view/AccountPanel.cpp:970
msgid "It must be at least one month !"
msgstr ""
#: src/view/PreferencesPanel.cpp:80
#: src/view/PreferencesPanel.cpp:67
msgid "Kill me"
msgstr ""
#: src/view/StatsPanel.cpp:403 src/view/PreferencesPanel.cpp:824
#: src/view/PreferencesPanel.cpp:827 src/model/Database_Update.cpp:140
#: src/view/SearchPanel.cpp:104 src/view/SearchPanel.cpp:106
#: src/view/SearchPanel.cpp:109 src/view/ExportPanel.cpp:98
#: src/view/ExportPanel.cpp:100 src/view/ExportPanel.cpp:103
#: src/view/ExportPanel.cpp:136
msgid "KissCount"
msgstr ""
#: src/view/ExportPanel.cpp:152
#: src/view/ExportPanel.cpp:144
msgid "KissCount - Export"
msgstr ""
#: src/view/ImportPanel.cpp:128
#: src/view/ImportPanel.cpp:126
msgid "KissCount - Import"
msgstr ""
#: src/model/import/XMLImportEngine.cpp:268
msgid "KissCount xml files (*.xml)|*.xml"
#: src/model/export/XMLExportEngine.cpp:34
msgid "KissCount XML files (*.xml)"
msgstr ""
#: src/view/PreferencesPanel.cpp:62
#: src/model/import/XMLImportEngine.cpp:32
msgid "KissCount xml files (*.xml)"
msgstr ""
#: src/view/PreferencesPanel.cpp:49
msgid "Language"
msgstr ""
#: src/view/PreferencesPanel.cpp:827
#: src/view/PreferencesPanel.cpp:1078
msgid "Language not changed"
msgstr ""
#: src/view/PreferencesPanel.cpp:824
#: src/view/PreferencesPanel.cpp:1075
msgid "Language successfully changed, please go to another panel"
msgstr ""
#: src/view/ImportPanel.cpp:54
#: src/view/ImportPanel.cpp:43
msgid "Load operations"
msgstr ""
#: src/view/AccountPanel.cpp:129
#: src/view/AccountPanel.cpp:145
msgid "Mode"
msgstr ""
#: src/view/PreferencesPanel.cpp:72 src/view/PreferencesPanel.cpp:196
#: src/view/PreferencesPanel.cpp:292
#: src/view/StatsPanel.cpp:338
msgid "Months"
msgstr ""
#: src/view/PreferencesPanel.cpp:59 src/view/PreferencesPanel.cpp:219
#: src/view/PreferencesPanel.cpp:355
msgid "Name"
msgstr ""
#: src/view/PreferencesPanel.cpp:796
#: src/view/PreferencesPanel.cpp:1044
msgid "Name changed"
msgstr ""
#: src/view/UsersDialog.cpp:53 src/view/UsersDialog.cpp:114
#: src/view/UsersDialog.cpp:51 src/view/UsersDialog.cpp:111
msgid "New User"
msgstr ""
#: src/view/PasswordDialog.cpp:41
msgid "New password "
#: src/view/PasswordDialog.cpp:37
msgid "New password"
msgstr ""
#: src/model/Database.cpp:91
#: src/model/Database.cpp:101
msgid ""
"No database found, would you like to create a new one ?\n"
"\n"
msgstr ""
#: src/view/SearchPanel.cpp:119 src/view/ExportPanel.cpp:111
#: src/view/SearchPanel.cpp:109 src/view/ExportPanel.cpp:103
msgid "No entry found"
msgstr ""
#: src/view/ImportPanel.cpp:351
#: src/view/ImportPanel.cpp:345
msgid "No operation found into this file"
msgstr ""
#: src/view/ExportPanel.cpp:124
#: src/view/ExportPanel.cpp:118
msgid "No operation to save"
msgstr ""
#: src/view/StatsPanel.cpp:117 src/view/SearchBanner.cpp:70
#: src/view/AccountPanel.cpp:237
#: src/view/StatsPanel.cpp:134 src/view/SearchBanner.cpp:72
#: src/view/AccountPanel.cpp:273
msgid "Non fix"
msgstr ""
#: src/view/SearchPanel.cpp:149 src/view/SearchPanel.cpp:191
#: src/view/PreferencesPanel.cpp:441 src/view/PreferencesPanel.cpp:702
#: src/view/SearchPanel.cpp:140 src/view/SearchPanel.cpp:180
#: src/view/PreferencesPanel.cpp:601 src/view/PreferencesPanel.cpp:676
msgid "None"
msgstr ""
#: src/view/SearchBanner.cpp:70
#: src/view/SearchBanner.cpp:76
msgid "Not checked"
msgstr ""
#: src/view/PreferencesPanel.cpp:197
#: src/view/PreferencesPanel.cpp:220
msgid "Number"
msgstr ""
#: src/model/import/OFXImportEngine.cpp:135
msgid "OFX files (*.ofx)|*.ofx"
#: src/model/import/OFXImportEngine.cpp:140
msgid "OFX files (*.ofx)"
msgstr ""
#: src/view/UsersDialog.cpp:51 src/view/GenerateDialog.cpp:60
#: src/view/PasswordDialog.cpp:55
#: src/view/UsersDialog.cpp:49 src/view/GenerateDialog.cpp:48
#: src/view/PasswordDialog.cpp:49
msgid "OK"
msgstr ""
#: src/view/PasswordDialog.cpp:36
msgid "Old password "
#: src/view/PasswordDialog.cpp:33
msgid "Old password"
msgstr ""
#: src/view/PreferencesPanel.cpp:63
#: src/view/PreferencesPanel.cpp:50
msgid "Operation order"
msgstr ""
#: src/view/SearchBanner.cpp:82 src/view/AccountPanel.cpp:186
#: src/view/SearchBanner.cpp:92 src/view/AccountPanel.cpp:227
msgid "Operations"
msgstr ""
#: src/view/ImportPanel.cpp:421
#: src/view/ImportPanel.cpp:414
msgid "Operations successfully imported"
msgstr ""
#: src/view/ExportPanel.cpp:144
#: src/view/ExportPanel.cpp:136
msgid "Operations successfuly saved"
msgstr ""
#: src/controller/KissCount.cpp:364
#: src/controller/KissCount.cpp:336
msgid "Other"
msgstr ""
#: src/view/UsersDialog.cpp:45
#: src/view/UsersDialog.cpp:44
msgid "Password "
msgstr ""
#: src/view/PasswordDialog.cpp:84
#: src/view/PasswordDialog.cpp:76
msgid "Password changed"
msgstr ""
#: src/view/wxUI.cpp:249
#: src/view/wxUI.cpp:287
msgid ""
"Personal accounting software\n"
"\n"
@ -571,188 +598,180 @@ msgid ""
"\n"
"Licenced under GNU GPL v3\n"
"\n"
"Copyright (C) 2010-2011 Grégory Soutadé"
"Copyright (C) 2010-2012 Grégory Soutadé"
msgstr ""
#: src/view/PasswordDialog.cpp:78
#: src/view/PasswordDialog.cpp:70
msgid "Please retype new password"
msgstr ""
#: src/view/PreferencesPanel.cpp:184 src/view/PreferencesPanel.cpp:798
#: src/view/PreferencesPanel.cpp:832
#: src/view/PreferencesPanel.cpp:205 src/view/PreferencesPanel.cpp:1083
msgid "Preferences"
msgstr ""
#: src/view/wxUI.cpp:256
#: src/view/wxUI.cpp:292
msgid "Quit KissCount ?"
msgstr ""
#: src/view/AccountPanel.cpp:128
#: src/view/AccountPanel.cpp:148
msgid "Real"
msgstr ""
#: src/view/SearchPanel.cpp:61
#: src/view/SearchPanel.cpp:49
msgid "Rename"
msgstr ""
#: src/view/ExportPanel.cpp:128
#: src/view/ExportPanel.cpp:122
msgid "Save as"
msgstr ""
#: src/view/ImportPanel.cpp:60
#: src/view/ImportPanel.cpp:51
msgid "Save import patterns"
msgstr ""
#: src/view/SearchPanel.cpp:48 src/view/SearchPanel.cpp:97
#: src/view/SearchPanel.cpp:254 src/view/ExportPanel.cpp:44
#: src/view/SearchPanel.cpp:34 src/view/SearchPanel.cpp:87
#: src/view/SearchPanel.cpp:231 src/view/ExportPanel.cpp:34
msgid "Search"
msgstr ""
#: src/view/StatsPanel.cpp:134 src/view/AccountPanel.cpp:95
msgid "Serie 1"
msgstr ""
#: src/view/PreferencesPanel.cpp:64
#: src/view/PreferencesPanel.cpp:51
msgid "Shared with"
msgstr ""
#: src/view/StatsPanel.cpp:172 src/view/StatsPanel.cpp:384
#: src/view/StatsPanel.cpp:212 src/view/StatsPanel.cpp:415
msgid "Statistics"
msgstr ""
#: src/view/StatsPanel.cpp:70
#: src/view/StatsPanel.cpp:76
msgid "To"
msgstr ""
#: src/view/GenerateDialog.cpp:53
msgid "To "
msgstr ""
#: src/view/AccountPanel.cpp:210
#: src/view/AccountPanel.cpp:247 src/view/AccountPanel.cpp:270
msgid "Total Credit"
msgstr ""
#: src/view/AccountPanel.cpp:211
#: src/view/AccountPanel.cpp:248 src/view/AccountPanel.cpp:271
msgid "Total Debit"
msgstr ""
#: src/view/AccountPanel.cpp:135
#: src/view/AccountPanel.cpp:168
msgid "UnGroup"
msgstr ""
#: src/model/Database.cpp:112 src/model/Database.cpp:118
#: src/model/Database.cpp:118 src/model/Database.cpp:124
msgid "Unable to Create "
msgstr ""
#: src/model/Database.cpp:45 src/model/Database.cpp:52
#: src/model/Database.cpp:70 src/model/Database.cpp:126
#: src/model/Database.cpp:57 src/model/Database.cpp:65
#: src/model/Database.cpp:84 src/model/Database.cpp:134
msgid "Unable to open Database"
msgstr ""
#: src/controller/KissCount.cpp:364
#: src/controller/KissCount.cpp:336
msgid "Unexpected"
msgstr ""
#: src/view/SearchBanner.cpp:66 src/view/SearchBanner.cpp:74
#: src/view/AccountPanel.cpp:529 src/view/AccountPanel.cpp:565
#: src/view/AccountPanel.cpp:603 src/model/User.cpp:59 src/model/User.cpp:79
#: src/model/User.cpp:127
#: src/view/SearchBanner.cpp:61 src/view/SearchBanner.cpp:80
#: src/view/AccountPanel.cpp:619 src/view/AccountPanel.cpp:655
#: src/view/AccountPanel.cpp:693 src/model/User.cpp:62 src/model/User.cpp:80
#: src/model/User.cpp:158
msgid "Unknown"
msgstr ""
#: src/view/ImportPanel.cpp:42
#: src/view/ImportPanel.cpp:32
msgid "Unresolved accounts"
msgstr ""
#: src/view/ImportPanel.cpp:43
#: src/view/ImportPanel.cpp:33
msgid "Unresolved categories"
msgstr ""
#: src/view/AccountPanel.cpp:136
#: src/model/Database.cpp:604 src/model/Database.cpp:786
#: src/model/Database.cpp:928
msgid "Update failed !\n"
msgstr ""
#: src/view/AccountPanel.cpp:169
msgid "Update next months"
msgstr ""
#: src/view/PreferencesPanel.cpp:59
#: src/view/PreferencesPanel.cpp:46
msgid "User"
msgstr ""
#: src/view/UsersDialog.cpp:40 src/view/UsersDialog.cpp:125
#: src/view/PreferencesPanel.cpp:790
#: src/view/UsersDialog.cpp:40 src/view/UsersDialog.cpp:120
#: src/view/PreferencesPanel.cpp:1038
msgid "User "
msgstr ""
#: src/view/UsersDialog.cpp:31
#: src/view/UsersDialog.cpp:35
msgid "Users"
msgstr ""
#: src/view/PreferencesPanel.cpp:199 src/view/AccountPanel.cpp:128
#: src/view/PreferencesPanel.cpp:222 src/view/AccountPanel.cpp:147
msgid "Virtual"
msgstr ""
#: src/view/grid/GridAccount.cpp:1071
#: src/view/grid/GridAccount.cpp:1053
msgid "Warning"
msgstr ""
#: src/view/PreferencesPanel.cpp:446
#: src/view/PreferencesPanel.cpp:606
msgid "Wich account will replace this one ?"
msgstr ""
#: src/view/PreferencesPanel.cpp:707
#: src/view/PreferencesPanel.cpp:682
msgid "Wich category will replace this one ?"
msgstr ""
#: src/model/export/XMLExportEngine.cpp:29
msgid "XML files (*.xml)|*.xml"
msgstr ""
#: src/view/grid/GridAccount.cpp:1071
#: src/view/grid/GridAccount.cpp:1053
msgid "You made a debit on a blocked account"
msgstr ""
#: src/view/wxUI.cpp:125
#: src/view/wxUI.cpp:157
msgid "april"
msgstr ""
#: src/view/wxUI.cpp:129
#: src/view/wxUI.cpp:161
msgid "august"
msgstr ""
#: src/view/wxUI.cpp:133
#: src/view/wxUI.cpp:165
msgid "december"
msgstr ""
#: src/view/wxUI.cpp:123
#: src/view/wxUI.cpp:155
msgid "february"
msgstr ""
#: src/view/wxUI.cpp:122
#: src/view/wxUI.cpp:154
msgid "january"
msgstr ""
#: src/view/wxUI.cpp:128
#: src/view/wxUI.cpp:160
msgid "july"
msgstr ""
#: src/view/wxUI.cpp:127
#: src/view/wxUI.cpp:159
msgid "june"
msgstr ""
#: src/view/wxUI.cpp:124
#: src/view/wxUI.cpp:156
msgid "march"
msgstr ""
#: src/view/wxUI.cpp:126
#: src/view/wxUI.cpp:158
msgid "may"
msgstr ""
#: src/view/wxUI.cpp:132
#: src/view/wxUI.cpp:164
msgid "november"
msgstr ""
#: src/view/wxUI.cpp:131
#: src/view/wxUI.cpp:163
msgid "october"
msgstr ""
#: src/view/wxUI.cpp:130
#: src/view/wxUI.cpp:162
msgid "september"
msgstr ""

View File

@ -31,11 +31,10 @@ std::vector<ExportEngine*> * KissCount::_exportEngines;
KissCount::KissCount(int argc, char** argv) : QApplication(argc, argv), _user(0)
{
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
_wxUI = new wxUI(this, "KissCount");
//_wxUI->SetLanguage(wxLocale::GetSystemLanguage());
_wxUI->showMaximized();
_wxUI->setDisabled(true);

View File

@ -1065,10 +1065,10 @@ void PreferencesPanel::OnOperationOrderChange(int index)
void PreferencesPanel::OnLanguageChange(int index)
{
SupportedLanguages::wxLanguage language = SupportedLanguages::languages[index].language;
int language = SupportedLanguages::languages[index].language;
QString name_lang = SupportedLanguages::languages[index].name;
if (_wxUI->SetLanguage(name_lang) || language == SupportedLanguages::wxLANGUAGE_ENGLISH)
if (_wxUI->SetLanguage(name_lang) || language == SupportedLanguages::English)
{
_wxUI->NeedReload();
_kiss->SetLanguage(name_lang);

View File

@ -23,17 +23,18 @@
namespace SupportedLanguages {
#define ICONS_PATH RESSOURCES_ROOT "icons/"
enum wxLanguage {wxLANGUAGE_ENGLISH, wxLANGUAGE_FRENCH, NB_SUPPORTED_LANGUAGES} ;
enum Language {English, French, NB_SUPPORTED_LANGUAGES} ;
typedef struct {
QString name;
QString icon;
wxLanguage language;
QLocale::Language language;
QString filename;
} language ;
static const language languages[NB_SUPPORTED_LANGUAGES] = {
{ "English", ICONS_PATH "/United Kingdom.png", wxLANGUAGE_ENGLISH},
{ "Français",ICONS_PATH "/France.png", wxLANGUAGE_FRENCH}
{ "English", ICONS_PATH "/United Kingdom.png", QLocale::English, "english"},
{ "Français",ICONS_PATH "/France.png", QLocale::French, "french"}
};
}

View File

@ -46,11 +46,14 @@ QColor wxUI::categoryColors[MAX_CATEGORY] = {QColor(0x00, 0x45, 0x86),
QColor(0x00, 0x84, 0xD1)};
wxUI::wxUI(KissCount* kiss, const QString& title)
: QFrame(0), _kiss(kiss), _signalMapper(this),
_curPanel(0), _locale(0), _needReload(false)
: QFrame(0), _language(SupportedLanguages::languages[SupportedLanguages::English].name),
_kiss(kiss), _signalMapper(this), _curPanel(0), _locale(0),
_needReload(false)
{
QPushButton* button;
SetLanguage("");
setWindowTitle(title);
connect(&_signalMapper, SIGNAL(mapped(int)), this, SLOT(OnButtonClicked(int)));
@ -93,41 +96,60 @@ wxUI::~wxUI()
bool wxUI::SetLanguage(QString language)
{
bool res = true;
int i;
// if (_locale) delete _locale;
// _locale = 0;
if (_locale)
{
if (language == _language) return true;
}
// // load language if possible, fall back to english otherwise
// if(wxLocale::IsAvailable(language))
// {
// _locale = new wxLocale( language, wxLOCALE_CONV_ENCODING );
// #ifdef __WXGTK__
// _locale->AddCatalogLookupPathPrefix(wxT(LANG_ROOT));
// #endif
// _locale->AddCatalog(wxT("frenchpp"));
// _locale->AddCatalog(wxT("kisscount"));
if (language == "")
{
QLocale default_locale = QLocale::system();
// _language = (wxLanguage) language;
// }
for(i=0; i<SupportedLanguages::NB_SUPPORTED_LANGUAGES; i++)
{
if (default_locale.language() == SupportedLanguages::languages[i].language)
break;
}
if (i == SupportedLanguages::NB_SUPPORTED_LANGUAGES)
i = SupportedLanguages::English;
language = SupportedLanguages::languages[i].name;
}
else
{
for(i=0; i<SupportedLanguages::NB_SUPPORTED_LANGUAGES; i++)
{
if (language == SupportedLanguages::languages[i].name)
break;
}
if (i == SupportedLanguages::NB_SUPPORTED_LANGUAGES)
return false;
}
// if (_locale == 0 || !_locale->IsOk())
// {
// if (_locale) delete _locale;
// _locale = new wxLocale();
if (_locale)
{
delete _locale;
_kiss->removeTranslator(&_translator);
}
if (i != SupportedLanguages::English)
{
if (!_translator.load(SupportedLanguages::languages[i].filename, RESSOURCES_ROOT "po"))
{
i = SupportedLanguages::English;
_translator.load(SupportedLanguages::languages[i].filename, RESSOURCES_ROOT "po");
_language = SupportedLanguages::languages[i].name;
res = false;
}
// #ifdef __WXGTK__
// _locale->AddCatalogLookupPathPrefix(wxT(LANG_ROOT));
// #endif
_kiss->installTranslator(&_translator);
}
// _locale->AddCatalog(wxT("kisscount"));
// _language = wxLANGUAGE_ENGLISH;
// res = false;
// }
_language = SupportedLanguages::languages[i].language;
_language = language;
_locale = new QLocale(SupportedLanguages::languages[i].language);
QLocale::setDefault(*_locale);
months[0] = _("january");
months[1] = _("february");

View File

@ -37,7 +37,8 @@ class ImportEngine;
#include <qtranslator.h>
#include <qtextcodec.h>
#define _(s) QObject::trUtf8(s)
#define _(s) QApplication::translate("", s)
// #define _(s) QObject::trUtf8(s)
class KissCount;
class KissPanel;
@ -89,6 +90,7 @@ private:
std::vector<KissPanel*> _panels;
std::vector<QPushButton*> _buttons;
QLocale *_locale;
QTranslator _translator;
bool _needReload;
void InitPanels();

View File

@ -1,3 +1,25 @@
#!/bin/bash
function check_tool()
{
which $1 > /dev/null
if [ $? == 1 ] ; then
echo "$1 is missing" ;
exit 1
fi
}
for p in find xgettext poeditor lconvert lrelease ; do
check_tool $p
done
CPP_FILE_LIST=`find src -name '*.cpp' -print`
xgettext --from-code utf-8 -d kisscount -s --keyword=_ -p ./ressources/po -o kisscount.pot $CPP_FILE_LIST
xgettext --from-code utf-8 -d kisscount -s --keyword=_ -p ./ressources/po -o kisscount.pot $CPP_FILE_LIST
for po in ./ressources/po/*.po ; do
ts=`echo $po | sed s/po$/ts/`
poeditor $po
echo lconvert -locations relative $po -o $ts
lconvert -locations relative $po -o $ts
lrelease $ts
rm -f $ts
done